Advertisement
jlalt

isis

Jun 22nd, 2017
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 5.10 KB | None | 0 0
  1. #include a_samp
  2. #include zcmd
  3.  
  4. new bool:PlayerBoming[MAX_PLAYERS], LastTimeBombUsed[MAX_PLAYERS], Float:BombLevel[MAX_PLAYERS], BombExplode[MAX_PLAYERS char];
  5.  
  6. public OnPlayerConnect(playerid)
  7. {
  8.     PlayerBoming[playerid] = false;
  9.     LastTimeBombUsed[playerid] = 0;
  10.     BombLevel[playerid] = 0;
  11.     BombExplode{playerid} = 0;
  12.     return 1;
  13. }
  14.  
  15.  
  16. CMD:sbomb(playerid, params[])
  17. {
  18.     if(isnull(params))
  19.     {
  20.         if(PlayerBoming[playerid])
  21.         {
  22.             RemovePlayerAttachedObject(playerid, 6);
  23.             SendClientMessage(playerid, 0x3399ffAA, "Bomb has been successfully disposed");
  24.             PlayerBoming[playerid] = false;
  25.             BombLevel[playerid] = 0;
  26.         }
  27.         else
  28.         {
  29.             SendClientMessage(playerid, 0xff0000AA, "Usage: /sbomb [level] ( Each level costs 10,000$ ) ");
  30.         }
  31.     }
  32.     else
  33.     {
  34.         new Float:bomblevel = floatstr(params);
  35.         if(9.0 < bomblevel < 501.0)
  36.         {
  37.             new cash = GetPlayerMoney(playerid);
  38.             if(cash >= (10000 * bomblevel))
  39.             {
  40.                 if(!PlayerBoming[playerid])
  41.                 {
  42.                     SetPlayerAttachedObject(playerid, 6, 1252, 1, 0.073000, -0.144999, 0.003000, 9.399998, 86.499977, -10.800004, 1.000000, 1.000000, 1.000000);
  43.                     GivePlayerMoney(playerid, floatround((10000 * bomblevel) * - 1));
  44.                     PlayerBoming[playerid] = true;
  45.                     BombLevel[playerid] = bomblevel;
  46.                     SendClientMessage(playerid, 0x3399ffAA, "Bomb has been successfully set");
  47.                 }
  48.                 else
  49.                 {
  50.                     RemovePlayerAttachedObject(playerid, 6);
  51.                     SendClientMessage(playerid, 0x3399ffAA, "Bomb has been successfully disposed");
  52.                     PlayerBoming[playerid] = false;
  53.                     BombLevel[playerid] = 0;
  54.                 }
  55.             }
  56.             else
  57.             {
  58.                 if(PlayerBoming[playerid])
  59.                 {
  60.                     RemovePlayerAttachedObject(playerid, 6);
  61.                     SendClientMessage(playerid, 0x3399ffAA, "Bomb has been successfully disposed");
  62.                     PlayerBoming[playerid] = false;
  63.                     BombLevel[playerid] = 0;
  64.                 }
  65.                 else
  66.                 {
  67.                     SendClientMessage(playerid, 0xff0000AA, "ERROR: You got no enough cash for this bomb level");
  68.                 }
  69.             }
  70.         }
  71.         else
  72.         {
  73.             if(PlayerBoming[playerid])
  74.             {
  75.                 RemovePlayerAttachedObject(playerid, 6);
  76.                 SendClientMessage(playerid, 0x3399ffAA, "Bomb has been successfully disposed");
  77.                 PlayerBoming[playerid] = false;
  78.                 BombLevel[playerid] = 0;
  79.             }
  80.             else
  81.             {
  82.                 SendClientMessage(playerid, 0xff0000AA, "ERROR: Bomb level should be between 10 and 500");
  83.             }
  84.         }
  85.     }
  86.     return 1;
  87. }
  88.  
  89. CMD:sbombhelp(playerid, params[])
  90. {
  91.     ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "{FFFF00}Suicide Bomb Help", "{FFFF00}/sbomb {FFFFFF}-> {3399ff}Buy suicide bomb\n{FFFF00}/sbomb {FFFFFF}-> {3399ff}Dispose suicide bomb if exist\n{FFFF00}Press H {FFFFFF}-> {3399ff}3 times blow up suicide bomb", "Close", "");
  92.     return 1;
  93. }
  94.  
  95. public OnPlayerDeath(playerid, killerid, reason)
  96. {
  97.     if(PlayerBoming[playerid])
  98.     {
  99.         if(killerid != INVALID_PLAYER_ID && IsPlayerConnected(killerid))
  100.         {
  101.             if(!PlayerBoming[killerid])
  102.             {
  103.                 GivePlayerMoney(killerid, floatround(10000 * BombLevel[playerid]));
  104.                 new str[128];
  105.                 format(str, sizeof str,"Congratulations!, You've just killed a bomb suicider terrorist and got {33FF33}%d$ {3399ff}as a reward!", floatround(10000 * BombLevel[playerid]));
  106.                 SendClientMessage(killerid, 0x3399ffAA, str);
  107.             }
  108.             else
  109.             {
  110.                 SendClientMessage(playerid, 0x3399ffAA, "Bomb suicider terrorists killing each other!, so good!");
  111.             }
  112.         }
  113.         RemovePlayerAttachedObject(playerid, 6);
  114.         PlayerBoming[playerid] = false;
  115.         LastTimeBombUsed[playerid] = 0;
  116.         BombLevel[playerid] = 0;
  117.         BombExplode{playerid} = 0;
  118.     }
  119.     return 1;
  120. }
  121.  
  122. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  123. {
  124.     if(PlayerBoming[playerid] && !IsPlayerInAnyVehicle(playerid))
  125.     {
  126.         if(newkeys & KEY_CTRL_BACK)
  127.         {
  128.             if((gettime() - LastTimeBombUsed[playerid]) < 2)
  129.             {
  130.                 BombExplode{playerid}++;
  131.                 if(BombExplode{playerid} > 2)
  132.                 {
  133.                     RemovePlayerAttachedObject(playerid, 6);
  134.                     new Float:x, Float:y, Float:z;
  135.                     GetPlayerPos(playerid, x, y, z);
  136.                     CreateExplosion(x, y, z, 7, BombLevel[playerid]);
  137.                     CreateExplosion(x - 5, y, z, 7, BombLevel[playerid]);
  138.                     CreateExplosion(x + 5, y, z, 7, BombLevel[playerid]);
  139.                     CreateExplosion(x, y - 5, z, 7, BombLevel[playerid]);
  140.                     CreateExplosion(x, y + 5, z, 7, BombLevel[playerid]);
  141.                     CreateExplosion(x - 5, y - 5, z, 7, BombLevel[playerid]);
  142.                     CreateExplosion(x + 5, y + 5, z, 7, BombLevel[playerid]);
  143.                     CreateExplosion(x - 5, y + 5, z, 7, BombLevel[playerid]);
  144.                     CreateExplosion(x + 5, y - 5, z, 7, BombLevel[playerid]);
  145.                     CreateExplosion(x, y, z + 5, 7, BombLevel[playerid]);
  146.                     PlayerBoming[playerid] = false;
  147.                     LastTimeBombUsed[playerid] = 0;
  148.                     BombLevel[playerid] = 0;
  149.                     BombExplode{playerid} = 0;
  150.                 }
  151.             }
  152.             else
  153.             {
  154.                 BombExplode{playerid} = 1;
  155.             }
  156.             LastTimeBombUsed[playerid] = gettime();
  157.         }
  158.     }
  159.     return 1;
  160. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement