Witam! W moim pierwszym poradniku pokażę Wam jak robić teleporty za pomocą komend.
Do zmiany pozycji gracza używamy funkcji
SetPlayerPosSetPlayerPos(id gracza,koord x,koord y,koord z);
Na początek musimy pobrać koordy miejsca do którego mamy być teleportowani. Uruchamiamy samp_debug.exe, idziemy do danego miejsca i zapisujemy za pomocą komendy:
/save opis
Teraz odszukujemy plik savedpositions.txt, jest w folderze z grą. Szukamy linijki z komentarzem // opis, oraz kopiujemy z niej 2, 3 i 4 argument czyli w tym kodzie:
AddPlayerClass(19,1730.2559,1599.6588,10.1121,70.1623,0,0,0,0,0,0); // opis
było by:
1730.2559, 1599.6588, 10.1121
Oraz wklejamy do SetPlayerPos co da nam:
SetPlayerPos(playerid, 1730.2559, 1599.6588, 10.1121);
Teraz przechodzimy do publica OnPlayerCommandText i wklejamy:
if(strcmp(cmdtext, "/komenda", true) == 0)
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 1730.2559, 1599.6588, 10.1121);
return 1;
}
Jeżeli teleport jest do wnętrza jakiegoś budynku, musimy znać jego interior, którego można wyświetlić za pomocą klawisza F5. Jeśli już go znamy dodajemy to nad SetPlayerPos:
SetPlayerInterior(playerid, INTERIOR);
To wszystko. Gdy użyjemy komendy teleportuje nas do danego miejsca.
"A jak zrobić teleport z pojazdem?"Zmieniamy treść komendy na:
if(strcmp(cmdtext, "/komenda", true) == 0)
{
SetPlayerInterior(playerid, interior);
if(GetPlayerState(playerid) == 2)
{
new vehicleid = GetPlayerVehicleID(playerid);
LinkVehicleToInterior(vehicleid, interior);
SetVehiclePos(vehicleid, 1730.2559, 1599.6588, 10.1121);
}
else
{
SetPlayerPos(playerid, 1730.2559, 1599.6588, 10.1121);
SetPlayerFacingAngle(playerid, 0);
}
return 1;
}
Teraz tłumaczę:
if(GetPlayerState(playerid) == 2) - jeśli gracz jest w pojeździe...
LinkVehicleToInterior(vehicleid, interior) - zmienia interior pojazdu
SetVehiclePos(vehicleid, 1730.2559, 1599.6588, 10.1121) - zmienia pozycję wozu
Mam nadzieję że nie będzie już więcej spamu typu:
jak zrobic komedy rzeby morzna sie byo teleportowac
Jeśli czegoś brakuje napisz.
Poradnik pisany dla gtamscripting.info przez Shocka. Zabraniam kopiowania!