Advertisement
Guest User

Untitled

a guest
May 21st, 2016
638
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <a_samp>
  2. #include <ZCMD>
  3. #include <sscanf2>
  4.  
  5. #define FILTERSCRIPT
  6.  
  7. #define COLOR_GREEN 0x33AA33AA
  8. #define COLOR_RED 0xAA3333AA
  9.  
  10. #define DIALOG_MECHANIC 9982
  11. #define DIALOG_INSTALL_MOD 9983
  12. #define DIALOG_RIMS_SHOW 9984
  13.  
  14. forward Float:frandomEx(Float:min, Float:max);
  15. forward UpdatePartPrice();
  16. forward Float:GetCurrentPartsPrice_float();
  17.  
  18. enum e_Mech {
  19.     CreatingPart, //save, its what is player currently creating
  20.     PlayerParts, //save, its amount of parts player has on him
  21.     StartedCreating, //save, it saves the time when u started creating something
  22.     CarComponent, //Save, it tells what part player has on him
  23.     ComponentsInstalled //Save, it tells how many parts player has installed in total
  24. };
  25. new sys_Mech[MAX_PLAYERS][e_Mech];
  26.  
  27.  
  28. new
  29.     NITRO_COST = 200,
  30.     HYDRAULICS_COST = 400,
  31.     Float:PARTS_PRICE = 2.0;
  32.  
  33. new Text3D:PartsText;
  34.    
  35.    
  36.    
  37.  
  38.  
  39. #if defined FILTERSCRIPT
  40.  
  41. public OnFilterScriptInit()
  42. {
  43.  
  44.     print("\n--------------------------------------");
  45.     print(" Mechanic job by Twinki");
  46.     print("--------------------------------------\n");
  47.  
  48.     SetTimer("UpdatePartPrice",600000,true);
  49.     new Float:rr = frandomEx(1.0,5.0);
  50.     new string[64];
  51.     format(string,sizeof(string),"{FFFFFF}Parts price: {00FFFF}%.2f$",rr);
  52.     PartsText = Create3DTextLabel(string, 0, 1566.1454,23.2613,24.1641, 20.0, 0, 0);
  53.     PARTS_PRICE = rr;
  54.     return 1;
  55. }
  56.  
  57. public OnFilterScriptExit()
  58. {
  59.     return 1;
  60. }
  61.  
  62. #else
  63.  
  64. main()
  65. {
  66.     print("\n----------------------------------");
  67.     print(" Blank Gamemode by your name here");
  68.     print("----------------------------------\n");
  69. }
  70.  
  71. #endif
  72.  
  73.  
  74.  
  75. /* Commands */
  76. CMD:parthelp(playerid,params[]) {
  77.     SendClientMessage(playerid,COLOR_RED,"Commands: /buyparts, /getmod, /createmod, /installmod, /modtimeleft");
  78.     return true;
  79. }
  80.  
  81. CMD:createmod(playerid,params[]) {
  82.     if(!IsPlayerInRangeOfPoint(playerid,5.0,1566.1454,23.2613,24.1641)) return SendClientMessage(playerid,COLOR_RED,"You are not near the mechanic shop outside Los Santos");
  83.     if(GetPlayerComponent(playerid) >= 1) return SendClientMessage(playerid,COLOR_RED,"You already have a part on you. Please use it first");
  84.     if(sys_Mech[playerid][StartedCreating] != 0) return SendClientMessage(playerid,COLOR_RED,"You are already assembling car part");
  85.     new string[256];
  86.     format(string,sizeof(string),"{FFFFFF}Item Name\t Parts Price\n Rims\t Unknown\n Nitro\t {FFFF00}%i\n{FFFFFF} Hydraulics\t {FFFF00}%i",NITRO_COST,HYDRAULICS_COST);
  87.     ShowPlayerDialog(playerid,DIALOG_MECHANIC,DIALOG_STYLE_TABLIST_HEADERS,"Parts for Creation",string,"Next","Close");
  88.     return true;
  89. }
  90.  
  91. CMD:modtimeleft(playerid,params[]) {
  92.     if(sys_Mech[playerid][StartedCreating] == 0) return SendClientMessage(playerid,COLOR_RED,"You are not assembling any parts or your part has finished assembling");
  93.     new string[64], calc = sys_Mech[playerid][StartedCreating]-gettime();
  94.     format(string,sizeof(string),"Your part will be ready in %i seconds",calc);
  95.     SendClientMessage(playerid,COLOR_RED,string);
  96.     return true;
  97. }
  98.  
  99. CMD:getmod(playerid,params[]) {
  100.     if(!IsPlayerInRangeOfPoint(playerid,5.0,1566.1454,23.2613,24.1641)) return SendClientMessage(playerid,COLOR_RED,"You are not near the mechanic shop outside Los Santos");
  101.     if(sys_Mech[playerid][StartedCreating] == 0) return SendClientMessage(playerid,COLOR_RED,"You are not assembling any parts");
  102.     new string[64], calc = sys_Mech[playerid][StartedCreating]-gettime();
  103.     format(string,sizeof(string),"Your part is not ready yet, it will be ready in %i seconds",calc);
  104.     if(gettime() < sys_Mech[playerid][StartedCreating]) return SendClientMessage(playerid,COLOR_RED,string);
  105.     sys_Mech[playerid][StartedCreating] = 0;
  106.    
  107.     format(string,sizeof(string),"You have created %s",GetPartName(playerid));
  108.     SendClientMessage(playerid,COLOR_RED,string);
  109.     GivePlayerComponent(playerid,GetPlayerCreatingPart(playerid));
  110.     SetPlayerCreatingPart(playerid,0);
  111.     return true;
  112. }
  113.  
  114. CMD:buyparts(playerid,params[]) {
  115.     if(!IsPlayerInRangeOfPoint(playerid,5.0,1566.1454,23.2613,24.1641)) return SendClientMessage(playerid,COLOR_RED,"You are not near the mechanic shop outside Los Santos");
  116.     new amount;
  117.     if(sscanf(params,"i",amount)) return SendClientMessage(playerid,COLOR_RED,"Usage: /buyparts [amount]");
  118.     if(amount <= 0) return SendClientMessage(playerid,COLOR_RED,"You cannot buy less than 0 or 0 parts");
  119.     if(GetPlayerParts(playerid) >= 501) return SendClientMessage(playerid,COLOR_RED,"You already have 500 parts on you. You cannot have more than 500!");
  120.     new Calc3 = GetPlayerParts(playerid) + amount;
  121.     if(Calc3 >= 501) return SendClientMessage(playerid,COLOR_RED,"You cannot carry more than 500 parts!");
  122.     new Float:calc5 = GetCurrentPartsPrice_float()*amount;
  123.     new Float:calc6 = (calc5/100)*UpPriceByAmount(playerid);
  124.     new Float:calc2 = calc5+calc6;
  125.     new calc = floatround(calc2,floatround_round);
  126.     if(GetPlayerMoney(playerid) < calc) return SendClientMessage(playerid,COLOR_RED,"You dont have enough money to do this");
  127.     GivePlayerParts(playerid, amount);
  128.    
  129.     new string[128];
  130.     format(string,sizeof(string),"You have purchased %i mechanical parts for %i$ at a price of %.2f$ per part! Tax: %i percent",amount,calc,GetCurrentPartsPrice_float(),UpPriceByAmount(playerid));
  131.     SendClientMessage(playerid,COLOR_GREEN,string);
  132.     return true;
  133. }
  134.  
  135.  
  136. CMD:installmod(playerid,params[] ) {
  137.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_RED,"You are not inside any vehicles");
  138.     if(GetPlayerComponent(playerid) == 0) return SendClientMessage(playerid,COLOR_RED,"You dont have any mods on you");
  139.     ShowPlayerDialog(playerid,DIALOG_INSTALL_MOD,DIALOG_STYLE_LIST,"Mod installation","Rims\nNitro\nHydraulics","Install","Close");
  140.     return true;
  141. }
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
  149.     new vid = GetPlayerVehicleID(playerid);
  150.     switch(dialogid) {
  151.         case DIALOG_INSTALL_MOD: {
  152.             if(!response) return true;
  153.             switch(listitem) {
  154.                 case 0: {
  155.                     if(!PlayerHasRims(playerid)) return SendClientMessage(playerid,COLOR_RED,"You dont have any rims on you");
  156.                     InstallVehicleComponent(playerid,vid,GetPlayerComponent(playerid));
  157.                 }
  158.                 case 1: {
  159.                     if(GetPlayerComponent(playerid) != 1010) return SendClientMessage(playerid,COLOR_RED,"You dont have nitro on you");
  160.                     InstallVehicleComponent(playerid,vid,GetPlayerComponent(playerid));
  161.                 }
  162.                 case 2: {
  163.                     if(GetPlayerComponent(playerid) != 1087) return SendClientMessage(playerid,COLOR_RED,"You dont have any hydraulics on you");
  164.                     InstallVehicleComponent(playerid,vid,GetPlayerComponent(playerid));
  165.                 }
  166.             }
  167.         }
  168.        
  169.         case DIALOG_RIMS_SHOW: {
  170.             if(!response) return true;
  171.             switch(listitem) {
  172.                 case 0: {
  173.                     if(GetPlayerParts(playerid) < 300) return SendClientMessage(playerid,COLOR_RED,"You dont have enough parts, you need 300");
  174.                     if(sys_Mech[playerid][StartedCreating] >= 1) return SendClientMessage(playerid,COLOR_RED,"You are already assembling something");
  175.                     SetModToCreate(playerid,1025);
  176.                 }
  177.                 case 1: {
  178.                     if(GetPlayerParts(playerid) < 450) return SendClientMessage(playerid,COLOR_RED,"You dont have enough parts, you need 450");
  179.                     if(sys_Mech[playerid][StartedCreating] >= 1) return SendClientMessage(playerid,COLOR_RED,"You are already assembling something");
  180.                     SetModToCreate(playerid,1073);
  181.                 }
  182.                 case 2: {
  183.                     if(GetPlayerParts(playerid) < 400) return SendClientMessage(playerid,COLOR_RED,"You dont have enough parts, you need 400");
  184.                     if(sys_Mech[playerid][StartedCreating] >= 1) return SendClientMessage(playerid,COLOR_RED,"You are already assembling something");
  185.                     SetModToCreate(playerid,1074);
  186.                 }
  187.                 case 3: {
  188.                     if(GetPlayerParts(playerid) < 500) return SendClientMessage(playerid,COLOR_RED,"You dont have enough parts, you need 500");
  189.                     if(sys_Mech[playerid][StartedCreating] >= 1) return SendClientMessage(playerid,COLOR_RED,"You are already assembling something");
  190.                     SetModToCreate(playerid,1075);
  191.                 }
  192.                 case 4: {
  193.                     if(GetPlayerParts(playerid) < 450) return SendClientMessage(playerid,COLOR_RED,"You dont have enough parts, you need 450");
  194.                     if(sys_Mech[playerid][StartedCreating] >= 1) return SendClientMessage(playerid,COLOR_RED,"You are already assembling something");
  195.                     SetModToCreate(playerid,1076);
  196.                 }
  197.                 case 5: {
  198.                     if(GetPlayerParts(playerid) < 400) return SendClientMessage(playerid,COLOR_RED,"You dont have enough parts, you need 400");
  199.                     if(sys_Mech[playerid][StartedCreating] >= 1) return SendClientMessage(playerid,COLOR_RED,"You are already assembling something");
  200.                     SetModToCreate(playerid,1077);
  201.                 }
  202.                 case 6: {
  203.                     if(GetPlayerParts(playerid) < 420) return SendClientMessage(playerid,COLOR_RED,"You dont have enough parts, you need 420");
  204.                     if(sys_Mech[playerid][StartedCreating] >= 1) return SendClientMessage(playerid,COLOR_RED,"You are already assembling something");
  205.                     SetModToCreate(playerid,1078);
  206.                 }
  207.                 case 7: {
  208.                     if(GetPlayerParts(playerid) < 430) return SendClientMessage(playerid,COLOR_RED,"You dont have enough parts, you need 430");
  209.                     if(sys_Mech[playerid][StartedCreating] >= 1) return SendClientMessage(playerid,COLOR_RED,"You are already assembling something");
  210.                     SetModToCreate(playerid,1079);
  211.                 }
  212.                 case 8: {
  213.                     if(GetPlayerParts(playerid) < 440) return SendClientMessage(playerid,COLOR_RED,"You dont have enough parts, you need 440");
  214.                     if(sys_Mech[playerid][StartedCreating] >= 1) return SendClientMessage(playerid,COLOR_RED,"You are already assembling something");
  215.                     SetModToCreate(playerid,1080);
  216.                 }
  217.                 case 9: {
  218.                     if(GetPlayerParts(playerid) < 390) return SendClientMessage(playerid,COLOR_RED,"You dont have enough parts, you need 390");
  219.                     if(sys_Mech[playerid][StartedCreating] >= 1) return SendClientMessage(playerid,COLOR_RED,"You are already assembling something");
  220.                     SetModToCreate(playerid,1081);
  221.                 }
  222.                 case 10: {
  223.                     if(GetPlayerParts(playerid) < 395) return SendClientMessage(playerid,COLOR_RED,"You dont have enough parts, you need 395");
  224.                     if(sys_Mech[playerid][StartedCreating] >= 1) return SendClientMessage(playerid,COLOR_RED,"You are already assembling something");
  225.                     SetModToCreate(playerid,1082);
  226.                 }
  227.                 case 11: {
  228.                     if(GetPlayerParts(playerid) < 500) return SendClientMessage(playerid,COLOR_RED,"You dont have enough parts, you need 500");
  229.                     if(sys_Mech[playerid][StartedCreating] >= 1) return SendClientMessage(playerid,COLOR_RED,"You are already assembling something");
  230.                     SetModToCreate(playerid,1083);
  231.                 }
  232.                 case 12: {
  233.                     if(GetPlayerParts(playerid) < 475) return SendClientMessage(playerid,COLOR_RED,"You dont have enough parts, you need 475");
  234.                     if(sys_Mech[playerid][StartedCreating] >= 1) return SendClientMessage(playerid,COLOR_RED,"You are already assembling something");
  235.                     SetModToCreate(playerid,1084);
  236.                 }
  237.                 case 13: {
  238.                     if(GetPlayerParts(playerid) < 460) return SendClientMessage(playerid,COLOR_RED,"You dont have enough parts, you need 460");
  239.                     if(sys_Mech[playerid][StartedCreating] >= 1) return SendClientMessage(playerid,COLOR_RED,"You are already assembling something");
  240.                     SetModToCreate(playerid,1085);
  241.                 }
  242.                 case 14: {
  243.                     if(GetPlayerParts(playerid) < 380) return SendClientMessage(playerid,COLOR_RED,"You dont have enough parts, you need 380");
  244.                     if(sys_Mech[playerid][StartedCreating] >= 1) return SendClientMessage(playerid,COLOR_RED,"You are already assembling something");
  245.                     SetModToCreate(playerid,1096);
  246.                 }
  247.                 case 15: {
  248.                     if(GetPlayerParts(playerid) < 410) return SendClientMessage(playerid,COLOR_RED,"You dont have enough parts, you need 410");
  249.                     if(sys_Mech[playerid][StartedCreating] >= 1) return SendClientMessage(playerid,COLOR_RED,"You are already assembling something");
  250.                     SetModToCreate(playerid,1097);
  251.                 }
  252.                 case 16: {
  253.                     if(GetPlayerParts(playerid) < 415) return SendClientMessage(playerid,COLOR_RED,"You dont have enough parts, you need 415");
  254.                     if(sys_Mech[playerid][StartedCreating] >= 1) return SendClientMessage(playerid,COLOR_RED,"You are already assembling something");
  255.                     SetModToCreate(playerid,1098);
  256.                 }
  257.             }
  258.         }
  259.        
  260.         case DIALOG_MECHANIC: {
  261.             if(!response) return true;
  262.  
  263.             switch(listitem) {
  264.                 case 0: {
  265.                     new string[256];
  266.                     format(string,sizeof(string),"Rims name\t Parts price\n\
  267.                     Offroad\t 300\n\
  268.                     Shadow\t 450\n\
  269.                     Mega\t 400\n\
  270.                     Rimshine\t 500\n\
  271.                     Wires\t 450\n\
  272.                     Classic\t 400\n\
  273.                     Twist\t 420\n\
  274.                     Cutter\t 430\n\
  275.                     Switch\t 440\n\
  276.                     Grove\t 390\n\
  277.                     Import\t 395\n\
  278.                     Dollar\t 500\n\
  279.                     Trance\t 475\n\
  280.                     Atomic\t 460\n\
  281.                     Ahab\t 380\n\
  282.                     Virtual\t 410\n\
  283.                     Access\t 415\n");
  284.                     ShowPlayerDialog(playerid,DIALOG_RIMS_SHOW,DIALOG_STYLE_TABLIST_HEADERS,"Rims avaliable",string,"Create","Close");
  285.                 }
  286.                 case 1: {
  287.                     new string[128];
  288.                     format(string,sizeof(string),"You dont have enough parts. You need %i parts",NITRO_COST);
  289.                     if(GetPlayerParts(playerid) < NITRO_COST) return SendClientMessage(playerid,COLOR_RED,string);
  290.                     if(sys_Mech[playerid][StartedCreating] >= 1) return SendClientMessage(playerid,COLOR_RED,"You are already assembling something");
  291.                     SetModToCreate(playerid,1010);
  292.                 }
  293.                 case 2: {
  294.                     new string[128];
  295.                     format(string,sizeof(string),"You dont have enough parts. You need %i pars",HYDRAULICS_COST);
  296.                     if(GetPlayerParts(playerid) < HYDRAULICS_COST) return SendClientMessage(playerid,COLOR_RED,"You dont have enough parts");
  297.                     if(sys_Mech[playerid][StartedCreating] >= 1) return SendClientMessage(playerid,COLOR_RED,"You are already assembling something");
  298.                     SetModToCreate(playerid,1087);
  299.                 }
  300.             }
  301.         }
  302.     }
  303.     return true;
  304. }
  305.  
  306.  
  307.  
  308. /* Custom Functions */
  309. stock ReducePlayerPartsByCost(playerid,amount) { sys_Mech[playerid][PlayerParts] -= amount; }
  310. stock GetPlayerParts(playerid) return sys_Mech[playerid][PlayerParts];
  311. stock randomEx(minnum = cellmin, maxnum = cellmax) return random(maxnum - minnum + 1) + minnum; //Y_Less
  312. stock Float:frandomEx(Float:min, Float:max) return min + (max - min) * random(32768) / 32768.0; // Y_Less
  313. stock Float:GetCurrentPartsPrice_float() return PARTS_PRICE;
  314. stock GetCurrentPartsPrice() return floatround(PARTS_PRICE,floatround_round);
  315. stock GivePlayerParts(playerid, amount) return sys_Mech[playerid][PlayerParts] += amount;
  316. stock SetPlayerCreatingPart(playerid,id) return sys_Mech[playerid][CreatingPart] = id;
  317. stock GetPlayerCreatingPart(playerid) return sys_Mech[playerid][CreatingPart];
  318. stock GivePlayerComponent(playerid,id) return sys_Mech[playerid][CarComponent] = id;
  319. stock GetPlayerComponent(playerid) return sys_Mech[playerid][CarComponent];
  320. stock GetPlayerSkill(playerid) return sys_Mech[playerid][ComponentsInstalled];
  321. stock AddPlayerSkill(playerid,amount) return sys_Mech[playerid][ComponentsInstalled] += amount;
  322. stock SetPlayerSkill(playerid, amount) return sys_Mech[playerid][ComponentsInstalled] = amount;
  323.  
  324. stock UpPriceByAmount(playerid) {
  325.     new current;
  326.     switch(GetPlayerSkill(playerid)) {
  327.         case 0 .. 20: current = 10;
  328.         case 21 .. 50: current = 8;
  329.         case 51 .. 100: current = 6;
  330.         case 101 .. 250: current = 4;
  331.         case 251 .. 500: current = 2;
  332.         case 501 .. 9999: current = 0;
  333.     }
  334.     return current;
  335. }
  336.  
  337. stock PlayerHasRims(playerid) {
  338.     switch(GetPlayerComponent(playerid)) {
  339.         case 1025,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1096,1097,1098: return true;
  340.         default: return false;
  341.     }
  342.     return false;
  343. }
  344.  
  345. stock GetPartName(playerid) {
  346.     new sts_Name[24];
  347.     switch(sys_Mech[playerid][CreatingPart]) {
  348.         case 1010: sts_Name = "Nitro x10";
  349.         case 1087: sts_Name = "Hydraulics";
  350.         case 1025: sts_Name = "Offroad Rims";
  351.         case 1073: sts_Name = "Shadow Rims";
  352.         case 1074: sts_Name = "Mega Rims";
  353.         case 1075: sts_Name = "Rimshine Rims";
  354.         case 1076: sts_Name = "Wires Rims";
  355.         case 1077: sts_Name = "Classic Rims";
  356.         case 1078: sts_Name = "Twist Rims";
  357.         case 1079: sts_Name = "Cutter Rims";
  358.         case 1080: sts_Name = "Switch Rims";
  359.         case 1081: sts_Name = "Grove Rims";
  360.         case 1082: sts_Name = "Import Rims";
  361.         case 1083: sts_Name = "Dollar Rims";
  362.         case 1084: sts_Name = "Trance Rims";
  363.         case 1085: sts_Name = "Atomic Rims";
  364.         case 1096: sts_Name = "Ahab Rims";
  365.         case 1097: sts_Name = "Virtual Rims";
  366.         case 1098: sts_Name = "Access Rims";
  367.         default: sts_Name = "Unknown/Broken";
  368.     }
  369.     return sts_Name;
  370. }
  371.  
  372. stock GetPlayerPartName(playerid) {
  373.     new sts_Name[24];
  374.     switch(GetPlayerComponent(playerid)) {
  375.         case 1010: sts_Name = "Nitro x10";
  376.         case 1087: sts_Name = "Hydraulics";
  377.         case 1025: sts_Name = "Offroad Rims";
  378.         case 1073: sts_Name = "Shadow Rims";
  379.         case 1074: sts_Name = "Mega Rims";
  380.         case 1075: sts_Name = "Rimshine Rims";
  381.         case 1076: sts_Name = "Wires Rims";
  382.         case 1077: sts_Name = "Classic Rims";
  383.         case 1078: sts_Name = "Twist Rims";
  384.         case 1079: sts_Name = "Cutter Rims";
  385.         case 1080: sts_Name = "Switch Rims";
  386.         case 1081: sts_Name = "Grove Rims";
  387.         case 1082: sts_Name = "Import Rims";
  388.         case 1083: sts_Name = "Dollar Rims";
  389.         case 1084: sts_Name = "Trance Rims";
  390.         case 1085: sts_Name = "Atomic Rims";
  391.         case 1096: sts_Name = "Ahab Rims";
  392.         case 1097: sts_Name = "Virtual Rims";
  393.         case 1098: sts_Name = "Access Rims";
  394.         default: sts_Name = "Unknown/Broken";
  395.     }
  396.     return sts_Name;
  397. }
  398.  
  399. stock InstallVehicleComponent(playerid,vid,ID) {
  400.     new string[128];
  401.     format(string,sizeof(string),"You have installed %s on car ID: %i",GetPlayerPartName(playerid),vid);
  402.     SendClientMessage(playerid,COLOR_GREEN,string);
  403.     GivePlayerComponent(playerid,0);
  404.     AddVehicleComponent(vid, ID);
  405.     AddPlayerSkill(playerid,1);
  406. }
  407.  
  408.  
  409. stock SetModToCreate(playerid,ID) {
  410.     new rr = randomEx(120,900),string[128];
  411.     switch(ID) {
  412.         case 1010: ReducePlayerPartsByCost(playerid,NITRO_COST);
  413.         case 1087: ReducePlayerPartsByCost(playerid,HYDRAULICS_COST);
  414.         case 1025: ReducePlayerPartsByCost(playerid,300);
  415.         case 1073: ReducePlayerPartsByCost(playerid,450);
  416.         case 1074: ReducePlayerPartsByCost(playerid,400);
  417.         case 1075: ReducePlayerPartsByCost(playerid,500);
  418.         case 1076: ReducePlayerPartsByCost(playerid,450);
  419.         case 1077: ReducePlayerPartsByCost(playerid,400);
  420.         case 1078: ReducePlayerPartsByCost(playerid,420);
  421.         case 1079: ReducePlayerPartsByCost(playerid,430);
  422.         case 1080: ReducePlayerPartsByCost(playerid,440);
  423.         case 1081: ReducePlayerPartsByCost(playerid,390);
  424.         case 1082: ReducePlayerPartsByCost(playerid,395);
  425.         case 1083: ReducePlayerPartsByCost(playerid,500);
  426.         case 1084: ReducePlayerPartsByCost(playerid,475);
  427.         case 1085: ReducePlayerPartsByCost(playerid,460);
  428.         case 1096: ReducePlayerPartsByCost(playerid,380);
  429.         case 1097: ReducePlayerPartsByCost(playerid,410);
  430.         case 1098: ReducePlayerPartsByCost(playerid,415);
  431.     }
  432.     SetPlayerCreatingPart(playerid,ID);
  433.     sys_Mech[playerid][StartedCreating] = gettime()+rr;
  434.     format(string,sizeof(string),"You have started assembling %s. It will be done in %i seconds",GetPartName(playerid),rr);
  435.     SendClientMessage(playerid,COLOR_RED,string);
  436. }
  437.  
  438. /* Timers */
  439. public UpdatePartPrice() {
  440.     new Float:rr = frandomEx(1.0,5.0);
  441.     PARTS_PRICE = rr;
  442.  
  443.     new string[64];
  444.     format(string,sizeof(string),"{FFFFFF}Parts price: {00FFFF}%.2f$",GetCurrentPartsPrice_float());
  445.     Update3DTextLabelText(PartsText,0,string);
  446.     return true;
  447. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement