Alterar um valor na conta sem o player tar online -
Chazika - 27.10.2013
Eae...
Venho aqui postar uma dъvida. Eu to fazendo um sistema de empresas para o meu server em que cada empresa pode ter trкs trabalhadores. Tem um comando que й /demitirempresa em que o dono pode demitir o player da vaga 1, vaga 2 e vaga 3.
Mas quando ele vai demitir o player da vaga 1 ele tirar ele da empresa e fica "Ninguem", mas nao altera a variavel para 0 da conta do player que foi demitido, ou seja, na conta do player que й demitido a variavel TrabalhadorEmpresa tem que fica = 0 e nao ta ficando.
Alguem ajuda pfv.
Re: Alterar um valor na conta sem o player tar online -
iTzDemon - 27.10.2013
manda o code que usas para salvar dados so para ter uma base
Re: Alterar um valor na conta sem o player tar online -
Chazika - 27.10.2013
Esse e quando o player (Nao o dono) ele digita /trabalhar e salva essa variavel na pasta contas
pawn Code:
format(String, sizeof(String), "Contas/%s.txt",GetPlayerName(playerid));
DOF2_SetInt(String, "TrabalhadorEmpresa", 1);
Agora quero que quando o dono digite /demitir e escolhe a vaga 1 ele fica com essa variavel 0 mesmo nao tando online.
Re: Alterar um valor na conta sem o player tar online -
iTzDemon - 27.10.2013
quando chegar a casa eu mando o code
Re: Alterar um valor na conta sem o player tar online -
Chazika - 27.10.2013
Blz e vlw cara
Re: Alterar um valor na conta sem o player tar online -
PT - 27.10.2013
e so ir na variavel que define o cara como daquela empresa e fazer 1 comando para alterar o valor
algo tipo
pawn Code:
format(String, sizeof(String), "Contas/%s.txt",GetPlayerName(playerid));
DOF2_SetInt(String, "TrabalhadorEmpresa", 0);
Re: Alterar um valor na conta sem o player tar online -
Chazika - 27.10.2013
Mas eu ja fiz isso mas por exemplo quem ta demitindo e o Dono e nao o player que ta trabalhando na empresa. Por isso o dono vai demitir o player mas ele nao precisa tar online e o valor tem que ficar 0.
Atenзгo: Eu ja tentei dessa forma PT e nao alterou o valor do player para 0
Re: Alterar um valor na conta sem o player tar online -
PT - 27.10.2013
mostra como fizeste ae.
e mostra a variavel que define que o player e daquela empresa...
Re: Alterar um valor na conta sem o player tar online -
Chazika - 27.10.2013
Comando que vai demitir o player
pawn Code:
CMD:demitirempresa(playerid)
{
for(new e = 0; e <= MAX_EMPRESAS; ++e)
{
new Emps[128];
format(Emps,sizeof(Emps),"Empresas/%d.ini",e);
format(StringContas, sizeof(StringContas), PASTA_CONTAS, Nome(playerid));
if(IsPlayerInRangeOfPoint(playerid,2.0,DOF2_GetFloat(Emps,"X"),DOF2_GetFloat(Emps,"Y"),DOF2_GetFloat(Emps,"Z")))
{
if(!strcmp(DOF2_GetString(Emps,"DONO"),Nome(playerid),false))
{
new stringCat[128];
strcat(stringCat, "Vaga 1\n");
strcat(stringCat, "Vaga 2\n");
strcat(stringCat, "Vaga 3\n");
ShowPlayerDialog(playerid, 201, 2, "{2E8B57}Demitir Empresa", stringCat, "Selecionar", "Cancelar");
return 1;
}
else
{
SendClientMessage(playerid, VERMELHO, "| ERRO | Esta empresa nгo й sua!");
return 1;
}
}
}
return 1;
}
Dialog que aparece quando digita o comando /demitirempresa
pawn Code:
if(dialogid == 201)
{
if(response)
{
for(new e = 0; e <= MAX_EMPRESAS; ++e)
{
if(listitem == 0)
{
new Emps[128];
format(Emps,sizeof(Emps),"Empresas/%d.ini",e);
format(StringContas, sizeof(StringContas), PASTA_CONTAS,e);
if(!strcmp(DOF2_GetString(Emps,"Trabalhador1"),"Nenhum",false))
{
SendClientMessage(playerid, VERMELHO, "| ERRO | Essa vaga nгo tem ninguйm");
return 1;
}
else
{
DOF2_SetString(Emps,"Trabalhador1","Nenhum");
DOF2_SetInt(StringContas, "TrabalhadorEmpresa", 0);
SendClientMessage(playerid, -1, "Teste");
return 1;
}
}
if(listitem == 1)
{
new Emps[128];
format(Emps,sizeof(Emps),"Empresas/%d.ini",e);
format(StringContas, sizeof(StringContas), PASTA_CONTAS, e);
if(!strcmp(DOF2_GetString(Emps,"Trabalhador2"),"Nenhum",false))
{
SendClientMessage(playerid, VERMELHO, "| ERRO | Essa vaga nгo tem ninguйm");
return 1;
}
else
{
DOF2_SetString(Emps,"Trabalhador2","Nenhum");
DOF2_SetInt(StringContas, "TrabalhadorEmpresa", 0);
SendClientMessage(playerid, -1, "Teste");
return 1;
}
}
if(listitem == 2)
{
new Emps[128];
format(Emps,sizeof(Emps),"Empresas/%d.ini",e);
format(StringContas, sizeof(StringContas), PASTA_CONTAS,e);
if(!strcmp(DOF2_GetString(Emps,"Trabalhador3"),"Nenhum",false))
{
SendClientMessage(playerid, VERMELHO, "| ERRO | Essa vaga nгo tem ninguйm");
return 1;
}
else
{
DOF2_SetString(Emps,"Trabalhador3","Nenhum");
DOF2_SetInt(StringContas, "TrabalhadorEmpresa", 0);
SendClientMessage(playerid, -1, "Teste");
return 1;
}
}
}
}
return 1;
}
Variaveis que verificam se o player trabalha na empresa
pawn Code:
//Se e trabalhador da empresa
//vaga 1
if(!strcmp(DOF2_GetString(Emps,"Trabalhador1"),Nome(playerid),false))
//vaga 2
if(!strcmp(DOF2_GetString(Emps,"Trabalhador2"),Nome(playerid),false))
//vaga 3
if(!strcmp(DOF2_GetString(Emps,"Trabalhador3"),Nome(playerid),false))
//Variavel que verifica se o player trabalha em alguma empresa. E salva e outra pasta
DOF2_SetInt(StringContas, "TrabalhadorEmpresa", 0);
Re: Alterar um valor na conta sem o player tar online -
iTzDemon - 27.10.2013
pawn Code:
CMD:kick(playerid, params[])
{
new giveplayerid, razao[128];
if(sscanf(params, "us[128]", giveplayerid, razao))
{
return SendClientMessage(playerid, COLOR_ERRO, "[Erro:] Usa /kick [playerid/nome] [razao]");
}
if (PlayerInfo[playerid][Admin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
KickPlayer(giveplayerid,GetPlayerNameEx(playerid),razao);
}
}
else
{
SendClientMessage(playerid, COLOR_ERRO, "[Erro:] Esse ID nгo estб conectado ao servidor!");
}
}
else
{
SendClientMessage(playerid, COLOR_ERRO, ERRO);
}
return 1;
}