Ajuda com SetTimerEx - Alfarr Heimrik - 18/05/2024
Olá. Desde já deixo avisado que não entendo muito e não tenho muito conhecimento sobre a função SetTimerEx, então por favor, me socorram
Código PHP: public OnPlayerConnect(playerid) { new String[50]; // Whitelist format(String, 49, "WhiteList/%s.ini", pName(playerid)); if(!DOF2_FileExists(String)) { ShowPlayerDialog(playerid, Dialog_Whitelist, DIALOG_STYLE_MSGBOX, "WhiteList", "Sua conta nao foi encontrada na whitelist (lista de permissao para jogar)!\nVa ate o nosso discord para realizar gratuitamente o registro.", "Entendido", ""); SetTimerEx("DelayKick", 3000, false, "d", playerid); return 1; } // Verificar se o SetTimerEx ta funcionando. SetTimerEx("TestTimer", 2000, false, "d", playerid); printf("Timer de teste configurado para o jogador %d", playerid); return 1; }
forward TestTimer(playerid); public TestTimer(playerid) { printf("TestTimer chamado para o jogador %d", playerid); return 1; }
forward DelayKick(playerid); public DelayKick(playerid) { Kick(playerid); return 1; }
O testtimer funciona normalmente, mas o kick da whitelist não funciona. Eu estava mexendo e vi que funcionou 1 ou 2 vezes, mas não consegui deixar funcionando. Tem a possibilidade de eu estar usando alguma coisa desatualizada, não sei.
Eu fiz um pequeno vídeo, creio que está com 2 minutos.
https://youtu.be/Zoc7rXI_c7Y
RE: Ajuda com SetTimerEx - xbruno1000x - 18/05/2024
Primeiro sugiro que tente assim:
Código: if(!DOF2_FileExists(String))
{
SetTimerEx("DelayKick", 3000, false, "d", playerid);
ShowPlayerDialog(playerid, Dialog_Whitelist, DIALOG_STYLE_MSGBOX, "WhiteList", "Sua conta nao foi encontrada na whitelist (lista de permissao para jogar)!\nVa ate o nosso discord para realizar gratuitamente o registro.", "Entendido", "");
return 1;
}
Dessa forma o timer seria ativado antes da dialog ser exibida. Talvez funcione... mas se não funcionar use o modelo abaixo:
Código: if(!DOF2_FileExists(String))
{
ShowPlayerDialog(playerid, Dialog_Whitelist, DIALOG_STYLE_MSGBOX, "WhiteList", "Sua conta nao foi encontrada na whitelist (lista de permissao para jogar)!\nVa ate o nosso discord para realizar gratuitamente o registro.", "Entendido", "");
return 1;
}
//na OnDialogResponse
if(dialogid == Dialog_Whitelist)
{
return Kick(playerid);
}
RE: Ajuda com SetTimerEx - Alfarr Heimrik - 18/05/2024
(18/05/2024 16:49)xbruno1000x Escreveu: Primeiro sugiro que tente assim:
Código: if(!DOF2_FileExists(String))
{
SetTimerEx("DelayKick", 3000, false, "d", playerid);
ShowPlayerDialog(playerid, Dialog_Whitelist, DIALOG_STYLE_MSGBOX, "WhiteList", "Sua conta nao foi encontrada na whitelist (lista de permissao para jogar)!\nVa ate o nosso discord para realizar gratuitamente o registro.", "Entendido", "");
return 1;
}
Dessa forma o timer seria ativado antes da dialog ser exibida. Talvez funcione... mas se não funcionar use o modelo abaixo:
Código: if(!DOF2_FileExists(String))
{
ShowPlayerDialog(playerid, Dialog_Whitelist, DIALOG_STYLE_MSGBOX, "WhiteList", "Sua conta nao foi encontrada na whitelist (lista de permissao para jogar)!\nVa ate o nosso discord para realizar gratuitamente o registro.", "Entendido", "");
return 1;
}
//na OnDialogResponse
if(dialogid == Dialog_Whitelist)
{
return Kick(playerid);
}
A segunda forma funcionou, já que se trata de uma dialog.
Você sabe o que está acontecendo com o meu codigo? Eu fiz um timer para descarregar o caminhao em uma profissao e ta acontecendo a mesma coisa. Eu preciso ter alguma include para fazer funionar? Eu baixei um pacote que me indicaram ...
Eu fiz isso aqui agora
Código PHP: CMD:testsay(playerid) { SetTimerEx("TestSay", 6000, false, "d", playerid); GameTextForPlayer(playerid, "Testando", 6000, 4); return 1; }
forward TestSay(playerid); public TestSay(playerid) { SendClientMessage(playerid, -1, "Deu certo."); return 1; }
A mensagem da forward n está aparecendo.
RE: Ajuda com SetTimerEx - White_Blue - 18/05/2024
(18/05/2024 20:48)Alfarr Heimrik Escreveu: (18/05/2024 16:49)xbruno1000x Escreveu: Primeiro sugiro que tente assim:
Código: if(!DOF2_FileExists(String))
{
SetTimerEx("DelayKick", 3000, false, "d", playerid);
ShowPlayerDialog(playerid, Dialog_Whitelist, DIALOG_STYLE_MSGBOX, "WhiteList", "Sua conta nao foi encontrada na whitelist (lista de permissao para jogar)!\nVa ate o nosso discord para realizar gratuitamente o registro.", "Entendido", "");
return 1;
}
Dessa forma o timer seria ativado antes da dialog ser exibida. Talvez funcione... mas se não funcionar use o modelo abaixo:
Código: if(!DOF2_FileExists(String))
{
ShowPlayerDialog(playerid, Dialog_Whitelist, DIALOG_STYLE_MSGBOX, "WhiteList", "Sua conta nao foi encontrada na whitelist (lista de permissao para jogar)!\nVa ate o nosso discord para realizar gratuitamente o registro.", "Entendido", "");
return 1;
}
//na OnDialogResponse
if(dialogid == Dialog_Whitelist)
{
return Kick(playerid);
}
A segunda forma funcionou, já que se trata de uma dialog.
Você sabe o que está acontecendo com o meu codigo? Eu fiz um timer para descarregar o caminhao em uma profissao e ta acontecendo a mesma coisa. Eu preciso ter alguma include para fazer funionar? Eu baixei um pacote que me indicaram ...
Eu fiz isso aqui agora
Código PHP: CMD:testsay(playerid) { SetTimerEx("TestSay", 6000, false, "d", playerid); GameTextForPlayer(playerid, "Testando", 6000, 4); return 1; }
forward TestSay(playerid); public TestSay(playerid) { SendClientMessage(playerid, -1, "Deu certo."); return 1; }
A mensagem da forward n está aparecendo.
Não, não é necessário nenhum include para que a função SetTimerEx funcione, já que é uma função nativa.
Seu código me parece correto e deveria estar retornando a mensagem corretamente.
P.S.: Acabo de testar o seu código no meu ambiente e funcionou corretamente, verifique se você não esqueceu de compilar o código para aplicar as alterações.
RE: Ajuda com SetTimerEx - xbruno1000x - 18/05/2024
É como o White falou, seu código está totalmente correto. O mais estranho é que é uma função nativa do SA-MP, então não precisa instalar nada pra funcionar.
RE: Ajuda com SetTimerEx - Alfarr Heimrik - 19/05/2024
(18/05/2024 22:29)xbruno1000x Escreveu: É como o White falou, seu código está totalmente correto. O mais estranho é que é uma função nativa do SA-MP, então não precisa instalar nada pra funcionar.
Eu vou tentar reinstalar o servidor. Como eu já tenho essa pasta tem um tempo, você poderia me enviar o link do servidor e também das includes?
Eu acabei de ver que tem um site News - San Andreas Multiplayer (sa-mp.mp) , mas eu não sei se é oficial.[url=https://www.sa-mp.mp/][/url]
RE: Ajuda com SetTimerEx - BitSain - 19/05/2024
(19/05/2024 07:44)Alfarr Heimrik Escreveu: (18/05/2024 22:29)xbruno1000x Escreveu: É como o White falou, seu código está totalmente correto. O mais estranho é que é uma função nativa do SA-MP, então não precisa instalar nada pra funcionar.
Eu vou tentar reinstalar o servidor. Como eu já tenho essa pasta tem um tempo, você poderia me enviar o link do servidor e também das includes?
Eu acabei de ver que tem um site News - San Andreas Multiplayer (sa-mp.mp) , mas eu não sei se é oficial.[url=https://www.sa-mp.mp/][/url]
O oficial foi desativado, e esse é uma das opções pra instalar.
Também tem aqui no fórum esses downloads na aba de Notícias e Atualizações: https://portalsamp.com/showthread.php?tid=4021
RE: Ajuda com SetTimerEx - Alfarr Heimrik - 19/05/2024
(19/05/2024 08:23)BitSain Escreveu: (19/05/2024 07:44)Alfarr Heimrik Escreveu: (18/05/2024 22:29)xbruno1000x Escreveu: É como o White falou, seu código está totalmente correto. O mais estranho é que é uma função nativa do SA-MP, então não precisa instalar nada pra funcionar.
Eu vou tentar reinstalar o servidor. Como eu já tenho essa pasta tem um tempo, você poderia me enviar o link do servidor e também das includes?
Eu acabei de ver que tem um site News - San Andreas Multiplayer (sa-mp.mp) , mas eu não sei se é oficial.[url=https://www.sa-mp.mp/][/url]
O oficial foi desativado, e esse é uma das opções pra instalar.
Também tem aqui no fórum esses downloads na aba de Notícias e Atualizações: https://portalsamp.com/showthread.php?tid=4021
Entendi.
Apenas uma atualização. Eu reinstalei o servidor e a função SetTimerEx passou a funcionar.
Eu havia deixado o servidor em um pendrive e havia muito movimento nele, talvez tenha corrompido alguma coisa ... Está tudo ok agora. Obrigado aos que me ajudaram.
RE: Ajuda com SetTimerEx - samuelmatheus0502 - 19/05/2024
Seria legal guardar o backup do server em uma nuvem então
RE: Ajuda com SetTimerEx - Alfarr Heimrik - 25/05/2024
(19/05/2024 12:38)samuelmatheus0502 Escreveu: Seria legal guardar o backup do server em uma nuvem então
Certamente.
|