Author Topic: War of the Glass - It's over, Blocklanders Won!  (Read 19646 times)

I didn't escaped, I stoped being stupid like you.
AS YOU SEE MRLOL DOES NOT WANT YOU TO ESCAPE OF THE HORROR OF THE GLLLLLLLLLLASSSSSSSSSSSSSSSSS SSSSS...

As the Glass Leader, I hereby submit that we, the Imperial Glass Empire, surrender.
now go home friends.

ARES is failclan.
Go away friend.

And why is this topic still here? :|

As the Glass Leader, I hereby submit that we, the Imperial Glass Empire, surrender.
now go home friends.
Wait...
20 pages of roleplaying about fighting glass and it finally ends.
Lots of time on your hands guys, lots of time.

WE WON YEAH WOOHOO WOOT YEAH
I told you we would win.


forget, I can't find a decent picture of an ubercharged Blu Pyro.
Gmod is good.

we are the champions yeah
« Last Edit: July 21, 2010, 06:49:24 PM by Lt.Night »

WAR'S OFF MEN.

BUT TO PRESERVE IT'S LEGACY I AM UPLOADING THE TRAINING PROTOCOL.

Code: [Select]
$GLASSWARS_DIFFICULTY=105;
$GLASSWARS_CONSIST=1;
$GLASSWARS_COUNT=0;
$GLASSWARS_MAXCOUNT=30;
$GLASSWARS_SCORE=0;
$GLASSWARS_IDTICK=0;

$GLASSWARS_SPAWNRATE= 800;
$GLASSWARS_PRESSURE=1;
$GLASSWARS_MAXPRESSURE=3;
$GLASSWARS_PRESSUREBUILDUP=0;
$GLASSWARS_PRESSUREUP=5;

$GLASSWARS_sw=0;

function servercmdGWP(%client){
if(%client.issuperadmin){
$GLASSWARS_x = getword(%client.player.getposition(),0);
$GLASSWARS_y = getword(%client.player.getposition(),1);
$GLASSWARS_z = getword(%client.player.getposition(),2);
}
}
function servercmdGWO(%client){
if(%client.issuperadmin){
$GLASSWARS_ox = getword(%client.player.getposition(),0);
$GLASSWARS_oy = getword(%client.player.getposition(),1);
$GLASSWARS_oz = getword(%client.player.getposition(),2);
}
}
function servercmdGWC(%client){
if(%client.issuperadmin){
$GLASSWARS_cx = getword(%client.player.getposition(),0);
$GLASSWARS_cy = getword(%client.player.getposition(),1);
$GLASSWARS_cz = getword(%client.player.getposition(),2);
}
}
function servercmdGWstart(%client){
if(%client.issuperadmin){
announce("The GLASSWARS Training Protocol will begin shortly.");
schedule($GLASSWARS_SPAWNRATE,0,"glasswarstick",%client);
$GLASSWARS_ACTIVE=1;
}
}
function servercmdGWstop(%client){
if(%client.issuperadmin){
announce("The GLASSWARS Training Round has been stopped.");
announce("\c5The glass has overwhelmed the recruits! \c5End score:\c1 " @ $GLASSWARS_SCORE);
$GLASSWARS_ACTIVE=0;
$GLASSWARS_SCORE=0;
$GLASSWARS_PRESSURE=1;
$GLASSWARS_PRESSUREBUILDUP=0;
clearglasswars();
}
}

function makeglass(%id,%pos,%scale,%rotation){
%a = getrandom(1,5);
if(%a==5){
%scale=getrandom(100,5)/10 SPC getrandom(100,5)/10 SPC getrandom(100,5)/10;
$Glass[%id] = new StaticShape()
{
    rotation = %rotation;
    scale = %scale;
    position = %pos;
    canSetIFLs = "0";
    datablock = "lightBulbA";
    indestructable = true;


};
$Glass[%id].bulb=1;
}else{
$Glass[%id] = new StaticShape()
{
    rotation = %rotation;
    scale = %scale;
    position = %pos;
    canSetIFLs = "0";
    datablock = "glassA";
    indestructable = true;


};
}
$Glass[%id].isglass=1;
$Glass[%id].vol = getword(%scale,0) * getword(%scale,1) * getword(%scale,2);
$GLASSWARS_COUNT++;
$GLASSWARS_IDTICK++;
if($GLASSWARS_COUNT>=$GLASSWARS_MAXCOUNT){
announce("\c5The glass has overwhelmed the recruits! \c5End score:\c1 " @ $GLASSWARS_SCORE);
for(%i = 0; %i < ClientGroup.getCount(); %i++)
{
%cl = ClientGroup.getObject(%i);
%cl.totalgscore+=%cl.glassscore;
messageclient(%cl,'',"\c5Your score for this round was\c1 " @ %cl.glassscore SPC "\c5And your total score is\c1 " @ %cl.totalgscore);

%cl.glassscore=0;
}
$GLASSWARS_ACTIVE=0;
$GLASSWARS_SCORE=0;
$GLASSWARS_PRESSURE=1;
$GLASSWARS_PRESSUREBUILDUP=0;
clearglasswars();
}
}

function clearglasswars(){
%i=0;
while(%i<$GLASSWARS_IDTICK){
if(isobject($Glass[%i])){
$Glass[%i].delete();
}
%i++;
}
$GLASSWARS_COUNT=0;
$GLASSWARS_IDTICK=0;
}


function glasswarstick(%client){
%obj=%client.player;
if($GLASSWARS_ACTIVE){
if($GLASSWARS_sw==0){
%i=0;
while(%i<$GLASSWARS_PRESSURE){
%pos=getrandom($GLASSWARS_x,$GLASSWARS_ox) SPC getrandom($GLASSWARS_y,$GLASSWARS_oy) SPC getrandom($GLASSWARS_z,$GLASSWARS_oz);
%scale=getrandom(100,5)/10 SPC getrandom(10,5)/10 SPC getrandom(100,5)/10;
%a=getrandom(1,3);
if(%a==1){
%rot="0 1 0" SPC getrandom(25,90);
}
if(%a==2){
%rot="1 0 0" SPC getrandom(25,90);
}
if(%a==3){
%rot="0 0 1" SPC getrandom(25,90);
}
makeglass($GLASSWARS_IDTICK,%pos,%scale,%rot);
%i++;
%i++;
}
$GLASSWARS_PRESSUREBUILDUP++;
if($GLASSWARS_PRESSUREBUILDUP>=$GLASSWARS_PRESSUREUP){
$GLASSWARS_PRESSURE++;
if($GLASSWARS_PRESSURE>$GLASSWARS_MAXPRESSURE){
$GLASSWARS_PRESSURE=$GLASSWARS_MAXPRESSURE;
}
}
$GLASSWARS_sw=1;
}else{
if($GLASSWARS_sw==3){
$GLASSWARS_sw=0;
lightbulbfire();
}
if($GLASSWARS_sw==2){
$GLASSWARS_sw=3;
}
if($GLASSWARS_sw==1){
$GLASSWARS_sw=2;
lightbulbfire();
}
}
//%pos=getrandom($GLASSWARS_x,$GLASSWARS_ox) SPC getrandom($GLASSWARS_y,$GLASSWARS_oy) SPC getrandom($GLASSWARS_z,$GLASSWARS_oz);
//%k=0;


//}
moveglasscloser();
$GLASSWARS_SCORE+=mfloor($GLASSWARS_DIFFICULTY/10);
schedule($GLASSWARS_SPAWNRATE,0,"glasswarstick",%client);
}
}

function lightbulbfire(){
%i=0;
while(%i<$GLASSWARS_IDTICK){
if(isobject($Glass[%i])){
if($Glass[%i].bulb){
%pos=$Glass[%i].getposition();
while(%k<3){
%p = new Projectile()
{
dataBlock = "spearprojectile";
initialVelocity = getrandom(-50,50) SPC getrandom(-50,50) SPC getrandom(-45,0);
initialPosition = %pos;
sourceObject = %obj;
sourceSlot = 1;
client = %obj.client;
minigame = %obj.client.minigame;
};
%p.setscale(getrandom(7,3)/10 SPC getrandom(7,3)/10 SPC getrandom(7,3)/10);
MissionCleanup.add(%p);
%k++;
}
}else{
if(getrandom(1,5)==1){
%p = new Projectile()
{
dataBlock = "tankshellprojectile";
initialVelocity = %vel;
initialPosition = %pos;
sourceObject = %obj;
sourceSlot = 1;
client = %obj.client;
minigame = %obj.client.minigame;
};
%p.setscale(getrandom(4,1)/10 SPC getrandom(4,1)/10 SPC getrandom(4,1)/10);
MissionCleanup.add(%p);
}
}
}
%i++;
}
}

