24.07.2010, 20:37
pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
new string[256];
if(pap_JogadorRegistrado(playerid))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof string, "Bem vindo(a) de volta ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Conta", string, "Logar!", "Cancelar.");
}
if(!pap_JogadorRegistrado(playerid))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof string, "Bem vindo(a) ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Conta", string, "Registrar", "Cancelar.");
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new string[128];
if(dialogid == REGISTRO)
{
if(!response)
{
SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк cancelou o registro!");
Kick(playerid);
return 1;
}
if(!strlen(inputtext))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof string, "Bem vindo(a) ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Conta", string, "Registrar", "Cancelar.");
return 1;
}
if(strlen(inputtext) > 64)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof string, "Bem vindo(a) ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Conta", string, "Registrar", "Cancelar.");
return 1;
}
new senha[MAX_PCOD_CHAR];
psf_CopiarStr(senha, inputtext); // Copiando a senha que o jogador digitou (de inputtext) para a variбvel 'senha'
if(pap_IniciarConta(playerid, senha)) // Certo, a funзгo pap_IniciarConta retornou a 1, sendo assim podemos salvar os dados que queremos, jб que a conta foi iniciada!
{
new
ip[18];
PLAYERLIST_authed[playerid] = 1;
GetPlayerIp(playerid, ip, sizeof(ip));
pap_SalvarInt(playerid, "Skin", 28);
pap_SalvarInt(playerid, "Dinheiro_bolso", 0);
pap_SalvarInt(playerid, "Dinheiro_banco", 10000);
pap_SalvarInt(playerid, "Matou", 0);
pap_SalvarInt(playerid, "Morreu", 0);
pap_SalvarInt(playerid, "Preso", 0);
pap_SalvarInt(playerid, "Luta", FIGHT_STYLE_NORMAL);
pap_SalvarInt(playerid, "Procurado", 0);
pap_SalvarInt(playerid, "Haerea", 0);
pap_SalvarInt(playerid, "Hterrestre", 0);
pap_SalvarInt(playerid, "Hnautica", 0);
pap_SalvarInt(playerid, "Porte", 0);
pap_SalvarFloat(playerid, "X", -1757.9701);
pap_SalvarFloat(playerid, "Y", 960.9874);
pap_SalvarFloat(playerid, "Z", 24.8828);
pap_SalvarFloat(playerid, "Ang", 180.0000);
pap_SalvarStr(playerid, "IP", ip);
pap_SalvarFloat(playerid, "Vida", 100.0);
Petrol[playerid] = 100;
pap_SalvarInt(playerid, "Combustivel", Petrol[playerid]);
Profissao[playerid] = 0;
pap_SalvarInt(playerid, "Profissao", Profissao[playerid]);
Level[playerid] = 0;
pap_SalvarInt(playerid, "Level", Level[playerid]);
Experiencia[playerid] = 0;
pap_SalvarInt(playerid, "Experiencia", Experiencia[playerid]);
SetSpawnInfo(playerid, 1, pap_CarregarInt(playerid, "Skin"), pap_CarregarFloat(playerid, "X"), pap_CarregarFloat(playerid, "Y"), pap_CarregarFloat(playerid, "Z"), pap_CarregarFloat(playerid, "Ang"), 0, 0, 0, 0, 0, 0);
// carrega as informaзхes (skin, x, y, z, ang) salvas no arquivo, se quiser aumentar a eficiкncia, coloque a skin e as cordenadas diretamente.
SpawnPlayer(playerid);
SetPlayerColor(playerid, COLOR_DESEMPREGADO);
SendClientMessage(playerid, COLOR_GREEN, "Registrado e logado.");
SendClientMessage(playerid, COLOR_GREEN, "Vocк tкm $10000 no banco para comeзar a viver e 100 de combustнvel.");
SendClientMessage(playerid, COLOR_GREEN, "Digite /ajuda para ver os comandos basicos.");
SendClientMessage(playerid, COLOR_GREEN, "Digite /tutorial para aprender a jogar.");
printf("O jogador %s (ID %d) acabou de se registrar",PlayerName(playerid),playerid);
}
}
else if(dialogid == LOGIN)
{
if(!response)
{
SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк cancelou o login!");
Kick(playerid);
return 1;
}
if(!strlen(inputtext))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof string, "Bem vindo(a) de volta ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Conta", string, "Logar!", "Cancelar.");
return 1;
}
if(strlen(inputtext) > 64)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof string, "Bem vindo(a) de volta ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Conta", string, "Logar!", "Cancelar.");
return 1;
}
new senha[MAX_PCOD_CHAR];
psf_CopiarStr(senha, inputtext); // Copiando a senha que o jogador digitou (de inputtext) para a variбvel 'senha'
if(pap_VerificarSenha(playerid, senha))
{
PLAYERLIST_authed[playerid] = 1;
LogarPlayer(playerid);
printf("O jogador %s (ID %d) acabou de se logar", PlayerName(playerid), playerid);
}
else
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof string, "Bem vindo(a) de volta ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Conta", string, "Logar!", "Cancelar.");
}
}
//Tem umas outras dialogs aqui, mais sгo do meu sistema de Luta. . .