[Ajuda] settimer
#1

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..
Reply
#2

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

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..
Reply
#4

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
Reply
#5

Use SetTimerEx.
Reply
#6

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

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?
Reply
#8

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.
Reply
#9

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.
Reply
#10

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


Forum Jump:


Users browsing this thread: 1 Guest(s)