Komande: /Veh i /Dveh

Započeo twoblqck.art, Januar 06, 2018, 21:39:04 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.



Komande:/Veh i /dveh
Cemu sluze komande /veh i /dveh?
Komanda /veh sluzi da se stvori bilo koje vozilo koje postoji u GTA SA,a komanda /dveh sluzi za unistavanje tih vozila,da se nebi stvarali nepotrebna vozila.
Evo dokaz da radi :D  CLICK
PS.Ovo je testano na UnderPoint MODU
Da poceno sa tutorijalom.
Prvo idemo definisati boje i ostalo
[pawn]
#define NARANDZASTA          0xFF9900AA
#define GRAD2                0xBFC0C2FF
#define ZELENA2             0x48E31CFF
#define SCM SendClientMessage
[/pawn]
Sada trebamo dodati new,a new su
[pawn]
new vehspawned[MAX_PLAYERS];
new vehid1[MAX_PLAYERS];
new ImenaVozila[][] = {
   "Landstal.","Bravura","Buffalo","Linerun","Pereniel","Sentinel","Dumper","Firetruck","Trash","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","ZR 350","Walton","Regina",
   "Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo","Greenwood","Jetmax","Hotring","Sandking","Bl.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","Police Car","Police Car","Police Ranger",
   "Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer","Luggage Trailer","Stair Trailer","Boxville","Farm Plow","Utility Trailer"
};
new CmdString[256];
new engineOn[MAX_VEHICLES];
new kurac[128];
new Float:VehiclePos[MAX_VEHICLES][3];
[/pawn]
Sada pod "public OnPlayerConnect" staviti ovo
[pawn]
   vehspawned[playerid] = 0;
   vehid1[playerid] = 0;
[/pawn]
Sada pod "public OnPlayerDisconnect" staviti ovo
[pawn]
if(vehspawned[playerid] == 1)
{
vehspawned[playerid] = 0;
DestroyVehicle(vehid1[playerid]);
}
[/pawn]
I na kraju dodati ovo kod ostalih komandi
[pawn]
CMD:dveh(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] >= 1)
   {
   if(vehspawned[playerid] == 0) return SCM(playerid, GRAD2, "{FF0000}GRESKA:{FFFFFF} Ti nemas spawnovano vozilo!");
   vehspawned[playerid] = 0;
   DestroyVehicle(vehid1[playerid]);
   SCM(playerid,GRAD2,"{0080C0}BM:{FFFFFF} Unistio si svoje stvoreno vozilo!");
   }
else return SCM(playerid, GRAD2, "{FF0000}GRESKA:{FFFFFF} Nisi ovlascen da koristis ovu komandu!");
return 1;
}

CMD:veh(playerid, params[])
{
   if( isnull( params ) ) return SendClientMessage(playerid, NARANDZASTA, "{0080C0}BM:{FFFFFF} /veh [ID Modela]");
   if(!IsPlayerConnected(playerid)) return 0;
   if(PlayerInfo[playerid][pAdmin] >= 1)
   {
      if(vehspawned[playerid] == 1) return SCM(playerid, GRAD2, "{FF0000}GRESKA:{FFFFFF} Vec ste spawnovali 1 vozilo koristite /dveh sa ga unistite!");
      new Float:Poz[4];
      if( isnull( params ) ) return SendClientMessage(playerid, NARANDZASTA, "{0080C0}BM:{FFFFFF} /veh [ID Modela]");
      GetPlayerPos(playerid, Poz[0], Poz[1], Poz[2]);
      GetPlayerFacingAngle(playerid, Poz[3]);
      vehid1[playerid] = CreateVehicle(strval(params), Poz[0]+4, Poz[1], Poz[2], Poz[3], 0, 0, -1);
      VehiclePos[vehid1[playerid]][0] = Poz[0];
        VehiclePos[vehid1[playerid]][1] = Poz[1];
        VehiclePos[vehid1[playerid]][2] = Poz[2];
      vehspawned[playerid] = 1;
      new kurac = vehid1[playerid];
      format(CmdString, sizeof CmdString, "{0080C0}BM:{FFFFFF} Vozilo stvoreno! [Vozilo ID: %d | Model vozila: %s]", vehid1v[playerid], ImenaVozila[strval(params) - 400]);
      SCM(playerid, ZELENA2, CmdString);
      SCM(playerid, NARANDZASTA, "{0080C0}BM:{FFFFFF} Prije nego sto stvoris drugo vozilo, moras unistiti trenutno. (/dveh)");
       new engine, lights, alarm, doors, bonnet, boot, objective;
      GetVehicleParamsEx(kurac, engine, lights, alarm, doors, bonnet, boot, objective);
      SetVehicleParamsEx(kurac, 1, 1, alarm, doors, bonnet, boot, objective);
      engineOn[kurac] = true;
      PutPlayerInVehicle(playerid, kurac, 0);
      SetVehicleHealth(kurac, 995.00);
   }
   else return SCM(playerid, GRAD2, "{FF0000}GRESKA:{FFFFFF} Nisi ovlascen da koristis ovu komandu!");
   return 1;
}
[/pawn]
To je to od ovog malog tutorijala

Pod tutorijal znači objašnjenje a ne stavi ovde i ovde i to je to.
Drugo, pola varijabli iz tvog "tutorijala" početnici nemaju u modu i napraviće se sranje u compileu, PlayerInfo[playerid][pAdmin]...
2 za trud

"I choose to have faith, because without that, I have nothing."


Citat: σgí poslato Januar 06, 2018, 21:43:55 POSLE PODNE
Pod tutorijal znači objašnjenje a ne stavi ovde i ovde i to je to.
Drugo, pola varijabli iz tvog "tutorijala" početnici nemaju u modu i napraviće se sranje u compileu, PlayerInfo[playerid][pAdmin]...
2 za trud
Nece posluzit onima koji prave od 0
Ako edituju samo promjene...

CitatSada trebamo dodati new,a new su
To se ne zovu 'new' nego varijable (variables)


[pawn]vehspawned
vehid1
ImenaVozila
CmdString
engineOn
kurac
Float:VehiclePos[/pawn]
Odluči se kako ćeš deklarirati varijable, pola ti na engleskom pola na našem, pola camelCase pola ovakvo onako...


[pawn]new kurac[128];[/pawn]
Neozbiljnost na nivou, čisto pokaziva da si neki nasumični napaljeni klinac od 13-14 godina...


[pawn]new Float:VehiclePos[MAX_VEHICLES][3];[/pawn]
Ne vidimo svrhu ovog niza, popunio si ga pod komandom a nisi objasnio zašto niti ga igdje koristiš


[pawn]new CmdString[256];
new kurac[128];[/pawn]
Neispravan način deklariranja nizova za korištenje stringa, deklariraš ih u heap dok si mogao iskoristiti stack


[pawn]engineOn[/pawn]
TakoÄ'er neiskoriÅ¡tena, niti objaÅ¡njena varijabla


.....
Software Developer