Problem: Kako napraviti da se komanda /engine tj. paljenje motora vozila kad se pritisne 2 moze koristiti svake 2-3 sekunde (to zelim napraviti, kako bih npr. na avionu mogao uvuci kotace...)
Dio skripte:
Pawno Code: [Izaberi]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]vaš odgovor[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem):
Možeš putem varijable to da uradiš, evo ti JEDAN od primera.
[pawn]new
isEngined[MAX_PLAYERS];
public OnPlayerConnect(playerid) {
isEngined[playerid] = -1;
return 1;
}
CMD:engine(playerid) {
if(isEngined[playerid] < gettime()) {
isEngined[playerid] = gettime() + 5;
//ovde pises kod koji ce da se desi kad kuca /engine, npr toggleplayercontrollable itd.
}
else va_SendClientMessage(playerid, -1, "Ne mozes da koristis ovu komandu jos %d sekundi!", isEngined[playerid] - gettime());
return 1;
}[/pawn]
Citat: Crownshot poslato Jun 11, 2020, 15:52:20 POSLE PODNE
Možeš putem varijable to da uradiš, evo ti JEDAN od primera.
[pawn]new
isEngined[MAX_PLAYERS];
public OnPlayerConnect(playerid) {
isEngined[playerid] = -1;
return 1;
}
CMD:engine(playerid) {
if(isEngined[playerid] < gettime()) {
isEngined[playerid] = gettime() + 5;
//ovde pises kod koji ce da se desi kad kuca /engine, npr toggleplayercontrollable itd.
}
else va_SendClientMessage(playerid, -1, "Ne mozes da koristis ovu komandu jos %d sekundi!", isEngined[playerid] - gettime());
return 1;
}[/pawn]
A kako napraviti baš za to da kad se pali motor na 2, da ima dilej tj. isto npr. da se nakon 2-3 sekunde moze koristiti tj. opet upaliti/ugasiti motor na 2?
Pod OnPlayerKeyStateChange napraviš proveru ako pritisne 2 na tastaturi i ako je u vozilu.
Onda staviš isto kao što sam ti za komandu napisao unutar toga i cepaš kod dalje.
Citat: Crownshot poslato Jun 11, 2020, 16:19:28 POSLE PODNE
Pod OnPlayerKeyStateChange napraviš proveru ako pritisne 2 na tastaturi i ako je u vozilu (nije passenger).
Onda staviš isto kao što sam ti za komandu napisao unutar toga i cepaš kod dalje.
Ne mogu skontat koja je linija baš za te sekunde :D
Citat: dino12 poslato Jun 11, 2020, 16:21:32 POSLE PODNE
Ne mogu skontat koja je linija baš za te sekunde :D
[pawn]if(isEngined[playerid] < gettime()) {
isEngined[playerid] = gettime() + 5;
//ovde pises kod koji ce da se desi kad kuca /engine, npr toggleplayercontrollable itd.
}
else va_SendClientMessage(playerid, -1, "Ne mozes da koristis ovu komandu jos %d sekundi!", isEngined[playerid] - gettime());[/pawn]
Automatski će nestati delay ne moraš da praviš tajmer da ti se skidaju sekunde..
Evo ti imas u mom modu samo ukucas motor se pali ili motor se pokrece
https://balkan-samp.com/forum/index.php?topic=125296.0