06.05.2015, 23:25
Minha GM JA TEM SISTEMA DE LOGIN , Mais eu queria que quando a pessoa nao tivesse logada aparecia Vocк nao estб logado use /logar ! alguem me ajuda ?
pow mano eu n itendo direito vey , qeria tipo um ja meio q pronto
|
if(condicional)
{
//do something
return 1;
}
//--------------- Includes -------------------//
#include <a_samp>
#include <zcmd>
#include <a_actor>
#include <DOF2>
//--------------- NEWS -----------------------//
new Entrada;
new Erro[MAX_PLAYERS];
new Text:Inicio_Login[13];
//------------ DEFINES ----------------------//
#define DIALOG_LOGAR 1
#define DIALOG_REGISTRO 2
//
enum pInfo //criando o enum
{
pSkin, // Variavel da skin
pSenha // variavel da senha, Lembrando que o Ultimo Item nao precisa da Vнrgula
};
new PlayerInfo[MAX_PLAYERS][pInfo];
public OnGameModeInit()
{
SetGameModeText("Testando");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
Entrada = CreateActor(5, 1962.4869,1340.0339,16.0142,89.8749);
//------------------ TEXT DRAWS --------------------//
Inicio_Login[0] = TextDrawCreate(323.000000, 131.000000, "_");
TextDrawBackgroundColor(Inicio_Login[0], 255);
TextDrawFont(Inicio_Login[0], 1);
TextDrawLetterSize(Inicio_Login[0], 0.200000, 30.000000);
TextDrawColor(Inicio_Login[0], -1);
TextDrawSetOutline(Inicio_Login[0], 0);
TextDrawSetProportional(Inicio_Login[0], 1);
TextDrawSetShadow(Inicio_Login[0], 1);
TextDrawUseBox(Inicio_Login[0], 1);
TextDrawBoxColor(Inicio_Login[0], 120);
TextDrawTextSize(Inicio_Login[0], 550.000000, 35.000000);
TextDrawSetSelectable(Inicio_Login[0], 0);
Inicio_Login[1] = TextDrawCreate(197.000000, 140.000000, "_");
TextDrawBackgroundColor(Inicio_Login[1], 255);
TextDrawFont(Inicio_Login[1], 1);
TextDrawLetterSize(Inicio_Login[1], 0.500000, 1.100000);
TextDrawColor(Inicio_Login[1], -1);
TextDrawSetOutline(Inicio_Login[1], 0);
TextDrawSetProportional(Inicio_Login[1], 1);
TextDrawSetShadow(Inicio_Login[1], 1);
TextDrawUseBox(Inicio_Login[1], 1);
TextDrawBoxColor(Inicio_Login[1], 120);
TextDrawTextSize(Inicio_Login[1], 316.000000, 0.000000);
TextDrawSetSelectable(Inicio_Login[1], 0);
Inicio_Login[2] = TextDrawCreate(197.000000, 165.000000, "_");
TextDrawBackgroundColor(Inicio_Login[2], 255);
TextDrawFont(Inicio_Login[2], 1);
TextDrawLetterSize(Inicio_Login[2], 0.500000, 1.100000);
TextDrawColor(Inicio_Login[2], -1);
TextDrawSetOutline(Inicio_Login[2], 0);
TextDrawSetProportional(Inicio_Login[2], 1);
TextDrawSetShadow(Inicio_Login[2], 1);
TextDrawUseBox(Inicio_Login[2], 1);
TextDrawBoxColor(Inicio_Login[2], 120);
TextDrawTextSize(Inicio_Login[2], 316.000000, 0.000000);
TextDrawSetSelectable(Inicio_Login[2], 0);
Inicio_Login[3] = TextDrawCreate(197.000000, 190.000000, "_");
TextDrawBackgroundColor(Inicio_Login[3], 255);
TextDrawFont(Inicio_Login[3], 1);
TextDrawLetterSize(Inicio_Login[3], 0.500000, 1.100000);
TextDrawColor(Inicio_Login[3], -1);
TextDrawSetOutline(Inicio_Login[3], 0);
TextDrawSetProportional(Inicio_Login[3], 1);
TextDrawSetShadow(Inicio_Login[3], 1);
TextDrawUseBox(Inicio_Login[3], 1);
TextDrawBoxColor(Inicio_Login[3], 120);
TextDrawTextSize(Inicio_Login[3], 316.000000, 0.000000);
TextDrawSetSelectable(Inicio_Login[3], 0);
Inicio_Login[4] = TextDrawCreate(197.000000, 215.000000, "_");
TextDrawBackgroundColor(Inicio_Login[4], 255);
TextDrawFont(Inicio_Login[4], 1);
TextDrawLetterSize(Inicio_Login[4], 0.500000, 1.100000);
TextDrawColor(Inicio_Login[4], -1);
TextDrawSetOutline(Inicio_Login[4], 0);
TextDrawSetProportional(Inicio_Login[4], 1);
TextDrawSetShadow(Inicio_Login[4], 1);
TextDrawUseBox(Inicio_Login[4], 1);
TextDrawBoxColor(Inicio_Login[4], 120);
TextDrawTextSize(Inicio_Login[4], 316.000000, 0.000000);
TextDrawSetSelectable(Inicio_Login[4], 0);
Inicio_Login[5] = TextDrawCreate(196.000000, 139.000000, "Logar/Registrar");
TextDrawBackgroundColor(Inicio_Login[5], 255);
TextDrawFont(Inicio_Login[5], 1);
TextDrawLetterSize(Inicio_Login[5], 0.480000, 1.300000);
TextDrawColor(Inicio_Login[5], -1);
TextDrawSetOutline(Inicio_Login[5], 0);
TextDrawSetProportional(Inicio_Login[5], 1);
TextDrawSetShadow(Inicio_Login[5], 1);
TextDrawUseBox(Inicio_Login[5], 1);
TextDrawBoxColor(Inicio_Login[5], -256);
TextDrawTextSize(Inicio_Login[5], 316.000000, 10.000000);
TextDrawSetSelectable(Inicio_Login[5], 1);
Inicio_Login[6] = TextDrawCreate(233.000000, 164.000000, "Regras");
TextDrawBackgroundColor(Inicio_Login[6], 255);
TextDrawFont(Inicio_Login[6], 1);
TextDrawLetterSize(Inicio_Login[6], 0.480000, 1.300000);
TextDrawColor(Inicio_Login[6], -1);
TextDrawSetOutline(Inicio_Login[6], 0);
TextDrawSetProportional(Inicio_Login[6], 1);
TextDrawSetShadow(Inicio_Login[6], 1);
TextDrawUseBox(Inicio_Login[6], 1);
TextDrawBoxColor(Inicio_Login[6], -256);
TextDrawTextSize(Inicio_Login[6], 284.000000, 10.000000);
TextDrawSetSelectable(Inicio_Login[6], 1);
Inicio_Login[7] = TextDrawCreate(227.000000, 188.000000, "Creditos");
TextDrawBackgroundColor(Inicio_Login[7], 255);
TextDrawFont(Inicio_Login[7], 1);
TextDrawLetterSize(Inicio_Login[7], 0.480000, 1.300000);
TextDrawColor(Inicio_Login[7], -1);
TextDrawSetOutline(Inicio_Login[7], 0);
TextDrawSetProportional(Inicio_Login[7], 1);
TextDrawSetShadow(Inicio_Login[7], 1);
TextDrawUseBox(Inicio_Login[7], 1);
TextDrawBoxColor(Inicio_Login[7], -256);
TextDrawTextSize(Inicio_Login[7], 291.000000, 10.000000);
TextDrawSetSelectable(Inicio_Login[7], 1);
Inicio_Login[8] = TextDrawCreate(242.000000, 213.000000, "Sair");
TextDrawBackgroundColor(Inicio_Login[8], 255);
TextDrawFont(Inicio_Login[8], 1);
TextDrawLetterSize(Inicio_Login[8], 0.480000, 1.300000);
TextDrawColor(Inicio_Login[8], -1);
TextDrawSetOutline(Inicio_Login[8], 0);
TextDrawSetProportional(Inicio_Login[8], 1);
TextDrawSetShadow(Inicio_Login[8], 1);
TextDrawUseBox(Inicio_Login[8], 1);
TextDrawBoxColor(Inicio_Login[8], -256);
TextDrawTextSize(Inicio_Login[8], 273.000000, 10.000000);
TextDrawSetSelectable(Inicio_Login[8], 1);
Inicio_Login[9] = TextDrawCreate(346.000000, 128.000000, "Brasil Mega City DM");
TextDrawBackgroundColor(Inicio_Login[9], 255);
TextDrawFont(Inicio_Login[9], 1);
TextDrawLetterSize(Inicio_Login[9], 0.529999, 1.800000);
TextDrawColor(Inicio_Login[9], -1);
TextDrawSetOutline(Inicio_Login[9], 0);
TextDrawSetProportional(Inicio_Login[9], 1);
TextDrawSetShadow(Inicio_Login[9], 1);
TextDrawSetSelectable(Inicio_Login[9], 0);
Inicio_Login[10] = TextDrawCreate(316.000000, 151.000000, "~y~ Atualizacoes ~n~ ~n~ 00/00/00");
TextDrawBackgroundColor(Inicio_Login[10], 255);
TextDrawFont(Inicio_Login[10], 1);
TextDrawLetterSize(Inicio_Login[10], 0.500000, 1.000000);
TextDrawColor(Inicio_Login[10], -1);
TextDrawSetOutline(Inicio_Login[10], 0);
TextDrawSetProportional(Inicio_Login[10], 1);
TextDrawSetShadow(Inicio_Login[10], 1);
TextDrawSetSelectable(Inicio_Login[10], 0);
Inicio_Login[11] = TextDrawCreate(322.000000, 183.000000, "Crocodilo Bolado~n~X1 HARD~n~COCOZUDO~n~Novos Sistemas De TAL TAL");
TextDrawBackgroundColor(Inicio_Login[11], 255);
TextDrawFont(Inicio_Login[11], 1);
TextDrawLetterSize(Inicio_Login[11], 0.509999, 1.600000);
TextDrawColor(Inicio_Login[11], -1);
TextDrawSetOutline(Inicio_Login[11], 0);
TextDrawSetProportional(Inicio_Login[11], 1);
TextDrawSetShadow(Inicio_Login[11], 1);
TextDrawSetSelectable(Inicio_Login[11], 0);
Inicio_Login[12] = TextDrawCreate(323.000000, 388.000000, "~y~OBS~w~: Todas Atualizacoes Feitas Serao Postadas Aki");
TextDrawBackgroundColor(Inicio_Login[12], 255);
TextDrawFont(Inicio_Login[12], 1);
TextDrawLetterSize(Inicio_Login[12], 0.270000, 1.700000);
TextDrawColor(Inicio_Login[12], -1);
TextDrawSetOutline(Inicio_Login[12], 0);
TextDrawSetProportional(Inicio_Login[12], 1);
TextDrawSetShadow(Inicio_Login[12], 1);
TextDrawSetSelectable(Inicio_Login[12], 0);
return 1;
}
public OnGameModeExit()
{
DOF2_Exit();
}
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)
{
SelectTextDraw(playerid, 0x00FF00FF);
TextDrawShowForPlayer(playerid, Inicio_Login[0]);
TextDrawShowForPlayer(playerid, Inicio_Login[1]);
TextDrawShowForPlayer(playerid, Inicio_Login[2]);
TextDrawShowForPlayer(playerid, Inicio_Login[3]);
TextDrawShowForPlayer(playerid, Inicio_Login[4]);
TextDrawShowForPlayer(playerid, Inicio_Login[5]);
TextDrawShowForPlayer(playerid, Inicio_Login[6]);
TextDrawShowForPlayer(playerid, Inicio_Login[7]);
TextDrawShowForPlayer(playerid, Inicio_Login[8]);
TextDrawShowForPlayer(playerid, Inicio_Login[9]);
TextDrawShowForPlayer(playerid, Inicio_Login[10]);
TextDrawShowForPlayer(playerid, Inicio_Login[11]);
TextDrawShowForPlayer(playerid, Inicio_Login[12]);
}
public OnPlayerDisconnect(playerid, reason)
{
new arquivo[40], rnome[40]; // variavel arquivo
GetPlayerName(playerid, rnome, MAX_PLAYER_NAME);
format(arquivo, 40, "Jogadores/%s.ini", rnome); // Formata o arquivo que existe na pasta Jogadores
if(DOF2_FileExists(arquivo)) // se o arquivo existir
{
DOF2_SetInt(arquivo, "Senha", PlayerInfo[playerid][pSenha]);
DOF2_SetInt(arquivo, "Skin", PlayerInfo[playerid][pSkin]); // seta a skin para o id da skin atual
DOF2_SaveFile(); // finalmente salvando o arquivo
}
}
public OnPlayerSpawn(playerid)
{
SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); // Seta a skin do player quando ele spawnar para a skin salva
TextDrawHideForPlayer(playerid, Inicio_Login[0]);
TextDrawHideForPlayer(playerid, Inicio_Login[1]);
TextDrawHideForPlayer(playerid, Inicio_Login[2]);
TextDrawHideForPlayer(playerid, Inicio_Login[3]);
TextDrawHideForPlayer(playerid, Inicio_Login[4]);
TextDrawHideForPlayer(playerid, Inicio_Login[5]);
TextDrawHideForPlayer(playerid, Inicio_Login[6]);
TextDrawHideForPlayer(playerid, Inicio_Login[7]);
TextDrawHideForPlayer(playerid, Inicio_Login[8]);
TextDrawHideForPlayer(playerid, Inicio_Login[9]);
TextDrawHideForPlayer(playerid, Inicio_Login[10]);
TextDrawHideForPlayer(playerid, Inicio_Login[11]);
TextDrawHideForPlayer(playerid, Inicio_Login[12]);
CancelSelectTextDraw(playerid);
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_SUBMISSION)
{
SelectTextDraw(playerid, 0xFF4040AA);
}
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new arquivo[40], rnome[40]; // variavel arquivo
GetPlayerName(playerid, rnome, MAX_PLAYER_NAME);
format(arquivo, 40, "Jogadores/%s.ini", rnome); // formatando o arquivo para a pasta Jogadores
if(dialogid == DIALOG_REGISTRO) // Dialog registro
{
if(!strval(inputtext)) // se ele nao digitar numeros da erro e volta no dialog de registro
{
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{00FF00}[{00FF00}B{00FF00}B{FFFF00}S{FFFF00}]{FFFFFF} - Registro", "Status da conta : Nгo Registrada\n digite uma senha para se registrar!", "Registrar", "Cancelar");
SendClientMessage(playerid, -1, "[Brasil Mega City DM] Erro, Digite apenas nъmeros para se registrar.");
return 1;
}
if(!response)
{
Kick(playerid);
return 1;
}
else // se ele colocar a senha certa cria os arquivos
{
PlayerInfo[playerid][pSenha] = strval(inputtext); // pega a senha que ele digitou no campo do dialog
DOF2_CreateFile(arquivo); // cria o arquivo na pasta Jogadores
DOF2_SetInt(arquivo, "Senha", PlayerInfo[playerid][pSenha]); // seta a senha para a que ele digitou no dialog
DOF2_SetInt(arquivo, "Skin", 230); // seta a skin dele para 23, podendo mudar para qualquer numero.
DOF2_SaveFile(); // salva o arquivo
SendClientMessage(playerid, -1, "[Brasil Mega City DM] Sua Conta foi Registrada, Agora digite sua senha novamente para logar!");
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{00FF00}[{00FF00}B{00FF00}B{FFFF00}S{FFFF00}]{FFFFFF} - Login", "Status da conta : Registrada\n digite sua senha para logar!\nSe errar 5 vezes sua conta serб banida!", "Logar", "Cancelar");
}
}
if(dialogid == DIALOG_LOGAR)
{
if(!strval(inputtext)) // se ele nao digitar apenas numeros volta o dialog de login
{
SendClientMessage(playerid, -1, "[Brasil Mega City DM] Erro, Digite apenas nъmeros para se logar.");
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{00FF00}[{00FF00}B{00FF00}B{FFFF00}S{FFFF00}]{FFFFFF} - Login", "Status da conta : Registrada\n digite sua senha para logar!\nSe errar 5 vezes sua conta serб banida!", "Logar", "Cancelar");
return 1;
}
if(!response) // se ele clickar em Cancelar kicka ele !
{
Kick(playerid);
return 1;
}
else // Se ele colocar a senha certa
{
PlayerInfo[playerid][pSenha] = DOF2_GetInt(arquivo, "Senha"); // pega a senha salva dele
if(strval(inputtext) == PlayerInfo[playerid][pSenha]) // pega a senha que ele digitou
{
PlayerInfo[playerid][pSkin] = DOF2_GetInt(arquivo, "Skin"); // pega a skin do player
SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); // seta a skin do player para a skin salva
SpawnPlayer(playerid); // em seguida, spawna o player
}
else // se ele errar a senha mostra o dialog denovo
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{00FF00}[{00FF00}B{00FF00}B{FFFF00}S{FFFF00}]{FFFFFF} - Login", "Status da conta : Registrada\n digite sua senha para logar!\nSe errar 5 vezes sua conta serб banida!", "Logar", "Cancelar");
Erro[playerid]++; // e adiciona 1 erro
if(Erro[playerid] == 5) // se ele errar 5 vezes ele serб banido !
{
SendClientMessage(playerid, -1, "Sua conta estб banida por errar 5 vezes a sua senha, contacte o Admin para retirar seu Ban!");
Ban(playerid);
return 1;
}
}
}
}
return 1;
}
//Comandos
CMD:dance(playerid, params[])
{
SendClientMessage(playerid, 0x1E90FFFF,"O Admin Colocou Para Todos Anins Danзarem");
ApplyActorAnimation(Entrada,"STRIP", "strip_A", 4.1, 1, 1, 1, 1, 1 );
return 1;
}
//
public OnPlayerClickTextDraw(playerid, Text:clickedid){
if(clickedid == Inicio_Login[5])
{
new arquivo[40], rnome[40]; // variavel arquivo
GetPlayerName(playerid, rnome, MAX_PLAYER_NAME);
format(arquivo, 40, "Jogadores/%s.ini", rnome); // formata a string arquivo e cria um arquivo na pasta "Jogadores"
if(DOF2_FileExists(arquivo)) // se tiver registrado
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{00FF00}[{00FF00}B{00FF00}B{FFFF00}S{FFFF00}]{FFFFFF} - Login", "Status da conta : Registrada\n digite sua senha para logar!\nSe errar 5 vezes sua conta serб banida!", "Logar", "Cancelar");
}
else // se nao tiver registrado
{
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "{00FF00}[{00FF00}B{00FF00}B{FFFF00}S{FFFF00}]{FFFFFF} - Registro", "Status da conta : Nгo Registrada\n digite uma senha para se registrar!", "Registrar", "Cancelar");
}
}
if(clickedid == Inicio_Login[6])
{
SendClientMessage(playerid, 0x1E90FFFF,"Ainda Nao Tem Regras");
}
if(clickedid == Inicio_Login[7])
{
SendClientMessage(playerid, 0x1E90FFFF,"Ainda Nao Tem Creditos");
}
if(clickedid == Inicio_Login[8])
{
SendClientMessage(playerid, 0x1E90FFFF,"Voce Resolveu Sair");
Kick(playerid);
}
return 1;
}
new bool:Logado[MAX_PLAYERS];
if(!Logado[playerid]) return ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{00FF00}[{00FF00}B{00FF00}B{FFFF00}S{FFFF00}]{FFFFFF} - Login", "Status da conta : Registrada\n digite sua senha para logar!\nSe errar 5 vezes sua conta serб banida!", "Logar", "Cancelar");