[Pomoc] KillTimerEx?


Započeo System32, Jun 30, 2011, 20:35:19 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: iStunt
Detaljan opis problema: ma napravio onu komandu za /mute s timerom ali ima problemcic, ako kucam na recimo 3 minute i odsutkam igraca sa /unmute onda mi se timer nece "ubiti"
Dio skripte:
Kod: p
CMD:mute(playerid, params[])
{
    new id, time, string[128], string2[128];
    if(IsPlayerAdmin(playerid) || GetPVarInt(playerid, "Admin") >= 1)
	{
        if(sscanf(params, "ud", id, time)) return SendClientMessage(playerid, COLOR_WHITE, "KoriÅ¡tenje: /mute [ID] [Vrijeme]");
        else if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_WHITE, "PogreÅ¡an ID");
    	else
        if(PlayerMuted[id] == 0)
		{
            PlayerMuted[id] = 1;
            SetTimerEx("UnMute",time*1000*60,0,"i", id);
            format(string, sizeof(string), "UÅ¡utkali ste %s!", GetName(id));
            SendClientMessage(playerid, COLOR_YELLOW, string);
            format(string2, sizeof(string2), "UÅ¡utkani ste od administratora %s!", GetName(playerid));
            SendClientMessage(id, COLOR_LIME, string2);
        }
		else SendClientMessage(playerid, COLOR_WHITE, "Igrač je već ušutkan!");
    }
    else SendClientMessage(playerid, COLOR_KRED, "Niste autorizirani za koriÅ¡tenje ove komande!");
    return 1;
}

CMD:unmute(playerid, params[])
{
    new id, string[128], string2[128];
    if(IsPlayerAdmin(playerid) || GetPVarInt(playerid, "Admin") >= 1)
	{
	    if(sscanf(params, "u", id)) return SendClientMessage(playerid, COLOR_WHITE, "KoriÅ¡tenje: /unmute [ID]");
	 	else if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_WHITE, "Pogrešan ID");
		else
	    if(PlayerMuted[id] == 1)
		{
	        PlayerMuted[id] = 0;
	        format(string, sizeof(string), "OdÅ¡utkali ste %s!", GetName(id));
	        SendClientMessage(playerid, COLOR_YELLOW, string);
	        format(string2, sizeof(string2), "OdÅ¡utkani ste od administratora %s!", GetName(playerid));
	        SendClientMessage(id, COLOR_LIME, string2);
	    }
		else SendClientMessage(playerid, COLOR_KRED, "Igrač nije ušutkan!");
    }
    else SendClientMessage(playerid, COLOR_KRED, "Niste autorizirani za koriÅ¡tenje ove komande!");
    return 1;
}

Kod: p
forward UnMute(id);
public UnMute(id)
{
    PlayerMuted[id] = 0;
    SendClientMessage(id, COLOR_LIME, "OdÅ¡utkani ste!");
	return 1;
}


Neke slike/video za lakse dobivanje pomoci(neobavezno):
Uskoro novi stunt server iStunt. DoÄ'ite i zabavite se!




   
   




Dizajniram za $$$
Popis stvari koje radim:

Wallpaper √  Signature ×  Logo √  Dizajn stranice (Ne kodiranje) √  Baner √  Avatar √  Animacija √  Intro √

new timerubistva[MAX_PLAYERS];

timerubistva[playerid] = SetTimerEx("TvojaFunkcija", 2000, true, "i", playerid);

KillTimer(timerubistva[playerid]);

Trebao bi znati gdje sta ide... Promeni ovo playerid ako treba u nesta drugo itd...
Ovo ti je samo primer..

Dude

*

zerocoolos

heh opet ti i mute... nemoj koristit timerex, zasto ne koristis jedan globalni u kojem ces loop kroz igrace i gledat jesu mute, ako jesu samo smanji varijablu za vec koliko zelis... razlog tome: pa recimo da mute 30 igraca, previse timera...

Citat: Dude poslato Jun 30, 2011, 20:57:30 POSLE PODNE
heh opet ti i mute... nemoj koristit timerex, zasto ne koristis jedan globalni u kojem ces loop kroz igrace i gledat jesu mute, ako jesu samo smanji varijablu za vec koliko zelis... razlog tome: pa recimo da mute 30 igraca, previse timera...

Mislim da neće razumjeti šta mu hoćeš objasniti, ali recimo da koristi varijablu

npr.

new timerCounter[MAX_PLAYERS];

LocalTimer() // recimo da je namjesten na 1000 milisekundi odnosno na 1 sekundu
{
    foreach(Player, i)
    {
         timerCounter[i] ++;
         if(timerCounter[i] == 10) // 10 sekundi
         {
             // efekt
         }
    }
    return true;
}


Još jedna napomena, ne trebaš koristiti new string2[] jer to sve možeš napraviti sa jednim 'string' - om
Poslednja Izmena: Jun 30, 2011, 22:32:42 POSLE PODNE od [H]265
Kristijan Stipić

hvala aleksandar

dude - ama brate ne otvaram ja CroHerzu pa da cu imat 200 online igraca, ak obudem imao 10 bit ce dobro -.-

hvala i tebi [H]265 ali lakse mi ej ovako

no aj jos zeru pomozite da ne otvaram temu

sad kad muta igraca onda on moze pricati, dodao sam i u OnPlayertext ali nece, evo OnPlayerText
Kod: p
public OnPlayerText(playerid, text[])
{
    ChatLog(playerid, text);
	if((strlen(text) < 3) || (text[0] == '/') || (text[0] == '#') || (text[0] == '!')) return 1;
	else
	{
		new offset;
		new len;

		for(new i = 0; i < MAX_WORDS; i++)
		{
			offset = strfind(text, swear[i], true);
			if(offset > -1)
			{

				len = strlen(swear[i]);
				if(len < 3) break;

				for(new y=0; y<len; y++)
				{
					text[offset+y] = '*';
				}

				swearCount[playerid]++;
				new string[64];
				format(string, sizeof(string), "Zabranjeno je psovati i vrijeÄ'ati, upozorenje %d/%d", swearCount[playerid], MAX_SWEARCOUNT);
				SendClientMessage(playerid, COLOR_KRED, string);
				if(swearCount[playerid] >= MAX_SWEARCOUNT)
				{
					new name[24];
					GetPlayerName(playerid, name, sizeof(name));
					format(string, sizeof(string), "iStunt: Server je izbacio %s zbog psovanja i vrijeÄ'anja!", name);
					SendClientMessageToAll(COLOR_KRED, string);
					TogglePlayerControllable(playerid, 0);
					Kick(playerid);
					break;
				}
				break;
			}
		}
	}
    if(PlayerMuted[playerid] == 1)
 	{
		SendClientMessage(playerid, COLOR_YELLOW, "Nemožete pričati, ušutkani ste!");
		return 0;
	}
	return 1;
}

Uskoro novi stunt server iStunt. DoÄ'ite i zabavite se!




   
   




Dizajniram za $$$
Popis stvari koje radim:

Wallpaper √  Signature ×  Logo √  Dizajn stranice (Ne kodiranje) √  Baner √  Avatar √  Animacija √  Intro √

Zato jer ti je na kraju return 1; znači ipak je ishod točan odnosno izvede se, stavi zadnji return na false i ja mislim da bi onda trebalo raditi.
Kristijan Stipić

ipak neće :S
Uskoro novi stunt server iStunt. DoÄ'ite i zabavite se!




   
   




Dizajniram za $$$
Popis stvari koje radim:

Wallpaper √  Signature ×  Logo √  Dizajn stranice (Ne kodiranje) √  Baner √  Avatar √  Animacija √  Intro √