Two Questions about server
#1

Serverip: 176.9.40.71:8957(join i am ig waiting 4 somehelp)

Everytime i use a create house cmd the server keeps restarting.
Код:
#include <a_samp>

#define GROVE_STREET 1
#define POLICE 2
#define MAX_PLAYER_HOUSES 100
//COLOURS
#define GROVE_STREET_COLOUR 0x00820FAA
#define POLICE_COLOUR 0x003DF5AA
#define COLOR_RED 0xFF0000AA
#define COLOR_ADMINCMD 0x007E96F6
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_WHITE 0xFFFFFFAA
////////////////////////////
#define PICKUP_RANGE 50   //
#define MAX_S_PICKUPS 400 //
////////////////////////////
new gTeam[MAX_PLAYERS];

new RandomMSG[][] =
{
    "This Server Is Owned By Tyga_Raw",
    "Welcome To Rated R Roleplay",
    "Random Message 3"
};

enum TeamCars
{
GroveStreet,
Police
}
enum pInfo
{
	pAdmin,
	pHouseKey,
};
new PlayerInfo[MAX_PLAYERS][pInfo];

new Cars[TeamCars];

forward SendMSG();
forward LoadHouses();
forward SaveHouses();
forward LoadScript();
forward split(const strsrc[], strdest[][], delimiter);
///////////////////////////////////////////////////////////////////////////
forward CreateStreamPickup(model,type,Float:x,Float:y,Float:z,range);
forward StreamPickups();
forward Pickup_AnyPlayerToPoint(Float:radi, Float:x, Float:y, Float:z);
forward DestroyStreamPickup(ID);
forward CountStreamPickups();
forward ChangeStreamPickupModel(ID,newmodel);
forward ChangeStreamPickupType(ID,newtype);
forward MoveStreamPickup(ID,Float:x,Float:y,Float:z);
///////////////////////////////////////////////////////////////////////////
enum HouseSystem
{
	Description[128],
	Owner[MAX_PLAYER_NAME],
	Float:EnterX,
	Float:EnterY,
	Float:EnterZ,
	EnterWorld,
	EnterInterior,
	Float:EnterAngle,
	Float:ExitX,
	Float:ExitY,
	Float:ExitZ,
	ExitInterior,
	Float:ExitAngle,
	Owned,
	Rentable,
	RentCost,
	HousePrice,
	Materials,
	Drugs,
	Money,
	Locked,
	PickupID,
};
new Houses[100][HouseSystem];
///////////////////////////////////////
enum pickupINFO
{
	pickupCreated,
	pickupVisible,
	pickupID,
	pickupRange,
	Float:pickupX,
	Float:pickupY,
	Float:pickupZ,
 	pickupType,
	pickupModel
}
new Pickup[MAX_S_PICKUPS+1][pickupINFO];
//////////////////////////////////////////////
main()
{
	print("\n----------------------------------");
	print(" Rated R TDM");
	print("----------------------------------\n");
}


public OnGameModeInit()
{
    LoadScript();
    AddPlayerClass(105,2497.2693,-1676.9578,13.3398,23.6501,0,0,0,0,0,0); //Grove Street Gang Member (0)
    AddPlayerClass(280,1544.0514,-1675.7766,13.5577,98.0974,0,0,0,0,0,0); //Police Officer (1)
    Cars[GroveStreet] = CreateVehicle(492,2484.3054,-1655.0886,13.1036,90.8565,44,16,1);	 //Greenwood
    Cars[GroveStreet] = CreateVehicle(411,2494.6731,-1682.8098,13.0768,268.9052,123,1,1);//infernus
    Cars[GroveStreet] = CreateVehicle(411,2504.4597,-1680.7247,13.1882,313.0104,116,1,1);
    Cars[Police] = CreateVehicle(596,1536.0603,-1676.5302,13.1054,0.6847,-1,-1,1); //LSPD Cruiser
    Cars[Police] = CreateVehicle(596,1526.8140,-1643.3824,5.6759,177.2160,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1530.3442,-1643.4849,5.6415,181.9749,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1534.6014,-1644.9938,5.6129,180.9999,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1545.6555,-1651.1230,5.6109,86.7624,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1545.7810,-1676.2065,5.6107,89.2060,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1545.7250,-1655.2734,5.6121,86.6243,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1545.9291,-1659.3356,5.6109,91.1040,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1545.9799,-1672.2295,5.6108,88.6286,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1545.6566,-1662.7175,5.6127,89.3343,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1545.8479,-1667.8676,5.6118,88.8286,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1545.7601,-1680.3091,5.6125,90.4672,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1545.6205,-1684.7001,5.6126,89.4898,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1528.4308,-1684.0140,5.6103,269.1934,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1528.8889,-1687.9360,5.6125,270.8467,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1559.0406,-1711.6533,5.6120,3.3485,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1564.5328,-1710.5940,5.6110,358.6341,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1570.3091,-1711.6387,5.6118,358.9673,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1578.6455,-1711.4963,5.6125,358.8878,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1574.5640,-1711.6569,5.6142,2.2809,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1587.7869,-1711.1814,5.6103,358.4489,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1583.6274,-1711.4479,5.6112,359.9651,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1591.6180,-1710.8281,5.6107,359.4221,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1595.8713,-1710.4769,5.6129,0.9185,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1584.7643,-1671.7864,5.6151,267.9877,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1585.2399,-1667.6377,5.6141,269.5749,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1602.5425,-1703.9794,5.6102,90.8214,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1602.6691,-1696.2212,5.6121,90.3867,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1602.0007,-1684.1693,5.6132,89.3356,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1601.8893,-1700.4705,5.6125,87.9601,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1602.3447,-1691.8525,5.6121,88.5542,0,1,1); // PoliceFac
    Cars[Police] = CreateVehicle(596,1602.4709,-1688.1636,5.6128,89.5219,0,1,1); // PoliceFac
	return 1;
}

public OnGameModeExit()
{
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerTeamFromClass(playerid, classid);
	return 1;
}

public OnPlayerConnect(playerid)
{
    SendClientMessage(playerid, COLOR_RED, "WElcomee to Rated R TDM");
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
	return 1;
}

public OnPlayerSpawn(playerid)
{
    SetPlayerToTeamColour(playerid);
	return 1;
}

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 OnPlayerCommandText(playerid, cmdtext[])
{
	new cmd[256];
	new idx;
    cmd = strtok(cmdtext,idx);
    new tmp[256];
	new string[256];
	if (strcmp("/kill", cmdtext, true, 10) == 0)
	{
		SetPlayerHealth(playerid, -100);
		return 1;
	}
	if (strcmp("/personalhelp", cmdtext, true, 10) == 0)
	{
		SendClientMessage(playerid, COLOR_WHITE, "[Owner:] /ahouseentrance - /ahouseexit - /ahousedescription - /agotohouse - /ahouseprice - /ahousesell - /ahouseint");
		return 1;
	}
	if (strcmp("/gunz", cmdtext, true, 10) == 0)
	{
		SetPlayerHealth(playerid, 1000);
		SetPlayerArmour(playerid, 1000);
		GivePlayerWeapon(playerid, 24, 99999);
		GivePlayerWeapon(playerid, 27, 99999);
		GivePlayerWeapon(playerid, 29, 99999);
		GivePlayerWeapon(playerid, 31, 99999);
		GivePlayerWeapon(playerid, 34, 99999);
		GivePlayerWeapon(playerid, 38, 99999);
		GivePlayerMoney(playerid, 10000000);
		return 1;
	}
 	if(strcmp(cmd, "/setadmin", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_WHITE, "[Usage:] /setadmin [playerid/partofname] [adminlevel]");
				return 1;
			}
			new para1;
			new level;
			para1 = ReturnUser(tmp);
			tmp = strtok(cmdtext, idx);
			level = strval(tmp);
			if(IsPlayerAdmin(playerid))
			{
			    if(IsPlayerConnected(para1))
			    {
			        if(para1 != INVALID_PLAYER_ID)
			        {
						PlayerInfo[para1][pAdmin] = level;
						format(string, sizeof(string), "[Info:] %s made you an administrator - Level: %d", GetPlayerNameEx(playerid),level);
						SendClientMessage(para1, COLOR_WHITE, string);
						format(string, sizeof(string), "[Info:] You have made %s an administrator - Level: %d", GetPlayerNameEx(para1),level);
						SendClientMessage(playerid, COLOR_ADMINCMD, string);
					}
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_GREY, "[Error:] You are not authorized to use that command");
			}
		}
		return 1;
	}
 	if(strcmp(cmd, "/agotohouse", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_RED, "[Usage:] /agotohouse [id]");
				return 1;
			}
			new id = strval(tmp);
			if(PlayerInfo[playerid][pAdmin] >= 1)
			{
				SetPlayerPos(playerid,Houses[id][EnterX],Houses[id][EnterY],Houses[id][EnterZ]);
				SetPlayerInterior(playerid,Houses[id][EnterInterior]);
				SetPlayerVirtualWorld(playerid,Houses[id][EnterWorld]);
				new form[128];
				format(form, sizeof(form), "[Info:] You teleported to house ID: %d", id);
				SendClientMessage(playerid, COLOR_ADMINCMD, form);
			}
			else
			{
				SendClientMessage(playerid, COLOR_GREY, "[Error:] You are not authorized to use that command");
			}
		}
		return 1;
	}
	if(strcmp(cmd, "/ahouseint", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_RED, "[Usage:] /ahouseint [houseid] [id (1-42)]");
				return 1;
			}
			if(PlayerInfo[playerid][pAdmin] >= 20)
			{
					new id;
					id = strval(tmp);
					tmp = strtok(cmdtext, idx);
					if(!strlen(tmp))
					{
						SendClientMessage(playerid, COLOR_RED, "[Usage:] /ahouseint [houseid] [id (1-42)]");
						return 1;
					}
					new id2;
					id2 = strval(tmp);
					if(id2 < 1 || id2 > 42) { SendClientMessage(playerid, COLOR_GREY, "[Error:] Interior ID's 1-42"); return 1; }

					if(id2 == 1)
					{
						Houses[id][ExitX] = 235.508994;
						Houses[id][ExitY] = 1189.169897;
						Houses[id][ExitZ] = 1080.339966;
						Houses[id][ExitInterior] = 3;
						format(string, sizeof string, "House ID: %d - Description: Large/2 story/3 bedrooms/clone of House 9", id,id2);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 2)
					{
						Houses[id][ExitX] = 225.756989;
						Houses[id][ExitY] = 1240.000000;
						Houses[id][ExitZ] = 1082.149902;
						Houses[id][ExitInterior] = 2;
						format(string, sizeof string, "House ID: %d - Description: Medium/1 story/1 bedroom", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
					else if(id2 == 3)
					{
						Houses[id][ExitX] = 223.043991;
						Houses[id][ExitY] = 1289.259888;
						Houses[id][ExitZ] = 1082.199951;
						Houses[id][ExitInterior] = 1;
						format(string, sizeof string, "House ID: %d - Description: Small/1 story/1 bedroom", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
         			else if(id2 == 4)
					{
						Houses[id][ExitX] = 225.630997;
						Houses[id][ExitY] = 1022.479980;
						Houses[id][ExitZ] = 1084.069946;
						Houses[id][ExitInterior] = 7;
						format(string, sizeof string, "House ID: %d - Description: VERY Large/2 story/4 bedrooms", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 5)
					{
						Houses[id][ExitX] = 295.138977;
						Houses[id][ExitY] = 1474.469971;
						Houses[id][ExitZ] = 1080.519897;
						Houses[id][ExitInterior] = 15;
						format(string, sizeof string, "House ID: %d - Description: Small/1 story/2 bedrooms", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 6)
					{
						Houses[id][ExitX] = 328.493988;
						Houses[id][ExitY] = 1480.589966;
						Houses[id][ExitZ] = 1084.449951;
						Houses[id][ExitInterior] = 15;
						format(string, sizeof string, "House ID: %d - Description: Small/1 story/2 bedrooms", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
         			else if(id2 == 7)
					{
						Houses[id][ExitX] = 385.803986;
						Houses[id][ExitY] = 1471.769897;
						Houses[id][ExitZ] = 1080.209961;
						Houses[id][ExitInterior] = 15;
						format(string, sizeof string, "House ID: %d - Description: Small/1 story/1 bedroom/NO BATHROOM", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 8)
					{
						Houses[id][ExitX] = 375.971985;
						Houses[id][ExitY] = 1417.269897;
						Houses[id][ExitZ] = 1081.409912;
						Houses[id][ExitInterior] = 15;
						format(string, sizeof string, "House ID: %d - Description: Small/1 story/1 bedroom", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 9)
					{
						Houses[id][ExitX] = 490.810974;
						Houses[id][ExitY] = 1401.489990;
						Houses[id][ExitZ] = 1080.339966;
						Houses[id][ExitInterior] = 2;
						format(string, sizeof string, "House ID: %d - Description: Large/2 story/3 bedrooms", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     			 	else if(id2 == 10)
					{
						Houses[id][ExitX] = 447.734985;
						Houses[id][ExitY] = 1400.439941;
						Houses[id][ExitZ] = 1084.339966;
						Houses[id][ExitInterior] = 2;
						format(string, sizeof string, "House ID: %d - Description: Medium/1 story/2 bedrooms", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 11)
					{
						Houses[id][ExitX] = 227.722992;
						Houses[id][ExitY] = 1114.389893;
						Houses[id][ExitZ] = 1081.189941;
						Houses[id][ExitInterior] = 5;
						format(string, sizeof string, "House ID: %d - Description: Large/2 story/4 bedrooms", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 12)
					{
						Houses[id][ExitX] = 260.983978;
						Houses[id][ExitY] = 1286.549927;
						Houses[id][ExitZ] = 1080.299927;
						Houses[id][ExitInterior] = 4;
						format(string, sizeof string, "House ID: %d - Description: Small/1 story/1 bedroom", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 13)
					{
						Houses[id][ExitX] = 221.666992;
						Houses[id][ExitY] = 1143.389893;
						Houses[id][ExitZ] = 1082.679932;
						Houses[id][ExitInterior] = 4;
						format(string, sizeof string, "House ID: %d - Description: Small/1 story/1 bedroom/NO BATHROOM", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
         			else if(id2 == 14)
					{
						Houses[id][ExitX] = 27.132700;
						Houses[id][ExitY] = 1341.149902;
						Houses[id][ExitZ] = 1084.449951;
						Houses[id][ExitInterior] = 10;
						format(string, sizeof string, "House ID: %d - Description: Medium/2 story/1 bedroom", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
         			else if(id2 == 15)
					{
						Houses[id][ExitX] = -262.601990;
						Houses[id][ExitY] = 1456.619995;
						Houses[id][ExitZ] = 1084.449951;
						Houses[id][ExitInterior] = 4;
						format(string, sizeof string, "House ID: %d - Description: Large/2 story/1 bedroom/NO BATHROOM", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
         			else if(id2 == 16)
					{
						Houses[id][ExitX] = 22.778299;
						Houses[id][ExitY] = 1404.959961;
			 			Houses[id][ExitZ] = 1084.449951;
						Houses[id][ExitInterior] = 5;
						format(string, sizeof string, "House ID: %d - Description: Medium/1 story/2 bedrooms/NO BATHROOM or DOORS", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 17)
					{
						Houses[id][ExitX] = 140.278000;
						Houses[id][ExitY] = 1368.979980;
						Houses[id][ExitZ] = 1083.969971;
						Houses[id][ExitInterior] = 5;
						format(string, sizeof string, "House ID: %d - Description: Large/2 story/4 bedrooms/NO BATHROOM", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
         			else if(id2 == 18)
					{
						Houses[id][ExitX] = 234.045990;
						Houses[id][ExitY] = 1064.879883;
						Houses[id][ExitZ] = 1084.309937;
						Houses[id][ExitInterior] = 6;
						format(string, sizeof string, "House ID: %d - Description: Large/2 story/3 bedrooms", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 19)
					{
						Houses[id][ExitX] = -68.294098;
						Houses[id][ExitY] = 1353.469971;
						Houses[id][ExitZ] = 1080.279907;
						Houses[id][ExitInterior] = 6;
						format(string, sizeof string, "House ID: %d - Description: Small/1 story/NO BEDROOM", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
         			else if(id2 == 20)
					{
						Houses[id][ExitX] = -285.548981;
						Houses[id][ExitY] = 1470.979980;
						Houses[id][ExitZ] = 1084.449951;
						Houses[id][ExitInterior] = 15;
						format(string, sizeof string, "House ID: %d - Description: 1 bedroom/living room/kitchen/NO BATHROOM", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 21)
					{
						Houses[id][ExitX] = -42.581997;
						Houses[id][ExitY] = 1408.109985;
						Houses[id][ExitZ] = 1084.449951;
						Houses[id][ExitInterior] = 8;
						format(string, sizeof string, "House ID: %d - Description: Small/1 story/NO BEDROOM", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 22)
					{
						Houses[id][ExitX] = 83.345093;
						Houses[id][ExitY] = 1324.439941;
						Houses[id][ExitZ] = 1083.889893;
						Houses[id][ExitInterior] = 9;
						format(string, sizeof string, "House ID: %d - Description: Medium/2 story/2 bedrooms", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 23)
					{
						Houses[id][ExitX] = 260.941986;
						Houses[id][ExitY] = 1238.509888;
						Houses[id][ExitZ] = 1084.259888;
						Houses[id][ExitInterior] = 9;
						format(string, sizeof string, "House ID: %d - Description: Small/1 story/1 bedroom", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 24)
					{
						Houses[id][ExitX] = 244.411987;
						Houses[id][ExitY] = 305.032990;
						Houses[id][ExitZ] = 999.231995;
						Houses[id][ExitInterior] = 1;
						format(string, sizeof string, "House ID: %d - Description: Denise's Bedroom", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 25)
					{
						Houses[id][ExitX] = 271.884979;
						Houses[id][ExitY] = 306.631989;
						Houses[id][ExitZ] = 999.325989;
						Houses[id][ExitInterior] = 2;
						format(string, sizeof string, "House ID: %d - Description: Katie's Bedroom", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
      		 		else if(id2 == 26)
					{
						Houses[id][ExitX] = 291.282990;
						Houses[id][ExitY] = 310.031982;
						Houses[id][ExitZ] = 999.154968;
						Houses[id][ExitInterior] = 3;
						format(string, sizeof string, "House ID: %d - Description: Helena's Bedroom (barn) - limited movement", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
         			else if(id2 == 27)
					{
						Houses[id][ExitX] = 302.181000;
						Houses[id][ExitY] = 300.722992;
						Houses[id][ExitZ] = 999.231995;
						Houses[id][ExitInterior] = 4;
						format(string, sizeof string, "House ID: %d - Description: Michelle's Bedroom", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
         			else if(id2 == 28)
					{
						Houses[id][ExitX] = 322.197998;
						Houses[id][ExitY] = 302.497986;
						Houses[id][ExitZ] = 999.231995;
						Houses[id][ExitInterior] = 5;
						format(string, sizeof string, "House ID: %d - Description: Barbara's Bedroom", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
         			else if(id2 == 29)
					{
						Houses[id][ExitX] = 346.870025;
						Houses[id][ExitY] = 309.259033;
						Houses[id][ExitZ] = 999.155700;
						Houses[id][ExitInterior] = 6;
						format(string, sizeof string, "House ID: %d - Description: Millie's Bedroom", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
         			else if(id2 == 30)
					{
						Houses[id][ExitX] = 2496.049805;
						Houses[id][ExitY] = -1693.929932;
						Houses[id][ExitZ] = 1014.750000;
						Houses[id][ExitInterior] = 3;
						format(string, sizeof string, "House ID: %d - Description: CJ's Mom's House", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 31)
					{
						Houses[id][ExitX] = 1263.079956;
						Houses[id][ExitY] = -785.308960;
						Houses[id][ExitZ] = 1091.959961;
						Houses[id][ExitInterior] = 5;
						format(string, sizeof string, "House ID: %d - Description: Madd Dogg's Mansion (West door)", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
         			else if(id2 == 32)
					{
						Houses[id][ExitX] = 2464.109863;
						Houses[id][ExitY] = -1698.659912;
						Houses[id][ExitZ] = 1013.509949;
						Houses[id][ExitInterior] = 2;
						format(string, sizeof string, "House ID: %d - Description: Ryder's house", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
         			else if(id2 == 33)
					{
						Houses[id][ExitX] = 2526.459961;
						Houses[id][ExitY] = -1679.089966;
						Houses[id][ExitZ] = 1015.500000;
						Houses[id][ExitInterior] = 1;
						format(string, sizeof string, "House ID: %d - Description: Sweet's House (South side of house is fucked)", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 34)
					{
						Houses[id][ExitX] = 2543.659912;
						Houses[id][ExitY] = -1303.629883;
						Houses[id][ExitZ] = 1025.069946;
						Houses[id][ExitInterior] = 2;
						format(string, sizeof string, "House ID: %d - Description: Big Smoke's Crack Factory (Ground Floor)", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 35)
					{
						Houses[id][ExitX] = 744.542969;
						Houses[id][ExitY] = 1437.669922;
						Houses[id][ExitZ] = 1102.739990;
						Houses[id][ExitInterior] = 6;
						format(string, sizeof string, "House ID: %d - Description: Fanny Batter's Whore House", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 36)
					{
						Houses[id][ExitX] = 964.106995;
						Houses[id][ExitY] = -53.205498;
						Houses[id][ExitZ] = 1001.179993;
						Houses[id][ExitInterior] = 3;
						format(string, sizeof string, "House ID: %d - Description: Tiger Skin Rug Brothel", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 37)
					{
						Houses[id][ExitX] = 2350.339844;
						Houses[id][ExitY] = -1181.649902;
						Houses[id][ExitZ] = 1028.000000;
						Houses[id][ExitInterior] = 5;
						format(string, sizeof string, "House ID: %d - Description: Burning Desire Gang House", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
         			else if(id2 == 38)
					{
						Houses[id][ExitX] = 2807.619873;
						Houses[id][ExitY] = -1171.899902;
						Houses[id][ExitZ] = 1025.579956;
						Houses[id][ExitInterior] = 8;
						format(string, sizeof string, "House ID: %d - Description: Colonel Furhberger's House", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
         			else if(id2 == 39)
					{
						Houses[id][ExitX] = 318.564972;
						Houses[id][ExitY] = 1118.209961;
						Houses[id][ExitZ] = 1083.979980;
						Houses[id][ExitInterior] = 5;
						format(string, sizeof string, "House ID: %d - Description: Crack Den", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
     				else if(id2 == 40)
					{
						Houses[id][ExitX] = 446.622986;
						Houses[id][ExitY] = 509.318970;
						Houses[id][ExitZ] = 1001.419983;
						Houses[id][ExitInterior] = 12;
						format(string, sizeof string, "House ID: %d - Description: Budget Inn Motel Room", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
         			else if(id2 == 41)
					{
						Houses[id][ExitX] = 2216.339844;
						Houses[id][ExitY] = -1150.509888;
						Houses[id][ExitZ] = 1025.799927;
						Houses[id][ExitInterior] = 15;
						format(string, sizeof string, "House ID: %d - Description: Jefferson Motel", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
  					}
         			else if(id2 == 42)
					{
						Houses[id][ExitX] = -2169.845947;
						Houses[id][ExitY] = 642.366027;
						Houses[id][ExitZ] = 1057.586059;
						Houses[id][ExitInterior] = 1;
						format(string, sizeof string, "House ID: %d - Description: Woozi's Casino", id);
						SendClientMessage(playerid, COLOR_ADMINCMD,string);
     				}
					SaveHouses();
			}
			else
			{
				SendClientMessage(playerid, COLOR_GREY, "[Error:] You are not authorized to use that command");
			}
		}
		return 1;
	}
 	if(strcmp(cmd, "/ahousesell", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_WHITE, "[Usage:] /ahousesell [houseid]");
				return 1;
			}
			new id = strval(tmp);
			if(PlayerInfo[playerid][pAdmin] >= 20)
			{
				Houses[id][Locked] = 1;
				Houses[id][Owned] = 0;
				strmid(Houses[id][Owner], "None", 0, strlen("None"), 255);
				ChangeStreamPickupModel(Houses[id][PickupID],1273);
    			MoveStreamPickup(Houses[id][PickupID],Houses[id][EnterX],Houses[id][EnterY],Houses[id][EnterZ]);
				SaveHouses();
				new form[128];
				format(form, sizeof(form), "[Info:] You have sold house ID: %d", id);
				SendClientMessage(playerid, COLOR_ADMINCMD, form);
			}
			else
			{
				SendClientMessage(playerid, COLOR_GREY, "[Error:] You are not authorized to use that command");
			}
		}
		return 1;
	}
	if(strcmp(cmd, "/ahouseentrance", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_WHITE, "[Usage:] /ahouseentrance [houseid]");
				return 1;
			}
			new id = strval(tmp);
			if(PlayerInfo[playerid][pAdmin] >= 20)
			{
			    new pmodel;
				new Float:x,Float:y,Float:z;
				GetPlayerPos(playerid, x, y, z);
				Houses[id][EnterX] = x;
				Houses[id][EnterY] = y;
				Houses[id][EnterZ] = z;
				Houses[id][EnterWorld] = GetPlayerVirtualWorld(playerid);
				Houses[id][EnterInterior] = GetPlayerInterior(playerid);
  				new Float:angle;
				GetPlayerFacingAngle(playerid, angle);
				Houses[id][EnterAngle] = angle;

				switch(Houses[id][Owned])
				{
				    case 0: pmodel = 1273;
				    case 1: pmodel = 1239;
				}
				ChangeStreamPickupModel(Houses[id][PickupID],pmodel);
    			MoveStreamPickup(Houses[id][PickupID],Houses[id][EnterX],Houses[id][EnterY],Houses[id][EnterZ]);
				SaveHouses();
				new form[128];
				format(form, sizeof(form), "[Info:] You have set house ID: %d's location", id);
				SendClientMessage(playerid, COLOR_ADMINCMD, form);
			}
			else
			{
				SendClientMessage(playerid, COLOR_GREY, "[Error:] You are not authorized to use that command");
			}
		}
		return 1;
	}
	if(strcmp(cmd, "/ahouseexit", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_WHITE, "[Usage:] /ahouseexit [houseid]");
				return 1;
			}
			new id = strval(tmp);
			if(PlayerInfo[playerid][pAdmin] >= 20)
			{
				new Float:x,Float:y,Float:z;
				GetPlayerPos(playerid, x, y, z);
				Houses[id][ExitX] = x;
				Houses[id][ExitY] = y;
				Houses[id][ExitZ] = z;
				Houses[id][ExitInterior] = GetPlayerInterior(playerid);
  				new Float:angle;
				GetPlayerFacingAngle(playerid, angle);
				Houses[id][ExitAngle] = angle;
				SaveHouses();
				new form[128];
				format(form, sizeof(form), "[Info:] You have set house ID: %d's exit location", id);
				SendClientMessage(playerid, COLOR_ADMINCMD, form);
			}
			else
			{
				SendClientMessage(playerid, COLOR_GREY, "[Error:] You are not authorized to use that command");
			}
		}
		return 1;
	}
 	if(strcmp(cmd, "/ahousedescription", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_WHITE, "[Usage:] /ahousedescription [houseid] [discription]");
				return 1;
			}
			new id = strval(tmp);
			if(PlayerInfo[playerid][pAdmin] >= 20)
			{
				new length = strlen(cmdtext);
				while ((idx < length) && (cmdtext[idx] <= ' '))
				{
					idx++;
				}
				new offset = idx;
				new result[128];
				while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
				{
					result[idx - offset] = cmdtext[idx];
					idx++;
				}
				result[idx - offset] = EOS;
				if(!strlen(result))
				{
					SendClientMessage(playerid, COLOR_WHITE, "[Usage:] /ahousedescription [houseid] [discription]");
					return 1;
				}
				if(strfind( result , "|" , true ) == -1)
    			{
		   			strmid(Houses[id][Description], (result), 0, strlen((result)), 128);
					format(string, sizeof(string), "[Info:] You have set house ID: %d's description to %s", id,(result));
					SendClientMessage(playerid, COLOR_ADMINCMD, string);
					SaveHouses();
				}
 				else
				{
					SendClientMessage(playerid, COLOR_GREY, "[Error:] Invalid symbol, | is not allowed");
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_GREY, "[Error:] You are not authorized to use that command");
			}
		}
		return 1;
	}
 	if(strcmp(cmd, "/ahouseprice", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_WHITE, "[Usage:] /ahouseprice [houseid] [price]");
				return 1;
			}
			if(PlayerInfo[playerid][pAdmin] >= 20)
			{
					new id;
					id = strval(tmp);
					tmp = strtok(cmdtext, idx);
					if(!strlen(tmp))
					{
						SendClientMessage(playerid, COLOR_WHITE, "[Usage:] /ahouseprice [houseid] [price]");
						return 1;
					}
					new id2;
					id2 = strval(tmp);

					Houses[id][HousePrice] = id2;
					new form[128];
					format(form, sizeof form, "[Info:] You have set House ID: %d's price to %d", id,id2);
					SendClientMessage(playerid, COLOR_ADMINCMD,form);
					SaveHouses();
			}
			else
			{
				SendClientMessage(playerid, COLOR_GREY, "[Error:] You are not authorized to use that command");
			}
		}
		return 1;
	}//end of adminhousecmds
 	if(strcmp(cmd, "/housecmds", true) == 0)
	{
 		if(IsPlayerConnected(playerid))
	    {
	    	SendClientMessage(playerid,COLOR_WHITE,"|____________________House Commands____________________|");
			SendClientMessage(playerid, COLOR_WHITE, "[House:] /enter - /exit - /buyhouse - /sellhouse - /openhouse");
			SendClientMessage(playerid, COLOR_WHITE, "[House:] /editrenting - /rentfee - /renthouse - /housewithdraw - /housedeposit");
			SendClientMessage(playerid, COLOR_WHITE, "[House:] /housematsput - /housematstake - /housedrugsput - /housedrugstake");
			SendClientMessage(playerid,COLOR_WHITE,"______________________________________________________________________________________");
	    }
	    return 1;
	}
	if(strcmp(cmd, "/enter", true) == 0)
	{
		for(new i = 0; i < sizeof(Houses); i++)
		{
			if(IsPlayerInRangeOfPoint(playerid,1.0,Houses[i][EnterX],Houses[i][EnterY],Houses[i][EnterZ]))
			{
				if(GetPlayerVirtualWorld(playerid) == Houses[i][EnterWorld])
			   	{
					if(PlayerInfo[playerid][pHouseKey] == i || Houses[i][Locked] == 0 || PlayerInfo[playerid][pAdmin] >= 1)
					{
						SetPlayerInterior(playerid,Houses[i][ExitInterior]);
						SetPlayerPos(playerid,Houses[i][ExitX],Houses[i][ExitY],Houses[i][ExitZ]);
						SetPlayerVirtualWorld(playerid,i);
						SetPlayerFacingAngle(playerid,Houses[i][ExitAngle]);
					}
					else
					{
						GameTextForPlayer(playerid, "~r~Locked", 5000, 1);
					}
				}
			}
		}
		return 1;
	}
	if(strcmp(cmd, "/exit", true) == 0)
	{
 		if(IsPlayerConnected(playerid))
		{
	 		for(new i = 0; i < sizeof(Houses); i++)
			{
				if(IsPlayerInRangeOfPoint(playerid,3.0,Houses[i][ExitX],Houses[i][ExitY],Houses[i][ExitZ]))
				{
	   				if(GetPlayerVirtualWorld(playerid) == i)
				    {
				        if(Houses[i][Locked] == 0 || PlayerInfo[playerid][pAdmin] >=  1)
						{
							SetPlayerInterior(playerid,Houses[i][EnterInterior]);
							SetPlayerPos(playerid,Houses[i][EnterX],Houses[i][EnterY],Houses[i][EnterZ]);
							SetPlayerVirtualWorld(playerid,Houses[i][EnterWorld]);
							SetPlayerFacingAngle(playerid,Houses[i][EnterAngle]);
						}
						else
						{
							GameTextForPlayer(playerid, "~r~Door Locked", 5000, 1);
						}
					}
				}
			}
		}
		return 1;
	}
	return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == 2)
    {
        new CarCheck = GetPlayerVehicleID(playerid);
        if(CarCheck == Cars[GroveStreet] )
        {
            if(gTeam[playerid] != 1)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "You Don't have the keys for this car!");
                return 1;
            }
        }
        if(CarCheck == Cars[Police] )
        {
            if(gTeam[playerid] != 2)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "You Don't have the keys for this car!");
                return 1;
            }
        }
        return 1;
    }
	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)
{
	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[])
{
	return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}
////////////////////////////////////////////////////////////////////////////
SetPlayerTeamFromClass(playerid, classid)
{
    if(classid == 0)
    {
        gTeam[playerid] = GROVE_STREET;
    }
    if(classid == 1)
    {
        gTeam[playerid] = POLICE;
    }
}

SetPlayerToTeamColour(playerid)
{
    if(gTeam[playerid] == GROVE_STREET)
    {
        SetPlayerColor(playerid,GROVE_STREET_COLOUR); //Green
    }
    if(gTeam[playerid] == POLICE)
    {
        SetPlayerColor(playerid,POLICE_COLOUR); // Blue
    }
}
///////////////////////////////////////////////////////////////////////
public SendMSG()
{
    new randMSG = random(sizeof(RandomMSG));
    SendClientMessageToAll(COLOR_RED, RandomMSG[randMSG]);
}
///////////////////
strtok(string[],&idx,seperator = ' ')
{
	new ret[128], i = 0, len = strlen(string);
	while(string[idx] == seperator && idx < len) idx++;
	while(string[idx] != seperator && idx < len)
	{
	    ret[i] = string[idx];
	    i++;
		idx++;
	}
	while(string[idx] == seperator && idx < len) idx++;
	return ret;
}
public LoadScript()
{
	LoadHouses();
	return 1;
}
///////////////////////
public SaveHouses()
{
	new idx;
	new File: file2;
	while (idx < sizeof(Houses))
	{
		new coordsstring[256];
		format(coordsstring, sizeof(coordsstring), "%s|%s|%f|%f|%f|%d|%d|%f|%f|%f|%f|%d|%f|%d|%d|%d|%d|%d|%d|%d|%d|%d\n",
		Houses[idx][Description],
		Houses[idx][Owner],
		Houses[idx][EnterX],
		Houses[idx][EnterY],
		Houses[idx][EnterZ],
		Houses[idx][EnterWorld],
		Houses[idx][EnterInterior],
		Houses[idx][EnterAngle],
		Houses[idx][ExitX],
		Houses[idx][ExitY],
		Houses[idx][ExitZ],
		Houses[idx][ExitInterior],
		Houses[idx][ExitAngle],
		Houses[idx][Owned],
		Houses[idx][Rentable],
		Houses[idx][RentCost],
		Houses[idx][HousePrice],
		Houses[idx][Materials],
		Houses[idx][Drugs],
		Houses[idx][Money],
		Houses[idx][Locked],
		Houses[idx][PickupID]);

		if(idx == 0)
		{
			file2 = fopen("RRRP/Houses/houses.cfg", io_write);
		}
		else
		{
			file2 = fopen("RRRP/Houses/houses.cfg", io_append);
		}
		fwrite(file2, coordsstring);
		idx++;
		fclose(file2);
	}
	return 1;
}

public LoadHouses()
{
	new arrCoords[22][64];
	new strFromFile2[256];
	new File: file = fopen("RRRP/Houses/houses.cfg", io_read);
	if (file)
	{
		new idx;
		while (idx < sizeof(Houses))
		{
			fread(file, strFromFile2);
			split(strFromFile2, arrCoords, '|');
			strmid(Houses[idx][Description], arrCoords[0], 0, strlen(arrCoords[0]), 255);
			strmid(Houses[idx][Owner], arrCoords[1], 0, strlen(arrCoords[1]), 255);
			Houses[idx][EnterX] = floatstr(arrCoords[2]);
			Houses[idx][EnterY] = floatstr(arrCoords[3]);
			Houses[idx][EnterZ] = floatstr(arrCoords[4]);
			Houses[idx][EnterWorld] = strval(arrCoords[5]);
			Houses[idx][EnterInterior] = strval(arrCoords[6]);
			Houses[idx][EnterAngle] = floatstr(arrCoords[7]);
			Houses[idx][ExitX] = floatstr(arrCoords[8]);
			Houses[idx][ExitY] = floatstr(arrCoords[9]);
			Houses[idx][ExitZ] = floatstr(arrCoords[10]);
			Houses[idx][ExitInterior] = strval(arrCoords[11]);
			Houses[idx][ExitAngle] = floatstr(arrCoords[12]);
			Houses[idx][Owned] = strval(arrCoords[13]);
			Houses[idx][Rentable] = strval(arrCoords[14]);
			Houses[idx][RentCost] = strval(arrCoords[15]);
			Houses[idx][HousePrice] = strval(arrCoords[16]);
			Houses[idx][Materials] = strval(arrCoords[17]);
			Houses[idx][Drugs] = strval(arrCoords[18]);
			Houses[idx][Money] = strval(arrCoords[19]);
			Houses[idx][Locked] = strval(arrCoords[20]);
			Houses[idx][PickupID] = strval(arrCoords[21]);

			if(Houses[idx][HousePrice] != 0)
			{
				if(Houses[idx][Owned] == 0)
				{
					Houses[idx][PickupID] = CreateStreamPickup(1273, 1, Houses[idx][EnterX], Houses[idx][EnterY], Houses[idx][EnterZ],PICKUP_RANGE);
				}
				else if(Houses[idx][Owned] == 1)
				{
					Houses[idx][PickupID] = CreateStreamPickup(1239, 1, Houses[idx][EnterX], Houses[idx][EnterY], Houses[idx][EnterZ],PICKUP_RANGE);
				}
			}
			idx++;
		}
		fclose(file);
	}
	return 1;
}
public split(const strsrc[], strdest[][], delimiter)
{
	new i, li;
	new aNum;
	new len;
	while(i <= strlen(strsrc)){
	    if(strsrc[i]==delimiter || i==strlen(strsrc)){
	        len = strmid(strdest[aNum], strsrc, li, i, 128);
	        strdest[aNum][len] = 0;
	        li = i+1;
	        aNum++;
		}
		i++;
	}
	return 1;
}
//////////////////////////////////////
public CreateStreamPickup(model,type,Float:x,Float:y,Float:z,range)
{
	new FoundID = 0;
	new ID;

	for ( new i = 0; FoundID <= 0 ; i++)
	{
	    if( Pickup[i][pickupCreated] == 0 )
	    {
	        if( FoundID == 0 )
	        {
	     	   ID = i;
	     	   FoundID = 1;
	        }
	    }
	    if( i > MAX_S_PICKUPS )
	    {
		    FoundID = 2;
		}
	}
	if( FoundID == 2 )
	{
	    print("[Error:] Pickup limit reached. Pickup not created");
	    return -1;
	}
	Pickup[ID][pickupCreated] = 1;
	Pickup[ID][pickupVisible] = 0;
	Pickup[ID][pickupModel] = model;
	Pickup[ID][pickupType] = type;
	Pickup[ID][pickupX] = x;
	Pickup[ID][pickupY] = y;
	Pickup[ID][pickupZ] = z;
	Pickup[ID][pickupRange] = range;
	return ID;

}

public DestroyStreamPickup(ID)
{
	if(Pickup[ID][pickupCreated])
	{
		DestroyPickup(Pickup[ID][pickupID]);
		Pickup[ID][pickupCreated] = 0;
		return 1;
	}
	return 0;
}

public CountStreamPickups()
{
	new count = 0;
	for(new i = 0; i < MAX_S_PICKUPS; i++)
	{
	    if(Pickup[i][pickupCreated] == 1)
	    {
			count++;
	    }
	}
	return count;
}

public StreamPickups()
{
	for(new i = 0; i < MAX_S_PICKUPS; i++)
	{
	    if(Pickup[i][pickupCreated] == 1)
	    {
			if(Pickup_AnyPlayerToPoint(Pickup[i][pickupRange],Pickup[i][pickupX],Pickup[i][pickupY],Pickup[i][pickupZ]))
			{
			    if(Pickup[i][pickupVisible] == 0)
			    {
			        Pickup[i][pickupID] = CreatePickup(Pickup[i][pickupModel],Pickup[i][pickupType],Pickup[i][pickupX],Pickup[i][pickupY],Pickup[i][pickupZ]);
			        Pickup[i][pickupVisible] = 1;
				}
			}
			else
			{
			    if(Pickup[i][pickupVisible] == 1)
			    {
			        DestroyPickup(Pickup[i][pickupID]);
					Pickup[i][pickupVisible] = 0;
			    }
			}
	    }
	}
}

public MoveStreamPickup(ID,Float:x,Float:y,Float:z)
{
	if(Pickup[ID][pickupCreated])
	{
	    DestroyPickup(Pickup[ID][pickupID]);
	    Pickup[ID][pickupVisible] = 0;
		Pickup[ID][pickupX] = x;
		Pickup[ID][pickupY] = y;
		Pickup[ID][pickupZ] = z;
		return 1;
	}
	return 0;
}

public ChangeStreamPickupModel(ID,newmodel)
{
    if(Pickup[ID][pickupCreated])
	{
	    DestroyPickup(Pickup[ID][pickupID]);
	    Pickup[ID][pickupVisible] = 0;
		Pickup[ID][pickupModel] = newmodel;
		return 1;
	}
	return 0;
}

public ChangeStreamPickupType(ID,newtype)
{
    if(Pickup[ID][pickupCreated])
	{
	    DestroyPickup(Pickup[ID][pickupID]);
	    Pickup[ID][pickupVisible] = 0;
		Pickup[ID][pickupType] = newtype;
		return 1;
	}
	return 0;
}

public Pickup_AnyPlayerToPoint(Float:radi, Float:x, Float:y, Float:z)
{
	for (new i = 0; i < MAX_PLAYERS; i++)
	{
	    if(IsPlayerConnected(i))
		{
			new Float:oldposx, Float:oldposy, Float:oldposz;
			new Float:tempposx, Float:tempposy, Float:tempposz;
			GetPlayerPos(i, oldposx, oldposy, oldposz);
			tempposx = (oldposx -x);
			tempposy = (oldposy -y);
			tempposz = (oldposz -z);
			if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
			{
				return 1;
			}
		}
	}
    return 0;
}
////////////////////////////////////
stock GetPlayerNameEx(playerid)
{
    new string[24];
    GetPlayerName(playerid,string,24);
    new str[24];
    strmid(str,string,0,strlen(string),24);
    for(new i = 0; i < MAX_PLAYER_NAME; i++)
    {
        if (str[i] == '_') str[i] = ' ';
    }
    return str;
}

ReturnUser(text[], playerid = INVALID_PLAYER_ID)
{
	new pos = 0;
	while (text[pos] < 0x21)
	{
		if (text[pos] == 0) return INVALID_PLAYER_ID;
		pos++;
	}
	new userid = INVALID_PLAYER_ID;
	if (IsNumeric(text[pos]))
	{
		userid = strval(text[pos]);
		if (userid >=0 && userid < MAX_PLAYERS)
		{
			if(!IsPlayerConnected(userid))
			{
				userid = INVALID_PLAYER_ID;
			}
			else
			{
				return userid;
			}
		}
	}
	new len = strlen(text[pos]);
	new count = 0;
	new name[MAX_PLAYER_NAME];
	for (new i = 0; i < MAX_PLAYERS; i++)
	{
		if (IsPlayerConnected(i))
		{
			GetPlayerName(i, name, sizeof (name));
			if (strcmp(name, text[pos], true, len) == 0)
			{
				if (len == strlen(name))
				{
					return i;
				}
				else
				{
					count++;
					userid = i;
				}
			}
		}
	}
	if (count != 1)
	{
		if (playerid != INVALID_PLAYER_ID)
		{
			if (count)
			{
				SendClientMessage(playerid, COLOR_GREY, "[Error:] Multiple players found, please narrow search");
			}
			else
			{
				SendClientMessage(playerid, COLOR_GREY, "[Error:] No matching player found");
			}
		}
		userid = INVALID_PLAYER_ID;
	}
	return userid;
}
IsNumeric(const string[])
{
	for (new i = 0, j = strlen(string); i < j; i++)
	{
		if (string[i] > '9' || string[i] < '0') return 0;
	}
	return 1;
}


2. How to get rid of custom markers like cj house marker there how do i delete it
Reply
#2

1: i dont even see a command /createhouse

2: https://sampwiki.blast.hk/wiki/DisableInteriorEnterExits
Reply
#3

/ahouseentrance

SendClientMessage(playerid, COLOR_WHITE, "[Owner:] /ahouseentrance - /ahouseexit - /ahousedescription - /agotohouse - /ahouseprice - /ahousesell - /ahouseint");

list of cmds u may wanna look at they are all in samp spot just not in order
Reply
#4

bumb
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)