GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: hunpeesta - 2009. december 22. - 13:19:55

Cím: Tele
Írta: hunpeesta - 2009. december 22. - 13:19:55
Hello
Egy olyan teleport script kéne ami egyszerü de nagyszerü :D
Mert nincs semmi amibol ki indulhatnék
Cím: Tele
Írta: Depi - 2009. december 22. - 14:16:32
Wirusnak csináltam egyet,ami nem dialógust használ,kérd el tole. :)
Cím: Tele
Írta: hunpeesta - 2009. december 22. - 16:06:55
Vmi más ötlet?
Cím: Tele
Írta: Iceaac - 2009. december 22. - 16:56:01
http://samp-forum.extra.hu/index.php?topic=3052.msg36707#msg36707
Cím: Tele
Írta: hunpeesta - 2009. december 23. - 01:49:14
De nekem nem ilyen kell (nem kell menüs teleport)
Cím: Tele
Írta: franco - 2009. december 23. - 09:26:11
Akkor milyen kell neked?
Mond meg és mihint ráérek megírom neked.
Cím: Tele
Írta: Iceaac - 2009. december 23. - 10:43:14
Ha egy játékost teleportálni akarsz:
SetPlayerPos(playerid, X koordináta, Y koordináta, Z koordináta);
Ha játékost a jármuvével együtt (ne tunjön el alóla a jármu teleportnál):
Ezt másold be a mód legaljára (globális névtérbe), csak egyszer kell:
 
stock SetPlayerVehiclePos(playerid, Float:X, Float:Y, Float:Z)
{
if (IsPlayerInAnyVehicle(playerid) == 0 || IsPlayerConnected(playerid) == 0) return 0;
return SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
}

 
Utána ha jármuvel akarsz teleportálni, használd ezt:
SetPlayerVehiclePos(playerid, Float:X, Float:Y, Float:Z);
Példa:
Ha csak az embert akarod teleportálni:
 
   if (strcmp(\"/EngemTeleportaljEl\", cmdtext, true) == 0)
{
SetPlayerPos(playerid, 0.0, 0.0, 0.0);
return 1;
}

 
Ha a jármuvét is:
 
   if (strcmp(\"/AKocsimIsTeleportald\", cmdtext, true) == 0)
{
SetPlayerVehiclePos(playerid, 0.0, 0.0, 0.0);
return 1;
}

 
Ha ezt a hibát kapod:
error 017: undefined symbol \"SetPlayerVehiclePos\"
Akkor elfelejtetted bemásolni a script legaljára ezt:
 
stock SetPlayerVehiclePos(playerid, Float:X, Float:Y, Float:Z)
{
if (IsPlayerInAnyVehicle(playerid) == 0 || IsPlayerConnected(playerid) == 0) return 0;
return SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
}

 
Remélem erre gondoltál, ha nem, szólj..  ;D
Cím: Tele
Írta: hunpeesta - 2009. december 23. - 11:03:53
100% ban erre gondoltam :D
Csak kéne egy minta egy olyan \"sablon\" féle amibol kitudok indulni :D
Cím: Tele
Írta: Iceaac - 2009. december 23. - 11:06:42
Írtam példát, mit nem értesz, mit értesz a sablon alatt? :)
Cím: Tele
Írta: kurta999 - 2009. december 23. - 12:20:12
Én így oldottam meg:
 

if (strcmp(cmdtext, \"/tele1\",true)==0)
{                                              //az utolsó 0 az interior
NormalTele(playerid, 1,1,1  ,0); // kocsit és játékos teleport
return 1;
}
if (strcmp(cmdtext, \"/tele2\",true)==0)
{                                                      //az utolsó 0 az interior
PlayerTele(playerid, 1294.9669,-711.6583,93.0370  ,0); // csak játékos teleport
return 1;
}

 
a mód végére
 
stock NormalTele(playerid, Float:x, Float:y, Float:z, interior) // ez  a játékost és a kocsit is teleportálja
{
if( IsPlayerInAnyVehicle(playerid))
{
    new vehid = GetPlayerVehicleID(playerid);
    SetVehiclePos(vehid, Float:x, Float:y, Float:z);
        LinkVehicleToInterior(vehid, interior);
        SetPlayerInterior(playerid, interior);
        SetVehicleZAngle(vehid,0.0);
        SetCameraBehindPlayer(playerid);
} else {
    SetPlayerPos(playerid, Float:x, Float:y, Float:z);
        SetPlayerInterior(playerid, interior);
        SetCameraBehindPlayer(playerid);
}
return PlayerPlaySound(playerid, 1085, x, y, z);
}
stock PlayerTele(playerid, Float:x, Float:y, Float:z, interior) // ez csak a játékost
{
SetPlayerPos(playerid, Float:x, Float:y, Float:z);
    SetPlayerInterior(playerid, interior);
    SetCameraBehindPlayer(playerid);
return PlayerPlaySound(playerid, 1085, x, y, z);
}
Cím: Tele
Írta: Iceaac - 2009. december 23. - 13:17:54
Tele van felesleges függvényekkel, pl LinkVehicleToInterior, max akkor kell, ah Liberty Citybe teleportálsz.
Cím: Tele
Írta: Depi - 2009. december 23. - 13:47:25
if (strcmp(cmdtext, \"/tele2\",true)==0)
{                                                     
   SetPlayerPos(playerid, x, y, z, 0);
                SetVehiclePos(vehid, Float:x, Float:y, Float:z);
                IsPlayerInAnyVehicle(playerid)
   return 1;
}
Ez jó igy nem ?  :D
Cím: Tele
Írta: Iceaac - 2009. december 23. - 14:41:45
Idézetet írta: Depi date=1261572445\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"391\" data-ipsquote-contentclass=\"forums_Topic
if (strcmp(cmdtext, \"/tele2\",true)==0)
{                                                     
   SetPlayerPos(playerid, x, y, z, 0);
                SetVehiclePos(vehid, Float:x, Float:y, Float:z);
                IsPlayerInAnyVehicle(playerid)
   return 1;
}
Ez jó igy nem ?  :D
 
1: Hibás
2: Többen jobb, mert nem kellenek a felesleges sorok...
3: http://samp-forum.extra.hu/index.php?topic=3078.msg36800#msg36800
Cím: Tele
Írta: Depi - 2009. december 23. - 17:11:25
Akkor bocs,elég másnapos voltam amikor ezt írtam,kösz hogy szóltál akkor. :)
Cím: Tele
Írta: bitshoot - 2009. december 23. - 17:28:44
Ez jó kocsis teleportnak:
 

if(strcmp(cmdtext,\"/teleport\",true) == 0)
{
    if(IsPlayerInAnyVehicle(playerid)) return SetVehiclePos(GetPlayerVehicleID(playerid), X,Y,Z);
else
    SetPlayerPos(playerid,X,Y,Z);
    return 1;
}
Cím: Tele
Írta: Iceaac - 2009. december 23. - 18:27:36
Már válaszoltam, erre még 2en válaszoltok, még csak nem is javítjátok az esetleges hibáim..  ;D