UM BOM EXEMPLO DE COMO USAR ISSO IN-GAME:
PHP код:
/*--------------------------------------------------------------------------------
no inicio do gamemode */
#include <a_samp>
#include <ZCMD>
#include <SSCANF>
//------------------------------------------------------------------------------
new
CriarTime[MAX_PLAYERS],
TimeEmAndamento[MAX_PLAYERS]
;
CMD:loopplayer(playerid, params[])
{
if(TimeEmAndamento[playerid] == 1)
{
KillTimer(CriarTime[playerid]);
TimeEmAndamento[playerid] = 0;
SendClientMessage(playerid, -1, "Funзгo cancelada(finalizada).");
return 1;
}
new
FUNCOES[30],
ID,
PARAMETRO_1,
TIMER,
REPEAT
;
if(sscanf(params, "sdddd",FUNCOES, ID, PARAMETRO_1, TIMER, REPEAT))
return SendClientMessage(playerid, -1, "Use: /loop [nome-da-public] [player] [parвmetro1] [segundos] [repetiзгo 0 = off | 1 = on]");
if(REPEAT > 1 || REPEAT < 0)
return SendClientMessage(playerid, -1, "[ repetiзгo > 0 = off/ 1 = on ]");
new
nomeplayer[25],
nomefuncao[50],
corpomsg[128],
DefinirDepeticao[2][13] = {"sem repetзгo", "com repetзгo"}
;
GetPlayerName(ID, nomeplayer, 25)
;
format(corpomsg, sizeof corpomsg,"Voce usou %s %d em %s, daqui a % segundos %s", nomefuncao, PARAMETRO_1, nomeplayer, TIMER, DefinirDepeticao[REPEAT]);
SendClientMessage(playerid, -1, corpomsg);
format(nomefuncao, sizeof nomefuncao, "%s", FUNCOES);
CriarTime[playerid] = SetTimerEx(nomefuncao, TIMER*1000, REPEAT, "id", ID, PARAMETRO_1);
TimeEmAndamento[playerid] = 1;
return true;
}
Comando: /loopplayer SetPlayerMoney 0 500 2 1
/loopplayer = comando
SetPlayerMoney = uma funзгo que seta dinheiro
0 = й o id do player a ser executada a funзгo
2 = segundos
1 = repetiзгo ativada
Ou seja, o jogador 0 ira receber 500 dуlares a cada 2 segundos.
Para cancelar isso basta digita somente o '/looplayer'