22/02/2022 23:26
(Esta mensagem foi modificada pela última vez a: 22/02/2022 23:31 por White_Blue.)
Timers como o nome já diz são "temporizadores" que executam tão função de um script em determinado tempo
temos dois tipos de Timers, um é o "SetTimer", o outro é o "SetTimerEx". a única diferença entre os dois é que o "SetTimer" conta o tempo pra baixo, e o "SetTimerEx" conta o tempo pra cima. exemplo do "SetTimer" ele conta assim 3, 2, 1. exemplo do "SetTimerEx" ele conta assim 1, 2, 3.
e por ai vai
1 - Exemplo de Prático SetTimerEx
2 - Exemplo prático de SetTimer
Para Mais informações eu te recomendo a ler os seguintes artigos:
https://portalsamp.com/showthread.php?tid=821
https://www.open.mp/docs/scripting/functions/SetTimer
https://sampwiki.blast.hk/wiki/SetTimerEx
temos dois tipos de Timers, um é o "SetTimer", o outro é o "SetTimerEx". a única diferença entre os dois é que o "SetTimer" conta o tempo pra baixo, e o "SetTimerEx" conta o tempo pra cima. exemplo do "SetTimer" ele conta assim 3, 2, 1. exemplo do "SetTimerEx" ele conta assim 1, 2, 3.
e por ai vai
1 - Exemplo de Prático SetTimerEx
Código:
#include <a_samp> // Include principal do samp
new Float:x, Float:y, Float:z; // variavél para armazenar a posição do player
new pnome[MAX_PLAYER_NAME]; // variavél para armazenar o nome do player
// Timers
public OnPlayerConnect(playerid)
{
SetTimerEx("carregarinfo", 5000, false, "i", pnome, x,y,z); // O timer que executa o script abaixo cada a cada 5 segundos que um player se conecta ao servidor
return 1;
}
// Script para ser executado com o timer
forward carregarinfo(playerid);
public carregarinfo(playerid)
{
GetPlayerName(playerid, pnome, MAX_PLAYER_NAME); // Armazena o nome do player na variavél pnome
GetPlayerPos(playerid, x,y,z); // Pega a posicão do player e armazena na variavél x,y,z
printf("O player %s está na localizacão %d", pnome, x,y,z); // Desenha uma mensagem no console do servidor com o nome e posicão do player
return 1;
}
2 - Exemplo prático de SetTimer
Código:
#include <a_samp> // Include principal do samp
// Variavéis
new pname[MAX_PLAYER_NAME],
string[128];
// Timer
SetTimer("kickarplayer", 9000, false); // Kicka o player a cada 9 segundos que o script é executado
// Função do Timer
forward kickarplayer(playerid);
public kickarplayer(playerid)
{
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(string, sizeof(string), "O(a) jogador(a) %s[%d] foi kickado(a)", pname, playerid);
SendClientMessageToAll(0xFFFFFFAA, string);
Kick(playerid);
return 1;
}
Para Mais informações eu te recomendo a ler os seguintes artigos:
https://portalsamp.com/showthread.php?tid=821
https://www.open.mp/docs/scripting/functions/SetTimer
https://sampwiki.blast.hk/wiki/SetTimerEx
Não estou disponível para realizar serviços relacionados ao SA-MP e não costumo responder a mensagens privadas, a menos que estejam relacionadas à moderação do fórum.