Skripta koju koristim:Moj gm od 0
Detaljan opis problema:Kako da napravim pickup da moras da dodes u neki range i sad stisnes f i tek onda te on teleportiraa
Dio skripte:
Neke slike/video za lakse dobivanje pomoci(neobavezno):
NapraviÅ¡ pickup gdje hoćeÅ¡, onda koristiÅ¡ OnPlayerKeyStateChange callback da detektaÅ¡ kad je igraÄ pritisnuo tipku "F", onda provjeriÅ¡ da li se igraÄ nalazi blizu tog pickupa pomoću IsPlayerInRangeOfPoint funkcije i ako je onda ga portaÅ¡ tamo gdje hoćeÅ¡.
Probaj ovako:
else if(IsPlayerInRangeOfPoint(playerid, 1.0, x,y,z)) // ovdje stavis x y z poziciju (tu kad dode i kad klikne f da se tp)
{
SetPlayerPos(playerid, x,y,z);// i ovdje stavis poziciju gdje oces da se tp
SetPlayerInterior(playerid, 0);
SetPlayerFacingAngle(playerid, 183.3255);
SetCameraBehindPlayer(playerid);
GameTextForPlayer(playerid, "~w~ IME", 3000, 1);// tu stavis ako oces kad se tp da mu pise velikim slovima gdje se tp
TogglePlayerControllable(playerid, 0);
SetTimerEx("LoadingObjects", 1000, false, "d", playerid);
}
I onda samo zamjenis x y z , i onda ce kada dode na mjesto gdje je se tp, i klikne f stvoriti opet na mjestu iz prvog dijela
else if(IsPlayerInRangeOfPoint(playerid, 1.0, x,y,z))// To zamjenis sa gornjim SetPlayerPos
{
SetPlayerPos(playerid, x,y,z);// a ovo zamjenis s gornjim IsPlayerInRangeOfPoint
SetPlayerInterior(playerid, 0);
SetPlayerFacingAngle(playerid, 80.4306);
SetCameraBehindPlayer(playerid);
GameTextForPlayer(playerid, "~b~ IME", 3000, 1);
TogglePlayerControllable(playerid, 0);
SetTimerEx("LoadingObjects", 1000, false, "d", playerid);
}
Ako imas problema javi se :)