SA-MP Forums Archive
[Ajuda] Alterar um valor na conta sem o player tar online - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Alterar um valor na conta sem o player tar online (/showthread.php?tid=472227)



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;
}