Share Pastebin
Guest
Public paste!

Untitled

By: a guest | Mar 20th, 2010 | Syntax: None | Size: 18.49 KB | Hits: 92 | Expires: Never
Copy text to clipboard
  1. #define MAX_TRUNK_SLOTS         (5)
  2.  
  3. forward SaveTrunk();
  4.  
  5. forward LoadTrunk();
  6.  
  7. new vehTrunkCounter[MAX_VEHICLES] = 1;
  8. new vehTrunk[MAX_VEHICLES][MAX_TRUNK_SLOTS];
  9. new vehTrunkAmmo[MAX_VEHICLES][MAX_TRUNK_SLOTS];
  10. new Float:vehTrunkArmour[MAX_VEHICLES];
  11.  
  12.  
  13. //----------------------------[Trunk Sistem]----------------------------------------------
  14.     if(strcmp(cmd, "/trunk", true) == 0)
  15.         {
  16.             if(IsPlayerConnected(playerid))
  17.             {
  18.                         new x_nr[64];
  19.                         x_nr = strtok(cmdtext, idx);
  20.                         if(!strlen(x_nr))
  21.                         {
  22.                             SendClientMessage(playerid, COLOR_WHITE, "/trunk [nume]");
  23.                             SendClientMessage(playerid, COLOR_WHITE, "Nume disponibile: info, putgun, takegun, putarmour, takearmour, frisk");
  24.                             if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2)
  25.                             {
  26.                                 SendClientMessage(playerid, COLOR_WHITE, "Numai mafiile si politisti au voie /trunk");
  27.                             }
  28.                             return 1;
  29.                         }
  30.                         if(strcmp(x_nr,"info",true) == 0)
  31.                         {
  32.                             new counter = 0;
  33.                             new result;
  34.                             new plyName[MAX_PLAYER_NAME];
  35.  
  36.                             GetPlayerName(playerid, plyName, MAX_PLAYER_NAME);
  37.                             for(new i; i != MAX_VEHICLES; i++)
  38.                             {
  39.                                 new dist = CheckPlayerDistanceToVehicle(3.5, playerid, i);
  40.                                 if(dist)
  41.                                 {
  42.                                     result = i;
  43.                                     counter++;
  44.                                 }
  45.                             }
  46.                             switch(counter)
  47.                             {
  48.                                 case 0:
  49.                                 {
  50.                                     SendClientMessage(playerid, COLOR_GREY, "   Nu esti langa masina");
  51.                                 }
  52.  
  53.                                 case 1:
  54.                                 {
  55.                                     if(IsPlayerInAnyVehicle(playerid))
  56.                                         {
  57.                                         SendClientMessage(playerid, COLOR_GREY, "  Esti in masina nu poti deschide portbagajul");
  58.                                         return 1;
  59.                                 }
  60.                                 if(IsAPlane(result) || IsABike(result))
  61.                                 {
  62.                                     SendClientMessage(playerid, COLOR_GREY, "  Vehiculul nu are portbagaj !");
  63.                                     return 1;
  64.                                 }
  65.  
  66.                                                 SendClientMessage(playerid, COLOR_LIGHTBLUE, "|_______ Deposit arme _______|");
  67.                                                 for(new slot = 1; slot != MAX_TRUNK_SLOTS; slot++)
  68.                                                 {
  69.                                                     new gunname[100];
  70.                                                     if(vehTrunk[result][slot] != 0)
  71.                                                     {
  72.                                                         GetWeaponName(vehTrunk[result][slot], gunname, sizeof(gunname));
  73.                                                         format(string, sizeof(string), "| Slot %i: %s (Ammo: %i)", slot, gunname, vehTrunkAmmo[result][slot]);
  74.                                                         SendClientMessage(playerid, COLOR_WHITE, string);
  75.                                                     }
  76.                                                     else
  77.                                                     {
  78.                                                         format(string, sizeof(string), "| Slot %i: Empty (Ammo: N/A)", slot);
  79.                                                         SendClientMessage(playerid, COLOR_WHITE, string);
  80.                                                     }
  81.                                                 }
  82.                                                 format(string, sizeof(string), "| Body armour: %f%", vehTrunkArmour[result]);
  83.                                                 SendClientMessage(playerid, COLOR_WHITE, string);
  84.  
  85.                                 GetPlayerName(playerid, sendername, sizeof(sendername));
  86.                         format(string, sizeof(string), "* %s deschide portbagajul si verifica ce e inauntru.", sendername);
  87.                                 ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  88.                                                 return 1;
  89.                                 }
  90.  
  91.                                 default:
  92.                                 {
  93.                                     SendClientMessage(playerid, COLOR_GREY, "   Apropiete de masina");
  94.                                     return 1;
  95.                                 }
  96.                             }
  97.                             return 1;
  98.                         }
  99.                         else if(strcmp(x_nr,"putgun",true) == 0)
  100.                         {
  101.                             new counter = 0;
  102.                             new result;
  103.                             new plyName[MAX_PLAYER_NAME];
  104.  
  105.                             GetPlayerName(playerid, plyName, MAX_PLAYER_NAME);
  106.                             for(new i; i != MAX_VEHICLES; i++)
  107.                             {
  108.                                 new dist = CheckPlayerDistanceToVehicle(3.5, playerid, i);
  109.                                 if(dist)
  110.                                 {
  111.                                     result = i;
  112.                                     counter++;
  113.                                 }
  114.                             }
  115.                             switch(counter)
  116.                             {
  117.                                 case 0:
  118.                                 {
  119.                                     SendClientMessage(playerid, COLOR_GREY, "   Nu esti langa masina");
  120.                                 }
  121.  
  122.                                 case 1:
  123.                                 {
  124.                                     if(vehTrunkCounter[result] != (MAX_TRUNK_SLOTS-1))
  125.                                     {
  126.                                         if(ReduceTime[playerid] == 1)
  127.                                         {
  128.                                             SendClientMessage(playerid, COLOR_GREY, "   Asteapta 3 secunde si vei reusi !");
  129.                                             return 1;
  130.                                         }
  131.                                         if(IsPlayerInAnyVehicle(playerid))
  132.                                         {
  133.                                             SendClientMessage(playerid, COLOR_GREY, "  Esti in masina nu poti deschide portbagajul");
  134.                                             return 1;
  135.                                         }
  136.                                         if(IsAPlane(result) || IsABike(result))
  137.                                         {
  138.                                         SendClientMessage(playerid, COLOR_GREY, " Vehiculul nu are portbagaj !");
  139.                                         return 1;
  140.                                         }
  141.                             new buffer[512];
  142.                             new gunname[100];
  143.                             new gunID = GetPlayerWeapon(playerid);
  144.                             new gunAmmo = GetPlayerAmmo(playerid);
  145.  
  146.                             if(gunID != 0 && gunAmmo != 0)
  147.                             {
  148.                                 ReduceTime[playerid] = 1;
  149.                                                 SetTimerEx("ReduceTimer", 3000, false, "i", playerid);
  150.                                 GetWeaponName(gunID, gunname, sizeof(gunname));
  151.                                 vehTrunkCounter[result]++;
  152.                                 vehTrunk[result][vehTrunkCounter[result]] = gunID;
  153.                                 vehTrunkAmmo[result][vehTrunkCounter[result]] = gunAmmo;
  154.                                 format(buffer, sizeof(buffer), "Ai pus un %s (Ammo: %i) in portbagajul masinii.", gunname, gunAmmo);
  155.                                 SendClientMessage(playerid, COLOR_WHITE, buffer);
  156.                                 RemovePlayerWeapon(playerid, gunID);
  157.                                 GetPlayerName(playerid, sendername, sizeof(sendername));
  158.                                 format(string, sizeof(string), "* %s deschide portbagajul si pune arma.", sendername);
  159.                                 ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  160.                                 SaveTrunk();
  161.                                 return 1;
  162.                             }
  163.                                     }
  164.                                     else
  165.                                     {
  166.                                         SendClientMessage(playerid, COLOR_GREY, " Portbagajul este full");
  167.                                         return 1;
  168.                                     }
  169.                                 }
  170.  
  171.                                 default:
  172.                                 {
  173.                                     SendClientMessage(playerid, COLOR_GREY, "   Apropiete de masina");
  174.                                     return 1;
  175.                                 }
  176.                             }
  177.                             return 1;
  178.                         }
  179.                         else if(strcmp(x_nr,"takegun",true) == 0)
  180.                         {
  181.                             new counter = 0;
  182.                             new result;
  183.                             new plyName[MAX_PLAYER_NAME];
  184.  
  185.                             GetPlayerName(playerid, plyName, MAX_PLAYER_NAME);
  186.                             for(new i; i != MAX_VEHICLES; i++)
  187.                             {
  188.                                 new dist = CheckPlayerDistanceToVehicle(3.5, playerid, i);
  189.                                 if(dist)
  190.                                 {
  191.                                     result = i;
  192.                                     counter++;
  193.                                 }
  194.                             }
  195.  
  196.                             switch(counter)
  197.                             {
  198.                                 case 0:
  199.                                 {
  200.                                     SendClientMessage(playerid, COLOR_GREY, "   Nu esti langa masina");
  201.                                     return 1;
  202.                                 }
  203.  
  204.                                 case 1:
  205.                                 {
  206.                                     if(IsPlayerInAnyVehicle(playerid))
  207.                                     {
  208.                                         SendClientMessage(playerid, COLOR_GREY, "   Esti in masina nu poti deschide portbagajul");
  209.                                         return 1;
  210.                                     }
  211.                                     if(ReduceTime[playerid] == 1)
  212.                                     {
  213.                                         SendClientMessage(playerid, COLOR_GREY, "   Asteapta 3 secunde si vei reusi !");
  214.                                         return 1;
  215.                                 }
  216.                                     if(IsAPlane(result) || IsABike(result))
  217.                                     {
  218.                                     SendClientMessage(playerid, COLOR_GREY, "  Vehiculul nu are portbagaj !");
  219.                                     return 1;
  220.                                 }
  221.                                     if(vehTrunkCounter[result] != 0)
  222.                                     {
  223.                                         ReduceTime[playerid] = 1;
  224.                                         SetTimerEx("ReduceTimer", 3000, false, "i", playerid);
  225.                                         new buffer[512];
  226.                                         new gunName[100];
  227.  
  228.                                         GivePlayerWeapon(playerid, vehTrunk[result][vehTrunkCounter[result]], vehTrunkAmmo[result][vehTrunkCounter[result]]);
  229.                                         GetWeaponName(vehTrunk[result][vehTrunkCounter[result]], gunName, sizeof(gunName));
  230.                                         format(buffer, sizeof(buffer), "Ai luat un %s (Ammo: %i) din portbagaj.", gunName, vehTrunkAmmo[result][vehTrunkCounter[result]]);
  231.                                         SendClientMessage(playerid, COLOR_WHITE, buffer);
  232.                                         vehTrunk[result][vehTrunkCounter[result]] = '\0';
  233.                                         vehTrunkAmmo[result][vehTrunkCounter[result]] = '\0';
  234.                                         vehTrunkCounter[result]--;
  235.                                         GetPlayerName(playerid, sendername, sizeof(sendername));
  236.                                         format(string, sizeof(string), "* %s deschide portbagajul si ia o arma.", sendername);
  237.                                         ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  238.                                         SaveTrunk();
  239.                                         return 1;
  240.                                     }
  241.                                     else
  242.                                     {
  243.                                         SendClientMessage(playerid, COLOR_GREY, "   Portbagajul este gol ! ");
  244.                                         return 1;
  245.                                     }
  246.                                 }
  247.  
  248.                                 default:
  249.                                 {
  250.                                     SendClientMessage(playerid, COLOR_GREY, "   Apropiete de masina");
  251.                                     return 1;
  252.                                 }
  253.                             }
  254.                             return 1;
  255.                         }
  256.                         else if(strcmp(x_nr,"putarmour",true) == 0)
  257.                         {
  258.                             new counter = 0;
  259.                             new result;
  260.                             new plyName[MAX_PLAYER_NAME];
  261.  
  262.                             GetPlayerName(playerid, plyName, MAX_PLAYER_NAME);
  263.                             for(new i; i != MAX_VEHICLES; i++)
  264.                             {
  265.                                 new dist = CheckPlayerDistanceToVehicle(3.5, playerid, i);
  266.                                 if(dist)
  267.                                 {
  268.                                     result = i;
  269.                                     counter++;
  270.                                 }
  271.                             }
  272.                             switch(counter)
  273.                             {
  274.                                 case 0:
  275.                                 {
  276.                                     SendClientMessage(playerid, COLOR_GREY, "   Nu esti langa masina");
  277.                                     return 1;
  278.                                 }
  279.  
  280.                                 case 1:
  281.                                 {
  282.                                     if(IsPlayerInAnyVehicle(playerid))
  283.                                     {
  284.                                         SendClientMessage(playerid, COLOR_GREY, "   Esti in masina nu poti deschide portbagajul");
  285.                                         return 1;
  286.                                     }
  287.                                     if(IsAPlane(result) || IsABike(result))
  288.                                     {
  289.                                     SendClientMessage(playerid, COLOR_GREY, "  Vehiculul nu are portbagaj !");
  290.                                     return 1;
  291.                                 }
  292.  
  293.                                     new Float:plyArmour;
  294.                                     GetPlayerArmour(playerid, plyArmour);
  295.  
  296.                         if(plyArmour != 0)
  297.                                     {
  298.                                         SetPlayerArmour(playerid, 0);
  299.                                         vehTrunkArmour[result] = plyArmour;
  300.  
  301.                                         GetPlayerName(playerid, sendername, sizeof(sendername));
  302.                                         format(string, sizeof(string), "* %s ia armura de pe el si o pune in portbagaj.", sendername);
  303.                                         ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  304.                                         SaveTrunk();
  305.                                         return 1;
  306.                                     }
  307.                                     else
  308.                                     {
  309.                                         SendClientMessage(playerid, COLOR_GREY, "   Nu ai armura ");
  310.                                         return 1;
  311.                                     }
  312.                                 }
  313.  
  314.                                 default:
  315.                                 {
  316.                                     SendClientMessage(playerid, COLOR_GREY, "   Apropiete de masina");
  317.                                     return 1;
  318.                                 }
  319.                                 }
  320.                             return 1;
  321.                         }
  322.                         else if(strcmp(x_nr,"takearmour",true) == 0)
  323.                         {
  324.                             new counter = 0;
  325.                             new result;
  326.                             new plyName[MAX_PLAYER_NAME];
  327.  
  328.                             GetPlayerName(playerid, plyName, MAX_PLAYER_NAME);
  329.                             for(new i; i != MAX_VEHICLES; i++)
  330.                             {
  331.                                 new dist = CheckPlayerDistanceToVehicle(3.5, playerid, i);
  332.                                 if(dist)
  333.                                 {
  334.                                     result = i;
  335.                                     counter++;
  336.                                 }
  337.                             }
  338.                             switch(counter)
  339.                             {
  340.                                 case 0:
  341.                                 {
  342.                                     SendClientMessage(playerid, COLOR_GREY, "   Nu esti langa masina");
  343.                                     return 1;
  344.                                 }
  345.  
  346.                                 case 1:
  347.                                 {
  348.                                     if(IsPlayerInAnyVehicle(playerid))
  349.                                     {
  350.                                         SendClientMessage(playerid, COLOR_GREY, "   Esti in masina nu poti deschide portbagajul");
  351.                                         return 1;
  352.                                     }
  353.                                     if(IsAPlane(result) || IsABike(result))
  354.                                     {
  355.                                     SendClientMessage(playerid, COLOR_GREY, "  Vehiculul nu are portbagaj !");
  356.                                     return 1;
  357.                                 }
  358.                                     if(vehTrunkArmour[result] != 0)
  359.                                     {
  360.                                         SetPlayerArmour(playerid, vehTrunkArmour[result]);
  361.                                         vehTrunkArmour[result] = 0;
  362.  
  363.                                         GetPlayerName(playerid, sendername, sizeof(sendername));
  364.                                         format(string, sizeof(string), "* %s deschide portbagajul ia armura si o pune pe el.", sendername);
  365.                                         ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  366.                                         SaveTrunk();
  367.                                         return 1;
  368.                                     }
  369.                                     else
  370.                                     {
  371.                                         SendClientMessage(playerid, COLOR_GREY, "   Nu exista nici o armura in portbagaj ! ");
  372.                                         return 1;
  373.                                     }
  374.                                 }
  375.  
  376.                                 default:
  377.                                 {
  378.                                     SendClientMessage(playerid, COLOR_GREY, "   Apropiete de masina");
  379.                                     return 1;
  380.                                 }
  381.                                 }
  382.                                 return 1;
  383.                         }
  384.                         else if(strcmp(x_nr,"frisk",true) == 0)
  385.                         {
  386.                             if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2)
  387.                             {
  388.                                 new counter = 0;
  389.                                 new result;
  390.                                 new plyName[MAX_PLAYER_NAME];
  391.  
  392.                                     GetPlayerName(playerid, plyName, MAX_PLAYER_NAME);
  393.                                     for(new i; i != MAX_VEHICLES; i++)
  394.                                     {
  395.                                         new dist = CheckPlayerDistanceToVehicle(3.5, playerid, i);
  396.                                     if(dist)
  397.                                         {
  398.                                                 result = i;
  399.                                         counter++;
  400.                                         }
  401.                                 }
  402.                                 switch(counter)
  403.                                 {
  404.                                         case 0:
  405.                                         {
  406.                                         SendClientMessage(playerid, COLOR_GREY, "   Nu esti langa masina");
  407.                                         }
  408.  
  409.                                         case 1:
  410.                                         {
  411.                                         if(IsPlayerInAnyVehicle(playerid))
  412.                                                 {
  413.                                                 SendClientMessage(playerid, COLOR_GREY, "  Esti in masina nu poti deschide portbagajul");
  414.                                                 return 1;
  415.                                         }
  416.                                         if(IsAPlane(result) || IsABike(result))
  417.                                         {
  418.                                         SendClientMessage(playerid, COLOR_GREY, "  Vehiculul nu are portbagaj !");
  419.                                         return 1;
  420.                                         }
  421.  
  422.                                                         SendClientMessage(playerid, COLOR_LIGHTBLUE, "|_______ Deposit arme _______|");
  423.                                                         for(new slot = 1; slot != MAX_TRUNK_SLOTS; slot++)
  424.                                                         {
  425.                                                             new gunname[100];
  426.                                                             if(vehTrunk[result][slot] != 0)
  427.                                                             {
  428.                                                                 GetWeaponName(vehTrunk[result][slot], gunname, sizeof(gunname));
  429.                                                             format(string, sizeof(string), "| Slot %i: %s (Ammo: %i)", slot, gunname, vehTrunkAmmo[result][slot]);
  430.                                                                 SendClientMessage(playerid, COLOR_WHITE, string);
  431.                                                         }
  432.                                                         else
  433.                                                         {
  434.                                                                 format(string, sizeof(string), "| Slot %i: Empty (Ammo: N/A)", slot);
  435.                                                                 SendClientMessage(playerid, COLOR_WHITE, string);
  436.                                                         }
  437.                                                         }
  438.                                                         format(string, sizeof(string), "| Body armour: %f%", vehTrunkArmour[result]);
  439.                                                         SendClientMessage(playerid, COLOR_WHITE, string);
  440.  
  441.                                         GetPlayerName(playerid, sendername, sizeof(sendername));
  442.                             format(string, sizeof(string), "* %s deschide portbagajul si verifica ce este in el.", sendername);
  443.                                         ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  444.                                                         return 1;
  445.                                         }
  446.  
  447.                                         default:
  448.                                         {
  449.                                             SendClientMessage(playerid, COLOR_GREY, "   Apropiete de masina");
  450.                                             return 1;
  451.                                     }
  452.                                 }
  453.                                 }
  454.                                 else
  455.                                 {
  456.                                         SendClientMessage(playerid, COLOR_GREY, "   Nu esti cop ! ");
  457.                                         return 1;
  458.                                 }
  459.                             return 1;
  460.                         }
  461.                         else
  462.                         {
  463.                             SendClientMessage(playerid, COLOR_WHITE, "/trunk [name]");
  464.                             SendClientMessage(playerid, COLOR_WHITE, "Nume disponibile: info, putgun, takegun, putarmour, takearmour, frisk");
  465.                             if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2)
  466.                             {
  467.                                 SendClientMessage(playerid, COLOR_WHITE, "Numai mafiile si politisti au voie /trunk");
  468.                             }
  469.                             return 1;
  470.                         }
  471.             }
  472.             return 1;
  473.         }
  474.  
  475.  
  476.  
  477. public SaveTrunk()
  478. {
  479.         new idx;
  480.         new File: file2;
  481.         idx = 1;
  482.         {
  483.                 new coordsstring[256];
  484.                 format(coordsstring, sizeof(coordsstring), "%i,%i,%i,%i,%i,%i,%i,%i,%i,%f\n",
  485.                 vehTrunk[idx][1],
  486.                 vehTrunkAmmo[idx][1],
  487.                 vehTrunk[idx][2],
  488.                 vehTrunkAmmo[idx][2],
  489.                 vehTrunk[idx][3],
  490.                 vehTrunkAmmo[idx][3],
  491.                 vehTrunk[idx][4],
  492.                 vehTrunkAmmo[idx][4],
  493.                 vehTrunkCounter[idx],
  494.                 vehTrunkArmour[idx]);
  495.                 if(idx == 1)
  496.                 {
  497.                         file2 = fopen("trunk.cfg", io_write);
  498.                 }
  499.                 else
  500.                 {
  501.                         file2 = fopen("trunk.cfg", io_append);
  502.                 }
  503.                 fwrite(file2, coordsstring);
  504.                 idx++;
  505.                 fclose(file2);
  506.         }
  507.         return 1;
  508. }
  509.  
  510. public LoadTrunk()
  511. {
  512.         new arrCoords[13][64];
  513.         new strFromFile2[256];
  514.         new File: file = fopen("trunk.cfg", io_read);
  515.         if (file)
  516.         {
  517.                 new idx = 1;
  518.                 {
  519.                     fread(file, strFromFile2);
  520.                     split(strFromFile2, arrCoords, ',');
  521.                     vehTrunk[idx][1] = strval(arrCoords[0]);
  522.                     vehTrunkAmmo[idx][1] = strval(arrCoords[1]);
  523.                     vehTrunk[idx][2] = strval(arrCoords[2]);
  524.                     vehTrunkAmmo[idx][2] = strval(arrCoords[3]);
  525.                     vehTrunk[idx][3] = strval(arrCoords[4]);
  526.                     vehTrunkAmmo[idx][3] = strval(arrCoords[5]);
  527.                     vehTrunk[idx][4] = strval(arrCoords[6]);
  528.                     vehTrunkAmmo[idx][4] = strval(arrCoords[7]);
  529.                     vehTrunkCounter[idx] = strval(arrCoords[8]);
  530.                     vehTrunkArmour[idx] = floatstr(arrCoords[9]);
  531.                     idx++;
  532.                 }
  533.         }
  534.         return 1;
  535. }