Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Ivex's Multy Vehicle Ownership
- iVersion 1.1
- Copyright(c)
- */
- #include <a_samp>
- #include <Dini>
- #include <zcmd>
- #include <sscanf2>
- #include <JunkBuster>
- #pragma tabsize 0
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_GREEN 0x9EC73DAA
- #define COLOR_RED 0xAA3333AA
- #define COLOR_LIGHTRED 0xFF6347AA
- #define COLOR_LIGHTBLUE 0x33CCFFAA
- #define COLOR_LIGHTGREEN 0x9ACD32AA
- #define COLOR_YELLOW 0xFFFF00AA
- #define COLOR_WHITE 0xFFFFFFAA
- #define COLOR_MEDIUMAQUA 0x83BFBFAA
- #define SCM SendClientMessage
- #define SaveFile "V_File.cfg"
- #define SetVehicleHealth JBC_SetVehicleHealth
- #define SetPlayerArmour JBC_SetPlayerArmour
- #define SetPlayerHealth JBC_SetPlayerHealth
- #define ResetPlayerWeapons JBC_ResetPlayerWeapons
- #define GivePlayerWeapon JBC_GivePlayerWeapon
- #define SetVehiclePos JBC_SetVehiclePos
- #define SetPlayerPos JBC_SetPlayerPos
- #define GetPlayerMoney JBC_GetPlayerMoney
- #define ResetPlayerMoney JBC_ResetPlayerMoney
- #define GivePlayerMoney JBC_GivePlayerMoney
- #define PutPlayerInVehicle JBC_PutPlayerInVehicle
- #define TogglePlayerControllable JBC_TogglePlayerControllable
- #define TogglePlayerSpectating JBC_TogglePlayerSpectating
- #define RepairVehicle JBC_RepairVehicle
- #define MAX_MYVEHS 300
- #define MAX_BUYED_VEHS 2
- #define DIALOGID 9999
- //============================== VEHICLES ======================================
- enum einfo
- {
- MyVehSlot,
- MyVehModel,
- Float:MyVehPos[4],
- MyVehCol[2],
- MyVehLock,
- MyVehOwner[MAX_PLAYER_NAME],
- MyVehAlarm,
- MyVehFsale,
- MyVehID,
- MyVehCar,
- MyVehBike,
- MyVehBoat,
- MyVehPlane
- };
- new MyVehicle[MAX_MYVEHS][einfo];
- new Text:CarShopTextDraw[MAX_PLAYERS];
- new IsShoping[MAX_PLAYERS];
- new ShopVeh1[4];//0 ID,1 Model,2 col1,3 ol2 car
- new ShopVeh2[4];//0 ID,1 Model,2 col1,3 ol2 bike
- new VehButtonSet[MAX_PLAYERS][4];
- new clx[MAX_PLAYERS] = 0;
- new EnCV[MAX_PLAYERS];
- forward GetVehiclePrice(vehicleid);
- new vCars[46][2] =
- {
- {400,65000},
- {402,300000},
- {405,35000},
- {411,1500000},
- {412,40000},
- {413,30000},
- {415,320000},
- {560,400000},
- {418,23000},
- {421,50000},
- {426,40000},
- {429,275000},
- {445,60000},
- {451,400000},
- {474,65000},
- {475,42500},
- {477,180000},
- {480,250000},
- {492,65000},
- {496,65000},
- {498,90000},
- {500,70000},
- {506,300000},
- {507,65000},
- {562,375000},
- {517,45000},
- {533,50000},
- {534,76000},
- {535,80000},
- {536,140000},
- {540,50000},
- {541,285000},
- {550,100000},
- {559,310000},
- {558,190000},
- {561,125000},
- {565,150000},
- {566,70000},
- {567,175000},
- {575,80000},
- {579,120000},
- {580,60000},
- {587,140000},
- {589,90000},
- {602,75000},
- {603,110000}
- };
- new vBikes[9][2]={
- {581,30000},//BF-400
- {462,15000},//Faggio
- {521,40000},//FCR-900
- {463,35000},//Freeway
- {522,95000},//NRG-500
- {461,40000},//PCJ-600
- {471,20000},//Quad
- {468,35000},//Sanchez
- {586,20000}//Wayfarer
- };
- new VehNames[212][] = {
- "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster","Stretch","Manana","Infernus","Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto",
- "Taxi","Washington","Bobcat","Mr Whoopee","BF Injection","Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie","Stallion",
- "Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder","Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van",
- "Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider","Glendale","Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR350","Walton","Regina",
- "Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo","Greenwood","Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson",
- "Mesa","RC Goblin","Hotring Racer","Hotring Racer","Bloodring Banger","Rancher","Super GT","Elegant","Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain","Nebula","Majestic","Buccaneer","Shamal",
- "Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona","FBI Truck","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","RC Tiger","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","RC Cam","Launch","Police Car (LSPD)","Police Car (SFPD)","Police Car (LVPD)","Police Ranger",
- "Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer","Luggage Trailer","Stair Trailer","Boxville","Farm Plow","Utility Trailer"
- };
- //==============================================================================
- public OnFilterScriptInit()
- {
- return 1;
- }
- public OnGameModeInit()
- {
- ShopVeh1[0] = CreateVehicle(vCars[ShopVeh1[1]][0], 1291.2528,-1874.5751,13.6552,0.1507, ShopVeh1[2], ShopVeh1[3], 30000);
- ShopVeh2[0] = CreateVehicle(vBikes[ShopVeh2[1]][0],1300.3483,-1875.6475,13.1616,357.3183, ShopVeh2[2], ShopVeh2[3], 30000);
- CVozilaTextDraw(); // textdraw
- LoadMyVehSystem(); // loadanje lvl 1
- print("\n----------------------------------");
- print(":::::::::Loading Ivex's iCos::::::::");
- print("----------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- DVozilaTextDraw();// unistava textdraw
- for(new i; i< MAX_MYVEHS;i++)
- {
- if(MyVehicle[i][MyVehSlot] == 1)
- {
- DestroyVehicle(MyVehicle[i][MyVehID]);
- }
- }
- print("\n----------------------------------");
- print("::::::::Unloading Ivex's iCos:::::::");
- print("----------------------------------\n");
- return 1;
- }
- main()
- {
- }
- public OnPlayerConnect(playerid)
- {
- EnCV[playerid] = -1;
- return 1;
- }
- public OnPlayerDisconnect(playerid,reason)
- {
- EnCV[playerid] = -1;
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- new Float:PEnterPos[3][MAX_PLAYERS];
- new string[64];
- GetPlayerPos(playerid,PEnterPos[0][playerid],PEnterPos[1][playerid],PEnterPos[2][playerid]);
- if(ConvertVehIDtoDYID(vehicleid) != -1)
- {
- new i;
- i = ConvertVehIDtoDYID(vehicleid);
- if(MyVehicle[i][MyVehSlot] == 1 && (MyVehicle[i][MyVehCar] != -1 || MyVehicle[i][MyVehBike] != -1 || MyVehicle[i][MyVehBoat] != -1 || MyVehicle[i][MyVehPlane] != -1) && MyVehicle[i][MyVehFsale] < 1)
- {
- format(string, sizeof(string), "~y~~h~VLASNIK:~y~ %s",MyVehicle[i][MyVehOwner]);
- GameTextForPlayer(playerid,string,2000,3);
- if(MyVehicle[i][MyVehLock] == 1 && !IsPlayerAdmin(playerid))
- {SetPlayerPos(playerid,PEnterPos[0][playerid],PEnterPos[1][playerid],PEnterPos[2][playerid]);}
- }
- if(MyVehicle[i][MyVehFsale] > 0)
- {
- format(string, sizeof(string), "~y~~h~~h~%s~n~~y~~h~PRODAJE SE:~y~ %d$",VehNames[GetVehicleModel(vehicleid) - 400],MyVehicle[i][MyVehFsale]);
- GameTextForPlayer(playerid,string,2000,3);
- EnCV[playerid] = i;
- if(!IsPlayerAdmin(playerid)){SetPlayerPos(playerid,PEnterPos[0][playerid],PEnterPos[1][playerid],PEnterPos[2][playerid]);}
- return 1;
- }
- }
- if(vehicleid == ShopVeh1[0])
- {SetPlayerPos(playerid,PEnterPos[0][playerid],PEnterPos[1][playerid],PEnterPos[2][playerid]);
- new cijena;
- for(new x; x<29;x++){if(vCars[x][0] == GetVehicleModel(ShopVeh1[0]))cijena = vCars[x][1];}
- format(string, sizeof(string), "~y~~h~~h~%s~n~~y~~h~PRODAJE SE:~y~ %d$",VehNames[GetVehicleModel(ShopVeh1[0]) - 400],cijena);
- GameTextForPlayer(playerid,string,2000,5);}
- if(vehicleid == ShopVeh2[0])
- {SetPlayerPos(playerid,PEnterPos[0][playerid],PEnterPos[1][playerid],PEnterPos[2][playerid]);
- new cijena;
- for(new x; x<10;x++){if(vBikes[x][0] == GetVehicleModel(ShopVeh2[0]))cijena = vBikes[x][1];}
- format(string, sizeof(string), "~y~~h~~h~%s~n~~y~~h~PRODAJE SE:~y~ %d$",VehNames[GetVehicleModel(ShopVeh2[0]) - 400],cijena);
- GameTextForPlayer(playerid,string,2000,5);}
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- if(ConvertVehIDtoDYID(vehicleid) != -1)
- {
- ChangeVehicleColor(vehicleid, MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehCol][0], MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehCol][1]);
- SetVehiclePos(MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehID], MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehPos][0],MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehPos][1],MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehPos][2]);
- SetVehicleZAngle(MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehID], MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehPos][3]);
- }
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- if(ConvertVehIDtoDYID(vehicleid) != -1)
- {
- MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehCol][0] = color1;
- MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehCol][1] = color2;
- UpdateMyVehSystem(ConvertVehIDtoDYID(vehicleid));
- }
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- ResetVehButton(playerid);
- return 1;
- }
- stock Ime(playerid)
- {
- new ime[MAX_PLAYER_NAME];
- GetPlayerName(playerid, ime, MAX_PLAYER_NAME);
- return ime;
- }
- //==========VOZILA := Vozila OWNERSHIP==========================================
- stock CVozilaTextDraw()
- {
- for(new playerid = 0; playerid < MAX_PLAYERS; playerid ++)
- {CarShopTextDraw[playerid] = TextDrawCreate(295.500000,310.000000,"~y~Ime~n~~n~~h~~h~~b~Cijena:------~n~~n~~h~~h~~y~< ~g~dalje ~h~~h~~y~>");
- TextDrawAlignment(CarShopTextDraw[playerid],0);
- TextDrawBackgroundColor(CarShopTextDraw[playerid],0x000000ff);
- TextDrawFont(CarShopTextDraw[playerid],1);
- TextDrawLetterSize(CarShopTextDraw[playerid],0.499999,1.000000);
- TextDrawColor(CarShopTextDraw[playerid],0xF5DEB3AA);
- TextDrawSetOutline(CarShopTextDraw[playerid],1);
- TextDrawSetProportional(CarShopTextDraw[playerid],1);
- TextDrawSetShadow(CarShopTextDraw[playerid],1);}
- }
- stock HVozilaTextDraw(playerid)
- {TextDrawHideForPlayer(playerid,CarShopTextDraw[playerid]);}
- stock SVozilaTextDraw(playerid)
- {TextDrawShowForPlayer(playerid,CarShopTextDraw[playerid]);}
- stock DVozilaTextDraw()
- {for(new playerid = 0; playerid < MAX_PLAYERS; playerid ++)
- {TextDrawDestroy(CarShopTextDraw[playerid]);}}
- stock ResetVehButton(playerid)
- {
- if(IsShoping[playerid] > 0)
- {
- new Keys, ud, lr;
- GetPlayerKeys(playerid, Keys, ud, lr);
- if(lr > 0) //desno
- {VehButtonSet[playerid][0] ++;
- VehShopChanger(playerid);}
- else if(lr < 0) //lijevo
- {VehButtonSet[playerid][1] ++;
- VehShopChanger(playerid);}
- else if(Keys & KEY_FIRE) //ctrl
- {VehButtonSet[playerid][2]++;
- VehShopChanger(playerid);}
- else if(Keys & KEY_SECONDARY_ATTACK) //enter
- {VehButtonSet[playerid][3]++;
- VehShopChanger(playerid);}
- else
- {VehButtonSet[playerid][0] = 0;
- VehButtonSet[playerid][1] = 0;
- VehButtonSet[playerid][2] = 0;
- VehButtonSet[playerid][3] = 0;
- VehShopChanger(playerid);}
- }
- return 0;
- }
- stock VehShopChanger(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- if(IsShoping[playerid] == 1)
- {
- new string[128],pa = 0;
- new ime[24];
- GetPlayerName(playerid, ime, sizeof(ime));
- if(VehButtonSet[playerid][0] == 1) // desno
- {ShopVeh1[1]++;
- if(ShopVeh1[1] > 28) {ShopVeh1[1] = 0;}pa = 1;}
- else if(VehButtonSet[playerid][1] == 1) //lijevo
- {ShopVeh1[1]--;
- if (ShopVeh1[1] < 0) {ShopVeh1[1] = 28;}pa = 1;}
- else if(VehButtonSet[playerid][3] == 1) //enter
- {
- if(AllMyCars(playerid) < MAX_BUYED_VEHS)
- {
- if(GetPlayerMoney(playerid) >= vCars[ShopVeh1[1]][1])
- {
- MakeXDCarFnc(playerid,0,vCars[ShopVeh1[1]][0],554.1245,-1289.0503,17.0850,358.8581,ShopVeh1[2],ShopVeh1[3],ime);
- TogglePlayerControllable(playerid, 1);
- IsShoping[playerid] = 0;
- HVozilaTextDraw(playerid);
- SetCameraBehindPlayer(playerid);
- }else{format(string,sizeof(string),"Nemate dovoljno novca!Ovaj auto kosta %d$",vCars[ShopVeh1[1]][1]);
- SCM(playerid,COLOR_LIGHTRED,string);}
- }else{SCM(playerid,COLOR_LIGHTRED,"Vec imas sve aute!");}
- }
- else if (VehButtonSet[playerid][2] == 1)
- {TogglePlayerControllable(playerid, 1);
- SCM(playerid, COLOR_LIGHTBLUE, "Odustao si od kupnje novog auta!");
- IsShoping[playerid] = 0;
- HVozilaTextDraw(playerid);
- SetCameraBehindPlayer(playerid);
- }
- if(pa > 0){
- DestroyVehicle(ShopVeh1[0]);
- ShopVeh1[0] = CreateVehicle(vCars[ShopVeh1[1]][0], 1291.2528,-1874.5751,13.6552,0.1507, ShopVeh1[2],ShopVeh1[3], 30000);
- format(string,sizeof(string),"~w~%s~n~~n~~h~~h~~b~Cijena: %d~n~~n~~h~~h~~y~< ~g~dalje ~h~~h~~y~>",VehNames[GetVehicleModel(ShopVeh1[0]) - 400],vCars[ShopVeh1[1]][1]);
- TextDrawSetString(CarShopTextDraw[playerid],string);pa = 0;}
- }
- else if(IsShoping[playerid] == 2)
- {
- new string[128],pa = 0;
- new ime[24];
- GetPlayerName(playerid, ime, sizeof(ime));
- if(VehButtonSet[playerid][0] == 1) // desno
- {ShopVeh2[1]++;
- if(ShopVeh2[1] > 9) {ShopVeh2[1] = 0;}pa = 1;}
- else if(VehButtonSet[playerid][1] == 1) //lijevo
- {ShopVeh2[1]--;
- if (ShopVeh2[1] < 0) {ShopVeh2[1] = 28;}pa = 1;}
- else if(VehButtonSet[playerid][3] == 1) //enter
- {
- if(AllMyBikes(playerid) < MAX_BUYED_VEHS)
- {
- if(GetPlayerMoney(playerid) >= vBikes[ShopVeh2[1]][1])
- {
- MakeXDCarFnc(playerid,1,vBikes[ShopVeh2[1]][0],558.3043,-1289.3231,17.0846,357.3856,ShopVeh2[2],ShopVeh2[3],ime);
- TogglePlayerControllable(playerid, 1);
- IsShoping[playerid] = 0;
- HVozilaTextDraw(playerid);
- SetCameraBehindPlayer(playerid);
- }else{format(string,sizeof(string),"Nemate dovoljno novca!Ovaj motor kosta %d$",vBikes[ShopVeh1[1]][1]);
- SCM(playerid,COLOR_LIGHTRED,string);}
- }else{SCM(playerid,COLOR_LIGHTRED,"Vec imas sve motore");}
- }
- else if (VehButtonSet[playerid][2] == 1)
- {TogglePlayerControllable(playerid, 1);
- SCM(playerid, COLOR_LIGHTBLUE, "Odustao si od kupnje novog motora!");
- IsShoping[playerid] = 0;
- HVozilaTextDraw(playerid);
- SetCameraBehindPlayer(playerid);
- }
- if(pa > 0){
- DestroyVehicle(ShopVeh2[0]);
- ShopVeh2[0] = CreateVehicle(vBikes[ShopVeh2[1]][0], 1300.3483,-1875.6475,13.1616,357.31836, ShopVeh2[2],ShopVeh2[3], 30000);
- format(string,sizeof(string),"~w~%s~n~~n~~h~~h~~b~Cijena: %d~n~~n~~h~~h~~y~< ~g~dalje ~h~~h~~y~>",VehNames[GetVehicleModel(ShopVeh2[0]) - 400],vBikes[ShopVeh2[1]][1]);
- TextDrawSetString(CarShopTextDraw[playerid],string);pa = 0;}
- }
- /*
- In here put for Boats and AirPlanes!!!!
- */
- }
- return 1;
- }
- //==========MY VEH FUNCTIONS := Vozila OWNERSHIP================================
- //Player KeySet
- stock ConvertVehIDtoDYID(VehID)
- {
- for(new dy; dy < sizeof(MyVehicle);dy++)
- {
- if(MyVehicle[dy][MyVehSlot] == 1)
- {
- if(VehID == MyVehicle[dy][MyVehID]) return dy;
- }
- }
- return -1;
- }
- stock PlayerOwnedVehID(playerid,vehicleid)
- {
- new ime[MAX_PLAYER_NAME];
- GetPlayerName(playerid,ime,sizeof(ime));
- for(new i = 0; i < sizeof(MyVehicle); i++)
- {
- if(MyVehicle[i][MyVehSlot] == 1 && MyVehicle[i][MyVehID] == vehicleid)
- {
- if (strmatch(MyVehicle[i][MyVehOwner], ime))return i;
- }
- }
- return -1;
- }
- stock AllMyBikes(playerid)//bike
- {
- new ime[MAX_PLAYER_NAME];
- GetPlayerName(playerid,ime,sizeof(ime));
- if(IsPlayerConnected(playerid))
- {
- new i, x;
- while (i < sizeof(MyVehicle))
- {
- if(MyVehicle[i][MyVehSlot] == 1)
- {
- if(MyVehicle[i][MyVehBike] != -1)
- {
- if (strmatch(MyVehicle[i][MyVehOwner], ime)) x++;
- }
- }
- i++;
- }
- return x;
- }
- return -1;
- }
- stock GetMyBikeMID(playerid,ID = 0)//bike
- {
- new ime[MAX_PLAYER_NAME];
- GetPlayerName(playerid,ime,sizeof(ime));
- new x = 0;
- for (new i; i < sizeof(MyVehicle);i++)
- {
- if(MyVehicle[i][MyVehSlot] == 1)
- {
- if(MyVehicle[i][MyVehBike] != -1)
- {
- if (strmatch(MyVehicle[i][MyVehOwner], ime))
- { x++;
- if(x >= ID )
- {return i;}
- // return i;
- }
- }
- }
- }
- return -1;
- }
- stock AllMyCars(playerid)//car
- {
- new ime[MAX_PLAYER_NAME];
- GetPlayerName(playerid,ime,sizeof(ime));
- if(IsPlayerConnected(playerid))
- {
- new i, x;
- while (i < sizeof(MyVehicle))
- {
- if(MyVehicle[i][MyVehSlot] == 1)
- {
- if(MyVehicle[i][MyVehCar] != -1)
- {
- if (strmatch(MyVehicle[i][MyVehOwner], ime)) x++;
- }
- }
- i++;
- }
- return x;
- }
- return -1;
- }
- stock GetMyCarMID(playerid,ID = 0)//car
- {
- new ime[MAX_PLAYER_NAME];
- GetPlayerName(playerid,ime,sizeof(ime));
- new x = 0;
- for (new i; i < sizeof(MyVehicle);i++)
- {
- if(MyVehicle[i][MyVehSlot] == 1)
- {
- if(MyVehicle[i][MyVehCar] != -1)
- {
- if (strmatch(MyVehicle[i][MyVehOwner], ime))
- { x++;
- if(x >= ID )
- {return i;}
- // return i;
- }
- }
- }
- }
- return -1;
- }
- stock AllMyBoats(playerid)//boat
- {
- new ime[MAX_PLAYER_NAME];
- GetPlayerName(playerid,ime,sizeof(ime));
- if(IsPlayerConnected(playerid))
- {
- new i, x;
- while (i < sizeof(MyVehicle))
- {
- if(MyVehicle[i][MyVehSlot] == 1)
- {
- if(MyVehicle[i][MyVehBoat] != -1)
- {
- if (strmatch(MyVehicle[i][MyVehOwner], ime)) x++;
- }
- }
- i++;
- }
- return x;
- }
- return -1;
- }
- stock GetMyBoatMID(playerid,ID = 0)//boat
- {
- new ime[MAX_PLAYER_NAME];
- GetPlayerName(playerid,ime,sizeof(ime));
- new x = 0;
- for (new i; i < sizeof(MyVehicle);i++)
- {
- if(MyVehicle[i][MyVehSlot] == 1)
- {
- if(MyVehicle[i][MyVehBoat] != -1)
- {
- if (strmatch(MyVehicle[i][MyVehOwner], ime))
- { x++;
- if(x >= ID )
- {return i;}
- // return i;
- }
- }
- }
- }
- return -1;
- }
- stock AllMyAirs(playerid)//air
- {
- new ime[MAX_PLAYER_NAME];
- GetPlayerName(playerid,ime,sizeof(ime));
- if(IsPlayerConnected(playerid))
- {
- new i, x;
- while (i < sizeof(MyVehicle))
- {
- if(MyVehicle[i][MyVehSlot] == 1)
- {
- if(MyVehicle[i][MyVehPlane] != -1)
- {
- if (strmatch(MyVehicle[i][MyVehOwner], ime)) x++;
- }
- }
- i++;
- }
- return x;
- }
- return -1;
- }
- stock GetMyAirMID(playerid,ID = 0)//air
- {
- new ime[MAX_PLAYER_NAME];
- GetPlayerName(playerid,ime,sizeof(ime));
- new x = 0;
- for (new i; i < sizeof(MyVehicle);i++)
- {
- if(MyVehicle[i][MyVehSlot] == 1)
- {
- if(MyVehicle[i][MyVehPlane] != -1)
- {
- if (strmatch(MyVehicle[i][MyVehOwner], ime))
- { x++;
- if(x >= ID )
- {return i;}
- // return i;
- }
- }
- }
- }
- return -1;
- }
- stock MyCarID(playerid)
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- for(new i = 0; i < sizeof(MyVehicle); i++)
- {
- if(GetPlayerVehicleID(playerid) == MyVehicle[i][MyVehID])return i;
- }
- }
- return -1;
- }
- //fnc
- stock strmatch(const String1[], const String2[])
- {
- if ((strcmp(String1, String2, true, strlen(String2)) == 0) && (strlen(String2) == strlen(String1)))
- {return true;}
- else
- {return false;}
- }
- stock Float:GetDisBetweenPlayerAndCar(p1ayerid,carid)
- {
- new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
- if(!IsPlayerConnected(p1ayerid))
- {
- return -1.00;
- }
- GetPlayerPos(p1ayerid,x1,y1,z1);
- GetVehiclePos(carid,x2,y2,z2);
- return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
- }
- stock GetClosestVehicleToPlayer(playerid)
- {
- new x,Float:dis,Float:dis2,car;
- car = 0;
- dis = 99999.99;
- for ( x = 0; x < MAX_VEHICLES; x++ )
- {
- dis2 = GetDisBetweenPlayerAndCar(playerid,x);
- if(dis2 < dis && dis2 < 10.0)
- {
- dis = dis2;
- car = x;
- }
- }
- return car;
- }
- stock VehPriceFromModel(Model)
- {
- for(new i = 0; i < 29; i++)
- {
- if(vCars[i][0] == Model) return i;
- }
- return 0;
- }
- //Veh Functions
- stock MakeXDCarFnc(playerid,X_THREAD,Model,Float:x,Float:y,Float:z,Float:a,col1,col2,name[])//THREAD-0=car=bike,2=boat,3=air
- {
- for(new i = 0; i < sizeof(MyVehicle); i++ )
- {
- if(MyVehicle[i][MyVehSlot] == 0)
- {
- MyVehicle[i][MyVehModel] = Model;
- MyVehicle[i][MyVehPos][0]= x;
- MyVehicle[i][MyVehPos][1] = y;
- MyVehicle[i][MyVehPos][2] = z;
- MyVehicle[i][MyVehPos][3] = a;
- MyVehicle[i][MyVehCol][0] = col1;
- MyVehicle[i][MyVehCol][1] = col2;
- MyVehicle[i][MyVehAlarm] = 0;
- MyVehicle[i][MyVehLock] = 0;
- MyVehicle[i][MyVehCar] = -1;
- MyVehicle[i][MyVehPlane] = -1;
- MyVehicle[i][MyVehBoat] = -1;
- MyVehicle[i][MyVehBike] = -1;
- strmid(MyVehicle[i][MyVehOwner], name, 0, strlen(name), 32);
- MyVehicle[i][MyVehID] = CreateVehicle(
- MyVehicle[i][MyVehModel],
- MyVehicle[i][MyVehPos][0],
- MyVehicle[i][MyVehPos][1],
- MyVehicle[i][MyVehPos][2],
- MyVehicle[i][MyVehPos][3],
- MyVehicle[i][MyVehCol][0],
- MyVehicle[i][MyVehCol][1],
- 30000);
- switch(X_THREAD)
- {
- case 0:// osobni auto
- {
- JBC_GivePlayerMoney(playerid, -vCars[ShopVeh1[1]][1]);
- MyVehicle[i][MyVehCar] = 1;
- MyVehicle[i][MyVehSlot] = 1;
- SCM(playerid, COLOR_GREEN, "Kupio si auto (spawnato je na mjestu Grotti),koristite /gps!!");
- }
- case 1://bike
- {
- JBC_GivePlayerMoney(playerid, -vBikes[ShopVeh2[1]][1]);
- MyVehicle[i][MyVehBike] = 1;
- MyVehicle[i][MyVehSlot] = 1;
- SCM(playerid, COLOR_GREEN, "Kupio si motor(spawnan je na mjestu Grotti),koristite /gps!!");
- }
- case 2:// boat
- {
- //take money
- MyVehicle[i][MyVehBoat] = 1;
- MyVehicle[i][MyVehSlot] = 1;
- SCM(playerid, COLOR_GREEN, "Kupio si brod!!");
- }
- case 3:// air
- {
- //take money
- MyVehicle[i][MyVehPlane] = 1;
- MyVehicle[i][MyVehSlot] = 1;
- SCM(playerid, COLOR_GREEN, "Kupio si avion!!");
- }
- }
- UpdateMyVehSystem(i);
- printf("MYVC %d,THR %d",i,X_THREAD);
- return i;
- }
- }
- return 1;
- }
- stock ParkMyVehFnc(playerid)
- {
- // new str[64];
- new vozilo = GetPlayerVehicleID(playerid);
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- if(PlayerOwnedVehID(playerid,vozilo) != -1)
- {
- new Float:x,Float:y,Float:z;
- new Float:a;
- GetVehiclePos(vozilo, x, y, z);
- GetVehicleZAngle(vozilo, a);
- MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPos][0] = x;
- MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPos][1] = y;
- MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPos][2] = z;
- MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPos][3] = a;
- JBC_SetVehiclePos(vozilo, MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPos][0], MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPos][1],MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPos][2]);
- SetVehicleZAngle(vozilo, MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPos][3]);
- if(MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehCar] != -1)SCM(playerid, COLOR_GREEN, "Parkirao si svoj auto!");
- if(MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehBike] != -1)SCM(playerid, COLOR_GREEN, "Parkirao si svoj motor!");
- if(MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehBoat] != -1)SCM(playerid, COLOR_GREEN, "Parkirao si svoj brod!");
- if(MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPlane] != -1)SCM(playerid, COLOR_GREEN, "Parkirao si svoj avion!");
- UpdateMyVehSystem(PlayerOwnedVehID(playerid,vozilo));
- return 1;
- }else{SCM(playerid, COLOR_LIGHTRED,"Nisi u svom vozilu!");}
- }else{SCM(playerid, COLOR_LIGHTRED,"Moras biti u vozilu!");}
- return 0;
- }
- stock SellMyVehFnc(playerid)
- {
- //if(IsPlayerInRangeOfPoint(playerid,15.0,1314.5691,-1859.4077,13.7969)){
- new ime[MAX_PLAYER_NAME], TCID;
- new vozilo = GetPlayerVehicleID(playerid);
- GetPlayerName(playerid, ime, sizeof(ime));
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- if(PlayerOwnedVehID(playerid,vozilo) != -1)
- {
- TCID =PlayerOwnedVehID(playerid,vozilo);
- MyVehicle[TCID][MyVehSlot] = 0;
- MyVehicle[TCID][MyVehCar] = -1;
- MyVehicle[TCID][MyVehBoat] = -1;
- MyVehicle[TCID][MyVehBike] = -1;
- MyVehicle[TCID][MyVehPlane] = -1;
- strmid(MyVehicle[TCID][MyVehOwner], "Nitko", 0, strlen("Nitko"), 128);
- DestroyVehicle(vozilo);
- SCM(playerid, COLOR_GREEN, "Prodao si svoje vozilo");
- UpdateMyVehSystem(TCID);
- return 1;
- }else{SCM(playerid, COLOR_LIGHTRED,"Nisi u svom vozilu!");}
- }else{SCM(playerid, COLOR_LIGHTRED,"Moras biti u vozilu!");}
- // }else{SCM(playerid, COLOR_LIGHTRED, "You are not at delivery place!");}
- return 1;
- }
- stock LocateMyVehFnc(playerid,THREAD_V)//0=my_car,1_my_bike,2_my_boat,3_my_air
- {
- switch(THREAD_V)
- {
- case 0:// mycar
- {
- new cm = AllMyCars(playerid);
- if(cm > 0)
- {
- clx[playerid] ++;
- if(clx[playerid] > cm) {clx[playerid] = 0;}
- new Float:VPos[3];
- GetVehiclePos(MyVehicle[GetMyCarMID(playerid,clx[playerid])][MyVehID], VPos[0],VPos[1],VPos[2]);
- SetPlayerCheckpoint(playerid,VPos[0],VPos[1],VPos[2],8.0);
- if(clx[playerid] == 0){DisablePlayerCheckpoint(playerid);}
- }else{SCM(playerid, COLOR_LIGHTRED, "Nemas vozilo ove vrste!");}
- }
- case 1:// mybike
- {
- new cm = AllMyBikes(playerid);
- if(cm > 0)
- {
- clx[playerid] ++;
- if(clx[playerid] > cm) {clx[playerid] = 0;}
- new Float:VPos[3];
- GetVehiclePos(MyVehicle[GetMyBikeMID(playerid,clx[playerid])][MyVehID], VPos[0],VPos[1],VPos[2]);
- SetPlayerCheckpoint(playerid,VPos[0],VPos[1],VPos[2],8.0);
- if(clx[playerid] == 0){DisablePlayerCheckpoint(playerid);}
- }else{SCM(playerid, COLOR_LIGHTRED, "Nemas vozilo ove vrste!");}
- }
- case 2:// myboat
- {
- new cm = AllMyBoats(playerid);
- if(cm > 0)
- {
- clx[playerid] ++;
- if(clx[playerid] > cm) {clx[playerid] = 0;}
- new Float:VPos[3];
- GetVehiclePos(MyVehicle[GetMyBoatMID(playerid,clx[playerid])][MyVehID], VPos[0],VPos[1],VPos[2]);
- SetPlayerCheckpoint(playerid,VPos[0],VPos[1],VPos[2],8.0);
- if(clx[playerid] == 0){DisablePlayerCheckpoint(playerid);}
- }else{SCM(playerid, COLOR_LIGHTRED, "Nemas vozilo ove vrste!");}
- }
- case 3:// myair
- {
- new cm = AllMyAirs(playerid);
- if(cm > 0)
- {
- clx[playerid] ++;
- if(clx[playerid] > cm) {clx[playerid] = 0;}
- new Float:VPos[3];
- GetVehiclePos(MyVehicle[GetMyAirMID(playerid,clx[playerid])][MyVehID], VPos[0],VPos[1],VPos[2]);
- SetPlayerCheckpoint(playerid,VPos[0],VPos[1],VPos[2],8.0);
- if(clx[playerid] == 0){DisablePlayerCheckpoint(playerid);}
- }else{SCM(playerid, COLOR_LIGHTRED, "Nemas vozilo ove vrste!");}
- }
- }
- return 0;
- }
- stock LockMyVehFnc(playerid)
- {
- new TCID,Float:CPs[3];
- TCID = GetClosestVehicleToPlayer(playerid);
- GetVehiclePos(TCID,CPs[0],CPs[1],CPs[2]);
- if(IsPlayerInRangeOfPoint(playerid,3.0,CPs[0],CPs[1],CPs[2]))
- {
- if(PlayerOwnedVehID(playerid,TCID) != -1)
- {
- if(MyVehicle[PlayerOwnedVehID(playerid,TCID)][MyVehLock] == 0)
- {
- MyVehicle[PlayerOwnedVehID(playerid,TCID)][MyVehLock] = 1;
- SCM(playerid, COLOR_LIGHTRED, "Vozilo zakljucano!");
- }
- else if(MyVehicle[PlayerOwnedVehID(playerid,TCID)][MyVehLock] == 1)
- {
- MyVehicle[PlayerOwnedVehID(playerid,TCID)][MyVehLock] = 0;
- SCM(playerid, COLOR_LIGHTGREEN, "Vozilo otkljucano!");
- }
- UpdateMyVehSystem(PlayerOwnedVehID(playerid,TCID));
- }else{SCM(playerid, COLOR_LIGHTRED, "Ovo nije tvoje vozilo!");}
- }else{SCM(playerid, COLOR_LIGHTRED, "Predaleko ste!");}
- return 0;
- }
- //Admin cmds
- stock AparkMyVeh(playerid, MyCarID)
- {
- if(IsPlayerAdmin(playerid))
- {
- new vozilo = GetPlayerVehicleID(playerid);
- new Float:x,Float:y,Float:z;
- new Float:a;
- GetVehiclePos(vozilo, x, y, z);
- GetVehicleZAngle(vozilo, a);
- MyVehicle[MyCarID][MyVehPos][0] = x;
- MyVehicle[MyCarID][MyVehPos][1] = y;
- MyVehicle[MyCarID][MyVehPos][2] = z;
- MyVehicle[MyCarID][MyVehPos][3] = a;
- JBC_SetVehiclePos(vozilo, MyVehicle[MyCarID][MyVehPos][0], MyVehicle[MyCarID][MyVehPos][1],MyVehicle[MyCarID][MyVehPos][2]);
- SetVehicleZAngle(vozilo, MyVehicle[MyCarID][MyVehPos][3]);
- SCM(playerid, COLOR_GREEN, "[ADM]Vozilo parkirano!");
- UpdateMyVehSystem(MyCarID);
- }else{SCM(playerid, COLOR_LIGHTRED, "Niste autorizirani za koristenje ove komande!");}
- return 1;
- }
- stock AsellMyVeh(playerid, MyCarID)
- {
- if(IsPlayerAdmin(playerid))
- {
- MyVehicle[MyCarID][MyVehSlot] = 0;
- MyVehicle[MyCarID][MyVehModel] = 0;
- MyVehicle[MyCarID][MyVehCar] = -1;
- MyVehicle[MyCarID][MyVehBike] = -1;
- MyVehicle[MyCarID][MyVehBoat] = -1;
- MyVehicle[MyCarID][MyVehPlane] = 1;
- strmid(MyVehicle[MyCarID][MyVehOwner], "Nitko", 0, strlen("Nitko"), 64);
- DestroyVehicle(MyVehicle[MyCarID][MyVehID]);
- SCM(playerid, COLOR_LIGHTGREEN, "[ADM] Vozilo prodano!");
- UpdateMyVehSystem(MyCarID);
- }else{SCM(playerid, COLOR_LIGHTRED, "Niste autorizirani za koristenje ove komande!");}
- return 1;
- }
- //Saving/loading system
- stock LoadMyVehSystem()
- {
- new reload[256];
- new loader[64];
- if(!dini_Exists(SaveFile))
- {
- dini_Create(SaveFile);
- }
- for(new i = 0;i<sizeof(MyVehicle);i++)
- {
- format(loader,sizeof(loader),"MyCar_%d",i);
- strmid(reload,dini_Get(SaveFile,loader),0,256,256);
- new data2[32]; //STRING
- sscanf(reload,
- "p<,>dd\
- ffff\
- ddd\
- s[64]\
- d\
- dddd\
- d",
- MyVehicle[i][MyVehSlot],MyVehicle[i][MyVehModel],
- MyVehicle[i][MyVehPos][0],MyVehicle[i][MyVehPos][1],MyVehicle[i][MyVehPos][2],MyVehicle[i][MyVehPos][3],
- MyVehicle[i][MyVehCol][0],MyVehicle[i][MyVehCol][1],MyVehicle[i][MyVehLock],
- data2, // string
- MyVehicle[i][MyVehAlarm],
- MyVehicle[i][MyVehCar],MyVehicle[i][MyVehBike],MyVehicle[i][MyVehBoat],MyVehicle[i][MyVehPlane],
- MyVehicle[i][MyVehFsale]);
- strmid(MyVehicle[i][MyVehOwner], data2, 0, strlen(data2), 64);// kraj loadanja
- if(MyVehicle[i][MyVehSlot] == 1 && (MyVehicle[i][MyVehCar] != -1 || MyVehicle[i][MyVehBike] != -1 || MyVehicle[i][MyVehBoat] != -1 || MyVehicle[i][MyVehPlane] != -1))
- {
- MyVehicle[i][MyVehID] = CreateVehicle(MyVehicle[i][MyVehModel],MyVehicle[i][MyVehPos][0],MyVehicle[i][MyVehPos][1],MyVehicle[i][MyVehPos][2],MyVehicle[i][MyVehPos][3],MyVehicle[i][MyVehCol][0],MyVehicle[i][MyVehCol][1],30000);
- }
- }
- return 1;
- }
- stock GetVehiclePrice(vehicleid)
- {
- new model = GetVehicleModel(vehicleid);
- if(model == 400) return 65000;
- else if(model == 401) return 30000;
- else if(model == 402) return 300000;
- else if(model == 403) return 90000;
- else if(model == 404) return 25000;
- else if(model == 405) return 35000;
- else if(model == 406) return 200000;
- else if(model == 408) return 80000;
- else if(model == 409) return 90000;
- else if(model == 410) return 25000;
- else if(model == 411) return 1500000;
- else if(model == 412) return 40000;
- else if(model == 413) return 30000;
- else if(model == 414) return 75000;
- else if(model == 415) return 320000;
- else if(model == 417) return 250000;
- else if(model == 418) return 23000;
- else if(model == 419) return 40000;
- else if(model == 421) return 20000;
- else if(model == 422) return 30000;
- else if(model == 423) return 100000;
- else if(model == 424) return 85000;
- else if(model == 426) return 40000;
- else if(model == 428) return 40000;
- else if(model == 429) return 275000;
- else if(model == 434) return 150000;
- else if(model == 436) return 45000;
- else if(model == 439) return 55000;
- else if(model == 443) return 100000;
- else if(model == 444) return 175000;
- else if(model == 445) return 60000;
- else if(model == 446) return 175000;
- else if(model == 451) return 400000;
- else if(model == 452) return 175000;
- else if(model == 453) return 125000;
- else if(model == 454) return 130000;
- else if(model == 455) return 80000;
- else if(model == 456) return 70000;
- else if(model == 457) return 85000;
- else if(model == 458) return 50000;
- else if(model == 459) return 60000;
- else if(model == 460) return 215000;
- else if(model == 461) return 40000;
- else if(model == 462) return 15000;
- else if(model == 463) return 35000;
- else if(model == 466) return 70000;
- else if(model == 467) return 70000;
- else if(model == 468) return 35000;
- else if(model == 469) return 175000;
- else if(model == 471) return 20000;
- else if(model == 472) return 100000;
- else if(model == 473) return 90000;
- else if(model == 474) return 65000;
- else if(model == 475) return 42500;
- else if(model == 477) return 180000;
- else if(model == 478) return 40000;
- else if(model == 479) return 75000;
- else if(model == 480) return 250000;
- else if(model == 481) return 5000;
- else if(model == 482) return 65000;
- else if(model == 483) return 70000;
- else if(model == 484) return 135000;
- else if(model == 485) return 30000;
- else if(model == 486) return 150000;
- else if(model == 487) return 200000;
- else if(model == 489) return 75000;
- else if(model == 491) return 60000;
- else if(model == 492) return 65000;
- else if(model == 493) return 200000;
- else if(model == 494) return 100000;
- else if(model == 495) return 90000;
- else if(model == 496) return 65000;
- else if(model == 498) return 90000;
- else if(model == 499) return 80000;
- else if(model == 500) return 70000;
- else if(model == 502) return 100000;
- else if(model == 503) return 100000;
- else if(model == 504) return 100000;
- else if(model == 505) return 75000;
- else if(model == 506) return 300000;
- else if(model == 507) return 65000;
- else if(model == 508) return 50000;
- else if(model == 509) return 2500;
- else if(model == 510) return 10000;
- else if(model == 511) return 215000;
- else if(model == 512) return 200000;
- else if(model == 513) return 220000;
- else if(model == 514) return 90000;
- else if(model == 515) return 90000;
- else if(model == 516) return 67500;
- else if(model == 517) return 45000;
- else if(model == 518) return 65000;
- else if(model == 519) return 300000;
- else if(model == 521) return 40000;
- else if(model == 522) return 95000;
- else if(model == 524) return 80000;
- else if(model == 526) return 65000;
- else if(model == 527) return 65000;
- else if(model == 529) return 70000;
- else if(model == 530) return 90000;
- else if(model == 531) return 40000;
- else if(model == 532) return 200000;
- else if(model == 533) return 50000;
- else if(model == 534) return 76000;
- else if(model == 535) return 80000;
- else if(model == 536) return 140000;
- else if(model == 539) return 150000;
- else if(model == 540) return 50000;
- else if(model == 541) return 285000;
- else if(model == 542) return 80000;
- else if(model == 543) return 50000;
- else if(model == 545) return 125000;
- else if(model == 546) return 70000;
- else if(model == 547) return 70000;
- else if(model == 549) return 60000;
- else if(model == 550) return 100000;
- else if(model == 551) return 80000;
- else if(model == 552) return 30000;
- else if(model == 553) return 250000;
- else if(model == 554) return 50000;
- else if(model == 555) return 50000;
- else if(model == 556) return 200000;
- else if(model == 557) return 200000;
- else if(model == 558) return 190000;
- else if(model == 559) return 310000;
- else if(model == 560) return 400000;
- else if(model == 561) return 125000;
- else if(model == 562) return 375000;
- else if(model == 563) return 200000;
- else if(model == 565) return 150000;
- else if(model == 566) return 70000;
- else if(model == 567) return 175000;
- else if(model == 568) return 50000;
- else if(model == 571) return 85000;
- else if(model == 572) return 15000;
- else if(model == 573) return 90000;
- else if(model == 575) return 80000;
- else if(model == 576) return 65000;
- else if(model == 578) return 90000;
- else if(model == 579) return 120000;
- else if(model == 580) return 60000;
- else if(model == 581) return 30000;
- else if(model == 583) return 25000;
- else if(model == 585) return 35000;
- else if(model == 586) return 20000;
- else if(model == 587) return 140000;
- else if(model == 588) return 90000;
- else if(model == 589) return 90000;
- else if(model == 592) return 350000;
- else if(model == 593) return 225000;
- else if(model == 595) return 100000;
- else if(model == 600) return 50000;
- else if(model == 602) return 75000;
- else if(model == 603) return 110000;
- else if(model == 609) return 85000;
- else return 0;
- }
- stock UpdateMyVehSystem(id)
- {
- new GSi[256];
- new place[64];
- if(!dini_Exists(SaveFile))
- {
- dini_Create(SaveFile);
- }
- format(GSi,sizeof(GSi),
- "%d,%d,\
- %f,%f,%f,%f,\
- %d,%d,%d,\
- %s,\
- %d,\
- %d,%d,%d,%d,\
- %d",
- MyVehicle[id][MyVehSlot],MyVehicle[id][MyVehModel],
- MyVehicle[id][MyVehPos][0],MyVehicle[id][MyVehPos][1],MyVehicle[id][MyVehPos][2],MyVehicle[id][MyVehPos][3],
- MyVehicle[id][MyVehCol][0],MyVehicle[id][MyVehCol][1],MyVehicle[id][MyVehLock],
- MyVehicle[id][MyVehOwner], // string
- MyVehicle[id][MyVehAlarm],
- MyVehicle[id][MyVehCar],MyVehicle[id][MyVehBike],MyVehicle[id][MyVehBoat],MyVehicle[id][MyVehPlane],
- MyVehicle[id][MyVehFsale]);
- format(place,sizeof(place),"MyCar_%d",id);
- dini_Set(SaveFile,place,GSi);
- printf("ID %d SET",id);
- if(MyVehicle[id][MyVehSlot] == 0)
- {
- format(GSi,sizeof(GSi),
- "%d,%d,\
- %f,%f,%f,%f,\
- %d,%d,%d,\
- %s,\
- %d,\
- %d,%d,%d,%d,\
- %d",
- MyVehicle[id][MyVehSlot],MyVehicle[id][MyVehModel],
- MyVehicle[id][MyVehPos][0],MyVehicle[id][MyVehPos][1],MyVehicle[id][MyVehPos][2],MyVehicle[id][MyVehPos][3],
- MyVehicle[id][MyVehCol][0],MyVehicle[id][MyVehCol][1],MyVehicle[id][MyVehLock],
- MyVehicle[id][MyVehOwner], // string
- MyVehicle[id][MyVehAlarm],
- MyVehicle[id][MyVehCar],MyVehicle[id][MyVehBike],MyVehicle[id][MyVehBoat],MyVehicle[id][MyVehPlane],
- MyVehicle[id][MyVehFsale]);
- format(place,sizeof(place),"MyCar_%d",id);
- dini_Unset(SaveFile ,place);
- printf("ID %d UNSET",id);
- }
- return 1;
- }
- //======================= COMMANDS =============================================
- CMD:carshop(playerid,params[])
- {
- if(IsShoping[playerid] == 0)
- {
- if(GetPlayerState(playerid) != 2)
- {
- if(IsPlayerInRangeOfPoint(playerid,7.00,1292.0682,-1870.6963,13.3741))
- {
- new string[128];
- TogglePlayerControllable(playerid, 0);
- IsShoping[playerid] = 1;
- SCM(playerid, COLOR_LIGHTBLUE, " Koristi tipke lijevo i desno za listanje vozila!");
- SCM(playerid, COLOR_LIGHTBLUE, " Za kupnju pritisni enter (F)");
- SCM(playerid, COLOR_LIGHTBLUE, " Za prekid pritisni CTRL");
- SVozilaTextDraw(playerid);
- format(string,sizeof(string),"~w~%s~n~~n~~h~~h~~b~Cijena: %d~n~~n~~h~~h~~y~< ~g~dalje ~h~~h~~y~>",VehNames[vCars[ShopVeh1[1]][0] -400],vCars[ShopVeh1[1]][1]);
- TextDrawSetString(CarShopTextDraw[playerid],string);
- }else{SCM(playerid, COLOR_LIGHTRED, " Nisi u salonu!");}
- }else{SCM(playerid, COLOR_LIGHTRED, " Nemozes kupovati iz vozila!");}
- }else{SCM(playerid, COLOR_LIGHTRED, " Vec listas katalog!");}
- return 1;
- }
- CMD:carshopcol(playerid,params[])
- {
- if(IsPlayerInRangeOfPoint(playerid,7.00,1292.0682,-1870.6963,13.3741))
- {
- new boja1,boja2;
- if (sscanf(params, "dd",boja1,boja2)) SCM(playerid, COLOR_WHITE, "Koristenje: /carshopcol [boja 1] [boja2 2]");
- else if(boja1 < 0 || boja1 > 126) SCM(playerid, COLOR_WHITE, "Boja nesmije biti ispod 0 i iznad 126!!");
- else if(boja2 < 0 || boja2 > 126) SCM(playerid, COLOR_WHITE, "Boja nesmije biti ispod 0 i iznad 126!!");
- else
- {
- ShopVeh1[2] = boja1;
- ShopVeh1[3] = boja2;
- ChangeVehicleColor(ShopVeh1[0],boja1,boja2);
- SCM(playerid, COLOR_LIGHTBLUE, "*Promjenio si boju kataloga!");
- }
- }else{SCM(playerid, COLOR_LIGHTRED, " Nisi u salonu!");}
- return 1;
- }
- CMD:bikeshop(playerid,params[])
- {
- if(IsShoping[playerid] == 0)
- {
- if(GetPlayerState(playerid) != 2)
- {
- if(IsPlayerInRangeOfPoint(playerid,7.00,1298.7928,-1870.8855,13.5469))
- {
- new string[128];
- TogglePlayerControllable(playerid, 0);
- IsShoping[playerid] = 2;
- SCM(playerid, COLOR_LIGHTBLUE, " Koristi tipke lijevo i desno za listanje vozila!");
- SCM(playerid, COLOR_LIGHTBLUE, " Za kupnju pritisni enter (F)");
- SCM(playerid, COLOR_LIGHTBLUE, " Za prekid pritisni CTRL");
- SVozilaTextDraw(playerid);
- format(string,sizeof(string),"~w~%s~n~~n~~h~~h~~b~Cijena: %d~n~~n~~h~~h~~y~< ~g~dalje ~h~~h~~y~>",VehNames[vBikes[ShopVeh2[1]][0] -400],vBikes[ShopVeh2[1]][1]);
- TextDrawSetString(CarShopTextDraw[playerid],string);
- }else{SCM(playerid, COLOR_LIGHTRED, " Nisi u salonu!");}
- }else{SCM(playerid, COLOR_LIGHTRED, " Nemozes kupovati iz vozila!");}
- }else{SCM(playerid, COLOR_LIGHTRED, " Vec listas katalog!");}
- return 1;
- }
- CMD:bikeshopcol(playerid,params[])
- {
- if(IsPlayerInRangeOfPoint(playerid,7.00,1298.7928,-1870.8855,13.5469))
- {
- new boja1,boja2;
- if (sscanf(params, "dd",boja1,boja2)) SCM(playerid, COLOR_WHITE, "Koristenje: /bikeshopcol [boja 1] [boja 2]");
- else if(boja1 < 0 || boja1 > 126) SCM(playerid, COLOR_WHITE, "Boja nesmije biti ispod 0 i iznad 126!!");
- else if(boja2 < 0 || boja2 > 126) SCM(playerid, COLOR_WHITE, "Boja nesmije biti ispod 0 i iznad 126!!");
- else
- {
- ShopVeh2[2] = boja1;
- ShopVeh2[3] = boja2;
- ChangeVehicleColor(ShopVeh2[0],boja1,boja2);
- SCM(playerid, COLOR_LIGHTBLUE, "*Promjenio si boju kataloga!");
- }
- }else{SCM(playerid, COLOR_LIGHTRED, " Nisi u salonu!");}
- return 1;
- }
- CMD:buyveh(playerid,params[])
- {
- if(EnCV[playerid] != -1)
- {
- if(MyVehicle[EnCV[playerid]][MyVehFsale] > 0)
- {
- if(MyVehicle[EnCV[playerid]][MyVehFsale] <= GetPlayerMoney(playerid))
- {
- new Float:CPs[3];
- GetVehiclePos(MyVehicle[EnCV[playerid]][MyVehID],CPs[0],CPs[1],CPs[2]);
- if(IsPlayerInRangeOfPoint(playerid,4.2,CPs[0],CPs[1],CPs[2]))
- {
- if(MyVehicle[EnCV[playerid]][MyVehCar] == 1 && AllMyCars(playerid) >= MAX_BUYED_VEHS) return SCM(playerid, COLOR_LIGHTRED, "Nemozes kupiti vise vozila ove vrste!");
- if(MyVehicle[EnCV[playerid]][MyVehBike] == 1 && AllMyBikes(playerid) >= MAX_BUYED_VEHS) return SCM(playerid, COLOR_LIGHTRED, "Nemozes kupiti vise vozila ove vrste!");
- if(MyVehicle[EnCV[playerid]][MyVehBoat] == 1 && AllMyBoats(playerid) >= MAX_BUYED_VEHS) return SCM(playerid, COLOR_LIGHTRED, "Nemozes kupiti vise vozila ove vrste!");
- if(MyVehicle[EnCV[playerid]][MyVehPlane] == 1 && AllMyAirs(playerid) >= MAX_BUYED_VEHS) return SCM(playerid, COLOR_LIGHTRED, "Nemozes kupiti vise vozila ove vrste!");
- new ime[MAX_PLAYER_NAME];
- GetPlayerName(playerid,ime,sizeof(ime));
- JBC_GivePlayerMoney(playerid, -MyVehicle[EnCV[playerid]][MyVehFsale]);
- strmid(MyVehicle[EnCV[playerid]][MyVehOwner], ime, 0, strlen(ime), 64);
- MyVehicle[EnCV[playerid]][MyVehFsale] = 0;
- UpdateMyVehSystem(EnCV[playerid]);
- EnCV[playerid] = -1;
- SCM(playerid, COLOR_GREEN, "You bought vehicle!");
- }else{SCM(playerid, COLOR_LIGHTRED, "Nisi pokraj vozila kojeg zelis kupiti!");}
- }else{SCM(playerid, COLOR_LIGHTRED, "Nemas dovoljno novca!");}
- }else{SCM(playerid, COLOR_LIGHTRED, "Ovo vozilo nije na prodaju!");}
- }else{SCM(playerid, COLOR_LIGHTRED, "Nisi pogledao niti jedan auto za kupnju!");}
- return 1;
- }
- CMD:sellveh(playerid, params[])
- {
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- new vozilo = GetPlayerVehicleID(playerid);
- if(PlayerOwnedVehID(playerid,vozilo) != -1)
- {
- new Float:x,Float:y,Float:z;
- new Float:a;
- {
- if(!IsPlayerInRangeOfPoint(playerid, 40,1638.5553,-1095.3656,23.9063))
- {
- SendClientMessage(playerid, COLOR_GREY, "Niste kod auto pijace");
- return 1;
- }
- GetVehiclePos(vozilo, x, y, z);
- GetVehicleZAngle(vozilo, a);
- strmid(MyVehicle[MyCarID(playerid)][MyVehOwner], "Nitko", 0, strlen("Nitko"), 24);
- new carsellprice = GetVehiclePrice(vozilo) / 4 * 3;
- MyVehicle[MyCarID(playerid)][MyVehFsale] = carsellprice;
- JBC_GivePlayerMoney(playerid,carsellprice);
- MyVehicle[MyCarID(playerid)][MyVehPos][0] = x;
- MyVehicle[MyCarID(playerid)][MyVehPos][1] = y;
- MyVehicle[MyCarID(playerid)][MyVehPos][2] = z;
- MyVehicle[MyCarID(playerid)][MyVehPos][3] = a;
- SetVehiclePos(vozilo, MyVehicle[MyCarID(playerid)][MyVehPos][0], MyVehicle[MyCarID(playerid)][MyVehPos][1],MyVehicle[MyCarID(playerid)][MyVehPos][2]);
- SetVehicleZAngle(vozilo, MyVehicle[MyCarID(playerid)][MyVehPos][3]);
- RemovePlayerFromVehicle(playerid);
- UpdateMyVehSystem(MyCarID(playerid));
- SCM(playerid, COLOR_GREEN, "Prodao si svoje vozilo!");
- }
- }else{SCM(playerid, COLOR_LIGHTRED, "Nemas dokumente ovog vozila!");}
- }else{SCM(playerid, COLOR_LIGHTRED, "Moras biti u vozilu!");}
- return 1;
- }
- CMD:mycar(playerid,params[])
- {
- new opcija[24],ime[32];
- if (sscanf(params, "s[24]", opcija)) SCM(playerid, COLOR_WHITE, "Koristenje: /mycar [opcija]"),SCM(playerid, COLOR_WHITE, "opcija: park, lock, locate");
- else
- {
- GetPlayerName(playerid, ime,sizeof(ime));
- if(strmatch("park",opcija))
- {
- ParkMyVehFnc(playerid);
- return 1;
- }
- if(strmatch("lock",opcija))
- {
- LockMyVehFnc(playerid);
- return 1;
- }
- if(strmatch("locate",opcija))
- {
- LocateMyVehFnc(playerid,0);
- return 1;
- }
- }
- return 1;
- }
- CMD:mybike(playerid,params[])
- {
- new opcija[24],ime[32];
- if (sscanf(params, "s[24]", opcija)) SCM(playerid, COLOR_WHITE, "Koristenje: /mybike [opcija]"),SCM(playerid, COLOR_WHITE, "opcija: park, lock, locate");
- else
- {
- GetPlayerName(playerid, ime,sizeof(ime));
- if(strmatch("park",opcija))
- {
- ParkMyVehFnc(playerid);
- return 1;
- }
- if(strmatch("lock",opcija))
- {
- LockMyVehFnc(playerid);
- return 1;
- }
- if(strmatch("locate",opcija))
- {
- LocateMyVehFnc(playerid,1);
- return 1;
- }
- }
- return 1;
- }
- CMD:myboat(playerid,params[])
- {
- new opcija[24],ime[32];
- if (sscanf(params, "s[24]", opcija)) SCM(playerid, COLOR_WHITE, "Koristenje: /myboat [opcija]"),SCM(playerid, COLOR_WHITE, "opcija: park, lock, sell, locate");
- else
- {
- GetPlayerName(playerid, ime,sizeof(ime));
- if(strmatch("park",opcija))
- {
- ParkMyVehFnc(playerid);
- return 1;
- }
- if(strmatch("lock",opcija))
- {
- LockMyVehFnc(playerid);
- return 1;
- }
- if(strmatch("sell",opcija))
- {
- SellMyVehFnc(playerid);
- return 1;
- }
- if(strmatch("locate",opcija))
- {
- LocateMyVehFnc(playerid,2);
- return 1;
- }
- }
- return 1;
- }
- CMD:myair(playerid,params[])
- {
- new opcija[24],ime[32];
- if (sscanf(params, "s[24]", opcija)) SCM(playerid, COLOR_WHITE, "Koristenje: /myair [opcija]"),SCM(playerid, COLOR_WHITE, "opcija: park, lock, sell, locate");
- else
- {
- GetPlayerName(playerid, ime,sizeof(ime));
- if(strmatch("park",opcija))
- {
- ParkMyVehFnc(playerid);
- return 1;
- }
- if(strmatch("lock",opcija))
- {
- LockMyVehFnc(playerid);
- return 1;
- }
- if(strmatch("sell",opcija))
- {
- SellMyVehFnc(playerid);
- return 1;
- }
- if(strmatch("locate",opcija))
- {
- LocateMyVehFnc(playerid,3);
- return 1;
- }
- }
- return 1;
- }
- CMD:apark(playerid,params[])
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- AparkMyVeh(playerid, MyCarID(playerid));
- }
- return 1;
- }
- CMD:asellveh(playerid,params[])
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- AsellMyVeh(playerid, MyCarID(playerid));
- }
- return 1;
- }
- CMD:makesaleveh(playerid, params[])
- {
- new vrsta,model,boja1,boja2,cijena;
- if (sscanf(params, "ddddd",vrsta,model,boja1,boja2,cijena)) SCM(playerid, COLOR_WHITE, "Koristenje: /makesaleveh [vrsta] [ModelID] [boja1] [boja2] [cijena]");
- else if(vrsta < 0 || vrsta > 3) SCM(playerid, COLOR_LIGHTGREEN, "Vrste: 0-Auto,1-Motor,2-Brod,3-Avion");
- else if(model < 400 || model > 611) SCM(playerid, COLOR_WHITE, "Model vozila nemoze biti ispod 400 i preko 611!");
- else if(boja1 < 0 || boja1 > 126) SCM(playerid, COLOR_WHITE, "Boja vozila nemoze biti ispod 0 i preko 126!");
- else if(boja2 < 0 || boja2 > 126) SCM(playerid, COLOR_WHITE, "Boja vozila nemoze biti ispod 0 i preko 126!");
- else if(cijena < 1 || cijena > 99999999) SCM(playerid, COLOR_WHITE, "Cijena nemoze biti ispod 0!");
- else
- {
- if(IsPlayerAdmin(playerid))
- {
- new Float:X,Float:Y,Float:Z,Float:A, s;
- GetPlayerPos(playerid, X,Y,Z);
- s = MakeXDCarFnc(playerid,vrsta,model,X+1.5,Y+2.5,Z+2.0,A,boja1,boja2,"Nitko");//THREAD-0=car=bike,2=boat,3=air
- MyVehicle[s][MyVehFsale] = cijena;
- SCM(playerid, COLOR_LIGHTRED, "Stvorio si vozilo za prodaju!");
- printf("TYP:%d, ID:%d",vrsta,s);
- UpdateMyVehSystem(s);
- }else{SCM(playerid, COLOR_LIGHTRED, "Niste autorizirani za koristenje ove komande!");}
- }
- return 1;
- }
- CMD:vehhelp(playerid,params[])
- {
- SCM(playerid, COLOR_LIGHTBLUE, "|_____________________VEHICLE HELP____________________|");
- SCM(playerid, COLOR_LIGHTBLUE, "CMD: /carshop, /carshopcol, /bikeshop, /bikeshopcol");
- SCM(playerid, COLOR_LIGHTBLUE, "CMD: /mycar");
- SCM(playerid, COLOR_LIGHTBLUE, "CMD: /mybike");
- SCM(playerid, COLOR_LIGHTBLUE, "CMD: /myboat (Treba samo napraviti salon)");
- SCM(playerid, COLOR_LIGHTBLUE, "CMD: /myair (Treba samo napraviti salon)");
- SCM(playerid, COLOR_LIGHTBLUE, "CMD: /sellveh, /buyveh (kada pokusate uci i cijena se pokaze))");
- SCM(playerid, COLOR_LIGHTBLUE, "ADMIN: /asellveh, /apark, /makesaleveh");
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment