YCMD:buyhouse(playerid, params[], help) { #pragma unused help #pragma unused params new string[210]; new i = GetClosetHouseID(playerid); if(Player[playerid][Houseid] != 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You already have house"); if(!IsPlayerInRangeOfPoint(playerid,5.0,House[i][EnterX],House[i][EnterY],House[i][EnterZ])) return SCM(playerid,COLOR_RED,"You are not close to your house."); if(GetPlayerMoney(playerid) < House[i][Price]) return SCM(playerid, COLOR_RED, "You don't have that kind of money."); format(House[i][Owner], 32, "%s", GetName(playerid)); if(House[i][hCar] > 0) format(HouseOwner[House[i][hCar]],64,"%s",GetName(playerid)); House[i][On_Sell] = 0; Player[playerid][Houseid] = i; DestroyDynamicPickup(House[i][PickupU]); House[i][PickupU] = CreateDynamicPickup(1272, 23, House[i][EnterX],House[i][EnterY],House[i][EnterZ],-1,-1,-1,100.0); GivePlayerMoney(playerid, -House[i][Price]); DestroyDynamicMapIcon(House[i][Icon]); House[i][Icon] = CreateDynamicMapIcon(House[i][EnterX],House[i][EnterY],House[i][EnterZ], 32, 0, -1, -1, -1, 100.0); CheckHouse(i); format(string,sizeof(string),"{E0BC1B}Owner: "COL_WHITE"%s\n{E0BC1B}House name: "COL_WHITE"%s\n{E0BC1B}Price: "COL_WHITE"%d\n{E0BC1B}Level: "COL_WHITE"%d\n{E0BC1B}Rent price: "COL_WHITE"%d\n{E0BC1B}Address: "COL_WHITE"%s\n (/renthouse)",House[i][Owner],House[i][HouseName],House[i][Price],House[i][Level],House[i][RentPrice],House[i][Address]); UpdateDynamic3DTextLabelText(House[i][DLabel],-1,string); UpdatePlayerInformation(playerid); return 1; }
YCMD:buyhouse(playerid, params[], help)
{
#pragma unused help
#pragma unused params
new string[210];
new i = GetClosetHouseID(playerid);
if(Player[playerid][Houseid] != 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You already have house");
if(!IsPlayerInRangeOfPoint(playerid,5.0,House[i][EnterX],House[i][EnterY],House[i][EnterZ])) return SCM(playerid,COLOR_RED,"You are not close to your house.");
if(GetPlayerScore(playerid)<=5000)return SCM(playerid,COLOR_RED,"You need more than 5000 score to use this cmd !");
if(GetPlayerMoney(playerid) < House[i][Price]) return SCM(playerid, COLOR_RED, "You don't have that kind of money.");
format(House[i][Owner], 32, "%s", GetName(playerid));
if(House[i][hCar] > 0) format(HouseOwner[House[i][hCar]],64,"%s",GetName(playerid));
House[i][On_Sell] = 0;
Player[playerid][Houseid] = i;
DestroyDynamicPickup(House[i][PickupU]);
House[i][PickupU] = CreateDynamicPickup(1272, 23, House[i][EnterX],House[i][EnterY],House[i][EnterZ],-1,-1,-1,100.0);
GivePlayerMoney(playerid, -House[i][Price]);
DestroyDynamicMapIcon(House[i][Icon]);
House[i][Icon] = CreateDynamicMapIcon(House[i][EnterX],House[i][EnterY],House[i][EnterZ], 32, 0, -1, -1, -1, 100.0);
CheckHouse(i);
format(string,sizeof(string),"{E0BC1B}Owner: "COL_WHITE"%s\n{E0BC1B}House name: "COL_WHITE"%s\n{E0BC1B}Price: "COL_WHITE"%d\n{E0BC1B}Level: "COL_WHITE"%d\n{E0BC1B}Rent price: "COL_WHITE"%d\n{E0BC1B}Address: "COL_WHITE"%s\n (/renthouse)",House[i][Owner],House[i][HouseName],House[i][Price],House[i][Level],House[i][RentPrice],House[i][Address]);
UpdateDynamic3DTextLabelText(House[i][DLabel],-1,string);
UpdatePlayerInformation(playerid);
return 1;
}
/* /hwithdraw - changed to /hdeposit /hdeposit - changed to /hwithdraw -Fixed my bad english. Special thanks to Pillhead2007 -Fixed bug with /removehouse (Added to destroy MapIcon) -Fixed bug with labels,pickups on coordinates 0,0,0 */ #define filterscript #include <a_samp> #include <foreach> #include <sscanf2> #include <YSI\y_ini> #include <YSI\y_commands> #include <streamer> #pragma tabsize 0 #define MAX_HOUSE 500 //This is limit u can change #define House_File "House/%d.ini" //Place where save houses #define FILE_FOR_PLAYER "House/Player/%s.ini" #define DIALOG_HOUSE 1391//Dialog for house #define SCM SendClientMessage #define MAX_DAYS 7 //-Colors- #define COL_YELLOW "{F5E618}" #define COL_GREEN "{2EAD15}" #define COL_WHITE "{FFFFFF}" #define COL_BLUE "{345ACF}" #define COLOR_RED 0xE01B4CFF #define COLOR_PURPLE 0xC21BE0 #define randomEx(%0,%1) (random((%1) - (%0)) + (%0)) new bool:False = false, _S_T_R_[128]; #define SendFormatMSG(%0,%1,%2,%3)\ do{\ format(_S_T_R_, sizeof (_S_T_R_), (%2), %3);\ SendClientMessage((%0),(%1), _S_T_R_);\ }\ while (False) new Text:LockTD0[MAX_PLAYERS], Text:LockTD1[MAX_PLAYERS], Text:LockTD2[MAX_PLAYERS], Text:LockTD3[MAX_PLAYERS], Text:LockTD4[MAX_PLAYERS], Text:LockTD5[MAX_PLAYERS], Text:LockTD6[MAX_PLAYERS], Text:Phone0[MAX_PLAYERS], Text:Phone1[MAX_PLAYERS], Text:Phone2[MAX_PLAYERS], Text:Phone3[MAX_PLAYERS], Text:Phone4[MAX_PLAYERS], Text:Phone5[MAX_PLAYERS], Text:hUp[MAX_PLAYERS], Choose[MAX_PLAYERS], TypeText[5][MAX_PLAYERS], HouseOwner[32][MAX_VEHICLES], ChooseInt[MAX_PLAYERS], HouseID1[MAX_PLAYERS], PhoneChoose[MAX_PLAYERS], Calling[MAX_PLAYERS], TalkWith[MAX_PLAYERS], CallFrom[MAX_PLAYERS], PlayerCP[MAX_PLAYERS]; enum plinfo { Float:SpawnX, Float:SpawnY, Float:SpawnZ, SpawnInt, SpawnVW, Spawn, RobHouse, Houseid, Sec, Min, } new Player[MAX_PLAYERS][plinfo]; enum house { Float:EnterX, Float:EnterY, Float:EnterZ, Float:ExitX, Float:ExitY, Float:ExitZ, Text3D:DLabel, PickupU, HouseName[48], Owner[32], IntID, VW, On_Sell, Price, Level, Lock, LockPass[5], RentPrice, Player_Rent[48], Money, Gun1, Gun2, Ammo1, Ammo2, Icon, Float:hCarX, Float:hCarY, Float:hCarZ, Float:hCarA, hCarC1, hCarC2, hCarID, hCar, hCarMoney, hCarGun1, hCarGun2, hCarAmmo1, hCarAmmo2, PhoneNum[5], Address[48], DayEnter, MonthEnter, } new House[MAX_HOUSE][house]; enum MainZone { Zone_Name[28], Float:Zone_Area[6] }; static const SanAndreasZones[][MainZone] = { {"The Big Ear", {-410.00,1403.30,-3.00,-137.90,1681.20,200.00}}, {"Aldea Malvada", {-1372.10,2498.50,0.00,-1277.50,2615.30,200.00}}, {"Angel Pine", {-2324.90,-2584.20,-6.10,-1964.20,-2212.10,200.00}}, {"Arco del Oeste", {-901.10,2221.80,0.00,-592.00,2571.90,200.00}}, {"Avispa Country Club", {-2646.40,-355.40,0.00,-2270.00,-222.50,200.00}}, {"Avispa Country Club", {-2831.80,-430.20,-6.10,-2646.40,-222.50,200.00}}, {"Avispa Country Club", {-2361.50,-417.10,0.00,-2270.00,-355.40,200.00}}, {"Avispa Country Club", {-2667.80,-302.10,-28.80,-2646.40,-262.30,71.10}}, {"Avispa Country Club", {-2470.00,-355.40,0.00,-2270.00,-318.40,46.10}}, {"Avispa Country Club", {-2550.00,-355.40,0.00,-2470.00,-318.40,39.70}}, {"Back o Beyond", {-1166.90,-2641.10,0.00,-321.70,-1856.00,200.00}}, {"Battery Point", {-2741.00,1268.40,-4.50,-2533.00,1490.40,200.00}}, {"Bayside", {-2741.00,2175.10,0.00,-2353.10,2722.70,200.00}}, {"Bayside Marina", {-2353.10,2275.70,0.00,-2153.10,2475.70,200.00}}, {"Beacon Hill", {-399.60,-1075.50,-1.40,-319.00,-977.50,198.50}}, {"Blackfield", {964.30,1203.20,-89.00,1197.30,1403.20,110.90}}, {"Blackfield", {964.30,1403.20,-89.00,1197.30,1726.20,110.90}}, {"Blackfield Chapel", {1375.60,596.30,-89.00,1558.00,823.20,110.90}}, {"Blackfield Chapel", {1325.60,596.30,-89.00,1375.60,795.00,110.90}}, {"Blackfield Intersection", {1197.30,1044.60,-89.00,1277.00,1163.30,110.90}}, {"Blackfield Intersection", {1166.50,795.00,-89.00,1375.60,1044.60,110.90}}, {"Blackfield Intersection", {1277.00,1044.60,-89.00,1315.30,1087.60,110.90}}, {"Blackfield Intersection", {1375.60,823.20,-89.00,1457.30,919.40,110.90}}, {"Blueberry", {104.50,-220.10,2.30,349.60,152.20,200.00}}, {"Blueberry", {19.60,-404.10,3.80,349.60,-220.10,200.00}}, {"Blueberry Acres", {-319.60,-220.10,0.00,104.50,293.30,200.00}}, {"Caligula's Palace", {2087.30,1543.20,-89.00,2437.30,1703.20,110.90}}, {"Caligula's Palace", {2137.40,1703.20,-89.00,2437.30,1783.20,110.90}}, {"Calton Heights", {-2274.10,744.10,-6.10,-1982.30,1358.90,200.00}}, {"Chinatown", {-2274.10,578.30,-7.60,-2078.60,744.10,200.00}}, {"City Hall", {-2867.80,277.40,-9.10,-2593.40,458.40,200.00}}, {"Come-A-Lot", {2087.30,943.20,-89.00,2623.10,1203.20,110.90}}, {"Commerce", {1323.90,-1842.20,-89.00,1701.90,-1722.20,110.90}}, {"Commerce", {1323.90,-1722.20,-89.00,1440.90,-1577.50,110.90}}, {"Commerce", {1370.80,-1577.50,-89.00,1463.90,-1384.90,110.90}}, {"Commerce", {1463.90,-1577.50,-89.00,1667.90,-1430.80,110.90}}, {"Commerce", {1583.50,-1722.20,-89.00,1758.90,-1577.50,110.90}}, {"Commerce", {1667.90,-1577.50,-89.00,1812.60,-1430.80,110.90}}, {"Conference Center", {1046.10,-1804.20,-89.00,1323.90,-1722.20,110.90}}, {"Conference Center", {1073.20,-1842.20,-89.00,1323.90,-1804.20,110.90}}, {"Cranberry Station", {-2007.80,56.30,0.00,-1922.00,224.70,100.00}}, {"Creek", {2749.90,1937.20,-89.00,2921.60,2669.70,110.90}}, {"Dillimore", {580.70,-674.80,-9.50,861.00,-404.70,200.00}}, {"Doherty", {-2270.00,-324.10,-0.00,-1794.90,-222.50,200.00}}, {"Doherty", {-2173.00,-222.50,-0.00,-1794.90,265.20,200.00}}, {"Downtown", {-1982.30,744.10,-6.10,-1871.70,1274.20,200.00}}, {"Downtown", {-1871.70,1176.40,-4.50,-1620.30,1274.20,200.00}}, {"Downtown", {-1700.00,744.20,-6.10,-1580.00,1176.50,200.00}}, {"Downtown", {-1580.00,744.20,-6.10,-1499.80,1025.90,200.00}}, {"Downtown", {-2078.60,578.30,-7.60,-1499.80,744.20,200.00}}, {"Downtown", {-1993.20,265.20,-9.10,-1794.90,578.30,200.00}}, {"Downtown Los Santos", {1463.90,-1430.80,-89.00,1724.70,-1290.80,110.90}}, {"Downtown Los Santos", {1724.70,-1430.80,-89.00,1812.60,-1250.90,110.90}}, {"Downtown Los Santos", {1463.90,-1290.80,-89.00,1724.70,-1150.80,110.90}}, {"Downtown Los Santos", {1370.80,-1384.90,-89.00,1463.90,-1170.80,110.90}}, {"Downtown Los Santos", {1724.70,-1250.90,-89.00,1812.60,-1150.80,110.90}}, {"Downtown Los Santos", {1370.80,-1170.80,-89.00,1463.90,-1130.80,110.90}}, {"Downtown Los Santos", {1378.30,-1130.80,-89.00,1463.90,-1026.30,110.90}}, {"Downtown Los Santos", {1391.00,-1026.30,-89.00,1463.90,-926.90,110.90}}, {"Downtown Los Santos", {1507.50,-1385.20,110.90,1582.50,-1325.30,335.90}}, {"East Beach", {2632.80,-1852.80,-89.00,2959.30,-1668.10,110.90}}, {"East Beach", {2632.80,-1668.10,-89.00,2747.70,-1393.40,110.90}}, {"East Beach", {2747.70,-1668.10,-89.00,2959.30,-1498.60,110.90}}, {"East Beach", {2747.70,-1498.60,-89.00,2959.30,-1120.00,110.90}}, {"East Los Santos", {2421.00,-1628.50,-89.00,2632.80,-1454.30,110.90}}, {"East Los Santos", {2222.50,-1628.50,-89.00,2421.00,-1494.00,110.90}}, {"East Los Santos", {2266.20,-1494.00,-89.00,2381.60,-1372.00,110.90}}, {"East Los Santos", {2381.60,-1494.00,-89.00,2421.00,-1454.30,110.90}}, {"East Los Santos", {2281.40,-1372.00,-89.00,2381.60,-1135.00,110.90}}, {"East Los Santos", {2381.60,-1454.30,-89.00,2462.10,-1135.00,110.90}}, {"East Los Santos", {2462.10,-1454.30,-89.00,2581.70,-1135.00,110.90}}, {"Easter Basin", {-1794.90,249.90,-9.10,-1242.90,578.30,200.00}}, {"Easter Basin", {-1794.90,-50.00,-0.00,-1499.80,249.90,200.00}}, {"Easter Bay Airport", {-1499.80,-50.00,-0.00,-1242.90,249.90,200.00}}, {"Easter Bay Airport", {-1794.90,-730.10,-3.00,-1213.90,-50.00,200.00}}, {"Easter Bay Airport", {-1213.90,-730.10,0.00,-1132.80,-50.00,200.00}}, {"Easter Bay Airport", {-1242.90,-50.00,0.00,-1213.90,578.30,200.00}}, {"Easter Bay Airport", {-1213.90,-50.00,-4.50,-947.90,578.30,200.00}}, {"Easter Bay Airport", {-1315.40,-405.30,15.40,-1264.40,-209.50,25.40}}, {"Easter Bay Airport", {-1354.30,-287.30,15.40,-1315.40,-209.50,25.40}}, {"Easter Bay Airport", {-1490.30,-209.50,15.40,-1264.40,-148.30,25.40}}, {"Easter Bay Chemicals", {-1132.80,-768.00,0.00,-956.40,-578.10,200.00}}, {"Easter Bay Chemicals", {-1132.80,-787.30,0.00,-956.40,-768.00,200.00}}, {"El Castillo del Diablo", {-464.50,2217.60,0.00,-208.50,2580.30,200.00}}, {"El Castillo del Diablo", {-208.50,2123.00,-7.60,114.00,2337.10,200.00}}, {"El Castillo del Diablo", {-208.50,2337.10,0.00,8.40,2487.10,200.00}}, {"El Corona", {1812.60,-2179.20,-89.00,1970.60,-1852.80,110.90}}, {"El Corona", {1692.60,-2179.20,-89.00,1812.60,-1842.20,110.90}}, {"El Quebrados", {-1645.20,2498.50,0.00,-1372.10,2777.80,200.00}}, {"Esplanade East", {-1620.30,1176.50,-4.50,-1580.00,1274.20,200.00}}, {"Esplanade East", {-1580.00,1025.90,-6.10,-1499.80,1274.20,200.00}}, {"Esplanade East", {-1499.80,578.30,-79.60,-1339.80,1274.20,20.30}}, {"Esplanade North", {-2533.00,1358.90,-4.50,-1996.60,1501.20,200.00}}, {"Esplanade North", {-1996.60,1358.90,-4.50,-1524.20,1592.50,200.00}}, {"Esplanade North", {-1982.30,1274.20,-4.50,-1524.20,1358.90,200.00}}, {"Fallen Tree", {-792.20,-698.50,-5.30,-452.40,-380.00,200.00}}, {"Fallow Bridge", {434.30,366.50,0.00,603.00,555.60,200.00}}, {"Fern Ridge", {508.10,-139.20,0.00,1306.60,119.50,200.00}}, {"Financial", {-1871.70,744.10,-6.10,-1701.30,1176.40,300.00}}, {"Fisher's Lagoon", {1916.90,-233.30,-100.00,2131.70,13.80,200.00}}, {"Flint Intersection", {-187.70,-1596.70,-89.00,17.00,-1276.60,110.90}}, {"Flint Range", {-594.10,-1648.50,0.00,-187.70,-1276.60,200.00}}, {"Fort Carson", {-376.20,826.30,-3.00,123.70,1220.40,200.00}}, {"Foster Valley", {-2270.00,-430.20,-0.00,-2178.60,-324.10,200.00}}, {"Foster Valley", {-2178.60,-599.80,-0.00,-1794.90,-324.10,200.00}}, {"Foster Valley", {-2178.60,-1115.50,0.00,-1794.90,-599.80,200.00}}, {"Foster Valley", {-2178.60,-1250.90,0.00,-1794.90,-1115.50,200.00}}, {"Frederick Bridge", {2759.20,296.50,0.00,2774.20,594.70,200.00}}, {"Gant Bridge", {-2741.40,1659.60,-6.10,-2616.40,2175.10,200.00}}, {"Gant Bridge", {-2741.00,1490.40,-6.10,-2616.40,1659.60,200.00}}, {"Ganton", {2222.50,-1852.80,-89.00,2632.80,-1722.30,110.90}}, {"Ganton", {2222.50,-1722.30,-89.00,2632.80,-1628.50,110.90}}, {"Garcia", {-2411.20,-222.50,-0.00,-2173.00,265.20,200.00}}, {"Garcia", {-2395.10,-222.50,-5.30,-2354.00,-204.70,200.00}}, {"Garver Bridge", {-1339.80,828.10,-89.00,-1213.90,1057.00,110.90}}, {"Garver Bridge", {-1213.90,950.00,-89.00,-1087.90,1178.90,110.90}}, {"Garver Bridge", {-1499.80,696.40,-179.60,-1339.80,925.30,20.30}}, {"Glen Park", {1812.60,-1449.60,-89.00,1996.90,-1350.70,110.90}}, {"Glen Park", {1812.60,-1100.80,-89.00,1994.30,-973.30,110.90}}, {"Glen Park", {1812.60,-1350.70,-89.00,2056.80,-1100.80,110.90}}, {"Green Palms", {176.50,1305.40,-3.00,338.60,1520.70,200.00}}, {"Greenglass College", {964.30,1044.60,-89.00,1197.30,1203.20,110.90}}, {"Greenglass College", {964.30,930.80,-89.00,1166.50,1044.60,110.90}}, {"Hampton Barns", {603.00,264.30,0.00,761.90,366.50,200.00}}, {"Hankypanky Point", {2576.90,62.10,0.00,2759.20,385.50,200.00}}, {"Harry Gold Parkway", {1777.30,863.20,-89.00,1817.30,2342.80,110.90}}, {"Hashbury", {-2593.40,-222.50,-0.00,-2411.20,54.70,200.00}}, {"Hilltop Farm", {967.30,-450.30,-3.00,1176.70,-217.90,200.00}}, {"Hunter Quarry", {337.20,710.80,-115.20,860.50,1031.70,203.70}}, {"Idlewood", {1812.60,-1852.80,-89.00,1971.60,-1742.30,110.90}}, {"Idlewood", {1812.60,-1742.30,-89.00,1951.60,-1602.30,110.90}}, {"Idlewood", {1951.60,-1742.30,-89.00,2124.60,-1602.30,110.90}}, {"Idlewood", {1812.60,-1602.30,-89.00,2124.60,-1449.60,110.90}}, {"Idlewood", {2124.60,-1742.30,-89.00,2222.50,-1494.00,110.90}}, {"Idlewood", {1971.60,-1852.80,-89.00,2222.50,-1742.30,110.90}}, {"Jefferson", {1996.90,-1449.60,-89.00,2056.80,-1350.70,110.90}}, {"Jefferson", {2124.60,-1494.00,-89.00,2266.20,-1449.60,110.90}}, {"Jefferson", {2056.80,-1372.00,-89.00,2281.40,-1210.70,110.90}}, {"Jefferson", {2056.80,-1210.70,-89.00,2185.30,-1126.30,110.90}}, {"Jefferson", {2185.30,-1210.70,-89.00,2281.40,-1154.50,110.90}}, {"Jefferson", {2056.80,-1449.60,-89.00,2266.20,-1372.00,110.90}}, {"Julius Thruway East", {2623.10,943.20,-89.00,2749.90,1055.90,110.90}}, {"Julius Thruway East", {2685.10,1055.90,-89.00,2749.90,2626.50,110.90}}, {"Julius Thruway East", {2536.40,2442.50,-89.00,2685.10,2542.50,110.90}}, {"Julius Thruway East", {2625.10,2202.70,-89.00,2685.10,2442.50,110.90}}, {"Julius Thruway North", {2498.20,2542.50,-89.00,2685.10,2626.50,110.90}}, {"Julius Thruway North", {2237.40,2542.50,-89.00,2498.20,2663.10,110.90}}, {"Julius Thruway North", {2121.40,2508.20,-89.00,2237.40,2663.10,110.90}}, {"Julius Thruway North", {1938.80,2508.20,-89.00,2121.40,2624.20,110.90}}, {"Julius Thruway North", {1534.50,2433.20,-89.00,1848.40,2583.20,110.90}}, {"Julius Thruway North", {1848.40,2478.40,-89.00,1938.80,2553.40,110.90}}, {"Julius Thruway North", {1704.50,2342.80,-89.00,1848.40,2433.20,110.90}}, {"Julius Thruway North", {1377.30,2433.20,-89.00,1534.50,2507.20,110.90}}, {"Julius Thruway South", {1457.30,823.20,-89.00,2377.30,863.20,110.90}}, {"Julius Thruway South", {2377.30,788.80,-89.00,2537.30,897.90,110.90}}, {"Julius Thruway West", {1197.30,1163.30,-89.00,1236.60,2243.20,110.90}}, {"Julius Thruway West", {1236.60,2142.80,-89.00,1297.40,2243.20,110.90}}, {"Juniper Hill", {-2533.00,578.30,-7.60,-2274.10,968.30,200.00}}, {"Juniper Hollow", {-2533.00,968.30,-6.10,-2274.10,1358.90,200.00}}, {"K.A.C.C. Military Fuels", {2498.20,2626.50,-89.00,2749.90,2861.50,110.90}}, {"Kincaid Bridge", {-1339.80,599.20,-89.00,-1213.90,828.10,110.90}}, {"Kincaid Bridge", {-1213.90,721.10,-89.00,-1087.90,950.00,110.90}}, {"Kincaid Bridge", {-1087.90,855.30,-89.00,-961.90,986.20,110.90}}, {"King's", {-2329.30,458.40,-7.60,-1993.20,578.30,200.00}}, {"King's", {-2411.20,265.20,-9.10,-1993.20,373.50,200.00}}, {"King's", {-2253.50,373.50,-9.10,-1993.20,458.40,200.00}}, {"LVA Freight Depot", {1457.30,863.20,-89.00,1777.40,1143.20,110.90}}, {"LVA Freight Depot", {1375.60,919.40,-89.00,1457.30,1203.20,110.90}}, {"LVA Freight Depot", {1277.00,1087.60,-89.00,1375.60,1203.20,110.90}}, {"LVA Freight Depot", {1315.30,1044.60,-89.00,1375.60,1087.60,110.90}}, {"LVA Freight Depot", {1236.60,1163.40,-89.00,1277.00,1203.20,110.90}}, {"Las Barrancas", {-926.10,1398.70,-3.00,-719.20,1634.60,200.00}}, {"Las Brujas", {-365.10,2123.00,-3.00,-208.50,2217.60,200.00}}, {"Las Colinas", {1994.30,-1100.80,-89.00,2056.80,-920.80,110.90}}, {"Las Colinas", {2056.80,-1126.30,-89.00,2126.80,-920.80,110.90}}, {"Las Colinas", {2185.30,-1154.50,-89.00,2281.40,-934.40,110.90}}, {"Las Colinas", {2126.80,-1126.30,-89.00,2185.30,-934.40,110.90}}, {"Las Colinas", {2747.70,-1120.00,-89.00,2959.30,-945.00,110.90}}, {"Las Colinas", {2632.70,-1135.00,-89.00,2747.70,-945.00,110.90}}, {"Las Colinas", {2281.40,-1135.00,-89.00,2632.70,-945.00,110.90}}, {"Las Payasadas", {-354.30,2580.30,2.00,-133.60,2816.80,200.00}}, {"Las Venturas Airport", {1236.60,1203.20,-89.00,1457.30,1883.10,110.90}}, {"Las Venturas Airport", {1457.30,1203.20,-89.00,1777.30,1883.10,110.90}}, {"Las Venturas Airport", {1457.30,1143.20,-89.00,1777.40,1203.20,110.90}}, {"Las Venturas Airport", {1515.80,1586.40,-12.50,1729.90,1714.50,87.50}}, {"Last Dime Motel", {1823.00,596.30,-89.00,1997.20,823.20,110.90}}, {"Leafy Hollow", {-1166.90,-1856.00,0.00,-815.60,-1602.00,200.00}}, {"Liberty City", {-1000.00,400.00,1300.00,-700.00,600.00,1400.00}}, {"Lil' Probe Inn", {-90.20,1286.80,-3.00,153.80,1554.10,200.00}}, {"Linden Side", {2749.90,943.20,-89.00,2923.30,1198.90,110.90}}, {"Linden Station", {2749.90,1198.90,-89.00,2923.30,1548.90,110.90}}, {"Linden Station", {2811.20,1229.50,-39.50,2861.20,1407.50,60.40}}, {"Little Mexico", {1701.90,-1842.20,-89.00,1812.60,-1722.20,110.90}}, {"Little Mexico", {1758.90,-1722.20,-89.00,1812.60,-1577.50,110.90}}, {"Los Flores", {2581.70,-1454.30,-89.00,2632.80,-1393.40,110.90}}, {"Los Flores", {2581.70,-1393.40,-89.00,2747.70,-1135.00,110.90}}, {"Los Santos International", {1249.60,-2394.30,-89.00,1852.00,-2179.20,110.90}}, {"Los Santos International", {1852.00,-2394.30,-89.00,2089.00,-2179.20,110.90}}, {"Los Santos International", {1382.70,-2730.80,-89.00,2201.80,-2394.30,110.90}}, {"Los Santos International", {1974.60,-2394.30,-39.00,2089.00,-2256.50,60.90}}, {"Los Santos International", {1400.90,-2669.20,-39.00,2189.80,-2597.20,60.90}}, {"Los Santos International", {2051.60,-2597.20,-39.00,2152.40,-2394.30,60.90}}, {"Marina", {647.70,-1804.20,-89.00,851.40,-1577.50,110.90}}, {"Marina", {647.70,-1577.50,-89.00,807.90,-1416.20,110.90}}, {"Marina", {807.90,-1577.50,-89.00,926.90,-1416.20,110.90}}, {"Market", {787.40,-1416.20,-89.00,1072.60,-1310.20,110.90}}, {"Market", {952.60,-1310.20,-89.00,1072.60,-1130.80,110.90}}, {"Market", {1072.60,-1416.20,-89.00,1370.80,-1130.80,110.90}}, {"Market", {926.90,-1577.50,-89.00,1370.80,-1416.20,110.90}}, {"Market Station", {787.40,-1410.90,-34.10,866.00,-1310.20,65.80}}, {"Martin Bridge", {-222.10,293.30,0.00,-122.10,476.40,200.00}}, {"Missionary Hill", {-2994.40,-811.20,0.00,-2178.60,-430.20,200.00}}, {"Montgomery", {1119.50,119.50,-3.00,1451.40,493.30,200.00}}, {"Montgomery", {1451.40,347.40,-6.10,1582.40,420.80,200.00}}, {"Montgomery Intersection", {1546.60,208.10,0.00,1745.80,347.40,200.00}}, {"Montgomery Intersection", {1582.40,347.40,0.00,1664.60,401.70,200.00}}, {"Mulholland", {1414.00,-768.00,-89.00,1667.60,-452.40,110.90}}, {"Mulholland", {1281.10,-452.40,-89.00,1641.10,-290.90,110.90}}, {"Mulholland", {1269.10,-768.00,-89.00,1414.00,-452.40,110.90}}, {"Mulholland", {1357.00,-926.90,-89.00,1463.90,-768.00,110.90}}, {"Mulholland", {1318.10,-910.10,-89.00,1357.00,-768.00,110.90}}, {"Mulholland", {1169.10,-910.10,-89.00,1318.10,-768.00,110.90}}, {"Mulholland", {768.60,-954.60,-89.00,952.60,-860.60,110.90}}, {"Mulholland", {687.80,-860.60,-89.00,911.80,-768.00,110.90}}, {"Mulholland", {737.50,-768.00,-89.00,1142.20,-674.80,110.90}}, {"Mulholland", {1096.40,-910.10,-89.00,1169.10,-768.00,110.90}}, {"Mulholland", {952.60,-937.10,-89.00,1096.40,-860.60,110.90}}, {"Mulholland", {911.80,-860.60,-89.00,1096.40,-768.00,110.90}}, {"Mulholland", {861.00,-674.80,-89.00,1156.50,-600.80,110.90}}, {"Mulholland Intersection", {1463.90,-1150.80,-89.00,1812.60,-768.00,110.90}}, {"North Rock", {2285.30,-768.00,0.00,2770.50,-269.70,200.00}}, {"Ocean Docks", {2373.70,-2697.00,-89.00,2809.20,-2330.40,110.90}}, {"Ocean Docks", {2201.80,-2418.30,-89.00,2324.00,-2095.00,110.90}}, {"Ocean Docks", {2324.00,-2302.30,-89.00,2703.50,-2145.10,110.90}}, {"Ocean Docks", {2089.00,-2394.30,-89.00,2201.80,-2235.80,110.90}}, {"Ocean Docks", {2201.80,-2730.80,-89.00,2324.00,-2418.30,110.90}}, {"Ocean Docks", {2703.50,-2302.30,-89.00,2959.30,-2126.90,110.90}}, {"Ocean Docks", {2324.00,-2145.10,-89.00,2703.50,-2059.20,110.90}}, {"Ocean Flats", {-2994.40,277.40,-9.10,-2867.80,458.40,200.00}}, {"Ocean Flats", {-2994.40,-222.50,-0.00,-2593.40,277.40,200.00}}, {"Ocean Flats", {-2994.40,-430.20,-0.00,-2831.80,-222.50,200.00}}, {"Octane Springs", {338.60,1228.50,0.00,664.30,1655.00,200.00}}, {"Old Venturas Strip", {2162.30,2012.10,-89.00,2685.10,2202.70,110.90}}, {"Palisades", {-2994.40,458.40,-6.10,-2741.00,1339.60,200.00}}, {"Palomino Creek", {2160.20,-149.00,0.00,2576.90,228.30,200.00}}, {"Paradiso", {-2741.00,793.40,-6.10,-2533.00,1268.40,200.00}}, {"Pershing Square", {1440.90,-1722.20,-89.00,1583.50,-1577.50,110.90}}, {"Pilgrim", {2437.30,1383.20,-89.00,2624.40,1783.20,110.90}}, {"Pilgrim", {2624.40,1383.20,-89.00,2685.10,1783.20,110.90}}, {"Pilson Intersection", {1098.30,2243.20,-89.00,1377.30,2507.20,110.90}}, {"Pirates in Men's Pants", {1817.30,1469.20,-89.00,2027.40,1703.20,110.90}}, {"Playa del Seville", {2703.50,-2126.90,-89.00,2959.30,-1852.80,110.90}}, {"Prickle Pine", {1534.50,2583.20,-89.00,1848.40,2863.20,110.90}}, {"Prickle Pine", {1117.40,2507.20,-89.00,1534.50,2723.20,110.90}}, {"Prickle Pine", {1848.40,2553.40,-89.00,1938.80,2863.20,110.90}}, {"Prickle Pine", {1938.80,2624.20,-89.00,2121.40,2861.50,110.90}}, {"Queens", {-2533.00,458.40,0.00,-2329.30,578.30,200.00}}, {"Queens", {-2593.40,54.70,0.00,-2411.20,458.40,200.00}}, {"Queens", {-2411.20,373.50,0.00,-2253.50,458.40,200.00}}, {"Randolph Industrial", {1558.00,596.30,-89.00,1823.00,823.20,110.90}}, {"Redsands East", {1817.30,2011.80,-89.00,2106.70,2202.70,110.90}}, {"Redsands East", {1817.30,2202.70,-89.00,2011.90,2342.80,110.90}}, {"Redsands East", {1848.40,2342.80,-89.00,2011.90,2478.40,110.90}}, {"Redsands West", {1236.60,1883.10,-89.00,1777.30,2142.80,110.90}}, {"Redsands West", {1297.40,2142.80,-89.00,1777.30,2243.20,110.90}}, {"Redsands West", {1377.30,2243.20,-89.00,1704.50,2433.20,110.90}}, {"Redsands West", {1704.50,2243.20,-89.00,1777.30,2342.80,110.90}}, {"Regular Tom", {-405.70,1712.80,-3.00,-276.70,1892.70,200.00}}, {"Richman", {647.50,-1118.20,-89.00,787.40,-954.60,110.90}}, {"Richman", {647.50,-954.60,-89.00,768.60,-860.60,110.90}}, {"Richman", {225.10,-1369.60,-89.00,334.50,-1292.00,110.90}}, {"Richman", {225.10,-1292.00,-89.00,466.20,-1235.00,110.90}}, {"Richman", {72.60,-1404.90,-89.00,225.10,-1235.00,110.90}}, {"Richman", {72.60,-1235.00,-89.00,321.30,-1008.10,110.90}}, {"Richman", {321.30,-1235.00,-89.00,647.50,-1044.00,110.90}}, {"Richman", {321.30,-1044.00,-89.00,647.50,-860.60,110.90}}, {"Richman", {321.30,-860.60,-89.00,687.80,-768.00,110.90}}, {"Richman", {321.30,-768.00,-89.00,700.70,-674.80,110.90}}, {"Robada Intersection", {-1119.00,1178.90,-89.00,-862.00,1351.40,110.90}}, {"Roca Escalante", {2237.40,2202.70,-89.00,2536.40,2542.50,110.90}}, {"Roca Escalante", {2536.40,2202.70,-89.00,2625.10,2442.50,110.90}}, {"Rockshore East", {2537.30,676.50,-89.00,2902.30,943.20,110.90}}, {"Rockshore West", {1997.20,596.30,-89.00,2377.30,823.20,110.90}}, {"Rockshore West", {2377.30,596.30,-89.00,2537.30,788.80,110.90}}, {"Rodeo", {72.60,-1684.60,-89.00,225.10,-1544.10,110.90}}, {"Rodeo", {72.60,-1544.10,-89.00,225.10,-1404.90,110.90}}, {"Rodeo", {225.10,-1684.60,-89.00,312.80,-1501.90,110.90}}, {"Rodeo", {225.10,-1501.90,-89.00,334.50,-1369.60,110.90}}, {"Rodeo", {334.50,-1501.90,-89.00,422.60,-1406.00,110.90}}, {"Rodeo", {312.80,-1684.60,-89.00,422.60,-1501.90,110.90}}, {"Rodeo", {422.60,-1684.60,-89.00,558.00,-1570.20,110.90}}, {"Rodeo", {558.00,-1684.60,-89.00,647.50,-1384.90,110.90}}, {"Rodeo", {466.20,-1570.20,-89.00,558.00,-1385.00,110.90}}, {"Rodeo", {422.60,-1570.20,-89.00,466.20,-1406.00,110.90}}, {"Rodeo", {466.20,-1385.00,-89.00,647.50,-1235.00,110.90}}, {"Rodeo", {334.50,-1406.00,-89.00,466.20,-1292.00,110.90}}, {"Royal Casino", {2087.30,1383.20,-89.00,2437.30,1543.20,110.90}}, {"San Andreas Sound", {2450.30,385.50,-100.00,2759.20,562.30,200.00}}, {"Santa Flora", {-2741.00,458.40,-7.60,-2533.00,793.40,200.00}}, {"Santa Maria Beach", {342.60,-2173.20,-89.00,647.70,-1684.60,110.90}}, {"Santa Maria Beach", {72.60,-2173.20,-89.00,342.60,-1684.60,110.90}}, {"Shady Cabin", {-1632.80,-2263.40,-3.00,-1601.30,-2231.70,200.00}}, {"Shady Creeks", {-1820.60,-2643.60,-8.00,-1226.70,-1771.60,200.00}}, {"Shady Creeks", {-2030.10,-2174.80,-6.10,-1820.60,-1771.60,200.00}}, {"Sobell Rail Yards", {2749.90,1548.90,-89.00,2923.30,1937.20,110.90}}, {"Spinybed", {2121.40,2663.10,-89.00,2498.20,2861.50,110.90}}, {"Starfish Casino", {2437.30,1783.20,-89.00,2685.10,2012.10,110.90}}, {"Starfish Casino", {2437.30,1858.10,-39.00,2495.00,1970.80,60.90}}, {"Starfish Casino", {2162.30,1883.20,-89.00,2437.30,2012.10,110.90}}, {"Temple", {1252.30,-1130.80,-89.00,1378.30,-1026.30,110.90}}, {"Temple", {1252.30,-1026.30,-89.00,1391.00,-926.90,110.90}}, {"Temple", {1252.30,-926.90,-89.00,1357.00,-910.10,110.90}}, {"Temple", {952.60,-1130.80,-89.00,1096.40,-937.10,110.90}}, {"Temple", {1096.40,-1130.80,-89.00,1252.30,-1026.30,110.90}}, {"Temple", {1096.40,-1026.30,-89.00,1252.30,-910.10,110.90}}, {"The Camel's Toe", {2087.30,1203.20,-89.00,2640.40,1383.20,110.90}}, {"The Clown's Pocket", {2162.30,1783.20,-89.00,2437.30,1883.20,110.90}}, {"The Emerald Isle", {2011.90,2202.70,-89.00,2237.40,2508.20,110.90}}, {"The Farm", {-1209.60,-1317.10,114.90,-908.10,-787.30,251.90}}, {"Four Dragons Casino", {1817.30,863.20,-89.00,2027.30,1083.20,110.90}}, {"The High Roller", {1817.30,1283.20,-89.00,2027.30,1469.20,110.90}}, {"The Mako Span", {1664.60,401.70,0.00,1785.10,567.20,200.00}}, {"The Panopticon", {-947.90,-304.30,-1.10,-319.60,327.00,200.00}}, {"The Pink Swan", {1817.30,1083.20,-89.00,2027.30,1283.20,110.90}}, {"The Sherman Dam", {-968.70,1929.40,-3.00,-481.10,2155.20,200.00}}, {"The Strip", {2027.40,863.20,-89.00,2087.30,1703.20,110.90}}, {"The Strip", {2106.70,1863.20,-89.00,2162.30,2202.70,110.90}}, {"The Strip", {2027.40,1783.20,-89.00,2162.30,1863.20,110.90}}, {"The Strip", {2027.40,1703.20,-89.00,2137.40,1783.20,110.90}}, {"The Visage", {1817.30,1863.20,-89.00,2106.70,2011.80,110.90}}, {"The Visage", {1817.30,1703.20,-89.00,2027.40,1863.20,110.90}}, {"Unity Station", {1692.60,-1971.80,-20.40,1812.60,-1932.80,79.50}}, {"Valle Ocultado", {-936.60,2611.40,2.00,-715.90,2847.90,200.00}}, {"Verdant Bluffs", {930.20,-2488.40,-89.00,1249.60,-2006.70,110.90}}, {"Verdant Bluffs", {1073.20,-2006.70,-89.00,1249.60,-1842.20,110.90}}, {"Verdant Bluffs", {1249.60,-2179.20,-89.00,1692.60,-1842.20,110.90}}, {"Verdant Meadows", {37.00,2337.10,-3.00,435.90,2677.90,200.00}}, {"Verona Beach", {647.70,-2173.20,-89.00,930.20,-1804.20,110.90}}, {"Verona Beach", {930.20,-2006.70,-89.00,1073.20,-1804.20,110.90}}, {"Verona Beach", {851.40,-1804.20,-89.00,1046.10,-1577.50,110.90}}, {"Verona Beach", {1161.50,-1722.20,-89.00,1323.90,-1577.50,110.90}}, {"Verona Beach", {1046.10,-1722.20,-89.00,1161.50,-1577.50,110.90}}, {"Vinewood", {787.40,-1310.20,-89.00,952.60,-1130.80,110.90}}, {"Vinewood", {787.40,-1130.80,-89.00,952.60,-954.60,110.90}}, {"Vinewood", {647.50,-1227.20,-89.00,787.40,-1118.20,110.90}}, {"Vinewood", {647.70,-1416.20,-89.00,787.40,-1227.20,110.90}}, {"Whitewood Estates", {883.30,1726.20,-89.00,1098.30,2507.20,110.90}}, {"Whitewood Estates", {1098.30,1726.20,-89.00,1197.30,2243.20,110.90}}, {"Willowfield", {1970.60,-2179.20,-89.00,2089.00,-1852.80,110.90}}, {"Willowfield", {2089.00,-2235.80,-89.00,2201.80,-1989.90,110.90}}, {"Willowfield", {2089.00,-1989.90,-89.00,2324.00,-1852.80,110.90}}, {"Willowfield", {2201.80,-2095.00,-89.00,2324.00,-1989.90,110.90}}, {"Willowfield", {2541.70,-1941.40,-89.00,2703.50,-1852.80,110.90}}, {"Willowfield", {2324.00,-2059.20,-89.00,2541.70,-1852.80,110.90}}, {"Willowfield", {2541.70,-2059.20,-89.00,2703.50,-1941.40,110.90}}, {"Yellow Bell Station", {1377.40,2600.40,-21.90,1492.40,2687.30,78.00}}, // Citys Zones {"Los Santos", {44.60,-2892.90,-242.90,2997.00,-768.00,900.00}}, {"Las Venturas", {869.40,596.30,-242.90,2997.00,2993.80,900.00}}, {"Bone County", {-480.50,596.30,-242.90,869.40,2993.80,900.00}}, {"Tierra Robada", {-2997.40,1659.60,-242.90,-480.50,2993.80,900.00}}, {"Tierra Robada", {-1213.90,596.30,-242.90,-480.50,1659.60,900.00}}, {"San Fierro", {-2997.40,-1115.50,-242.90,-1213.90,1659.60,900.00}}, {"Red County", {-1213.90,-768.00,-242.90,2997.00,596.30,900.00}}, {"Flint County", {-1213.90,-2892.90,-242.90,44.60,-768.00,900.00}}, {"Whetstone", {-2997.40,-2892.90,-242.90,-1213.90,-1115.50,900.00}} }; public OnFilterScriptInit() { print("\n--------------------------------------"); print(" Gagi's House System by: Mr.Gagi(Gagi_Corleone)"); print("--------------------------------------\n"); DisableInteriorEnterExits(); SetTimer("GlobalTimer",1000,true); for(new i = 0; i <= MAX_HOUSE; i++) { new gFile[35]; format(gFile, 35, House_File ,i); if(fexist(gFile)) { INI_ParseFile(gFile, "LoadHouse", .bExtra = true, .extra = i); ReadHouse(i); } } return 1; } public OnFilterScriptExit() { return 1; } main() { print("\n----------------------------------"); print(" Blank Gamemode by your name here"); print("----------------------------------\n"); } public OnGameModeInit() { AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1; } public OnGameModeExit() { return 1; } public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1; } public OnPlayerConnect(playerid) { Player[playerid][Houseid] = 999; Phone0[playerid] = TextDrawCreate(48.000000, 150.000000, "~n~"); TextDrawBackgroundColor(Phone0[playerid], 255); TextDrawFont(Phone0[playerid], 1); TextDrawLetterSize(Phone0[playerid], 0.500000, 14.199999); TextDrawColor(Phone0[playerid], -1); TextDrawSetOutline(Phone0[playerid], 0); TextDrawSetProportional(Phone0[playerid], 1); TextDrawSetShadow(Phone0[playerid], 1); TextDrawUseBox(Phone0[playerid], 1); TextDrawBoxColor(Phone0[playerid], 100); TextDrawTextSize(Phone0[playerid], 130.000000, 0.000000); Phone1[playerid] = TextDrawCreate(59.000000, 216.000000, "1 2 3~n~4 5 6~n~7 8 9~n~* 0 #"); TextDrawBackgroundColor(Phone1[playerid], 255); TextDrawFont(Phone1[playerid], 1); TextDrawLetterSize(Phone1[playerid], 0.559997, 1.299998); TextDrawColor(Phone1[playerid], -1); TextDrawSetOutline(Phone1[playerid], 0); TextDrawSetProportional(Phone1[playerid], 1); TextDrawSetShadow(Phone1[playerid], 1); Phone2[playerid] = TextDrawCreate(56.000000, 170.000000, "~n~"); TextDrawBackgroundColor(Phone2[playerid], 255); TextDrawFont(Phone2[playerid], 1); TextDrawLetterSize(Phone2[playerid], 1.000000, 4.000000); TextDrawColor(Phone2[playerid], -1); TextDrawSetOutline(Phone2[playerid], 0); TextDrawSetProportional(Phone2[playerid], 1); TextDrawSetShadow(Phone2[playerid], 1); TextDrawUseBox(Phone2[playerid], 1); TextDrawBoxColor(Phone2[playerid], 310843903); TextDrawTextSize(Phone2[playerid], 119.000000, 0.000000); Phone3[playerid] = TextDrawCreate(120.000000, 126.000000, "~n~"); TextDrawBackgroundColor(Phone3[playerid], 255); TextDrawFont(Phone3[playerid], 1); TextDrawLetterSize(Phone3[playerid], 0.500000, 2.000000); TextDrawColor(Phone3[playerid], -1); TextDrawSetOutline(Phone3[playerid], 0); TextDrawSetProportional(Phone3[playerid], 1); TextDrawSetShadow(Phone3[playerid], 1); TextDrawUseBox(Phone3[playerid], 1); TextDrawBoxColor(Phone3[playerid], 100); TextDrawTextSize(Phone3[playerid], 120.000000, 0.000000); Phone4[playerid] = TextDrawCreate(53.000000, 182.000000, "Call 1111"); TextDrawBackgroundColor(Phone4[playerid], 255); TextDrawFont(Phone4[playerid], 2); TextDrawLetterSize(Phone4[playerid], 0.289999, 1.000000); TextDrawColor(Phone4[playerid], -1); TextDrawSetOutline(Phone4[playerid], 1); TextDrawSetProportional(Phone4[playerid], 1); Phone5[playerid] = TextDrawCreate(69.000000, 150.000000, "ooo~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~ooo"); TextDrawBackgroundColor(Phone5[playerid], 255); TextDrawFont(Phone5[playerid], 1); TextDrawLetterSize(Phone5[playerid], 0.500000, 1.000000); TextDrawColor(Phone5[playerid], -1); TextDrawSetOutline(Phone5[playerid], 1); TextDrawSetProportional(Phone5[playerid], 1); hUp[playerid] = TextDrawCreate(260.000000, 363.000000, " House Upgrade~n~~n~~r~< ~w~Price: ~g~$90000 ~r~>"); TextDrawBackgroundColor(hUp[playerid], 255); TextDrawFont(hUp[playerid], 2); TextDrawLetterSize(hUp[playerid], 0.349999, 1.200000); TextDrawColor(hUp[playerid], -1); TextDrawSetOutline(hUp[playerid], 1); TextDrawSetProportional(hUp[playerid], 1); LockTD0[playerid] = TextDrawCreate(37.000000, 150.000000, "~n~"); TextDrawBackgroundColor(LockTD0[playerid], 255); TextDrawFont(LockTD0[playerid], 1); TextDrawLetterSize(LockTD0[playerid], 0.500000, 6.899999); TextDrawColor(LockTD0[playerid], -1); TextDrawSetOutline(LockTD0[playerid], 0); TextDrawSetProportional(LockTD0[playerid], 1); TextDrawSetShadow(LockTD0[playerid], 1); TextDrawUseBox(LockTD0[playerid], 1); TextDrawBoxColor(LockTD0[playerid], -206); TextDrawTextSize(LockTD0[playerid], 150.000000, 0.000000); LockTD1[playerid] = TextDrawCreate(47.000000, 162.000000, "~n~"); TextDrawBackgroundColor(LockTD1[playerid], 255); TextDrawFont(LockTD1[playerid], 1); TextDrawLetterSize(LockTD1[playerid], 0.500000, 3.399998); TextDrawColor(LockTD1[playerid], -1); TextDrawSetOutline(LockTD1[playerid], 0); TextDrawSetProportional(LockTD1[playerid], 1); TextDrawSetShadow(LockTD1[playerid], 1); TextDrawUseBox(LockTD1[playerid], 1); TextDrawBoxColor(LockTD1[playerid], -1633968897); TextDrawTextSize(LockTD1[playerid], 79.000000, 10.000000); LockTD2[playerid] = TextDrawCreate(45.000000, 171.000000, "1234"); TextDrawBackgroundColor(LockTD2[playerid], 255); TextDrawFont(LockTD2[playerid], 3); TextDrawLetterSize(LockTD2[playerid], 0.380000, 0.899999); TextDrawColor(LockTD2[playerid], -1199695105); TextDrawSetOutline(LockTD2[playerid], 1); TextDrawSetProportional(LockTD2[playerid], 1); LockTD3[playerid] = TextDrawCreate(95.000000, 157.000000, "~r~1 ~w~2 3~n~4 5 6~n~7 8 9~n~ 0"); TextDrawBackgroundColor(LockTD3[playerid], 255); TextDrawFont(LockTD3[playerid], 1); TextDrawLetterSize(LockTD3[playerid], 0.450000, 1.000000); TextDrawColor(LockTD3[playerid], -1); TextDrawSetOutline(LockTD3[playerid], 1); TextDrawSetProportional(LockTD3[playerid], 1); LockTD4[playerid] = TextDrawCreate(44.000000, 200.000000, "Enter Close"); TextDrawBackgroundColor(LockTD4[playerid], 255); TextDrawFont(LockTD4[playerid], 1); TextDrawLetterSize(LockTD4[playerid], 0.460000, 1.000000); TextDrawColor(LockTD4[playerid], -1); TextDrawSetOutline(LockTD4[playerid], 1); TextDrawSetProportional(LockTD4[playerid], 1); LockTD5[playerid] = TextDrawCreate(34.000000, 149.000000, "~n~"); TextDrawBackgroundColor(LockTD5[playerid], 255); TextDrawFont(LockTD5[playerid], 1); TextDrawLetterSize(LockTD5[playerid], 0.500000, -0.400000); TextDrawColor(LockTD5[playerid], -1); TextDrawSetOutline(LockTD5[playerid], 0); TextDrawSetProportional(LockTD5[playerid], 1); TextDrawSetShadow(LockTD5[playerid], 1); TextDrawUseBox(LockTD5[playerid], 1); TextDrawBoxColor(LockTD5[playerid], -1166599937); TextDrawTextSize(LockTD5[playerid], 153.000000, 0.000000); LockTD6[playerid] = TextDrawCreate(34.000000, 217.000000, "~n~"); TextDrawBackgroundColor(LockTD6[playerid], 255); TextDrawFont(LockTD6[playerid], 1); TextDrawLetterSize(LockTD6[playerid], 0.500000, -0.400000); TextDrawColor(LockTD6[playerid], -1); TextDrawSetOutline(LockTD6[playerid], 0); TextDrawSetProportional(LockTD6[playerid], 1); TextDrawSetShadow(LockTD6[playerid], 1); TextDrawUseBox(LockTD6[playerid], 1); TextDrawBoxColor(LockTD6[playerid], -1166599937); TextDrawTextSize(LockTD6[playerid], 153.000000, 0.000000); new pFile[48]; format(pFile, 48, FILE_FOR_PLAYER, GetName(playerid)); if(!fexist(pFile)) { new INI:UserFile = INI_Open(pFile); INI_WriteFloat(UserFile, "pSpawnX", 0); INI_WriteFloat(UserFile, "pSpawnY", 0); INI_WriteFloat(UserFile, "pSpawnZ", 0); INI_WriteInt(UserFile, "pSpawn",0); INI_WriteInt(UserFile, "pSpawnInt", 0); INI_WriteInt(UserFile, "pVW", 0); INI_WriteInt(UserFile, "RobHouse", 0); INI_WriteInt(UserFile, "HouseID", 999); INI_WriteInt(UserFile, "Bill", 0); INI_Close(UserFile); } INI_ParseFile(pFile, "LoadPlayerData", .bExtra = true, .extra = playerid); return 1; } public OnPlayerDisconnect(playerid, reason) { TextDrawDestroy(LockTD0[playerid]); TextDrawDestroy(LockTD1[playerid]); TextDrawDestroy(LockTD2[playerid]); TextDrawDestroy(LockTD3[playerid]); TextDrawDestroy(LockTD4[playerid]); TextDrawDestroy(LockTD5[playerid]); TextDrawDestroy(LockTD6[playerid]); TextDrawDestroy(hUp[playerid]); TextDrawDestroy(Phone0[playerid]); TextDrawDestroy(Phone1[playerid]); TextDrawDestroy(Phone2[playerid]); TextDrawDestroy(Phone3[playerid]); TextDrawDestroy(Phone4[playerid]); TextDrawDestroy(Phone5[playerid]); new pFile[35]; format(pFile, 35, FILE_FOR_PLAYER, GetName(playerid)); new INI:UserFile = INI_Open(pFile); INI_WriteFloat(UserFile, "pSpawnX", Player[playerid][SpawnX]); INI_WriteFloat(UserFile, "pSpawnY", Player[playerid][SpawnY]); INI_WriteFloat(UserFile, "pSpawnZ", Player[playerid][SpawnZ]); INI_WriteInt(UserFile, "pSpawn", Player[playerid][Spawn]); INI_WriteInt(UserFile, "pSpawnInt", Player[playerid][SpawnInt]); INI_WriteInt(UserFile, "pVW", Player[playerid][SpawnVW]); INI_WriteInt(UserFile, "RobHouse", Player[playerid][RobHouse]); INI_WriteInt(UserFile, "HouseID", Player[playerid][Houseid]); INI_WriteInt(UserFile, "Bill", Player[playerid][Min]); INI_Close(UserFile); return 1; } forward LoadPlayerData(playerid, name[], value[]); public LoadPlayerData(playerid, name[], value[]) { INI_Float("pSpawnX", Player[playerid][SpawnX]); INI_Float("pSpawnY", Player[playerid][SpawnY]); INI_Float("pSpawnZ", Player[playerid][SpawnZ]); INI_Int("pSpawn", Player[playerid][Spawn]); INI_Int("pSpawnInt", Player[playerid][SpawnInt]); INI_Int("pVW", Player[playerid][SpawnVW]); INI_Int("RobHouse", Player[playerid][RobHouse]); INI_Int("HouseID", Player[playerid][Houseid]); INI_Int("Bill", Player[playerid][Min]); return 1; } public OnPlayerSpawn(playerid) { if(Player[playerid][Spawn] == 1) { SetPlayerPos(playerid,Player[playerid][SpawnX],Player[playerid][SpawnY],Player[playerid][SpawnZ]); SetPlayerInterior(playerid,Player[playerid][SpawnInt]); SetPlayerVirtualWorld(playerid,Player[playerid][SpawnVW]); } return 1; } public OnPlayerDeath(playerid, killerid, reason) { return 1; } public OnVehicleSpawn(vehicleid) { return 1; } public OnVehicleDeath(vehicleid, killerid) { return 1; } public OnPlayerText(playerid, text[]) { new string[128]; if(TalkWith[playerid] != 999) { format(string,sizeof(string),"%s: %s",GetName(playerid),text); SCM(TalkWith[playerid],-1,string); } return 0; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { new string[64],Float:Pos[3]; GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]); if(strcmp(HouseOwner[vehicleid],GetName(playerid),false) == 0) { } else { format(string,128,"{1BBCE0}Owner: "COL_WHITE"%s",HouseOwner[vehicleid]); SCM(playerid,-1,string); SCM(playerid,-1,"{1BBCE0}You don't have a Key."); SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]); } return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { return 1; } public OnPlayerEnterCheckpoint(playerid) { new i = Player[playerid][Houseid]; if(PlayerCP[playerid] == 1) { if(IsPlayerInRangeOfPoint(playerid,2.0,House[i][EnterX],House[i][EnterY],House[i][EnterZ])) { DisablePlayerCheckpoint(playerid); PlayerCP[playerid] = 0; } } 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) { if(newkeys == KEY_SECONDARY_ATTACK) { if(PhoneChoose[playerid] == 1) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "1"); TextDrawSetString(Phone4[playerid],TypeText[playerid]); } else if(PhoneChoose[playerid] == 2) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "2"); TextDrawSetString(Phone4[playerid],TypeText[playerid]); } else if(PhoneChoose[playerid] == 3) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "3"); TextDrawSetString(Phone4[playerid],TypeText[playerid]); } else if(PhoneChoose[playerid] == 4) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "4"); TextDrawSetString(Phone4[playerid],TypeText[playerid]); } else if(PhoneChoose[playerid] == 5) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "5"); TextDrawSetString(Phone4[playerid],TypeText[playerid]); } else if(PhoneChoose[playerid] == 6) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "6"); TextDrawSetString(Phone4[playerid],TypeText[playerid]); } else if(PhoneChoose[playerid] == 7) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "7"); TextDrawSetString(Phone4[playerid],TypeText[playerid]); } else if(PhoneChoose[playerid] == 8) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "8"); TextDrawSetString(Phone4[playerid],TypeText[playerid]); } else if(PhoneChoose[playerid] == 9) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "9"); TextDrawSetString(Phone4[playerid],TypeText[playerid]); } else if(PhoneChoose[playerid] == 10) { new string[32]; for(new id = 0; id <= MAX_HOUSE; id++) { format(string,32,House_File,id); if(!fexist(string)) continue; if(strcmp(House[id][PhoneNum],TypeText[playerid],false) == 0) { if(strcmp(House[id][Owner],"Apartment",false) == 0) continue; foreach(Player, i) { if(IsPlayerInRangeOfPoint(i,10.0,House[id][ExitX],House[id][ExitY],House[id][ExitZ]) && GetPlayerVirtualWorld(i) == House[id][VW]) { PhoneChoose[playerid] = 0; TextDrawHideForPlayer(playerid,Phone0[playerid]); TextDrawHideForPlayer(playerid,Phone1[playerid]); TextDrawHideForPlayer(playerid,Phone2[playerid]); TextDrawHideForPlayer(playerid,Phone3[playerid]); TextDrawHideForPlayer(playerid,Phone4[playerid]); TextDrawHideForPlayer(playerid,Phone5[playerid]); TogglePlayerControllable(playerid,true); SCM(playerid,-1,"Calling..."); SCM(playerid,-1,"Wait for answer."); Calling[playerid] = 10; CallFrom[i] = playerid; } } } } } else if(PhoneChoose[playerid] == 11) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "0"); TextDrawSetString(Phone4[playerid],TypeText[playerid]); } else if(PhoneChoose[playerid] == 12) { PhoneChoose[playerid] = 0; TextDrawHideForPlayer(playerid,Phone0[playerid]); TextDrawHideForPlayer(playerid,Phone1[playerid]); TextDrawHideForPlayer(playerid,Phone2[playerid]); TextDrawHideForPlayer(playerid,Phone3[playerid]); TextDrawHideForPlayer(playerid,Phone4[playerid]); TextDrawHideForPlayer(playerid,Phone5[playerid]); TogglePlayerControllable(playerid,true); SCM(playerid,-1,"You are hangup phone"); } if(ChooseInt[playerid] == 1) { new h = Player[playerid][Houseid]; if(GetPlayerMoney(playerid) < 15000) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have enough money."); House[h][ExitX] = 2496.049804; House[h][ExitY] = -1695.238159; House[h][ExitZ] = 1014.742187; House[h][IntID] = 3; SetPlayerVirtualWorld(playerid,House[h][VW]); SetPlayerPos(playerid,House[h][ExitX],House[h][ExitY],House[h][ExitZ]); SetPlayerInterior(playerid,House[h][IntID]); TextDrawHideForPlayer(playerid,hUp[playerid]); GivePlayerMoney(playerid,-15000); ChooseInt[playerid] = 0; CheckHouse(h); } else if(ChooseInt[playerid] == 2) { new h = Player[playerid][Houseid]; if(GetPlayerMoney(playerid) < 13000) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have enough money."); House[h][ExitX] = 2527.654052; House[h][ExitY] = -1679.388305; House[h][ExitZ] = 1015.498596; House[h][IntID] = 1; SetPlayerVirtualWorld(playerid,House[h][VW]); SetPlayerPos(playerid,House[h][ExitX],House[h][ExitY],House[h][ExitZ]); SetPlayerInterior(playerid,House[h][IntID]); TextDrawHideForPlayer(playerid,hUp[playerid]); GivePlayerMoney(playerid,-13000); ChooseInt[playerid] = 0; CheckHouse(h); } else if(ChooseInt[playerid] == 3) { new h = Player[playerid][Houseid]; if(GetPlayerMoney(playerid) < 17000) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have enough money."); House[h][ExitX] = 2807.619873; House[h][ExitY] = -1171.899902; House[h][ExitZ] = 1025.570312; House[h][IntID] = 8; SetPlayerVirtualWorld(playerid,House[h][VW]); SetPlayerPos(playerid,House[h][ExitX],House[h][ExitY],House[h][ExitZ]); SetPlayerInterior(playerid,House[h][IntID]); TextDrawHideForPlayer(playerid,hUp[playerid]); GivePlayerMoney(playerid,-17000); ChooseInt[playerid] = 0; CheckHouse(h); } if(Choose[playerid] == 1) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "1"); TextDrawSetString(LockTD2[playerid],TypeText[playerid]); } else if(Choose[playerid] == 2) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "2"); TextDrawSetString(LockTD2[playerid],TypeText[playerid]); } else if(Choose[playerid] == 3) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "3"); TextDrawSetString(LockTD2[playerid],TypeText[playerid]); } else if(Choose[playerid] == 4) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "4"); TextDrawSetString(LockTD2[playerid],TypeText[playerid]); } else if(Choose[playerid] == 5) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "5"); TextDrawSetString(LockTD2[playerid],TypeText[playerid]); } else if(Choose[playerid] == 6) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "6"); TextDrawSetString(LockTD2[playerid],TypeText[playerid]); } else if(Choose[playerid] == 7) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "7"); TextDrawSetString(LockTD2[playerid],TypeText[playerid]); } else if(Choose[playerid] == 8) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "8"); TextDrawSetString(LockTD2[playerid],TypeText[playerid]); } else if(Choose[playerid] == 9) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "9"); TextDrawSetString(LockTD2[playerid],TypeText[playerid]); } else if(Choose[playerid] == 10) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "0"); TextDrawSetString(LockTD2[playerid],TypeText[playerid]); } else if(Choose[playerid] == 10) { if(strlen(TypeText[playerid]) >= 4) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just 4 number please!"); strcat(TypeText[playerid], "0"); TextDrawSetString(LockTD2[playerid],TypeText[playerid]); } else if(Choose[playerid] == 11) { new id = GetClosetHouseID(playerid); if(strcmp(House[id][LockPass],TypeText[playerid],false) == 0) { House[id][Lock] = 1; Choose[playerid] = 0; TextDrawHideForPlayer(playerid,LockTD0[playerid]); TextDrawHideForPlayer(playerid,LockTD1[playerid]); TextDrawHideForPlayer(playerid,LockTD2[playerid]); TextDrawHideForPlayer(playerid,LockTD3[playerid]); TextDrawHideForPlayer(playerid,LockTD4[playerid]); TextDrawHideForPlayer(playerid,LockTD5[playerid]); TextDrawHideForPlayer(playerid,LockTD6[playerid]); TogglePlayerControllable(playerid,true); SCM(playerid,-1,"House is locked."); CheckHouse(id); } else return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Wrong password"); } else if(Choose[playerid] == 12) { TextDrawHideForPlayer(playerid,LockTD0[playerid]); TextDrawHideForPlayer(playerid,LockTD1[playerid]); TextDrawHideForPlayer(playerid,LockTD2[playerid]); TextDrawHideForPlayer(playerid,LockTD3[playerid]); TextDrawHideForPlayer(playerid,LockTD4[playerid]); TextDrawHideForPlayer(playerid,LockTD5[playerid]); TextDrawHideForPlayer(playerid,LockTD6[playerid]); TogglePlayerControllable(playerid,true); } } return 1; } public OnRconLoginAttempt(ip[], password[], success) { return 1; } public OnPlayerUpdate(playerid) { new k, ud, lr; GetPlayerKeys(playerid, k, ud, lr); if(lr > 0) { if(ChooseInt[playerid] == 1) { ChooseInt[playerid] = 2; SetPlayerPos(playerid,2527.654052,-1679.388305,1015.498596); SetPlayerInterior(playerid,1); TextDrawSetString(hUp[playerid]," House Upgrade~n~~n~~r~< ~w~Price: ~g~$13000 ~r~>"); TextDrawShowForPlayer(playerid,hUp[playerid]); } else if(ChooseInt[playerid] == 2) { ChooseInt[playerid] = 3; SetPlayerPos(playerid,2807.619873,-1171.899902,1025.570312); SetPlayerInterior(playerid,8); TextDrawSetString(hUp[playerid]," House Upgrade~n~~n~~r~< ~w~Price: ~g~$17000 ~r~>"); TextDrawShowForPlayer(playerid,hUp[playerid]); } else if(ChooseInt[playerid] == 3) { ChooseInt[playerid] = 1; SetPlayerPos(playerid,2496.049804,-1695.238159,1014.742187); SetPlayerInterior(playerid,3); TextDrawSetString(hUp[playerid]," House Upgrade~n~~n~~r~< ~w~Price: ~g~$20000 ~r~>"); TextDrawShowForPlayer(playerid,hUp[playerid]); } } if(ud > 0) { if(PhoneChoose[playerid] == 1) { TextDrawSetString(Phone1[playerid],"~w~1 ~y~2 ~w~3~n~4 5 6~n~7 8 9~n~~g~~g~C ~w~0 ~r~H"); PhoneChoose[playerid] = 2; } else if(PhoneChoose[playerid] == 2) { TextDrawSetString(Phone1[playerid],"~w~1 2 ~y~3~n~~w~4 5 6~n~7 8 9~n~~g~~g~C ~w~0 ~r~H"); PhoneChoose[playerid] = 3; } else if(PhoneChoose[playerid] == 3) { TextDrawSetString(Phone1[playerid],"~w~1 2 3~n~~y~4 ~w~5 6~n~7 8 9~n~~g~~g~C ~w~0 ~r~H"); PhoneChoose[playerid] = 4; } else if(PhoneChoose[playerid] == 4) { TextDrawSetString(Phone1[playerid],"~w~1 2 3~n~4 ~y~5 ~w~6~n~7 8 9~n~~g~~g~C ~w~0 ~r~H"); PhoneChoose[playerid] = 5; } else if(PhoneChoose[playerid] == 5) { TextDrawSetString(Phone1[playerid],"~w~1 2 3~n~4 5 ~y~6~n~~w~7 8 9~n~~g~~g~C ~w~0 ~r~H"); PhoneChoose[playerid] = 6; } else if(PhoneChoose[playerid] == 6) { TextDrawSetString(Phone1[playerid],"~w~1 2 3~n~4 5 6~n~~y~7 ~w~8 9~n~~g~~g~C ~w~0 ~r~H"); PhoneChoose[playerid] = 7; } else if(PhoneChoose[playerid] == 7) { TextDrawSetString(Phone1[playerid],"~w~1 2 3~n~4 5 6~n~7 ~y~8 ~w~9~n~~g~~g~C ~w~0 ~r~H"); PhoneChoose[playerid] = 8; } else if(PhoneChoose[playerid] == 8) { TextDrawSetString(Phone1[playerid],"~w~1 2 3~n~4 5 6~n~7 8 ~y~9~n~~g~~g~C ~w~0 ~r~H"); PhoneChoose[playerid] = 9; } else if(PhoneChoose[playerid] == 9) { TextDrawSetString(Phone1[playerid],"~w~1 2 3~n~4 5 6~n~7 8 9~n~~y~C ~w~0 ~r~H"); PhoneChoose[playerid] = 10; } else if(PhoneChoose[playerid] == 10) { TextDrawSetString(Phone1[playerid],"~w~1 2 3~n~4 5 6~n~7 8 9~n~~g~~g~C ~y~0 ~r~H"); PhoneChoose[playerid] = 11; } else if(PhoneChoose[playerid] == 11) { TextDrawSetString(Phone1[playerid],"~w~1 2 3~n~4 5 6~n~7 8 9~n~~g~~g~C ~w~0 ~y~H"); PhoneChoose[playerid] = 12; } else if(PhoneChoose[playerid] == 12) { TextDrawSetString(Phone1[playerid],"~y~1 ~w~2 3~n~4 5 6~n~7 8 9~n~~g~~g~C ~w~0 ~r~H"); PhoneChoose[playerid] = 1; } //Alarm if(Choose[playerid] == 1) { TextDrawSetString(LockTD3[playerid],"~w~1 ~r~2 ~w~3~n~4 5 6~n~7 8 9~n~ 0"); Choose[playerid] = 2; } else if(Choose[playerid] == 2) { TextDrawSetString(LockTD3[playerid],"~w~1 2 ~r~3~n~~w~4 5 6~n~7 8 9~n~ 0"); Choose[playerid] = 3; } else if(Choose[playerid] == 3) { TextDrawSetString(LockTD3[playerid],"~w~1 2 3~n~~r~4 ~w~5 6~n~7 8 9~n~ 0"); Choose[playerid] = 4; } else if(Choose[playerid] == 4) { TextDrawSetString(LockTD3[playerid],"~w~1 2 3~n~4 ~r~5 ~w~6~n~7 8 9~n~ 0"); Choose[playerid] = 5; } else if(Choose[playerid] == 5) { TextDrawSetString(LockTD3[playerid],"~w~1 2 3~n~4 5 ~r~6~n~~w~7 8 9~n~ 0"); Choose[playerid] = 6; } else if(Choose[playerid] == 6) { TextDrawSetString(LockTD3[playerid],"~w~1 2 3~n~4 5 6~n~~r~7 ~w~8 9~n~ 0"); Choose[playerid] = 7; } else if(Choose[playerid] == 7) { TextDrawSetString(LockTD3[playerid],"~w~1 2 3~n~4 5 6~n~7 ~r~8 ~w~9~n~ 0"); Choose[playerid] = 8; } else if(Choose[playerid] == 8) { TextDrawSetString(LockTD3[playerid],"~w~1 2 3~n~4 5 6~n~7 8 ~r~9~n~ ~w~0"); Choose[playerid] = 9; } else if(Choose[playerid] == 9) { TextDrawSetString(LockTD3[playerid],"~w~1 2 3~n~4 5 6~n~7 8 9~n~ ~r~0"); Choose[playerid] = 10; } else if(Choose[playerid] == 10) { TextDrawSetString(LockTD3[playerid],"~w~1 2 3~n~4 5 6~n~7 8 9~n~ 0"); TextDrawSetString(LockTD4[playerid],"~r~Enter ~w~Close"); Choose[playerid] = 11; } else if(Choose[playerid] == 11) { TextDrawSetString(LockTD4[playerid],"~w~Enter ~r~Close"); Choose[playerid] = 12; } else if(Choose[playerid] == 12) { TextDrawSetString(LockTD4[playerid],"~w~Enter ~w~Close"); TextDrawSetString(LockTD3[playerid],"~r~1 ~w~2 3~n~4 5 6~n~7 8 9~n~ 0"); Choose[playerid] = 1; } } else if(ud < 0) { if(Choose[playerid] == 1) { TextDrawSetString(LockTD3[playerid],"~w~1 2 ~w~3~n~4 5 6~n~7 8 9~n~ ~w~0"); TextDrawSetString(LockTD4[playerid],"~w~Enter ~r~Close"); Choose[playerid] = 12; } else if(Choose[playerid] == 12) { TextDrawSetString(LockTD4[playerid],"~r~Enter ~w~Close"); Choose[playerid] = 11; } else if(Choose[playerid] == 11) { TextDrawSetString(LockTD4[playerid],"~w~Enter ~w~Close"); TextDrawSetString(LockTD3[playerid],"~w~1 2 3~n~4 5 6~n~7 8 9~n~ ~r~0"); Choose[playerid] = 10; } else if(Choose[playerid] == 10) { TextDrawSetString(LockTD3[playerid],"~w~1 2 3~n~4 5 6~n~7 8 ~r~9~n~ ~w~0"); Choose[playerid] = 9; } else if(Choose[playerid] == 9) { TextDrawSetString(LockTD3[playerid],"~w~1 2 3~n~4 5 6~n~7 ~r~8 ~w~9~n~ 0"); Choose[playerid] = 8; } else if(Choose[playerid] == 8) { TextDrawSetString(LockTD3[playerid],"~w~1 2 3~n~4 5 6~n~~r~7 ~w~8 9~n~ 0"); Choose[playerid] = 7; } else if(Choose[playerid] == 7) { TextDrawSetString(LockTD3[playerid],"~w~1 2 3~n~4 5 ~r~6~n~~w~7 8 9~n~ 0"); Choose[playerid] = 6; } else if(Choose[playerid] == 6) { TextDrawSetString(LockTD3[playerid],"~w~1 2 3~n~4 ~r~5 ~w~6~n~7 8 9~n~ 0"); Choose[playerid] = 5; } else if(Choose[playerid] == 5) { TextDrawSetString(LockTD3[playerid],"~w~1 2 3~n~~r~4 ~w~5 6~n~7 8 9~n~ 0"); Choose[playerid] = 4; } else if(Choose[playerid] == 4) { TextDrawSetString(LockTD3[playerid],"~w~1 2 ~r~3~n~~w~4 5 6~n~7 8 9~n~ 0"); Choose[playerid] = 3; } else if(Choose[playerid] == 3) { TextDrawSetString(LockTD3[playerid],"~w~1 ~r~2 ~w~3~n~4 5 6~n~7 8 9~n~ 0"); Choose[playerid] = 2; } else if(Choose[playerid] == 2) { TextDrawSetString(LockTD3[playerid],"~r~1 ~w~2 3~n~4 5 6~n~7 8 9~n~ 0"); Choose[playerid] = 1; } } 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[]) { switch(dialogid) { case DIALOG_HOUSE: { if(!response) return 1; new string[200]; switch(listitem) { case 0: { new id = Player[playerid][Houseid]; if(id == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house"); if(!IsPlayerInRangeOfPoint(playerid,3.0,House[id][EnterX],House[id][EnterY],House[id][EnterZ])) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You are not near your house"); format(House[id][Owner], 32, "Apartment"); if(House[id][hCar] > 0) format(HouseOwner[House[id][hCar]],64,"Apartment"); House[id][On_Sell] = 1; Player[playerid][Houseid] = 999; GivePlayerMoney(playerid,House[id][Price]/2); DestroyDynamicPickup(House[id][PickupU]); House[id][PickupU] = CreateDynamicPickup(1273, 23, House[id][EnterX],House[id][EnterY],House[id][EnterZ],-1,-1,-1,100.0); DestroyDynamicMapIcon(House[id][Icon]); House[id][Icon] = CreateDynamicMapIcon(House[id][EnterX],House[id][EnterY],House[id][EnterZ], 31, 0, -1, -1, -1, 100.0); CheckHouse(id); UpdatePlayerInformation(playerid); format(string,sizeof(string),"{29CC3F}Owner: "COL_WHITE"Apartment\n{29CC3F}House Name: "COL_WHITE"%s\n{29CC3F}Price: "COL_WHITE"%d\n{29CC3F}Level: "COL_WHITE"%d\n{29CC3F}Address: "COL_WHITE"%s\n (/buyhouse)",House[id][HouseName],House[id][Price],House[id][Level],House[id][Address]); UpdateDynamic3DTextLabelText(House[id][DLabel],-1,string); } case 1: { ShowPlayerDialog(playerid,DIALOG_HOUSE+1,DIALOG_STYLE_INPUT,""COL_YELLOW"Rent house",""COL_BLUE"Type rent price","Put","Close"); } case 2: { new id = Player[playerid][Houseid]; foreach (Player, i) { if(i != playerid) { if(strcmp(House[id][Player_Rent],GetName(playerid), false ) == 0) {SCM(i,COLOR_RED,"You have been evicted from house");} format(House[id][Player_Rent],48,"Nobody"); } } } case 3: { ShowPlayerDialog(playerid,DIALOG_HOUSE+2,DIALOG_STYLE_INPUT,""COL_YELLOW"House name",""COL_WHITE"Type new name of house","Name","Close"); } case 4: { ShowPlayerDialog(playerid,DIALOG_HOUSE+3,DIALOG_STYLE_INPUT,""COL_YELLOW"Lock Password (numbers only)",""COL_WHITE"Type new password","Insert","Close"); } } } case DIALOG_HOUSE+1: { if(!response) return 1; new string[210]; new id = Player[playerid][Houseid]; if(strval(inputtext) <= 0) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Price can't be less 1"); House[id][RentPrice] = strval(inputtext); format(string,sizeof(string),"New rent price is $%d",strval(inputtext)); SCM(playerid,-1,string); format(string,sizeof(string),"{E0BC1B}Owner: "COL_WHITE"%s\n{E0BC1B}House name: "COL_WHITE"%s\n{E0BC1B}Price: "COL_WHITE"%d\n{E0BC1B}Level: "COL_WHITE"%d\n{E0BC1B}Rent price: "COL_WHITE"%d\n{E0BC1B}Address: "COL_WHITE"%s\n (/renthouse)",House[id][Owner],House[id][HouseName],House[id][Price],House[id][Level],House[id][RentPrice],House[id][Address]); UpdateDynamic3DTextLabelText(House[id][DLabel],-1,string); CheckHouse(id); } case DIALOG_HOUSE+2: { if(!response) return 1; new string[210]; new id = Player[playerid][Houseid]; format(House[id][HouseName], 32, "%s", inputtext); format(string,sizeof(string),"{E0BC1B}Owner: "COL_WHITE"%s\n{E0BC1B}House name: "COL_WHITE"%s\n{E0BC1B}Price: "COL_WHITE"%d\n{E0BC1B}Level: "COL_WHITE"%d\n{E0BC1B}Rent price: "COL_WHITE"%d\n{E0BC1B}Address: "COL_WHITE"%s\n (/renthouse)",House[id][Owner],House[id][HouseName],House[id][Price],House[id][Level],House[id][RentPrice],House[id][Address]); UpdateDynamic3DTextLabelText(House[id][DLabel],-1,string); CheckHouse(id); } case DIALOG_HOUSE+3: { if(!response) return 1; new string[128]; new id = Player[playerid][Houseid]; if(strlen(inputtext) >= 5 || strlen(inputtext) < 4) return ShowPlayerDialog(playerid,DIALOG_HOUSE+3,DIALOG_STYLE_INPUT,""COL_WHITE"Lock Password",""COL_BLUE"Type new password","Insert","Close"),SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Just four numbers"); format(House[id][LockPass],5,"%d",strval(inputtext)); format(string,sizeof(string),"New password is %d",strval(inputtext)); SCM(playerid,-1,string); CheckHouse(id); } } return 1; } public OnPlayerClickPlayer(playerid, clickedplayerid, source) { return 1; } forward LoadHouse(id, name[], value[]); public LoadHouse(id, name[], value[]) { INI_Float("EnterX", House[id][EnterX]); INI_Float("EnterY", House[id][EnterY]); INI_Float("EnterZ", House[id][EnterZ]); INI_Float("ExitX", House[id][ExitX]); INI_Float("ExitY", House[id][ExitY]); INI_Float("ExitZ", House[id][ExitZ]); INI_String("HouseName", House[id][HouseName] , 32 ); INI_String("Owner", House[id][Owner] , 32 ); INI_Int("Price", House[id][Price]); INI_Int("Level", House[id][Level]); INI_Int("Interior", House[id][IntID]); INI_Int("VW", House[id][VW]); INI_Int("On_Sell", House[id][On_Sell]); INI_Int("Lock", House[id][Lock]); INI_Int("RentPrice", House[id][RentPrice]); INI_String("PlayerRent", House[id][Player_Rent] , 32 ); INI_Int("Money", House[id][Money]); INI_Int("Gun1", House[id][Gun1]); INI_Int("Gun2", House[id][Gun2]); INI_Int("Ammo1", House[id][Ammo1]); INI_Int("Ammo2", House[id][Ammo2]); INI_String("LockPass", House[id][LockPass] , 5 ); INI_Float("hCarX", House[id][hCarX]); INI_Float("hCarY", House[id][hCarY]); INI_Float("hCarZ", House[id][hCarZ]); INI_Float("hCarA", House[id][hCarA]); INI_Int("hCarC1", House[id][hCarC1]); INI_Int("hCarC2", House[id][hCarC2]); INI_Int("hCarID", House[id][hCarID]); INI_Int("hCarMoney", House[id][hCarMoney]); INI_Int("hCarGun1", House[id][hCarGun1]); INI_Int("hCarGun2", House[id][hCarGun2]); INI_Int("hCarAmmo1", House[id][hCarAmmo1]); INI_Int("hCarAmmo2", House[id][hCarAmmo2]); INI_String("PhoneNum", House[id][PhoneNum] , 5 ); INI_String("Address", House[id][Address] , 48); INI_Int("DayEnter", House[id][DayEnter]); INI_Int("MonthEnter", House[id][MonthEnter]); return 1; } //==================House System===================== YCMD:chouse(playerid, params[], help) { #pragma unused help if(!IsPlayerAdmin(playerid)) return SCM(playerid, COLOR_RED, "You must be RCON admin"); new Float:Pos[3],string[64],id,name[48],price,level; if(sscanf(params, "is[48]ii",id,name,price,level)) return SCM(playerid, COLOR_RED, "Usage:"COL_WHITE" /chouse [ID] [Name] [Price] [Level]"); if(id >= MAX_HOUSE) return SCM(playerid, COLOR_RED, "EROR: "COL_WHITE"Try again. You have typed the wrong house id."); format(string, sizeof(string), House_File, id); if(fexist(string)) return SCM(playerid, COLOR_RED, "House on that id already exists.!"); GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]); CreateSaveHouse(name,id,price,level,id+1,Pos[0],Pos[1],Pos[2]); SCM(playerid, -1, ""COL_YELLOW"You have Created a house.."); return 1; } YCMD:removehouse(playerid, params[], help) { #pragma unused help #pragma unused params if(!IsPlayerAdmin(playerid)) return SCM(playerid, COLOR_RED, "You must be RCON admin"); new h = GetClosetHouseID(playerid),file[32]; if(h == -1) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"There is no house."); format(file,32,House_File,h); if(fexist(file)) { fremove(file); DestroyDynamicPickup(House[h][PickupU]); DestroyDynamic3DTextLabel(House[h][DLabel]); DestroyDynamicMapIcon(House[h][Icon]); } return 1; } YCMD:gotohouse(playerid, params[], help) { #pragma unused help new id,file[32]; if(!IsPlayerAdmin(playerid)) return SCM(playerid, COLOR_RED, "You must be RCON admin"); if(sscanf(params,"i",id)) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Usage: /gotohouse [ID]"); format(file,32,House_File,id); if(!fexist(file)) return SCM(playerid,-1,"There is no house on that id."); SetPlayerPos(playerid,House[id][EnterX],House[id][EnterY],House[id][EnterZ]); return 1; } YCMD:buyhouse(playerid, params[], help) { #pragma unused help #pragma unused params new string[210]; new i = GetClosetHouseID(playerid); if(Player[playerid][Houseid] != 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You already have house"); if(!IsPlayerInRangeOfPoint(playerid,5.0,House[i][EnterX],House[i][EnterY],House[i][EnterZ])) return SCM(playerid,COLOR_RED,"You are not close to your house."); if(GetPlayerScore(playerid)<=5000)return SCM(playerid,COLOR_RED,"You need more than 5000 score to use this cmd !"); if(GetPlayerMoney(playerid) < House[i][Price]) return SCM(playerid, COLOR_RED, "You don't have that kind of money."); format(House[i][Owner], 32, "%s", GetName(playerid)); if(House[i][hCar] > 0) format(HouseOwner[House[i][hCar]],64,"%s",GetName(playerid)); House[i][On_Sell] = 0; Player[playerid][Houseid] = i; DestroyDynamicPickup(House[i][PickupU]); House[i][PickupU] = CreateDynamicPickup(1272, 23, House[i][EnterX],House[i][EnterY],House[i][EnterZ],-1,-1,-1,100.0); GivePlayerMoney(playerid, -House[i][Price]); DestroyDynamicMapIcon(House[i][Icon]); House[i][Icon] = CreateDynamicMapIcon(House[i][EnterX],House[i][EnterY],House[i][EnterZ], 32, 0, -1, -1, -1, 100.0); CheckHouse(i); format(string,sizeof(string),"{E0BC1B}Owner: "COL_WHITE"%s\n{E0BC1B}House name: "COL_WHITE"%s\n{E0BC1B}Price: "COL_WHITE"%d\n{E0BC1B}Level: "COL_WHITE"%d\n{E0BC1B}Rent price: "COL_WHITE"%d\n{E0BC1B}Address: "COL_WHITE"%s\n (/renthouse)",House[i][Owner],House[i][HouseName],House[i][Price],House[i][Level],House[i][RentPrice],House[i][Address]); UpdateDynamic3DTextLabelText(House[i][DLabel],-1,string); UpdatePlayerInformation(playerid); return 1; } YCMD:house(playerid, params[], help) { #pragma unused help #pragma unused params new id = Player[playerid][Houseid]; if(id == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house."); if(!IsPlayerInRangeOfPoint(playerid,5.0,House[id][EnterX],House[id][EnterY],House[id][EnterZ])) return SCM(playerid,COLOR_RED,"This Is not Your House.!"); ShowPlayerDialog(playerid,DIALOG_HOUSE,DIALOG_STYLE_LIST,"House control panel","Sell\nChange rent\nEvict\nHouse name\nLock Password","Choose","Close"); return 1; } YCMD:renthouse(playerid, params[], help) { #pragma unused help #pragma unused params new id = GetClosetHouseID(playerid); if(id == -1) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"There is no house."); if(strcmp(House[id][Owner],"Apartment", false ) == 0) { SCM(playerid,COLOR_RED,"This house does not have an owner."); return 1; } if(strcmp(House[id][Player_Rent],"Nobody", false ) == 0) { new string[128]; if(!IsPlayerInRangeOfPoint(playerid,5.0,House[id][EnterX],House[id][EnterY],House[id][EnterZ])) return SCM(playerid,COLOR_RED,"Niste blizu nijedne kuce!"); House[id][Money] += House[id][RentPrice]; GivePlayerMoney(playerid, -House[id][RentPrice]); format(House[id][Player_Rent],48,"%s",GetName(playerid)); format(string,sizeof(string),"{E0BC1B}You owe rent for House $%d",House[id][RentPrice]); SCM(playerid,-1,string); CheckHouse(id); } else return SCM(playerid,COLOR_RED,"Somebody already rented this house."); return 1; } YCMD:unrenthouse(playerid, params[], help) { #pragma unused help #pragma unused params new id = GetClosetHouseID(playerid); if(id == -1) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"There is no house."); if(strcmp(House[id][Owner],"Apartment", false ) == 0) { SCM(playerid,COLOR_RED,"This house does not have an owner."); return 1; } if(strcmp(House[id][Player_Rent],GetName(playerid), false ) == 0) { if(!IsPlayerInRangeOfPoint(playerid,5.0,House[id][EnterX],House[id][EnterY],House[id][EnterZ])) return SCM(playerid,COLOR_RED,"Niste blizu nijedne kuce!"); format(House[id][Player_Rent],48,"Nobody"); SCM(playerid,-1,"You are unrent house"); CheckHouse(id); } else return SCM(playerid,COLOR_RED,"EROR:"COL_WHITE" You don't rent this house."); return 1; } YCMD:hdeposit(playerid, params[], help) { #pragma unused help #pragma unused params new id = Player[playerid][Houseid]; if(id == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house."); new string[128],money; if(!IsPlayerInRangeOfPoint(playerid,5.0,House[id][ExitX],House[id][ExitY],House[id][ExitZ])) return SCM(playerid,COLOR_RED,"You are not at right position!"); if(sscanf(params, "i",money)) return SCM(playerid, COLOR_RED, "Usage: /hdeposit [Money]"); if(money > GetPlayerMoney(playerid)) return SCM(playerid, COLOR_RED, "You don't have that kind of money."); if(money < 1) return SCM(playerid, COLOR_RED, "Money can't be less then 1"); House[id][Money] += money; GivePlayerMoney(playerid, -money); format(string,sizeof(string),"{E0BC1B}You have put in the safe $%d.Now you have $%d",money,House[id][Money]); SCM(playerid,-1,string); CheckHouse(id); return 1; } YCMD:hwithdraw(playerid, params[], help) { #pragma unused help #pragma unused params new id = Player[playerid][Houseid]; if(id == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house."); new string[128],money; if(!IsPlayerInRangeOfPoint(playerid,5.0,House[id][ExitX],House[id][ExitY],House[id][ExitZ])) return SCM(playerid,COLOR_RED,"You are not in your house!"); if(sscanf(params, "i",money)) return SCM(playerid, COLOR_RED, "Usage: /hwithdraw [Money]"); if(money > House[id][Money]) return SCM(playerid, COLOR_RED, "You Don't have this sum of money."); if(money < 1) return SCM(playerid, COLOR_RED, "Money can't be less then 1"); House[id][Money] -= money; GivePlayerMoney(playerid, money); format(string,sizeof(string),""COL_YELLOW"You are take from safe"COL_GREEN"$%d"COL_YELLOW".Now there is "COL_GREEN"$%d",money,House[id][Money]); SCM(playerid,-1,string); CheckHouse(id); return 1; } YCMD:hputgun(playerid, params[], help) { #pragma unused help #pragma unused params new id = Player[playerid][Houseid]; if(id == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house."); new string[128],slot,ammo; if(!IsPlayerInRangeOfPoint(playerid,30.0,House[id][ExitX],House[id][ExitY],House[id][ExitZ])) return SCM(playerid,COLOR_RED,"You are not at right position!"); if(sscanf(params, "ii",slot,ammo)) return SCM(playerid, COLOR_RED, "Usage: /hputgun [Slot 1/2] [Ammo]"); if(ammo > GetPlayerAmmo(playerid)) return SCM(playerid, COLOR_RED, "You don't have that much ammo."); if(ammo < 1) return SCM(playerid, COLOR_RED, "Ammo can't be less then 1"); if(slot == 1) { if(House[id][Gun1] != 0) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"There is already gun on this slot."); House[id][Gun1] = GetPlayerWeapon(playerid); House[id][Ammo1] = ammo; SetPlayerAmmo(playerid,GetPlayerWeapon(playerid),GetPlayerAmmo(playerid)-ammo); format(string,sizeof(string),"{E0BC1B}You have put gun on slot 1.With %d ammo",ammo); SCM(playerid,-1,string); CheckHouse(id); } if(slot == 2) { if(House[id][Gun2] != 0) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"There is already gun on this slot."); House[id][Gun2] = GetPlayerWeapon(playerid); House[id][Ammo2] = ammo; SetPlayerAmmo(playerid,GetPlayerWeapon(playerid),GetPlayerAmmo(playerid)-ammo); format(string,sizeof(string),"{E0BC1B}You have put gun on slot 2.With %d ammo",ammo); SCM(playerid,-1,string); CheckHouse(id); } return 1; } YCMD:htakegun(playerid, params[], help) { #pragma unused help #pragma unused params new id = Player[playerid][Houseid]; if(id == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house."); if(!IsPlayerInRangeOfPoint(playerid,5.0,House[id][ExitX],House[id][ExitY],House[id][ExitZ])) return SCM(playerid,COLOR_RED,"You are not in your house!"); new string[128],slot,ammo; if(!IsPlayerInRangeOfPoint(playerid,5.0,House[id][ExitX],House[id][ExitY],House[id][ExitZ])) return SCM(playerid,COLOR_RED,"You are not at right position!"); if(sscanf(params, "ii",slot,ammo)) return SCM(playerid, COLOR_RED, "Usage: /htakegun [Slot 1/2] [Ammo]"); if(ammo < 1) return SCM(playerid, COLOR_RED, "Ammo can't be less then 1"); if(slot == 1) { if(House[id][Gun1] == 0) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"There is no gun on this slot."); if(ammo > House[id][Ammo1]) return SCM(playerid, COLOR_RED, "EROR:"COL_WHITE" In the safe does not have that much ammo."); GivePlayerWeapon(playerid,House[id][Gun1],ammo); House[id][Ammo1] -= ammo; if(House[id][Ammo1] == 0) {House[id][Gun1] = 0;} format(string,sizeof(string),"{E0BC1B}You are take gun from slot 1.With %d ammo",ammo); SCM(playerid,-1,string); CheckHouse(id); } if(slot == 2) { if(House[id][Gun2] == 0) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"There is no gun on this slot."); if(ammo > House[id][Ammo2]) return SCM(playerid, COLOR_RED, "EROR:"COL_WHITE" In the safe does not have that much ammo."); GivePlayerWeapon(playerid,House[id][Gun2],ammo); House[id][Ammo2] -= ammo; if(House[id][Ammo2] == 0) {House[id][Gun2] = 0;} format(string,sizeof(string),"{E0BC2B}You have taken gun from slot 2.With %d ammo",ammo); SCM(playerid,-1,string); CheckHouse(id); } return 1; } YCMD:checksafe(playerid, params[], help) { #pragma unused help #pragma unused params new h = Player[playerid][Houseid]; if(h == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house."); new string[128]; format(string,sizeof(string),""COL_YELLOW"Money"COL_GREEN" $%d",House[h][Money]); format(string,sizeof(string),""COL_YELLOW"Slot 1 | Gun:"COL_GREEN" %d "COL_YELLOW"| Ammo:"COL_GREEN" %d",House[h][Gun1],House[h][Ammo1]); format(string,sizeof(string),""COL_YELLOW"Slot 2 | Gun:"COL_GREEN" %d "COL_YELLOW"| Ammo:"COL_GREEN" %d",House[h][Gun2],House[h][Ammo2]); SCM(playerid,-1,string); return 1; } YCMD:knock(playerid, params[], help) { #pragma unused params #pragma unused help new i = GetClosetHouseID(playerid), string[128]; if(i == -1) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"There is no house."); if (IsPlayerInRangeOfPoint(playerid,5.0,House[i][EnterX], House[i][EnterY], House[i][EnterZ])) { format(string, sizeof(string), "* %s knocks on the door.", GetName(playerid)); ProxDetector(playerid, string, COLOR_PURPLE,30); foreach (Player, p) { if (IsPlayerInRangeOfPoint(p,5.0,House[i][ExitX], House[i][ExitY], House[i][ExitZ])) { SendClientMessage(p, COLOR_PURPLE, "* Somebody has knocked on the door."); } } } return 1; } YCMD:lockdoor(playerid, params[], help) { #pragma unused params #pragma unused help new h = Player[playerid][Houseid]; if(h == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house."); if(House[h][Lock] == 1) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"House is already locked."); if(!IsPlayerInRangeOfPoint(playerid,3.0,House[h][EnterX],House[h][EnterY],House[h][EnterZ])) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You are not near your house"); Choose[playerid] = 1; TextDrawSetString(LockTD3[playerid],"~r~1 ~w~2 3~n~4 5 6~n~7 8 9~n~ 0"); TextDrawShowForPlayer(playerid,LockTD0[playerid]); TextDrawShowForPlayer(playerid,LockTD1[playerid]); TextDrawShowForPlayer(playerid,LockTD2[playerid]); TextDrawShowForPlayer(playerid,LockTD3[playerid]); TextDrawShowForPlayer(playerid,LockTD4[playerid]); TextDrawShowForPlayer(playerid,LockTD5[playerid]); TextDrawShowForPlayer(playerid,LockTD6[playerid]); TogglePlayerControllable(playerid,false); format(TypeText[playerid],5,""); TextDrawSetString(LockTD2[playerid],TypeText[playerid]); TextDrawSetString(LockTD4[playerid],"~w~Enter Close"); return 1; } YCMD:unlockdoor(playerid, params[], help) { #pragma unused params #pragma unused help new h = Player[playerid][Houseid]; if(h == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house."); if(!IsPlayerInRangeOfPoint(playerid,3.0,House[h][EnterX],House[h][EnterY],House[h][EnterZ])) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You are not near your house"); House[h][Lock] = 0; SCM(playerid,-1,"Now your door is unlocked."); return 1; } YCMD:enter(playerid, params[], help) { #pragma unused params #pragma unused help new h = GetClosetHouseID(playerid); if(h == -1) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"There is no house."); if(House[h][On_Sell] == 0 && House[h][Lock] == 0) { SetPlayerPos(playerid,House[h][ExitX],House[h][ExitY],House[h][ExitZ]); SetPlayerInterior(playerid,House[h][IntID]); SetPlayerVirtualWorld(playerid,House[h][VW]); } else return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"House is locked/Is not on sale."); if(strcmp(House[h][Owner],GetName(playerid),false) == 0) { new Year, Month, Day; getdate(Year, Month, Day); House[h][DayEnter] = Day; House[h][MonthEnter] = Month; CheckHouse(h); } return 1; } YCMD:exit(playerid, params[], help) { #pragma unused params #pragma unused help new h = GetClosetHouseIntID(playerid); if(h == -1) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"There is no house."); SetPlayerPos(playerid,House[h][EnterX],House[h][EnterY],House[h][EnterZ]); SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0); return 1; } YCMD:payrent(playerid, params[], help) { #pragma unused params #pragma unused help new h = GetClosetHouseID(playerid),string[128]; if(h == -1) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"There is no house."); if(strcmp(House[h][Player_Rent],GetName(playerid), false ) == 0) { if(House[h][RentPrice] > GetPlayerMoney(playerid)) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have that kind of money.."); House[h][Money] += House[h][RentPrice]; GivePlayerMoney(playerid,-House[h][RentPrice]); format(string,128,"You have pay "COL_GREEN"$%d "COL_WHITE"for rent",House[h][RentPrice]); SCM(playerid,-1,string); } else return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You aren't owner of this house"); return 1; } YCMD:hcar(playerid, params[], help) { #pragma unused help if(!IsPlayerAdmin(playerid)) return SCM(playerid, COLOR_RED, "You must be RCON admin"); new Float:Pos[4],id,vehicle,color[2],string[32]; if(sscanf(params, "iiii",id,vehicle,color[0],color[1])) return SCM(playerid, COLOR_RED, "Usage:"COL_WHITE" /hcar [House ID] [Vehicle ID] [Color1] [Color2]"); if(id >= MAX_HOUSE) return SCM(playerid, COLOR_RED, "EROR: "COL_WHITE"Try again. You have typed the wrong house id."); format(string, sizeof(string), House_File, id); if(fexist(string)) { GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]); GetPlayerFacingAngle(playerid,Pos[3]); House[id][hCar] = AddStaticVehicleEx(vehicle,Pos[0],Pos[1]+1,Pos[2],Pos[3],color[0],color[1],3600); House[id][hCarX] = Pos[0]; House[id][hCarY] = Pos[1]; House[id][hCarZ] = Pos[2]; House[id][hCarA] = Pos[3]; House[id][hCarC1] = color[0]; House[id][hCarC2] = color[1]; House[id][hCarID] = vehicle; CheckHouse(id); } return 1; } YCMD:findmycar(playerid, params[], help) { #pragma unused help #pragma unused params new Float:Pos[4]; new id = Player[playerid][Houseid]; if(id == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house."); GetVehiclePos(House[id][hCar],Pos[0],Pos[1],Pos[2]); SetPlayerCheckpoint(playerid,Pos[0],Pos[1],Pos[2],5.0); SCM(playerid,-1,"Your car is marked on map."); return 1; } YCMD:hupgrade(playerid, params[], help) { #pragma unused help #pragma unused params new h = Player[playerid][Houseid]; if(h == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house."); if(!IsPlayerInRangeOfPoint(playerid,3.0,House[h][ExitX],House[h][ExitY],House[h][ExitZ])) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You are not near your house"); if(ChooseInt[playerid] == 0) { HouseID1[playerid] = h; ChooseInt[playerid] = 1; SetPlayerPos(playerid,2496.049804,-1695.238159,1014.742187); SetPlayerInterior(playerid,3); SetPlayerVirtualWorld(playerid,0); TextDrawSetString(hUp[playerid]," House Upgrade~n~~n~~r~< ~w~Price: ~g~$20000 ~r~>"); TextDrawShowForPlayer(playerid,hUp[playerid]); } else { ChooseInt[playerid] = 0; SetPlayerPos(playerid,House[HouseID1[playerid]][ExitX],House[HouseID1[playerid]][ExitY],House[HouseID1[playerid]][ExitZ]); SetPlayerInterior(playerid,House[HouseID1[playerid]][IntID]); TextDrawHideForPlayer(playerid,hUp[playerid]); } return 1; } //=====House car storage YCMD:hcarwithdraw(playerid, params[], help) { #pragma unused help #pragma unused params new houseid = 0,string[128]; new i = Player[playerid][Houseid]; if(i == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house."); if(House[i][hCarID] > 0) { new Float:Pos[3]; GetVehiclePos(House[i][hCar],Pos[0],Pos[1],Pos[2]); if(!IsPlayerInRangeOfPoint(playerid,10.0,Pos[0],Pos[1],Pos[2])) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You are not near your house car."); houseid = i; new money; if(sscanf(params, "i",money)) return SCM(playerid, COLOR_RED, "Usage: /hcarwithdraw [Money]"); if(money > GetPlayerMoney(playerid)) return SCM(playerid, COLOR_RED, "You don't have that kind of money."); if(money < 1) return SCM(playerid, COLOR_RED, "Money can't be less then 1"); House[houseid][hCarMoney] += money; GivePlayerMoney(playerid, -money); format(string,sizeof(string),"{E0BC1B}You have put in car $%d.Now you have $%d",money,House[houseid][hCarMoney]); SCM(playerid,-1,string); CheckHouse(houseid); } return 1; } YCMD:hcardeposit(playerid, params[], help) { #pragma unused help #pragma unused params new houseid = 0,string[128]; new i = Player[playerid][Houseid]; if(i == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house."); if(House[i][hCarID] > 0) { new Float:Pos[3]; GetVehiclePos(House[i][hCar],Pos[0],Pos[1],Pos[2]); if(!IsPlayerInRangeOfPoint(playerid,10.0,Pos[0],Pos[1],Pos[2])) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You are not near your house car."); new money; if(sscanf(params, "i",money)) return SCM(playerid, COLOR_RED, "Usage: /hcardeposit [Money]"); if(money > GetPlayerMoney(playerid)) return SCM(playerid, COLOR_RED, "You don't have that kind of money."); if(money < 1) return SCM(playerid, COLOR_RED, "Money can't be less then 1"); House[houseid][hCarMoney] -= money; GivePlayerMoney(playerid, money); format(string,sizeof(string),"{E0BC1B}You have taken car storage $%d.Now you have $%d",money,House[houseid][hCarMoney]); SCM(playerid,-1,string); CheckHouse(houseid); } return 1; } YCMD:hcarputgun(playerid, params[], help) { #pragma unused help #pragma unused params new houseid = 0,string[128]; new id = Player[playerid][Houseid]; if(id == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house."); if(House[id][hCarID] > 0) { new Float:Pos[3]; GetVehiclePos(House[id][hCar],Pos[0],Pos[1],Pos[2]); if(!IsPlayerInRangeOfPoint(playerid,10.0,Pos[0],Pos[1],Pos[2])) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You are not near your house car."); new slot,ammo; if(sscanf(params, "ii",slot,ammo)) return SCM(playerid, COLOR_RED, "Usage: /hcarputgun [Slot 1/2] [Ammo]"); if(ammo > GetPlayerAmmo(playerid)) return SCM(playerid, COLOR_RED, "You don't have that much ammo."); if(ammo < 1) return SCM(playerid, COLOR_RED, "Ammo can't be less then 1"); if(slot == 1) { if(House[houseid][hCarGun1] != 0) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"There is already gun on this slot."); House[houseid][hCarGun1] = GetPlayerWeapon(playerid); House[houseid][hCarAmmo1] = ammo; SetPlayerAmmo(playerid,GetPlayerWeapon(playerid),GetPlayerAmmo(playerid)-ammo); format(string,sizeof(string),"{E0BC1B}You have put gun on slot 1.With %d ammo",ammo); SCM(playerid,-1,string); CheckHouse(id); } if(slot == 2) { if(House[houseid][hCarGun1] != 0) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"There is already gun on this slot."); House[houseid][hCarGun2] = GetPlayerWeapon(playerid); House[houseid][hCarAmmo2] = ammo; SetPlayerAmmo(playerid,GetPlayerWeapon(playerid),GetPlayerAmmo(playerid)-ammo); format(string,sizeof(string),"{E0BC1B}You have put gun on slot 2.With %d ammo",ammo); SCM(playerid,-1,string); CheckHouse(id); } } return 1; } YCMD:hcartakegun(playerid, params[], help) { #pragma unused help #pragma unused params new houseid = 0,string[128]; new id = Player[playerid][Houseid]; if(id == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house."); if(House[id][hCarID] > 0) { new Float:Pos[3]; GetVehiclePos(House[id][hCar],Pos[0],Pos[1],Pos[2]); if(!IsPlayerInRangeOfPoint(playerid,10.0,Pos[0],Pos[1],Pos[2])) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You are not near your house car."); new slot,ammo; if(sscanf(params, "ii",slot,ammo)) return SCM(playerid, COLOR_RED, "Usage: /htakegun [Slot 1/2] [Ammo]"); if(ammo < 1) return SCM(playerid, COLOR_RED, "Ammo can't be less then 1"); if(slot == 1) { if(House[houseid][hCarGun1] == 0) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"There is no gun on this slot."); if(ammo > House[houseid][hCarAmmo1]) return SCM(playerid, COLOR_RED, "EROR:"COL_WHITE" In the safe does not have that much ammo."); GivePlayerWeapon(playerid,House[houseid][hCarGun1],ammo); House[houseid][hCarAmmo1] -= ammo; if(House[houseid][hCarAmmo1] == 0) {House[houseid][hCarGun1] = 0;} format(string,sizeof(string),"{E0BC1B}You are take gun from slot 1.With %d ammo",ammo); SCM(playerid,-1,string); CheckHouse(id); } if(slot == 2) { if(House[houseid][hCarGun2] == 0) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"There is no gun on this slot."); if(ammo > House[houseid][hCarAmmo2]) return SCM(playerid, COLOR_RED, "EROR:"COL_WHITE" In the safe does not have that much ammo."); GivePlayerWeapon(playerid,House[houseid][hCarGun2],ammo); House[houseid][hCarAmmo2] -= ammo; if(House[houseid][hCarAmmo2] == 0) {House[houseid][hCarGun2] = 0;} format(string,sizeof(string),"{E0BC2B}You have taken gun from slot 2.With %d ammo",ammo); SCM(playerid,-1,string); CheckHouse(id); } } return 1; } YCMD:hcarpark(playerid, params[], help) { #pragma unused help #pragma unused params if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You must be in a vehicle"); new hid,Float:Pos[4]; GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]); GetPlayerFacingAngle(playerid,Pos[3]); new id = Player[playerid][Houseid]; if(id == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house."); if(House[id][hCar] > 0) { if(House[id][hCar] != GetPlayerVehicleID(playerid)) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"This is not your car."); House[hid][hCarX] = Pos[0]; House[hid][hCarY] = Pos[1]; House[hid][hCarZ] = Pos[2]; House[hid][hCarA] = Pos[3]; GameTextForPlayer(playerid,"Car ~r~parked",3000,0); CheckHouse(hid); } return 1; } YCMD:hcarcolor(playerid, params[], help) { #pragma unused help #pragma unused params if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You must be in a vehicle"); new id = GetPlayerVehicleID(playerid),hid,C[2]; new i = Player[playerid][Houseid]; if(i == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house."); if(House[i][hCarID] > 0) { if(House[i][hCar] != GetPlayerVehicleID(playerid)) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"This is not your car."); hid = i; if(sscanf(params,"ii",C[0],C[1])) return SCM(playerid,COLOR_RED,"Usage: "COL_WHITE"/hcarcolor [Color 1] [Color 2]"); House[hid][hCarC1] = C[0]; House[hid][hCarC2] = C[1]; ChangeVehicleColor(id,House[hid][hCarC1],House[hid][hCarC2]); GameTextForPlayer(playerid,"Car color changed",3000,0); CheckHouse(hid); } return 1; } YCMD:hphone(playerid, params[], help) { #pragma unused help #pragma unused params new id = Player[playerid][Houseid]; if(id == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house"); if(!IsPlayerInRangeOfPoint(playerid,3.0,House[id][ExitX],House[id][ExitY],House[id][ExitZ])) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You are not near your house"); TogglePlayerControllable(playerid,false); PhoneChoose[playerid] = 1; TextDrawSetString(Phone1[playerid],"~y~1 2 3~n~4 5 6~n~7 8 9~n~~g~~g~C ~w~0 ~r~H"); TextDrawSetString(Phone4[playerid],""); TextDrawShowForPlayer(playerid,Phone0[playerid]); TextDrawShowForPlayer(playerid,Phone1[playerid]); TextDrawShowForPlayer(playerid,Phone2[playerid]); TextDrawShowForPlayer(playerid,Phone3[playerid]); TextDrawShowForPlayer(playerid,Phone4[playerid]); TextDrawShowForPlayer(playerid,Phone5[playerid]); return 1; } YCMD:answeronphone(playerid, params[], help) { #pragma unused help #pragma unused params if(CallFrom[playerid] != 999 && Calling[CallFrom[playerid]] > 0) { TalkWith[playerid] = CallFrom[playerid]; TalkWith[CallFrom[playerid]] = playerid; SCM(playerid,-1,"Somebody has answer the phone"); Calling[CallFrom[playerid]] = 0; CallFrom[playerid] = 999; } return 1; } YCMD:changespawn(playerid, params[], help) { #pragma unused help #pragma unused params new id = Player[playerid][Houseid]; if(id == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house"); if(!IsPlayerInRangeOfPoint(playerid,3.0,House[id][ExitX],House[id][ExitY],House[id][ExitZ])) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You must be in your house."); Player[playerid][Spawn] = 1; Player[playerid][SpawnX] = House[id][ExitX]; Player[playerid][SpawnY] = House[id][ExitY]; Player[playerid][SpawnZ] = House[id][ExitZ]; Player[playerid][SpawnInt] = House[id][IntID]; Player[playerid][SpawnVW] = House[id][VW]; SCM(playerid,-1,"Spawn has been changed to a specific location."); return 1; } YCMD:robhouse(playerid, params[], help) { #pragma unused help #pragma unused params new id = GetClosetHouseID(playerid),password[5],string[128]; if(id == -1) return SCM(playerid,-1,"There is no house"); if(Player[playerid][RobHouse] > 0) return SCM(playerid,-1,"You are already robhouse"); if(sscanf(params,"s[5]",password)) return SCM(playerid,-1,"Usage: /robhouse [Password]"); if(strcmp(House[id][LockPass],password,false) == 0) { if(House[id][Money] == 0)return SCM(playerid,-1,"There is no money in the house or safe."); Player[playerid][RobHouse] = 3600; GivePlayerMoney(playerid,House[id][Money]/2); House[id][Money] -= House[id][Money]/2; format(string,128,"You have robbed a house and taken $%d",House[id][Money]/2); SCM(playerid,-1,string); } else return SCM(playerid,-1,"Wrong password"); return 1; } //Update 1.2 YCMD:givekey(playerid, params[], help) { #pragma unused help new string[170],id; new i = Player[playerid][Houseid]; if(Player[playerid][Houseid] == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house"); if(sscanf(params,"u",id))return SCM(playerid,COLOR_RED,"Usage: "COL_WHITE"/givekey [Player ID/Part of name]"); if(id == INVALID_PLAYER_ID) return SCM(playerid, COLOR_RED, "EROR: "COL_WHITE"Invalid player id."); if(Player[id][Houseid] != 999) return SCM(playerid, COLOR_RED, "EROR: "COL_WHITE"That player already has a house."); format(House[i][Owner], 32, "%s", GetName(id)); Player[id][Houseid] = Player[playerid][Houseid]; Player[playerid][Houseid] = 999; Player[id][Houseid] = Player[playerid][Houseid]; CheckHouse(i); format(string,sizeof(string),"{E0BC1B}Owner: "COL_WHITE"%s\n{E0BC1B}House name: "COL_WHITE"%s\n{E0BC1B}Price: "COL_WHITE"%d\n{E0BC1B}Level: "COL_WHITE"%d\n{E0BC1B}Rent price: "COL_WHITE"%d\n{E0BC1B}Address: "COL_WHITE"%s\n (/renthouse)",House[i][Owner],House[i][HouseName],House[i][Price],House[i][Level],House[i][RentPrice],House[i][Address]); UpdateDynamic3DTextLabelText(House[i][DLabel],-1,string); UpdatePlayerInformation(playerid); return 1; } YCMD:myhouse(playerid, params[], help) { #pragma unused help #pragma unused params new i = Player[playerid][Houseid]; if(Player[playerid][Houseid] == 999) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"You don't have a house"); SetPlayerCheckpoint(playerid,House[i][EnterX],House[i][EnterY],House[i][EnterZ],2.0); PlayerCP[playerid] = 1; SendFormatMSG(playerid,-1,"Your house address is %s.House is marked on map",House[i][Address]); return 1; } //==========Stock stock CreateSaveHouse(name[],id,price,level,vw,Float:PosX,Float:PosY,Float:PosZ) { new dFile[32],string[200],number = randomEx(1000,9999); new zone[48]; new Year, Month, Day; getdate(Year, Month, Day); GetHouse2DZone(id, zone, 48); format(dFile, 35, House_File, id); new INI:File = INI_Open(dFile); INI_WriteFloat(File, "EnterX", PosX); INI_WriteFloat(File, "EnterY", PosY); INI_WriteFloat(File, "EnterZ", PosZ); INI_WriteFloat(File, "ExitX", 223.42928466797); INI_WriteFloat(File, "ExitY", 1287.3064941406); INI_WriteFloat(File, "ExitZ", 1082.14); INI_WriteString(File, "HouseName", name); INI_WriteString(File, "Owner", "Apartment"); INI_WriteInt(File, "Price", price); INI_WriteInt(File, "Level", level); INI_WriteInt(File, "Interior", 1); INI_WriteInt(File, "VW", vw); INI_WriteInt(File, "On_Sell", 1); INI_WriteInt(File, "Lock", 0); INI_WriteInt(File, "RentPrice", 100); INI_WriteString(File, "PlayerRent", "Nobody"); INI_WriteInt(File, "Money", 0); INI_WriteInt(File, "Gun1", 0); INI_WriteInt(File, "Gun2", 0); INI_WriteInt(File, "Ammo1", 0); INI_WriteInt(File, "Ammo2", 0); INI_WriteString(File, "LockPass", "1111"); INI_WriteFloat(File, "hCarX", 0); INI_WriteFloat(File, "hCarY", 0); INI_WriteFloat(File, "hCarZ", 0); INI_WriteFloat(File, "hCarA", 0); INI_WriteInt(File, "hCarC1", 0); INI_WriteInt(File, "hCarC2", 0); INI_WriteInt(File, "hCarID", 0); INI_WriteInt(File, "hCarMoney",0); INI_WriteInt(File, "hCarGun1",0); INI_WriteInt(File, "hCarGun2",0); INI_WriteInt(File, "hCarAmmo1", 0); INI_WriteInt(File, "hCarAmmo2", 0); format(string,sizeof(string),"%d",number); INI_WriteString(File, "PhoneNum", string); format(string,sizeof(string),"%s %d",zone,id); INI_WriteString(File, "Address", string); INI_WriteInt(File, "DayEnter", Day); INI_WriteInt(File, "MonthEnter", Month); INI_Close(File); House[id][EnterX] = PosX; House[id][EnterY] = PosY; House[id][EnterZ] = PosZ; House[id][ExitX] = 223.42928466797; House[id][ExitY] = 1287.3064941406; House[id][ExitZ] = 1082.14; format(House[id][HouseName],48,"%s",name); format(House[id][Owner],48,"Apartment"); House[id][Price] = price; House[id][Level] = level; House[id][IntID] = 1; House[id][VW] = vw; House[id][On_Sell] = 1; House[id][Lock] = 0; House[id][RentPrice] = 100; format(House[id][Player_Rent],48,"Nobody"); House[id][Money] = 0; House[id][Gun1] = 0; House[id][Gun2] = 0; House[id][Ammo1] = 0; House[id][Ammo2] = 0; format(House[id][LockPass],48,"1111"); House[id][hCarX] = 0; House[id][hCarY] = 0; House[id][hCarZ] = 0; House[id][hCarA] = 0; House[id][hCarC1] = 0; House[id][hCarC2] = 0; House[id][hCarID] = 0; House[id][hCarMoney] = 0; House[id][hCarGun1] = 0; House[id][hCarGun2] = 0; House[id][hCarAmmo1] = 0; House[id][hCarAmmo2] = 0; format(House[id][PhoneNum],5,"%d",number); format(House[id][Address],32,"%s %d",zone,id); House[id][DayEnter] = Day; House[id][MonthEnter] = Month; House[id][PickupU] = CreateDynamicPickup(1273, 23, PosX,PosY,PosZ,-1,-1,-1,100.0); format(string,sizeof(string),"{29CC3F}Owner: "COL_WHITE"Apartment\n{29CC3F}House name: "COL_WHITE"%s\n{29CC3F}Price: "COL_WHITE"%d\n{29CC3F}Level: "COL_WHITE"%d\n{29CC3F}Address: "COL_WHITE"%s %d\n (/buyhouse)",name,price,level,zone,id); House[id][DLabel] = CreateDynamic3DTextLabel(string, 0xFFFFFF, PosX,PosY,PosZ, 100, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 100); House[id][Icon] = CreateDynamicMapIcon(PosX,PosY,PosZ, 31, 0, -1, -1, -1, 100.0); } stock CheckHouse(id) { new dFile[32]; format(dFile, 35, House_File, id); new INI:File = INI_Open(dFile); INI_WriteFloat(File, "EnterX", House[id][EnterX]); INI_WriteFloat(File, "EnterY", House[id][EnterY]); INI_WriteFloat(File, "EnterZ", House[id][EnterZ]); INI_WriteFloat(File, "ExitX", House[id][ExitX]); INI_WriteFloat(File, "ExitY", House[id][ExitY]); INI_WriteFloat(File, "ExitZ", House[id][ExitZ]); INI_WriteString(File, "HouseName", House[id][HouseName]); INI_WriteString(File, "Owner", House[id][Owner]); INI_WriteInt(File, "Price", House[id][Price]); INI_WriteInt(File, "Level", House[id][Level]); INI_WriteInt(File, "Interior", House[id][IntID]); INI_WriteInt(File, "VW", House[id][VW]); INI_WriteInt(File, "On_Sell", House[id][On_Sell]); INI_WriteInt(File, "Lock", House[id][Lock]); INI_WriteInt(File, "RentPrice", House[id][RentPrice]); INI_WriteString(File, "PlayerRent", House[id][Player_Rent]); INI_WriteInt(File, "Money", House[id][Money]); INI_WriteInt(File, "Gun1", House[id][Gun1]); INI_WriteInt(File, "Gun2", House[id][Gun2]); INI_WriteInt(File, "Ammo1", House[id][Ammo1]); INI_WriteInt(File, "Ammo2", House[id][Ammo2]); INI_WriteString(File, "LockPass", House[id][LockPass]); INI_WriteFloat(File, "hCarX", House[id][hCarX]); INI_WriteFloat(File, "hCarY", House[id][hCarY]); INI_WriteFloat(File, "hCarZ", House[id][hCarZ]); INI_WriteFloat(File, "hCarA", House[id][hCarA]); INI_WriteInt(File, "hCarC1", House[id][hCarC1]); INI_WriteInt(File, "hCarC2", House[id][hCarC2]); INI_WriteInt(File, "hCarID", House[id][hCarID]); INI_WriteInt(File, "hCarMoney", House[id][hCarMoney]); INI_WriteInt(File, "hCarGun1", House[id][hCarGun1]); INI_WriteInt(File, "hCarGun2", House[id][hCarGun2]); INI_WriteInt(File, "hCarAmmo1", House[id][hCarAmmo1]); INI_WriteInt(File, "hCarAmmo2", House[id][hCarAmmo2]); INI_WriteString(File, "PhoneNum", House[id][PhoneNum]); INI_WriteString(File, "Address", House[id][Address]); INI_WriteInt(File, "DayEnter", House[id][DayEnter]); INI_WriteInt(File, "MonthEnter", House[id][MonthEnter]); INI_Close(File); } stock ReadHouse(i) { new string[200]; if(House[i][On_Sell] == 1) { format(string,sizeof(string),"{29CC3F}Owner: "COL_WHITE"Apartment\n{29CC3F}House name: "COL_WHITE"%s\n{29CC3F}Price: "COL_WHITE"%d\n{29CC3F}Level: "COL_WHITE"%d\n{29CC3F}Address: "COL_WHITE"%s\n (/buyhouse)",House[i][HouseName],House[i][Price],House[i][Level],House[i][Address]); House[i][DLabel] = CreateDynamic3DTextLabel(string, 0xFFFFFF, House[i][EnterX],House[i][EnterY],House[i][EnterZ], 100, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 100); House[i][PickupU] = CreateDynamicPickup(1273, 23, House[i][EnterX],House[i][EnterY],House[i][EnterZ],-1,-1,-1,100.0); House[i][Icon] = CreateDynamicMapIcon(House[i][EnterX],House[i][EnterY],House[i][EnterZ], 31, 0, -1, -1, -1, 100.0); if(House[i][hCarID] != 0) { House[i][hCar] = AddStaticVehicleEx(House[i][hCarID],House[i][hCarX],House[i][hCarY],House[i][hCarZ],House[i][hCarA],House[i][hCarC1],House[i][hCarC2],3600); format(HouseOwner[House[i][hCar]],32,"%s",House[i][Owner]); } else if(House[i][hCarID] == 0) { House[i][hCar] = 0; } } else if(House[i][On_Sell] == 0) { format(string,sizeof(string),"{E0BC1B}Owner: "COL_WHITE"%s\n{E0BC1B}House name: "COL_WHITE"%s\n{E0BC1B}Price: "COL_WHITE"%d\n{E0BC1B}Level: "COL_WHITE"%d\n{E0BC1B}Rent price: "COL_WHITE"%d\n{E0BC1B}Address: "COL_WHITE"%s\n (/renthouse)",House[i][Owner],House[i][HouseName],House[i][Price],House[i][Level],House[i][RentPrice],House[i][Address]); House[i][DLabel] = CreateDynamic3DTextLabel(string, 0xFFFFFF, House[i][EnterX],House[i][EnterY],House[i][EnterZ], 100, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 100); House[i][PickupU] = CreateDynamicPickup(1272, 23, House[i][EnterX],House[i][EnterY],House[i][EnterZ],-1,-1,-1,100.0); House[i][Icon] = CreateDynamicMapIcon(House[i][EnterX],House[i][EnterY],House[i][EnterZ], 32, 0, -1, -1, -1, 100.0); if(House[i][hCarID] != 0) { House[i][hCar] = AddStaticVehicleEx(House[i][hCarID],House[i][hCarX],House[i][hCarY],House[i][hCarZ],House[i][hCarA],House[i][hCarC1],House[i][hCarC2],3600); format(HouseOwner[House[i][hCar]],32,"%s",House[i][Owner]); } else if(House[i][hCarID] == 0) { House[i][hCar] = 0; } } } //==========Public forward GetClosetHouseID(playerid); public GetClosetHouseID(playerid) { new Float:Distance; for(new h; h<MAX_HOUSE; h++) { Distance = GetDistanceToHouse(playerid, h); if(Distance < 2.0) { return h; } } return -1; } forward Float:GetDistanceToHouse(playerid, h); public Float:GetDistanceToHouse(playerid, h) { new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2; GetPlayerPos(playerid,x1,y1,z1); x2 = House[h][EnterX]; y2 = House[h][EnterY]; z2 = House[h][EnterZ]; return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2)); } forward GetClosetHouseIntID(playerid); public GetClosetHouseIntID(playerid) { new Float:Distance; for(new h; h<MAX_HOUSE; h++) { Distance = GetDistanceToHouseInt(playerid, h); if(Distance < 10.0 && House[h][VW] == GetPlayerVirtualWorld(playerid)) { return h; } } return -1; } forward Float:GetDistanceToHouseInt(playerid, h); public Float:GetDistanceToHouseInt(playerid, h) { new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2; GetPlayerPos(playerid,x1,y1,z1); x2 = House[h][ExitX]; y2 = House[h][ExitY]; z2 = House[h][ExitZ]; return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2)); } stock GetName(playerid) { new pName[MAX_PLAYER_NAME]; GetPlayerName(playerid, pName, MAX_PLAYER_NAME); return pName; } stock ProxDetector(playerid, const msg [], color, maxdistance = 50) { new Float: x1, Float: y1, Float: z1, distance, string [128]; if (GetPlayerName (playerid, string, sizeof string)) { format (string, sizeof string, "%s", msg); GetPlayerPos (playerid, x1, y1, z1); for (new i = 0; i < MAX_PLAYERS; ++i) { if (IsPlayerConnected (i) && !IsPlayerNPC (i)) { if (i == playerid) SCM (i, color, string); else { distance = floatround (GetPlayerDistanceFromPoint (i, x1, y1, z1)); if (distance <= maxdistance) SCM (i, ColorFade (color, distance, maxdistance), string); } } } return 1; } return 0; } stock ColorFade (color, value, maxvalue) { if (0 <= value <= maxvalue) { new Float: ratio = float (value) / float (maxvalue); new r = max (0, min (255, floatround (float ((color >> 24) & 0xFF) * ratio))), g = max (0, min (255, floatround (float ((color >> 16) & 0xFF) * ratio))), b = max (0, min (255, floatround (float ((color >> 8) & 0xFF) * ratio))); return (r << 24) | (g << 16) | (b << 8) | (value & 0xFF); } return 0; } stock GetClosestVehicleID(playerid) { new Float:Pos[3], Float:dist, Float:closedist=10.0, closeveh; for(new i=0; i < MAX_VEHICLES; i++) { if(GetVehiclePos(i, Pos[0], Pos[1], Pos[2])) { dist = GetPlayerDistanceFromPoint(playerid, Pos[0], Pos[1], Pos[2]); if(dist < closedist) { closedist = dist; closeveh = i; } } } return closeveh; } forward GlobalTimer(); public GlobalTimer() { new Year, Month, Day,string[64]; getdate(Year, Month, Day); for(new id = 0; id <= MAX_HOUSE;id++) { format(string,64,House_File,id); if(House[id][DayEnter]+MAX_DAYS <= Day && House[id][On_Sell] == 0) { if(fexist(string)) { //If month have 31 days if(House[id][MonthEnter] == 1 || House[id][MonthEnter] == 3 || House[id][MonthEnter] == 5 || House[id][MonthEnter] == 7 || House[id][MonthEnter] == 8 || House[id][MonthEnter] == 10 || House[id][MonthEnter] == 12) { if(House[id][DayEnter]+MAX_DAYS > 31) { new newday = (31-House[id][DayEnter]); new newday1 = MAX_DAYS-newday; if(newday1 != Day) return 1; } } //If month have 30 days if(House[id][MonthEnter] == 4 || House[id][MonthEnter] == 6 || House[id][MonthEnter] == 9 || House[id][MonthEnter] == 11) { if(House[id][DayEnter]+MAX_DAYS > 30) { new newday = (30-House[id][DayEnter]); new newday1 = MAX_DAYS-newday; if(newday1 != Day) return 1; } } //If month have 29 days if(House[id][MonthEnter] == 2) { if(House[id][DayEnter]+MAX_DAYS > 29) { new newday = (29-House[id][DayEnter]); new newday1 = MAX_DAYS-newday; if(newday1 != Day) return 1; } } ResetPlayerHouseID(House[id][Owner]); House[id][On_Sell] = 1; format(House[id][Owner],48,"Apartment"); CheckHouse(id); DestroyDynamicPickup(House[id][PickupU]); House[id][PickupU] = CreateDynamicPickup(1273, 23, House[id][EnterX],House[id][EnterY],House[id][EnterZ],-1,-1,-1,100.0); DestroyDynamicMapIcon(House[id][Icon]); House[id][Icon] = CreateDynamicMapIcon(House[id][EnterX],House[id][EnterY],House[id][EnterZ], 31, 0, -1, -1, -1, 100.0); format(string,sizeof(string),"{29CC3F}Owner: "COL_WHITE"Apartment\n{29CC3F}House Name: "COL_WHITE"%s\n{29CC3F}Price: "COL_WHITE"%d\n{29CC3F}Level: "COL_WHITE"%d\n{29CC3F}Address: "COL_WHITE"%s\n (/buyhouse)",House[id][HouseName],House[id][Price],House[id][Level],House[id][Address]); UpdateDynamic3DTextLabelText(House[id][DLabel],-1,string); printf("House ID %d has been unowned",id); } } } foreach(Player, i) { //===Bills=== if(Player[i][Houseid] != 999) { Player[i][Sec]++; if(Player[i][Sec] >= 60) {Player[i][Sec] = 0; Player[i][Min]++;} if(Player[i][Min] == 60) { Player[i][Min] = 0; new money = randomEx(50,150); SendFormatMSG(i,-1,"You pay for house bills {13AD32}$%d",money); GivePlayerMoney(i,-money); } } //Phone if(Calling[i] > 0) { Calling[i]--; if(Calling[i] == 0) {SCM(i,-1,"There is no answer.");} } if(Player[i][RobHouse] > 0) Player[i][RobHouse]--; } return 1; } stock UpdatePlayerInformation(playerid) { new dFile[32]; format(dFile, 35, FILE_FOR_PLAYER, GetName(playerid)); new INI:UserFile = INI_Open(dFile); INI_WriteFloat(UserFile, "pSpawnX", Player[playerid][SpawnX]); INI_WriteFloat(UserFile, "pSpawnY", Player[playerid][SpawnY]); INI_WriteFloat(UserFile, "pSpawnZ", Player[playerid][SpawnZ]); INI_WriteInt(UserFile, "pSpawn", Player[playerid][Spawn]); INI_WriteInt(UserFile, "pSpawnInt", Player[playerid][SpawnInt]); INI_WriteInt(UserFile, "pVW", Player[playerid][SpawnVW]); INI_WriteInt(UserFile, "RobHouse", Player[playerid][RobHouse]); INI_WriteInt(UserFile, "HouseID", Player[playerid][Houseid]); INI_WriteInt(UserFile, "Bill", Player[playerid][Min]); INI_Close(UserFile); } stock ResetPlayerHouseID(name[]) { new dFile[32]; format(dFile, 35, FILE_FOR_PLAYER, name); new INI:UserFile = INI_Open(dFile); INI_WriteInt(UserFile, "HouseID", 999); INI_Close(UserFile); } stock GetHouse2DZone(id, zone[], len) { new Float:x = House[id][EnterX], Float:y = House[id][EnterY]; for(new i = 0; i != sizeof(SanAndreasZones); i++ ) { if(x >= SanAndreasZones[i][Zone_Area][0] && x <= SanAndreasZones[i][Zone_Area][3] && y >= SanAndreasZones[i][Zone_Area][1] && y <= SanAndreasZones[i][Zone_Area][4]) return format(zone, len, SanAndreasZones[i][Zone_Name], 0); } return 0; }
if(GetPlayerScore(playerid) < 5000)) return SCM(playerid,COLOR_RED,"You need more than 5000 score to buy this house.");
PHP код:
|