Pretraga

Pritisnite Enter za pretragu ili Escape za zatvaranje

Zaključano

[Pomoc]Ubacivanje timera u komandu

Započeo Mikiâ„¢
pre 12 godina
1,195
pregleda
19
postova
Ova tema je zaključana. Samo moderatori i administratori mogu odgovarati.
Mish26
Shot Caller
pre 12 godina
Skripta koju koristim😮d 0 (pocetnik sam)
Detaljan opis problema:Imam komandu /oruzje kojom igrac osvezava oruzje(za dm server) ali hocu da napravim da ne moze da spama tom komandom odnosno da moze opet da je koristi tek posle 3 minuta.
Dio skripte:
CMD:oruzje(playerid, params[])
{
if(IsPlayerConnected(playerid))
{

GivePlayerWeapon(playerid, 31, 500);
GivePlayerWeapon(playerid, 25, 200);
GivePlayerWeapon(playerid, 24, 200);
SendClientMessage(playerid, 0xFF9900AA, "Obnovio si oruzje!");
return 1;
}
return 1;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno)://
Mish26
Shot Caller
pre 12 godina
Hvala,sad cu da probam pa javljam  😁

EDIT:
Probao sam ne radi izbacuje mi errore ☹️
Evo errora
C:\Documents and Settings\Administrator\Desktop\Sa-mp\gamemodes\testgm.pwn(300) : error 017: undefined symbol "oruzjet"
C:\Documents and Settings\Administrator\Desktop\Sa-mp\gamemodes\testgm.pwn(300) : warning 215: expression has no effect
C:\Documents and Settings\Administrator\Desktop\Sa-mp\gamemodes\testgm.pwn(300) : error 001: expected token: ";", but found "]"
C:\Documents and Settings\Administrator\Desktop\Sa-mp\gamemodes\testgm.pwn(300) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Administrator\Desktop\Sa-mp\gamemodes\testgm.pwn(300) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

4 Errors.


A evo cele komande sa tim tajmerom:
CMD:oruzje(playerid, params[])
{
if(IsPlayerConnected(playerid))
{

GivePlayerWeapon(playerid, 31, 500);
GivePlayerWeapon(playerid, 25, 200);
GivePlayerWeapon(playerid, 24, 200);
SendClientMessage(playerid, 0xFF9900AA, "Obnovio si oruzje!");
    if(oruzjet == true) return SendClientMessage(playerid,-1,  "Komandu mozes koristit nakon 1 minuta/e!");
return 1;
}
return 1;
}
filip.admin
Crime Lord
pre 12 godina
Na vrh:
new oruzjet;
Mish26
Shot Caller
pre 12 godina
Isto.
filip.admin
Crime Lord
pre 12 godina
Mish26 wrote on February 27, 2013, 8:45 pm:
Isto.


Nije moguće kada si ga definirao.
Mish26
Shot Caller
pre 12 godina
FlasH wrote on February 27, 2013, 8:45 pm:
Isto.


Nije moguće kada si ga definirao.

Onda je nesto do mog retardiranog kompa 🙂Moze lock,nema veze.
filip.admin
Crime Lord
pre 12 godina
|LG|Yui_Sang wrote on February 27, 2013, 8:45 pm:
Isto.


Nije moguće kada si ga definirao.

Onda je nesto do mog retardiranog kompa 🙂Moze lock,nema veze.
Dodaj ovo na vrh mesto to sto ti je flash dao

new bool:oruzjet = false;


Aham,nisam ni primjetio da radiš po ovome tutu ... Ispričavam se ..
Mish26
Shot Caller
pre 12 godina
Stavio sam ovako,moze compile ali ne radi na serveru.
CMD:oruzje(playerid, params[])
{

    new bool:oruzjet = false;
if(IsPlayerConnected(playerid))
{
GivePlayerWeapon(playerid, 25, 200);
GivePlayerWeapon(playerid, 24, 200);
SendClientMessage(playerid, 0xFF9900AA, "Obnovio si oruzje!");
if(oruzjet == true) return SendClientMessage(playerid,-1,  "Komandu mozes koristit nakon (TVOJ BROJ) minuta/e!");
        oruzjet = true;
SetTimerEx("oruzje", 60000, false, "d", playerid);
return 1;
}
return 1;
}
Alycone
Hustler
pre 12 godina
CMD:oruzje(playerid, params[])
{

   
if(IsPlayerConnected(playerid))
{
f(oruzjet == true) return SendClientMessage(playerid,-1,  "Komandu mozes koristit nakon (TVOJ BROJ) minuta/e!");
        oruzjet = true;
SetTimerEx("oruzje", 60000, false, "d", playerid);
        GivePlayerWeapon(playerid, 25, 200);
GivePlayerWeapon(playerid, 24, 200);
SendClientMessage(playerid, 0xFF9900AA, "Obnovio si oruzje!");
i
return 1;
}
return 1;
}

