Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- The MIT License (MIT)
- Copyright (c) 2014 James Monger
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE.
- */
- #include <a_samp>
- #include <YSI\y_commands>
- #include <YSI\y_master>
- new Text:flashbangStage[5];
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Flashbang by CaveDweller");
- print("--------------------------------------\n");
- for (new t = 1; t <= 4; t++)
- {
- flashbangStage[t] = TextDrawCreate(-20.000000,2.000000,"|");
- TextDrawUseBox(flashbangStage[t],1);
- TextDrawTextSize(flashbangStage[t],660.000000,22.000000);
- TextDrawAlignment(flashbangStage[t],0);
- TextDrawFont(flashbangStage[t],3);
- TextDrawLetterSize(flashbangStage[t],1.000000,52.200000);
- TextDrawBackgroundColor(flashbangStage[t],0x000000ff);
- TextDrawColor(flashbangStage[t],0x000000ff);
- TextDrawSetOutline(flashbangStage[t],1);
- TextDrawSetProportional(flashbangStage[t],1);
- TextDrawSetShadow(flashbangStage[t],1);
- }
- TextDrawBoxColor(flashbangStage[1],0xffffffff);
- TextDrawBoxColor(flashbangStage[2],0xffffffaa);
- TextDrawBoxColor(flashbangStage[3],0xffffff55);
- TextDrawBoxColor(flashbangStage[4],0xffffff22);
- return 1;
- }
- YCMD:flashbang(playerid, params[], help)
- {
- new weaponId;
- new ammoAmount;
- GetPlayerWeaponData(playerid, 8, weaponId, ammoAmount);
- if (weaponId == WEAPON_GRENADE && ammoAmount > 0)
- {
- return SendClientMessage(playerid, -1, "You already have an incendiary flashbang.");
- }
- SendClientMessage(playerid, -1, "You have received an incendiary flashbang.");
- GivePlayerWeapon(playerid, WEAPON_GRENADE, 1);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- SendClientMessage(playerid, -1, "This server is using {FFA319}Flashbang{FFFFFF} by {FFA319}CaveDweller{FFFFFF}.");
- return 1;
- }
- new FlashbangStage[MAX_PLAYERS];
- new FlashbangSwayLevel[MAX_PLAYERS];
- public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
- {
- if (weaponid == WEAPON_GRENADE || weaponid == 51)
- {
- new Float:health;
- GetPlayerHealth(playerid, health);
- SetPlayerHealth(playerid, (health - (amount * 0.3)));
- FlashbangStage[playerid] = 1;
- HandleFlashbangStage(playerid);
- }
- return 1;
- }
- forward HandleFlashbangStage(playerid);
- public HandleFlashbangStage(playerid)
- {
- switch (FlashbangStage[playerid])
- {
- case 1 .. 5:
- {
- SetPlayerDrunkLevel(playerid, (FlashbangStage[playerid] == 1) ? 50000 : GetPlayerDrunkLevel(playerid));
- if (FlashbangStage[playerid] == 2)
- {
- FlashbangSwayLevel[playerid] = 1;
- HandleFlashbangSway(playerid);
- }
- if (FlashbangStage[playerid] < 5)
- TextDrawShowForPlayer(playerid, flashbangStage[FlashbangStage[playerid]]);
- if (FlashbangStage[playerid] > 1)
- TextDrawHideForPlayer(playerid, flashbangStage[FlashbangStage[playerid] - 1]);
- FlashbangStage[playerid] = ((FlashbangStage[playerid] == 5) ? -1 : FlashbangStage[playerid]);
- }
- }
- if (FlashbangStage[playerid] < 5 && FlashbangStage[playerid] != -1)
- {
- FlashbangStage[playerid]++;
- new time = (FlashbangStage[playerid] == 2) ? 1800 : 100;
- SetTimerEx("HandleFlashbangStage", time, false, "i", playerid);
- }
- return 1;
- }
- forward HandleFlashbangSway(playerid);
- public HandleFlashbangSway(playerid)
- {
- switch (FlashbangSwayLevel[playerid])
- {
- case 1 .. 6:
- {
- SetPlayerDrunkLevel(playerid, 10000 - (2000 * (FlashbangSwayLevel[playerid] - 1)));
- if (FlashbangSwayLevel[playerid] == 6)
- FlashbangSwayLevel[playerid] = -1;
- }
- }
- if (FlashbangSwayLevel[playerid] < 6 && FlashbangSwayLevel[playerid] != -1)
- {
- FlashbangSwayLevel[playerid]++;
- new time = (FlashbangSwayLevel[playerid] == 5) ? 1000 : 600;
- SetTimerEx("HandleFlashbangSway", time, false, "i", playerid);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement