Taking legit requests


SENT Request - Somewhat stargate Related.

Shield Emitter Entity
Should Operate like default stargate Shield Generator, except for the additional 5 Wire inputs.

x,y,z (or just a vector)

Allows the user to generate a spherical shield elsewhere on the map, without needing the generator to be at that location.


Oh no… Trapped Person P cannot get out…
Good thing that Bomb § is contained in that remote containment field.

This would

  1. Allow you to create Mobile Force Fields (wire the vector up from a target finder, and voila, you have a force field that moves with you.)
  2. One of the weaknesses of Shield generators at the minute, is that they are inside the shield, which means if they are containment shields, they are useless… the bogy can turn the shield off, or the explosion we are containing, will destroy the shield or unlink it from powersources etc. Remote Shield Generator/Emitter would not have this problem.


I was wondering if you might have some sort of snippet of code, that would be able to

  1. Add entities to a table
  2. Lift Entities into the air around a vector position
  3. Have the said entities in the table, rotate calmly around that location.

I can do the whole ApplyForceCenter etc, or SetVelocity, but its not really helping me much, as it just makes things zoom around frantically.

Maybe a script that alters player’s speed linearly with their remaining health?
I.e. at 1 health, the player moves very slowly, even whilst running.
At 100 health or above they have standard move speed.

recode my shitty aimbot

Oh, perhaps another idea.

Friends and I have occasional CTF games. We tend to use props (specifically, the cubes from portal) as flags.

I’d very much appreciate it if you’d make four cube entities and four circular plate entities (i.e. Cube Team 1, Cube Team 2, etc. ; Plate Team 1, Plate Team 2, etc.)

When a cube is placed on a plate that is not the same team, the cube is consumed and respawns on its own team’s plate.

(I.e. Player brings cube 1 to plate 2, it vanishes and reappears on plate 1.)

No real ‘scoring system’ is needed, although some sort of announcement would be nice (But not needed whatsoever).

I believe there are models for cubes over at Garrysmod.org: http://www.garrysmod.org/downloads/?a=view&id=120668
[Although I believe they are not ‘hexed’ - a concept that I do not yet understand.]

Of course, you can probably find better things to do than this.

That’s an awesomely simple CTF gamemode idea.

I want to try that.

Some day I’ll be halfway decent at LUA scripting and then Gmod will change forever.
…Or, more likely, Gmod will have twelve times more Lua errors.

Updated OP - forgot to add that I’m not gonna mess with megamod crap. Too messy and I dislike megamods.

And your other request, I don’t really know what you’re asking for?

[editline]9th May 2011[/editline]

Sounds easy enough, will throw it together in a little bit.

Would another version of the bodygroup tool be off the list? One that lets you choose multiple bodygroups at once instead of one at a time?

Link me to the original.

Kogitsune is probably gonna do this one for ya - he mentioned to me it was a really good idea so I deferred it to him since I have a few on my list now already.

@ClockworkCake - your first request is done
local enabled = CreateConVar(“SpeedHealthScaler”, “0”)
hook.Add(“Tick”, “SyncMaxHealth”, function()
if CLIENT then return end
for key, ply in pairs(player.GetAll()) do
ply:SetDTFloat( 3, math.Clamp( ply:Health( ) / ply:GetMaxHealth( ), .25, 1 ) )
hook.Add(“Move”, “ScaleSpeedToHealth”, function(ply, move)
if enabled:GetBool() then
move:SetMaxSpeed(move:GetMaxSpeed() * ply:GetDTFloat(3))
Save as/in “lua/autorun/runspeedhealth.lua”
Ensure that it’s in JUST the autorun server - its a shared script, it needs both server and client communication.
(Without quotes, file name doesn’t matter)

Type “SpeedHealthScaler 1” in console to enable


Download - put in lua/entities. Up to four can be spawned at any time.

To capture a cube, pick it up with the gravity gun and place it on your team’s capture post. If the flag is taken but not captured or returned after 30 seconds, it auto-returns.

It’s pretty simple, but let me know if something doesn’t work.

it’s nice to know people will take requests and actually do them


Daww, ya beat me :stuck_out_tongue:

Probably shouldn’t have spent so much time on the super button SENT.

Absolutely fantastic. Works incredibly well when coupled with abundant healing items, and even better with scripts that distort the user’s screen as they become injured, which gives a nice visual feedback to the wounded speed.

I love you and I want to have your metaphorical babies. I haven’t tested this extensively yet, but you’ve done something that has completely amazed me.

Planning to go through the Lua line-by-line later today.

(…I didn’t expect the internet to ever be this helpful or nice :smiley: thank you so much, and I hope one day I know enough so I can return the favor.)

Is there any chance you could take a look in this thread and help me with it?

Also, is there a way of getting the value of a concommand through a weapon so if i typed spawnaprop “models/player/kliener.mdl” how would i get that to change to the model the weapon will spawn.

I’ll make the SWEP but this isn’t the questions forum. Please take your question there.

Could you make an example Crowbar SWEP?

Ok thank you.

if SERVER then
AddCSLuaFile( “shared.lua” )

SWEP.PrintName = “Crowbar”
SWEP.Author = “Feihc”
SWEP.Contact = “”
SWEP.Purpose = “”
SWEP.Instructions = “”
SWEP.IconLetter = “x”
SWEP.ViewModel = “models/weapons/v_crowbar.mdl”
SWEP.WorldModel = “models/weapons/w_crowbar.mdl”
SWEP.HoldType = “melee”

SWEP.Slot = 0
SWEP.SlotPos = 1
SWEP.ViewModelFOV = 73
SWEP.ViewModelFlip = false

SWEP.Spawnable = true
SWEP.AdminSpawnable = true

SWEP.Primary.Delay = 0.4
SWEP.Primary.Recoil = 0
SWEP.Primary.Damage = 5
SWEP.Primary.NumShots = 1
SWEP.Primary.Cone = 0
SWEP.Primary.ClipSize = -1
SWEP.Primary.DefaultClip = 0
SWEP.Primary.Automatic = true
SWEP.Primary.Ammo = “none”

SWEP.Secondary.Delay = 0
SWEP.Secondary.Recoil = 0
SWEP.Secondary.Damage = 0
SWEP.Secondary.NumShots = 1
SWEP.Secondary.Cone = 0
SWEP.Secondary.ClipSize = -1
SWEP.Secondary.DefaultClip = -1
SWEP.Secondary.Automatic = true
SWEP.Secondary.Ammo = “none”

function SWEP:Initialize()
return true

function SWEP:PrimaryAttack()
self.Weapon:SetNextPrimaryFire(CurTime() + self.Primary.Delay)
if not IsFirstTimePredicted( ) then return end

if SERVER then
local trace = self.Owner:GetEyeTrace()

if trace.HitPos:Distance(self.Owner:GetShootPos()) <= 75 then
	self.Weapon:EmitSound("physics/flesh/flesh_impact_bullet" .. math.random( 3, 5 ) .. ".wav")
	local dmg = DamageInfo()
	dmg:SetDamageType( DMG_SLASH | DMG_CLUB )
	dmg:SetDamage( self.Primary.Damage )
	dmg:SetDamagePosition( trace.HitPos )
	local effect = EffectData()
	util.Effect("Impact", effect)

self:SendWeaponAnim( ACT_VM_PRIMARYATTACK )
self.Owner:DoAttackEvent( )


function SWEP:SecondaryAttack()