Tako napravi komandu, jer provjera if(oruzjet == true) na dnu komande nema smisla, igracu ce se obnovit oruzje imao on zabranu koristenja komande ili ne.. Ovako kada ti je na vrhu onda prvo provjerava ima li zabranu pa ako nema daje mu oruzja, a ako ima ispisuje mu poruku da nemoze koristit komandu

Ovo dodaj na vrh skripte
new bool:oruzjet = false;
Mish26
Shot Caller
pre 12 godina
Ove erore mi izbacuje kada stoji na vrhu skripte
C:\Documents and Settings\Administrator\Desktop\Sa-mp\gamemodes\testgm.pwn(300) : error 017: undefined symbol "oruzjet"
C:\Documents and Settings\Administrator\Desktop\Sa-mp\gamemodes\testgm.pwn(300) : warning 215: expression has no effect
C:\Documents and Settings\Administrator\Desktop\Sa-mp\gamemodes\testgm.pwn(300) : error 001: expected token: ";", but found "]"
C:\Documents and Settings\Administrator\Desktop\Sa-mp\gamemodes\testgm.pwn(300) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Administrator\Desktop\Sa-mp\gamemodes\testgm.pwn(300) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

4 Errors.


A kad stoji na vrhu komande nema erora ali onda ne radi na serveru, tj. nema tajmera, moze  da se spamuje
Alycone
Hustler
pre 12 godina
Rekao sam ti zasto timer ne radi, provjera ti je na dnu, znaci prvo dobijes oruzje pa provjerava imas li zabranu koristenja komande, taj problem rijesis tako da provjeru postavis na vrh komande..

CMD:oruzje(playerid, params[])
{

        new bool:oruzjet = false;
if(IsPlayerConnected(playerid))
{
if(oruzjet == true) return SendClientMessage(playerid,-1,  "Komandu mozes koristit nakon (TVOJ BROJ) minuta/e!");
        oruzjet = true;
SetTimerEx("oruzje", 60000, false, "d", playerid);
        GivePlayerWeapon(playerid, 25, 200);
GivePlayerWeapon(playerid, 24, 200);
SendClientMessage(playerid, 0xFF9900AA, "Obnovio si oruzje!");

return 1;
}
return 1;
}


Stavi tako pa reci jel radi..
filip.admin
Crime Lord
pre 12 godina
Ako imaš tako veliki problem oko toga napravi to jednostavnije:

Na vrhu stavi:

new koristiokomandu;


Dodaj u komandu:
if(gettime() < koristiokomandu) return SendClientMessage(playerid, TVOJA_BOJA, "Ovu komandu možeš koristit svakih TVOJ_BROJ.");
koristiokomandu = gettime() + BROJ_TVOJ;
Mish26
Shot Caller
pre 12 godina
Alycone wrote on February 27, 2013, 9:39 pm:
Rekao sam ti zasto timer ne radi, provjera ti je na dnu, znaci prvo dobijes oruzje pa provjerava imas li zabranu koristenja komande, taj problem rijesis tako da provjeru postavis na vrh komande..

CMD:oruzje(playerid, params[])
{

        new bool:oruzjet = false;
if(IsPlayerConnected(playerid))
{
if(oruzjet == true) return SendClientMessage(playerid,-1,  "Komandu mozes koristit nakon (TVOJ BROJ) minuta/e!");
        oruzjet = true;
SetTimerEx("oruzje", 60000, false, "d", playerid);
        GivePlayerWeapon(playerid, 25, 200);
GivePlayerWeapon(playerid, 24, 200);
SendClientMessage(playerid, 0xFF9900AA, "Obnovio si oruzje!");

return 1;
}
return 1;
}


Stavi tako pa reci jel radi..


Ne radi na serveru,compile radi.Prekopirao sam isto.
filip.admin
Crime Lord
pre 12 godina
Napravi sta sam ti rekao
Mish26
Shot Caller
pre 12 godina
FlasH wrote on February 27, 2013, 9:44 pm:
Ako imaš tako veliki problem oko toga napravi to jednostavnije:

Na vrhu stavi:

new koristiokomandu;


Dodaj u komandu:
if(gettime() < koristiokomandu) return SendClientMessage(playerid, TVOJA_BOJA, "Ovu komandu možeš koristit svakih TVOJ_BROJ.");
koristiokomandu = gettime() + BROJ_TVOJ;


Ni ovo ne radi

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava