Skripta koju koristim:Moj gm
Detaljan opis problema: E ovako napravio sam /mutead na vreme i sad kad nekom dam to vreme mu se nepomera mora da ode relog, kako da namestim da kad vreme koje mu ja stavim kad prodje da moze opet da daje /ad ?
Dio skripte:
if(strcmp(cmd, "/mutead", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Koristi: /mutead [ID Igraca/Deo Imena] [vreme] [razlog]");
return 1;
}
new playa;
new time;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
time = strval(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1340)
{
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[128];
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, "Koristi: /mutead [ID Igraca/Deo Imena] [vreme] [razlog]");
return 1;
}
if(PlayerInfo[playa][pMuted] == 0)
{
format(string, sizeof(string), "* {FFFFFF}%s {00C0FF}ti je oduzeo pravo na /ad {FFFFFF}%d {00C0FF}minuta | Razlog: {FFFFFF}%s",sendername,time,(result));
SendClientMessage(playa, COLOR_WHITE, string);
format(string, sizeof(string), "* Ucutkao si "COL_RED"%s.", giveplayer);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playa][pADMute] = 1;
PlayerInfo[playa][pADMuteTime] = time*60;
format(string, sizeof(string), ""rd" %s je zabranjeno /ad od %s na %d minuta(s) | Razlog: "rd"%s",giveplayer ,sendername,time,(result));
ABroadCast(COLOR_WHITE,string,1);
printf("%s je ucutkao %s",sendername, giveplayer);
}
else
{
PlayerInfo[playa][pADMute] = 0;
PlayerInfo[playa][pADMuteTime] = 0;
format(string, sizeof(string), ""rd"{FFFFFF} "rd"%s {FFFFFF}je skinuta zabranu /ad od "rd"%s!",giveplayer ,sendername);
ABroadCast(COLOR_WHITE,string,1);
printf(""COL_RED"%s unsilenced %s",sendername, giveplayer);
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1," Niste ovlasteni da koristite tu komandu !");
}
}
return 1;
}
prije sveg napravi kopiju pwn fajla jer ne garantujem da ce radit malo sam zahrdaljo xD
na vrh skripte
forward UnmuteADt(playa)
komandu zamjeni sa
if(strcmp(cmd, "/mutead", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Koristi: /mutead [ID Igraca/Deo Imena] [vreme] [razlog]");
return 1;
}
new playa;
new time;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
time = strval(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1340)
{
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[128];
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, "Koristi: /mutead [ID Igraca/Deo Imena] [vreme] [razlog]");
return 1;
}
if(PlayerInfo[playa][pMuted] == 0)
{
format(string, sizeof(string), "* {FFFFFF}%s {00C0FF}ti je oduzeo pravo na /ad {FFFFFF}%d {00C0FF}minuta | Razlog: {FFFFFF}%s",sendername,time,(result));
SendClientMessage(playa, COLOR_WHITE, string);
format(string, sizeof(string), "* Ucutkao si "COL_RED"%s.", giveplayer);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playa][pADMute] = 1;
PlayerInfo[playa][pADMuteTime] = time*60000;
format(string, sizeof(string), ""rd" %s je zabranjeno /ad od %s na %d minuta(s) | Razlog: "rd"%s",giveplayer ,sendername,time,(result));
ABroadCast(COLOR_WHITE,string,1);
printf("%s je ucutkao %s",sendername, giveplayer);
SetTimer("UnmuteADt(playa)", 1000, true);
}
else
{
PlayerInfo[playa][pADMute] = 0;
PlayerInfo[playa][pADMuteTime] = 0;
format(string, sizeof(string), ""rd"{FFFFFF} "rd"%s {FFFFFF}je skinuta zabranu /ad od "rd"%s!",giveplayer ,sendername);
ABroadCast(COLOR_WHITE,string,1);
printf(""COL_RED"%s unsilenced %s",sendername, giveplayer);
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1," Niste ovlasteni da koristite tu komandu !");
}
}
return 1;
}
na dno skripte dodaj
public UnmuteADt(playa)
{
if(PlayerInfo[playa][pADMuteTime] == 1000 )
{
KillTimer(timer1);
SendClientMessage(playa,COLOR_RED,"Sada opet mozete davati oglase.);
PlayerInfo[playa][pADMute] = 0;
PlayerInfo[playa][pADMuteTime] = - 1000;"
return 1;
}
else
{
PlayerInfo[playa][pADMuteTime] = - 1000;
}
return 0;
}
Netreba meni unmutead posto sam napravim da mu odredim vreme na kolko je mute al to vreme neprolazi...
unmutead ti je funkcija koja se poziva svako 1 sekunde i sa PlayerInfo[playa][pADMuteTime] skida 1000 milisekundi sto je 1 sekunda :)
kada unmutead tajmer dodje do tog da je pADMuteTime == 1000 tj da je ostala jos jedna sekunda skida tu jednu sekundu i skida taj ad mute..
da si procitao kod mozda bi i shvatio ;)