Registration Problem Error
#1

Hello there!
I've been scripting/making a new registration system for my server, and I got no error, but when I try registering in game, it's not working, the code will be below, I will be awaiting a reply

Code:
#include <a_samp>
#include <a_mysql>
#include <sscanf2>
#include <zcmd>
#include <foreach>


#define SQL_HOSTNAME "127.0.0.1"
#define SQL_USERNAME "root"
#define SQL_DATABASE "luxery"
#define SQL_PASSWORD ""

#define dregister    6287 
#define dlogin        6288

#define SERVER_NAME "[0.3z] .::Luxury Roleplay::."
#define SERVER_URL ""
#define SERVER_MAP "Los Santos"
#define SERVER_REVISION ("v0.02")
#define SERVER_CITY 	(1)

#define ADMINBLUE 		  (0x1D7CF2FF)
#define SERVERCOLOR		  (0xA9C4E4FF)
#define COLOR_CLIENT      (0xAAC4E5FF)
#define COLOR_WHITE       (0xFFFFFFFF)
#define COLOR_RED         (0xFF0000FF)
#define COLOR_CYAN        (0x33CCFFFF)
#define COLOR_LIGHTRED    (0xFF6347FF)
#define COLOR_LIGHTGREEN  (0x9ACD32FF)
#define COLOR_YELLOW      (0xFFFF00FF)
#define COLOR_GREY        (0xAFAFAFFF)
#define COLOR_HOSPITAL    (0xFF8282FF)
#define COLOR_PURPLE      (0xD0AEEBFF)
#define COLOR_LIGHTYELLOW (0xF5DEB3FF)
#define COLOR_DARKBLUE    (0x1394BFFF)
#define COLOR_ORANGE      (0xFFA500FF)
#define COLOR_LIME        (0x00FF00FF)
#define COLOR_GREEN       (0x33CC33FF)
#define COLOR_BLUE        (0x2641FEFF)
#define COLOR_FACTION     (0xBDF38BFF)
#define COLOR_RADIO       (0x8D8DFFFF)
#define COLOR_LIGHTBLUE   (0x007FFFFF)
#define COLOR_SERVER      (0xFFFF90FF) // 6688FF
#define COLOR_DEPARTMENT  (0xF0CC00FF)
#define COLOR_PINK 		  (0xFF66FF00)
#define COLOR_ADMINCHAT   (0x33EE33FF)
#define DEFAULT_COLOR     (0xFFFFFFFF)

native WP_Hash(buffer[], len, const str[]); 

static
	mysql, 
	Name[MAX_PLAYERS][24], 
	IP[MAX_PLAYERS][16] 
	;
	
enum PlayerInfo 
{
	CMD1[129],
    CMD2[129],
    CMD3[129],
    CMD4[129],
    CMD5[129],
	ID, 
	Password[129], 
	Skin,
	Admin,
	Moderator,
	Helper,
	Gold,
	Money, 
	Float:posX, 
	Float:posY, 
	Float:posZ,
	pSpectator,
	pInterior,
	pWorld
}
new pInfo[MAX_PLAYERS][PlayerInfo]; 
new g_iHandle;

new Text:Stats1[MAX_PLAYERS];
new Text:SpecLastCMD;
new Text:SpecCMDBG;
new Text:SpecCmd1[MAX_PLAYERS];
new Text:SpecCmd2[MAX_PLAYERS];
new Text:SpecCmd3[MAX_PLAYERS];
new Text:SpecCmd4[MAX_PLAYERS];
new Text:SpecCmd5[MAX_PLAYERS];

new ahide[MAX_PLAYERS];
new abusy[MAX_PLAYERS];

//stocks

main() {
	print("Luxury Roleplay");
}

SQL_Connect() {
	g_iHandle = mysql_connect(SQL_HOSTNAME, SQL_USERNAME, SQL_DATABASE, SQL_PASSWORD);

	if (g_iHandle < 1) {
	    printf("[SQL] Connection to \"%s\" failed! Please check the connection settings...\a", SQL_HOSTNAME);
	}
	else {
		printf("[SQL] Connection to \"%s\" passed!", SQL_HOSTNAME);
	}
}

stock SendClientMessageEx(playerid, color, const str[], {Float,_}:...)
{
	static
	    args,
	    start,
	    end,
	    string[144]
	;
	#emit LOAD.S.pri 8
	#emit STOR.pri args

	if (args > 12)
	{
		#emit ADDR.pri str
		#emit STOR.pri start

	    for (end = start + (args - 12); end > start; end -= 4)
		{
	        #emit LREF.pri end
	        #emit PUSH.pri
		}
		#emit PUSH.S str
		#emit PUSH.C 144
		#emit PUSH.C string
		#emit PUSH.C args
		#emit SYSREQ.C format

		SendClientMessage(playerid, color, string);

		#emit LCTRL 5
		#emit SCTRL 4
		#emit RETN
	}
	return SendClientMessage(playerid, color, str);
}

stock BanPlayer(playerid) {
	new query[128], player_ip[16], bool:banned = false;
	GetPlayerIp(playerid, player_ip, sizeof(player_ip));
    format(query, sizeof(query), "SELECT * FROM `bans` WHERE `Reason`, `Bannedby`, `ip` = '%s' , '%s', '%s'",banreason, Lname(playerid),player_ip);
	mysql_query(query);
	mysql_store_result();
	banned = mysql_num_rows>0;
	mysql_free_result();
	return banned;
}

stock UnbanPlayer(ip[]) {
	new query[128];
	format(query, sizeof(query), "DELETE FROM `bans` WHERE `Reason`, `Bannedby`, `ip` = '%s' , '%s', '%s'",banreason, Lname(playerid),player_ip);
	mysql_query(query);
}

stock SendNearbyMessage(playerid, Float:radius, color, const str[], {Float,_}:...)
{
	static
	    args,
	    start,
	    end,
	    string[144]
	;
	#emit LOAD.S.pri 8
	#emit STOR.pri args

	if (args > 16)
	{
		#emit ADDR.pri str
		#emit STOR.pri start

	    for (end = start + (args - 16); end > start; end -= 4)
		{
	        #emit LREF.pri end
	        #emit PUSH.pri
		}
		#emit PUSH.S str
		#emit PUSH.C 144
		#emit PUSH.C string

		#emit LOAD.S.pri 8
		#emit CONST.alt 4
		#emit SUB
		#emit PUSH.pri

		#emit SYSREQ.C format
		#emit LCTRL 5
		#emit SCTRL 4

        foreach (new i : Player)
		{
			if (IsPlayerNearPlayer(i, playerid, radius)) {
  				SendClientMessage(i, color, string);
			}
		}
		return 1;
	}
	foreach (new i : Player)
	{
		if (IsPlayerNearPlayer(i, playerid, radius)) {
			SendClientMessage(i, color, str);
		}
	}
	return 1;
}

stock IsPlayerNearPlayer(playerid, targetid, Float:radius)
{
	static
		Float:fX,
		Float:fY,
		Float:fZ;

	GetPlayerPos(targetid, fX, fY, fZ);

	return (GetPlayerInterior(playerid) == GetPlayerInterior(targetid) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(targetid)) && IsPlayerInRangeOfPoint(playerid, radius, fX, fY, fZ);
}

stock Lname(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    for(new i = 0; i < MAX_PLAYER_NAME; i++)
    {
        if(name[i] == '_') name[i] = ' ';
    }
    return name;
}

stock ProxDetector(Float:radi, playerid, string[],color)
{
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    foreach(Player,i)
    {
        if(IsPlayerInRangeOfPoint(i,radi,x,y,z))
        {
            SendClientMessage(i,color,string);
            }
    }
}
//forward
forward OnPlayerConnect(playerid);
forward OnAccountLoad(playerid);
forward OnAccountRegister(playerid);
//public

public OnPlayerConnect(playerid)
{
	ahide[playerid] = 0;
	abusy[playerid] = 0;
	new query[128]; 
	GetPlayerName(playerid, Name[playerid], 24); 
	GetPlayerIp(playerid, IP[playerid], 16);
	mysql_format(mysql, query, sizeof(query),"SELECT `Password`, `ID` FROM `players` WHERE `Username` = '%e' LIMIT 1", Name[playerid]);
	mysql_tquery(mysql, query, "OnAccountCheck", "i", playerid);
	
	Stats1[playerid] = TextDrawCreate(0.000000, 437.000000, "Name:");
	TextDrawBackgroundColor(Stats1[playerid], 255);
	TextDrawFont(Stats1[playerid], 1);
	TextDrawLetterSize(Stats1[playerid], 0.250000, 1.000000);
	TextDrawColor(Stats1[playerid], -16776961);
	TextDrawSetOutline(Stats1[playerid], 1);
	TextDrawSetProportional(Stats1[playerid], 1);
	TextDrawUseBox(Stats1[playerid], 1);
	TextDrawBoxColor(Stats1[playerid], 255);
	TextDrawTextSize(Stats1[playerid], 640.000000, 0.000000);

	SpecCmd1[playerid] = TextDrawCreate(445.000000, 146.000000, "_");
	TextDrawBackgroundColor(SpecCmd1[playerid], 255);
	TextDrawFont(SpecCmd1[playerid], 1);
	TextDrawLetterSize(SpecCmd1[playerid], 0.330000, 0.799999);
	TextDrawColor(SpecCmd1[playerid], -1);
	TextDrawSetOutline(SpecCmd1[playerid], 0);
	TextDrawSetProportional(SpecCmd1[playerid], 1);
	TextDrawSetShadow(SpecCmd1[playerid], 1);
	TextDrawUseBox(SpecCmd1[playerid], 1);
	TextDrawBoxColor(SpecCmd1[playerid], 17);
	TextDrawTextSize(SpecCmd1[playerid], 632.000000, 0.000000);

	SpecCmd2[playerid] = TextDrawCreate(445.000000, 183.000000, "_");
	TextDrawBackgroundColor(SpecCmd2[playerid], 255);
	TextDrawFont(SpecCmd2[playerid], 1);
	TextDrawLetterSize(SpecCmd2[playerid], 0.330000, 0.799999);
	TextDrawColor(SpecCmd2[playerid], -1);
	TextDrawSetOutline(SpecCmd2[playerid], 0);
	TextDrawSetProportional(SpecCmd2[playerid], 1);
	TextDrawSetShadow(SpecCmd2[playerid], 1);
	TextDrawUseBox(SpecCmd2[playerid], 1);
	TextDrawBoxColor(SpecCmd2[playerid], 17);
	TextDrawTextSize(SpecCmd2[playerid], 632.000000, 0.000000);

	SpecCmd3[playerid] = TextDrawCreate(445.000000, 219.000000, "_");
	TextDrawBackgroundColor(SpecCmd3[playerid], 255);
	TextDrawFont(SpecCmd3[playerid], 1);
	TextDrawLetterSize(SpecCmd3[playerid], 0.330000, 0.799999);
	TextDrawColor(SpecCmd3[playerid], -1);
	TextDrawSetOutline(SpecCmd3[playerid], 0);
	TextDrawSetProportional(SpecCmd3[playerid], 1);
	TextDrawSetShadow(SpecCmd3[playerid], 1);
	TextDrawUseBox(SpecCmd3[playerid], 1);
	TextDrawBoxColor(SpecCmd3[playerid], 17);
	TextDrawTextSize(SpecCmd3[playerid], 632.000000, 0.000000);

	SpecCmd4[playerid] = TextDrawCreate(445.000000, 255.000000, "_");
	TextDrawBackgroundColor(SpecCmd4[playerid], 255);
	TextDrawFont(SpecCmd4[playerid], 1);
	TextDrawLetterSize(SpecCmd4[playerid], 0.330000, 0.799999);
	TextDrawColor(SpecCmd4[playerid], -1);
	TextDrawSetOutline(SpecCmd4[playerid], 0);
	TextDrawSetProportional(SpecCmd4[playerid], 1);
	TextDrawSetShadow(SpecCmd4[playerid], 1);
	TextDrawUseBox(SpecCmd4[playerid], 1);
	TextDrawBoxColor(SpecCmd4[playerid], 17);
	TextDrawTextSize(SpecCmd4[playerid], 632.000000, 0.000000);

	SpecCmd5[playerid] = TextDrawCreate(445.000000, 291.000000, "_");
	TextDrawBackgroundColor(SpecCmd5[playerid], 255);
	TextDrawFont(SpecCmd5[playerid], 1);
	TextDrawLetterSize(SpecCmd5[playerid], 0.330000, 0.799999);
	TextDrawColor(SpecCmd5[playerid], -1);
	TextDrawSetOutline(SpecCmd5[playerid], 0);
	TextDrawSetProportional(SpecCmd5[playerid], 1);
	TextDrawSetShadow(SpecCmd5[playerid], 1);
	TextDrawUseBox(SpecCmd5[playerid], 1);
	TextDrawBoxColor(SpecCmd5[playerid], 17);
	TextDrawTextSize(SpecCmd5[playerid], 632.000000, 0.000000);
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
	new query[128], Float:pos[3];
	GetPlayerPos(playerid, pos[0], pos[1], pos[2]); 
	mysql_format(mysql, query, sizeof(query), "UPDATE `players` SET `Admin`=%d, `Gold`=%d, `Money`=%d, `posX`=%f, `posY`=%f, `posZ`=%f WHERE `ID`=%d",\
	pInfo[playerid][Admin], pInfo[playerid][Gold], pInfo[playerid][Money], pos[0], pos[1], pos[2], pInfo[playerid][ID]);
	mysql_tquery(mysql, query, "", "");

	return 1;
}

public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
    if(!success) return SendClientMessage(playerid, COLOR_GREY, "SERVER: This command is unknown, use /help for a list of commands.");  //If the command was wrong/invalid
    if(success)
    {
        format(pInfo[playerid][CMD1], 129, "%s", pInfo[playerid][CMD2]);
        format(pInfo[playerid][CMD2], 129, "%s", pInfo[playerid][CMD3]);
        format(pInfo[playerid][CMD3], 129, "%s", pInfo[playerid][CMD4]);
        format(pInfo[playerid][CMD4], 129, "%s", pInfo[playerid][CMD5]);
        format(pInfo[playerid][CMD5], 129, "%s", cmdtext);
    }
    return 1;
}

public OnPlayerSpawn(playerid)
{
    SetPlayerPos(playerid, pInfo[playerid][posX], pInfo[playerid][posZ], pInfo[playerid][posZ]);
    return 1;
}

public OnAccountLoad(playerid)
{
 	pInfo[playerid][Admin] = cache_get_field_content_int(0, "Admin");
	pInfo[playerid][Moderator] = cache_get_field_content_int(0, "Moderator");
 	pInfo[playerid][Helper] = cache_get_field_content_int(0, "Helper");
 	pInfo[playerid][Gold] = cache_get_field_content_int(0, "Gold");
 	pInfo[playerid][Money] = cache_get_field_content_int(0, "Money");
 	pInfo[playerid][Skin] = cache_get_field_content_int(0, "Skin");
 	pInfo[playerid][posX] = cache_get_field_content_float(0, "PosX");
 	pInfo[playerid][posY] = cache_get_field_content_float(0, "PosY");
 	pInfo[playerid][posZ] = cache_get_field_content_float(0, "PosZ");

 	GivePlayerMoney(playerid, pInfo[playerid][Money]);
	SendClientMessage(playerid, -1, "Successfully logged in"); 
	return 1;
}

public OnAccountRegister(playerid)
{
    pInfo[playerid][ID] = cache_insert_id(); 
    printf("New account registered. ID: %d", pInfo[playerid][ID]); 
    return 1;
}
public OnGameModeInit()
{
    SQL_Connect();
	mysql_log(LOG_ERROR | LOG_WARNING | LOG_DEBUG); 
	mysql = mysql_connect(SQL_HOSTNAME, SQL_USERNAME, SQL_DATABASE, SQL_PASSWORD);
	if(mysql_errno(mysql) != 0) print("Could not connect to database!");
	ManualVehicleEngineAndLights();
	new rcon[80];
	format(rcon, sizeof(rcon), "hostname %s", SERVER_NAME);
	SendRconCommand(rcon);
	format(rcon, sizeof(rcon), "weburl %s", SERVER_URL);
	SendRconCommand(rcon);
	format(rcon, sizeof(rcon), "map %s", SERVER_MAP);
	SendRconCommand(rcon);
	SetGameModeText(SERVER_REVISION);
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	switch(dialogid)
	{
	    case dlogin:
	    {
	        if(!response) Kick(playerid);
	        new hpass[129];
            new query[100];
	        WP_Hash(hpass, 129, inputtext);
	        if(!strcmp(hpass, pInfo[playerid][Password]))
	        {
	            mysql_format(mysql, query, sizeof(query), "SELECT * FROM `players` WHERE `Username` = '%e' LIMIT 1", Name[playerid]);
				mysql_tquery(mysql, query, "OnAccountLoad", "i", playerid);
			}
			else 
			{
				ShowPlayerDialog(playerid, dlogin, DIALOG_STYLE_INPUT, "Login", "In order to play, you need to login\nWrong password!", "Login", "Quit");
			}
		}
		case dregister: 
		{
		    if(!response) return Kick(playerid); 
		    if(strlen(inputtext) < 6) return ShowPlayerDialog(playerid, dregister, DIALOG_STYLE_INPUT, "Register", "In order to play, you need to register.\nYour password must be at least 6 characters long!", "Register", "Quit");
   			new query[300];
			WP_Hash(pInfo[playerid][Password], 129, inputtext); 
			mysql_format(mysql, query, sizeof(query), "INSERT INTO `players` (`Username`, `Password`, `IP`, `Admin`, `Moderator`, `Helper`, `Gold`, `Money`, `Skin`, `PosX` ,`PosY`, `PosZ`) VALUES ('%e', '%s', '%s', 0, 0, 0, 0.0, 0.0, 0.0)", Name[playerid], pInfo[playerid][Password], IP[playerid]);
			mysql_tquery(mysql, query, "OnAccountRegister", "i", playerid);
		}
	}
	return 1;
}

public OnPlayerUpdate(playerid)
{
	if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING)
	{
 		new playerb = pInfo[playerid][pSpectator];
		new string[128];
		if(playerb != INVALID_PLAYER_ID)
  	{
   		new ip[16], Float:H, Float:A;
     	GetPlayerIp(playerb, ip, sizeof(ip));
     	GetPlayerHealth(playerb, H); GetPlayerArmour(playerb, A);
     	format(string, sizeof(string), "Name: %s         Health: %0.1f         Armour: %0.1f         Money: %d         IP: %s", Lname(playerb), H, A, GetPlayerMoney(playerb), ip);
     	TextDrawSetString(Stats1[playerid], string);
	    format(string, sizeof(string), "%s", pInfo[playerb][CMD1]);
	    TextDrawSetString(SpecCmd1[playerid], string);
	    format(string, sizeof(string), "%s", pInfo[playerb][CMD2]);
	    TextDrawSetString(SpecCmd2[playerid], string);
	    format(string, sizeof(string), "%s", pInfo[playerb][CMD3]);
     	TextDrawSetString(SpecCmd3[playerid], string);
     	format(string, sizeof(string), "%s", pInfo[playerb][CMD4]);
     	TextDrawSetString(SpecCmd4[playerid], string);
     	format(string, sizeof(string), "%s", pInfo[playerb][CMD5]);
     	TextDrawSetString(SpecCmd5[playerid], string);
	}
}
	return 1;
}
//general commands

CMD:help(playerid, params[])
{
	SendClientMessage(playerid, COLOR_YELLOW, "{FFA500}. : : {FFFF00}Luxury Help Commands {FFA500}: : .");
	SendClientMessage(playerid, SERVERCOLOR, "General: /me, /do, /s(shout), /l(low), /pm, /blockpm");
	return 1;
}

CMD:me(playerid, params[])
{
        new
        	string[128],
      		action[100];
      		
        if(sscanf(params, "s[100]", action))
        {
            SendClientMessage(playerid, -1, "USAGE: /me [action]");
            return 1;
        }
        else
        {
            format(string, sizeof(string), "%s %s", Lname(playerid), action);
            ProxDetector(30, playerid, string, COLOR_PURPLE);
        }
        return 1;
}

CMD:do(playerid, params[])
{
        new
        	string[128],
         	action[100];
         	
        if(sscanf(params, "s[100]", action))
        {
            SendClientMessage(playerid, -1, "USAGE: /do [action]");
            return 1;
        }
        else
        {
            format(string, sizeof(string), "%s (( %s ))", action, Lname(playerid));
            ProxDetector(30, playerid, string, COLOR_PURPLE);
        }
        return 1;
}

