[Ajuda] Alterar um valor na conta sem o player tar online
#1

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.
Reply
#2

manda o code que usas para salvar dados so para ter uma base
Reply
#3

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.
Reply
#4

quando chegar a casa eu mando o code
Reply
#5

Blz e vlw cara
Reply
#6

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);
Reply
#7

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
Reply
#8

mostra como fizeste ae.

e mostra a variavel que define que o player e daquela empresa...
Reply
#9

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);
Reply
#10

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


Forum Jump:


Users browsing this thread: 1 Guest(s)