Post: [Release] Portal Gun
05-19-2011, 07:42 PM #1
iPROFamily
Gym leader
(adsbygoogle = window.adsbygoogle || []).push({}); Features


  • Creates two portals (red and green).
  • Portals are two way teleporters.

Patch
You must login or register to view this content. is a clean patch containing only this portal gun mod. (Code for the mod is below the video)

Controls


  • Aim down the weapon sight to create a red portal at the position your aiming at.
  • Fire the gun to create a green portal at the position your aiming at.

Video:

    #include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
#include common_scripts\utility;

init()
{
level thread onPlayerConnect();
}

onPlayerConnect()
{
for(;Winky Winky
{
level waittill( "connected", player );

player thread onPlayerSpawned();
}
}

onPlayerSpawned()
{
self endon( "disconnect" );

for(;Winky Winky
{
self waittill( "spawned_player" );
self.TeleportCooling = 0;
self thread GivePortalGun();
}
}

GivePortalGun()
{
self endon("disconnect");
self endon("death");

self giveWeapon("spas12_fmj_grip_mp", 7, false );
self thread DestroyPortalsOnDeath();
self thread MonitorTeleportCooling();

for(;Winky Winky
{
if (self AttackButtonPressed() && self getCurrentWeapon() == "spas12_fmj_grip_mp")
{
self notify("Portal1Death");
if (isDefined(self.Portal1))
self.Portal1 Delete();

self thread CreatePortal1();
wait .5;
}
if (self AdsButtonPressed() && self getCurrentWeapon() == "spas12_fmj_grip_mp")
{
self notify("Portal2Death");
if (isDefined(self.Portal2))
self.Portal2 Delete();

self thread CreatePortal2();
wait .5;
}
wait .05;
}
}

CreatePortal1()
{
self endon("disconnect");
self endon("death");
self endon("Portal1Death");

self.Portal1 = SpawnFx( level.spawnGlow["friendly"], GetCursorPos() );
TriggerFx( self.Portal1 );

for(;Winky Winky
{
foreach(player in level.players)
{
if(Distance(self.Portal1.origin,player.origin) < 50 && player.TeleportCooling == 0)
{
player SetOrigin(self.Portal2.origin);
player.TeleportCooling = 20;
wait .5;
}
}
wait .05;
}
}

CreatePortal2()
{
self endon("disconnect");
self endon("death");
self endon("Portal2Death");

self.Portal2 = SpawnFx( level.spawnGlow["enemy"], GetCursorPos() );
TriggerFx( self.Portal2 );

for(;Winky Winky
{
foreach(player in level.players)
{
if(Distance(self.Portal2.origin,player.origin) < 50 && player.TeleportCooling == 0)
{
player SetOrigin(self.Portal1.origin);
player.TeleportCooling = 20;
wait .5;
}
}
wait .05;
}
}

MonitorTeleportCooling()
{
self endon("disconnect");
self endon("death");

for(;Winky Winky
{
foreach(player in level.players)
{
if (player.TeleportCooling > 0)
player.TeleportCooling--;
}
wait .1;
}
}

DestroyPortalsOnDeath()
{
self endon("disconnect");
self waittill("death");
self notify("Portal1Death");
self notify("Portal2Death");
self.Portal1 Delete();
self.Portal2 Delete();
}


GetCursorPos()
{
forward = self getTagOrigin("tag_eye");
end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
location = BulletTrace( forward, end, 0, self)[ "position" ];
return location;
}

vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}


TheFallen's Menu + Portal Gun:
PS3:You must login or register to view this content.

XBOX:You must login or register to view this content.

Credit:
You must login or register to view this content. At You must login or register to view this content.
(adsbygoogle = window.adsbygoogle || []).push({});

The following 17 users say thank you to iPROFamily for this useful post:

.JiampyPotter, Adamâ„¢, Amanda, Choco, Diddles2Fresshh, gamer89117, JamazkieHD, maxrox, Merkii, Mezzid, Modus, Plurals, PussayPatrol, SALOOTME, Scouse_Dom, Skyl1n3, ViRuzModzHD
05-19-2011, 08:02 PM #2
That's sweet.
05-19-2011, 08:57 PM #3
.JiampyPotter
So Much Win.
Nice. :y:.
05-19-2011, 09:24 PM #4
PussayPatrol
I'm a neat monster...
Originally posted by iPROFamily View Post
Features


  • Creates two portals (red and green).
  • Portals are two way teleporters.

Patch
You must login or register to view this content. is a clean patch containing only this portal gun mod. (Code for the mod is below the video)

Controls


  • Aim down the weapon sight to create a red portal at the position your aiming at.
  • Fire the gun to create a green portal at the position your aiming at.

Video:

    #include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
#include common_scripts\utility;

init()
{
level thread onPlayerConnect();
}

onPlayerConnect()
{
for(;Winky Winky
{
level waittill( "connected", player );

player thread onPlayerSpawned();
}
}

onPlayerSpawned()
{
self endon( "disconnect" );

for(;Winky Winky
{
self waittill( "spawned_player" );
self.TeleportCooling = 0;
self thread GivePortalGun();
}
}

GivePortalGun()
{
self endon("disconnect");
self endon("death");

self giveWeapon("spas12_fmj_grip_mp", 7, false );
self thread DestroyPortalsOnDeath();
self thread MonitorTeleportCooling();

for(;Winky Winky
{
if (self AttackButtonPressed() && self getCurrentWeapon() == "spas12_fmj_grip_mp")
{
self notify("Portal1Death");
if (isDefined(self.Portal1))
self.Portal1 Delete();

self thread CreatePortal1();
wait .5;
}
if (self AdsButtonPressed() && self getCurrentWeapon() == "spas12_fmj_grip_mp")
{
self notify("Portal2Death");
if (isDefined(self.Portal2))
self.Portal2 Delete();

self thread CreatePortal2();
wait .5;
}
wait .05;
}
}

CreatePortal1()
{
self endon("disconnect");
self endon("death");
self endon("Portal1Death");

self.Portal1 = SpawnFx( level.spawnGlow["friendly"], GetCursorPos() );
TriggerFx( self.Portal1 );

for(;Winky Winky
{
foreach(player in level.players)
{
if(Distance(self.Portal1.origin,player.origin) < 50 && player.TeleportCooling == 0)
{
player SetOrigin(self.Portal2.origin);
player.TeleportCooling = 20;
wait .5;
}
}
wait .05;
}
}

CreatePortal2()
{
self endon("disconnect");
self endon("death");
self endon("Portal2Death");

self.Portal2 = SpawnFx( level.spawnGlow["enemy"], GetCursorPos() );
TriggerFx( self.Portal2 );

for(;Winky Winky
{
foreach(player in level.players)
{
if(Distance(self.Portal2.origin,player.origin) < 50 && player.TeleportCooling == 0)
{
player SetOrigin(self.Portal1.origin);
player.TeleportCooling = 20;
wait .5;
}
}
wait .05;
}
}

MonitorTeleportCooling()
{
self endon("disconnect");
self endon("death");

for(;Winky Winky
{
foreach(player in level.players)
{
if (player.TeleportCooling > 0)
player.TeleportCooling--;
}
wait .1;
}
}

DestroyPortalsOnDeath()
{
self endon("disconnect");
self waittill("death");
self notify("Portal1Death");
self notify("Portal2Death");
self.Portal1 Delete();
self.Portal2 Delete();
}


GetCursorPos()
{
forward = self getTagOrigin("tag_eye");
end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
location = BulletTrace( forward, end, 0, self)[ "position" ];
return location;
}

vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}

Credit:
You must login or register to view this content. At You must login or register to view this content.[/QUOT
Great Job i wish we were still on 1.11

The following 2 users groaned at PussayPatrol for this awful post:

.JiampyPotter, .Pluto
05-20-2011, 11:08 AM #5
Lolz omg this is sweet!
05-20-2011, 01:27 PM #6
Originally posted by 69r View Post
Originally posted by iPROFamily View Post
Features


  • Creates two portals (red and green).
  • Portals are two way teleporters.

Patch
You must login or register to view this content. is a clean patch containing only this portal gun mod. (Code for the mod is below the video)

Controls


  • Aim down the weapon sight to create a red portal at the position your aiming at.
  • Fire the gun to create a green portal at the position your aiming at.

Video:

    #include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
#include common_scripts\utility;

init()
{
level thread onPlayerConnect();
}

onPlayerConnect()
{
for(;Winky Winky
{
level waittill( "connected", player );

player thread onPlayerSpawned();
}
}

onPlayerSpawned()
{
self endon( "disconnect" );

for(;Winky Winky
{
self waittill( "spawned_player" );
self.TeleportCooling = 0;
self thread GivePortalGun();
}
}

GivePortalGun()
{
self endon("disconnect");
self endon("death");

self giveWeapon("spas12_fmj_grip_mp", 7, false );
self thread DestroyPortalsOnDeath();
self thread MonitorTeleportCooling();

for(;Winky Winky
{
if (self AttackButtonPressed() && self getCurrentWeapon() == "spas12_fmj_grip_mp")
{
self notify("Portal1Death");
if (isDefined(self.Portal1))
self.Portal1 Delete();

self thread CreatePortal1();
wait .5;
}
if (self AdsButtonPressed() && self getCurrentWeapon() == "spas12_fmj_grip_mp")
{
self notify("Portal2Death");
if (isDefined(self.Portal2))
self.Portal2 Delete();

self thread CreatePortal2();
wait .5;
}
wait .05;
}
}

CreatePortal1()
{
self endon("disconnect");
self endon("death");
self endon("Portal1Death");

self.Portal1 = SpawnFx( level.spawnGlow["friendly"], GetCursorPos() );
TriggerFx( self.Portal1 );

for(;Winky Winky
{
foreach(player in level.players)
{
if(Distance(self.Portal1.origin,player.origin) < 50 && player.TeleportCooling == 0)
{
player SetOrigin(self.Portal2.origin);
player.TeleportCooling = 20;
wait .5;
}
}
wait .05;
}
}

CreatePortal2()
{
self endon("disconnect");
self endon("death");
self endon("Portal2Death");

self.Portal2 = SpawnFx( level.spawnGlow["enemy"], GetCursorPos() );
TriggerFx( self.Portal2 );

for(;Winky Winky
{
foreach(player in level.players)
{
if(Distance(self.Portal2.origin,player.origin) < 50 && player.TeleportCooling == 0)
{
player SetOrigin(self.Portal1.origin);
player.TeleportCooling = 20;
wait .5;
}
}
wait .05;
}
}

MonitorTeleportCooling()
{
self endon("disconnect");
self endon("death");

for(;Winky Winky
{
foreach(player in level.players)
{
if (player.TeleportCooling > 0)
player.TeleportCooling--;
}
wait .1;
}
}

DestroyPortalsOnDeath()
{
self endon("disconnect");
self waittill("death");
self notify("Portal1Death");
self notify("Portal2Death");
self.Portal1 Delete();
self.Portal2 Delete();
}


GetCursorPos()
{
forward = self getTagOrigin("tag_eye");
end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
location = BulletTrace( forward, end, 0, self)[ "position" ];
return location;
}

vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}

Credit:
You must login or register to view this content. At You must login or register to view this content.[/QUOT
Great Job i wish we were still on 1.11


i am, gonna add this to my patch
05-20-2011, 01:44 PM #7
247Yamato
< ^ > < ^ >
Whats the difference beetween this and a zombie teleporting flag???
05-20-2011, 01:44 PM #8
NoMooreMercy
< ^ > < ^ >
This is really really sweet.
05-20-2011, 02:39 PM #9
seen this on TTG!!
05-20-2011, 02:59 PM #10
Default Avatar
Brad
Guest
that is best. i thought it would be like the degal teleport gun :p

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo