GTA Közösség - A magyar GTA fórum
San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Leírások/Útmutatók => A témát indította: Csabesz - 2010. január 10. - 17:39:53
-
Észre vettem, hogy sokan helytelenül készítitek el a teleport(ok) parancsát!
Sokan MSN-en kérnek tolem segítséget, hogy segítsek neki(k) ebbe, abba és hiába mondom neki(k) sajnos még nem értik.
Ilyenkor jön az, hogy elkérem tolük a szkriptet és megcsinálom neki(k).
De még nézem a szkriptet, hogy hogyan oldotta meg eddig, akkor sok esetbe találkozok nagyon nagyon sok teleportal.
A teleportok viszont nagy helytelenül lettek létrehozva.
Ezért szántam el magam, hogy leírom nektek a teleport helyes létrehozását.
Nézzük meg azt a kódot, amit Ti használtok:
if(strcmp(cmdtext, \"/tele-sf\", true) == 0) {
if(IsPlayerInAnyVehicle(playerid)) { // Lekérdezi, hogy a játékos jármuben van vagy nincs.
new Float:X; // \\
new Float:Y; // | > Létrehoz 3 db a pozíció tárolására szolgáló változót.
new Float:Z; // /
GetPlayerPos(playerid, X, Y, Z); // Lekérdezi a játékos pozícióját.
VehicleID = GetPlayerVehicleID(playerid); // a VehicleID-t egyenlové tesszük a a jármu azonosítójával.
SetVehiclePos(VehicleID,-1635.0066,672.8344,7.1875); // Teleportálás, ha a játékos jármuben van.
} else { // Ellentkezoleg
new Float:X; // \\
new Float:Y; // | > Létrehoz 3 db a pozíció tárolására szolgáló változót.
new Float:Z; // /
GetPlayerPos(playerid, X, Y, Z); // Lekérdezi a játékos pozícióját.
SetPlayerPos(playerid,-1635.0066,672.8344,7.1875); // Teleportálja jármu nélkül.
return 1; // Visszatérés
}
}
Szerintem ez a legocsmányabb teleport amit láttam, de sajnos nagyon sok helyen találkozok,találkoztok vele.
Nézzük az én példámat:
if(strcmp(cmdtext, \"/tele-sf\", true) == 0)
{
if(IsPlayerInAnyVehicle(playerid)) // Játékos jármuben van vagy nincs.
{
SetVehiclePos(GetPlayerVehicleID(playerid),-1917.4590,293.9239,41.0469); // Teleportálás jármuvel.
} else { // Ellenkezoleg (azaz ha nincs jármuben)
SetPlayerPos(playerid,-1917.4590,293.9239,41.0469); // Teleportálás jármu nélkül.
}
return 1; // Visszatérés
}
Szerintem sokkal célszerubb az én példámat használni, mivel rengeteg fölösleges dologtól szabadulunk meg.
Remélem segítettem ezzel, hogy szebb és egyszerubb szkripteket írjatok.
IceMan
-
Ez egy okos ötlet volt, valóban rengetegen ilyen( vagy hasonlóan ) helytelen megoldásokkal készítik( ? ) el teleportjaikat. A legviccesebb mégis csak az, hogy lekérdezi a játékos koordinátáit, de nem is használja. :-X Jó leírás lett, csak annyi megjegyezni valóm van, hogy a \'Lezárás\' helyett visszatérést írnék. ;)
ZeRo
-
Jó lett!
(hsz többi része törölve, félreértettem ;D)
-
Köszönöm.
Csabesz
-
Jó lett, én eloször csak játékos teleket csináltam aztán áttértem a kocsisra , de a jó módszert választottam.
Ám az lvdm3 ba is a rosszabb móccer van használva ;D
-
Szép lett,és hasznos Csabesz :D Grat :)
-
Kowalski már írt egy ilyen leírást csak törölve lett, köszönjük a pótlást.
-
Tényleg am o mért nem látogatja ezt a fórumot már ?
-
Köszönöm a dicséreteket. :)
Csabesz
-
Én csináltam Teleport_Add függvénnyel megoldhatót(beta), és köszönjük kowalski leírásának pótlását.
-
Én is csináltam azthiszem, bár lehet, hogy nem adtam ki, rég volt már ;)
-
Hát nem tudom. Én csak azért írtam ki, mivel még \'most\' is sokan rosszúl készítik el.
Hát lehet írtál, nem tudom az is lehet, hogy törölték...
Csabesz
-
Na ez nincs törölve: http://samp-forum.extra.hu/index.php?topic=3264.0
Írom hozzá a használati utasítást is, hamarosan kész.
Szerk: Itt van: http://samp-forum.extra.hu/index.php?topic=3265.0
-
Mi ez ? Hirdeto topic ?
-
tök fas*a , kösz
-
nagyon jó leírás..grat.. :)