SA-MP Forums Archive
[Ajuda] settimer - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] settimer (/showthread.php?tid=406012)



settimer - Duduloch - 08.01.2013

Olha gente: Botei para que sempre que alguem se conectasse desse um settimer:

pawn Код:
SetTimer("limparChat", 500, false);
Puis certim na callback limparChat:

pawn Код:
LimparChat(playerid, 100);
No entanto sempre que alguem loga o chat limpa para todos, nгo sу pra quem logou '-', creio que seja algo no settimer, acho que ele й aplicado para todos nгo sу para o logando, e se й realmente isso, como poderia setar um timer apenas pro player conectando? att..


Re: settimer - EditPawn - 08.01.2013

Use loop para enviar um "Flood" de mensagens para limpar o chat.


Re: settimer - Duduloch - 08.01.2013

Cara eu estou usando uma strtok:

pawn Код:
stock LimparChat(playerid, linhas)
{
    for(new b = 0; b <= linhas; b++) SendClientMessage(playerid, -1, " ");
}
Й a mesma coisa que floodar, por que ele geta quantas linhas vc digitou e manda um "flood" de tantas linhas..


Respuesta: settimer - ipsBruno - 08.01.2013

pawn Код:
SetTimerEx("LimparChat", 500, false, "id", playerid, 100);

LimparChat(playerid, linhas);
public LimparChat(playerid, linhas)
{
    for(new b = 0; b <= linhas; b++) SendClientMessage(playerid, -1, " ");
}
Tente isto


Posta as callbacks


Re: settimer - FeelLikeASir_ - 08.01.2013

Use SetTimerEx.


Re: settimer - EditPawn - 08.01.2013

Entao use "SetTimerEx" e timers sу podem ser executados em publics/callbacks, stocks o timer nгo funciona!


Re: settimer - Duduloch - 08.01.2013

EditPawn, entenda: Estou executando ela em uma callback, mas vocк me sugeriu que eu fizesse um flood de mensagens, mas "LimparChat(playerid, [linhas])" estб definido em uma strtok que ao definir as linhas, ele da um flood das linhas que vocк colocou! Sacou?

@ipsBruno

testando.

@edit

Vкem se entendem:

timer:

pawn Код:
SetTimer("limparChat", 500, false);
callback:

pawn Код:
public limparChat(playerid)
{
    LimparChat(playerid, 100);
    SetTimer("limparChat2", 2000, false);
}
stock:

pawn Код:
stock LimparChat(playerid, linhas)
{
    for(new b = 0; b <= linhas; b++) SendClientMessage(playerid, -1, " ");
}

Deu para entender agora?


Re: settimer - EditPawn - 08.01.2013

Quote:
Originally Posted by Duduloch
Посмотреть сообщение
EditPawn, entenda: Estou executando ela em uma callback, mas vocк me sugeriu que eu fizesse um flood de mensagens, mas "LimparChat(playerid, [linhas])" estб definido em uma strtok que ao definir as linhas, ele da um flood das linhas que vocк colocou! Sacou?

@ipsBruno

testando.
"stock" e nгo "strtok"..
Agora que vi que o "L" й diferente, agora entendi mais nгo sei porque jб nгo faz na prуpria callback..

Bom, espero que tenha resolvido o seu problema.


Re: settimer - Duduloch - 08.01.2013

Quote:
Originally Posted by EditPawn
Посмотреть сообщение
"stock" e nгo "strtok"..
Agora que vi que o "L" й diferente, agora entendi mais nгo sei porque jб nгo faz na prуpria callback..

Bom, espero que tenha resolvido o seu problema.
Й, realmente tinha escrito errado, rsrs.. Mas expliquei no meu edit, vк se entende... Att.


Re: settimer - EditPawn - 08.01.2013

Qual a utilidade disso? Ainda nгo consegui entender :S

Creio que vocк esteja tentando limpar o chat sempre para que nгo apareзa mensagens ao player, se for isso, apenas basta fazer o seguinte.


pawn Код:
new Timer[MAX_PLAYERS];

Timer[playerid] = SetTimerEx("LimparChat", 500, true, "id", playerid, 100);

forward LimparChat(playerid, linhas); public LimparChat(playerid, linhas) for(new x; x < linhas; ++x) SendClientMessage(playerid, -1, "");
Para que vocк pare o Timer, use

pawn Код:
KillTimer(Timer[playerid]);