CMD:s(playerid, params[]) return cmd_shout(playerid, params);
CMD:shout(playerid, params[])
{
        new
            string[128],
            shout[100];
        if(sscanf(params, "s[100]", shout))
        {
            SendClientMessage(playerid, -1, "USAGE: /(s)hout [message]");
            return 1;
        }
        else
        {
            format(string, sizeof(string), "%s shouts: %s!",Lname(playerid),shout);
            ProxDetector(50.0, playerid, string, -1);
        }
        return 1;
}
CMD:l(playerid, params[]) return cmd_low(playerid, params);
CMD:low(playerid, params[])
{


	if (isnull(params))
	    return SendClientMessage(playerid, COLOR_GREY, "/(l)ow [low text]");

	if (strlen(params) > 64) {
	    SendNearbyMessage(playerid, 5.0, COLOR_WHITE, "%s says: %.64s", Lname(playerid), params);
	    SendNearbyMessage(playerid, 5.0, COLOR_WHITE, "...%s", params[64]);
	}
	else {
	    SendNearbyMessage(playerid, 5.0, COLOR_WHITE, "%s says: %s", Lname(playerid), params);
	}
	return 1;
}

CMD:pm(playerid, params[])
{
    new str2[128], id;
    if(sscanf(params, "us[128]", id, str2)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /pm [ID] [MESSAGE]");
    if(!IsPlayerConnected(id)) return GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~ERROR: Player Isnt Connected", 3000, 3);
    if(playerid == id) return GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~You can't PM your self", 3000, 3);
    if(GetPVarInt(id, "BlockPM") == 1) return GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~Player has blocked their PM's", 3000, 3);
    new Name1[MAX_PLAYER_NAME], Name2[MAX_PLAYER_NAME], str[128];
    GetPlayerName(playerid, Name1, sizeof(Name1));
    GetPlayerName(id, Name2, sizeof(Name2));
    format(str, sizeof(str), "((PM To %s: %s))", Name2, str2);
    SendClientMessage(playerid, COLOR_YELLOW, str);
    format(str, sizeof(str), "((PM From %s: %s))", Name1, str2);
    SendClientMessage(id, COLOR_YELLOW, str);
    return 1;
}

CMD:blockpm(playerid, params[])
{
    if(GetPVarInt(playerid, "BlockPM") == 1)
    {
        SetPVarInt(playerid, "BlockPM", 0);
        GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~You've unblocked your PM's", 3000, 3);
    }
    else
    {
        SetPVarInt(playerid, "BlockPM", 1);
        GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~You've blocked your PM's", 3000, 3);
    }
    return 1;
}

CMD:staff(playerid, params[])
{
	static
		string[128];
	SendClientMessageEx(playerid,COLOR_ORANGE, ". : : Administrators : : .");
    foreach(Player, i)
    {
        if(pInfo[i][Admin])
        {
            if(abusy[i] == 0 && ahide[i] == 0)
            {
                    format(string, sizeof(string), "Name: %s Level: %d {33CC33}(Available)", Lname(i),pInfo[i][Admin]);
                    SendClientMessage(playerid, SERVERCOLOR, string);
            }
 			else if(abusy[i] == 1)
			{
   					format(string, sizeof(string), "Name: %s Level: %d {FF0000}(Busy)", Lname(i),pInfo[i][Admin]);
                    SendClientMessage(playerid, SERVERCOLOR, string);
            }
            else if(ahide[i] == 1)
            {
            }
        }
    }
    SendClientMessageEx(playerid,COLOR_ORANGE, ". : : Moderators : : .");
    foreach(Player, i)
    {
        if(pInfo[i][Moderator])
        {
            if(ahide[i] == 0 && abusy[i] == 0)
            {
                    format(string, sizeof(string), "Name: %s {33CC33}(Available)", Lname(i));
                    SendClientMessage(playerid, SERVERCOLOR, string);
            }
 			else if(abusy[i] == 1)
			{
   					format(string, sizeof(string), "Name: %s {FF0000}(Busy)", Lname(i));
                    SendClientMessage(playerid, SERVERCOLOR, string);
            }
            else if(ahide[i] == 1)
            {
            }
        }
    }
    SendClientMessage(playerid,COLOR_ORANGE, ". : : Helper : : ." );
    foreach(Player, i)
    {
        if(pInfo[i][Helper])
		{
			if (abusy[i] == 0)
        	{
                	format(string, sizeof(string), "Name: %s {33CC33}(Available)", Lname(i));
               	 	SendClientMessage(playerid, SERVERCOLOR, string);
        	}
			else if(abusy[i] == 1)
			{
					format(string, sizeof(string), "Name: %s {FF0000}(Busy)", Lname(i));
   					SendClientMessage(playerid, SERVERCOLOR, string);
      		}
    	}
    }
    return 1;
}


//faction commands

//admin+moderator commands

CMD:makeadmin(playerid, params[])
{
	static
		playerb,
	    level;

	if (pInfo[playerid][Admin] > 6)
	    return SendClientMessageEx(playerid, COLOR_WHITE, "You don't have permission to use this command.");

	if (sscanf(params, "ud", playerb, level))
		return SendClientMessageEx(playerid, COLOR_WHITE, "/makeadmin [playerid/name] [level]");

	if (playerb == INVALID_PLAYER_ID)
	    return SendClientMessageEx(playerid, COLOR_WHITE, "You have specified an invalid player.");

	if (level < 0 || level > 6)
	    return SendClientMessageEx(playerid, COLOR_WHITE, "Invalid admin level. Levels range from 0 to 6.");

	if (level > pInfo[playerb][Admin])
	{
	    SendClientMessageEx(playerid, ADMINBLUE, "You have promoted %s to a higher admin level (%d).", Lname(playerb), level);
	    SendClientMessageEx(playerb, ADMINBLUE, "%s has promoted you to a higher admin level (%d).", Lname(playerid), level);
	}
	else
	{
	    SendClientMessageEx(playerid, ADMINBLUE, "You have demoted %s to a lower admin level (%d).", Lname(playerb), level);
	    SendClientMessageEx(playerb, ADMINBLUE, "%s has demoted you to a lower admin level (%d).", Lname(playerid), level);
	}
	pInfo[playerb][Admin] = level;
	return 1;
}

CMD:makemoderator(playerid, params[])
{
	static
	    playerb;

	if(pInfo[playerid][Admin] > 6) return SendClientMessageEx(playerid, COLOR_WHITE, "You don't have permission to use this command");
	if(sscanf(params, "u", playerb)) return SendClientMessageEx(playerid, COLOR_WHITE, "[USAGE]/makemoderator [playerid/name]");
	{
		SendClientMessageEx(playerid, ADMINBLUE, "You have promoted %s to an Moderator", Lname(playerb));
		SendClientMessageEx(playerb, ADMINBLUE, "You've been promoted by %s to an Moderator Congratulations", Lname(playerid));
		pInfo[playerb][Moderator] = 1;
	}
 	return 1;
}

CMD:removemoderator(playerid, params[])
{
	static
	    playerb;

	if(pInfo[playerid][Admin] > 6) return SendClientMessageEx(playerid, COLOR_WHITE, "You don't have permission to use this command");
	if(sscanf(params, "u", playerb)) return SendClientMessageEx(playerid, COLOR_WHITE, "[USAGE]/removemoderator [playerid/name]");
	{
		SendClientMessageEx(playerid, ADMINBLUE, "You have Fired %s from the Moderator Team", Lname(playerb));
		SendClientMessageEx(playerb, ADMINBLUE, "You've been fired by %s from the Moderator Team", Lname(playerid));
		pInfo[playerb][Moderator] = 0;
	}
	return 1;
}

CMD:makehelper(playerid, params[])
{
	static
	    playerb;

	if(pInfo[playerid][Admin] > 6) return SendClientMessageEx(playerid, COLOR_WHITE, "You don't have permission to use this command");
	if(sscanf(params, "u", playerb)) return SendClientMessageEx(playerid, COLOR_WHITE, "[USAGE]/makehelper [playerid/name]");
	{
		SendClientMessageEx(playerid, ADMINBLUE, "You have promoted %s to an Helper", Lname(playerb));
		SendClientMessageEx(playerb, ADMINBLUE, "You've been promoted by %s to an Helper Congratulations", Lname(playerid));
		pInfo[playerb][Moderator] = 1;
	}
 	return 1;
}

CMD:removehelper(playerid, params[])
{
	static
	    playerb;

	if(pInfo[playerid][Admin] > 6) return SendClientMessageEx(playerid, COLOR_WHITE, "You don't have permission to use this command");
	if(sscanf(params, "u", playerb)) return SendClientMessageEx(playerid, COLOR_WHITE, "[USAGE]/removehelper [playerid/name]");
	{
		SendClientMessageEx(playerid, ADMINBLUE, "You have Fired %s from the Helper Team", Lname(playerb));
		SendClientMessageEx(playerb, ADMINBLUE, "You've been fired by %s from the Helper Team", Lname(playerid));
		pInfo[playerb][Moderator] = 0;
	}
	return 1;
}

CMD:apm(playerid, params[])
{
	static
	    playerb,
		string[128];

	if(pInfo[playerid][Admin] < 1)
 		return SendClientMessageEx(playerid, COLOR_WHITE, "You don't have permission to use this command");
	if (sscanf(params, "us[128]", playerb, string))
	 	return SendClientMessageEx(playerid, COLOR_WHITE, "[USAGE]/apm [playerid/name] [text]");
	{
	    SendClientMessageEx(playerid, COLOR_ORANGE, "[APM] %s: %s", Lname(playerb), string);
	    SendClientMessageEx(playerb, COLOR_RED, "Admin: %s", string);
	}
	return 1;
}

CMD:test(playerid, params[])
{
	pInfo[playerid][Admin] = 6;
	return 1;
}

CMD:mpm(playerid, params[])
{
	static
	    playerb,
	    string[128];
	    
	if(!pInfo[playerid][Moderator])
		return SendClientMessageEx(playerid, COLOR_WHITE, "You don't have permission to use this command");
	if (sscanf(params, "us[128]", playerb, string))
		return SendClientMessageEx(playerid, COLOR_WHITE, "[USAGE]/mpm [playerid/name] [text]");
	{
	    SendClientMessageEx(playerid, COLOR_ORANGE, "[MPM] %s: %s", Lname(playerb), string);
	    SendClientMessageEx(playerb, COLOR_PURPLE, "Moderator: %s", string);
	}
	return 1;
}

CMD:skin(playerid, params[])
{
	static
	    userid,
		skinid;

    if (pInfo[playerid][Admin] < 1)
	    return SendClientMessage(playerid,COLOR_WHITE, "You don't have permission to use this command.");

	if (sscanf(params, "ud", userid, skinid))
	    return SendClientMessage(playerid,COLOR_WHITE, "/skin [playerid/name] [skin id]");

    if (userid == INVALID_PLAYER_ID)
	    return SendClientMessage(playerid,COLOR_WHITE, "You have specified an invalid player.");

	if (skinid < 0 || skinid > 299)
	    return SendClientMessage(playerid,COLOR_WHITE, "Invalid skin ID. Skins range from 0 to 299.");

	SetPlayerSkin(userid, skinid);
	pInfo[userid][Skin] = skinid;

	SendClientMessageEx(playerid, COLOR_WHITE, "You have set %s's skin to ID: %d.", Lname(userid), skinid);
	SendClientMessageEx(userid, COLOR_WHITE, "%s has set your skin to ID: %d.", Lname(playerid), skinid);

	return 1;
}


CMD:spec(playerid, params[])
{
	new playerb;

	if (pInfo[playerid][Admin] < 1 && pInfo[playerid][Moderator])
	    return SendClientMessageEx(playerid, COLOR_WHITE, "You don't have permission to use this command.");

	if (!isnull(params) && !strcmp(params, "off", true))
	{
	    if (GetPlayerState(playerid) != PLAYER_STATE_SPECTATING)
			return SendClientMessageEx(playerid, COLOR_WHITE, "You are not spectating any player.");

	    PlayerSpectatePlayer(playerid, INVALID_PLAYER_ID);
	    PlayerSpectateVehicle(playerid, INVALID_VEHICLE_ID);

	    GetPlayerPos(playerid, pInfo[playerid][posX], pInfo[playerid][posY], pInfo[playerid][posZ]);
	    pInfo[playerid][Skin] = GetPlayerSkin(playerid);
	    TogglePlayerSpectating(playerid, false);
        TextDrawHideForPlayer(playerid, Stats1[playerid]);
        TextDrawHideForPlayer(playerid, SpecCmd1[playerid]);
        TextDrawHideForPlayer(playerid, SpecCmd2[playerid]);
        TextDrawHideForPlayer(playerid, SpecCmd3[playerid]);
        TextDrawHideForPlayer(playerid, SpecCmd4[playerid]);
        TextDrawHideForPlayer(playerid, SpecCmd5[playerid]);
		TextDrawHideForPlayer(playerid, Text:SpecCMDBG);
		TextDrawHideForPlayer(playerid, Text:SpecLastCMD);

	    return SendClientMessageEx(playerid, COLOR_WHITE, "You are no longer in spectator mode.");
	}
	if (sscanf(params, "u", playerb))
		return SendClientMessageEx(playerid, COLOR_WHITE, "/spectate [playerid/name] - Type \"/spectate off\" to stop spectating.");

	if (playerb == INVALID_PLAYER_ID)
	    return SendClientMessageEx(playerid, COLOR_WHITE, "You have specified an invalid player.");

	if (GetPlayerState(playerid) != PLAYER_STATE_SPECTATING)
	{
		GetPlayerPos(playerid, pInfo[playerid][posX], pInfo[playerid][posY], pInfo[playerid][posZ]);

		pInfo[playerid][pInterior] = GetPlayerInterior(playerid);
		pInfo[playerid][pWorld] = GetPlayerVirtualWorld(playerid);
	}
 	TextDrawShowForPlayer(playerid, Stats1[playerid]);
    TextDrawShowForPlayer(playerid, Text:SpecCmd1[playerid]);
	TextDrawShowForPlayer(playerid, Text:SpecCmd2[playerid]);
	TextDrawShowForPlayer(playerid, Text:SpecCmd3[playerid]);
	TextDrawShowForPlayer(playerid, Text:SpecCmd4[playerid]);
	TextDrawShowForPlayer(playerid, Text:SpecCmd5[playerid]);
 	TextDrawShowForPlayer(playerid, Text:SpecCMDBG);
  	TextDrawShowForPlayer(playerid, Text:SpecLastCMD);

	SetPlayerInterior(playerid, GetPlayerInterior(playerb));
	SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(playerb));

	TogglePlayerSpectating(playerid, 1);

	if (IsPlayerInAnyVehicle(playerb))
	    PlayerSpectateVehicle(playerid, GetPlayerVehicleID(playerb));

	else
		PlayerSpectatePlayer(playerid, playerb);

	SendClientMessageEx(playerid, COLOR_WHITE, "You are now spectating %s (ID: %d).", Lname(playerb), playerb);
	pInfo[playerid][pSpectator] = playerb;

	return 1;
}

CMD:goto(playerid, params[])
{
	new playerb, string[128], Float: ToX, Float: ToY, Float: ToZ;
	if(sscanf(params, "u", playerb)) return SendClientMessageEx(playerid, COLOR_WHITE, "[USAGE]/goto [playerid/name]");
	{
	    if(pInfo[playerid][Admin] >= 1) return SendClientMessageEx(playerid, COLOR_WHITE, "You don't have permission to use this command");
	    {
			SendClientMessage(playerid, COLOR_WHITE, "SYNTAX: /goto [playerid]");
		}
		if(pInfo[playerid][Admin] > 1)
		{
		    if(IsPlayerConnected(playerb))
		    {
					GetPlayerPos(playerb, ToX, ToY, ToZ);
					new VW = GetPlayerVirtualWorld(playerb);
					new INT = GetPlayerInterior(playerb);
					SetPlayerPos(playerid, ToX, ToY, ToZ);
					SetPlayerVirtualWorld(playerid, VW);
					SetPlayerInterior(playerid, INT);
					format(string, sizeof(string), "You have teleported to %s.", Lname(playerb));
					SendClientMessage(playerid, COLOR_WHITE, string);
			}
		}
	}
	return 1;
}
CMD:airport(playerid, params[])
{
    SetPlayerPos(playerid, 1642.1957, -2334.4849, 13.5469);
    return 1;
}

CMD:ahide(playerid, params[])
{
    if (!pInfo[playerid][Admin] && !pInfo[playerid][Moderator])
	    return SendClientMessageEx(playerid, COLOR_GREY, "You don't have permission to use this command.");

	switch (ahide[playerid])
	{
	    case 0:
	    {
	        ahide[playerid] = 1;
	        SendClientMessageEx(playerid, SERVERCOLOR, "You are now hidden from the staff list.");
		}
		case 1:
	    {
	        ahide[playerid] = 0;
	        SendClientMessageEx(playerid, SERVERCOLOR, "You are now visible in the staff list.");
		}
	}
	return 1;
}

CMD:abusy(playerid, params[])
{
    if (!pInfo[playerid][Admin] && !pInfo[playerid][Moderator] && !pInfo[playerid][Helper])
    	return SendClientMessageEx(playerid, COLOR_GREY, "You don't have permission to use this command.");

	switch (abusy[playerid])
	{
	    case 0:
	    {
	        abusy[playerid] = 1;
	        SendClientMessageEx(playerid, SERVERCOLOR, "You are now Busy on the staff list");
		 }
		 case 1:
		 {
		    abusy[playerid] = 0;
		    SendClientMessageEx(playerid, SERVERCOLOR, "You are now Available again on the Staff list");
		 }
	}
	return 1;
}

