Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include maps\mp\gametypes\_hud_util;
- init()
- {
- level.clientid = 0;
- level thread onPlayerConnect();
- setdvar("scr_" + level.gametype + "_timelimit", 0);
- setdvar("scr_" + level.gametype + "_scorelimit", 0);
- }
- onPlayerConnect()
- {
- for(;;)
- {
- level waittill("connecting", player);
- player.clientid = level.clientid;
- level.clientid++;
- // Player spawn detection
- player thread onPlayerSpawned();
- // Forge text hud elem
- player DoForgeText();
- // Start monitoring buttons
- player thread MonitorButtons();
- // Start move crate thread
- player thread MoveCrate();
- }
- }
- NormalisedTrace(type)
- {
- struct = self getS(9999);
- return bullettrace(struct.start, struct.end, false, undefined)[type];
- }
- onPlayerSpawned()
- {
- self endon("disconnect");
- level endon("game_ended");
- for(;;)
- {
- self waittill("spawned_player");
- // Count down moveing
- self freezeControls(false);
- }
- }
- DoForgeText()
- {
- self.MenuNameText = self createFontString("objective", 1.6);
- self.MenuNameText.color = (200, 0, 0);
- self.MenuNameText setText("Forge Mod v1.0");
- self.MenuNameText setPoint("TOPRIGHT", "TOPRIGHT", 0, 0);
- }
- MonitorButtons()
- {
- self endon("disconnect");
- for(;;)
- {
- if(self actionslotonebuttonpressed()) // DPAD_UP
- {
- self SpawnCrate();
- self iprintln("SpawnCrate");
- }
- if(self actionslottwobuttonpressed()) // DPAD_DOWN
- {
- if(isdefined(self.CurrentCrate))
- {
- self.CurrentCrate = undefined;
- self iprintln("DropCrate");
- }
- else
- {
- self.CurrentCrate = self NormalisedTrace("entity");
- self iprintln("PickupCrate");
- }
- }
- if(self actionslotfourbuttonpressed()) // DPAD_RIGHT
- {
- if(isdefined(self.CurrentCrate))
- {
- self.CurrentCrate delete();
- self.CurrentCrate = undefined;
- }
- else
- {
- self NormalisedTrace("entity") delete();
- }
- self iprintln("DeleteCrate");
- }
- wait 0.05;
- }
- }
- getS(scale)
- {
- forward = anglestoforward(self getplayerangles());
- struct = spawnstruct();
- struct.start = self geteye();
- struct.end = struct.start + vectorScale(forward, scale);
- return struct;
- }
- MoveCrate()
- {
- self endon("disconnect");
- for(;;)
- {
- if(isdefined(self.CurrentCrate))
- {
- self.CurrentCrate.origin = self getS(100).end;
- self.CurrentCrate.angles = (0, self.angles[1], self.angles[2]);
- }
- wait 0.05;
- }
- }
- SpawnCrate()
- {
- self.CurrentCrate = spawn("script_model", self NormalisedTrace("position"));
- self.CurrentCrate setmodel("t6_wpn_supply_drop_ally");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement