All pastes #944684 Raw Edit

Anonymous

public text v1 · immutable
·published 2008-03-16 09:53 UTC
rendered paste body
#include <a_samp>
#include <core>
#include <float>
#include <dudb>

new logged[MAX_PLAYERS];
new money[MAX_PLAYERS];
new playername[MAX_PLAYER_NAME];

#define TEAM_HERO 1 // Team Vagos
#define TEAM_CRIMINAL 2 // Team Ballas
#define TEAM_ADMIN 3
#define TEAM_KIDNAP 4

#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_GREY 0xAFAFAFAA
#define OBJECTIVE_COLOR 0xFFFF00AA
#define COLOR_RED  0xCD5C5CAA
#define COLOR_LIGHTBLUE 0x48D1CCAA
#define COLOR_BLACK 0x000000AA
#define COLOR_ERROR 0x800000AA
#define COLOR_GREEN 0x00FF00AA
#define COLOR_ADMIN 0xA52A2AAA

new read[MAX_PLAYERS];
new Menu:RulesMenu;
new Menu:Rules;
new Text:gTextDraw;
new LoggedHaha;
new FrozenHaha;
new frozen[MAX_PLAYERS];

static gTeam[MAX_PLAYERS];

forward SetPlayerToTeamColor(playerid); // Speler naar teamkleur zetten
forward SetupPlayerForClassSelection(playerid); // Speler klaarmaken voor setup
forward SetPlayerTeamFromClass(playerid,classid); // Speler in team zetten
forward ExitTheGameMode(); // uit gamemode gaan
forward LoggedIn(playerid);
forward FrozenIn(playerid);

main()
{
    print("\n----------------------------------");
    print(" RPG San Fierro Hero\n");
    print("----------------------------------\n");
}

public OnGameModeInit()
{
	{
			SetGameModeText("RPG San Fierro Hero");
            SetWorldTime(8); // tijd in uren.
            ShowNameTags(1); // Spelers namen boven health balk aan of uit. Nu aan
            ShowPlayerMarkers(1); // Blokjes op radar aan of uit? Nu aan

            // Vehicles Vagos ---------- Zet hier de autos van de Vagos neer

            // Vehicles Ballas ---------- Zet hier de autos van de Ballas neer

            AddPlayerClass(120, -1568.027, 681.1583, 7.1875,270.0,46,1,0,0,0,0);
            AddPlayerClass(228, -1568.027, 681.1583, 7.1875,270.0,46,1,0,0,0,0);
            AddPlayerClass(163, -1568.027, 681.1583, 7.1875,270.0,46,1,0,0,0,0);

            AddPlayerClass(22, -1496.554, 918.931, 7.1875,270.0,0,0,0,0,0,0);
            AddPlayerClass(1, -1496.554, 918.931, 7.1875,270.0,0,0,0,0,0,0);
            AddPlayerClass(1, -1496.554, 918.931, 7.1875,270.0,0,0,0,0,0,0);

			AddPlayerClass(22, -1519.892, 677.1359, 139.2734,270.0,46,1,0,0,0,0);

			AddPlayerClass(22, -1519.892, 677.1359, 139.2734,270.0,46,1,0,0,0,0);

			gTextDraw = TextDrawCreate( 460.0, 420.0, "RPG San Fierro Hero!");
            TextDrawFont(gTextDraw, 0);
			TextDrawUseBox(gTextDraw, 0);
			RulesMenu = CreateMenu("Accept rules? Or don't",1,200,200,400,35);
			AddMenuItem(RulesMenu, 0, "Read the rules");
			AddMenuItem(RulesMenu, 0, "Agree");
			AddMenuItem(RulesMenu, 0, "Disagree");
			Rules = CreateMenu("The rules:",1,200,200,400,35);
			AddMenuItem(Rules, 0, "Do NOT hack~n~Do NOT spam~n~Do NOT ask for admin~n~Do NOT abuse glitches");
	}
    return 1;
}
public OnPlayerConnect(playerid)
{
	frozen[playerid] = 0;
	read[playerid] = 0;
    SetPlayerColor(playerid,COLOR_GREY); // Kleur
    GameTextForPlayer(playerid,"RPG San Fierro Hero",2000,5); // Text
    SendClientMessage(playerid, COLOR_RED, "Welcome to this gamemode");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Good luck, and have fun :)");
    logged[playerid] = 0;
	EnableStuntBonusForAll(0);
	return 1;
}
public SetupPlayerForClassSelection(playerid)
{
    SetPlayerInterior(playerid,11);
    SetPlayerPos(playerid,-1653.57,519.6589,53.62505);
    SetPlayerCameraPos(playerid,-1648.57,519.6584,53.62505);
    SetPlayerCameraLookAt(playerid,-1653.57,519.6589,53.62505);
    SetPlayerFacingAngle(playerid,0.0);
}
public SetPlayerTeamFromClass(playerid,classid)
{
    if(classid == 0 || classid == 1 || classid == 2)
    {
        gTeam[playerid] = TEAM_HERO;
    }
	else if(classid == 3 || classid == 4 || classid == 5)
	{
        gTeam[playerid] = TEAM_CRIMINAL;
	}
	else if(classid == 6)
	{
		gTeam[playerid] = TEAM_ADMIN;
	}
	else if(classid == 7)
	{
		gTeam[playerid] = TEAM_KIDNAP;
	}
	return 1;
    }

public SetPlayerToTeamColor(playerid)
{
    if(gTeam[playerid] == TEAM_HERO) {
        SetPlayerColor(playerid,COLOR_RED); // geel
    } else if(gTeam[playerid] == TEAM_CRIMINAL) {
        SetPlayerColor(playerid,COLOR_BLACK); // roze/paars
    } else if(gTeam[playerid] == TEAM_ADMIN) {
        SetPlayerColor(playerid,COLOR_ADMIN); // roze/paars
    } else if(gTeam[playerid] == TEAM_KIDNAP) {
        SetPlayerColor(playerid,COLOR_YELLOW); // roze/paars
    }
}
public OnPlayerRequestClass(playerid, classid)
{
    SetupPlayerForClassSelection(playerid);
    SetPlayerTeamFromClass(playerid,classid);

    if(classid == 0 || classid == 1 || classid == 2) {
        GameTextForPlayer(playerid,"~y~HERO",1000,5);
    } else if(classid == 3 || classid == 4 || classid == 5) {
        GameTextForPlayer(playerid,"~r~CRIMINAL",1000,5);
    }
    else if(classid == 6) {
        GameTextForPlayer(playerid,"~y~ADMIN",1000,5);
	}
	else if(classid == 7) {
	    GameTextForPlayer(playerid,"KIDNAPPER",1000,5);
	}
    TextDrawHideForPlayer(playerid, gTextDraw);
	return 1;
}
public OnPlayerSpawn(playerid)
{
	SetPlayerTeamFromClass(playerid, GetPlayerSkin(playerid));
    SetPlayerToTeamColor(playerid);
    SetPlayerInterior(playerid,0);
	if(gTeam[playerid] == TEAM_HERO)
    {
        GameTextForPlayer(playerid,"Avoid the Terrorist!", 6000,5);
    }
    else if(gTeam[playerid] == TEAM_CRIMINAL)
    {
        GameTextForPlayer(playerid,"Kill the ~y~Minister!", 6000,5);
    }
    else if(gTeam[playerid] == TEAM_ADMIN)
    {
		if(IsPlayerAdmin(playerid) == 0)
		{
			SetPlayerHealth(playerid, 0.0);
		    SendClientMessage(playerid, COLOR_RED, "You are NOT admin. You get killed");
	    }
		else
		{
			GameTextForPlayer(playerid,"Hello admin :)", 6000,5);
			read[playerid] = 1;
		}
	}
	else if (gTeam[playerid] == TEAM_KIDNAP)
	{
	    GameTextForPlayer(playerid,"Kidnap civics or cops!",6000,5);
	}
	if(logged[playerid] == 0)
    {
		frozen[playerid] = 1;
		FrozenHaha = SetTimer("FrozenIn", 1000, 999);
		LoggedHaha = SetTimer("LoggedIn", 1000, 999);
	}
	else
	{
	    KillTimer(FrozenHaha);
	    KillTimer(LoggedHaha);
	}
	if(read[playerid] == 0)
	{
    TextDrawShowForPlayer(playerid, gTextDraw);
    ShowMenuForPlayer(RulesMenu, playerid);
    }
	return 1;
}
public ExitTheGameMode()
{
    GameModeExit();
}
public OnPlayerDeath(playerid, killerid, reason)
{
    new deathstr[256];
    new whodiedname[MAX_PLAYER_NAME+1];
    new whokilledname[MAX_PLAYER_NAME+1];
    new deathreasonstr[256];

    GetPlayerName(playerid,whodiedname,MAX_PLAYER_NAME);
    GetWeaponName(reason,deathreasonstr,255);

    if(killerid == INVALID_PLAYER_ID) {
        if(strlen(deathreasonstr)) {
            format(deathstr,256,"%s died (%s)",whodiedname,deathreasonstr);
        } else {
            format(deathstr,256,"%s died",whodiedname);
        }
        SendClientMessageToAll(OBJECTIVE_COLOR, deathstr);
    } else {
        GetPlayerName(killerid,whokilledname,MAX_PLAYER_NAME);
        if(gTeam[killerid] != gTeam[playerid]) {
            // Valid kill
            if(strlen(deathreasonstr)) {
                format(deathstr,256,"%s was killed by %s (%s)",whodiedname,whokilledname,deathreasonstr);
            } else {
                format(deathstr,256,"%s was killed by %s",whodiedname,whokilledname);
            }
            SendClientMessageToAll(OBJECTIVE_COLOR, deathstr);
            SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
         }
        else {
            // Team kill
            format(deathstr,256,"%s killed team-mate %s (%s)",whokilledname,whodiedname,deathreasonstr);
            SendClientMessageToAll(OBJECTIVE_COLOR, deathstr);
        }
    }
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	new cmd[256],tmp[256], tmp2[256];
    new idx;
    new string[256];
    cmd = strtok(cmdtext, idx);
	if(strcmp(cmd, "/kidnap", true) == 0)
	{
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)){
	SendClientMessage(playerid, 0xD2691EAA, "USAGE: /kidnap (id)");
	return 1;
	}
	new victimplayerid = strval(tmp);

	if(IsPlayerConnected(victimplayerid))
    {
	    if(GetDistanceBetweenPlayers(playerid, victimplayerid) < 4)
	    {
			if(gTeam[playerid] == TEAM_KIDNAP)
			{
				new victimname[24];
				new kidnapname[24];
				new giveplayerid = strval(tmp);
				GetPlayerName(giveplayerid, victimname, 24);
				GetPlayerName(playerid, kidnapname, 21);
				SendClientMessage(victimplayerid, COLOR_RED, "You are kidnapped by %s", kidnapname);
				SendClientMessage(playerid, COLOR_GREEN, "You kidnapped him!");
				GivePlayerMoney(playerid, 2000);
			}
			else
			{
					SendClientMessage(playerid, COLOR_RED, "You are not a kidnapper");
			}
		}
		else
	    {
			format(string, sizeof(string), "ID: %d Is not connected", victimplayerid);
			SendClientMessage(playerid, 0xD2691EAA, string);
		}
		return 1;
	}
	return 0;
}
	if (strcmp("/kill", cmdtext, true, 10) == 0)
	{
		SetPlayerHealth(playerid, 0.0);
		return 1;
	}
	if (strcmp("/credits", cmdtext, true, 10) == 0)
	{
	    SendClientMessage(playerid, COLOR_GREEN, "Gamemode created by Jeroen");
	    SendClientMessage(playerid, COLOR_GREEN, "Thanks to =>Sandra<=");
	    SendClientMessage(playerid, COLOR_GREEN, "Thanks to Sa-mp.com");
	    SendClientMessage(playerid, COLOR_GREEN, "Gamemode created by Jeroen");
		return 1;
	}
    GetPlayerName(playerid, playername, sizeof(playername));
    if(strcmp(cmd, "/register", true) == 0)
    {
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /register (password)");
        }
        else
        {
            if (!dini_Exists(udb_encode(playername)))
            {
                dini_Create(udb_encode(playername));
                dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));
                dini_IntSet(udb_encode(playername), "money", 0);
                format(string, sizeof(string), "Account %s Created! You can now loggin with password: %s.", playername, tmp);
                SendClientMessage(playerid, COLOR_YELLOW, string);
            }
            else
            {
                format(string, sizeof(string), "%s already registered.", playername,tmp);
                SendClientMessage(playerid, COLOR_RED, string);
            }
        }
        return 1;
    }


    if(strcmp(cmd, "/login", true) == 0)
    {
        if(logged[playerid] == 1)
        {
            SendClientMessage(playerid, COLOR_RED, "You are already logged in!");
            return 1;
        }
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, COLOR_YELLOW, "Use: /login [password]");
        }
        else
        {
            if (dini_Exists(udb_encode(playername)))
            {
                tmp2 = dini_Get(udb_encode(playername), "password");
                if (udb_hash(tmp) != strval(tmp2))
                {
                    SendClientMessage(playerid, COLOR_RED, "Wrong password");
                }
                else
                {
                    frozen[playerid] = 1;
					logged[playerid] = 1;
                    money[playerid] = dini_Int(udb_encode(playername), "money");
                    format(string, sizeof(string), "%s, you are now logged in! You've got %d dollar", playername, money[playerid]);
                    SendClientMessage(playerid, COLOR_GREEN, string);
                    GivePlayerMoney(playerid, money[playerid]);
                }
            }
            else
            {
                format(string, sizeof(string), "The account %s doesn't exist yet! Create an account by using /register [password]", playername);
                SendClientMessage(playerid, COLOR_RED, string);
            }
        }
        return 1;
    }
    if(strcmp(cmd, "/adkick", true) == 0 && IsPlayerAdmin(playerid) == 1)
	{
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)){
	SendClientMessage(playerid, 0xD2691EAA, "USAGE: /adkick (id)");
	return 1;
	}
	new kickedplayerid = strval(tmp);

	if(IsPlayerConnected(kickedplayerid)) {
	new kickname[24];
	new adminname[24];
	new kicked[256];
	new giveplayerid = strval(tmp);
	GetPlayerName(giveplayerid, kickname, 24);
	GetPlayerName(playerid, adminname, 21);
	format(kicked, sizeof(kicked), "%s has been kicked by admin, %s", kickname, adminname);
	SendClientMessageToAll(0xFF7F50AA, kicked);
	Kick(kickedplayerid);
	}
	else {
	format(string, sizeof(string), "ID: %d Is not connected", kickedplayerid);
	SendClientMessage(playerid, 0xD2691EAA, string);
	}
	return 1;
	}
 	if(strcmp(cmd, "/adhugg", true) == 0 && IsPlayerAdmin(playerid) == 1)
	{
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)){
	SendClientMessage(playerid, 0xD2691EAA, "USAGE: /adhugg (id)");
	return 1;
	}
	new huggedplayerid = strval(tmp);

	if(IsPlayerConnected(huggedplayerid)) {
	new huggname[24];
	new adminname[24];
	new hugged[256];
	new giveplayerid = strval(tmp);
	GetPlayerName(giveplayerid, huggname, 24);
	GetPlayerName(playerid, adminname, 21);
	format(hugged, sizeof(hugged), "%s has been hugged by admin, %s", huggname, adminname);
	SendClientMessageToAll(0xFF7F50AA, hugged);
	GameTextForPlayer(huggedplayerid, "~p~You are hugged", 5000,6);
	GivePlayerMoney(huggedplayerid, 6000);
	}
	else {
	format(string, sizeof(string), "ID: %d Is not connected", huggedplayerid);
	SendClientMessage(playerid, 0xD2691EAA, string);
	}
	return 1;
	}

	if(strcmp(cmd, "/adban", true) == 0 && IsPlayerAdmin(playerid) == 1)
	{
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)){
	SendClientMessage(playerid, 0xD2691EAA, "USAGE: /adban (id)");
	return 1;
	}
	new bannedplayerid = strval(tmp);

	if(IsPlayerConnected(bannedplayerid)) {
	new banname[24];
	new adminname[24];
	new kicked[256];
	new giveplayerid = strval(tmp);
	GetPlayerName(giveplayerid, banname, 24);
	GetPlayerName(playerid, adminname, 21);
	format(kicked, sizeof(kicked), "%s has been kicked by admin, %s", banname, adminname);
	SendClientMessageToAll(0xFF7F50AA, kicked);
	Ban(bannedplayerid);
	}
	else {
	format(string, sizeof(string), "ID: %d Is not connected", bannedplayerid);
	SendClientMessage(playerid, 0xD2691EAA, string);
	}
	return 1;
	}
	if(strcmp(cmd, "/adfreeze", true) == 0 && IsPlayerAdmin(playerid) == 1)
	{
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)){
	SendClientMessage(playerid, 0xD2691EAA, "USAGE: /adfreeze (id)");
	return 1;
	}
	new frozenplayerid = strval(tmp);

	if(IsPlayerConnected(frozenplayerid)) {
	new frozenname[24];
	new adminname[24];
	new frozen1[256];
	new giveplayerid = strval(tmp);
	GetPlayerName(giveplayerid, frozenname, 24);
	GetPlayerName(playerid, adminname, 21);
	format(frozen1, sizeof(frozen1), "%s has been frozen by admin, %s", frozenname, adminname);
	SendClientMessageToAll(0xFF7F50AA, frozen1);
	TogglePlayerControllable(frozenplayerid, 0);
	}
	else {
	format(string, sizeof(string), "ID: %d Is not connected", frozenplayerid);
	SendClientMessage(playerid, 0xD2691EAA, string);
	}
	return 1;
	}
	if(strcmp(cmd, "/adunfreeze", true) == 0 && IsPlayerAdmin(playerid) == 1)
	{
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)){
	SendClientMessage(playerid, 0xD2691EAA, "USAGE: /adunfreeze (id)");
	return 1;
	}
	new unfrozenplayerid = strval(tmp);

	if(IsPlayerConnected(unfrozenplayerid)) {
	new unfrozenname[24];
	new adminname[24];
	new unfrozen[256];
	new giveplayerid = strval(tmp);
	GetPlayerName(giveplayerid, unfrozenname, 24);
	GetPlayerName(playerid, adminname, 21);
	format(unfrozen, sizeof(unfrozen), "%s has been unfrozen by admin, %s", unfrozenname, adminname);
	SendClientMessageToAll(0xFF7F50AA, unfrozen);
	TogglePlayerControllable(unfrozenplayerid, 1);
	}
	else {
	format(string, sizeof(string), "ID: %d Is not connected", unfrozenplayerid);
	SendClientMessage(playerid, 0xD2691EAA, string);
	}
	return 1;
	}
	if(strcmp(cmd, "/adblow", true) == 0 && IsPlayerAdmin(playerid) == 1)
	{
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)){
	SendClientMessage(playerid, 0xD2691EAA, "USAGE: /adblow (id)");
	return 1;
	}
	new blowenplayerid = strval(tmp);

	if(IsPlayerConnected(blowenplayerid)) {
	new blowenname[24];
	new adminname[24];
	new blowen[256];
	new giveplayerid = strval(tmp);
	GetPlayerName(giveplayerid, blowenname, 24);
	GetPlayerName(playerid, adminname, 21);
	format(blowen, sizeof(blowen), "%s has been blowen by admin, %s", blowenname, adminname);
	SendClientMessageToAll(0xFF7F50AA, blowen);
	new Float:x, Float:y, Float:z;
	GetPlayerPos(playerid, Float:x, Float:y, Float:z);
	CreateExplosion(Float:x, Float:y, Float:z, 9, 0);
	CreateExplosion(Float:x, Float:y, Float:z, 9, 0);
	CreateExplosion(Float:x, Float:y, Float:z, 9, 0);
	CreateExplosion(Float:x, Float:y, Float:z, 9, 0);
	}
	else {
	format(string, sizeof(string), "ID: %d Is not connected", blowenplayerid);
	SendClientMessage(playerid, 0xD2691EAA, string);
	}
	return 1;
	}
	if(strcmp(cmd, "/disarm", true) == 0 && IsPlayerAdmin(playerid) == 1)
	{
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)){
	SendClientMessage(playerid, 0xD2691EAA, "USAGE: /disarm (id)");
	return 1;
	}
	new disarmedplayerid = strval(tmp);

	if(IsPlayerConnected(disarmedplayerid)) {
	new disarmedname[24];
	new adminname[24];
	new disarmed[256];
	new giveplayerid = strval(tmp);
	GetPlayerName(giveplayerid, disarmedname, 24);
	GetPlayerName(playerid, adminname, 21);
	format(disarmed, sizeof(disarmed), "%s has been disarmed by admin, %s", disarmedname, adminname);
	SendClientMessageToAll(0xFF7F50AA, disarmed);
	ResetPlayerWeapons(disarmedplayerid);
	}
	else {
	format(string, sizeof(string), "ID: %d Is not connected", disarmedplayerid);
	SendClientMessage(playerid, 0xD2691EAA, string);
	}
	return 1;
	}
	if(strcmp(cmd, "/reset", true) == 0 && IsPlayerAdmin(playerid) == 1)
	{
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)){
	SendClientMessage(playerid, 0xD2691EAA, "USAGE: /reset (id)");
	return 1;
	}
	new resettenplayerid = strval(tmp);

	if(IsPlayerConnected(resettenplayerid)) {
	new resetname[24];
	new adminname[24];
	new resetten[256];
	new giveplayerid = strval(tmp);
	GetPlayerName(giveplayerid, resetname, 24);
	GetPlayerName(playerid, adminname, 21);
	format(resetten, sizeof(resetten), "Account: %s has been resetten by admin, %s", resetname, adminname);
	SendClientMessageToAll(0xFF7F50AA, resetten);
	ResetPlayerWeapons(resettenplayerid);
	ResetPlayerMoney(resettenplayerid);
	SetPlayerHealth(resettenplayerid, 100.0);
	SetPlayerArmour(resettenplayerid, 0.0);
	SetPlayerScore(resettenplayerid, 0);
	}
	else {
	format(string, sizeof(string), "ID: %d Is not connected", resettenplayerid);
	SendClientMessage(playerid, 0xD2691EAA, string);
	}
	return 1;
	}
    if(strcmp(cmd, "/goto", true) == 0 && IsPlayerAdmin(playerid) == 1)
	{
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)){
	SendClientMessage(playerid, 0xD2691EAA, "USAGE: /goto (id)");
	return 1;
	}
	new gotoplayerid = strval(tmp);

	if(IsPlayerConnected(gotoplayerid)) {
	new gotoname[24];
	new typedname[24];
	new adminname[24];
	new giveplayerid = strval(tmp);
	GetPlayerName(playerid, typedname, 24);
	GetPlayerName(giveplayerid, gotoname, 24);
	GetPlayerName(playerid, adminname, 21);
 	new Float:x, Float:y, Float:z;
 	GetPlayerPos(gotoplayerid, Float:x, Float:y, Float:z);
 	SetPlayerPos(playerid, Float:x, Float:y, Float:z);
	}
	else {
	format(string, sizeof(string), "ID: %d Is not connected", gotoplayerid);
	SendClientMessage(playerid, 0xD2691EAA, string);
	}
	return 1;
	}
	if(strcmp(cmd, "/bring", true) == 0 && IsPlayerAdmin(playerid) == 1)
	{
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)){
	SendClientMessage(playerid, 0xD2691EAA, "USAGE: /bring (id)");
	return 1;
	}
	new bringplayerid = strval(tmp);

	if(IsPlayerConnected(bringplayerid)) {
	new bringname[24];
	new typedname[24];
	new adminname[24];
	new giveplayerid = strval(tmp);
	GetPlayerName(playerid, typedname, 24);
	GetPlayerName(giveplayerid, bringname, 24);
	GetPlayerName(playerid, adminname, 21);
 	new Float:x, Float:y, Float:z;
 	GetPlayerPos(playerid, Float:x, Float:y, Float:z);
 	SetPlayerPos(bringplayerid, Float:x, Float:y, Float:z);
	}
	else {
	format(string, sizeof(string), "ID: %d Is not connected", bringplayerid);
	SendClientMessage(playerid, 0xD2691EAA, string);
	}
	return 1;
	}
	if(strcmp(cmd, "/say", true) == 0 && IsPlayerAdmin(playerid) == 1)
      {
      if(cmdtext[5] == 0) {
      SendClientMessage(playerid, 0xFF0000FF, "USAGE: /say [action]");
      return 1;
      }
      new str[128];
      GetPlayerName(playerid, str, sizeof(str));
      format(str, sizeof(str), "*Admin %s says: %s", str, cmdtext[5]);
      SendClientMessageToAll(0x48D1CCAA, str);
   	  return 1;
  	  }
	if(strcmp(cmd, "/adan", true) == 0 && IsPlayerAdmin(playerid) == 1)
      {
      if(cmdtext[5] == 0) {
      SendClientMessage(playerid, 0xFF0000FF, "USAGE: /adan [text]");
      return 1;
      }
      new str[128];
	  format(str, sizeof(str), "*Admin %s says: %s", str, cmdtext[5]);
   	  return 1;
  	  }
    return 0;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
TogglePlayerControllable(playerid, 1);
new Menu:Current = GetPlayerMenu(playerid);

if (Current == RulesMenu)
{
switch(row) {
case 0: {ShowMenuForPlayer(Rules, playerid); TogglePlayerControllable(playerid, 0);}
case 1: {TogglePlayerControllable(playerid, 1); read[playerid] = 1;}
case 2: {Kick(playerid);}
}
}
if (Current == Rules)
{
switch(row) {
case 0: {ShowMenuForPlayer(RulesMenu, playerid); TogglePlayerControllable(playerid, 0);}
}
}
return 1;
}

public OnPlayerExitedMenu(playerid)
{
new Menu:Current = GetPlayerMenu(playerid);
if (Current == RulesMenu || Rules)
{
TogglePlayerControllable(playerid, 0);
ShowMenuForPlayer(RulesMenu, playerid);
}

else {
TogglePlayerControllable(playerid, 0);
}

return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
    money[playerid] = GetPlayerMoney(playerid);
    dini_IntSet(udb_encode(playername), "money", money[playerid]);
    logged[playerid] = 0;
    return 1;
}
public LoggedIn(playerid)
{
		if(logged[playerid] == 0)
		{
			TogglePlayerControllable(playerid, false);
			GameTextForPlayer(playerid, "/login [password] before spawning!", 2000, 1);
		}
}
public FrozenIn(playerid)
{
		if(frozen[playerid] == 1 && logged[playerid] == 1)
		{
			TogglePlayerControllable(playerid, true);
			KillTimer(LoggedHaha && FrozenHaha);
		}
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	SendClientMessage(playerid, COLOR_GREY, "You are now driving a vehicle");
	return 1;
}
stock GetDistanceBetweenPlayers(playerid, otherplayer)
{
    new Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2;
    new Float:tmpdis;
    GetPlayerPos(playerid, x1, y1, z1);
    GetPlayerPos(otherplayer, x2, y2, z2);
    tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2, x1)), 2) + floatpower(floatabs(floatsub(y2, y1)), 2) + floatpower(floatabs(floatsub(z2, z1)), 2));
    return floatround(tmpdis);
}