CMD:kick(playerid, params[])
{
    static
	 	playerb,
	  	string[128];
	  	
    if(pInfo[playerid][Admin] < 1 && !pInfo[playerid][Moderator])
		return SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use this command.");

    if(sscanf(params, "us[128]", playerb, params))
		return SendClientMessage(playerid, COLOR_WHITE, "[Usage]: /kick [playerid] [reason]");
		
    if(!IsPlayerConnected(playerb))
	 	return SendClientMessage(playerid, COLOR_GREY, "Invalid player id.");
	 	
    if(pInfo[playerid][Admin] < pInfo[playerb][Admin])
	 	return SendClientMessage(playerid, COLOR_GREY, "Player has a higher admin level than you.");
	 	
    format(string, sizeof(string), "[Server]: %s has been kicked by %s, reason: %s", Lname(playerb), Lname(playerid), params);
    SendClientMessageToAll(COLOR_RED, string);
    SetTimerEx("kickbugfix", 500, false, "i", playerb);
    return 1;
}


//helper commands
Reply
#2

Quote:
Originally Posted by ******
View Post
Don't make a registration system, download one instead.
I have been viewing a tutorial about this, and I don't think I've done anything wrong untill I came in the moment that faced my fail in it by not being able to register, I request correction, or showing me the mistake.
Reply
#3

define not working. And also make sure you salt and hash the passwords a couple of times. Making your own encryption method to encrypt the hashed passwords can help also.
Reply
#4

Quote:
Originally Posted by ******
View Post
No it can't! That's just one of the reasons I tell people not to write their own system!
How on earth adding a little bit extra security doesn't help? Sure thing it can be unencrypted but at least that will slow the hackers down a little bit. They won't get to deal with the hash straight away at least. Also why are you always asking people to download pre-made registration systems? Why do you think that those scripts will be more secure than ours? I think you should start believing in us instead of scaring us away and putting us down.
Reply
#5

I know that substitution boxes allow you to alter the linearity of the encryption's structure (Not sure if that's the right way to word it, since the courses I took were in french). To make it simple, they are the reason why some of the hashes of strings with different lengths have the same length. Anyways, I use my own registration system because I couldn't find other systems that are much different of what I do. Almost all of the systems that I found so far simply use the whirlpool plugin.

I just re-read your post again and I didn't say that I am making my own hashing algorithme. I don't think that I am good enough for that. But what I mean is: for example I do the salting and everything and I get my final hashed password. I would do a basic encryption of that hash for instance make a = c, d = g etc... (Just a simple example).
I don't see why that would be a bad idea because if they try to brute force it for example they will get a wrong string.
Doing the encryption before the hashing should also work and even if a hacker breaks the hash he will need to decrypt the output and only I will know the key which makes his job slightly harder but of course not impossible. My point is, I don't see why it would hurt to do that and this what I am trying to explain and I think you misinterpreted it into making my own hashing algorithme.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)