#include #include // Sekcja Define #define COLOR_LIGHTBLUE 0x33CCFFAA #define MIN_VEHI_ID 400 #define MAX_VEHI_ID 611 #define PI 3.14 #define CWEAPONS 34, 5000 , 24, 300 , 39, 500 #define COLOR_SYSGREY 0xC6BEBDFF /* From DF */ #define end; } #define begin { #define var new #define If%1%2%3then if(%1%2%3){ #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 #define SPAWNY 23 #define FILE_SETTINGS "rpgsettings.ini" // Koniec Define // Definicje zmiennych new ONEHITKO; new Skins; new Float:ShipSpeed=0.0; new ShipDriver = -1; new ShipIcon; new vehicles; new Menu:CarBuy; new Text:BT; new Menu:menu1; new Menu:menu2; new Text:bombtext; new Text:text2; new Ship; new Menu:BTM; // Koniec Definicji // Definicje tablic dynamicznych new DriftpNoC[200]; new logged[100]; new Float:ppos[MAX_PLAYERS][3]; new DriftP[200]; new Text:DriftText[6]; new PlayerDocked[200]; new Float:PlayerDockData[200][3]; new weapmod[600] = {1212,331,333,334,335,336,337,338,339,341,321,322,323,324,325,326,342,343,344,345,345,345,346,347,348,349,350,351,352,353,355,356,372,357,358,359,360,361,362,363,364,365,366,367,368,369,371}; new PickUpMoney[101] = {false, ...}; new DropPick[101] = {false, ...}; new Text:gVText[MAX_PLAYERS],gUseVText[MAX_PLAYERS] = false,gVTextNum[MAX_PLAYERS] = 0,Float:gX = 1.2, Float:gY = 2.5; new HideTextDef[Text:255]; new Rows[300]; new pexit[200]; new exits[200]; new PlayerPut[MAX_PLAYERS] = -1; new VehicleCreated[700] = {false, ...}; new keydown[MAX_PLAYERS] = {false, ...}; new playerbox[200]={255, ...}; new objmvd[8000] = {false, ...}; new Gangzone[200]; new nrgexit[200]; new models[700]; new modelscreated; new ramptypes[6] = {1503,1660,1245,1631,1632,1655}; new bomb[700]; new bombarm[700][100]; new playerramptypes[MAX_PLAYERS] = {0, ...}; new oldkeys2[MAX_PLAYERS]; new vehicleNames[212][]={"Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster","Stretch","Manana","Infernus","Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi","Washington","Bobcat","MrWhoopee","BFInjection","Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie","Stallion","Rumpo","RCBandit","Romero", "Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder","Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley'sRCVan","Skimmer","PCJ-600","Faggio","Freeway","RCBaron","RCRaider","Glendale","Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR350","Walton","Regina","Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","NewsChopper","Rancher","FBIRancher", "Virgo","Greenwood","Jetmax","Hotring","Sandking","BlistaCompact","PoliceMaverick","Boxville","Benson","Mesa","RCGoblin","HotringRacer","HotringRacer","BloodringBanger","Rancher","SuperGT","Elegant","Journey","Bike","MountainBike","Beagle","Cropdust","Stunt","Tanker","RoadTrain","Nebula","Majestic","Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","CementTruck","TowTruck","Fortune","Cadrona","FBITruck","Willard","Forklift","Tractor","Combine","Feltzer","Remington", "Slamvan","Blade","Freight","Streak","Vortex","Vincent","Bullet","Clover","Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster","Monster","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RCTiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer","Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug","Trailer", "Emperor","Wayfarer","Euros","Hotdog","Club","Trailer","Trailer","Andromada","Dodo","RCCam","Launch","PoliceCar","PoliceCar","PoliceCar","PoliceRanger","Picador","S.W.A.T.Van","Alpha","Phoenix","Glendale","Sadler","LuggageTrailer","LuggageTrailer","StairTrailer","Boxville","FarmPlow","UtilityTrailer" }; new bombtextexit[200]; new Float:Spawny[SPAWNY][4]={ {-1675.1111,431.4987,7.1797,226.9177}, {-1951.9447,281.9070,35.4688,90.3539}, {-2648.3779,-28.9247,6.1328,179.7330}, {-2539.5996,-620.6281,132.7109,0.1305}, {-2546.5522,632.7516,14.4531,88.4092}, {-2116.7483,926.5796,86.0791,175.1209}, {-1695.3904,1336.4022,7.1797,43.7284}, {-2627.8799,1404.3269,7.0938,249.3905}, {-2767.0608,788.6513,52.7813,264.2817}, {-1964.0610,639.5753,46.5625,1.4141}, {-1715.8062,-41.3317,3.5547,34.6315}, {-1422.2521,-288.5027,14.1484,138.0475}, {-2064.6470,-962.3367,32.1719,270.3681}, {-2157.8259,-399.0218,35.3359,33.8320}, {-2322.2959,-156.1947,35.5547,268.6738}, {-2124.7859,654.7659,52.3672,92.2084}, {-2315.0190,1041.0239,61.8672,86.4601}, {-1666.3882,719.7740,30.5007,138.5441}, {-1226.9695,55.1305,14.1322,312.5888}, {-2423.9507,336.3998,36.8118,240.5025}, {-1616.3232,686.2570,7.1875,177.8793}, {-1605.7732,731.8452,-5.2422,0.6189}, {-1622.6561,660.6306,-5.2422,91.1497} }; // Koniec tablic // Forwardowanie funkcji forward DriftUpdate(); forward Float:GetXYInFrontOfPlayerEx(playerid, &Float:x, &Float:y, Float:distance); forward Float:GetPlayerTheoreticAngle(i); forward DriftClear2(playerid, war); forward DriftClear(playerid); forward Speed(); forward PickDestroy(o); forward OnPlayerPressShipKey(playerid,key); forward IsCar2(vid); forward ShipKeys(); forward Connectcontinue(playerid); forward HideVehText(playerid); forward Random2(min, max); forward ShipIconUpdate(); forward IsPlayerInArea(playerID, Float:data1,Float:data2,Float:data3,Float:data4); forward IsPlayerInCube(playerid, Float:xmin, Float:ymin, Float:zmin, Float:xmax, Float:ymax, Float:zmax); forward Float:GetXYZInFrontOfPos(&Float:x, &Float:y, &Float:Z, Float:rZ, Float:distance); forward NitroUpdate(); forward GetDistanceBetweenPlayers(playerid,playerid2); forward Put(); forward exitsclear(playerid); forward pexitclear(playerid); forward GetClosestCar(playerid); forward GetDistanceToCar(playerid, carid); forward Float:GetOptimumRampDistance(playerid); forward Float:GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance); forward SetRandomCar(); forward SetRandomBike(); forward SetRandomPlane(); forward SetRandomBoat(); forward IsCar(model); forward IsPlane(model); forward IsBike(model); forward IsBoat(model); forward AddStaticVehicle2(random, modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2); forward Keys(); forward RemoveRamp(playerid); forward SetTextShowTime(playerid, text, time); forward HideText(playerid, text); forward KeysTimer(); forward OnPlayerPressKey(playerid, key); forward BlueTooth(playerid); // Koniec forwardowania main() { SetTimer("DriftUpdate",500,true); SetTimer("Speed",100,true); SetTimer("ShipIconUpdate", 1, true); print("\n----------------------------------"); print(" Freeroam"); print("----------------------------------\n"); printf("%d pojazdów pojawiono.", vehicles); printf("\n%d modeli stworzono.\n", modelscreated+1); printf("\n%d skinów dodano.\n", Skins); bombtext = TextDrawCreate(250.0, 200.0, "Bomba Uzbrojona!"); TextDrawColor(bombtext, 0xFF0000FF); text2 = TextDrawCreate(200.0,400.0 ,"NRG-500 :: Pojawiono poprawnie."); TextDrawColor(text2, 0xFFFFFFFF); CarBuy = CreateMenu("Wybierz samochod", 80, 100.0, 200.0, 70.0, 60.0); menu1=CreateMenu("Booom Sklep:", 5, 300.0, 300.0, 179.0, 19.0); BTM=CreateMenu("Wyszukani gracze:", 5, 300.0, 300.0, 379.0, 19.0); menu2=CreateMenu("Booom Sklep:", 5, 300.0, 300.0, 179.0, 19.0); AddMenuItem(menu1, 0, "Zaloz bombe"); AddMenuItem(menu1, 0, "Wyjdz"); AddMenuItem(menu2, 0, "Bomba kupiona!"); AddMenuItem(menu2, 0, "Kliknij Enter"); AddMenuItem(menu2, 0, "Aby wyjsc"); AddMenuItem(CarBuy, 0, "Jester"); AddMenuItem(CarBuy, 0, "Elegy"); AddMenuItem(CarBuy, 0, "Sabre"); AddMenuItem(CarBuy, 0, "Turismo"); AddMenuItem(CarBuy, 0, "Bullet"); AddMenuItem(CarBuy, 0, "Flash"); AddMenuItem(CarBuy, 0, "Infernus"); AddMenuItem(CarBuy, 0, "Super GT"); AddMenuItem(CarBuy, 0, "ZR-350"); for(new x=0;x<3;x++)DisableMenuRow(menu2, x); for(new mon=1000;mon<5000;mon += 500){ new s[8];format(s, 8, "$%d", mon); AddMenuItem(CarBuy, 1, s); } } public OnGameModeInit() { SetTimer("HealthLoop", 500, true); new i; SetGameModeText("FreeRoam by Luby"); for(i=0;i<299;i++)if(i!=3 && i!=4 && i!=5 && i!=6 && i!=8 && i!=42 && i!=65 && i!=74 && i!=86 && i!=119 && i!=149 && i!=208 && i!=265 && i!=266 && i!=267 && i!=268 && i!=269 && i!=270 && i!=271 && i!=272 && i!=273 && i!=289)AddPlayerClass(i,1958.3783,1343.1572,15.3746,269.1425,CWEAPONS); //-------Pojazdy-------// EnableTirePopping(1); ShowNameTags(0); AddStaticVehicle2(0,449,-2254.7393,5.1351,35.6223,178.5588,1,74); // enter to szesnascie AddStaticVehicle2(0,589,-2064.3489,-83.6028,34.8222,359.7387,22,22); // Car0 AddStaticVehicle2(0,579,-2352.2151,-152.4933,35.2490,359.2793,10,10); // Car1 AddStaticVehicle2(0,561,-2265.5530,149.0001,34.9765,269.7605,37,78); // Car2 AddStaticVehicle2(0,560,-2231.2302,292.5879,34.8223,359.5409,21,1); // Car3 AddStaticVehicle2(0,559,-1989.9603,245.8717,34.8292,126.6789,2,1); // Car4 AddStaticVehicle2(0,558,-1990.5403,250.9810,34.8029,122.1951,30,1); // Car5 AddStaticVehicle2(0,402,-1990.4186,255.9124,35.0036,120.6706,98,98); // Car6 AddStaticVehicle2(0,581,-1947.7207,274.9619,35.0646,116.7659,87,1); // Car7 AddStaticVehicle2(0,578,-1947.3562,266.2247,36.0966,132.6567,1,1); // Car8 AddStaticVehicle2(0,541,-1922.4410,283.8629,40.6718,180.5041,68,8); // Car9 AddStaticVehicle2(0,533,-2029.3663,157.8478,28.5450,180.2930,77,1); // Car10 AddStaticVehicle2(0,544,-2054.9524,83.9640,28.6301,89.6418,3,1); // Car11 AddStaticVehicle2(0,506,-2245.5811,550.5568,34.8620,358.7086,3,3); // Car12 AddStaticVehicle2(0,459,-2422.4666,521.8275,29.9832,44.7564,51,51); // Car13 AddStaticVehicle2(0,428,-2441.0808,524.6499,30.0373,180.2650,4,75); // Car14 AddStaticVehicle2(0,415,-2415.7720,332.1354,34.7445,329.6694,92,1); // Car15 AddStaticVehicle2(0,411,-2415.5925,970.5750,45.0240,179.5878,106,1); // Car16 AddStaticVehicle2(0,602,-2343.7371,1023.5938,50.5008,271.1881,58,1); // Car17 AddStaticVehicle2(0,589,-2521.7563,1229.6338,37.0864,211.7949,23,23); // Car18 AddStaticVehicle2(0,586,-2620.1150,1352.1317,6.6628,271.9966,119,1); // Car19 AddStaticVehicle2(0,431,-2597.2844,1326.6505,7.1396,315.5382,55,83); // Car20 AddStaticVehicle2(0,429,-2627.6536,1378.8853,6.8267,268.2324,1,3); // Car21 AddStaticVehicle2(0,595,-2905.0647,1227.5808,-0.1028,54.7403,112,20); // Car22 AddStaticVehicle2(0,571,-2723.7944,975.9670,53.7465,1.9745,91,2); // Car23 AddStaticVehicle2(0,559,-2638.3577,786.3449,49.6377,359.3007,68,8); // Car24 AddStaticVehicle2(0,554,-2772.2556,766.0490,52.2670,88.3662,45,32); // Car25 AddStaticVehicle2(0,522,-2588.0859,657.9186,14.0197,87.1983,39,106); // Car26 AddStaticVehicle2(0,420,-1437.4301,-285.3463,13.8512,58.1474,6,1); // Car27 AddStaticVehicle2(0,420,-1412.0313,-306.5768,13.8429,41.7395,6,1); // Car27 AddStaticVehicle2(0,420,-1422.9659,-296.0504,13.8498,48.9702,6,1); // Car28 AddStaticVehicle2(0,420,-1429.9578,-290.4146,13.8518,54.1493,6,1); // Car29 AddStaticVehicle2(0,420,-1417.0731,-301.7200,13.8493,47.3480,6,1); // Car30 AddStaticVehicle2(0,411,-1638.5371,-570.3789,13.8755,45.8323,80,1); // Car31 AddStaticVehicle2(0,562,-1876.6797,-151.2075,11.5574,359.7178,11,1); // Car32 AddStaticVehicle2(0,552,-1840.9132,113.5167,14.8097,271.0418,56,56); // Car33 AddStaticVehicle2(0,543,-1677.6547,401.3784,7.0015,314.9850,11,11); // Car34 AddStaticVehicle2(0,487,-1678.3958,415.8438,12.6142,225.0161,26,57); // Car35 AddStaticVehicle2(0,522,-1681.8721,417.1670,6.7402,135.7626,7,79); // Car36 AddStaticVehicle2(0,455,-1793.8912,799.0836,25.3282,0.1571,43,31); // Car37 AddStaticVehicle2(0,528,-1592.1881,748.6324,-5.1967,358.2913,0,0); // Car38 AddStaticVehicle2(0,597,-1638.2559,653.6831,-5.4740,89.6406,0,1); // Car39 AddStaticVehicle2(0,597,-1638.4070,665.9108,-5.4741,90.1924,0,1); // Car40 AddStaticVehicle2(0,597,-1638.4508,674.0391,-5.4742,90.5658,0,1); // Car41 AddStaticVehicle2(0,597,-1608.3627,692.0750,-5.4744,359.8763,0,1); // Car42 AddStaticVehicle2(0,597,-1583.9275,748.3524,-5.4733,359.6375,0,1); // Car43 AddStaticVehicle2(0,597,-1596.5762,748.8917,-5.4744,359.4661,0,1); // Car44 AddStaticVehicle2(0,427,-1616.6580,733.3532,-5.1103,180.5371,0,1); // Car45 AddStaticVehicle2(0,523,-1616.6029,750.5240,-5.6763,181.9781,0,0); // Car45 AddStaticVehicle2(0,523,-1612.5267,751.0443,-5.6730,178.3804,0,0); // Car46 AddStaticVehicle2(0,523,-1574.0516,722.4843,-5.6719,266.4048,0,0); // Car47 AddStaticVehicle2(0,523,-1636.4777,686.3693,-5.6715,87.8156,0,0); // Car48 AddStaticVehicle2(0,523,-1637.5924,674.3074,-5.6714,90.2975,0,0); // Car49 AddStaticVehicle2(0,597,-1593.7531,652.1309,6.9569,179.9545,0,1); // Car50 AddStaticVehicle2(0,597,-1587.6298,652.3399,6.9547,181.0140,0,1); // Car51 AddStaticVehicle2(0,597,-1581.5995,652.6622,6.9573,182.4822,0,1); // Car52 AddStaticVehicle2(0,597,-1611.8439,673.4778,6.9567,359.5284,0,1); // Car53 AddStaticVehicle2(0,497,-1679.1256,706.1049,30.7777,89.3071,0,1); // Car54 AddStaticVehicle2(0,601,-1576.3329,682.8640,6.9463,180.5196,1,1); // Car55 AddStaticVehicle2(0,597,-1594.2272,673.2219,6.9571,0.0300,0,1); // Car56 AddStaticVehicle2(0,496,-1947.3781,584.5227,34.8535,0.2943,74,72); // Car57 AddStaticVehicle2(0,587,-2044.7103,771.4896,60.3517,90.7277,95,1); // Car58 AddStaticVehicle2(0,560,-2111.3552,910.4462,77.4575,67.6144,37,0); // Car59 AddStaticVehicle2(0,541,-2285.3391,815.7601,49.1173,89.4732,51,1); // Car60 AddStaticVehicle2(0,533,-2442.8376,740.2258,34.7247,359.5630,84,1); // Car61 AddStaticVehicle2(0,518,-2544.3748,593.0107,14.1241,269.7502,56,29); // Car61 AddStaticVehicle2(0,416,-2653.1941,629.0087,14.6022,90.7148,1,3); // Car62 AddStaticVehicle2(0,409,-2560.5251,197.9444,6.4014,206.4671,1,1); // Car63 AddStaticVehicle2(0,562,-2663.1609,204.5441,3.9951,0.5533,35,1); // Car64 AddStaticVehicle2(0,561,-2675.7925,205.1529,4.1494,359.4789,57,8); // Car65 AddStaticVehicle2(0,560,-2692.0769,204.9085,4.0412,359.4792,17,1); // Car66 AddStaticVehicle2(0,559,-2649.0930,204.7240,3.9922,359.6417,58,8); // Car67 AddStaticVehicle2(0,558,-2667.0317,204.5945,3.9657,358.3406,112,1); // Car68 AddStaticVehicle2(0,557,-2746.8923,118.5041,7.7128,180.2202,1,1); // Car69 Ship = CreateObject(8493, -1372.4438,-48.2332,90.5917, 0.0, 0.0, 138.3808); CreateObject(14548, -1373.74,-99.2669,15.5078, 14.0, 0.0, 170.0); CreateObject(13666, -1462.92, -131.372, 18.0, 0.0, 0.0, 0.0); CreateObject(13666, -1466.43, -125.686, 18.0, 0.0, 0.0, 0.0); BT=TextDrawCreate(200.0, 200.0, "Trwa Wyszukiwanie.. Prosze czekac."); for(new v=0;vBy Luby<"); SetVehicleToRespawn(v); //if(IsCar2(v))AddVehicleComponent(v, 1087);AddVehicleComponent(v, 1010); //if(GetVehicleModel(v)>=569 && GetVehicleModel(v) <= 598)AddVehicleComponent(v, 1073); } if(dini_Exists(FILE_SETTINGS)){ new grav = strval(dini_Get(FILE_SETTINGS, "gravity")); new Float:grav2 = float(grav); SetGravity(floatdiv(grav2,1000)); grav = strval(dini_Get(FILE_SETTINGS, "one-hit-ko")); if(grav)ONEHITKO = true; } else SetGravity(0.0060); return 1; } stock ShipRotationUpdate() { } public KeysTimer() { for(new i=0;i 0){}else PutPlayerInVehicle(playerid, close, 0); } } } IsVehicleInUseDF(vehicleid){ new temp; for(new i=0;i<100;i++){ if(IsPlayerConnected(i) && IsPlayerInVehicle(i, vehicleid)){ temp++; } } if(temp > 0){ return true; } else return false; } #pragma unused IsVehicleInUseDF SetPlayerPos2(P, Float:X, Float:Y, Float:Z, Float:A) { SetPlayerPos(P, X, Y, Z);SetPlayerFacingAngle(P,A); } IsVehicleInUseDF2(vehicleid){ new temp; for(new i=0;i<100;i++){ if(IsPlayerConnected(i) && GetPlayerState(i)==PLAYER_STATE_DRIVER && GetPlayerVehicleID(i)==vehicleid){ temp++; } } if(temp > 0){ return true; } else return false; } public OnGameModeExit() { return 1; } public OnPlayerRequestClass(playerid, classid) { new dancemove = random(2); switch(dancemove) { case 0: SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1); case 1: SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE2); case 2: SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE3); } printf("OnPlayerRequestClass(%d, %d) %d", playerid, classid, GetPlayerSkin(playerid)); SetPlayerPos2(playerid,-1741.9491,-580.5571,34.7308, 90.6643); SetPlayerCameraPos(playerid,-1745.8644,-580.6480,34.6856); SetPlayerCameraLookAt(playerid,-1741.9491,-580.5571,34.7308); return 1; } public OnPlayerRequestSpawn(playerid) { AllowPlayerTeleport(playerid, 1); return 1; } public ShipIconUpdate() { new Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ; GetObjectPos(Ship, X, Y, Z); for(new playerid=0;playerid<200;playerid++){ RemovePlayerMapIcon(playerid, ShipIcon); ShipIcon = SetPlayerMapIcon(playerid, 1,X,Y,Z, 5, 0xAAFFAAFF); if(PlayerDocked[playerid]){ SetPlayerHealth(playerid, 100.0); SetPlayerPos(playerid, X+PlayerDockData[playerid][0], Y+PlayerDockData[playerid][1], Z+PlayerDockData[playerid][2]); } } if(ShipDriver!=-1){ SetPlayerHealth(ShipDriver, 100.0); GetObjectRot(Ship, rX, rY, rZ); //GetXYZInFrontOfPos(X, Y, Z, rZ+85, 5.0); SetPlayerPos(ShipDriver,X,Y,Z-10); //GetXYZInFrontOfPos(X, Y, Z, rZ+85, -45.0); SetPlayerFacingAngle(ShipDriver,rZ); GetXYInFrontOfPlayer(ShipDriver, X, Y, -65.0); SetPlayerCameraPos(ShipDriver,X, Y, Z+50); GetObjectPos(Ship, X, Y, Z); SetPlayerCameraLookAt(ShipDriver, X, Y, Z); GetXYInFrontOfPlayer(ShipDriver, X, Y, -65.0); } return 1; } PlayerName(playerid){ new n[256];GetPlayerName(playerid, n, 256);return n; } public OnPlayerConnect(playerid) { new s[256];format(s, 256, "%s[V%d]", PlayerName(playerid), GetPlayerVirtualWorld(playerid));SetPlayerName(playerid, s); TogglePlayerClock(playerid, 1); SetPlayerTime(playerid, 0, 0); //SetTeamCount(1); AllowInteriorWeapons(1); EnableTirePopping(1); ShipIcon=SetPlayerMapIcon(playerid, 1,-1372.4438,-48.2332,90.5917, 5, 0xAAFFAAFF); //SetPlayerTeam(playerid, 0); AllowPlayerTeleport(playerid, 1); new str[256]; SetTimerEx("Connectcontinue", 300, 0, "d", playerid); for(new x=0;x<200;x++)if(IsPlayerConnected(x)&&x!=playerid){format(str, 256, "*** %s dołączył do servera (ID:%d, IP:%s).***", PlayerName(playerid), playerid, ReturnIP(playerid));SendClientMessage(x, COLOR_SYSGREY, str);} /*DriftText[1] = TextDrawCreate(440.0, 150.0, "~n~~n~~n~~n~~n~~n~~n~~n~~n~"); TextDrawUseBox(DriftText[1], true); TextDrawBoxColor(DriftText[1], 0x333300AA); TextDrawShowForPlayer(playerid, DriftText[1]);*/ /*DriftText[2] = TextDrawCreate(430.0, 180.0, "~n~~n~~n~"); TextDrawUseBox(DriftText[2], true); TextDrawBoxColor(DriftText[2], 0x00000055); TextDrawShowForAll(DriftText[2]); DriftText[3] = TextDrawCreate(430.0, 210.0, "~n~~n~~n~"); TextDrawUseBox(DriftText[3], true); TextDrawBoxColor(DriftText[3], 0x00000055); TextDrawShowForAll(DriftText[3]); */ return 1; } public Connectcontinue(playerid){ new str[256]; for(new z=0;z<200;z++){ if(IsPlayerConnected(z) && z!=playerid){ format(str, 256, "*** %s dołączył do servera (ID:%d, IP:%s, Ping:%d).***", PlayerName(z), z, ReturnIP(z), GetPlayerPing(playerid));SendClientMessage(playerid, COLOR_SYSGREY, str);}} } ReturnIP(playerid){ new ip[17]; GetPlayerIp(playerid, ip, 17); return ip; } public OnPlayerDisconnect(playerid, reason) { new str[256]; if(reason == 0)format(str, 256, "*** %s wyszedł z Servera ( Timeout ).***", PlayerName(playerid)); // Timeout if(reason == 1)format(str, 256, "*** %s wyszedł z Servera ( Wyszedł ).***", PlayerName(playerid)); // Leave if(reason == 2)format(str, 256, "*** %s wyszedł z Servera ( Kick ).***", PlayerName(playerid)); // Kick if(reason == 3)format(str, 256, "*** %s wyszedł z Servera ( Ban ).***", PlayerName(playerid)); // Ban SendClientMessageToAll(COLOR_SYSGREY, str); TextDrawDestroy(gVText[playerid]); gUseVText[playerid] = false; gVTextNum[playerid] = 0; return 1; } public OnPlayerSpawn(playerid) { if(ONEHITKO)SetPlayerHealth(playerid, 1.0); EnableTirePopping(1); new randspawn = random(SPAWNY); SetPlayerPos2(playerid, Spawny[randspawn][0],Spawny[randspawn][1],Spawny[randspawn][2],Spawny[randspawn][3]); SetPlayerCheckpoint(playerid, 1892.7771,1593.5656,10.6240, 3); return 1; } Float:GetPlayerArmourEx(p) { new Float:a; GetPlayerArmour(p, a); return a; } public OnPlayerDeath(playerid, killerid, reason) { new Float:X, Float:Y, Float:Z,weap[200],ammo,temp,s[256],PX,PY; SetPlayerScore(killerid, GetPlayerScore(killerid)+1); if(reason == 8)SendDeathMessage(killerid,playerid,40);else SendDeathMessage(killerid,playerid,reason); GetPlayerPos(playerid, X, Y, Z); for(new i=0;i<16;i++){ format(s, 256 ,"%.0f", X); temp = strval(s); PX = random((temp+2)-(temp-2))+(temp-2); format(s, 256 ,"%.0f", Y); temp = strval(s); PY = random((temp+2)-(temp-2))+(temp-2); if(i<12){ GetPlayerWeaponData(playerid, i, weap[i], ammo); if(weapmod[weap[i]] == 1212){ } else { DropPick[CreatePickup(weapmod[weap[i]], 3,PX, PY, Z)]=true; } } if(i==13)DropPick[CreatePickup(1240, 3,PX, PY, Z)]=true; if(i==14)if(GetPlayerArmourEx(playerid)>0.0)DropPick[CreatePickup(1242, 3,PX, PY, Z)]=true; else { } if(i==15){ new pickid = CreatePickup(1212, 3,PX, PY, Z); PickUpMoney[pickid]=true; DropPick[pickid]=true; } } return 1; } public OnVehicleSpawn(vehicleid) { return 1; } public Random2(min, max) { return random(max-min)+min; } CreatePickup2(md, tp, Float:X, Float:Y, Float:Z){ if(md == 1212){ //PickUpMoney[CreatePickup(1212, tp, X, Y, Z)]=true; } else { CreatePickup(md, tp, X, Y, Z); } } public OnVehicleDeath(vehicleid, killerid){ if(VehicleCreated[vehicleid]){ DestroyVehicle(vehicleid); } return 1; } public OnPlayerText(playerid, text[]) { for(new g=0;g<200;g++)if(IsPlayerConnected(g))SendPlayerMessageToPlayer(g, playerid, text); return 0; } public OnPlayerPrivmsg(playerid, recieverid, text[]) { return 1; } /* * Kody komend - DCMD oczywiscie. * By Luby © 2007 */ dcmd_boom(playerid, params[]){ #pragma unused params SetVehicleHealth(GetPlayerVehicleID(playerid), 0); return true; } dcmd_dock(playerid, params[]){ #pragma unused params var Float:oX, Float:oY, Float:oZ; var Float:pX, Float:pY, Float:pZ; var Float:dX, Float:dY, Float:dZ; GetObjectPos(Ship, oX, oY, oZ); if(IsPlayerInCube(playerid, oX-25.0, oY-25.0, oZ-15.0, oX+25.0, oY+25.0, oZ+15.0)){ GetPlayerPos(playerid, pX, pY, pZ); /*if(oXPrawo znajdujących sie na NumPadzie aby kierować Statkiem"); GetXYZInFrontOfPos(X, Y, Z, rZ+85, 5000.0); MoveObject(Ship, X, Y, Z, ShipSpeed); } else SendClientMessage(playerid, 0xAAFFFAAFF, "Ktoś już kieruje Statkiem Piratów"); } else SendClientMessage(playerid, 0xAAFFFAAFF, "Musisz znajdować się na statku!"); } return true; } dcmd_heal(playerid, params[]){ #pragma unused params if(IsPlayerInAnyVehicle(playerid)) { //ChangeVehicleColor(GetPlayerVehicleID(playerid), -1, -1); SetVehicleNumberPlate(GetPlayerVehicleID(playerid), ">By Luby<"); SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0); //ChangeVehiclePaintjob(GetPlayerVehicleID(playerid), 0); ChangeVehicleColor(GetPlayerVehicleID(playerid), random(126), random(126)); LinkVehicleToInterior(GetPlayerVehicleID(playerid), 0); SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetVehicleVirtualWorld(GetPlayerVehicleID(playerid))); SetPlayerHealth(playerid, 100.0); SetPlayerArmour(playerid, 100.0); new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); GetXYInFrontOfPlayer(playerid, x, y, 8.0); } else { SetPlayerHealth(playerid, 100.0); SetPlayerArmour(playerid, 100.0); } return true; } dcmd_v(playerid, params[]){ #pragma unused params new idx2, iString[256]; new idx; iString = strtok(params, idx); if (!strlen(iString)) { SendClientMessage(playerid, 0xFF0000FF, "[UŻYJ]: /v ID Modelu / Nazwa Modelu"); return true; } idx2 = GetVehicleModelIDFromName(iString); if(idx2 == -1) { idx2 = strval(iString); if (idx2 < MIN_VEHI_ID || idx2 > MAX_VEHI_ID) { SendClientMessage(playerid, 0xFF0000FF, "Niepoprawna nazwa pojazdu lub ID modelu"); return true; } } new Float:x, Float:y, Float:z, Float:a; GetPlayerPos(playerid, x, y, z); GetXYInFrontOfPlayer(playerid, x, y, 8.0); GetPlayerFacingAngle(playerid, a); CreateVehicle(idx2, x, y, z + 1.0, a + 90.0, -1, -1, 5000); format(iString, 128, "Pojawiono %s'a poprawnie.", vehicleNames[idx2 - MIN_VEHI_ID], idx2); SendClientMessage(playerid, 0x00FF00FF, iString); return true; } dcmd_setramp(playerid, params[]){ #pragma unused params new ramp = strval(params[0]); if (ramp < 0 || ramp >= sizeof(ramptypes)) { SendClientMessage(playerid, 0xFFFFFFAA, "Zły id."); } else { playerramptypes[playerid] = ramp; } return true; } dcmd_jump(playerid, params[]){ #pragma unused params new Float:x2, Float:y2, Float:z2; if(IsPlayerInAnyVehicle(playerid)){ GetVehiclePos(GetPlayerVehicleID(playerid), x2, y2, z2); } else { GetPlayerPos(playerid, x2, y2, z2); } new obj = CreateObject(1454, x2, y2, z2, 0.0, 0.0, 0.0); MoveObject(obj, x2, y2, z2+10.0, 10.0); return true; } public OnPlayerCommandText(playerid, cmdtext[]) { printf("Gracz %s wpisal komende : %s", PlayerName(playerid), cmdtext); dcmd(boom, 4,cmdtext); dcmd(dock, 4,cmdtext); dcmd(undock, 6,cmdtext); dcmd(attach, 6,cmdtext); dcmd(box, 3,cmdtext); dcmd(up, 2,cmdtext); dcmd(stop, 4,cmdtext); dcmd(new, 3,cmdtext); dcmd(kup, 3,cmdtext); dcmd(sf, 2,cmdtext); dcmd(lv, 2,cmdtext); dcmd(ls, 2,cmdtext); dcmd(bluetooth,9,cmdtext); dcmd(ship, 4,cmdtext); dcmd(shipster, 8,cmdtext); dcmd(heal, 4,cmdtext); dcmd(v, 1,cmdtext); dcmd(setramp, 7,cmdtext); dcmd(jump, 4,cmdtext); dcmd(specmy, 6,cmdtext); return 0; } /*public CPupdate(){ for(new playerid=0;playerid<200;playerid++){ } } */ IsKeyJustDown(key, newkeys, oldkeys) { if((newkeys & key) && !(oldkeys & key)) return 1; return 0; } #pragma unused IsKeyJustDown //------------------------------------------------ public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { new Float:x, Float:y, Float:z, Float:angle; if(newkeys & 512||newkeys & 520||newkeys & 544){ if(IsPlayerInAnyVehicle(playerid)){ if(bomb[GetPlayerVehicleID(playerid)] && !bombarm[GetPlayerVehicleID(playerid)][playerid]){ new Float:px, Float:py, Float:pz; GetPlayerPos(playerid, px, py, pz); PlayerPlaySound(playerid, 1057, px - 10 + random(10 * 2), py - 10 + random(10 * 2), pz); TextDrawShowForPlayer(playerid, bombtext); bombtextexit[playerid]=1; SetTimerEx("HideText", 1000, 0, "d", playerid); bombarm[GetPlayerVehicleID(playerid)][playerid] = true; } } else { for(new h=0;h<700;h++){ if(bomb[h]){ if(bombarm[h][playerid]){ GetVehiclePos(h, x, y, z); CreateExplosion(x, y, z, 1, 10); SetVehicleHealth(h, 0.0); bomb[h]=0; bombarm[h][playerid]=0; } } } } } else if(newkeys & 16){ new close = GetClosestCar(playerid); if(!IsPlayerInAnyVehicle(playerid)){ new temp; for(new i=0;i<100;i++){ if(IsPlayerConnected(i) && GetPlayerState(i)==PLAYER_STATE_DRIVER && GetPlayerVehicleID(playerid)==close){ temp++; } } if( temp > 0){}else PutPlayerInVehicle(playerid, close, 0); } } if(ShipDriver == playerid){ var Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ; if(newkeys & 8192){ GetObjectRot(Ship, rX, rY, rZ); SetObjectRot(Ship, rX, rY, rZ+2.0); GetObjectRot(Ship, rX, rY, rZ); GetObjectPos(Ship, X, Y, Z); SetPlayerFacingAngle(ShipDriver,rZ); GetXYInFrontOfPlayer(ShipDriver, X, Y, 5000.0); MoveObject(Ship, X, Y, Z, ShipSpeed); } if(newkeys & 16384){ GetObjectRot(Ship, rX, rY, rZ); SetObjectRot(Ship, rX, rY, rZ-2.0); GetObjectRot(Ship, rX, rY, rZ); SetPlayerFacingAngle(ShipDriver,rZ); GetXYInFrontOfPlayer(ShipDriver, X, Y, 5000.0); MoveObject(Ship, X, Y, Z, ShipSpeed); } if(newkeys & 8){ GetObjectPos(Ship, X, Y, Z); SetObjectPos(Ship, X, Y, Z-1); GetObjectPos(Ship, X, Y, Z); GetXYInFrontOfPlayer(ShipDriver, X, Y, 5000.0); MoveObject(Ship, X, Y, Z, ShipSpeed); } if(newkeys & 32){ GetObjectPos(Ship, X, Y, Z); SetObjectPos(Ship, X, Y, Z+1); GetObjectPos(Ship, X, Y, Z); GetXYInFrontOfPlayer(ShipDriver, X, Y, 5000.0); MoveObject(Ship, X, Y, Z, ShipSpeed); } if(newkeys & 4){ GetXYInFrontOfPlayer(ShipDriver, X, Y, 5000.0); ShipSpeed-=0.5; MoveObject(Ship, X, Y, Z, ShipSpeed); } if(newkeys & 512){ GetXYInFrontOfPlayer(ShipDriver, X, Y, 5000.0); ShipSpeed+=0.5; MoveObject(Ship, X, Y, Z, ShipSpeed); } } if (newkeys & 2) { SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0); new Float:X, Float:Y, Float:Z; GetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z); CreateExplosion(X, Y, Z-1.5000, 3, 40); SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0); } else { if (newkeys & KEY_ACTION && IsPlayerInAnyVehicle(playerid)) { if (!keydown[playerid]) { keydown[playerid] = true; GetPlayerPos(playerid, x, y, z); angle = GetXYInFrontOfPlayerEx(playerid, x, y, GetOptimumRampDistance(playerid)); switch (playerramptypes[playerid]) { case 2: { angle -= 90.0; if (angle < 0.0) angle += 360.0; z += 0.5; } case 1: { z -= 0.5; } } new ramp; ramp = CreateObject(ramptypes[playerramptypes[playerid]], x, y, z - 0.5, 10.0, 0.0, angle); SetTimerEx("RemoveRamp", 1500, 0, "d", ramp); } } } return; } GetVehicleModelIDFromName(vname[]) { for(new i = 0; i < 211; i++) { if (strfind(vehicleNames[i], vname, true) != -1) { return i + MIN_VEHI_ID; } } return -1; } #pragma unused GetVehicleModelIDFromName public OnPlayerInfoChange(playerid) { return 1; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { return 1; } public HideVehText(playerid) { if(gUseVText[playerid])TextDrawHideForPlayer(playerid, gVText[playerid]);TextDrawDestroy(gVText[playerid]); } public OnPlayerExitVehicle(playerid, vehicleid) { pexit[playerid]=1; SetTimerEx("pexitclear", 4500, 0, "d", playerid); return 1; } public pexitclear(playerid){ pexit[playerid]=0; } public Put(){ for(new k=0;k<200;k++){ if(IsPlayerConnected(k)){ if(PlayerPut[k] >=0) PutPlayerInVehicle(k,PlayerPut[k], 0); } } } public OnPlayerStateChange(playerid, newstate, oldstate) { if(pexit[playerid]==0){ if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT){ exits[playerid]++; if(exits[playerid] < 10){ new close = GetClosestCar(playerid); if(!IsPlayerInAnyVehicle(playerid))if(!IsVehicleInUseDF2(close))PutPlayerInVehicle(playerid, close, 0);SetCameraBehindPlayer(playerid); }else if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_EXIT_VEHICLE){ new close = GetClosestCar(playerid); if(!IsPlayerInAnyVehicle(playerid))if(!IsVehicleInUseDF2(close))PutPlayerInVehicle(playerid, close, 0);SetCameraBehindPlayer(playerid); } } } if(newstate==PLAYER_STATE_DRIVER){ TextDrawDestroy(gVText[playerid]); gVText[playerid] = TextDrawCreate(450 - strlen(vehicleNames[GetVehicleModel(GetPlayerVehicleID(playerid)) - 400]) * 30,320.0,vehicleNames[GetVehicleModel(GetPlayerVehicleID(playerid)) - 400]); TextDrawFont(gVText[playerid], 2); TextDrawLetterSize(gVText[playerid], gX, gY); TextDrawColor(gVText[playerid], 0xAAFFFF77); TextDrawSetOutline(gVText[playerid], 1); TextDrawSetShadow(gVText[playerid], 0); TextDrawSetProportional(gVText[playerid], true); TextDrawShowForPlayer(playerid,gVText[playerid]); gUseVText[playerid] = true; SetTimerEx("HideVehText", 2500, 0, "d", playerid); } else if(newstate==PLAYER_STATE_PASSENGER){ TextDrawDestroy(gVText[playerid]); gVText[playerid] = TextDrawCreate(450 - strlen(vehicleNames[GetVehicleModel(GetPlayerVehicleID(playerid)) - 400]) * 30,320.0,vehicleNames[GetVehicleModel(GetPlayerVehicleID(playerid)) - 400]); TextDrawFont(gVText[playerid], 2); TextDrawLetterSize(gVText[playerid], gX, gY); TextDrawColor(gVText[playerid], 0xFFFFAA77); TextDrawSetOutline(gVText[playerid], 1); TextDrawSetShadow(gVText[playerid], 0); TextDrawSetProportional(gVText[playerid], true); TextDrawShowForPlayer(playerid,gVText[playerid]); gUseVText[playerid] = true; SetTimerEx("HideVehText", 2500, 0, "d", playerid); } SetTimerEx("exitsclear", 4500, 0, "d", playerid); return 1; } public exitsclear(playerid)exits[playerid]=0; public OnPlayerEnterCheckpoint(playerid) { if(IsPlayerInAnyVehicle(playerid) && !bomb[GetPlayerVehicleID(playerid)]){ TogglePlayerControllable(playerid, 0); ShowMenuForPlayer(menu1, playerid); } return 1; } public OnPlayerLeaveCheckpoint(playerid) { return 1; } public OnPlayerEnterRaceCheckpoint(playerid) { return 1; } public OnPlayerLeaveRaceCheckpoint(playerid) { return 1; } public OnRconCommand(cmd[]) { return 1; } public OnObjectMoved(objectid) { if(objectid!=Ship){ if(objmvd[objectid]){objmvd[objectid]=0;}else{ new Float:X, Float:Y, Float:Z; GetObjectPos(objectid, X, Y, Z); MoveObject(objectid, X, Y, Z-30.0, 3.0); objmvd[objectid]=1; } } return 1; } public OnPlayerObjectMoved(playerid, objectid) { return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { if(PickUpMoney[pickupid])GivePlayerMoney(playerid, random(2000-500)+500); // Will give you random$ when you pickup money if(DropPick[pickupid])SetTimerEx("PickDestroy", 500, 0, "d", pickupid); // Destroying pickups return 1; } public NitroUpdate() { for(new playerid=0;playerid<200;playerid++){ if(IsPlayerConnected(playerid))if(IsPlayerInAnyVehicle(playerid)){ new keys, updown, leftright; if (IsPlayerConnected(playerid)) { GetPlayerKeys(playerid, keys, updown, leftright); if (keys & 2) { SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0); new Float:X, Float:Y, Float:Z; GetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z); // GetXYInFrontOfPlayer(playerid, X, Y, -1.0); // CreateExplosion(X, Y, Z+0.5000, 1, 4); // CreateExplosion(X, Y, Z+0.5000, 2, 4); // CreateExplosion(X, Y, Z+0.5000, 3, 40); CreateExplosion(X, Y, Z-1.5000, 3, 40);/* CreateExplosion(X, Y, Z-1.5000, 10, 40); CreateExplosion(X, Y, Z-1.5000, 10, 40); CreateExplosion(X, Y, Z-1.5000, 10, 40); CreateExplosion(X, Y, Z-1.5000, 10, 40); CreateExplosion(X, Y, Z-1.5000, 10, 40); CreateExplosion(X, Y, Z-1.5000, 10, 40); CreateExplosion(X, Y, Z-1.5000, 10, 40); CreateExplosion(X, Y, Z-1.5000, 10, 40); CreateExplosion(X, Y, Z-1.5000, 10, 40); */ // CreateExplosion(X, Y, Z+0.5000, 10, 4); // CreateExplosion(X, Y, Z+0.5000, 4, 4); // CreateExplosion(X, Y, Z+0.5000, 5, 4); // CreateExplosion(X, Y, Z+0.5000, 6, 4); // CreateExplosion(X, Y, Z+0.5000, 7, 4); // CreateExplosion(X, Y, Z+0.5000, 8, 4); SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0); } else { new Float:x, Float:y, Float:z, Float:angle; if (keys & KEY_ACTION && IsPlayerInAnyVehicle(playerid)) { if (!keydown[playerid]) { keydown[playerid] = true; GetPlayerPos(playerid, x, y, z); angle = GetXYInFrontOfPlayerEx(playerid, x, y, GetOptimumRampDistance(playerid)); switch (playerramptypes[playerid]) { case 2: { angle -= 90.0; if (angle < 0.0) angle += 360.0; z += 0.5; } case 1: { z -= 0.5; } } new ramp; ramp = CreateObject(ramptypes[playerramptypes[playerid]], x, y, z - 0.5, 10.0, 0.0, angle); SetTimerEx("RemoveRamp", 1500, 0, "d", ramp); } } if(keys & 2){ GetPlayerPos(playerid, x, y, z); for(new bom=5;bom>0;bom--){ GetXYInFrontOfPlayer(playerid, x, y, 50); CreateExplosion(x, y, z+(bom*3), 10, 4900.0); GetXYInFrontOfPlayer(playerid, x, y, 50-5); CreateExplosion(x, y, z+(bom*3), 10, 4900.0); GetXYInFrontOfPlayer(playerid, x, y, 50-10); CreateExplosion(x, y, z+(bom*3), 10, 4900.0); GetXYInFrontOfPlayer(playerid, x, y, 50-15); CreateExplosion(x, y, z+(bom*3), 10, 4900.0); GetXYInFrontOfPlayer(playerid, x, y, 50-20); CreateExplosion(x, y, z+(bom*3), 10, 4900.0); GetXYInFrontOfPlayer(playerid, x, y, 50-25); CreateExplosion(x, y, z+(bom*3), 10, 4900.0); GetXYInFrontOfPlayer(playerid, x, y, 50-30); CreateExplosion(x, y, z+(bom*3), 10, 4900.0); GetXYInFrontOfPlayer(playerid, x, y, 50-35); CreateExplosion(x, y, z+(bom*3), 10, 4900.0); GetXYInFrontOfPlayer(playerid, x, y, 50-40); CreateExplosion(x, y, z+(bom*3), 10, 4900.0); } PlayerPlaySound(playerid, 20600, x, y, z); }else keydown[playerid] = false; } } } } } public OnPlayerSelectedMenuRow(playerid, row) { new s[256]; HideMenuForPlayer(menu1, playerid); if(row == 0 && GetPlayerMenu(playerid) == menu1){ bomb[GetPlayerVehicleID(playerid)] = true; ShowMenuForPlayer(menu2, playerid); TogglePlayerControllable(playerid, 0); } if(row == 1 && GetPlayerMenu(playerid) == menu1){ TogglePlayerControllable(playerid, 1); HideMenuForPlayer(menu1, playerid); } if(GetPlayerMenu(playerid) == CarBuy){ new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); GetXYInFrontOfPlayer(playerid, X, Y, 7.0); TogglePlayerControllable(playerid, 1); switch (row){ case 0:VehicleCreated[CreateVehicle(559, X, Y, Z, 0.0, -1, -1, 99999999999999999999999999*9999999999999999999999999999*99999999999999999999)]=true; case 1:VehicleCreated[CreateVehicle(562, X, Y, Z, 0.0, -1, -1, 99999999999999999999999999*9999999999999999999999999999*99999999999999999999)]=true; case 2:VehicleCreated[CreateVehicle(475, X, Y, Z, 0.0, -1, -1, 99999999999999999999999999*9999999999999999999999999999*99999999999999999999)]=true; case 3:VehicleCreated[CreateVehicle(451, X, Y, Z, 0.0, -1, -1, 99999999999999999999999999*9999999999999999999999999999*99999999999999999999)]=true; case 4:VehicleCreated[CreateVehicle(541, X, Y, Z, 0.0, -1, -1, 99999999999999999999999999*9999999999999999999999999999*99999999999999999999)]=true; case 5:VehicleCreated[CreateVehicle(565, X, Y, Z, 0.0, -1, -1, 99999999999999999999999999*9999999999999999999999999999*99999999999999999999)]=true; case 6:VehicleCreated[CreateVehicle(411, X, Y, Z, 0.0, -1, -1, 99999999999999999999999999*9999999999999999999999999999*99999999999999999999)]=true; case 7:VehicleCreated[CreateVehicle(506, X, Y, Z, 0.0, -1, -1, 99999999999999999999999999*9999999999999999999999999999*99999999999999999999)]=true; case 8:VehicleCreated[CreateVehicle(477, X, Y, Z, 0.0, -1, -1, 99999999999999999999999999*9999999999999999999999999999*99999999999999999999)]=true; } } if(GetPlayerMenu(playerid)==BTM){ /* * BlueTooth Code - By Luby */ format(s, 256, "Gracz %s nawiazal z twoim telefonem połączenie BlueTooth", PlayerName(playerid)); new Text:ZAL2=TextDrawCreate(0.0, 300.0, s); TextDrawShowForPlayer(playerid, ZAL2); } return 1; } public OnPlayerExitedMenu(playerid) { TogglePlayerControllable(playerid, 1); return 1; } public SetTextShowTime(playerid, text, time){ TextDrawShowForPlayer(playerid, Text:text); SetTimerEx("HideText", time, 0, "d, d", playerid, text); } public HideText(playerid,text){ if(bombtextexit[playerid])TextDrawHideForPlayer(playerid, bombtext); if(nrgexit[playerid])TextDrawHideForPlayer(playerid, text2); } public RemoveRamp(playerid) { DestroyObject(playerid); } Float:GetOptimumRampDistance(playerid) { new ping = GetPlayerPing(playerid), Float:dist; dist = floatpower(ping, 0.25); dist = dist*4.0; dist = dist+2.0; return dist; } Float:GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance) { new Float:a; GetPlayerPos(playerid, x, y, a); if (IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), a); else GetPlayerFacingAngle(playerid, a); x += (distance * floatsin(-a, degrees)); y += (distance * floatcos(-a, degrees)); return a; } Float:GetXYInFrontOfPlayerEx(playerid, &Float:x, &Float:y, Float:distance) { new Float:a; GetPlayerPos(playerid, x, y, a); a = GetPlayerTheoreticAngle(playerid); x += (distance * floatsin(-a, degrees)); y += (distance * floatcos(-a, degrees)); return a; } Float:GetXYZInFrontOfPos(&Float:x, &Float:y, &Float:Z, Float:rZ, Float:distance) // By Luby - Based on Mike's GetXYInFrontOfPlayer { x += (distance * floatsin(rZ, degrees)); y += (distance * floatcos(rZ, degrees)); Z = Z; return rZ; } public GetClosestCar(playerid) //By Darkrealm { if (!IsPlayerConnected(playerid)) { return -1; } new Float:prevdist = 100000.000; new prevcar; for (new carid = 0; carid < MAX_VEHICLES; carid++) { new Float:dist = GetDistanceToCar(playerid,carid); if ((dist < prevdist)) { prevdist = dist; prevcar = carid; } } return prevcar; } public GetDistanceToCar(playerid,carid) //By Darkrealm (Edited by Sacky) { new Float:dis; new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2; if (!IsPlayerConnected(playerid)) { return -1; } GetPlayerPos(playerid,x1,y1,z1); GetVehiclePos(carid,x2,y2,z2); dis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2)); return floatround(dis); } //----------------------------------// new RandomBoat[3] = { 493, //jetmax - boat // 595, //launch - boat 484, //marquis - boat 454 //tropic - boat }; new RandomPlanes[8] = { 425, //hunter - heli 487, //maverick, //heli 447, //seaspar - heli 520, //hydra - plane 476, //rustler - plane 519, //shamal - plane 513, //stunt - plane }; new RandomBikes[5] = { 463, //freeway - bike 522, //nrg500 - bike 522, //nrg500 - bike 481, //bmx - bmx 471 //quad - quad }; new RandomCar[34] = { 443, //packer - car 470, //patriot - car //432, //rhino - car // 408, //trash - car 444, //monster - mtruck 416, //ambulan - car 602, //alpha - car 429, //banshee - car 424, //bfinject, //car 402, //buffalo - car 541, //bullet - car 415, //cheetah - car 480, //comet - car 596, //copcarla, //car 562, //elegy - car 427, //enforcer, //car 528, //fbitruck, //car 565, //flash - car 434, //hotknife, //car 502, //hotrina - car 411, //infernus, //car 559, //jester - car 400, //landstal, //car 603, //phoenix - car // 489, //rancher - car 534, //remingtn, //car 475, //sabre - car 495, //sandking, //car 535, //slamvan - car 560, //sultan - car 506, //supergt - car 574, //sweeper - car 549, //tampa - car 420, //taxi - car 451, //turismo - car 558, //uranus - car 412, //voodoo - car }; public SetRandomCar(){ new rand = random(sizeof(RandomCar)); return RandomCar[rand]; } public SetRandomBike(){ new rand = random(sizeof(RandomBikes)); return RandomBikes[rand]; } public SetRandomPlane(){ new rand = random(sizeof(RandomPlanes)); return RandomPlanes[rand]; } public SetRandomBoat(){ new rand = random(sizeof(RandomBoat)); return RandomBoat[rand]; } public AddStaticVehicle2(random, modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2) //By Luby { if(random == 1){ if(IsCar(modelid)){ new newmodel = SetRandomCar(); //CreateVehicle(newmodel, spawn_x, spawn_y, spawn_z, z_angle, color1, color2, 0); AddStaticVehicle(newmodel, spawn_x, spawn_y, spawn_z, z_angle, color1, color2); new tmp = newmodel - 400; printf("Stworzono pojazd : %s : X:%.0f Y:%.0f Z:%.0f", vehicleNames[tmp], spawn_x, spawn_y, spawn_z); vehicles++; if(models[newmodel-400] != 1){ models[newmodel-400] = 1; modelscreated++; } } else if(IsBike(modelid)){ new newmodel = SetRandomBike(); //CreateVehicle(newmodel, spawn_x, spawn_y, spawn_z, z_angle, color1, color2, 0); AddStaticVehicle(newmodel, spawn_x, spawn_y, spawn_z, z_angle, color1, color2); new tmp = newmodel - 400; printf("Stworzono pojazd : %s : X:%.0f Y:%.0f Z:%.0f", vehicleNames[tmp], spawn_x, spawn_y, spawn_z); vehicles++; if(models[newmodel-400] != 1){ models[newmodel-400] = 1; modelscreated++; } } else if(IsBoat(modelid)){ new newmodel = SetRandomBoat(); //CreateVehicle(newmodel, spawn_x, spawn_y, spawn_z, z_angle, color1, color2, 0); AddStaticVehicle(newmodel, spawn_x, spawn_y, spawn_z, z_angle, color1, color2); new tmp = newmodel - 400; printf("Stworzono pojazd : %s : X:%.0f Y:%.0f Z:%.0f", vehicleNames[tmp], spawn_x, spawn_y, spawn_z); if(models[newmodel-400] != 1){ models[newmodel-400] = 1; modelscreated++; } } else { //CreateVehicle(modelid, spawn_x, spawn_y, spawn_z, z_angle, color1, color2, 0); AddStaticVehicle(modelid, spawn_x, spawn_y, spawn_z, z_angle, color1, color2); new tmp = modelid - 400; printf("Stworzono pojazd : %s : X:%.0f Y:%.0f Z:%.0f", vehicleNames[tmp], spawn_x, spawn_y, spawn_z); vehicles++; if(models[modelid-400] != 1){ models[modelid-400] = 1; modelscreated++; } } } else{ //CreateVehicle(modelid, spawn_x, spawn_y, spawn_z, z_angle, color1, color2, 0); AddStaticVehicle(modelid, spawn_x, spawn_y, spawn_z, z_angle, color1, color2); new tmp = modelid - 400; printf("Stworzono pojazd : %s : X:%.0f Y:%.0f Z:%.0f", vehicleNames[tmp], spawn_x, spawn_y, spawn_z); vehicles++; if(models[modelid-400] != 1){ models[modelid-400] = 1; modelscreated++; } } } public IsCar(model) //By Luby { switch(model) { case 443:return 0; case 448:return 0; case 461:return 0; case 462:return 0; case 463:return 0; case 468:return 0; case 521:return 0; case 522:return 0; case 523:return 0; case 581:return 0; case 586:return 0; case 481:return 0; case 509:return 0; case 510:return 0; case 430:return 0; case 446:return 0; case 452:return 0; case 453:return 0; case 454:return 0; case 472:return 0; case 473:return 0; case 484:return 0; case 493:return 0; case 595:return 0; case 417:return 0; case 425:return 0; case 447:return 0; case 465:return 0; case 469:return 0; case 487:return 0; case 488:return 0; case 497:return 0; case 501:return 0; case 548:return 0; case 563:return 0; case 406:return 0; case 444:return 0; case 556:return 0; case 557:return 0; case 573:return 0; case 460:return 0; case 464:return 0; case 476:return 0; case 511:return 0; case 512:return 0; case 513:return 0; case 519:return 0; case 520:return 0; case 539:return 0; case 553:return 0; case 577:return 0; case 592:return 0; case 593:return 0; case 471:return 0; } return 1; } public IsCar2(vid) //By Luby { new model = GetVehicleModel(vid); switch(model) { case 443:return 0; case 448:return 0; case 461:return 0; case 462:return 0; case 463:return 0; case 468:return 0; case 521:return 0; case 522:return 0; case 523:return 0; case 581:return 0; case 586:return 0; case 481:return 0; case 509:return 0; case 510:return 0; case 430:return 0; case 446:return 0; case 452:return 0; case 453:return 0; case 454:return 0; case 472:return 0; case 473:return 0; case 484:return 0; case 493:return 0; case 595:return 0; case 417:return 0; case 425:return 0; case 447:return 0; case 465:return 0; case 469:return 0; case 487:return 0; case 488:return 0; case 497:return 0; case 501:return 0; case 548:return 0; case 563:return 0; case 406:return 0; case 444:return 0; case 556:return 0; case 557:return 0; case 573:return 0; case 460:return 0; case 464:return 0; case 476:return 0; case 511:return 0; case 512:return 0; case 513:return 0; case 519:return 0; case 520:return 0; case 539:return 0; case 553:return 0; case 577:return 0; case 592:return 0; case 593:return 0; case 471:return 0; } return 1; } public IsPlane(model) //By Luby { switch(model) { case 460:return 1; case 464:return 1; case 476:return 1; case 511:return 1; case 512:return 1; case 513:return 1; case 519:return 1; case 520:return 1; case 539:return 1; case 553:return 1; case 577:return 1; case 592:return 1; case 593:return 1; case 417:return 1; case 425:return 1; case 447:return 1; case 465:return 1; case 469:return 1; case 487:return 1; case 488:return 1; case 497:return 1; case 501:return 1; case 548:return 1; case 563:return 1; } return 0; } public IsBike(model) //By Luby { switch(model) { case 471:return 1; case 481:return 1; case 509:return 1; case 510:return 1; case 448:return 1; case 461:return 1; case 462:return 1; case 463:return 1; case 468:return 1; case 521:return 1; case 522:return 1; case 523:return 1; case 581:return 1; case 586:return 1; } return 0; } public IsBoat(model) //By Luby { switch(model) { case 430:return 1; case 446:return 1; case 452:return 1; case 453:return 1; case 454:return 1; case 472:return 1; case 473:return 1; case 484:return 1; case 493:return 1; case 595:return 1; } return 0; } /*strtok(const string[], &index) { // Created by Compuphase new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; }*/ public BlueTooth(playerid){ TextDrawHideForPlayer(playerid, BT); new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X,Y,Z); Gangzone[playerid]=GangZoneCreate(X-150.0, Y-150.0, X+150.0, Y+150.0); GangZoneShowForPlayer(playerid, Gangzone[playerid], 0x0088FF77); GangZoneFlashForPlayer(playerid, Gangzone[playerid], 0x00FFFF77); new Items; for(new p=0;p<200;p++){ if(IsPlayerConnected(p)){ if(GetDistanceBetweenPlayers(playerid,p) < 300){ Items++; if(Items < 40){ AddMenuItem(BTM, 0, PlayerName(p)); Rows[Items-1]=p; } else AddMenuItem(BTM, 1, PlayerName(p)); } } } ShowMenuForPlayer(BTM, playerid); } public GetDistanceBetweenPlayers(playerid,playerid2) //By Slick (Edited by Sacky) { new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2; new Float:tmpdis; GetPlayerPos(playerid,x1,y1,z1); GetPlayerPos(playerid2,x2,y2,z2); tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2)); return floatround(tmpdis); } public IsPlayerInArea(playerID, Float:data1,Float:data2,Float:data3,Float:data4) { new Float:X, Float:Y, Float:Z; GetPlayerPos(playerID, X, Y, Z); if(X >= data1 && X <= data2 && Y >= data3 && Y <= data4) { return 1; } return 0; } Float:GetPlayerTheoreticAngle(i) { new Float:sin; new Float:dis; new Float:angle2; new Float:x,Float:y,Float:z; new Float:tmp3; new Float:tmp4; new Float:MindAngle; if(IsPlayerConnected(i)){ GetPlayerPos(i,x,y,z); dis = floatsqroot(floatpower(floatabs(floatsub(x,ppos[i][0])),2)+floatpower(floatabs(floatsub(y,ppos[i][1])),2)); if(IsPlayerInAnyVehicle(i))GetVehicleZAngle(GetPlayerVehicleID(i), angle2); else GetPlayerFacingAngle(i, angle2); if(x>ppos[i][0]){tmp3=x-ppos[i][0];}else{tmp3=ppos[i][0]-x;} if(y>ppos[i][1]){tmp4=y-ppos[i][1];}else{tmp4=ppos[i][1]-y;} if(ppos[i][1]>y && ppos[i][0]>x){ //1 sin = asin(tmp3/dis); MindAngle = floatsub(floatsub(floatadd(sin, 90), floatmul(sin, 2)), -90.0); } if(ppos[i][1]x){ //2 sin = asin(tmp3/dis); MindAngle = floatsub(floatadd(sin, 180), 180.0); } if(ppos[i][1]y && ppos[i][0] xmin && y > ymin && z > zmin && x < xmax && y < ymax && z < zmax)return 1; return 0; } //public DriftClear2(playerid, war) //{ //if(DriftP[playerid] > war){}else DriftpNoC[playerid]=false; //} public DriftClear(playerid) { if(DriftpNoC[playerid]){}else SetPlayerScore(playerid,GetPlayerScore(playerid)+DriftP[playerid]); DriftP[playerid]=0; } public DriftUpdate(){ new count; new count2 = 1; new oldscore = 1; new ScoreArray[200]; new s[256]; for(new playerid=0;playerid<200;playerid++)if(IsPlayerConnected(playerid)){ if(DriftP[playerid] > oldscore){ for(new x=0;x<199;x++){ ScoreArray[x+1]=ScoreArray[x]; } ScoreArray[0] = playerid; } if(DriftP[playerid] > oldscore && playerid !=ScoreArray[0]){ for(new x=0;x<199;x++){ ScoreArray[x+1]=ScoreArray[x]; oldscore = DriftP[playerid]; } ScoreArray[1] = playerid; } if(DriftP[playerid] > oldscore && playerid !=ScoreArray[1] && playerid !=ScoreArray[0]){ for(new x=0;x<199;x++){ ScoreArray[x+1]=ScoreArray[x]; } ScoreArray[2] = playerid; } if(DriftP[playerid] > oldscore && playerid !=ScoreArray[2] && playerid !=ScoreArray[1]&& playerid !=ScoreArray[0]){ for(new x=0;x<199;x++){ ScoreArray[x+1]=ScoreArray[x]; } ScoreArray[3] = playerid; } if(DriftP[playerid] > oldscore && playerid !=ScoreArray[3] && playerid !=ScoreArray[2]&& playerid !=ScoreArray[1]&& playerid !=ScoreArray[0]){ for(new x=0;x<199;x++){ ScoreArray[x+1]=ScoreArray[x]; } ScoreArray[4] = playerid; } if(DriftP[playerid] > oldscore && playerid !=ScoreArray[4] && playerid !=ScoreArray[3] && playerid !=ScoreArray[2] && playerid !=ScoreArray[1] && playerid !=ScoreArray[0]){ for(new x=0;x<199;x++){ ScoreArray[x+1]=ScoreArray[x]; } ScoreArray[5] = playerid; } count++; if(ScoreArray[0] == ScoreArray[1] && ScoreArray[1] == ScoreArray[2]){ format(s, 256, "Ranking Driftu:~n~~y~1st - %s:~n~%d~w~" , PlayerName(ScoreArray[0]),ScoreArray[0], DriftP[ScoreArray[0]]); } else if((ScoreArray[0] == ScoreArray[1] && ScoreArray[0]!= ScoreArray[2])|| (ScoreArray[0] == ScoreArray[2] && ScoreArray[0]!=ScoreArray[1])||( ScoreArray[1] == ScoreArray[2] && ScoreArray[1] != ScoreArray[0])){ format(s, 256, "Ranking Driftu:~n~~r~1st - %s:%d~w~2st - %s:%d" , PlayerName(ScoreArray[0]),ScoreArray[0], DriftP[ScoreArray[0]], PlayerName(ScoreArray[1]),ScoreArray[1], DriftP[ScoreArray[1]]); } else { format(s, 256, "Ranking Driftu:~n~~r~1st - %s:%d~w~~n~~n~2st - %s:%d~n~~n~3st - %s:%d" , PlayerName(ScoreArray[0]),ScoreArray[0], DriftP[ScoreArray[0]], PlayerName(ScoreArray[1]),ScoreArray[1], DriftP[ScoreArray[1]], PlayerName(ScoreArray[2]),ScoreArray[2], DriftP[ScoreArray[2]]); } TextDrawHideForAll(DriftText[0]); TextDrawDestroy(DriftText[0]); DriftText[0] = TextDrawCreate(450.0, 150.0, s); // TextDrawUseBox(DriftText[0], true); // TextDrawBoxColor(DriftText[0], 0x000000AA); // TextDrawAlignment(DriftText[0], 2); // TextDrawTextSize(DriftText[0], 2.9, 2.9); TextDrawSetOutline(DriftText[0], 2); // TextDrawColor(DriftText[0], 0x00000000); TextDrawShowForAll(DriftText[0]); /* TextDrawHideForAll(DriftText[1]); TextDrawDestroy(DriftText[1]); format(s, 256, "%s : %d", PlayerName(ScoreArray[0]), DriftP[ScoreArray[0]]); DriftText[1] = TextDrawCreate(400.0, floatadd(205.0, (1*5)), s); TextDrawShowForAll(DriftText[1]); */ /* TextDrawHideForAll(DriftText[1]); TextDrawDestroy(DriftText[1]); format(s, 256, "%s : %d", PlayerName(0), DriftP[0]); DriftText[1] = TextDrawCreate(400.0, floatadd(205.0, (1*5)), s); TextDrawShowForAll(DriftText[1]); TextDrawHideForAll(DriftText[1]); TextDrawDestroy(DriftText[1]); format(s, 256, "%s : %d", PlayerName(1), DriftP[1]); DriftText[1] = TextDrawCreate(400.0, floatadd(205.0, (1*5)), s); TextDrawShowForAll(DriftText[1]);*/ /* TextDrawHideForAll(DriftText[2]); TextDrawDestroy(DriftText[2]); format(s, 256, "%s : %d", PlayerName(ScoreArray[1]), DriftP[ScoreArray[1]]); DriftText[2] = TextDrawCreate(400.0, floatadd(205.0, (2*5)), s); TextDrawShowForAll(DriftText[2]); TextDrawHideForAll(DriftText[3]); TextDrawDestroy(DriftText[3]); format(s, 256, "%s : %d", PlayerName(ScoreArray[2]), DriftP[ScoreArray[2]]); DriftText[3] = TextDrawCreate(400.0, floatadd(205.0, (3*5)), s); TextDrawShowForAll(DriftText[3]); TextDrawHideForAll(DriftText[4]); TextDrawDestroy(DriftText[4]); format(s, 256, "%s : %d", PlayerName(ScoreArray[3]), DriftP[ScoreArray[3]]); DriftText[4] = TextDrawCreate(400.0, floatadd(205.0, (4*5)), s); TextDrawShowForAll(DriftText[4]); TextDrawHideForAll(DriftText[5]); TextDrawDestroy(DriftText[5]); format(s, 256, "%s : %d", PlayerName(ScoreArray[4]), DriftP[ScoreArray[4]]); DriftText[5] = TextDrawCreate(400.0, floatadd(205.0, (5*5)), s); TextDrawShowForAll(DriftText[5]);*/ count2++; } } public Speed(){ new Float:dis; new Float:x,Float:y,Float:z; new Drift[200]; new round; new i; new Float:RelAngle; new Float:TheAngle; for(i=0;i 20 && Drift[i] < 120 && TheAngle!=0.00000 && round > 10 && round < 500){ DriftP[i]+=(1*round*Drift[i])/6; // new s[256]; format(s, 256, "~w~Drift : %d", DriftP[i]); // GameTextForPlayer(i,s,100,5); } ppos[i][0] = x; ppos[i][1] = y; ppos[i][2] = z; } } } #pragma unused CreatePickup2 #pragma unused GetPlayerArmourEx public PickDestroy(o)if(o!=Ship)DestroyPickup(o); // Destroy pickup ! Muha xD!