Peguei esse sistema e dei uma modificada pro jeito que vocк quer..
os crйditos do criador
Sistema de Level UP/HorasJogadas/Salario
----------------LucasTotola---------------
PHP код:
#include <a_samp>
#include <DOF2>
#define LEVEL "Level/%s.ini"
#define SEGUNDOSLEVEL 600
enum Info
{
pSegundos,
pLevel,
pExp
};
new PlayerInfo[MAX_PLAYERS][Info];
new segundos;
public OnFilterScriptInit()
{
segundos = SetTimer("SegundoaMais",1000,1);
return 1;
}
public OnFilterScriptExit()
{
KillTimer(segundos);
DOF2_Exit();
return 1;
}
public OnPlayerDisconnect(playerid)
{
new arquivo[34], playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
format(arquivo, sizeof(arquivo), LEVEL, playername);
if(DOF2_FileExists(arquivo))
{
DOF2_SetInt(arquivo, "Segundos", PlayerInfo[playerid][pSegundos]);
DOF2_SetInt(arquivo, "Level", PlayerInfo[playerid][pLevel]);
DOF2_SetInt(arquivo, "Exp", PlayerInfo[playerid][pExp]);
DOF2_SaveFile();
}
else
{
DOF2_CreateFile(arquivo);
DOF2_SetInt(arquivo, "Segundos", PlayerInfo[playerid][pSegundos]);
DOF2_SetInt(arquivo, "Level", PlayerInfo[playerid][pLevel]);
DOF2_SetInt(arquivo, "Exp", PlayerInfo[playerid][pExp]);
DOF2_SaveFile();
}
return 1;
}
public OnPlayerConnect(playerid)
{
new arquivo[34], playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
format(arquivo, sizeof(arquivo), LEVEL, playername);
PlayerInfo[playerid][pSegundos] = DOF2_GetInt(arquivo, "Segundos");
PlayerInfo[playerid][pLevel] = DOF2_GetInt(arquivo, "Level");
PlayerInfo[playerid][pExp] = DOF2_GetInt(arquivo, "Exp");
return 1;
}
forward SegundoaMais();
public SegundoaMais()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
PlayerInfo[i][pSegundos] ++;
if(PlayerInfo[i][pSegundos] >= SEGUNDOSLEVEL)
{
PlayerInfo[i][pSegundos] = 0;
LevelUP(i);
}
}
return 1;
}
LevelUP(playerid)
{
PlayerInfo[playerid][pLevel] +=1;
if(PlayerInfo[playerid][pLevel] >= 5)
{
PlayerInfo[playerid][pLevel] = 0;
PlayerInfo[playerid][pExp] += 1;
GameTextForPlayer(playerid, "~w~Level ~p~UP", 2000, 1);
}
GameTextForPlayer(playerid, "~w~+1 ~p~EXP", 1500, 1);
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/meulevel", cmdtext) == 0)
{
new string[256];
format(string, sizeof(string), "Seu level: %i", PlayerInfo[playerid][pExp]);
SendClientMessage(playerid, 0xAF0000FF, string);
return 1;
}
return 0;
}