06.02.2014, 11:07
@EDIT
Acho que isso deve resolver, nгo chequei os codigos deireito, mas tinha alguns erros de escrita apenas.
Isso aн deve resolver(espero ^^):
Acho que isso deve resolver, nгo chequei os codigos deireito, mas tinha alguns erros de escrita apenas.
Isso aн deve resolver(espero ^^):
Код:
//includes #include < a_samp > #include < zcmd > #include < sscanf > #include < dof2 > //defines #define cor_vermelhoescuro 0x8B0000 #define cor_verdeescuro 0x008B00 #define DIALOG_ENTRAR 1 #define DIALOG_REGISTRAR 2 //enum enum enum_jogador { dinheiro, senha, skin, matou, morreu }; //new's new PlayerInfo[MAX_PLAYERS][enum_jogador]; new Erro[MAX_PLAYERS]; public OnGameModeInit() { SetGameModeText("nomeservidor"); //AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1; } public OnGameModeExit() { DOF2_Exit(); return 1; } public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1; } public OnPlayerConnect(playerid) { new nomejogador[128]; new nome[MAX_PLAYER_NAME]; new arquivo[128]; GetPlayerName(playerid, nome, 32); format(arquivo, 40, "Usuarios/%s.ini", nome); if(DOF2_FileExists(arquivo)) { format(nomejogador, sizeof(nomejogador), "Seja bem-vindo novamente, %s! Digite sua senha para entrar no servidor.", GetUserName(playerid)); ShowPlayerDialog(playerid, DIALOG_ENTRAR, DIALOG_STYLE_PASSWORD, "ENTRAR", nomejogador, "Entrar", "Sair"); } else { format(nomejogador, sizeof(nomejogador), "Seja muito bem-vindo ao servidor, %s! Digite sua senha para se registrar no servidor.", GetUserName(playerid)); ShowPlayerDialog(playerid, DIALOG_REGISTRAR, DIALOG_STYLE_PASSWORD, "REGISTRO", nomejogador, "Digite sua senha para se registrar no servidor.", "Registrar", "Sair"); } return 1; } public OnPlayerText(playerid, text[]) { return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == DIALOG_REGISTRAR) { //if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTRAR, DIALOG_STYLE_PASSWORD, "REGISTRO", "Seja muito bem-vindo, %s! Digite sua senha para se registrar no servidor.", "Registrar", "Sair"); if(!strval(inputtext)) return format(nomejogador, sizeof(nomejogador), "Seja muito bem-vindo, %s! Digite sua senha para se registrar no servidor.", GetUserName(playerid)); ShowPlayerDialog(playerid, DIALOG_ENTRAR, DIALOG_STYLE_PASSWORD, "REGISTRO", nomejogador, "Registrar", "Sair"); if(!response) return Kick(playerid); else { PlayerInfo[playerid][Senha] = strval(inputtext); SalvarContas(playerid); //ShowPlayerDialog(playerid, DIALOG_ENTRAR, DIALOG_STYLE_PASSWORD, "ENTRAR", "Seja bem-//vindo, %s! Digite sua senha para entrar no servidor.", "Entrar", "Sair"); new nomejogador[158]; format(nomejogador, sizeof(nomejogador), " Seja bem-//vindo, %s! Digite sua senha para entrar no servidor.", GetUserName(playerid)); ShowPlayerDialog(playerid, DIALOG_ENTRAR, DIALOG_STYLE_PASSWORD, "ENTRAR", nomejogador, "Entrar", "Sair"); } } if(dialogid == DIALOG_LOGAR) { if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Digite apenas nъmeros!\nDigite sua senha cadastrada para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar"); if(!response) return Kick(playerid); else { PlayerInfo[playerid][Senha] = DOF2_GetInt(Contas(playerid), "Senha"); if(strval(inputtext) == PlayerInfo[playerid][Senha]) { PlayerInfo[playerid][Matou] = DOF2_GetInt(Contas(playerid), "Matou"); PlayerInfo[playerid][Morreu] = DOF2_GetInt(Contas(playerid), "Morreu"); PlayerInfo[playerid][Dinheiro] = DOF2_GetInt(Contas(playerid), "Dinheiro"); GivePlayerMoney(playerid, PlayerInfo[playerid][Dinheiro]); } else { SendClientMessage(playerid, cor_vermelhoescuro, "Vocк errou sua senha. Digite-a novamente. Lembrando, que vocк sу pode errar 5 vezes." Erro[playerid]++; if(Erro[playerid] == 5) { SendClientMessage(playerid, cor_vermelhoescuro, "Sua conta estб banida de nosso servidor por ter errado a senha 5 vezes errado. Contate um dos administradores via fуrum."); Ban(playerid); return 1; } } } } return 1; } //stock's stock Contas(playerid) { new arquivo[40], nome[MAX_PLAYER_NAME]; GetPlayerName(playerid, nome, 32); format(arquivo, 40, "Usuarios/%s.ini", nome); return arquivo; } stock SalvarContas(playerid) { if(!DOF2_FileExists(Contas(playerid))) DOF2_CreateFile(Contas(playerid)); else { PlayerInfo[playerid][Dinheiro] = GetPlayerMoney(playerid); DOF2_SetInt(Contas(playerid), "Senha", PlayerInfo[playerid][Senha]); DOF2_SetInt(Contas(playerid), "Matou", PlayerInfo[playerid][Matou]); DOF2_SetInt(Contas(playerid), "Morreu", PlayerInfo[playerid][Morreu]); DOF2_SetInt(Contas(playerid), "Dinheiro", PlayerInfo[playerid][Dinheiro]); DOF2_SaveFile(); } return 1; } stock GetUserName(playerid) { new name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); for(new i = 0; i < MAX_PLAYER_NAME; i++) { if (name[i] == '_') name[i] = ' '; } return name; }