function moveglasscloser(){
%i=0;
while(%i<$GLASSWARS_IDTICK){
if(isobject($Glass[%i])){
%pos=$Glass[%i].getposition();
%x=getword(%pos,0);
%y=getword(%pos,1);
%z=getword(%pos,2);
%cx = $GLASSWARS_cx;
%cy = $GLASSWARS_cy;
%cz = $GLASSWARS_cz;
%nx=0;
%ny=0;
%nz=0;
if(%x>%cx){
%nx=-0.3;
}
if(%x<%cx){
%nx=0.3;
}
if(%y>%cy){
%ny=-0.3;
}
if(%y<%cy){
%ny=0.3;
}
if(%z>%cz){
%nz=-0.3;
}
if(%z<%cz){
%nz=0.3;
}
%a=getrandom(1,3);
if(%a==1){
%rot="0 1 0" SPC getrandom(25,90);
}
if(%a==2){
%rot="1 0 0" SPC getrandom(25,90);
}
if(%a==3){
%rot="0 0 1" SPC getrandom(25,90);
}
//explode if they get close enough?
%t = $Glass[%i].gettransform();
%g = getwords(%t,3,6);
$Glass[%i].settransform(vectoradd(%pos,%nx SPC %ny SPC %nz) SPC %rot);
}
%i++;
}
}

package GLASSWARS_glass
{
function ProjectileData::onCollision(%this,%obj,%col,%fade,%pos,%normal){
//echo("colloded");
if(%col.isglass){
if(!%col.brickhp){
%col.brickhp=%col.vol*$GLASSWARS_DIFFICULTY;
}
%max=%col.vol*$GLASSWARS_DIFFICULTY;
//echo("T" @ %col.brickhp @ %this.directdamage*8);

//echo(%col.brickhp SPC %max*0.50);
if(%obj.getdatablock() == nametoid("tankshellprojectile")){

%sx = getword(%col.getscale(),0);
%sy = getword(%col.getscale(),1);
%sz = getword(%col.getscale(),2);
%sx/=2;
%sz/=2;
%col.setscale(%sx SPC %sy SPC %sz);
%col.brickhp=%col.vol*$GLASSWARS_DIFFICULTY;
%scale = %col.getscale();
%col.vol = getword(%scale,0) * getword(%scale,1) * getword(%scale,2);
%obj.client.glassscore+=200;
$GLASSWARS_SCORE+=200;
%obj.client.setscore(%obj.client.glassscore);
%col.brickhp-=%this.directdamage*4;
}
%col.brickhp-=%this.directdamage*4;
if(%col.brickhp<=0){
$GLASSWARS_SCORE+=mfloor(%col.vol/10)*$GLASSWARS_DIFFICULTY;
%obj.client.glassscore+=mfloor(%col.vol/10)*$GLASSWARS_DIFFICULTY;
%obj.client.setscore(%obj.client.glassscore);
%vel=getrandom(-50,50) SPC getrandom(-50,50) SPC getrandom(-15,15);
if($GLASSWARS_CONSIST){
%vel=getrandom(-10,10) SPC getrandom(-10,10) SPC getrandom(-5,5);
}
%p = new Projectile()
{
dataBlock = "tankshellprojectile";
initialVelocity = %vel;
initialPosition = %pos;
sourceObject = %obj;
sourceSlot = 1;
client = %obj.client;
minigame = %obj.client.minigame;
};
%p.setscale(getrandom(9,3)/10 SPC getrandom(9,3)/10 SPC getrandom(9,3)/10);
MissionCleanup.add(%p);
if(getrandom(1,10)==1){
%p.explode();
}
%col.delete();
$GLASSWARS_COUNT--;
bottomprintall("\c5Score: \c1" @ $GLASSWARS_SCORE,10);

}
}
Parent::onCollision(%this,%obj,%col,%fade,%pos,%normal);
}

};
activatepackage(GLASSWARS_glass);

SIMULATED GLASS SPAWNS AND MOVES TO THE CENTER. SHOOT TO KILL.
/GWP
-use it at one corner of the three dimensional box in which glass spawns
/GWO
-use it at the opposite corner of said box
/GWC
-use it where glass should move to.
/GWstart
/GWstop
self explanatory.

Gmod is good.
Yeah because I'm totally good at posing. No.