07.01.2013, 21:31
pawn Код:
#include <a_samp>
#include <YSI\y_ini>
#include <YSI\y_iterate>
#include <sscanf2>
#include <streamer>
#include <zcmd>
#include <geolocation>
#include <strlib>
pawn Код:
//... OnDialogResponse
if(dialogid == dregister)
{
if(!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,dregister,DIALOG_STYLE_INPUT,"Register","Welcome! This account is not registered.\nEnter your own password to create a new account.\nPlease enter the password!","Register","Quit");
}
else
{
new hashpass[129];
WP_Hash(hashpass,sizeof(hashpass),inputtext);
new INI:file = INI_Open(Path(playerid));
INI_SetTag(file,"data");
INI_WriteString(file,"Password",hashpass);
INI_WriteInt(file,"Admin",PlayerInfo[playerid][Admin] = 0);
INI_WriteInt(file,"Donator",PlayerInfo[playerid][Donator] = 0);
INI_WriteInt(file,"Money",PlayerInfo[playerid][Money] = 0);
INI_WriteInt(file,"Level",PlayerInfo[playerid][Level] = 0);
INI_WriteInt(file,"Kills",PlayerInfo[playerid][Kills] = 0);
INI_WriteInt(file,"Deaths",PlayerInfo[playerid][Deaths] = 0);
INI_WriteInt(file,"Registered",PlayerInfo[playerid][Registered] = 0);//
INI_WriteInt(file,"MaskOwned",PlayerInfo[playerid][MaskOwned] = 0);
INI_WriteInt(file,"Jailed",PlayerInfo[playerid][Jailed] = 0);
INI_WriteInt(file,"JailedTime",PlayerInfo[playerid][JailedTime] = 0);
INI_WriteInt(file,"Faction",PlayerInfo[playerid][Faction] = 0);
INI_WriteInt(file,"FactionRank",PlayerInfo[playerid][FactionRank] = 0);
INI_WriteInt(file,"BanAppealMod",PlayerInfo[playerid][BanAppealMod] = 0);
INI_WriteInt(file,"Health", 100);
INI_WriteInt(file,"Banned",PlayerInfo[playerid][Banned] = 0);
INI_Close(file);
ServerInfo[TotalRegisteredPlayers]++;
ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX,"Register","Thank you for registering at Los Santos Life Roleplay.\nWe hope you enjoy your stay here.\nBefore we commence, you will need to do an RP quiz.","Let's go!","Fuck this shite!");
}
return 1;
}
}
else if(dialogid == dlogin)
{
if(!response) return Kick(playerid);
if(response)
{
new HashPass[129];
WP_Hash(HashPass, sizeof(HashPass), inputtext);
if(strcmp(HashPass, PlayerInfo[playerid][Pass]) == 0)
{
INI_ParseFile(Path(playerid),"loadaccount_%s",.bExtra = true, .extra = playerid);
new string[128], country[256], city[256];
GetPlayerCity(playerid, city, sizeof(city));
GetPlayerCountry(playerid, country, sizeof(country));
SetPlayerScore(playerid,PlayerInfo[playerid][Level]);
GivePlayerMoney(playerid,PlayerInfo[playerid][Money]);
SetPlayerHealth(playerid, PlayerInfo[playerid][Health]);
SetPlayerArmour(playerid, PlayerInfo[playerid][Armour]);
SetSpawnInfo(playerid, 0, 0, 216.17, 1822.77, 6.37, 0, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
new randmask = 10000 + random(99999);
MaskNumber[playerid] = randmask;
if(PlayerInfo[playerid][Banned] == 1)
{
SendClientMessageEx(playerid, SAMP, "* This account is currently banned.");
return Ban(playerid);
}
if(PlayerInfo[playerid][Registered] == 0)
{
return ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX,"Register","It appears your account is not fully registered.\nBefore you can play, you will need to do an RP quiz.","Let's go!","Fuck this shite!");
}
Logged[playerid] = 1;
SendClientMessageEx(playerid,-1,"Welcome back! You have successfully logged in");
format(string, sizeof(string), "[LOGIN] %s has just logged in. (Location: %s, %s)", GetName(playerid), city, country);
SendAdminMessage(YELLOW, string, 1);
}
else if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,dlogin,DIALOG_STYLE_INPUT,"Register","Welcome! This account is registered.\nEnter your own password to create a new account.\nPlease enter the password!","Register","Quit");
}
else
{
if(WrongPassword[playerid] == 3)
{
Kick(playerid);
}
new diastr[128];
WrongPassword[playerid] += 1;
format(diastr, 128, "Wrong Password! (%d/3)\nInsert your password to login to your account.", WrongPassword[playerid]);
ShowPlayerDialog(playerid,dlogin,DIALOG_STYLE_INPUT,"Login",diastr,"Login","Quit");
return 1;
}
}
}