#include <a_samp>
#include <a_mysql>
#include <sscanf2>
#include <core>
#include <float>
//#include "../include/gl_spawns.inc"
#define green 0x33AA33AA
#define red 0xFF0000AA
#define mysql_host "127.0.0.1"
#define mysql_user "XXXXXXXXXXXX"
#define mysql_password "XXXXXXXXXXXX"
#define mysql_database "samp"
#pragma tabsize 0
main()
{
print("\n----------------------------------");
print(" Welcome to UK-RP GTA Server!\n");
print("----------------------------------\n");
}
enum PlayerInfo
{
Username[23],
Password[24],
SkinID,
Money,
Bank,
Level,
Float:PosX,
Float:PosY,
Float:PosZ,
CarID1,
CarID2,
HouseID,
GarageID
}
new PInfo[MAX_PLAYERS][PlayerInfo];
public OnGameModeInit()
{
mysql_connect(mysql_host,mysql_user,mysql_database,mysql_password);
mysql_debug(1);
SetGameModeText("UK-RP v1.00 (June 09");
ShowPlayerMarkers(0);
ShowNameTags(1);
/*
AddPlayerClass(1,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(2,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(3,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(4,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(5,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(6,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(7,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(8,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(9,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(10,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(11,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(12,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(13,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(14,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(15,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(16,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(17,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(18,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(19,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(20,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(21,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(22,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(23,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(24,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(25,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(26,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(27,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(28,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(29,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(30,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(31,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(178,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(230,0,0,0,0,0,0,0,0,0,0);
*/
return 1;
}
public OnPlayerConnect(playerid)
{
GameTextForPlayer(playerid,"UK-RP GTA Server",5000,5);
new Query[80],pName[24],string[128];
GetPlayerName(playerid,pName,24);
format(Query,sizeof(Query),"SELECT `Username` FROM `Users` WHERE `Username` = '%s' LIMIT 1;",pName);
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() != 0)
{
format(string,sizeof(string),"Hey, %s! \nYour account is registered.\nPlease enter the password to log in!",pName);
ShowPlayerDialog(playerid,0,DIALOG_STYLE_INPUT,"Log in",string,"Login","");
}
else
{
format(string,sizeof(string),"Hey, %s! \nYour account is not registered. \nPlease register to continue!",pName);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Register",string,"Register","");
}
mysql_free_result();
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerInterior(playerid,0);
TogglePlayerClock(playerid,0);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new Query[200],pName[24];
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
GetPlayerName(playerid, pName, sizeof(pName));
format(Query,sizeof(Query),"UPDATE `Users` SET PosX='%f',PosY='%f',PosZ='%f',Money='%i',SkinID='%i' WHERE `Username` = '%s';",X,Y,Z,GetPlayerMoney(playerid),GetPlayerSkin(playerid),pName);
mysql_query(Query);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(strlen(inputtext) == 0)
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Register - Enter your password","You are about to register a new account! \nPlease choose the password for it! \n","Register!","");
}
else
{
new EscapedText[60], Query[300], pName[24];
mysql_real_escape_string(inputtext, EscapedText);
GetPlayerName(playerid,pName,24);
format(Query,sizeof(Query),"INSERT INTO `Users` (Username,Password,SkinID,Money,BankMoney,Level,PosX,PosY,PosZ,CarID1,CarID2,HouseID,GarageID) VALUES ('%s','%s','230','5000','0','1','2499.0720','-1673.5278','12.5150','0','0','0','0');",pName,EscapedText);
mysql_query(Query);
SendClientMessage(playerid,green,"You have been successfully registered!");
NewPlayerLoadStats(playerid);
}
}
if(dialogid == 0)
{
LoginPlayer(playerid,inputtext);
}
return 1;
}
stock LoginPlayer(playerid,const password[])
{
new EscapedText[60], Query[128], pName[24];
mysql_real_escape_string(password, EscapedText);
GetPlayerName(playerid,pName,24);
format(Query,sizeof(Query),"SELECT * FROM `Users` WHERE `Username` = '%s' AND `Password` = '%s';",pName,EscapedText);
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() != 0)
{
LoadStats(playerid);
}
else
{
SendClientMessage(playerid,red,"Wrong password!");
Kick(playerid);
}
mysql_free_result();
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new idx;
new cmd[256];
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/stats", true) == 0) {
new pName[24],Stats[256],Query[80];
GetPlayerName(playerid,pName,24);
format(Query,sizeof(Query), "SELECT * FROM `Users` WHERE `Username` = '%s';", pName);
mysql_query(Query);
mysql_store_result();
mysql_fetch_row_format(Query, "|");
sscanf(Query, "e<p<|>s[24]s[23]ddddfffdddd>", PInfo[playerid]);
mysql_free_result();
format(Stats,sizeof(Stats),"[Username: %s][Level: %d][Money: $%d][Bank: $%d][SkinID: %d]",pName,PInfo[playerid][Level],PInfo[playerid][Money],PInfo[playerid][Bank],PInfo[playerid][SkinID]);
SendClientMessage(playerid,red,Stats);
return 1;
}
return 0;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
stock LoadStats(playerid)
{
new pName[24],Query[80],WelcomeMsg[80];
GetPlayerName(playerid,pName,24);
format(Query,sizeof(Query), "SELECT * FROM `Users` WHERE `Username` = '%s';", pName);
mysql_query(Query);
mysql_store_result();
mysql_fetch_row_format(Query, "|");
sscanf(Query, "e<p<|>s[24]s[23]ddddfffdddd>", PInfo[playerid]);
mysql_free_result();
GivePlayerMoney(playerid,PInfo[playerid][Money]);
SetPlayerSkin(playerid, PInfo[playerid][SkinID]);
SetPlayerTeam(playerid, 0);
SetPlayerPos(playerid, PInfo[playerid][PosX], PInfo[playerid][PosY], PInfo[playerid][PosZ]);
//SetSpawnInfo(playerid, 0, PInfo[playerid][SkinID], PInfo[playerid][PosX], PInfo[playerid][PosY], PInfo[playerid][PosZ], 10, 0,0,0,0,0,0);
SpawnPlayer(playerid);
SetPlayerScore(playerid, PInfo[playerid][Level]);
format(WelcomeMsg,sizeof(WelcomeMsg),"Welcome to UK-RP! You have been logged in as a Level %d Player!",PInfo[playerid][Level]);
SendClientMessage(playerid,green,WelcomeMsg);
return 1;
}
stock NewPlayerLoadStats(playerid)
{
GivePlayerMoney(playerid,5000);
SetPlayerSkin(playerid, 230);
SetPlayerTeam(playerid, 0);
SetPlayerPos(playerid, 2499.0720, -1673.5278, 12.5150);
SpawnPlayer(playerid);
SetPlayerScore(playerid, 1);
}
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
format(Query,sizeof(Query), "SELECT * FROM `Users` WHERE `Username` = '%s';", pName);
format(Query,sizeof(Query), "SELECT level FROM `Users` WHERE `Username` = '%s';", pName);
format(Query,sizeof(Query), "SELECT skin FROM `Users` WHERE `Username` = '%s';", pName);
[Username: Test][Level: 1][Money: $5000][Bank: $0][SkinID: 230] |
#include <a_samp>
#include <a_mysql>
#include <sscanf2>
#include <core>
#include <float>
//#include "../include/gl_spawns.inc"
#define green 0x33AA33AA
#define red 0xFF0000AA
#define mysql_host "127.0.0.1"
#define mysql_user "XXXXXXXXXXXX"
#define mysql_password "XXXXXXXXXXXX"
#define mysql_database "samp"
#pragma tabsize 0
main()
{
print("\n----------------------------------");
print(" Welcome to UK-RP GTA Server!\n");
print("----------------------------------\n");
}
enum PlayerInfo
{
Username[23],
Password[24],
SkinID,
Money,
Bank,
Level,
Float:PosX,
Float:PosY,
Float:PosZ,
CarID1,
CarID2,
HouseID,
GarageID
}
new PInfo[MAX_PLAYERS][PlayerInfo];
public OnGameModeInit()
{
mysql_connect(mysql_host,mysql_user,mysql_database,mysql_password);
mysql_debug(1);
SetGameModeText("UK-RP v1.00 (June 09");
ShowPlayerMarkers(0);
ShowNameTags(1);
/*
AddPlayerClass(1,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(2,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(3,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(4,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(5,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(6,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(7,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(8,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(9,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(10,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(11,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(12,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(13,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(14,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(15,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(16,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(17,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(18,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(19,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(20,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(21,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(22,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(23,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(24,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(25,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(26,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(27,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(28,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(29,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(30,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(31,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(178,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(230,0,0,0,0,0,0,0,0,0,0);
*/
return 1;
}
public OnPlayerConnect(playerid)
{
GameTextForPlayer(playerid,"UK-RP GTA Server",5000,5);
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
new Query[80],pName[24],string[128];
GetPlayerName(playerid,pName,24);
format(Query,sizeof(Query),"SELECT `Username` FROM `Users` WHERE `Username` = '%s' LIMIT 1;",pName);
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() != 0)
{
format(string,sizeof(string),"Hey, %s! \nYour account is registered.\nPlease enter the password to log in!",pName);
ShowPlayerDialog(playerid,0,DIALOG_STYLE_INPUT,"Log in",string,"Login","");
}
else
{
format(string,sizeof(string),"Hey, %s! \nYour account is not registered. \nPlease register to continue!",pName);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Register",string,"Register","");
}
mysql_free_result();
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
if(IsPlayerAdmin(playerid) || !IsPlayerAdmin(playerid)) return 0; //Block "Spawn" button. ;)
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerInterior(playerid,0);
TogglePlayerClock(playerid,0);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new Query[200],pName[24];
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
GetPlayerName(playerid, pName, sizeof(pName));
format(Query,sizeof(Query),"UPDATE `Users` SET PosX='%f',PosY='%f',PosZ='%f',Money='%i',SkinID='%i' WHERE `Username` = '%s';",X,Y,Z,GetPlayerMoney(playerid),GetPlayerSkin(playerid),pName);
mysql_query(Query);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(strlen(inputtext) == 0)
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Register - Enter your password","You are about to register a new account! \nPlease choose the password for it! \n","Register!","");
}
else
{
new EscapedText[60], Query[300], pName[24];
mysql_real_escape_string(inputtext, EscapedText);
GetPlayerName(playerid,pName,24);
format(Query,sizeof(Query),"INSERT INTO `Users` (Username,Password,SkinID,Money,BankMoney,Level,PosX,PosY,PosZ,CarID1,CarID2,HouseID,GarageID) VALUES ('%s','%s','230','5000','0','1','2499.0720','-1673.5278','12.5150','0','0','0','0');",pName,EscapedText);
mysql_query(Query);
SendClientMessage(playerid,green,"You have been successfully registered!");
NewPlayerLoadStats(playerid);
}
}
if(dialogid == 0)
{
LoginPlayer(playerid,inputtext);
}
return 1;
}
stock LoginPlayer(playerid,const password[])
{
new EscapedText[60], Query[128], pName[24];
mysql_real_escape_string(password, EscapedText);
GetPlayerName(playerid,pName,24);
format(Query,sizeof(Query),"SELECT * FROM `Users` WHERE `Username` = '%s' AND `Password` = '%s';",pName,EscapedText);
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() != 0)
{
LoadStats(playerid);
}
else
{
SendClientMessage(playerid,red,"Wrong password!");
Kick(playerid);
}
mysql_free_result();
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new idx;
new cmd[256];
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/stats", true) == 0) {
new pName[24],Stats[256],Query[80];
GetPlayerName(playerid,pName,24);
format(Query,sizeof(Query), "SELECT * FROM `Users` WHERE `Username` = '%s';", pName);
mysql_query(Query);
mysql_store_result();
mysql_fetch_row_format(Query, "|");
sscanf(Query, "e<p<|>s[24]s[23]ddddfffdddd>", PInfo[playerid]);
mysql_free_result();
format(Stats,sizeof(Stats),"[Username: %s][Level: %d][Money: $%d][Bank: $%d][SkinID: %d]",pName,PInfo[playerid][Level],PInfo[playerid][Money],PInfo[playerid][Bank],PInfo[playerid][SkinID]);
SendClientMessage(playerid,red,Stats);
return 1;
}
return 0;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
stock LoadStats(playerid)
{
new pName[24],Query[80],WelcomeMsg[80];
GetPlayerName(playerid,pName,24);
format(Query,sizeof(Query), "SELECT * FROM `Users` WHERE `Username` = '%s';", pName);
mysql_query(Query);
mysql_store_result();
mysql_fetch_row_format(Query, "|");
sscanf(Query, "e<p<|>s[24]s[23]ddddfffdddd>", PInfo[playerid]);
mysql_free_result();
GivePlayerMoney(playerid,PInfo[playerid][Money]);
SetPlayerSkin(playerid, PInfo[playerid][SkinID]);
SetPlayerTeam(playerid, 0);
SetPlayerPos(playerid, PInfo[playerid][PosX], PInfo[playerid][PosY], PInfo[playerid][PosZ]);
//SetSpawnInfo(playerid, 0, PInfo[playerid][SkinID], PInfo[playerid][PosX], PInfo[playerid][PosY], PInfo[playerid][PosZ], 10, 0,0,0,0,0,0);
SpawnPlayer(playerid);
SetPlayerScore(playerid, PInfo[playerid][Level]);
format(WelcomeMsg,sizeof(WelcomeMsg),"Welcome to UK-RP! You have been logged in as a Level %d Player!",PInfo[playerid][Level]);
SendClientMessage(playerid,green,WelcomeMsg);
return 1;
}
stock NewPlayerLoadStats(playerid)
{
GivePlayerMoney(playerid,5000);
SetPlayerSkin(playerid, 230);
SetPlayerTeam(playerid, 0);
SetPlayerPos(playerid, 2499.0720, -1673.5278, 12.5150);
SpawnPlayer(playerid);
SetPlayerScore(playerid, 1);
}
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
#include <a_samp>
#include <a_mysql>
#include <sscanf2>
#include <core>
#include <float>
//#include "../include/gl_spawns.inc"
#define green 0x33AA33AA
#define red 0xFF0000AA
#define mysql_host "127.0.0.1"
#define mysql_user "XXXXXXXXXXXX"
#define mysql_password "XXXXXXXXXXXX"
#define mysql_database "samp"
#pragma tabsize 0
main()
{
print("\n----------------------------------");
print(" Welcome to UK-RP GTA Server!\n");
print("----------------------------------\n");
}
enum PlayerInfo
{
Username[23],
Password[24],
SkinID,
Money,
Bank,
Level,
Float:PosX,
Float:PosY,
Float:PosZ,
Int, //Interior
VW, //Virtual World
CarID1,
CarID2,
HouseID,
GarageID
}
new PInfo[MAX_PLAYERS][PlayerInfo];
new bool:FirstSpawn[MAX_PLAYERS];
public OnGameModeInit()
{
mysql_connect(mysql_host,mysql_user,mysql_database,mysql_password);
mysql_debug(1);
SetGameModeText("UK-RP v1.00 (June 09");
ShowPlayerMarkers(0);
ShowNameTags(1);
/*
AddPlayerClass(1,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(2,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(3,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(4,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(5,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(6,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(7,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(8,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(9,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(10,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(11,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(12,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(13,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(14,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(15,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(16,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(17,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(18,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(19,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(20,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(21,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(22,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(23,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(24,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(25,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(26,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(27,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(28,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(29,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(30,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(31,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(178,0,0,0,0,0,0,0,0,0,0);
AddPlayerClass(230,0,0,0,0,0,0,0,0,0,0);
*/
return 1;
}
public OnPlayerConnect(playerid)
{
FirstSpawn[playerid] = true;
GameTextForPlayer(playerid,"UK-RP GTA Server",5000,5);
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
new Query[80],pName[24],string[128];
GetPlayerName(playerid,pName,24);
format(Query,sizeof(Query),"SELECT `Username` FROM `Users` WHERE `Username` = '%s' LIMIT 1;",pName);
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() != 0)
{
format(string,sizeof(string),"Hey, %s! \nYour account is registered.\nPlease enter the password to log in!",pName);
ShowPlayerDialog(playerid,0,DIALOG_STYLE_INPUT,"Log in",string,"Login","");
}
else
{
format(string,sizeof(string),"Hey, %s! \nYour account is not registered. \nPlease register to continue!",pName);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Register",string,"Register","");
}
mysql_free_result();
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
if(IsPlayerAdmin(playerid) || !IsPlayerAdmin(playerid)) return 0; //Block "Spawn" button. ;)
return 1;
}
public OnPlayerSpawn(playerid)
{
//SetPlayerInterior(playerid,0); --- Incorrect, don't do that if you want save position inside buildings/interiors.
TogglePlayerClock(playerid,0);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new Query[200],pName[24];
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
GetPlayerName(playerid, pName, sizeof(pName));
format(Query,sizeof(Query),"UPDATE `Users` SET PosX='%f',PosY='%f',PosZ='%f',Int='%d',VW='%d',Money='%i',SkinID='%i' WHERE `Username` = '%s';",X,Y,Z,GetPlayerInterior(playerid),GetPlayerVirtualWorld(playerid),GetPlayerMoney(playerid),GetPlayerSkin(playerid),pName);
mysql_query(Query);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(strlen(inputtext) == 0)
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Register - Enter your password","You are about to register a new account! \nPlease choose the password for it! \n","Register!","");
}
else
{
new EscapedText[60], Query[300], pName[24];
mysql_real_escape_string(inputtext, EscapedText);
GetPlayerName(playerid,pName,24);
format(Query,sizeof(Query),"INSERT INTO `Users` (Username,Password,SkinID,Money,BankMoney,Level,PosX,PosY,PosZ,Int,VW,CarID1,CarID2,HouseID,GarageID) VALUES ('%s','%s','230','5000','0','1','2499.0720','-1673.5278','12.5150','0','0','0','0','0','0');",pName,EscapedText);
mysql_query(Query);
SendClientMessage(playerid,green,"You have been successfully registered!");
NewPlayerLoadStats(playerid);
}
}
if(dialogid == 0)
{
LoginPlayer(playerid,inputtext);
}
return 1;
}
stock LoginPlayer(playerid,const password[])
{
new EscapedText[60], Query[128], pName[24];
mysql_real_escape_string(password, EscapedText);
GetPlayerName(playerid,pName,24);
format(Query,sizeof(Query),"SELECT * FROM `Users` WHERE `Username` = '%s' AND `Password` = '%s';",pName,EscapedText);
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() != 0)
{
LoadStats(playerid);
}
else
{
SendClientMessage(playerid,red,"Wrong password!");
Kick(playerid);
}
mysql_free_result();
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new idx;
new cmd[256];
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/stats", true) == 0) {
new pName[24],Stats[256],Query[80];
GetPlayerName(playerid,pName,24);
format(Query,sizeof(Query), "SELECT * FROM `Users` WHERE `Username` = '%s';", pName);
mysql_query(Query);
mysql_store_result();
mysql_fetch_row_format(Query, "|");
sscanf(Query, "e<p<|>s[24]s[23]ddddfffdddd>", PInfo[playerid]);
mysql_free_result();
format(Stats,sizeof(Stats),"[Username: %s][Level: %d][Money: $%d][Bank: $%d][SkinID: %d]",pName,PInfo[playerid][Level],PInfo[playerid][Money],PInfo[playerid][Bank],PInfo[playerid][SkinID]);
SendClientMessage(playerid,red,Stats);
return 1;
}
return 0;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
stock LoadStats(playerid)
{
new pName[24],Query[80],WelcomeMsg[80];
GetPlayerName(playerid,pName,24);
format(Query,sizeof(Query), "SELECT * FROM `Users` WHERE `Username` = '%s';", pName);
mysql_query(Query);
mysql_store_result();
mysql_fetch_row_format(Query, "|");
sscanf(Query, "e<p<|>s[24]s[23]ddddfffdddddd>", PInfo[playerid]);
mysql_free_result();
GivePlayerMoney(playerid,PInfo[playerid][Money]);
SetPlayerSkin(playerid, PInfo[playerid][SkinID]);
SetPlayerTeam(playerid, 0);
SetSpawnInfo(playerid, 0, PInfo[playerid][SkinID], PInfo[playerid][PosX], PInfo[playerid][PosY], PInfo[playerid][PosZ], 10, 0,0,0,0,0,0);
SpawnPlayer(playerid);
if(FirstSpawn[playerid] == true)
{
SetPlayerPos(playerid, PInfo[playerid][PosX], PInfo[playerid][PosY], PInfo[playerid][PosZ]);
SetPlayerInterior(playerid,PInfo[playerid][Int]);
SetPlayerVirtualWorld(playerid,PInfo[playerid][VW]);
FirstSpawn[playerid] = false;
}
SetPlayerScore(playerid, PInfo[playerid][Level]);
format(WelcomeMsg,sizeof(WelcomeMsg),"Welcome to UK-RP! You have been logged in as a Level %d Player!",PInfo[playerid][Level]);
SendClientMessage(playerid,green,WelcomeMsg);
return 1;
}
stock NewPlayerLoadStats(playerid)
{
GivePlayerMoney(playerid,5000);
SetPlayerSkin(playerid, 230);
SetPlayerTeam(playerid, 0);
SetPlayerPos(playerid, 2499.0720, -1673.5278, 12.5150);
SpawnPlayer(playerid);
SetPlayerScore(playerid, 1);
}
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}