Skripta koju koristim: Extreme
Detaljan opis problema: Problem je u tim tajmerima ja neznam stvarno al su pojebani mnogo ...
npr /stuck, /putgun, /takegun /g [vip chat] za stuck,putgun,takegun pise uvek sacekajte 3 sekunde a ono izgleda 3 dana, za /g kad napises nesto moras da sacekas isto 10 sec al kad prodje tih 10 sec nemozes opet da pises i to stalno tako dok ne odes jebeni relog.
Dio skripte:
if(strcmp(cmd, "/stuck", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pJailed] == 1)
{
SCM(playerid,COLOR_GRAD1,"[GRESKA] Nemozete koristiti tu komandu kad ste u jailu!");
return 1;
}
if(ReduceTime[playerid] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "[GRESKA] Morate sacekati 3 sekunde prije ponovnog koriscenja ove komande !");
return 1;
}
if(PlayerInfo[playerid][pSvercTEC] == 1)
{
DisablePlayerCheckpoint(playerid);
PlayerInfo[playerid][pSvercTEC] = 0;
SCM(playerid, COLOR_LIGHTRED,"Koristili ste stuck tokom sverca. Sverc vam je prekinut!");
}
if(PlayerInfo[playerid][pSvercRM] == 1)
{
DisablePlayerCheckpoint(playerid);
PlayerInfo[playerid][pSvercRM] = 0;
SCM(playerid, COLOR_LIGHTRED,"Koristili ste stuck tokom sverca. Sverc vam je prekinut!");
}
if(PlayerInfo[playerid][pTazovan] > 0)
{
GetPlayerPos(playerid, ZaLisice[playerid][0],ZaLisice[playerid][1],ZaLisice[playerid][2]);
SetPlayerPos(playerid, ZaLisice[playerid][0],ZaLisice[playerid][1],ZaLisice[playerid][2]);
SendClientMessage(playerid, -1, " tazan si ne mozes tu komandu da koristis !");
}
if(PlayerCuffed[playerid] == 0 && PlayerTied[playerid] == 0 && PlayerFreezed[playerid] == 0 && KnockedDown[playerid] == 0)
{
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
JBC_SetPlayerPos(playerid, slx, sly, slz+2);
TogglePlayerControllable(playerid, 1);
ReduceTime[playerid] = 1;
SetTimerEx("ReduceTimer", 3000, false, "i", playerid);
return 1;
}
else if(PlayerCuffed[playerid] > 0 || PlayerTied[playerid] > 0)
{
SendClientMessage(playerid, COLOR_GREY, "[GRESKA] Nemozete koristiti stuck jer ste vezani/uhapseni/frezovani!!!");
}
}
return 1;
}
if(!strcmp(cmdtext, "/takegun", true)) // By Ellis
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pLevel] < 2)
{
SendClientMessage(playerid, COLOR_LIGHTRED, "[GRESKA] {FFFFFF}Morate biti level 2! ");
return 1;
}
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, " Morate se prvo prijaviti ! ");
return 1;
}
if(ReduceTime[playerid] == 1)
{
SendClientMessage(playerid, COLOR_LIGHT_BLUE, "Morate sacekati 3 sekunde pre ponovnog koriscenja ove komande !");
return 1;
}
if(PlayerInfo[playerid][pInvWeapon] != 0 && PlayerInfo[playerid][pInvAmmo] != 0)
{
ReduceTime[playerid] = 1;
SetTimerEx("ReduceTimer", 3000, false, "i", playerid);
new gunname[100];
GetWeaponName(PlayerInfo[playerid][pInvWeapon], gunname, sizeof(gunname));
GivePlayerWeapon(playerid, PlayerInfo[playerid][pInvWeapon], PlayerInfo[playerid][pInvAmmo]);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Uzeli ste %s iz vase Unutrasnjosti.", gunname);
SendClientMessage(playerid, COLOR_LIGHT_BLUE, string);
PlayerInfo[playerid][pInvWeapon] = 0;
PlayerInfo[playerid][pInvAmmo] = 0;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Niste stavili nijedno oruzije u vas intentar !");
return 1;
}
}
return 1;
}
if(!strcmp(cmdtext, "/putgun", true)) //
{
if(IsPlayerConnected(playerid))
{
if(OnDuty[playerid]==1)
{
SendClientMessage(playerid, COLOR_GRAD2, "[GRESKA] Ne mozes koristiti tu komandu kad si na duznosti!");
return 1;
}
if(PlayerInfo[playerid][pLevel] < 2)
{
SendClientMessage(playerid, COLOR_GREY, "Morate biti level 2! ");
return 1;
}
if(!PlayerToPoint(100, playerid, -408.7373,2238.0344,42.0430) && !PlayerToPoint(200, playerid, -2907.5061,454.0712,4.6203) && !PlayerToPoint(200, playerid, -2923.2419,-590.2934,3.5102))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, " Morate se prvo prijaviti !");
return 1;
}
if(ReduceTime[playerid] == 1)
{
SendClientMessage(playerid, COLOR_GREY, " Morate sacekati 3 sekunde pre ponovnog koriscenja ove komande !");
return 1;
}
if(PlayerInfo[playerid][pInvWeapon] != 0 || PlayerInfo[playerid][pInvAmmo] != 0)
{
SendClientMessage(playerid, COLOR_GREY, " Vec ste nesto stavili u vas intentar !");
return 1;
}
new gunID = GetPlayerWeapon(playerid);
new gunAmmo = GetPlayerAmmo(playerid);
if(gunID != 0 && gunAmmo != 0)
{
ReduceTime[playerid] = 1;
SetTimerEx("ReduceTimer", 3000, false, "i", playerid);
PlayerInfo[playerid][pInvWeapon] = gunID;
PlayerInfo[playerid][pInvAmmo] = gunAmmo;
RemovePlayerWeapon(playerid, gunID);
GetPlayerName(playerid, sendername, sizeof(sendername));
new gunname[100];
GetWeaponName(gunID, gunname, sizeof(gunname));
format(string, sizeof(string), " Stavili ste %s u vas intentar.", gunname);
SendClientMessage(playerid, COLOR_GREY, string);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Nemate oruzije ! ");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Ne mozete koristiti tu komandu ovde ! ");
return 1;
}
}
return 1;
}
Neke slike/video za lakse dobivanje pomoci(neobavezno): //
Slika: http://www.dodaj.rs/f/5/Dd/4KXI9y3m/sa-mp-001.png
hvala unapred :)
dali imas public za te tajmere koji ce postavit te varijable na nulu
iako ima i laksih nacina
new tajmer[MAX_PLAYERS];
stavis ovo pod onplayerconnet
tajmer[playerid] = 0;
i ovako u komandu
if(gettime() < tajmer[playerid]) return SCM(playerid, -1, "Tvoj text");
tajmer[playerid] = gettime() + 5;//ovaj 5 to su sekunde
Hvala bro ! ;)
Samo sam opet ja nesto zabrljao napravio sam to za stuck putgun takegun i ok je sad
Nego me zeza za /bugrepot i /askq..
SLIKA: http://www.dodaj.rs/f/X/md/4UmHRUkq/sa-mp-001.png
Moze i dalje da se spamuje a pise da ne moze :D
if(strcmp(cmd, "/askq", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "{0F629F}[ODBIJENO] {FFFFFF}Moras biti ulogovan!");
return 0;
}
if(PlayerInfo[playerid][pJailed] >= 1) return SCM(playerid,COLOR_WHITE,"U Zatvoru/Jailu si nemozes kotistiti /askq");
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /askq [text]");
return 1;
}
format(string, sizeof(string), "Pitanje od %s ID:%d: %s", sendername, playerid, (result));
ABroadCast(COLOR_ASKQ,string,1);
SendClientMessage(playerid, COLOR_ASKQ, "{FFFF80}[ASKQ]:{C0C0C0} Uspesno si poslao pitanje, bice pregledano od strane Admina/Helpera!");
{
if(gettime() < tajmer[playerid]) return SCM(playerid, -1, "{C0C0C0}[GRESKA] Morate sacekati 30 sekundi prije ponovnog koriscenja ove komande !");
tajmer[playerid] = gettime() + 30;
}
}
return 1;
}
BUMP
BUMP
Hitno je, ajde neko.
evo stavi je ovako
if(strcmp(cmd, "/askq", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "{0F629F}[ODBIJENO] {FFFFFF}Moras biti ulogovan!");
return 0;
}
if(PlayerInfo[playerid][pJailed] >= 1) return SCM(playerid,COLOR_WHITE,"U Zatvoru/Jailu si nemozes kotistiti /askq");
if(gettime() < tajmer[playerid]) return SCM(playerid, -1, "{C0C0C0}[GRESKA] Morate sacekati 30 sekundi prije ponovnog koriscenja ove komande !");
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /askq [text]");
return 1;
}
format(string, sizeof(string), "Pitanje od %s ID:%d: %s", sendername, playerid, (result));
ABroadCast(COLOR_ASKQ,string,1);
SendClientMessage(playerid, COLOR_ASKQ, "{FFFF80}[ASKQ]:{C0C0C0} Uspesno si poslao pitanje, bice pregledano od strane Admina/Helpera!");
tajmer[playerid] = gettime() + 30;
{
}
}
return 1;
}