Zaključano

GetPlayerPos && SetPlayerPos

Započeo Shemaa
pre 5 godina
597
pregleda
5
postova
Ova tema je zaključana. Samo moderatori i administratori mogu odgovarati.
Shemaa
Street Runner
pre 5 godina
Problem(error/warning): E ovako imam jedan interesantan Death System , kad igrac bude ubijen ingame , da ga spawna na isto to mesto gde je bio ubijen sa animacijom kako lezi na zemlji ranjen, i da mu izadje dialog dali hoce da pozove brzu pomoc ili da ide u ambulantu , e sad problem je kad igrac umre , ne spawna ga na mesto gde je bio ubijen nego kod njegov spawn. Nzm u cemu je problem , imam GetPlayerPos kod OnPlayerDeath i sve to al ne radi ...
Dio skripte:
public OnPlayerDeath(playerid, killerid, reason)
{
GetPlayerPos(playerid, UPX, UPY, UPZ);
IgracRanet = 1;
        ....
}
===================================================
public SpawnIgraca(playerid)
{
    if(IgracRanet == 1)
    {
    SetPlayerHealth(playerid, 20.0);
    SetPlayerSkin(playerid, PlayerInfo);
    SetPlayerPos(playerid, UPX, UPY, UPZ+0.3);
    SetPlayerInterior(playerid, PlayerInfo);
    TogglePlayerControllable(playerid, 0);
    LoopingAnim(playerid,"CRACK","crckidle2", 4.0, 1, 0, 0, 0, 0);
    ShowPlayerDialog(playerid, DIALOG_UMRI, DIALOG_STYLE_MSGBOX, "Hitnu Pomoc", "Vi ste tesko ranjeni!\nAko zelite da pozovete hitnu pritisnite 'Povikaj'\nAko zelite da umrete stisnite 'Umri'", "Povikaj", "Umri");
    RanetIgrac = SetTimerEx("MrtovSi",120000, false, "i", playerid);
    }
}

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
Slika/video ingame problema(obavezno ako je ingame problem): //
PWN|Medis
Kingpin
pre 5 godina
https://wiki.sa-mp.com/wiki/OnPlayerSpawn

Koristi to, ne znam da li igdje zoveš tu funkciju SpawnIgraca ikako.

To iznad je callback koji se poziva kad se igrač spawna, samo ubaci kod iz SpawnIgraca u to gore i trebalo bit raditi.

A za dalje da znaš uvijek debugaj stvari koje ti ne rade kako treba. Da si unutar tog if else unio negdje print("Igrac spawn!"); i nije ti se pokazalo u konzoli znao bi da je tu negdje problem i da se kod ne izvršava i od prilike bi znao gdje ti je problem.
cadilab
Administrator
pre 5 godina
Bolje to uradi na onplayertakedamage
Miki11
Crime Lord
pre 5 godina
GetPlayerPos(playerid, UPX, UPY, UPZ);


Zasto za svaku koordinatu playerid, ako na pocetku funkcije imas playerid ?

Napravis ovako
new Float:umrox, Float:umroy, Float:umroz;
GetPlayerPos(playerid, umrox, umroy, umroz);
SetPlayerPos(playerid, umrox, umroy, umroz+0.3);


Mislim da bi trebalo radit
PWN|Medis
Kingpin
pre 5 godina
Miki11 wrote on May 17, 2020, 8:13 pm:
GetPlayerPos(playerid, UPX, UPY, UPZ);


Zasto za svaku koordinatu playerid, ako na pocetku funkcije imas playerid ?

Napravis ovako
new Float:umrox, Float:umroy, Float:umroz;
GetPlayerPos(playerid, umrox, umroy, umroz);
SetPlayerPos(playerid, umrox, umroy, umroz+0.3);


Mislim da bi trebalo radit


Zato sto sprema za svakog igrača pojedinačno, igrač A je ubijen i spreme se koordinate, igrač B je ubijen izemđu animacije smrti i spawna igrača A i igrač A će biti spawnovan na koordinama igrača B.
Način na koji si ti napravio kod jest da ima jedna jedina varijabla koja se koristi za sve igrače, što u ovom slučaju ne moze da radi.

To bi ti bilo kao kad bi htjeo postaviti skin JEDNOM igraču, ali prođeš kroz petlju svih igrača i postaviš svim igračima skin.

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava