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-20-2011, 03:10 PM #11
Mr.RizLa+
Mistaaa RizLa !
this is so f****** sweet :y:
05-24-2011, 11:45 AM #12
Modus
¯\_(ツWinky Winky_/¯
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.


that's awesome!!!
05-29-2011, 10:25 PM #13
Greatttttt!! GJ!! Happy
06-01-2011, 11:56 AM #14
i wish this was 1.12 i would troll so hard with that gun

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo