[Pomoc] /mutead


Započeo ▂ ▃ ▅ Rudimental ▅ ▃ ▂, Jun 26, 2012, 19:31:17 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

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 ;)