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