PDA

View Full Version : [AJUDA] Comando parando os outros cmds


Rodrigo.
28/12/2011, 12:22 AM
Galera tipo, criei um comando no sacrificio para mudar o nome do player salvando tudo dele.
Mais quando eu troco de nome, os comandos do servidor para e ele não seta o novo nome nem atualiza na pasta de contas :/
Alguem pode me ajudar?
Comando do /mudarnome:


if(strcmp(cmd, "/mudarnome", 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: /mudarnome [Nome]");
return 1;
}
new diretorio[24], casa[64], IP[24], link[3][256];
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, "{FF0000}[ ? ]{FFFFFF} Já existe uma conta criada com esse nome!");
return 1;
}
format(conta, sizeof(conta), DIRETORIO, nome(playerid));
format(banco, sizeof(banco), BANCO, nome(playerid));
link[0] = dini_Get(conta, "NumeroVeiculo1");
link[1] = dini_Get(conta, "NumeroVeiculo2");
link[2] = dini_Get(conta, "NumeroVeiculo3");
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");
format(casa, sizeof(casa), "/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, "X", "385.9860");
dini_Set(nova, "Y", "-1528.2870");
dini_Set(nova, "Z", "32.2734");
dini_Set(nova, "A", "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(nova, "NumeroVeiculo1", link[0]);
dini_Set(nova, "NumeroVeiculo2", link[1]);
dini_Set(nova, "NumeroVeiculo3", link[2]);
dini_IntSet(nova, "Skin", GetPlayerSkin(playerid));
dini_Remove(casa);
SendClientMessage(playerid, COR_AMARELO, "{00FF00}[ ! ]{FFFFFF} Aguarde, estamos salvando os dados da sua conta antiga e transferindo para nova!");
Autorizado[playerid] = 0;
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "{FF0000}[ ? ]{FFFFFF} Você não está liberado para poder mudar de nome!");
}
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "{FF0000}[ ? ]{FFFFFF} Você não está em um cartório!");
}
return 1;
}


+REP pra quem conseguir resolver :/

Ja tentei de tudo e não consigo :/

ViniBorn
28/12/2011, 04:32 AM
Se já tem um arquivo, não tem necessidade de setar tudo novamente, pois os dados já estarão armazenados.

Basta renomear o arquivo.
frename(nomeantigo, nomenovo);