[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
#2

Troque
pawn Код:
caps [64] = dini_Get(conta, "AntiCapsLock");
Por
pawn Код:
caps = dini_Get(conta, "AntiCapsLock");
Reply
#3

Quote:
Originally Posted by LordShadow
Посмотреть сообщение
Troque
pawn Код:
caps [64] = dini_Get(conta, "AntiCapsLock");
Por
pawn Код:
caps = dini_Get(conta, "AntiCapsLock");
Agora: : error 047: array sizes do not match, or destination array is too small
Reply
#4

Tenta assim entгo:

pawn Код:
caps[64] = dini_Get(conta, "AntiCapsLock");
Reply
#5

Quote:
Originally Posted by LordShadow
Посмотреть сообщение
Tenta assim entгo:

pawn Код:
caps[64] = dini_Get(conta, "AntiCapsLock");
error 033: array must be indexed (variable "caps")
Reply
#6

Comeзe a postar a linha de onde estб dando os erros e.e
Reply
#7

Quote:
Originally Posted by LordShadow
Посмотреть сообщение
Comeзe a postar a linha de onde estб dando os erros e.e
What? como eu olho isso?

Quando da erro sу aparece isso:
D:\Users\--------\Desktop\----------------------\gamemodes\--RPG.pwn(6472) : error 047: array sizes do not match, or destination array is too small
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


1 Error.
Reply
#8

(6472)

A linha ai vйi

posta a linha
Reply
#9

Quote:
Originally Posted by LordShadow
Посмотреть сообщение
(6472)

A linha ai vйi

posta a linha
Cara vou postar o code todo:
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 = 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;
    }
As linhas verdes sгo as modificaзхes que fiz com base no que eu entendi, que culminou os erros...
Reply
#10

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[150];
                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 = 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;
    }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)