Advertisement
B-Matt

Bomb System by B-Matt

Nov 4th, 2012
532
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.79 KB | None | 0 0
  1. /***************************************************************
  2. *                                                              *
  3. *   Bomb System                                            *
  4. *   (c) 2012. B-Matt                                       *
  5. *   You may edit this, delete credits etc.             *
  6. *                                                              *
  7. ****************************************************************/
  8.  
  9. //----Includes----
  10. #include <a_samp>
  11. #include <ZCMD>
  12.  
  13. //----News----
  14. new Bomb[MAX_PLAYERS];
  15. new TNT[MAX_PLAYERS];
  16. new CBomb[MAX_VEHICLES];
  17. new Armed[MAX_PLAYERS]; //Bombs
  18. new BombO; //bomb object
  19. new BombT; //bomb timer
  20.  
  21. //----Forwards----
  22. forward detonate(bomb);
  23.  
  24. //----SA-MP Callbacks----
  25. public OnFilterScriptInit()
  26. {
  27.     print("\n*************************************************");
  28.     print("*        Bomb system by: B-Matt      *");
  29.     print("*************************************************\n");
  30.     CreateVehicle(445, 1583.6045, -1709.9716, 5.4000, 90, 0, 1, 60);
  31.     return 1;
  32. }
  33.  
  34. public OnFilterScriptExit()
  35. {
  36.     return 1;
  37. }
  38.  
  39. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  40. {
  41.     if(response)
  42.     {
  43.         switch(dialogid)
  44.         {
  45.             case 1:
  46.             {
  47.                 switch(listitem)
  48.                 {
  49.                     case 0://TBOMB
  50.                     {
  51.                         if(GetPlayerMoney(playerid) < 500) return SendClientMessage(playerid, 0xFFFFFF, "You don't have enough cash (500$).");
  52.                         GivePlayerMoney(playerid, -500);
  53.                         SendClientMessage(playerid, 0xFFFFFFFF, "You successfully bought Timer bomb!");
  54.                         Bomb[playerid] = 1;
  55.                     }
  56.                     case 1: //TNT
  57.                     {
  58.                         if(GetPlayerMoney(playerid) < 800) return SendClientMessage(playerid, 0xFFFFFF, "You don't have enough cash (800$).");
  59.                         GivePlayerMoney(playerid, -800);
  60.                         SendClientMessage(playerid, 0xFFFFFFFF, "You successfully bought TNT!");
  61.                         TNT[playerid] = 1;
  62.                     }
  63.                     case 2: //CBOMB
  64.                     {
  65.                         if(GetPlayerMoney(playerid) < 1000) return SendClientMessage(playerid, 0xFFFFFF, "You don't have enough cash (1.000$).");
  66.                         GivePlayerMoney(playerid, -1000);
  67.                         SendClientMessage(playerid, 0xFFFFFFFF, "You successfully bought Car bomb!");
  68.                         CBomb[playerid] = 1;
  69.                     }
  70.                 }
  71.             }
  72.         }
  73.     }
  74.     return 1;
  75. }
  76.  
  77. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  78. {
  79.     new pState = GetPlayerState(playerid);
  80.     if (pState == PLAYER_STATE_DRIVER)
  81.     {
  82.         if (newkeys & KEY_UP)
  83.         {
  84.             if(Armed[playerid] == 1)
  85.             {
  86.                 if (IsPlayerInAnyVehicle(playerid))
  87.                 {
  88.                     new Float:X, Float:Y, Float:Z;
  89.                     new vehicleid = GetPlayerVehicleID(playerid);
  90.                     GetVehiclePos(vehicleid, X, Y, Z);
  91.                     CreateExplosion(X, Y, Z, 12, 15.0);
  92.                     CreateExplosion(X, Y, Z, 10, 15.0);
  93.                     Armed[playerid] = 0;
  94.                 }
  95.             }
  96.         }
  97.     }
  98.     if (newkeys & KEY_FIRE)
  99.     {
  100.         if(Armed[playerid] == 1)
  101.         {
  102.             new Float:X, Float:Y, Float:Z;
  103.             GetObjectPos(BombO, X, Y, Z);
  104.             CreateExplosion(X, Y, Z, 2, 100.0);
  105.             CreateExplosion(X, Y, Z, 12, 25.0);
  106.             CreateExplosion(X, Y, Z, 10, 30.0);
  107.             DestroyObject(BombO);
  108.             Armed[playerid] = 0;
  109.         }
  110.     }
  111.     return 1;
  112. }
  113.  
  114. //----Custom Callbacks----
  115. public detonate(bomb)
  116. {
  117.     new Float:X, Float:Y, Float:Z;
  118.     GetObjectPos(BombO, X, Y, Z);
  119.     CreateExplosion(X, Y, Z, 0, 50.0);
  120.     DestroyObject(BombO);
  121.     KillTimer(BombT);
  122.     return 1;
  123. }
  124.  
  125. //----Commands----
  126. CMD:buy(playerid, params[])
  127. {
  128.     if(Bomb[playerid] == 0 || TNT[playerid] == 0 || CBomb[playerid] == 0)
  129.     {
  130.         ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Bomb buy", "Timer bomb\nTNT\nCar Bomb", "Buy", "Select");
  131.     }
  132.     else return SendClientMessage(playerid, 0xE21414FF, "You already have bomb!");
  133.     return 1;
  134. }
  135.  
  136. CMD:plant(playerid, params[])
  137. {
  138.     if(Bomb[playerid] == 1) //TBOMB
  139.     {
  140.         ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.1, 0, 0, 0, 0, 1000, 1);
  141.         new Float:X, Float:Y, Float:Z;
  142.         GetPlayerPos(playerid, X, Y, Z);
  143.         BombO = CreateObject(1252, X, Y, Z, 0.0, 0.0, 96.0);
  144.         BombT = SetTimer("detonate",5000,false);
  145.         Armed[playerid] = 1;
  146.         Bomb[playerid] = 0;
  147.     }
  148.     if(TNT[playerid] == 1)//TNT
  149.     {
  150.         ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.1, 0, 0, 0, 0, 1000, 1);
  151.         new Float:X, Float:Y, Float:Z;
  152.         GetPlayerPos(playerid, X, Y, Z);
  153.         BombO = CreateObject(1252, X, Y, Z, 0.0, 0.0, 96.0);
  154.         GivePlayerWeapon(playerid, 40, 2);
  155.         Armed[playerid] = 1;
  156.         TNT[playerid] = 0;
  157.     }
  158.     if(IsPlayerInAnyVehicle(playerid)) //CBOMB
  159.     {
  160.         if(CBomb[playerid] == 1)
  161.         {
  162.             SendClientMessage(playerid, 0xFFFFFFFF, "You planted bomb! Get out of there!");
  163.             Armed[playerid] = 1;
  164.             CBomb[playerid] = 0;
  165.         }
  166.     }
  167.     return 1;
  168. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement