Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include a_samp
- #include zcmd
- new bool:PlayerBoming[MAX_PLAYERS], LastTimeBombUsed[MAX_PLAYERS], Float:BombLevel[MAX_PLAYERS], BombExplode[MAX_PLAYERS char];
- public OnPlayerConnect(playerid)
- {
- PlayerBoming[playerid] = false;
- LastTimeBombUsed[playerid] = 0;
- BombLevel[playerid] = 0;
- BombExplode{playerid} = 0;
- return 1;
- }
- CMD:sbomb(playerid, params[])
- {
- if(isnull(params))
- {
- if(PlayerBoming[playerid])
- {
- RemovePlayerAttachedObject(playerid, 6);
- SendClientMessage(playerid, 0x3399ffAA, "Bomb has been successfully disposed");
- PlayerBoming[playerid] = false;
- BombLevel[playerid] = 0;
- }
- else
- {
- SendClientMessage(playerid, 0xff0000AA, "Usage: /sbomb [level] ( Each level costs 10,000$ ) ");
- }
- }
- else
- {
- new Float:bomblevel = floatstr(params);
- if(9.0 < bomblevel < 501.0)
- {
- new cash = GetPlayerMoney(playerid);
- if(cash >= (10000 * bomblevel))
- {
- if(!PlayerBoming[playerid])
- {
- SetPlayerAttachedObject(playerid, 6, 1252, 1, 0.073000, -0.144999, 0.003000, 9.399998, 86.499977, -10.800004, 1.000000, 1.000000, 1.000000);
- GivePlayerMoney(playerid, floatround((10000 * bomblevel) * - 1));
- PlayerBoming[playerid] = true;
- BombLevel[playerid] = bomblevel;
- SendClientMessage(playerid, 0x3399ffAA, "Bomb has been successfully set");
- }
- else
- {
- RemovePlayerAttachedObject(playerid, 6);
- SendClientMessage(playerid, 0x3399ffAA, "Bomb has been successfully disposed");
- PlayerBoming[playerid] = false;
- BombLevel[playerid] = 0;
- }
- }
- else
- {
- if(PlayerBoming[playerid])
- {
- RemovePlayerAttachedObject(playerid, 6);
- SendClientMessage(playerid, 0x3399ffAA, "Bomb has been successfully disposed");
- PlayerBoming[playerid] = false;
- BombLevel[playerid] = 0;
- }
- else
- {
- SendClientMessage(playerid, 0xff0000AA, "ERROR: You got no enough cash for this bomb level");
- }
- }
- }
- else
- {
- if(PlayerBoming[playerid])
- {
- RemovePlayerAttachedObject(playerid, 6);
- SendClientMessage(playerid, 0x3399ffAA, "Bomb has been successfully disposed");
- PlayerBoming[playerid] = false;
- BombLevel[playerid] = 0;
- }
- else
- {
- SendClientMessage(playerid, 0xff0000AA, "ERROR: Bomb level should be between 10 and 500");
- }
- }
- }
- return 1;
- }
- CMD:sbombhelp(playerid, params[])
- {
- 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", "");
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(PlayerBoming[playerid])
- {
- if(killerid != INVALID_PLAYER_ID && IsPlayerConnected(killerid))
- {
- if(!PlayerBoming[killerid])
- {
- GivePlayerMoney(killerid, floatround(10000 * BombLevel[playerid]));
- new str[128];
- 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]));
- SendClientMessage(killerid, 0x3399ffAA, str);
- }
- else
- {
- SendClientMessage(playerid, 0x3399ffAA, "Bomb suicider terrorists killing each other!, so good!");
- }
- }
- RemovePlayerAttachedObject(playerid, 6);
- PlayerBoming[playerid] = false;
- LastTimeBombUsed[playerid] = 0;
- BombLevel[playerid] = 0;
- BombExplode{playerid} = 0;
- }
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(PlayerBoming[playerid] && !IsPlayerInAnyVehicle(playerid))
- {
- if(newkeys & KEY_CTRL_BACK)
- {
- if((gettime() - LastTimeBombUsed[playerid]) < 2)
- {
- BombExplode{playerid}++;
- if(BombExplode{playerid} > 2)
- {
- RemovePlayerAttachedObject(playerid, 6);
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid, x, y, z);
- CreateExplosion(x, y, z, 7, BombLevel[playerid]);
- CreateExplosion(x - 5, y, z, 7, BombLevel[playerid]);
- CreateExplosion(x + 5, y, z, 7, BombLevel[playerid]);
- CreateExplosion(x, y - 5, z, 7, BombLevel[playerid]);
- CreateExplosion(x, y + 5, z, 7, BombLevel[playerid]);
- CreateExplosion(x - 5, y - 5, z, 7, BombLevel[playerid]);
- CreateExplosion(x + 5, y + 5, z, 7, BombLevel[playerid]);
- CreateExplosion(x - 5, y + 5, z, 7, BombLevel[playerid]);
- CreateExplosion(x + 5, y - 5, z, 7, BombLevel[playerid]);
- CreateExplosion(x, y, z + 5, 7, BombLevel[playerid]);
- PlayerBoming[playerid] = false;
- LastTimeBombUsed[playerid] = 0;
- BombLevel[playerid] = 0;
- BombExplode{playerid} = 0;
- }
- }
- else
- {
- BombExplode{playerid} = 1;
- }
- LastTimeBombUsed[playerid] = gettime();
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement