22.02.2018, 21:20
(
Последний раз редактировалось AllanSG; 22.02.2018 в 22:30.
)
Olб Novamente, Eu fiz um sistema de UP em meu GM, ele conta o tempo certinho, da a quantia de EXP que eu quis, salva certinho, Maas quando tem mais de 1 jogador online, quando acaba o tempo de um, seta o EXP para todos, й como se tivesse feito o timer para todos, mas nгo й, veja abaixo o sistema,
Em OnPlayerConnect:
OnPlayerDisconnect:
Public TempoExp
o que tem de errado? variaveis de Score e EXP sao:
Em OnPlayerConnect:
pawn Код:
SetTimerEx("TempoExp", 720000, true, "i", playerid); // comeзa a contar 12 minutos para upar
pawn Код:
SavePlayer(playerid);
KillTimer(TempoExp(playerid));
pawn Код:
forward TempoExp(playerid);
public TempoExp(playerid)
{
new texto[256], msg[256];
if(GetPlayerScore(playerid) == 0)
{
Player[playerid][Exp] += 10000;
format(msg, sizeof(msg), "| UP | Vocк Acaba De Receber 10000 De EXP! (%d/10000)", Player[playerid][Exp]);
SendClientMessage(playerid, 0x2fee00ff, msg);
}
if(GetPlayerScore(playerid) >= 1 && GetPlayerScore(playerid) <= 10)
{
Player[playerid][Exp] += 5000;
format(msg, sizeof(msg), "| UP | Vocк Acaba De Receber 5000 De EXP! (%d/10000)", Player[playerid][Exp]);
SendClientMessage(playerid, 0x2fee00ff, msg);
}
if(GetPlayerScore(playerid) > 10 && GetPlayerScore(playerid) <= 50)
{
Player[playerid][Exp] += 4500;
format(msg, sizeof(msg), "| UP | Vocк Acaba De Receber 4500 De EXP! (%d/10000)", Player[playerid][Exp]);
SendClientMessage(playerid, 0x2fee00ff, msg);
}
if(GetPlayerScore(playerid) > 50 && GetPlayerScore(playerid) <= 100)
{
Player[playerid][Exp] += 4000;
format(msg, sizeof(msg), "| UP | Vocк Acaba De Receber 4000 De EXP! (%d/10000)", Player[playerid][Exp]);
SendClientMessage(playerid, 0x2fee00ff, msg);
}
if(GetPlayerScore(playerid) > 100 && GetPlayerScore(playerid) <= 500)
{
Player[playerid][Exp] += 3000;
format(msg, sizeof(msg), "| UP | Vocк Acaba De Receber 3000 De EXP! (%d/10000)", Player[playerid][Exp]);
SendClientMessage(playerid, 0x2fee00ff, msg);
}
if(GetPlayerScore(playerid) > 500 && GetPlayerScore(playerid) <= 800)
{
Player[playerid][Exp] += 2000;
format(msg, sizeof(msg), "| UP | Vocк Acaba De Receber 2000 De EXP! (%d/10000)", Player[playerid][Exp]);
SendClientMessage(playerid, 0x2fee00ff, msg);
}
if(GetPlayerScore(playerid) > 800)
{
Player[playerid][Exp] += 1000;
format(msg, sizeof(msg), "| UP | Vocк Acaba De Receber 1000 De EXP! (%d/10000)", Player[playerid][Exp]);
SendClientMessage(playerid, 0x2fee00ff, msg);
}
if(Player[playerid][Exp] >= 10000)
{
SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
format(texto, sizeof(texto), "| UP | Vocк Acaba De Upar De Level! Totalizando %d Leveis!", GetPlayerScore(playerid));
SendClientMessage(playerid, 0x2fee00ff, texto);
Player[playerid][Exp] -= 10000;
Player[playerid][Score] += 1;
}
GameTextForPlayer(playerid, "~p~up", 2000, 3);
DOF2_SetInt( GetPlayerArquivo( playerid ), "Score", Player[ playerid ][ Score ] );
return 1;
}
pawn Код:
Player[playerid][Score]
Player[playerid][Exp]