Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- script "RLBackpackAmmoPick" (int type)
- {
- int pick;
- SetPlayerProperty(0, 1, PROP_FROZEN);
- bool PickerActive = true;
- bool NoInstaJump = true;
- if (PickerActive)
- {
- str bh1 = "", bh2 = "", bh3 = "", bh4 = "";
- while (PickerActive)
- {
- int Buttons = GetPlayerInput(PlayerNumber(), INPUT_BUTTONS);
- // Don't get killed m8
- if (GetActorProperty(playerTID[PlayerNumber()], APROP_Health) <= 0)
- {
- SetInventory("RLBackpackType", type);
- ACS_NamedExecuteAlways("RLBackpackToss", 0);
- terminate;
- }
- // Drawing
- SetHudSize(320, 240, false);
- SetFont("SMALLFONT");
- // Flishy flashy icons!
- HudMessage(s:bh1,k:"+forward"; HUDMSG_ALPHA, 0, CR_WHITE, 160.0, 80.0, 0.05, 0.75 + FixedMul(sin(FixedDiv(Timer() << 16, 32.0)), 0.75));
- HudMessage(s:bh2,k:"+back"; HUDMSG_ALPHA, 0, CR_WHITE, 160.0, 160.0, 0.05, 0.75 + FixedMul(sin(FixedDiv(Timer() << 16, 32.0)), 0.75));
- HudMessage(s:bh3,k:"+moveleft"; HUDMSG_ALPHA, 0, CR_WHITE, 80.0, 120.0, 0.05, 0.75 + FixedMul(sin(FixedDiv(Timer() << 16, 32.0)), 0.75));
- HudMessage(s:bh4,k:"+moveright"; HUDMSG_ALPHA, 0, CR_WHITE, 240.0, 120.0, 0.05, 0.75 + FixedMul(sin(FixedDiv(Timer() << 16, 32.0)), 0.75));
- HudMessage(s:"Pick an Ammo Type"; HUDMSG_PLAIN, 0, CR_WHITE, 160.0, 200.0, 0.05);
- HudMessage(s:"Confirm with the ",k:"+use",s:" key!"; HUDMSG_PLAIN, 0, CR_WHITE, 160.0, 200.0, 0.05);
- SetFont("AMMOA0");
- HudMessage(s:"A"; HUDMSG_PLAIN, 0, CR_WHITE, 160.0 + 12.0, 80.0 + 16.0, 0.05);
- SetFont("SBOXA0");
- HudMessage(s:"A"; HUDMSG_PLAIN, 0, CR_WHITE, 160.0 + 16.0, 160.0 + 12.0, 0.05);
- SetFont("BROKA0");
- HudMessage(s:"A"; HUDMSG_PLAIN, 0, CR_WHITE, 80.0 + 27.0, 120.0 + 20.0, 0.05);
- SetFont("CELPA0");
- HudMessage(s:"A"; HUDMSG_PLAIN, 0, CR_WHITE, 240.0 + 15.0, 120.0 + 20.0, 0.05);
- SetHudSize(0, 0, false);
- // Input
- if (buttons & BT_FORWARD)
- {
- pick = AMMO_BULLET;
- bh1 = "\cf";
- bh2 = "", bh3 = "", bh4 = "";
- //break;
- }
- if (buttons & BT_BACK)
- {
- pick = AMMO_SHELL;
- bh2 = "\cf";
- bh1 = "", bh3 = "", bh4 = "";
- //break;
- }
- if (buttons & BT_MOVELEFT)
- {
- pick = AMMO_ROCKET;
- bh3 = "\cf";
- bh1 = "", bh2 = "", bh4 = "";
- }
- if (buttons & BT_MOVERIGHT)
- {
- pick = AMMO_CELL;
- bh4 = "\cf";
- bh1 = "", bh2 = "", bh3 = "";
- }
- if (buttons & BT_USE && !NoInstaJump)
- break;
- if (buttons & BT_SPEED)
- {
- ACS_NamedExecuteAlways("RLBackpackToss", 0);
- PickerActive = false;
- }
- Delay(1);
- NoInstaJump = false;
- }
- int bullets = 400;
- int shells = 100;
- int rockets = 100;
- int cells = 600;
- if (buttons & BT_USE)
- {
- switch (type)
- {
- case BPACK_SPECIALIST:
- switch (pick)
- {
- case AMMO_BULLET:
- bullets *= 2;
- break;
- case AMMO_SHELL:
- shells *= 2;
- break;
- case AMMO_ROCKET:
- rockets *= 2;
- break;
- case AMMO_CELL:
- cells *= 2;
- break;
- }
- break;
- case BPACK_DEDICATED:
- switch (pick)
- {
- case AMMO_BULLET:
- bullets *= 6;
- shells /= 10;
- rockets /= 10;
- cells /= 10;
- break;
- case AMMO_SHELL:
- bullets /= 10;
- shells *= 6;
- rockets /= 10;
- cells /= 10;
- break;
- case AMMO_ROCKET:
- bullets /= 10;
- shells /= 10;
- rockets *= 6;
- cells /= 10;
- break;
- case AMMO_CELL:
- bullets /= 10;
- shells /= 10;
- rockets /= 10;
- cells *= 6;
- break;
- }
- break;
- }
- }
- SetAmmoCapacityCap("Clip", bullets);
- SetAmmoCapacityCap("Shell", shells);
- SetAmmoCapacityCap("RocketAmmo", rockets);
- SetAmmoCapacityCap("Cell", cells);
- switch (pick)
- {
- case AMMO_BULLET:
- GiveInventory("RLBackpackClipChosen", 1);
- break;
- case AMMO_SHELL:
- GiveInventory("RLBackpackShellChosen", 1);
- break;
- case AMMO_ROCKET:
- GiveInventory("RLBackpackRocketChosen", 1);
- break;
- case AMMO_CELL:
- GiveInventory("RLBackpackCellChosen", 1);
- break;
- }
- SetPlayerProperty(0, 0, PROP_FROZEN);
- ActivatorSound("hud/assemblyalert", 127);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement