Skripta koju koristim: COS-iVersion-HR
Detaljan opis problema: Ovako : SKinuo sam tu skriptu, (skripta sluzi za postavljanje vozila na prodaju), i lepo sam ubacio amx i pwn file u filescriptes, i ubacio ime skripte u server.cfg i prijavio se na rcon password, i kad kucam /makesaleveh kaze da nepostoji ta komanda, kao da nemam tu skriptu, a imam..
Dio skripte: /
Neke slike/video za lakse dobivanje pomoci(neobavezno): /
Molim vas pomozite, trazim vec dve nedelje odgovor po celom internetu, samo mi to treba i mod je gotov ...
Pomozite u komentarima ! :)
mesa ti se zcmd i strcmp, uskladi ta dva
To su mi mnog odgovorili, ali neznam KAKO TO DA URADIM ?
Najbolje je da na modu koristis jedan procesor komandi i tako prilagodis sve komande istom pa se ti odluci koji ces.
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
if(!success) SCM(playerid, 0xFFFFFFFF, "Izabrali ste nepostojecu komandu, koristite /help ili /komande radi lakseg snalazenja.");
return 1;
}
stavi ovo iznad callbacka OnPlayerCommandText
I tako cu da sredim te zcmd i strcmd kako vec ?
Ne,tako ce ti pisati kada si uneo nepostojecu komandu.
Aman ja mislim da vi neshvatate sta je meni problem.
Ako vi mislite da ja nemam ono kad ukucam neku pogresnu komandu da pise da nema te komande, to imam, ljudi nije mi to problem.
Problem mi je sto mi neradi ta skripta, to je problem !
Citat: Maxwellâ,,¢ poslato Februar 17, 2014, 17:34:50 POSLE PODNE
Ne,tako ce ti pisati kada si uneo nepostojecu komandu.
stvarno ? ajde nauci molim te za sta je taj kod pa onda komentarisi
stavi ovo sto sam ti ja dao u mod i ne slusaj sta ti drugi pricaju
Trazio sam ono sto si mi rekao u modu na search ono OnPlayerCommandText i nema takvog teksta
koju ti skriptu editujes ?
Mislis mod ?
Mod koji editujem je Expert City RolePlay.
I molim te, samo te molim, nemoj mi reci da uzmem neki drugi, dzabe onda toliki trud sto sam sredio oko moda pre ovoga ...
koja ti je izvorna skripta ?
Uf, nerazumem te bas najbolje, verovatno si video da sam pri pocetku u skriptanju, i tu sam se zagusio, i sad te bas i nerazumem kad me pitas koju izvornu skriptu koristim ...
Da li je larp,gta rp ?
Kako to mogu da vidim ?
Molim vas nemojte me ostaviti na cedilu ovo trazim vec dve nedelje, nisam neki skripter, ali nikog drugog nisam mogao naci, pa sam nekako sam radio, i sad sam dosao do kraja, a nemogu otvoriti server bez toga.
Nearzumem vas, jako sam vam zahvalan sto ste uopste usli u ovaj post,a a tek sto pomazete.
Recite mi kako da popravim skriptu, neizmerno cu vam biti zahvalan
A i ocu da kad ubacim neka kola na prodaju, posle restarta i svega toga da ona tamo i ostanu tamo gde ih ja stavim
Otvori .pwn file toga sto koristis i jednostavno prebaci u YCMD ZCMD ili sta vec koristis. Evo ovako menjas to Ako ti pise nps YCMD:komanda(playerid, params[], help) to prebaci u CMD:komanda(playerid, params[]) [Logicno ako koristis ZCMD] a ako koristis strcmp onda pretvori u ovo if (strcmp("/komanda", cmdtext, true, 10) == 0) :/ javi se na PM ako ti je nesto nejasno :) :/
Dobro, ja bih uradio tako, ali ja neznam da li koristim ZCMD ili STRCMP
Kako to mogu proveriti ?
Evo ovaj tekst sam nasao u pwn file-u
Pogledajte :
CMD:makesaleveh(playerid, params[])
Evo ti citava FS jer si me lepo zamolio evo ova je od mg srw
/*
Ricardo_Falcone
iVersion 1.1
Copyright(c)
*/
#include <a_samp>
#include <Dini>
#include <zcmd>
#include <sscanf2>
#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 aboja 0x719C70AA
#define COLOR_MEDIUMAQUA 0x83BFBFAA
#define SCM SendClientMessage
#define SaveFile "V_File.cfg"
#define MAX_MYVEHS 50
#define MAX_BUYED_VEHS 2
//============================== 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];
new vCars[27][2] =
{
{411,165000},
{415,152000},
{424,138000},
{426,118000},
{429,140000},
{434,154000},
{451,175000},
{477,138500},
{480,124000},
{502,160000},
{503,160000},
{506,147000},
{541,148900},
{550,121000},
{555,124100},
{559,139000},
{558,118000},
{560,150000},
{561,115000},
{562,143215},
{565,117000},
{568,120000},
{579,119050},
{587,145645},
{589,110000},
{602,132000},
{603,127000}
};
new vBikes[10][2]={
{581,12100},//BF-400
{462,1100},//Faggio
{521,11600},//FCR-900
{463,12500},//Freeway
{522,14500},//NRG-500
{461,12000},//PCJ-600
{448,11000},//Pizzaboy
{471,15000},//Quad
{468,13000},//Sanchez
{586,13000}//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], 553.70001221,-1282.80004883,17.10000038,270.00000000, ShopVeh1[2], ShopVeh1[3], 30000);
ShopVeh2[0] = CreateVehicle(vBikes[ShopVeh2[1]][0],1298.7928,-1870.8855,13.5469,349.0682, ShopVeh2[2], ShopVeh2[3], 30000);
CVozilaTextDraw(); // textdraw
LoadMyVehSystem(); // loadanje lvl 1
return 1;
}
public OnFilterScriptExit()
{
DVozilaTextDraw();// unistava textdraw
for(new i; i< MAX_MYVEHS;i++)
{
if(MyVehicle[i][MyVehSlot] == 1)
{
DestroyVehicle(MyVehicle[i][MyVehID]);
}
}
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), "~g~~h~VLASNIK:~w~ %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~~y~Cena:------~n~~n~~h~~h~~r~< ~y~dalje ~h~~h~~r~>");
TextDrawAlignment(CarShopTextDraw[playerid],0);
TextDrawBackgroundColor(CarShopTextDraw[playerid],0x000000ff);
TextDrawFont(CarShopTextDraw[playerid],1);
TextDrawLetterSize(CarShopTextDraw[playerid],0.499999,2.100000);
TextDrawColor(CarShopTextDraw[playerid],0xffffffff);
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],543.8163,-1254.6198,16.4204,305.2091,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,aboja,string);}
}else{SCM(playerid,aboja,"Vec imas sve aute!");}
}
else if (VehButtonSet[playerid][2] == 1)
{TogglePlayerControllable(playerid, 1);
SCM(playerid, COLOR_WHITE, "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], 553.70001221,-1282.80004883,17.10000038,270.00000000, ShopVeh1[2],ShopVeh1[3], 30000);
format(string,sizeof(string),"~r~%s~n~~n~~h~~h~~y~Cijena: %d~n~~n~~h~~h~~r~< ~y~dalje ~h~~h~~r~>",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],1314.9003,-1859.0258,13.3255,270.3405,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,aboja,string);}
}else{SCM(playerid,aboja,"Vec imas sve motore");}
}
else if (VehButtonSet[playerid][2] == 1)
{TogglePlayerControllable(playerid, 1);
SCM(playerid, aboja, "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], 1298.7928,-1870.8855,13.5469,349.0682, 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
{
GivePlayerMoney(playerid, -vCars[ShopVeh1[1]][1]);
MyVehicle[i][MyVehCar] = 1;
MyVehicle[i][MyVehSlot] = 1;
SCM(playerid, COLOR_GREEN, "Kupio si auto,bice parkiran ispred prodavnice automobila!");
}
case 1://bike
{
GivePlayerMoney(playerid, -vBikes[ShopVeh2[1]][1]);
MyVehicle[i][MyVehBike] = 1;
MyVehicle[i][MyVehSlot] = 1;
SCM(playerid, COLOR_GREEN, "Kupio si motor,bice parkiran ispred prodavnice motora!");
}
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;
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_WHITE, "Vase vozilo je sada ovde parkirano.");
if(MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehBike] != -1)SCM(playerid, COLOR_WHITE, "Vase vozilo je sada ovde parkirano.");
if(MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehBoat] != -1)SCM(playerid, COLOR_WHITE, "Vase vozilo je sada ovde parkirano.");
if(MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPlane] != -1)SCM(playerid, COLOR_WHITE, "Vase vozilo je sada ovde parkirano.");
UpdateMyVehSystem(PlayerOwnedVehID(playerid,vozilo));
return 1;
}else{SCM(playerid, aboja,"Nisi u svom vozilu!");}
}else{SCM(playerid, aboja,"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, aboja,"Nisi u svom vozilu!");}
}else{SCM(playerid, aboja,"Moras biti u vozilu!");}
// }else{SCM(playerid, aboja, "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_WHITE, "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_WHITE, "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_WHITE, "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_WHITE, "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_WHITE, "Vozilo zakljucano!");
}
else if(MyVehicle[PlayerOwnedVehID(playerid,TCID)][MyVehLock] == 1)
{
MyVehicle[PlayerOwnedVehID(playerid,TCID)][MyVehLock] = 0;
SCM(playerid, COLOR_WHITE, "Vozilo otkljucano!");
}
UpdateMyVehSystem(PlayerOwnedVehID(playerid,TCID));
}else{SCM(playerid, COLOR_LIGHTRED, "Ovo nije tvoje vozilo!");}
}else{SCM(playerid, COLOR_WHITE, "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;
SetVehiclePos(vozilo, MyVehicle[MyCarID][MyVehPos][0], MyVehicle[MyCarID][MyVehPos][1],MyVehicle[MyCarID][MyVehPos][2]);
SetVehicleZAngle(vozilo, MyVehicle[MyCarID][MyVehPos][3]);
SCM(playerid, COLOR_GREEN, "[ADMIN]Vozilo parkirano!");
UpdateMyVehSystem(MyCarID);
}else{SCM(playerid, COLOR_WHITE, "Niste ovlasceni da koristite ovu komandu");}
return 1;
}
stock AsellMyVeh(playerid, MyCarID)
{
{
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_LIGHTRED, "[ADMIN] Vozilo prodano!");
UpdateMyVehSystem(MyCarID);
}
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 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:kupivozilo(playerid,params[])
{
if(IsShoping[playerid] == 0)
{
if(GetPlayerState(playerid) != 2)
{
if(IsPlayerInRangeOfPoint(playerid,7.00,564.0015,-1283.4336,17.2559))
{
new string[128];
TogglePlayerControllable(playerid, 0);
IsShoping[playerid] = 1;
SCM(playerid, COLOR_WHITE, " {FFFFFF}Koristi tipke lijevo i desno za listanje vozila!");
SCM(playerid, COLOR_WHITE, " {FFFFFF}Za kupnju pritisni enter (F)");
SCM(playerid, COLOR_WHITE, " {FFFFFF}Za prekid pritisni CTRL");
SVozilaTextDraw(playerid);
format(string,sizeof(string),"~y~%s~n~~n~~n~~n~~y~Cijena: %d~n~~n~~h~~h~~y~< ~y~dalje ~h~~h~~y~>",VehNames[vCars[ShopVeh1[1]][0] -400],vCars[ShopVeh1[1]][1]);
TextDrawSetString(CarShopTextDraw[playerid],string);
}else{SCM(playerid, COLOR_WHITE, " {FFFFFF}Nisi u salonu!");}
}else{SCM(playerid, COLOR_WHITE, " {FFFFFF}Nemozes kupovati iz vozila!");}
}else{SCM(playerid, COLOR_WHITE, " {FFFFFF}Vec listas katalog!");}
return 1;
}
CMD:carcolor(playerid,params[])
{
if(IsPlayerInRangeOfPoint(playerid,7.00,555.8168,-1265.1066,17.2422))
{
new boja1,boja2;
if (sscanf(params, "dd",boja1,boja2)) SCM(playerid, COLOR_WHITE, "Koristenje:{FFFFFF} /carcolor [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_WHITE, "Farba na vase vozilo je promenjena");
}
}else{SCM(playerid, COLOR_WHITE, "Predaleko ste od Salon-a");}
return 1;
}
CMD:kupimotor(playerid,params[])
{
if(IsShoping[playerid] == 0)
{
if(GetPlayerState(playerid) != 2)
{
if(IsPlayerInRangeOfPoint(playerid,7.00,1298.7108,-1867.5516,13.5600))
{
new string[128];
TogglePlayerControllable(playerid, 0);
IsShoping[playerid] = 2;
SCM(playerid, COLOR_WHITE, " Koristi tipke lijevo i desno za listanje vozila!");
SCM(playerid, COLOR_LIGHTRED, " Za kupnju pritisni enter (F)");
SCM(playerid, COLOR_WHITE, " Za prekid pritisni CTRL");
SVozilaTextDraw(playerid);
format(string,sizeof(string),"~y~%s~n~~n~~h~~h~~y~Cijena: %d~n~~n~~h~~h~~y~< ~y~dalje ~h~~h~~y~>",VehNames[vBikes[ShopVeh2[1]][0] -400],vBikes[ShopVeh2[1]][1]);
TextDrawSetString(CarShopTextDraw[playerid],string);
}else{SCM(playerid, COLOR_WHITE, " Nisi u salonu!");}
}else{SCM(playerid, COLOR_WHITE, " Nemozes kupovati iz vozila!");}
}else{SCM(playerid, COLOR_WHITE, " Vec listas katalog!");}
return 1;
}
CMD:mocolor(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, "{FF0814}Koristenje:{FFFFFF} /color [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_WHITE, "Farba na vase vozilo je promenjena");
}
}else{SCM(playerid, COLOR_WHITE, "Predaleko ste od Salon-a");}
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_WHITE, "Nemozes kupiti vise vozila ove vrste!");
if(MyVehicle[EnCV[playerid]][MyVehBike] == 1 && AllMyBikes(playerid) >= MAX_BUYED_VEHS) return SCM(playerid, COLOR_WHITE, "Nemozes kupiti vise vozila ove vrste!");
if(MyVehicle[EnCV[playerid]][MyVehBoat] == 1 && AllMyBoats(playerid) >= MAX_BUYED_VEHS) return SCM(playerid, COLOR_WHITE, "Nemozes kupiti vise vozila ove vrste!");
if(MyVehicle[EnCV[playerid]][MyVehPlane] == 1 && AllMyAirs(playerid) >= MAX_BUYED_VEHS) return SCM(playerid, COLOR_WHITE, "Nemozes kupiti vise vozila ove vrste!");
new ime[MAX_PLAYER_NAME];
GetPlayerName(playerid,ime,sizeof(ime));
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_WHITE, "Kupili ste vozilo cestitamo ((Ne zaboravite da ga parkirate))");
}else{SCM(playerid, COLOR_GREEN, "Nisi pokraj vozila kojeg zelis kupiti!");}
}else{SCM(playerid, COLOR_WHITE, "Nemas dovoljno novca!");}
}else{SCM(playerid, COLOR_WHITE, "Ovo vozilo nije na prodaju!");}
}else{SCM(playerid, COLOR_WHITE, "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 Novac;
new Float:x,Float:y,Float:z;
new Float:a;
if (sscanf(params, "d",Novac)) SCM(playerid, COLOR_WHITE, "{FF0814}Koristenje:{FFFFFF} /sellveh [cijena]");
else
{
GetVehiclePos(vozilo, x, y, z);
GetVehicleZAngle(vozilo, a);
strmid(MyVehicle[MyCarID(playerid)][MyVehOwner], "Nitko", 0, strlen("Nitko"), 24);
MyVehicle[MyCarID(playerid)][MyVehFsale] = Novac;
GivePlayerMoney(playerid, Novac);
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, aboja, "Nemas dokumente ovog vozila!");}
}else{SCM(playerid, aboja, "Moras biti u vozilu!");}
return 1;
}*/
CMD:v(playerid,params[])
{
new opcija[24],ime[32];
if (sscanf(params, "s[24]", opcija)) SCM(playerid, COLOR_WHITE, "Koristenje: "),SCM(playerid, COLOR_WHITE, "Opcije:(/v izbor) [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,0);
return 1;
}
}
return 1;
}
CMD:mo(playerid,params[])
{
new opcija[24],ime[32];
if (sscanf(params, "s[24]", opcija)) SCM(playerid, COLOR_WHITE, "Koristenje: "),SCM(playerid, COLOR_WHITE, "Opcije:(/mo izbor) [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,1);
return 1;
}
}
return 1;
}
CMD:bo(playerid,params[])
{
new opcija[24],ime[32];
if (sscanf(params, "s[24]", opcija)) SCM(playerid, COLOR_WHITE, "Koristenje: "),SCM(playerid, COLOR_WHITE, "Opcije:(/bo izbor) [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:av(playerid,params[])
{
new opcija[24],ime[32];
if (sscanf(params, "s[24]", opcija)) SCM(playerid, COLOR_WHITE, "Koristenje: "),SCM(playerid, COLOR_WHITE, "Opcije:(/av izbor) [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_GREEN, "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
{
{
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_GREEN, "Stvorio si vozilo za prodaju!");
printf("TYP:%d, ID:%d",vrsta,s);
UpdateMyVehSystem(s);
}
}
return 1;
}
CMD:vo(playerid,params[])
{
SCM(playerid, COLOR_RED, "------------------------VOZILO------------------------");
SCM(playerid, COLOR_WHITE, "(/kupivozilo), (/carcolor), (/kupimotor), (/mocolor)");
SCM(playerid, COLOR_WHITE, "(/v)");
SCM(playerid, COLOR_WHITE, "(/sellveh), (/buyveh) ((kada pokusate uci i cijena se pokaze))");
SCM(playerid, COLOR_RED, "--------------------------------------------------------");
return 1;
Dobro, kad otvorim pawno, ubacim mod, gde da ubacim taj kod sto si mi poslao ?
Mozes da je rasporedis u mod a mozes i da je koristis kao FS.
Ja bih da je koristim kao FS.
Sad mi molim te reci kako taj kod da napravim da je FS ?
Odes u pawno pa new onda ides paste taj kod i kompilujes u folder filterscripts u folderu gde ti se nalazi mod zatim odes u server.cfg od moda i upises na linije filterscripts naziv tvoje filterskripte koju si prethodno kompajlovao,pokrenes server i radice.
Dobro, kad otvorim new, jer to sto dobijem u tom new, jel to izbrisem, ili ako to nediram, gde da pastujem taj kod, skroz dole, ili na neko posebno mesto ?
To sto dobijes izbrises i paste ovaj kod sto ti je on dao.
Ajde molim te idi ti probaj to da uradis, otvori new, izbrisi to sto dobijes, ubaci taj kod, idi save, nazovi ga bilo kako naprimer COS DINO i onda kad sacuvas ja uradim compile, izbaci mi jedan eror, kaze nesto nevalja na liniji koda 1298
I molim te javi mi jel neki problem u zagradama, nesto nije kako treba
Evo ti link pa skini problem je bio do "}" zagrade na kraju:
http://www.sendspace.com/file/39vrvi
error 030: compound statement not closed at the end of file (started at line 1298)
Sad neznam sta da radim
Evo ovako treba da bude:
/*
Ricardo_Falcone
iVersion 1.1
Copyright(c)
*/
#include <a_samp>
#include <Dini>
#include <zcmd>
#include <sscanf2>
#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 aboja 0x719C70AA
#define COLOR_MEDIUMAQUA 0x83BFBFAA
#define SCM SendClientMessage
#define SaveFile "V_File.cfg"
#define MAX_MYVEHS 50
#define MAX_BUYED_VEHS 2
//============================== 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];
new vCars[27][2] =
{
{411,165000},
{415,152000},
{424,138000},
{426,118000},
{429,140000},
{434,154000},
{451,175000},
{477,138500},
{480,124000},
{502,160000},
{503,160000},
{506,147000},
{541,148900},
{550,121000},
{555,124100},
{559,139000},
{558,118000},
{560,150000},
{561,115000},
{562,143215},
{565,117000},
{568,120000},
{579,119050},
{587,145645},
{589,110000},
{602,132000},
{603,127000}
};
new vBikes[10][2]={
{581,12100},//BF-400
{462,1100},//Faggio
{521,11600},//FCR-900
{463,12500},//Freeway
{522,14500},//NRG-500
{461,12000},//PCJ-600
{448,11000},//Pizzaboy
{471,15000},//Quad
{468,13000},//Sanchez
{586,13000}//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","server uklonjen!ch","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","server uklonjen!stguard","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","[cenzura]","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], 553.70001221,-1282.80004883,17.10000038,270.00000000, ShopVeh1[2], ShopVeh1[3], 30000);
ShopVeh2[0] = CreateVehicle(vBikes[ShopVeh2[1]][0],1298.7928,-1870.8855,13.5469,349.0682, ShopVeh2[2], ShopVeh2[3], 30000);
CVozilaTextDraw(); // textdraw
LoadMyVehSystem(); // loadanje lvl 1
return 1;
}
public OnFilterScriptExit()
{
DVozilaTextDraw();// unistava textdraw
for(new i; i< MAX_MYVEHS;i++)
{
if(MyVehicle[i][MyVehSlot] == 1)
{
DestroyVehicle(MyVehicle[i][MyVehID]);
}
}
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), "~g~~h~VLASNIK:~w~ %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~~y~Cena:------~n~~n~~h~~h~~r~< ~y~dalje ~h~~h~~r~>");
TextDrawAlignment(CarShopTextDraw[playerid],0);
TextDrawBackgroundColor(CarShopTextDraw[playerid],0x000000ff);
TextDrawFont(CarShopTextDraw[playerid],1);
TextDrawLetterSize(CarShopTextDraw[playerid],0.499999,2.100000);
TextDrawColor(CarShopTextDraw[playerid],0xffffffff);
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],543.8163,-1254.6198,16.4204,305.2091,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,aboja,string);}
}else{SCM(playerid,aboja,"Vec imas sve aute!");}
}
else if (VehButtonSet[playerid][2] == 1)
{TogglePlayerControllable(playerid, 1);
SCM(playerid, COLOR_WHITE, "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], 553.70001221,-1282.80004883,17.10000038,270.00000000, ShopVeh1[2],ShopVeh1[3], 30000);
format(string,sizeof(string),"~r~%s~n~~n~~h~~h~~y~Cijena: %d~n~~n~~h~~h~~r~< ~y~dalje ~h~~h~~r~>",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],1314.9003,-1859.0258,13.3255,270.3405,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,aboja,string);}
}else{SCM(playerid,aboja,"Vec imas sve motore");}
}
else if (VehButtonSet[playerid][2] == 1)
{TogglePlayerControllable(playerid, 1);
SCM(playerid, aboja, "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], 1298.7928,-1870.8855,13.5469,349.0682, 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
{
GivePlayerMoney(playerid, -vCars[ShopVeh1[1]][1]);
MyVehicle[i][MyVehCar] = 1;
MyVehicle[i][MyVehSlot] = 1;
SCM(playerid, COLOR_GREEN, "Kupio si auto,bice parkiran ispred prodavnice automobila!");
}
case 1://bike
{
GivePlayerMoney(playerid, -vBikes[ShopVeh2[1]][1]);
MyVehicle[i][MyVehBike] = 1;
MyVehicle[i][MyVehSlot] = 1;
SCM(playerid, COLOR_GREEN, "Kupio si motor,bice parkiran ispred prodavnice motora!");
}
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;
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_WHITE, "Vase vozilo je sada ovde parkirano.");
if(MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehBike] != -1)SCM(playerid, COLOR_WHITE, "Vase vozilo je sada ovde parkirano.");
if(MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehBoat] != -1)SCM(playerid, COLOR_WHITE, "Vase vozilo je sada ovde parkirano.");
if(MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPlane] != -1)SCM(playerid, COLOR_WHITE, "Vase vozilo je sada ovde parkirano.");
UpdateMyVehSystem(PlayerOwnedVehID(playerid,vozilo));
return 1;
}else{SCM(playerid, aboja,"Nisi u svom vozilu!");}
}else{SCM(playerid, aboja,"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, aboja,"Nisi u svom vozilu!");}
}else{SCM(playerid, aboja,"Moras biti u vozilu!");}
// }else{SCM(playerid, aboja, "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_WHITE, "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_WHITE, "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_WHITE, "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_WHITE, "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_WHITE, "Vozilo zakljucano!");
}
else if(MyVehicle[PlayerOwnedVehID(playerid,TCID)][MyVehLock] == 1)
{
MyVehicle[PlayerOwnedVehID(playerid,TCID)][MyVehLock] = 0;
SCM(playerid, COLOR_WHITE, "Vozilo otkljucano!");
}
UpdateMyVehSystem(PlayerOwnedVehID(playerid,TCID));
}else{SCM(playerid, COLOR_LIGHTRED, "Ovo nije tvoje vozilo!");}
}else{SCM(playerid, COLOR_WHITE, "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;
SetVehiclePos(vozilo, MyVehicle[MyCarID][MyVehPos][0], MyVehicle[MyCarID][MyVehPos][1],MyVehicle[MyCarID][MyVehPos][2]);
SetVehicleZAngle(vozilo, MyVehicle[MyCarID][MyVehPos][3]);
SCM(playerid, COLOR_GREEN, "[ADMIN]Vozilo parkirano!");
UpdateMyVehSystem(MyCarID);
}else{SCM(playerid, COLOR_WHITE, "Niste ovlasceni da koristite ovu komandu");}
return 1;
}
stock AsellMyVeh(playerid, MyCarID)
{
{
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_LIGHTRED, "[ADMIN] Vozilo prodano!");
UpdateMyVehSystem(MyCarID);
}
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 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:kupivozilo(playerid,params[])
{
if(IsShoping[playerid] == 0)
{
if(GetPlayerState(playerid) != 2)
{
if(IsPlayerInRangeOfPoint(playerid,7.00,564.0015,-1283.4336,17.2559))
{
new string[128];
TogglePlayerControllable(playerid, 0);
IsShoping[playerid] = 1;
SCM(playerid, COLOR_WHITE, " {FFFFFF}Koristi tipke lijevo i desno za listanje vozila!");
SCM(playerid, COLOR_WHITE, " {FFFFFF}Za kupnju pritisni enter (F)");
SCM(playerid, COLOR_WHITE, " {FFFFFF}Za prekid pritisni CTRL");
SVozilaTextDraw(playerid);
format(string,sizeof(string),"~y~%s~n~~n~~n~~n~~y~Cijena: %d~n~~n~~h~~h~~y~< ~y~dalje ~h~~h~~y~>",VehNames[vCars[ShopVeh1[1]][0] -400],vCars[ShopVeh1[1]][1]);
TextDrawSetString(CarShopTextDraw[playerid],string);
}else{SCM(playerid, COLOR_WHITE, " {FFFFFF}Nisi u salonu!");}
}else{SCM(playerid, COLOR_WHITE, " {FFFFFF}Nemozes kupovati iz vozila!");}
}else{SCM(playerid, COLOR_WHITE, " {FFFFFF}Vec listas katalog!");}
return 1;
}
CMD:carcolor(playerid,params[])
{
if(IsPlayerInRangeOfPoint(playerid,7.00,555.8168,-1265.1066,17.2422))
{
new boja1,boja2;
if (sscanf(params, "dd",boja1,boja2)) SCM(playerid, COLOR_WHITE, "Koristenje:{FFFFFF} /carcolor [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_WHITE, "Farba na vase vozilo je promenjena");
}
}else{SCM(playerid, COLOR_WHITE, "Predaleko ste od Salon-a");}
return 1;
}
CMD:kupimotor(playerid,params[])
{
if(IsShoping[playerid] == 0)
{
if(GetPlayerState(playerid) != 2)
{
if(IsPlayerInRangeOfPoint(playerid,7.00,1298.7108,-1867.5516,13.5600))
{
new string[128];
TogglePlayerControllable(playerid, 0);
IsShoping[playerid] = 2;
SCM(playerid, COLOR_WHITE, " Koristi tipke lijevo i desno za listanje vozila!");
SCM(playerid, COLOR_LIGHTRED, " Za kupnju pritisni enter (F)");
SCM(playerid, COLOR_WHITE, " Za prekid pritisni CTRL");
SVozilaTextDraw(playerid);
format(string,sizeof(string),"~y~%s~n~~n~~h~~h~~y~Cijena: %d~n~~n~~h~~h~~y~< ~y~dalje ~h~~h~~y~>",VehNames[vBikes[ShopVeh2[1]][0] -400],vBikes[ShopVeh2[1]][1]);
TextDrawSetString(CarShopTextDraw[playerid],string);
}else{SCM(playerid, COLOR_WHITE, " Nisi u salonu!");}
}else{SCM(playerid, COLOR_WHITE, " Nemozes kupovati iz vozila!");}
}else{SCM(playerid, COLOR_WHITE, " Vec listas katalog!");}
return 1;
}
CMD:mocolor(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, "{FF0814}Koristenje:{FFFFFF} /color [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_WHITE, "Farba na vase vozilo je promenjena");
}
}else{SCM(playerid, COLOR_WHITE, "Predaleko ste od Salon-a");}
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_WHITE, "Nemozes kupiti vise vozila ove vrste!");
if(MyVehicle[EnCV[playerid]][MyVehBike] == 1 && AllMyBikes(playerid) >= MAX_BUYED_VEHS) return SCM(playerid, COLOR_WHITE, "Nemozes kupiti vise vozila ove vrste!");
if(MyVehicle[EnCV[playerid]][MyVehBoat] == 1 && AllMyBoats(playerid) >= MAX_BUYED_VEHS) return SCM(playerid, COLOR_WHITE, "Nemozes kupiti vise vozila ove vrste!");
if(MyVehicle[EnCV[playerid]][MyVehPlane] == 1 && AllMyAirs(playerid) >= MAX_BUYED_VEHS) return SCM(playerid, COLOR_WHITE, "Nemozes kupiti vise vozila ove vrste!");
new ime[MAX_PLAYER_NAME];
GetPlayerName(playerid,ime,sizeof(ime));
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_WHITE, "Kupili ste vozilo cestitamo ((Ne zaboravite da ga parkirate))");
}else{SCM(playerid, COLOR_GREEN, "Nisi pokraj vozila kojeg zelis kupiti!");}
}else{SCM(playerid, COLOR_WHITE, "Nemas dovoljno novca!");}
}else{SCM(playerid, COLOR_WHITE, "Ovo vozilo nije na prodaju!");}
}else{SCM(playerid, COLOR_WHITE, "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 Novac;
new Float:x,Float:y,Float:z;
new Float:a;
if (sscanf(params, "d",Novac)) SCM(playerid, COLOR_WHITE, "{FF0814}Koristenje:{FFFFFF} /sellveh [cijena]");
else
{
GetVehiclePos(vozilo, x, y, z);
GetVehicleZAngle(vozilo, a);
strmid(MyVehicle[MyCarID(playerid)][MyVehOwner], "Nitko", 0, strlen("Nitko"), 24);
MyVehicle[MyCarID(playerid)][MyVehFsale] = Novac;
GivePlayerMoney(playerid, Novac);
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, aboja, "Nemas dokumente ovog vozila!");}
}else{SCM(playerid, aboja, "Moras biti u vozilu!");}
return 1;
}*/
CMD:v(playerid,params[])
{
new opcija[24],ime[32];
if (sscanf(params, "s[24]", opcija)) SCM(playerid, COLOR_WHITE, "Koristenje: "),SCM(playerid, COLOR_WHITE, "Opcije:(/v izbor) [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,0);
return 1;
}
}
return 1;
}
CMD:mo(playerid,params[])
{
new opcija[24],ime[32];
if (sscanf(params, "s[24]", opcija)) SCM(playerid, COLOR_WHITE, "Koristenje: "),SCM(playerid, COLOR_WHITE, "Opcije:(/mo izbor) [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,1);
return 1;
}
}
return 1;
}
CMD:bo(playerid,params[])
{
new opcija[24],ime[32];
if (sscanf(params, "s[24]", opcija)) SCM(playerid, COLOR_WHITE, "Koristenje: "),SCM(playerid, COLOR_WHITE, "Opcije:(/bo izbor) [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:av(playerid,params[])
{
new opcija[24],ime[32];
if (sscanf(params, "s[24]", opcija)) SCM(playerid, COLOR_WHITE, "Koristenje: "),SCM(playerid, COLOR_WHITE, "Opcije:(/av izbor) [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_GREEN, "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
{
{
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_GREEN, "Stvorio si vozilo za prodaju!");
printf("TYP:%d, ID:%d",vrsta,s);
UpdateMyVehSystem(s);
}
}
return 1;
}
CMD:vo(playerid,params[])
{
SCM(playerid, COLOR_RED, "------------------------VOZILO------------------------");
SCM(playerid, COLOR_WHITE, "(/kupivozilo), (/carcolor), (/kupimotor), (/mocolor)");
SCM(playerid, COLOR_WHITE, "(/v)");
SCM(playerid, COLOR_WHITE, "(/sellveh), (/buyveh) ((kada pokusate uci i cijena se pokaze))");
SCM(playerid, COLOR_RED, "--------------------------------------------------------");
return 1;
}
Burazer moj puno hvala na svemu, mozes mi jos samo reci koja je komanda za ubacivanje vozila na prodaju ?
Nista kada ti nesto treba javi tu sam da pomognem,prelistaj malo taj kod pa ces naici na komandu.
Evo kad sam listao FS, kad sam trazio na CTRL + F CMD Evo sta sam nasao
CMD:kupivozilo(playerid,params[])
CMD:carcolor(playerid,params[])
CMD:kupimotor(playerid,params[])
CMD:mocolor(playerid,params[])
CMD:buyveh(playerid,params[])
CMD:sellveh(playerid, params[])
CMD:v(playerid,params[])
CMD:mo(playerid,params[])
CMD:bo(playerid,params[])
CMD:av(playerid,params[])
CMD:apark(playerid,params[])
CMD:asellveh(playerid,params[])
CMD:makesaleveh(playerid, params[]) --- Ovu sam probao i nece
CMD:vo(playerid,params[])
Ja neznam da li ovaj sto mi je dao zna na sta ja mislim, ja mislim da on nije znao da meni treba skripta da ja ubacujem vozila na prodaju, znaci ja biram kola, cenu i to, a neznam jel on to znao kad mi je dao sta meni treba
Imao sam isto jednu takvu skriptu koja je imala tu komandu /makesaleveh kao i ovde, i tamo mi nije radilo, ali neradi mi ni ovde.
Ako znate kako da popravim ovu skriptu da radi ?
Koji procesor komandi koristis na modu?
Citat: Dejan_Petrovic poslato Februar 22, 2014, 16:00:28 POSLE PODNE
Evo kad sam listao FS, kad sam trazio na CTRL + F CMD Evo sta sam nasao
CMD:kupivozilo(playerid,params[])
CMD:carcolor(playerid,params[])
CMD:kupimotor(playerid,params[])
CMD:mocolor(playerid,params[])
CMD:buyveh(playerid,params[])
CMD:sellveh(playerid, params[])
CMD:v(playerid,params[])
CMD:mo(playerid,params[])
CMD:bo(playerid,params[])
CMD:av(playerid,params[])
CMD:apark(playerid,params[])
CMD:asellveh(playerid,params[])
CMD:makesaleveh(playerid, params[]) --- Ovu sam probao i nece
CMD:vo(playerid,params[])
Ja neznam da li ovaj sto mi je dao zna na sta ja mislim, ja mislim da on nije znao da meni treba skripta da ja ubacujem vozila na prodaju, znaci ja biram kola, cenu i to, a neznam jel on to znao kad mi je dao sta meni treba
Imao sam isto jednu takvu skriptu koja je imala tu komandu /makesaleveh kao i ovde, i tamo mi nije radilo, ali neradi mi ni ovde.
Ako znate kako da popravim ovu skriptu da radi ?
Pokusaj neku drugu cmd i vidi da li ti radi ako ne sigurno koristis YCMD ili strcmp
Dobro, kako mogu popraviti da mi skripta radi ?
Jedino da te komande prilagodis tvom procesoru komandi.
E, to su mi i govorili na pocetku, ali molim te evo molim te da mi objasnis korak po korak kako da prilagodim te komande procesoru ?
To ti je malo slozenije za pocetak,bolje se pozabavi drugim poslom.
A kojim drugim poslom kad je mod gotov, samo mi jos ovo treba i sve je gotovo ...
Mod nikad ne moze da bude gotov jer uvek ima nesto novo da se uradi ili sredi tako da ne mozes biti toliko objektivan u vezi toga,a i sumnjam posto si pocetnik da mod moze biti nesto uradjen jer ni ovo ne znas da uradis.Bolje vezbaj textdrawove komande namestaj itd... da sto bolje naucis da skriptas,pozdrav.
Ovako :
Ja sam jos pre odlucio da otvorim svoj server.
Izabrao sam mod, trazio sam skriptere, ali niko nije nista hteo da mi uradi.
Cekao sam dugo, dugo, dok nisam sam odlucio da ga sredim, i ako neznam biti skripter.
Tu sam se mucio, radio razne stvari, uspeo sam uraditi nesto bas najosnovnije, ali za ovo mi je bila potrebna pomoc.
Ja sebe nikad ni nisam hteo nazivati skripterom, niti sam ikad zeleo biti skripter, ja sam profesionalan maper, ali skripter ne.
Ovo radim samo da bih dovrsio nekako da mogu da otvorim server, ali za mene nije skriptanje, nego mapanje.
Sve ovo sto sam uradio, radio sam jer nije niko imao da mi pomogne, da mi uradi.
Pozdrav i tebi, hvala na svemu sto si mi pomogao.
Koji mod tacno koristis da ti prebacim to ? :)