21.07.2012, 09:14
Estou criando um gamemode do 0, mas tem um bug que tб enchendo o saco..
Й assim, o jogador consegue se registrar e logar normalmente, mas, na primeira vez que ele morre, ele abre o dialog do login denovo, ai caso eu digite a senha nгo acontece mais isso comigo..
Pessoal, nгo й possivel mudar oque tem no OnPlayerRequestClass para o OnPlayerConnect, por isso vim aqui pedir outra soluзгo..
Aqui os dialogs:
Й assim, o jogador consegue se registrar e logar normalmente, mas, na primeira vez que ele morre, ele abre o dialog do login denovo, ai caso eu digite a senha nгo acontece mais isso comigo..
Pessoal, nгo й possivel mudar oque tem no OnPlayerRequestClass para o OnPlayerConnect, por isso vim aqui pedir outra soluзгo..
pawn Код:
public OnPlayerConnect(playerid)
{
Spawn[playerid] = 1;
ForceClassSelection(playerid);
LerComandos[playerid] = false;
CLS[playerid] = false;
LerPms[playerid] = true;
PmBlock[playerid] = true;
format(String, sizeof(String), "{00FF00}- {FFFFFF}%s entrou no servidor", PlayerName(playerid));
SendClientMessageToAll(-1, String);
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
return 1;
}
pawn Код:
public OnPlayerSpawn(playerid)
{
if(Spawn[playerid] == 1)
{
Spawn[playerid] = 0;
TextDrawShowForPlayer(playerid, Horario);
TextDrawShowForPlayer(playerid, DATA);
PmBlock[playerid] = false;
KillTimer(Timer01);
SetPlayerHealth(playerid, VMDV);
GetPlayerName(playerid, nome, sizeof(nome));
format(arquivo, sizeof(arquivo), cJ, nome);
SetPlayerSkin(playerid, dini_Int(arquivo, "SkinAtual"));
if(dini_Float(arquivo, "Vida") == 0) return 0x1;
SetPlayerHealth(playerid, dini_Float(arquivo, "Vida"));
SetPlayerArmour(playerid, dini_Float(arquivo, "Colete"));
TempoExpMinuto(playerid);
CDP(playerid);
}
return 1;
}
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
TotalDeVezesMorreu[playerid] ++;
TotalDeVezesMatou[killerid] ++;
return 1;
}
pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
new rand = random(sizeof Camera);
SetPlayerCameraPos(playerid, Camera[rand][0], Camera[rand][1], Camera[rand][2]);
SetPlayerCameraLookAt(playerid, Camera[rand][3], Camera[rand][4], Camera[rand][5]);
SetPVarInt(playerid, "Camera", rand);
Timer01 = SetTimer("Cameras", 5000, true);
TentativasDeLogar[playerid] = 0;
GetPlayerName(playerid, nome, sizeof(nome));
format(arquivo, sizeof(arquivo), cJ, nome);
if(!dini_Exists(arquivo))
{
format(String, sizeof(String), "\n{FFFFFF}Olб, vocк ainda nгo possuн uma conta registrada.\n\nNome: {FF0000}%s\n\n{FFFFFF}Insira uma senha para registrar-se:", nome);
ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_PASSWORD, "{FFFFFF}- Like A Life -", String, "Registrar", "Sair");
}
if(dini_Exists(arquivo))
{
format(String, sizeof(String), "\n{FFFFFF}Olб, vocк jб possuн uma conta registrada.\n\nNome: {FF0000}%s\n\n{FFFFFF}Insira sua senha para logar-se:", nome);
ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_PASSWORD, "{FFFFFF}- Like A Life -", String, "Login", "Sair");
}
return 1;
}
pawn Код:
if(dialogid == DialogSkin)
{
if(response)
{
dini_IntSet(arquivo, "SkinAtual", 0);
SetPlayerSkin(playerid, 0);
}
else
{
dini_IntSet(arquivo, "SkinAtual", 193);
SetPlayerSkin(playerid, 193);
}
}
if(dialogid == DialogRegistro)
{
ForceClassSelection(playerid);
if(!response) ShowPlayerDialog(playerid, DialogSaidaA, DIALOG_STYLE_MSGBOX, "{FFFFFF}- Like A Life -", "\n{FFFFFF}Vocк ainda nгo estб registrado.\n\nTem certeza que deseja sair ?", "Sair", "Voltar");
if(response)
{
if(strlen(inputtext) < 5 || strlen(inputtext) > 20)
{
GetPlayerName(playerid, nome, sizeof(nome));
format(String, sizeof(String), "\n{FFFFFF}Olб, vocк ainda nгo possui uma conta registrada.\n\nNome: {FF0000}%s\n\n{FFFFFF}Insira uma senha para registrar-se:", nome);
return ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_PASSWORD, "{FFFFFF}- Like A Life -", String, "Registrar", "Sair");
}
SpawnPlayer(playerid);
GetPlayerName(playerid, nome, sizeof(nome));
format(arquivo, sizeof(arquivo), cJ, nome);
dini_Create(arquivo);
dini_Set(arquivo, "Senha", inputtext);
dini_IntSet(arquivo, "Dinheiro", 0);
dini_Set(arquivo, "Level", "0");
dini_Set(arquivo, "ExpJogador", "0");
dini_IntSet(arquivo, "LevelProcurado", 0);
dini_FloatSet(arquivo, "Vida", VMDV);
dini_FloatSet(arquivo, "Colete", VMDC);
#if defined CUP
dini_FloatSet(arquivo, "PosX", 0.0);
dini_FloatSet(arquivo, "PosY", 0.0);
dini_FloatSet(arquivo, "PosZ", 0.0);
dini_IntSet(arquivo, "Interior", 0);
dini_IntSet(arquivo, "VirtualWorld", 0);
#endif
dini_IntSet(arquivo, "TotalDeVezesMorreu", 0);
dini_IntSet(arquivo, "TotalDeVezesMatou", 0);
ShowPlayerDialog(playerid, DialogSkin, DIALOG_STYLE_MSGBOX, "{FFFFFF}- Like A Life -", "{FFFFFF}Vocк quer iniciar com um skin {0099FF}homem {FFFFFF}ou {FF00FF}mulher {FFFFFF}?\n{FF0000}* vocк poderб alterar o skin mais tarde", "Homem", "Mulher");
SendClientMessage(playerid, -1, "{DCE2F3}| INFO | Configuraзхes do servidor setadas");
}
}
if(dialogid == DialogLogin)
{
ForceClassSelection(playerid);
if(!response) ShowPlayerDialog(playerid, DialogSaidaB, DIALOG_STYLE_MSGBOX, "{FFFFFF}- Like A Life -", "\n{FFFFFF}Vocк ainda nгo estб logado.\n\nTem certeza que deseja sair ?", "Sair", "Voltar");
if(response)
{
if(strlen(inputtext) < 5 || strlen(inputtext) > 20)
{
GetPlayerName(playerid, nome, sizeof(nome));
format(String, sizeof(String), "\n{FFFFFF}Olб, vocк jб possui uma conta registrada.\n\nNome: {FF0000}%s\n\n{FFFFFF}Insira sua senha para logar-se:", nome);
return ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_PASSWORD, "{FFFFFF}- Like A Life -", String, "Login", "Sair");
}
GetPlayerName(playerid, nome, sizeof(nome));
format(arquivo, sizeof(arquivo), cJ, nome);
if(!strcmp(inputtext, dini_Get(arquivo, "Senha"), Case_Sensitive))
{
CDP(playerid); // Carregar dados player
SpawnPlayer(playerid);
ShowPlayerDialog(playerid, DialogPos, DIALOG_STYLE_LIST, "{FFFFFF}- Like A Life - [ Para onde vocк quer ir ? ]", "Spawn\nЪltima posiзгo salva", "Ok", "");
}
else
{
TentativasDeLogar[playerid] ++;
if(TentativasDeLogar[playerid] <= MTDL)
{
GetPlayerName(playerid, nome, sizeof(nome));
format(String, sizeof(String), "\n{FFFFFF}Olб, vocк ainda nгo possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira uma senha para registrar-se:", nome);
ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_PASSWORD, "{FFFFFF}- Like A Life-", String, "Registrar", "Sair");
format(String, sizeof(String), "~r~Senha incorreta. %d/%d", TentativasDeLogar[playerid], MTDL);
GameTextForPlayer(giveplayerid, String, 100, 1);
format(String, sizeof(String), "\n{FFFFFF}Olб, vocк jб possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira sua senha para logar-se:", nome);
ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_PASSWORD, "{FFFFFF}- Like A Life -", String, "Login", "Sair");
}
if(TentativasDeLogar[playerid] > MTDL)
{
format(String, sizeof(String), "~r~Por questхes de seguranзa foi kickado");
GameTextForPlayer(giveplayerid, String, 3000, 1);
Kick(playerid);
}
}
}
}
if(dialogid == DialogSaidaA)
{
if(response)
{
SendClientMessage(playerid, -1, "{DCE2F3}| INFO | Vocк decidiu sair sem se registrar.");
Kick(playerid);
}
else
{
GetPlayerName(playerid, nome, sizeof(nome));
format(String, sizeof(String), "\n{FFFFFF}Olб, vocк ainda nгo possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira uma senha para registrar-se:", nome);
ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_PASSWORD, "{FFFFFF}- Like A Life -", String, "Registrar", "Sair");
}
}
if(dialogid == DialogSaidaB)
{
if(response)
{
SendClientMessage(playerid, -1, "{DCE2F3}| INFO | Vocк decidiu sair sem logar.");
Kick(playerid);
}
else
{
GetPlayerName(playerid, nome, sizeof(nome));
format(String, sizeof(String), "\n{FFFFFF}Olб, vocк jб possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira sua senha para logar-se:", nome);
ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_PASSWORD, "{FFFFFF}- Like A Life -", String, "Login", "Sair");
}
}