level thread drawTrampoline();
self thread monitorTramp();
drawTrampoline() { level.tramp = []; trampNum = 0; for(x=1;x<=3;x++) { for(y=1;y<=5;y++) { level.tramp[trampNum] = spawn("script_model", (1200+(x*5
, -2930+(y*2
,44.5)); level.tramp[trampNum] setModel("com_plasticcase_friendly"); trampNum++; } }}monitorTramp(){ self endon("death"); self endon("disconnect"); for(;
{ foreach(pkg in level.tramp) { if(distance(self.origin, pkg.origin)<20){ v = self getVelocity(); z = randomIntRange(160, 161); pkg rotateYaw(360, .05); foreach(dbag in level.players) { if(distance(dbag, self)<15) self setVelocity((v[0],v[1],z+300)); else self setVelocity((v[0],v[1],z)); } } } wait 0.05; }}
CreateWalls((718, -2760, 40.125), (1400, -2760, 200));
CreateWalls((718, -3213, 40.125), (1200, -3213, 200));
CreateWalls((718, -2760, 40.125), (718, -3213, 200));
CreateWalls((1400, -3213, 40.125), (1400, -2760, 200));
CreateDoors((1100, -3212, 46), (1300, -3212, 45), (90,90, 0), 4, 3, 70, 75);
CreateWalls((815, -2900, 50), (815, -3213, 51));
CreateWalls((815, -2900, 110), (815, -3213, 111));
CreateGrids((718, -2765, 145), (1200, -3200, 146), (0,0,0));
CreateDoors(open, close, angle, size, height, hp, range) { level.doorwait = 0.7; offset = (((size / 2) - 0.5) * -1); center = spawn("script_model", open ); for(j = 0; j < size; j++){ door = spawn("script_model", open + (((0, 30, 0) * offset))*1.5); door setModel("com_plasticcase_enemy"); door Solid(); door CloneBrushmodelToScriptmodel( level.airDropCrateCollision ); door EnableLinkTo(); door LinkTo(center); for(h = 1; h < height; h++){ door = spawn("script_model", open + (((0, 30, 0) * offset)*1.5) - ((55, 0, 0) * h)); door setModel("com_plasticcase_enemy"); door Solid(); door CloneBrushmodelToScriptmodel( level.airDropCrateCollision ); door EnableLinkTo(); door LinkTo(center); } offset += 1; } center.angles = angle; center.state = "open"; center.hp = hp; center.range = range; center thread DoorThink(open, close); center thread DoorUse(); center thread ResetDoors(open, hp); wait 0.01; } DoorThink(open, close) { while(1) { if(self.hp > 0){ self waittill ( "triggeruse" , player ); if(player.team == "axis"){ if(self.state == "open"){ self MoveTo(close, level.doorwait); wait level.doorwait; self.state = "close"; continue; } if(self.state == "close"){ self MoveTo(open, level.doorwait); wait level.doorwait; self.state = "open"; continue; } } if(player.team == "allies"){ if(self.state == "close"){ self.hp--; player iPrintlnBold("HIT"); wait 1; continue; } } } else { if(self.state == "close"){ self MoveTo(open, level.doorwait); } self.state = "broken"; wait .5; self delete(); } } } DoorUse(range) { self endon("disconnect"); while(1) { foreach(player in level.players) { if(Distance(self.origin, player.origin) <= self.range){ if(player.team == "axis"){ if(self.state == "open"){ player.hint = "Press ^3[{+activate}] ^7to ^2Close ^7the door"; } if(self.state == "close"){ player.hint = "Press ^3[{+activate}] ^7to ^2Open ^7the door"; } if(self.state == "broken"){ player.hint = "^1Door is Broken"; } } if(player.team == "allies"){ if(self.state == "close"){ player.hint = "Press ^3[{+activate}] ^7to ^2Attack ^7the door"; } if(self.state == "broken"){ player.hint = "^1Door is Broken"; } } if(player maps\mp\gametypes\_rank::isButtonPressed("X")){ self notify( "triggeruse" , player); } } } wait .045; } } ResetDoors(open, hp) { while(1) { level waittill("RESETDOORS"); self.hp = hp; self MoveTo(open, level.doorwait); self.state = "open"; } } CreateGrids(corner1, corner2, angle){ W = Distance((corner1[0], 0, 0), (corner2[0], 0, 0)); L = Distance((0, corner1[1], 0), (0, corner2[1], 0)); H = Distance((0, 0, corner1[2]), (0, 0, corner2[2])); CX = corner2[0] - corner1[0]; CY = corner2[1] - corner1[1]; CZ = corner2[2] - corner1[2]; ROWS = roundUp(W/55); COLUMNS = roundUp(L/30); HEIGHT = roundUp(H/20); XA = CX/ROWS; YA = CY/COLUMNS; ZA = CZ/HEIGHT; center = spawn("script_model", corner1); for(r = 0; r <= ROWS; r++){ for(c = 0; c <= COLUMNS; c++){ for(h = 0; h <= HEIGHT; h++){ block = spawn("script_model", (corner1 + (XA * r, YA * c, ZA * h))); block setModel("com_plasticcase_friendly"); block.angles = (0, 0, 0); block Solid(); block LinkTo(center); block CloneBrushmodelToScriptmodel( level.airDropCrateCollision ); wait 0.01; } } } center.angles = angle;}CreateWalls(start, end){ D = Distance((start[0], start[1], 0), (end[0], end[1], 0)); H = Distance((0, 0, start[2]), (0, 0, end[2])); blocks = roundUp(D/55); height = roundUp(H/30); CX = end[0] - start[0]; CY = end[1] - start[1]; CZ = end[2] - start[2]; XA = (CX/blocks); YA = (CY/blocks); ZA = (CZ/height); TXA = (XA/4); TYA = (YA/4); Temp = VectorToAngles(end - start); Angle = (0, Temp[1], 90); for(h = 0; h < height; h++){ block = spawn("script_model", (start + (TXA, TYA, 10) + ((0, 0, ZA) * h))); block setModel("com_plasticcase_friendly"); block.angles = Angle; block Solid(); block CloneBrushmodelToScriptmodel( level.airDropCrateCollision ); wait 0.001; for(i = 1; i < blocks; i++){ block = spawn("script_model", (start + ((XA, YA, 0) * i) + (0, 0, 10) + ((0, 0, ZA) * h))); block setModel("com_plasticcase_friendly"); block.angles = Angle; block Solid(); block CloneBrushmodelToScriptmodel( level.airDropCrateCollision ); wait 0.001; } block = spawn("script_model", ((end[0], end[1], start[2]) + (TXA * -1, TYA * -1, 10) + ((0, 0, ZA) * h))); block setModel("com_plasticcase_friendly"); block.angles = Angle; block Solid(); block CloneBrushmodelToScriptmodel( level.airDropCrateCollision ); wait 0.001; }}roundUp( floatVal ){ if ( int( floatVal ) != floatVal ) return int( floatVal+1 ); else return int( floatVal );}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.