[Ajuda] O que ha de errado aqui?
#1

pawn Код:
if(strcmp(cmd, "/mudarnick", true) == 0)
    {
        if(IsPlayerInRangeOfPoint(playerid, 4.0, 2309.6484, -8.4480, 26.7422))
        {
            if(Autorizado[playerid] == 1)
            {
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid, 0xC4C4FFAA, "Uso: /mudarnick [Nick]");
                    return 1;
                }
                new diretorio[24], casa[64], IP[24], caps[64];
                new senha[5][256], conta[64], banco[64], nova[64], novabanco[64];
                format(diretorio, 128, DIRETORIO, tmp);
                if(dini_Exists(diretorio))
                {
                    SendClientMessage(playerid, COR_VERMELHO, "(ERRO) Jб existe uma conta criada com esse nome!");
                    return 1;
                }
                format(conta, sizeof(conta), DIRETORIO, nome(playerid));
                format(banco, sizeof(banco), BANCO, nome(playerid));
                format(caps, sizeof(caps), DIRETORIO, nome(playerid));
                senha[0] = dini_Get(conta, "Senha");
                senha[1] = dini_Get(conta, "SenhaPadrao");
                senha[2] = dini_Get(banco, "SenhaPadrao");
                senha[3] = dini_Get(banco, "Senha");
                senha[4] = dini_Get(banco, "Saldo");
                caps [64] = dini_Get(conta, "AntiCapsLock");
                format(casa, sizeof(casa), "contas/casas/usuarios/%s.ini", nome(playerid));
                if(!dini_Exists(casa)){SetTimerEx("SalvandoDados", 8000, false, "i", playerid);TemCasa[playerid]=0;}
                if(dini_Int(conta, "Morando") == 0){if(dini_Exists(casa)){SetPlayerPos(playerid, dini_Int(casa, "CasaX"), dini_Int(casa, "CasaY"), dini_Int(casa, "CasaZ")); SetTimerEx("SalvandoDados", 10000, false, "i", playerid);TemCasa[playerid]=1;}}
                if(dini_Int(conta, "Morando") == 1){if(dini_Exists(casa)){SetPlayerPos(playerid, dini_Int(casa, "CasaX"), dini_Int(casa, "CasaY"), dini_Int(casa, "CasaZ")); SetTimerEx("SalvandoMoradia", 10000, false, "i", playerid);TemCasa[playerid]=3;}}
                dini_Remove(conta); dini_Remove(banco);
                TogglePlayerControllable(playerid, 0);
                SetPlayerName(playerid, tmp);
                format(nova, sizeof(nova), DIRETORIO, tmp);
                format(novabanco, sizeof(novabanco), BANCO, tmp);
                dini_Create(nova); dini_Create(novabanco);
                GetPlayerIp(playerid, IP, sizeof(IP));
                dini_Set(nova, "Usuario", nome(playerid));
                dini_Set(nova, "IP", IP);
                dini_Set(nova, "Dinheiro", "0");
                dini_Set(nova, "Profissao", "0");
                dini_Set(nova, "Procurado", "0");
                dini_Set(nova, "Preso", "0");
                dini_Set(nova, "Level", "0");
                dini_Set(nova, "Experiencia", "0");
                dini_Set(nova, "Gasolina", "20");
                dini_Set(nova, "Galao", "10");
                dini_Set(nova, "X", "385.9860");
                dini_Set(nova, "Y", "-1528.2870");
                dini_Set(nova, "Z", "32.2734");
                dini_Set(nova, "A", "0");
                dini_Set(nova, "Interior", "0");
                dini_Set(nova, "Terrestre", "0");
                dini_Set(nova, "Aerea", "0");
                dini_Set(nova, "Nautica", "0");
                dini_Set(nova, "ConvenioMedico", "0");
                dini_Set(nova, "Pescas", "0");
                dini_Set(nova, "Cacas", "0");
                dini_IntSet(nova, "Procurado", GetPlayerWantedLevel(playerid));
                dini_IntSet(nova, "Level", Level[playerid]);
                dini_IntSet(nova, "Experiencia", Experiencia[playerid]);
                dini_IntSet(nova, "Gasolina", Gasolina[playerid]);
                dini_IntSet(nova, "Galao", GalaoCombustivel[playerid]);
                dini_IntSet(nova, "Profissao", Profissao[playerid]);
                dini_IntSet(nova, "Dinheiro", GetPlayerMoneyEx(playerid));
                dini_IntSet(nova, "Terrestre", Habilitacoes[playerid][HAB_TERRESTRE]);
                dini_IntSet(nova, "Aerea", Habilitacoes[playerid][HAB_AEREA]);
                dini_IntSet(nova, "Nautica", Habilitacoes[playerid][HAB_NAUTICA]);
                dini_BoolSet(nova, "Preso", Preso[playerid]);
                dini_IntSet(nova, "ConvenioMedico", ConvenioMedico[playerid]);
                dini_IntSet(nova, "Interior", GetPlayerInterior(playerid));
                dini_IntSet(nova, "Pescas", QtPescas[playerid]);
                dini_IntSet(nova, "Cacas", QtCacas[playerid]);
                dini_Set(nova, "Senha", senha[0]);
                dini_Set(nova, "SenhaPadrao", senha[1]);
                dini_Set(novabanco, "SenhaPadrao", senha[2]);
                dini_Set(novabanco, "Senha", senha[3]);
                dini_Set(novabanco, "Saldo", senha[4]);
                dini_Set(conta, "AntiCapsLock", caps);
                dini_IntSet(nova, "Skin", GetPlayerSkin(playerid));
                dini_Remove(casa);
                SendClientMessage(playerid, COR_AMARELO, "(INFO) Aguarde, estamos salvando os dados da sua conta antiga e transferindo para nova!");
                Autorizado[playerid] = 0;
            }
            else
            {
                SendClientMessage(playerid, 0xFF0000AA, "(ERRO) Vocк nгo estб liberado para poder mudar de nick!");
            }
        }
        else
        {
            SendClientMessage(playerid, 0xFF0000AA, "(ERRO) Vocк nгo estб em um cartуrio!");
        }
        return 1;
    }
