27.01.2013, 03:06
Bom galera, apуs meu tуpico anterior, decidi refazer meu sistema de registro, salvando todos os dados do player em um arquivo sу e salvando as ORGs tudo junto ...
Enfim, estб dando alguns erros nessa parte do Script:
Os erros sгo os seguintes:
Linhas ( sempre a do meio )
Erro na chave do meio.
Erro na ъltima Chave.
Desde jб agradeзo a todos !
Abraзo. ShadoW
Enfim, estб dando alguns erros nessa parte do Script:
PHP Code:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
GetPlayerName(playerid, name, 32); //Para pegar o nome do playerid
format(arquivo, 40, "Contas/%s.ini", name); //Formata o arquivo com o nome do playerid
if(dialogid == DIALOG_REGISTRO)
{
if(!strval(inputtext)) //Verifica se o player digitou LETRAS, caso for true
{ //Retorna a dialog de registro novamente para ele digitar NЪMEROS
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Digite apenas nъmeros!\nDigite sua senha novamente para se registrar!", "Confirma", "Cancelar");
return 1;
}
if(!response) //Verifica se ele clicar em 'Cancelar"
{ //Caso ele clicar em cancelar, irб retornar ao playerid KICK
Kick(playerid);
return 1;
}
else //Verifica se ele Confirma o Registro
{ //Caso for true, ira criar o arquivo na pasta CONTAS
Player[playerid][Senha] = strval(inputtext); //Player[playerid][Senha] vai ser igual ao que ele digitar na dialog Registro
DOF2_CreateFile(arquivo); //Vai criar o arquvivo na pasta Contas
DOF2_SetInt(arquivo, "Nick", Player[playerid][Nick]);
DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
DOF2_SetInt(arquivo, "Sexo", Player[playerid][Sexo]);
DOF2_SetInt(arquivo, "Nivel", Player[playerid][Nivel]);
DOF2_SetInt(arquivo, "Skin", Player[playerid][Skin]);
DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]);
DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
DOF2_SetInt(arquivo, "HorasJogadas", Player[playerid][HorasJogadas]);
DOF2_SetInt(arquivo, "Organizacao", Player[playerid][Organizacao]);
DOF2_SetInt(arquivo, "Cargo", Player[playerid][Cargo]);
DOF2_SetInt(arquivo, "Emprego", Player[playerid][Emprego]);
DOF2_SetInt(arquivo, "AdminLevel", Player[playerid][AdminLevel]);
DOF2_SetInt(arquivo, "Helper", Player[playerid][Helper]);
DOF2_SetInt(arquivo, "VIP", Player[playerid][Helper]);
DOF2_SaveFile(); //E finalmente salvando o arquivo, sem essa funзгo o arquivo nгo serб salvo!
//Retornando a dialog de Login ao player no final para ele logar no server
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк se cadastrou, agora й sу logar com sua senha registrada!", "Confirma", "Cancelar");
}
}
if(dialogid == DIALOG_LOGAR)
{
if(!strval(inputtext)) //Verifica se o player digitou letras, caso for true
{ //Retorna a dialog de Login novamente para ele digitar NЪMEROS
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Digite apenas nъmeros!\nDigite sua senha cadastrada para logar!\nSe errar 5 vezes vocк serб kickado !", "Confirma", "Cancelar");
return 1;
}
if(!response) //Verifica se ele clicar em 'Cancelar"
{ //Caso ele clicar em cancelar, irб retornar ao playerid KICK
Kick(playerid);
return 1;
}
else //Verifica se ele Confirma o Login
{ //Caso for true, ira verificar se o que ele digitar serб a mesma senha que ele se registrou anteriormente
Player[playerid][Senha] = DOF2_GetInt(arquivo, "Senha"); //Pega a senha do jogador no arquivo da conta
if(strval(inputtext) == Player[playerid][Senha]) //Se o que ele digitar for igual ao valor que carregou aqui em cima /\
{
Player[playerid][Matou] = DOF2_GetInt(arquivo, "Matou"); //Pega quantos ele matou no arquivo
Player[playerid][Morreu] = DOF2_GetInt(arquivo, "Morreu"); //Pega quantos ele morreu no arquivo
Player[playerid][Dinheiro] = DOF2_GetInt(arquivo, "Dinheiro"); //Pega o dinheiro e iguala ao Player[playerid][Dinheiro]
Player[playerid][Nivel] = DOF2_GetInt(arquivo, "Nivel", Player[playerid][Nivel]);
Player[playerid][Organizacao] = DOF2_GetInt(arquivo, "Organizacao", Player[playerid][Organizacao]);
Player[playerid][Cargo] = DOF2_GetInt(arquivo, "Cargo", Player[playerid][Cargo]);
Player[playerid][Emprego] = DOF2_GetInt(arquivo, "Emprego", Player[playerid][Emprego]);
Player[playerid][AdminLevel] = DOF2_GetInt(arquivo, "AdminLevel", Player[playerid][AdminLevel]);
Player[playerid][Helper] = DOF2_GetInt(arquivo, "Helper", Player[playerid][Helper]);
Player[playerid][Nick] = DOF2_GetInt(arquivo, "Nick", Player[playerid][Nick]);
Player[playerid][VIP] = DOF2_GetInt(arquivo, "VIP", Player[playerid][VIP]);
Player[playerid][Skin] = DOF2_GetInt(arquivo, "Skin", Player[playerid][Skin]);
SetPlayerName(playerid, Player[playerid][Nick]);
SetPlayerSkin(playerid, Player[playerid][Skin]);
SetPlayerScore(playerid, Player[playerid][Nivel]);
GivePlayerMoney(playerid, Player[playerid][Dinheiro]);
DOF2_GetInt(arquivo, "Sexo", Player[playerid][Sexo]);
DOF2_GetInt(arquivo, "HorasJogadas", Player[playerid][HorasJogadas]);
SpawnPlayer(playerid); //Spawna o player
}
if(strval(inputtext) != Player[playerid][Senha])
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк digitou sua senha errado, digite-a novamente para logar!\nSe errar 5 vezes vocк serб kickado !", "Confirma", "Cancelar");
Erro[playerid]++; //O erro vai aumentar cada vez que ele errar
if(Erro[playerid] == 5) //Quando chegar а 5 vezes, irб retornar a msg e o Ban
{
SendClientMessage(playerid, -1, "Vocк foi kickado por errar a senha por mais de 5 vezes !");
Kick(playerid);
}
}
}
return 1;
}
}
Code:
C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(106) : error 049: invalid line continuation C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(108) : warning 217: loose indentation C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(127) : warning 217: loose indentation C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(138) : warning 217: loose indentation C:\Documents and Settings\Geral\Meus documentos\Downloads\samp03e_svr_R2_win32\pawno\Sistema Registro.pwn(140) : error 054: unmatched closing brace ("}") Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 2 Errors.
PHP Code:
if(strval(inputtext) == Player[playerid][Senha]) //Se o que ele digitar for igual ao valor que carregou aqui em cima /\
{
Player[playerid][Matou] = DOF2_GetInt(arquivo, "Matou"); //Pega quantos ele matou no arquivo
PHP Code:
}
}
Desde jб agradeзo a todos !
Abraзo. ShadoW