Код:
#include <a_samp>
#include <a_fini>// ou #include <Fini>
#define Cor_Advogado 0xFF6600AA
enum pInfo
{
pEmprego
}
new PlayerInfo[MAX_PLAYERS][pInfo];
new pName[MAX_PLAYER_NAME];//Define o nome para usarmos no GetPlayerName
main()
{
print("\n----------------------------------");
print(" GAMEMODE ON");
print("----------------------------------\n");
}
public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
SetGameModeText("NOME");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnPlayerConnect(playerid)
{
new string[80];//Define a string para usarmos.
GetPlayerName(playerid, pName, sizeof(pName));//Pega o nome do Player.
format(string, sizeof(string), "Empregos/%s.ini",pName);//Cria o formato do arquivo.
Fini_OpenFile(string);//abre o arquivo para pegar o emprego do player.
PlayerInfo[playerid][pEmprego] = Fini_GetValue("Emprego"); //Pega o emprego do player
Fini_CloseFile();//Fecha o arquivo.
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new string[80];//Define a string para usarmos.
GetPlayerName(playerid, pName, sizeof(pName));//Pega o nome do Player.
format(string, sizeof(string), "Empregos/%s.ini",pName);//Cria o formato do arquivo.
if(Fini_Exists(string))//Checa se o arquivo do Formato que definimos a cima existe.
{
Fini_OpenFile(string);//abre o arquivo para podermos salvar o emprego.
Fini_SetVal("Emprego", PlayerInfo[playerid][pEmprego]);//salva o emprego do player.
Fini_SaveFile(string);//salva o arquivo.
Fini_CloseFile();//fecha o arquivo.
}
else
{//Se o player nгo tem o arquivo de emprego, ele sera criado automaticamente.
Fini_Create(string);//cria o arquivo do player para salvar o emprego.
Fini_OpenFile(string);//abre o arquivo do player para modificarmos oque ah dentro.
Fini_SetVal("Emprego", PlayerInfo[playerid][pEmprego]);//Seta o emprego do player para salvarmos
Fini_SaveFile(string);//salva o arquivo do player para quando ele logar entrar com o mesmo emprego em que saio.
Fini_CloseFile();// fecha o arquivo do emprego do player
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/viraradvogado", true) == 0)
{
PlayerInfo[playerid][pEmprego] = 1; // Alйm de "Definir" que o emprego do player й 1 que no caso й advogado, ele seta o emprego do player para 1 (advogado).
SendClientMessage(playerid, Cor_Advogado, "Parabens, vocк virou um advogado");//Manda a mensagem para o player disendo que ele virou um advogado.
}
if(strcmp(cmdtext, "/checaradvogado", true) == 0)
{
if(PlayerInfo[playerid][pEmprego] == 1)//Checa se o player й do emprego 1 (Advogado)
{
SendClientMessage(playerid, Cor_Advogado, "Parabens, vocк й um advogado");//Manda a mensagem disendo que o player й advogado.
}
else
{//Checa se o player nгo й advogado
SendClientMessage(playerid, Cor_Advogado, "Vocк nгo й um advogado.");//Manda a mensagem disendo que ele nгo й um advogado.
}
}
if(strcmp(cmdtext, "/sairdoemprego", true) == 0)
{
if(PlayerInfo[playerid][pEmprego] == 1)//Checa se o player й do emprego 1 (Advogado).
{
PlayerInfo[playerid][pEmprego] = 0;//Seta o emprego do player para 0 (Sem emprego ou se preferir Civil).
SendClientMessage(playerid, Cor_Advogado, "Parabens, vocк nгo й mais um advogado");//Manda a mensagem disendo que o player nгo й mais um advogado.
}
else
{//Checa se o player nгo й advogado
SendClientMessage(playerid, Cor_Advogado, "Vocк nгo tem um emprego!");//Manda a mensagem disendo que ele nгo й um advogado.
}
}
return 0;
}