Galera, esse й o comando de mudar nick. Eu criei um comando que seta uma especie de AntiCapsLock no jogador que eu quiser... e esse comando й assim, lб na conta do jogador tem "AntiCapsLock" se o valor for 1, ta ativado se for 0 ta desativado (obvio dг k) mas o problema й o seguinte, ao mudar de nick, o AntiCapsLock desativa sozinho, isso porque o valor dele nгo e salvo, e setado na conta nova, como й o caso da senha de usuбrio no code acima... nessa parte ae /\ eu ainda sou meio noob, entгo sу olhando o code e tentando entender, eu tentei colocar o valor pra salvar e setar de novo na nova conta...

linhas que acrescentei:
pawn Код:
new caps[64];
----------------
format(caps, sizeof(caps), DIRETORIO, nome(playerid));
----------------
caps [64] = dini_Get(conta, "AntiCapsLock");
----------------
dini_Set(conta, "AntiCapsLock", caps);
Mas estб dando erros, e eu nгo consigo resolver...
error 032: array index out of bounds (variable "caps")
error 006: must be assigned to an array
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

Se alguйm pudesse me ajudar eu ficaria muito grato.
Reply


Messages In This Thread
O que ha de errado aqui? - by HumildadeForevis - 21.06.2013, 16:36
Re: O que ha de errado aqui? - by LordShadow - 21.06.2013, 16:40
Re: O que ha de errado aqui? - by HumildadeForevis - 21.06.2013, 16:44
Re: O que ha de errado aqui? - by LordShadow - 21.06.2013, 16:46
Re: O que ha de errado aqui? - by HumildadeForevis - 21.06.2013, 16:51
Re: O que ha de errado aqui? - by LordShadow - 21.06.2013, 16:56
Re: O que ha de errado aqui? - by HumildadeForevis - 21.06.2013, 17:09
Re: O que ha de errado aqui? - by LordShadow - 21.06.2013, 17:20
Re: O que ha de errado aqui? - by HumildadeForevis - 21.06.2013, 17:54
Re: O que ha de errado aqui? - by -GooGle- - 21.06.2013, 17:58

Forum Jump:


Users browsing this thread: 1 Guest(s)