Skripta koju koristim:Moja
Detaljan opis problema:Kako da napravim klizna vrata.Znam da kada igrac je u radiusu (naprimer) od 2.0 da se otvore vrata ali kako da se zatvore.Jel moram preko timera da ih zatvaram posto ja hocu kada se igrac udalji od njih da se zatvore a ne da ih timer zatvara
Dio skripte:
Neke slike/video za lakse dobivanje pomoci(neobavezno):
uradi preko preko provjere na sta igrac pritisce tipku neku http://wiki.sa-mp.com/wiki/OnPlayerKeyStateChange i onda ako je na odredjenoj kordinati da se otvore ta vrata i postavis mu tu time za zatvaranje.
Pokusao sam sa
if(HOLDING( KEY_UP ))
i nece da se otvore a kada prebacim na if(newkeys == KEY_FIRE) radi
probaj sa if(newkeys == KEY_UP) ono kao da imas osjecaj kad se priblizi njemu (IsPlayerInRangeOfPoint) da mu se otvara kao u RL u supermarketima gdje ima senzor :)
Probao i nista a na KEY_FIRE moze ali na KEY_UP nece
Posto ne postoji nijedan drugi public koji odredjute poziciju igraca u odredjenom trenutno lokaciju igraca uzimas u OnPlayerUpdate.
Znaci u tom bublicu postavaljas poziciju gde hoces da ti se pokrene kapija ili sta vec.
Unutar tog uslova u slucaju da je ispunjen ti pomeras kapiju i pokreces timer koji ce ta vrata da vrati na mesto
public OnPlayerUpdate(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 7.0, x,y,z))
{
MoveObject // pokreces kapiju da se otvori
SetTimerEx // POkreces timer koji ce kasnije tj. kad prodje da vrati vrata na staro mesto
}
return 1;
}
Citat: Denis_Lapi poslato Avgust 22, 2014, 00:16:56 PRE PODNE
Posto ne postoji nijedan drugi public koji odredjute poziciju igraca u odredjenom trenutno lokaciju igraca uzimas u OnPlayerUpdate.
Znaci u tom bublicu postavaljas poziciju gde hoces da ti se pokrene kapija ili sta vec.
Unutar tog uslova u slucaju da je ispunjen ti pomeras kapiju i pokreces timer koji ce ta vrata da vrati na mesto
public OnPlayerUpdate(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 7.0, x,y,z))
{
MoveObject // pokreces kapiju da se otvori
SetTimerEx // POkreces timer koji ce kasnije tj. kad prodje da vrati vrata na staro mesto
}
return 1;
}
Hvala Denise kralju ;D Radiii
EDIT:A sto da stavljam SetTimerEx zar netreba obicni timer
SetTimer je timer koji se stalno ponavlja bez kaja, kad je jednom pokrene on ne staje nego vrti stalno radnju koju si stavio u public timera. Primer za to su ti random potuke. Timer se opozove kad se mod pokrene i stalno radi dok se mod ne ugasi.
SetTimerEx se odaziva samo jednom kad mu ti naznacic i radi samo kroz jedan period (Vrata zatvaras samo jednom tj. kad ih otvoris, neces ih zatvarati stalno)
Da bi SetTimerEx ponovo poceo ponovoda radi moras da ga opozoves (Kad ponovo otvoris vrata).
Mislim da je razlika uocljiva i jasna
Citat: Denis_Lapi poslato Avgust 22, 2014, 01:15:46 PRE PODNE
SetTimer je timer koji se stalno ponavlja bez kaja, kad je jednom pokrene on ne staje nego vrti stalno radnju koju si stavio u public timera. Primer za to su ti random potuke. Timer se opozove kad se mod pokrene i stalno radi dok se mod ne ugasi.
SetTimerEx se odaziva samo jednom kad mu ti naznacic i radi samo kroz jedan period (Vrata zatvaras samo jednom tj. kad ih otvoris, neces ih zatvarati stalno)
Da bi SetTimerEx ponovo poceo ponovoda radi moras da ga opozoves (Kad ponovo otvoris vrata).
Mislim da je razlika uocljiva i jasna
Hvala na objasnjenju skontao sam i samo jos jedna stvar koja mi malo smeta.Stavio sam u radiusu od 5.0 da se otvaraju ali kad im pridjem malo sa srane krenu pa stanu pa sve tako dok se ne namjestim na kordinatu koju sam stavio a ja hocu da se glatko otvaraju (iz prve)
Radiuse namestas kako tebi odgovaraju. Takodje pogledaj timer na kojem ti je vremenskom periodu. Mozda ti secka zbog toga sto si na koordinati za otvaranje, a treba da se izvrsi zatvaranje jer je timer prosao. Pa dolazi dozbunjivanja. Mozes to na mnoge nacine da resis. Osnovu sam ti rekao, ali ostalo namestas kako tebi odgovara
Hvala resio sam sada rade ko singerica
LOCK