Advertisement
Guest User

FrakHaus

a guest
Sep 19th, 2012
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 35.38 KB | None | 0 0
  1. Ganz oben
  2. //****************************FraktionsAutohaus
  3. #define FACTION_CAR_FILE                    ("Fraktionsautos.cfg")//Datei wo die gesamten Fraktionsfahrzeuge gespeichert werden sollen!
  4. #define MAX_FACTION_CARS                    (900)//Die Maximale anzahl von Fraktionsfahrzeugen!
  5. #define NEEDED_ADMINLEVEL                   (2000)//Das benötigte Adminlevel um Fraktionfahrzeuge zu fahren, ab/-aufschließen, umzuparken, entfernen, erstellen.
  6. #define MAX_FACTIONS                        (30)//Die Maximale anzahl von Fraktionen aus deinem Script!
  7. #define MAX_BUY                             (20)//Die Maximale anzahl von Fahrzeugen die eine Fraktion kaufen darf!
  8.  
  9. #define FACTION_CARS_TUNEABLE
  10.  
  11.  
  12. #if defined FACTION_CARS_LOCKABLE
  13. #include <ForAllPlayers>
  14. #endif
  15.  
  16. #define FACTION_COL_GREY                    (0xAFAFAFAA)
  17. #define FACTION_COL_YELLOW                  (0xFFFF00FF)
  18. #define DIALOG_FACTION_CAR_BUY              (37)
  19.  
  20. forward LoadFactionCars();
  21. forward GetPlayerAdmin(playerid);
  22. forward GetPlayerFaction(playerid);
  23. forward SaveFactionCars(bool:destroy);
  24. forward LockFactionCarDoors();
  25. forward DestroyAndCreateFactionCar(fc);
  26. forward RemoveComponent(vehicleid,componentid);
  27. forward ChangePaintjob(vehicleid,paintjobid);
  28. forward ChangeColor(vehicleid,color1,color2);
  29. forward RespawnFactionBuylist();
  30.  
  31. new fCarName[][]={
  32.     "Landstalker","Bravura","Buffalo","Linerunner","Perrenial","Sentinel",
  33.     "Dumper","Firetruck","Trashmaster","Stretch","Manana","Infernus",
  34.     "Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam",
  35.     "Esperanto","Taxi","Washington","Bobcat","Whoopee","BF Injection",
  36.     "Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus",
  37.     "Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie",
  38.     "Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral",
  39.     "Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder",
  40.     "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "Berkley's RC Van",
  41.     "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale",
  42.     "Oceanic","Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy",
  43.     "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX",
  44.     "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper",
  45.     "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking",
  46.     "Blista Compact", "Police Maverick", "Boxvillde", "Benson", "Mesa", "RC Goblin",
  47.     "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT",
  48.     "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt",
  49.     "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra",
  50.     "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune",
  51.     "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer",
  52.     "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent",
  53.     "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder", "Primo",
  54.     "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite",
  55.     "Windsor", "Monster", "Monster", "Uranus", "Jester", "Sultan", "Stratum",
  56.     "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
  57.     "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper",
  58.     "Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400",
  59.     "News Van","Tug","Trailer","Emperor","Wayfarer","Euros","Hotdog","Club",
  60.     "Freight Box","Trailer","Andromada","Dodo","RC Cam","Launch","Police Car",
  61.     "Police Car","Police Car","Police Ranger","Picador","S.W.A.T","Alpha",
  62.     "Phoenix","Glendale Shit","Sadler Shit","Luggage","Luggage","Stairs","Boxville",
  63.     "Tiller","Utility Trailer"
  64. };
  65. enum fBuylist{
  66.     fbVehid,
  67.     Float:fbX,
  68.     Float:fbY,
  69.     Float:fbZ,
  70.     Float:fbA,
  71.     fbPrice,
  72.     fbCarid,
  73.     Text3D:fbLabel
  74. };
  75. new FactionBuylist[][fBuylist] = {
  76.     {522,2148.9592,-1203.7820,23.4015,270.7132,125000},
  77.     {468,2148.8416,-1198.6277,23.5484,270.6686,50000},
  78.     {521,2148.8354,-1193.8409,23.3892,273.6788,60000},
  79.     {463,2148.8162,-1189.3861,23.3559,270.8835,100000},
  80.     {560,2147.7915,-1184.9808,23.4986,270.9496,75000},
  81.     {492,2147.9016,-1180.3137,23.6047,270.6128,45000},
  82.     {411,2147.6257,-1175.4165,23.5554,270.8578,150000},
  83.     {482,2148.1213,-1170.7794,23.9654,269.8470,80000},
  84.     {480,2148.4258,-1166.2168,23.6183,270.5198,50000},
  85.     {541,2148.3015,-1161.6859,23.4524,271.2336,85000},
  86.     {451,2148.7183,-1157.2542,23.5570,270.2093,125000},
  87.     {567,2148.3457,-1152.6370,23.8355,271.7301,65000},
  88.     {517,2148.4995,-1148.0367,24.2926,266.3909,70000},
  89.     {474,2148.8254,-1143.1571,24.7635,268.2365,90000},
  90.     {579,2149.3972,-1138.1804,25.4343,267.9803,95000},
  91.     {409,2150.1770,-1133.4166,25.3441,267.8805,200000},
  92.     {402,2161.4856,-1143.9536,24.6411,90.5938,80000},
  93.     {415,2161.5073,-1148.7062,24.1167,90.0089,95000},
  94.     {559,2161.4192,-1152.9534,23.5902,90.4705,60000},
  95.     {477,2161.1555,-1158.0975,23.5942,90.8282,50000},
  96.     {562,2161.2671,-1163.5746,23.4773,90.4966,55000},
  97.     {600,2161.4624,-1168.3546,23.5338,88.9059,85000},
  98.     {602,2161.3105,-1173.1294,23.6283,89.8608,65000},
  99.     {412,2161.2407,-1177.7957,23.6598,89.1901,45000},
  100.     {536,2161.1609,-1182.7480,23.5582,90.7687,70000},
  101.     {565,2161.5532,-1187.6403,23.4470,90.5903,75000},
  102.     {421,2161.4236,-1192.7438,23.7054,91.6409,85000},
  103.     {487,2157.8909,-1208.9708,24.0838,2.2801,450000}
  104. };
  105. new Float:FactionBuySpawn[4]={2131.0757,-1140.9038,25.1670,20.6953};
  106. enum fCar{
  107.     fCarid,
  108.     fVehid,
  109.     Float:fPos[4],
  110.     fCol[2],
  111.     fFaction[5],
  112.     fTuning[14],
  113.     fPrice,
  114.     #if defined FACTION_CARS_LOCKABLE
  115.     bool:fLock
  116.     #endif
  117. };
  118. new FactionCars[MAX_FACTION_CARS][fCar];
  119. #if defined FACTION_CARS_LOCKABLE
  120. new FactionCarsTimer;
  121. #endif
  122. new BuylistRespawner;
  123. new SaveFactionCarsTimer;
  124. new LastRespawned[MAX_FACTIONS];
  125. //*************[/pwn]
  126.  
  127. weiter unten
  128.  
  129.  
  130. [pwn]forward START_FRAC();
  131. public START_FRAC(){
  132.     LoadFactionCars();
  133.     #if defined FACTION_CARS_LOCKABLE
  134.     FactionCarsTimer = SetTimer("LockFactionCarDoors",1037,true);
  135.     #endif
  136.     SaveFactionCarsTimer = SetTimerEx("SaveFactionCars",((1000*60)*15),true,"d",false);
  137.     for(new fbl;fbl<sizeof(FactionBuylist);fbl++){
  138.         FactionBuylist[fbl][fbCarid] = CreateVehicle(FactionBuylist[fbl][fbVehid],FactionBuylist[fbl][fbX],FactionBuylist[fbl][fbY],FactionBuylist[fbl][fbZ],FactionBuylist[fbl][fbA],-1,-1,-255);
  139.         new fblText[128];
  140.         format(fblText,sizeof(fblText),"|--- GangAutoHaus ---|\n\nFahrzeugname: %s\nPreis: $%d",fCarName[FactionBuylist[fbl][fbVehid]-400],FactionBuylist[fbl][fbPrice]);
  141.         FactionBuylist[fbl][fbLabel] = Create3DTextLabel(fblText,0xFFFFFFFF,FactionBuylist[fbl][fbX],FactionBuylist[fbl][fbY],FactionBuylist[fbl][fbZ],40.0,0,true);
  142.         Attach3DTextLabelToVehicle(FactionBuylist[fbl][fbLabel],FactionBuylist[fbl][fbCarid],0.0,0.0,0.75);
  143.     }
  144.     BuylistRespawner = SetTimer("RespawnFactionBuylist",(1000*60)*10,true);
  145.     return 1;
  146. }
  147. forward STOP_FRAC();
  148. public STOP_FRAC()
  149. {
  150.     KillTimer(SaveFactionCarsTimer);
  151.     SaveFactionCars(true);
  152.     #if defined FACTION_CARS_LOCKABLE
  153.     KillTimer(FactionCarsTimer);
  154.     #endif
  155.     KillTimer(BuylistRespawner);
  156.     for(new fbl;fbl<sizeof(FactionBuylist);fbl++)
  157.     {
  158.         DestroyVehicle(FactionBuylist[fbl][fbCarid]);
  159.         Delete3DTextLabel(FactionBuylist[fbl][fbLabel]);
  160.     }
  161.     return 1;
  162. }
  163. forward FRAC_OnPlayerEnterVehicle(playerid, vehicleid, ispassenger);
  164. public FRAC_OnPlayerEnterVehicle(playerid, vehicleid, ispassenger){
  165.     for(new fbl;fbl<sizeof(FactionBuylist);fbl++){
  166.         if(vehicleid == FactionBuylist[fbl][fbCarid]){
  167.             if(!IsAllowedFactionToBuy(GetPlayerLeader(playerid))){
  168.                 SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht brechtigt Gangautos zu kaufen!");
  169.                 new Float:pPos[3];
  170.                 GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
  171.                 SetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
  172.             }break;
  173.         }
  174.     }return 1;
  175. }
  176. forward FRAC_OnVehicleDeath(vehicleid, killerid);
  177. public FRAC_OnVehicleDeath(vehicleid, killerid){
  178.     for(new fc;fc<sizeof(FactionCars);fc++){
  179.         if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
  180.             if(FactionCars[fc][fCarid] == vehicleid){
  181.                 SetTimerEx("DestroyAndCreateFactionCar",3000,0,"d",fc);
  182.                 break;
  183.             }
  184.         }
  185.     }return 1;
  186. }
  187. forward FRAC_OnPlayerCommandText(playerid, cmdtext[]);
  188. public FRAC_OnPlayerCommandText(playerid, cmdtext[])
  189. {
  190.     dcmd(efa,3,cmdtext);
  191.     if(strcmp(cmdtext,"/fpark",true)==0){
  192.         if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER){
  193.             new fc;while(fc<sizeof(FactionCars)){
  194.                 if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
  195.                     if(GetPlayerVehicleID(playerid) == FactionCars[fc][fCarid]){
  196.                         if(GetPlayerAdmin(playerid) >= NEEDED_ADMINLEVEL || GetPlayerLeader(playerid) == FactionCars[fc][fFaction][0]){
  197.                             GetVehiclePos(FactionCars[fc][fCarid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2]);
  198.                             GetVehicleZAngle(FactionCars[fc][fCarid],FactionCars[fc][fPos][3]);
  199.                             SendClientMessage(playerid,FACTION_COL_YELLOW,"Du hast das Fraktionsfahrzeug erfolgreich umgeparkt.");
  200.                         }else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist dazu nicht berechtigt.");
  201.                         return true;
  202.                     }
  203.                 }fc++;
  204.             }SendClientMessage(playerid,FACTION_COL_GREY,"Du sitzt in keinem Fraktionsfahrzeug.");
  205.         }else SendClientMessage(playerid,FACTION_COL_GREY,"Du sitzt in keinem Fahrzeug oder bist nicht der Fahrer.");
  206.         return true;
  207.     }
  208.     if(strcmp(cmdtext,"/fcarsell",true)==0){
  209.         if(GetPlayerLeader(playerid)){
  210.             if(IsAllowedFactionToBuy(GetPlayerFaction(playerid))){
  211.                 if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER){
  212.                     new Carid1 = GetPlayerVehicleID(playerid);
  213.                     for(new fc;fc<sizeof(FactionCars);fc++){
  214.                         if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
  215.                             if(Carid1 == FactionCars[fc][fCarid]){
  216.                                 if(FactionCars[fc][fFaction][0] == GetPlayerLeader(playerid)){
  217.                                     FactionCars[fc][fVehid] = -255;
  218.                                     if(DestroyVehicle(FactionCars[fc][fCarid]))
  219.                                         FactionCars[fc][fCarid] = -255;
  220.                                     new fText[178];
  221.                                     format(fText,sizeof(fText),"Du hast das Fraktionsfahrzeug erfolgreich für $%d(50%% vom Kaufpreis) verkauft.",(FactionCars[fc][fPrice]/2));
  222.                                     SendClientMessage(playerid,FACTION_COL_YELLOW,fText);
  223.                                     CallRemoteFunction("Script_GivePlayerMoney","id",playerid,(FactionCars[fc][fPrice]/2));
  224.                                 }
  225.                                 else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht der besitzer dieses Fahrzeuges.");
  226.                                 return true;
  227.                             }
  228.                         }
  229.                     }SendClientMessage(playerid,FACTION_COL_GREY,"Du sitzt in keinem Fraktionsfahrzeug.");
  230.                 }else SendClientMessage(playerid,FACTION_COL_GREY,"Du musst der Fahrer eines Fahrzeuges sein.");
  231.             }else SendClientMessage(playerid,FACTION_COL_GREY,"Deine Fraktion ist dazu nicht berechtigt.");
  232.         }else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht berechtigt diesen Befehl anzuwenden.");
  233.         return true;
  234.     }
  235.     if(strcmp(cmdtext,"/lfa",true)==0){
  236.         if(GetPlayerAdmin(playerid) >= NEEDED_ADMINLEVEL){
  237.             for(new fc;fc<sizeof(FactionCars);fc++){
  238.                 if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
  239.                     new Float:fX,Float:fY,Float:fZ;
  240.                     GetVehiclePos(FactionCars[fc][fCarid],fX,fY,fZ);
  241.                     if(IsPlayerInRangeOfPoint(playerid,4.0,fX,fY,fZ)){
  242.                         FactionCars[fc][fVehid] = -255;
  243.                         if(DestroyVehicle(FactionCars[fc][fCarid])){
  244.                             FactionCars[fc][fCarid] = -255;
  245.                         }return SendClientMessage(playerid,FACTION_COL_YELLOW,"Du hast das Fraktionsfahrzeug entfernt.");
  246.                     }
  247.                 }
  248.             }
  249.         }else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht berechtigt diesen Befehl anzuwenden.");
  250.         return true;
  251.     }
  252.     if(strcmp(cmdtext,"/rafa",true)==0){
  253.         if(GetPlayerAdmin(playerid) >= NEEDED_ADMINLEVEL){
  254.             new fName[MAX_PLAYER_NAME],string[128];
  255.             GetPlayerName(playerid,fName,sizeof(fName));
  256.             format(string,sizeof(string),"Server: %s hat alle Fraktionsfahrzeuge respawnt.",fName);
  257.             SendClientMessageToAll(FACTION_COL_YELLOW,string);
  258.             for(new fc;fc<sizeof(FactionCars);fc++){
  259.                 if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611)
  260.                     DestroyAndCreateFactionCar(fc);
  261.             }
  262.         }else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht berechtigt diesen Befehl anzuwenden.");
  263.         return true;
  264.     }
  265.     if(strcmp(cmdtext,"/ramfa",true)==0){
  266.         if(GetPlayerLeader(playerid)){
  267.             if(gettime() < LastRespawned[GetPlayerFaction(playerid)-1])
  268.                 return SendClientMessage(playerid,FACTION_COL_GREY,"Du kannst deine Fahrzeuge nur alle '15' Minuten respawnen.");
  269.             LastRespawned[GetPlayerFaction(playerid)-1] = gettime()+(60*15);
  270.             for(new fc;fc<sizeof(FactionCars);fc++){
  271.                 if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
  272.                     if(FactionCars[fc][fFaction][0] == GetPlayerFaction(playerid)){
  273.                         DestroyAndCreateFactionCar(fc);
  274.                     }
  275.                 }
  276.             }SendClientMessage(playerid,FACTION_COL_YELLOW,"Du hast deine Fraktionsfahrzeuge erfolgreich respawnt.");
  277.         }else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht berechtigt diesen Befehl anzuwenden.");
  278.         return true;
  279.     }
  280.     #if defined FACTION_CARS_LOCKABLE
  281.     if(strcmp(cmdtext,"/flock",true)==0){
  282.         if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER){
  283.             for(new fc;fc<sizeof(FactionCars);fc++){
  284.                 if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
  285.                     if(GetPlayerVehicleID(playerid) == FactionCars[fc][fCarid]){
  286.                         for(new f;f<5;f++){
  287.                             if(GetPlayerAdmin(playerid) >= NEEDED_ADMINLEVEL || GetPlayerFaction(playerid) == FactionCars[fc][fFaction][f]){
  288.                                 PlayerPlaySound(playerid,1145,0.0,0.0,0.0);
  289.                                 if(FactionCars[fc][fLock] == true){
  290.                                     FactionCars[fc][fLock] = false;
  291.                                     fUnlockCar(FactionCars[fc][fCarid]);
  292.                                     GameTextForPlayer(playerid,"~w~Fahrzeug~n~~g~Aufgeschlossen",5000,3);
  293.                                 }
  294.                                 else if(FactionCars[fc][fLock] == false){
  295.                                     fLockCar(FactionCars[fc][fCarid]);
  296.                                     FactionCars[fc][fLock] = true;
  297.                                     GameTextForPlayer(playerid,"~w~Fahrzeug~n~~r~Abgeschlossen",5000,3);
  298.                                 }break;
  299.                             }
  300.                         }return true;
  301.                     }
  302.                 }
  303.             }SendClientMessage(playerid,FACTION_COL_GREY,"Du sitzt in keinem Fraktionsfahrzeug!");
  304.         }else{
  305.             if(GetPlayerState(playerid)==PLAYER_STATE_PASSENGER)
  306.                 SendClientMessage(playerid,FACTION_COL_GREY,"Du musst der Fahrer dieses Fahrzeuges sein.");
  307.             else
  308.                 SendClientMessage(playerid,FACTION_COL_GREY,"Du muss in einem Fahrzeug sitzen.");
  309.         }return true;
  310.     }
  311.     #endif
  312.     return 1;
  313. }
  314. dcmd_efa(playerid,params[]){
  315.     if(GetPlayerAdmin(playerid) >= NEEDED_ADMINLEVEL){
  316.         new vehid,col1,col2,faction[5];
  317.         if(!sscanf(params,"dddd",vehid,col1,col2,faction[0])){
  318.             sscanf(params,"dddddddd",vehid,col1,col2,faction[0],faction[1],faction[2],faction[3],faction[4]);
  319.             if(vehid < 400 || vehid > 611) return SendClientMessage(playerid,FACTION_COL_GREY,"Vehicle-ID nur von 400 bis 611.");
  320.             if(col1 < 0 || col1 > 255) return SendClientMessage(playerid,FACTION_COL_GREY,"Falsche Farbe(1)!");
  321.             if(col2 < 0 || col2 > 255) return SendClientMessage(playerid,FACTION_COL_GREY,"Falsche Farbe(2)!");
  322.             if(faction[0] && faction[0] <= MAX_FACTIONS){
  323.                 for(new f;f<5;f++){
  324.                     if(faction[f] <= 0 || faction[f] > MAX_FACTIONS){
  325.                         faction[f] = -255;
  326.                     }
  327.                 }
  328.                 for(new fc;fc<sizeof(FactionCars);fc++){
  329.                     if(FactionCars[fc][fVehid] < 400 || FactionCars[fc][fVehid] > 611){
  330.                         FactionCars[fc][fVehid] = vehid;
  331.                         new Float:fX,Float:fY,Float:fZ,Float:fA;
  332.                         GetPlayerPos(playerid,fX,fY,fZ),GetPlayerFacingAngle(playerid,fA);
  333.                         FactionCars[fc][fPos][0] = fX;
  334.                         FactionCars[fc][fPos][1] = fY;
  335.                         FactionCars[fc][fPos][2] = fZ;
  336.                         FactionCars[fc][fPos][3] = fA;
  337.                         FactionCars[fc][fCol][0] = col1;
  338.                         FactionCars[fc][fCol][1] = col2;
  339.                         for(new f;f<5;f++){
  340.                             FactionCars[fc][fFaction][f] = faction[f];
  341.                         }
  342.                         FactionCars[fc][fPrice] = 0;
  343.                         for(new mod;mod<14;mod++)
  344.                             FactionCars[fc][fTuning][mod] = 0;
  345.                         FactionCars[fc][fCarid] = CreateVehicle(FactionCars[fc][fVehid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2],FactionCars[fc][fPos][3],FactionCars[fc][fCol][0],FactionCars[fc][fCol][1],-255);
  346.                         #if defined FACTION_CARS_LOCKABLE
  347.                         FactionCars[fc][fLock] = true;
  348.                         #endif
  349.                         SendClientMessage(playerid,FACTION_COL_YELLOW,"Du hast das Fraktionsfahrzeug erfolgreich erstellt.");
  350.                         SendClientMessage(playerid,FACTION_COL_YELLOW,"Vergesse es nicht mit '/fpark' umzuparken.");
  351.                         PutPlayerInVehicle(playerid,FactionCars[fc][fCarid],0);
  352.                         return true;
  353.                     }
  354.                 }SendClientMessage(playerid,FACTION_COL_GREY,"Die Maximale Anzahl von Fraktionsfahrzeugen wurde bereits erreicht.");
  355.             }else SendClientMessage(playerid,FACTION_COL_GREY,"Falsche Fraktion!");
  356.         }else SendClientMessage(playerid,FACTION_COL_GREY,"Benutze: '/efa [Model] [Farbe(1)] [Farbe(2)] [Hauptfraktion]'.");
  357.     }else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht berechtigt diesen Befehl anzuwenden.");
  358.     return true;
  359. }
  360. forward FRAC_OnPlayerStateChange(playerid, newstate, oldstate);
  361. public FRAC_OnPlayerStateChange(playerid, newstate, oldstate){
  362.     if(newstate==PLAYER_STATE_DRIVER){
  363.         new Carid1 = GetPlayerVehicleID(playerid);
  364.         for(new fbl;fbl<sizeof(FactionBuylist);fbl++){
  365.             if(Carid1 == FactionBuylist[fbl][fbCarid]){
  366.                 if(IsAllowedFactionToBuy(GetPlayerLeader(playerid))){
  367.                     TogglePlayerControllable(playerid,false);
  368.                     new fblText[256];
  369.                     format(fblText,sizeof(fblText),"{FFFFFF}Möchtest du das Fahrzeug deiner Fraktion kaufen?\n\n{F3FF02}Fahrzeugname: %s\nPreis:         $%d\n\n{FFFFFF}Um das Fahrzeug zu kaufen benutze den Button 'Ja', um es nicht zu kaufen den Button 'Nein'.",fCarName[FactionBuylist[fbl][fbVehid]-400],FactionBuylist[fbl][fbPrice]);
  370.                     ShowPlayerDialog(playerid,DIALOG_FACTION_CAR_BUY,DIALOG_STYLE_MSGBOX,"{FFFFFF}Fraktionsautohaus:",fblText,"Nein","Ja");
  371.                 }else{
  372.                     SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht brechtigt Fraktionsfahrzeuge zu kaufen!");
  373.                     new Float:pPos[3];
  374.                     GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
  375.                     SetPlayerPos(playerid,pPos[0]+2.5,pPos[1]+2.5,pPos[2]);
  376.                 }break;
  377.             }
  378.         }
  379.         for(new fc;fc<sizeof(FactionCars);fc++){
  380.             if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
  381.                 if(FactionCars[fc][fCarid] == GetPlayerVehicleID(playerid)){
  382.                     for(new f;f<5;f++){
  383.                         if(GetPlayerAdmin(playerid) >= NEEDED_ADMINLEVEL || GetPlayerFaction(playerid) == FactionCars[fc][fFaction][f])
  384.                             return true;
  385.                     }
  386.                     SendClientMessage(playerid,FACTION_COL_GREY,"Du bestitzt für dieses Fahrzeug keine Schlüssel, du verlässt das Fahrzeug.");
  387.                     RemovePlayerFromVehicle(playerid);
  388.                     return true;
  389.                 }
  390.             }
  391.         }
  392.     }return 1;
  393. }
  394. forward FRAC_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
  395. public FRAC_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
  396.     if(dialogid == DIALOG_FACTION_CAR_BUY){
  397.         if(response){
  398.             new Float:pPos[3];
  399.             GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
  400.             SetPlayerPos(playerid,pPos[0]+2.5,pPos[1]+2.5,pPos[2]);
  401.             TogglePlayerControllable(playerid,true);
  402.         }
  403.         if(!response){
  404.             if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER){
  405.                 if(IsAllowedFactionToBuy(GetPlayerLeader(playerid))){
  406.                     if(GetFactioncarsOfFaction(GetPlayerLeader(playerid)) < MAX_BUY){
  407.                         new Carid1 = GetPlayerVehicleID(playerid);
  408.                         for(new fbl;fbl<sizeof(FactionBuylist);fbl++){
  409.                             if(Carid1 == FactionBuylist[fbl][fbCarid]){
  410.                                 if(CallRemoteFunction("Script_GetPlayerMoney","i",playerid) >= FactionBuylist[fbl][fbPrice]){
  411.                                     for(new fc;fc<sizeof(FactionCars);fc++){
  412.                                         if(FactionCars[fc][fVehid] < 400 || FactionCars[fc][fVehid] > 611){
  413.                                             FactionCars[fc][fVehid] = FactionBuylist[fbl][fbVehid];
  414.                                             FactionCars[fc][fPos][0] = FactionBuySpawn[0];
  415.                                             FactionCars[fc][fPos][1] = FactionBuySpawn[1];
  416.                                             FactionCars[fc][fPos][2] = FactionBuySpawn[2];
  417.                                             FactionCars[fc][fPos][3] = FactionBuySpawn[3];
  418.                                             new Color[2];
  419.                                             GetDefaultCarColorOfFaction(GetPlayerLeader(playerid),Color[0],Color[1]);
  420.                                             FactionCars[fc][fCol][0] = Color[0];
  421.                                             FactionCars[fc][fCol][1] = Color[1];
  422.  
  423.                                             FactionCars[fc][fPrice] = FactionBuylist[fbl][fbPrice];
  424.                                             for(new slot;slot<14;slot++)
  425.                                                 FactionCars[fc][fTuning][slot] = 0;
  426.                                             FactionCars[fc][fCarid] = CreateVehicle(FactionCars[fc][fVehid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2],FactionCars[fc][fPos][3],FactionCars[fc][fCol][0],FactionCars[fc][fCol][1],-255);
  427.                                             print(">>> Nach dem Autoerstellen!");
  428.                                             #if defined FACTION_CARS_LOCKABLE
  429.                                             fLockCar(FactionCars[fc][fCarid]);
  430.                                             FactionCars[fc][fLocked] = true;
  431.                                             #endif
  432.                                             for(new f;f<5;f++)
  433.                                             {
  434.                                                 FactionCars[fc][fFaction][f] = -255;
  435.                                             }
  436.                                             FactionCars[fc][fFaction][0] = GetPlayerLeader(playerid);
  437.                                             PutPlayerInVehicle(playerid,FactionCars[fc][fCarid],0);
  438.                                             CallRemoteFunction("Script_SetPlayerMoney","id",playerid,(CallRemoteFunction("Script_GetPlayerMoney","i",playerid)-FactionBuylist[fbl][fbPrice]));
  439.                                             new Float:pPos[3];
  440.                                             GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
  441.                                             SetPlayerPos(playerid,pPos[0]+2.5,pPos[1]+2.5,pPos[2]);
  442.                                             TogglePlayerControllable(playerid,true);
  443.                                             SendClientMessage(playerid,FACTION_COL_YELLOW,"Glückwunsch zum neuen Fahrzeug.");
  444.                                             SendClientMessage(playerid,FACTION_COL_YELLOW,"Bitte vergesse nicht das Fahrzeug mit: '/fpark' umzuparken.");
  445.                                             SendClientMessage(playerid,FACTION_COL_YELLOW,"Das Fahrzeug steht am Ausgabepunkt bereit!");
  446.                                             return 1;
  447.                                         }
  448.                                     }SendClientMessage(playerid,FACTION_COL_GREY,"Die maximale Anzahl von Fraktionsfahrzeugen ist bereits erreicht.");
  449.                                 }else SendClientMessage(playerid,FACTION_COL_GREY,"Du hast nicht genügend Geld bei dir!");
  450.                                 break;
  451.                             }
  452.                         }
  453.                     }else SendClientMessage(playerid,FACTION_COL_GREY,"Deine Fraktion hat das Limit von Fahrzeugen bereits erreicht.");
  454.                 }else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht brechtigt Fraktionsfahrzeuge zu kaufen!");
  455.                 new Float:pPos[3];
  456.                 GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
  457.                 SetPlayerPos(playerid,pPos[0]+2.5,pPos[1]+2.5,pPos[2]);
  458.                 TogglePlayerControllable(playerid,true);
  459.             }
  460.         }return 1;
  461.     }return 0;
  462. }
  463. forward FRAC_OnVehicleMod(playerid, vehicleid, componentid);
  464. public FRAC_OnVehicleMod(playerid, vehicleid, componentid){
  465.     for(new fc;fc<sizeof(FactionCars);fc++){
  466.         if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
  467.             if(FactionCars[fc][fCarid] == vehicleid){
  468.                 #if defined FACTION_CARS_TUNEABLE
  469.                 if((FactionCars[fc][fFaction][0] == GetPlayerLeader(playerid) || GetPlayerAdmin(playerid)) && IsAllowedFactionToTune(FactionCars[fc][fFaction][0]))
  470.                     FactionCars[fc][fTuning][GetVehicleComponentType(componentid)] = componentid;
  471.                 else
  472.                     SetTimerEx("RemoveComponent",3000,false,"dd",vehicleid,componentid);
  473.                 #else
  474.                 SetTimerEx("RemoveComponent",3000,false,"dd",vehicleid,componentid);
  475.                 #endif
  476.                 break;
  477.             }
  478.         }
  479.     }return 1;
  480. }
  481. forward FRAC_OnVehiclePaintjob(playerid, vehicleid, paintjobid);
  482. public FRAC_OnVehiclePaintjob(playerid, vehicleid, paintjobid){
  483.     for(new fc;fc<sizeof(FactionCars);fc++){
  484.         if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
  485.             if(FactionCars[fc][fCarid] == vehicleid){
  486.                 SetTimerEx("ChangePaintjob",3000,false,"dd",FactionCars[fc][fCarid],3);
  487.                 break;
  488.             }
  489.         }
  490.     }return 1;
  491. }
  492. forward FRAC_OnVehicleRespray(playerid, vehicleid, color1, color2);
  493. public FRAC_OnVehicleRespray(playerid, vehicleid, color1, color2){
  494.     for(new fc;fc<sizeof(FactionCars);fc++){
  495.         if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
  496.             if(FactionCars[fc][fCarid] == vehicleid){
  497.                 SetTimerEx("ChangeColor",3000,false,"ddd",FactionCars[fc][fCarid],FactionCars[fc][fCol][0],FactionCars[fc][fCol][1]);
  498.                 break;
  499.             }
  500.         }
  501.     }return 1;
  502. }
  503. #if defined FACTION_CARS_LOCKABLE
  504. public LockFactionCarDoors(){
  505.     ForAllPlayers(i){
  506.         for(new fc;fc<sizeof(FactionCars);fc++){
  507.             if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
  508.                 if(FactionCars[fc][fLock] == true){
  509.                     if(GetPlayerFaction(i)==FactionCars[fc][fFaction][0]||GetPlayerFaction(i)==FactionCars[fc][fFaction][1]||GetPlayerFaction(i)==FactionCars[fc][fFaction][2]||GetPlayerFaction(i)==FactionCars[fc][fFaction][3]||GetPlayerFaction(i)==FactionCars[fc][fFaction][4]||GetPlayerAdmin(i) >= NEEDED_ADMINLEVEL)
  510.                         SetVehicleParamsForPlayer(FactionCars[fc][fCarid],i,false,false);
  511.                     else
  512.                        SetVehicleParamsForPlayer(FactionCars[fc][fCarid],i,false,true);
  513.                 }
  514.             }
  515.         }
  516.     }return true;
  517. }
  518. stock fLockCar(vehicleid){
  519.     ForAllPlayers(i)
  520.         SetVehicleParamsForPlayer(vehicleid,i,false,true);
  521.     return true;
  522. }
  523. stock fUnlockCar(vehicleid){
  524.     ForAllPlayers(i)
  525.         SetVehicleParamsForPlayer(vehicleid,i,false,false);
  526.     return true;
  527. }
  528. #endif
  529. public DestroyAndCreateFactionCar(fc){
  530.     if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
  531.         DestroyVehicle(FactionCars[fc][fCarid]);
  532.         FactionCars[fc][fCarid] = CreateVehicle(FactionCars[fc][fVehid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2],FactionCars[fc][fPos][3],FactionCars[fc][fCol][0],FactionCars[fc][fCol][1],-255);
  533.         #if defined FACTION_CARS_TUNEABLE
  534.         if(IsAllowedFactionToTune(FactionCars[fc][fFaction][0])){
  535.             if(FactionCars[fc][fTuning][0] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][0]); }
  536.             if(FactionCars[fc][fTuning][1] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][1]); }
  537.             if(FactionCars[fc][fTuning][2] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][2]); }
  538.             if(FactionCars[fc][fTuning][3] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][3]); }
  539.             if(FactionCars[fc][fTuning][4] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][4]); }
  540.             if(FactionCars[fc][fTuning][5] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][5]); }
  541.             if(FactionCars[fc][fTuning][6] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][6]); }
  542.             if(FactionCars[fc][fTuning][7] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][7]); }
  543.             if(FactionCars[fc][fTuning][8] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][8]); }
  544.             if(FactionCars[fc][fTuning][9] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][9]); }
  545.             if(FactionCars[fc][fTuning][10] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][10]); }
  546.             if(FactionCars[fc][fTuning][11] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][11]); }
  547.             if(FactionCars[fc][fTuning][12] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][12]); }
  548.             if(FactionCars[fc][fTuning][13] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][13]); }
  549.         }
  550.         #endif
  551.     }return true;
  552. }
  553. public LoadFactionCars(){
  554.     if(!fexist(FACTION_CAR_FILE)){
  555.         new File:tfFile=fopen(FACTION_CAR_FILE,io_write);
  556.         fclose(tfFile);
  557.     }
  558.     new File:fFile=fopen(FACTION_CAR_FILE,io_read),Content[1024],fc;
  559.     while(fread(fFile,Content) && fc<sizeof(FactionCars)){
  560.         StripNewLine(Content);
  561.         sscanf(Content,"dffffdddddddddddddddddddddd",
  562.         FactionCars[fc][fVehid],
  563.         FactionCars[fc][fPos][0],
  564.         FactionCars[fc][fPos][1],
  565.         FactionCars[fc][fPos][2],
  566.         FactionCars[fc][fPos][3],
  567.         FactionCars[fc][fCol][0],
  568.         FactionCars[fc][fCol][1],
  569.         FactionCars[fc][fFaction][0],
  570.         FactionCars[fc][fFaction][1],
  571.         FactionCars[fc][fFaction][2],
  572.         FactionCars[fc][fFaction][3],
  573.         FactionCars[fc][fFaction][4],
  574.         FactionCars[fc][fTuning][0],
  575.         FactionCars[fc][fTuning][1],
  576.         FactionCars[fc][fTuning][2],
  577.         FactionCars[fc][fTuning][3],
  578.         FactionCars[fc][fTuning][4],
  579.         FactionCars[fc][fTuning][5],
  580.         FactionCars[fc][fTuning][6],
  581.         FactionCars[fc][fTuning][7],
  582.         FactionCars[fc][fTuning][8],
  583.         FactionCars[fc][fTuning][9],
  584.         FactionCars[fc][fTuning][10],
  585.         FactionCars[fc][fTuning][11],
  586.         FactionCars[fc][fTuning][12],
  587.         FactionCars[fc][fTuning][13],
  588.         FactionCars[fc][fPrice]);
  589.         if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
  590.             FactionCars[fc][fCarid] = CreateVehicle(FactionCars[fc][fVehid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2],FactionCars[fc][fPos][3],FactionCars[fc][fCol][0],FactionCars[fc][fCol][1],-255);
  591.             #if defined FACTION_CARS_LOCKABLE
  592.             fLockCar(FactionCars[fc][fCarid]);
  593.             FactionCars[fc][fLock] = true;
  594.             #endif
  595.             #if defined FACTION_CARS_TUNEABLE
  596.             if(IsAllowedFactionToTune(FactionCars[fc][fFaction][0])){
  597.                 if(FactionCars[fc][fTuning][0] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][0]); }
  598.                 if(FactionCars[fc][fTuning][1] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][1]); }
  599.                 if(FactionCars[fc][fTuning][2] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][2]); }
  600.                 if(FactionCars[fc][fTuning][3] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][3]); }
  601.                 if(FactionCars[fc][fTuning][4] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][4]); }
  602.                 if(FactionCars[fc][fTuning][5] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][5]); }
  603.                 if(FactionCars[fc][fTuning][6] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][6]); }
  604.                 if(FactionCars[fc][fTuning][7] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][7]); }
  605.                 if(FactionCars[fc][fTuning][8] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][8]); }
  606.                 if(FactionCars[fc][fTuning][9] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][9]); }
  607.                 if(FactionCars[fc][fTuning][10] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][10]); }
  608.                 if(FactionCars[fc][fTuning][11] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][11]); }
  609.                 if(FactionCars[fc][fTuning][12] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][12]); }
  610.                 if(FactionCars[fc][fTuning][13] != 0) { AddVehicleComponent(FactionCars[fc][fCarid],FactionCars[fc][fTuning][13]); }
  611.             }
  612.             #endif
  613.             fc++;
  614.         }
  615.     }fclose(fFile);
  616.     return printf("  '%d' Fraktionsfahrzeuge wurden geladen & erstellt.",fc);
  617. }
  618. public SaveFactionCars(bool:destroy){
  619.     if(fexist(FACTION_CAR_FILE)) fremove(FACTION_CAR_FILE);
  620.     new File:fFile=fopen(FACTION_CAR_FILE,io_append),Content[1024];
  621.     for(new fc;fc<sizeof(FactionCars);fc++){
  622.         if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
  623.             format(Content,sizeof(Content),"%d %.3f %.3f %.3f %.3f %03d %03d %02d %02d %02d %02d %02d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\r\n",
  624.             FactionCars[fc][fVehid],
  625.             FactionCars[fc][fPos][0],
  626.             FactionCars[fc][fPos][1],
  627.             FactionCars[fc][fPos][2],
  628.             FactionCars[fc][fPos][3],
  629.             FactionCars[fc][fCol][0],
  630.             FactionCars[fc][fCol][1],
  631.             FactionCars[fc][fFaction][0],
  632.             FactionCars[fc][fFaction][1],
  633.             FactionCars[fc][fFaction][2],
  634.             FactionCars[fc][fFaction][3],
  635.             FactionCars[fc][fFaction][4],
  636.             FactionCars[fc][fTuning][0],
  637.             FactionCars[fc][fTuning][1],
  638.             FactionCars[fc][fTuning][2],
  639.             FactionCars[fc][fTuning][3],
  640.             FactionCars[fc][fTuning][4],
  641.             FactionCars[fc][fTuning][5],
  642.             FactionCars[fc][fTuning][6],
  643.             FactionCars[fc][fTuning][7],
  644.             FactionCars[fc][fTuning][8],
  645.             FactionCars[fc][fTuning][9],
  646.             FactionCars[fc][fTuning][10],
  647.             FactionCars[fc][fTuning][11],
  648.             FactionCars[fc][fTuning][12],
  649.             FactionCars[fc][fTuning][13],
  650.             FactionCars[fc][fPrice]);
  651.             fwrite(fFile,Content);
  652.             if(destroy == true){
  653.                 if(DestroyVehicle(FactionCars[fc][fCarid]))
  654.                     FactionCars[fc][fCarid] = -255;
  655.             }
  656.         }
  657.     }fclose(fFile);
  658.     return true;
  659. }
  660. public RespawnFactionBuylist(){
  661.     for(new fbl;fbl<sizeof(FactionBuylist);fbl++)
  662.         SetVehicleToRespawn(FactionBuylist[fbl][fbCarid]);
  663.     return 1;
  664. }
  665. public RemoveComponent(vehicleid,componentid)
  666.     return RemoveVehicleComponent(vehicleid,componentid);
  667. public ChangePaintjob(vehicleid,paintjobid)
  668.     return ChangeVehiclePaintjob(vehicleid,paintjobid);
  669. public ChangeColor(vehicleid,color1,color2)
  670.     return ChangeVehicleColor(vehicleid,color1,color2);
  671.  
  672.  
  673. #if defined FACTION_CARS_TUNEABLE
  674. stock IsAllowedFactionToTune(Faction){
  675.     if(Faction){
  676.         if((Faction >= 5 && Faction <= 20) || Faction >= 22 && Faction <= 25) return true;
  677.     }return false;
  678. }
  679. #endif
  680. stock IsAllowedFactionToBuy(Faction){
  681.     if(Faction){
  682.         if((Faction >= 5 && Faction <= 20) || Faction >= 22 && Faction <= 25) return true;
  683.     }return false;
  684. }
  685. stock GetDefaultCarColorOfFaction(Faction,&col1,&col2){
  686.     if(Faction==5)
  687.     {
  688.         col1 = 0;
  689.         col2 = 0;
  690.     }
  691.     else if(Faction==6)
  692.     {
  693.         col1 = 15;
  694.         col2 = 15;
  695.     }
  696.     else if(Faction==13)
  697.     {
  698.         col1 = 86;
  699.         col2 = 86;
  700.     }
  701.     else if(Faction==14)
  702.     {
  703.         col1 = 22;
  704.         col2 = 22;
  705.     }
  706.     else if(Faction==15)
  707.     {
  708.         col1 = 3;
  709.         col2 = 3;
  710.     }
  711.     else if(Faction==16)
  712.     {
  713.         col1 = 6;
  714.         col2 = 6;
  715.     }
  716.     else if(Faction==17)
  717.     {
  718.         col1 = 93;
  719.         col2 = 93;
  720.     }
  721.     else if(Faction==19)
  722.     {
  723.         col1 = 0;
  724.         col2 = 0;
  725.     }
  726.     else if(Faction==22)
  727.     {
  728.         col1 = 116;
  729.         col2 = 116;
  730.     }
  731.     else
  732.     {
  733.         col1 = 0;
  734.         col2 = 0;
  735.     }
  736.     return 1;
  737. }
  738. stock GetFactioncarsOfFaction(Faction){
  739.     new Cars;
  740.     for(new fc;fc<sizeof(FactionCars);fc++){
  741.         if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
  742.             if(FactionCars[fc][fFaction][0] == Faction)
  743.                 Cars++;
  744.         }
  745.     }return Cars;
  746. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement