19/12/2022 21:23
Legal a iniciativa, portanto cria timer para cada jogador, dependendo do tanto de jogadores tem em um servidor, vai ocasionar em um uso de processamento alto, causando lag no servidor.
Você poderia simplesmente criar um timer global e fazer um loop dentro dessa timer, de forma simples, fácil e rápido.
Dessa forma, além de diminuir o processamento, vai pegar todos os jogadores conectados, você pode também adicionar novas verificações, novos métodos, e também usar um looping mais otimizado, usar um foreach por exemplo.
Você poderia simplesmente criar um timer global e fazer um loop dentro dessa timer, de forma simples, fácil e rápido.
Código:
public OnGameModeInit()
{
SetTimer("OnVerifyMoneyHack", 1000, true);
return 1;
}
forward OnVerifyMoneyHack();
public OnVerifyMoneyHack()
{
for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) {
if(GetPlayerMoney(i) != PlayerInfo[i][pMoney])
{
ResetPlayerMoney(i);
GivePlayerMoney(i, PlayerInfo[i][pMoney]);
}
}
return 1;
}
Dessa forma, além de diminuir o processamento, vai pegar todos os jogadores conectados, você pode também adicionar novas verificações, novos métodos, e também usar um looping mais otimizado, usar um foreach por exemplo.