• Zoeys LUA Hl2 Weapons Update
    46 replies, posted
An updated version of my half life 2 weapons Fixes include... 1.1: Weapon Hold Type. Third Person Animation. Less NWInts. More Stability. Muzzle Smoke. 1.11: Removed 2 bools and converted them into S Vars. 1.12: Removed 3 bools and converted them into S Vars. Added checks to Fire Accums to stop single player errors. Added new AR2 Muzzle flash. 1.13: Swapped the 357 smoke effect. Added auto holstering animations when your going to switch your weapon. Fixed some strange accuracy with the SMG and AR2. Fixed some errors about the vent var in the AR2. ------------- Hl2 weapons recoded in lua. Whats the diffrence for lua? Fov Fixes AR2 Pose parameters are smoother See above for the newest fixes -------------------------------- Does the crossbow work? The crossbow works -------------------------------- Other Features: Sprint = Lower Weapon Sprint + Walk = Lower/Unlower Weapon Total idle and lower idle animations. luahl2weps con command to determine whether to replace the C++ weapons with the lua weapons. Half life 2 killicons. Half life 2 weapon icons. -------------------------------- You redid the rocket launcher? Nope -------------------------------- Ar2 Alt Fire? Sadly no.... "UAAAAAAAAAAAAH" ------------------------------- Theres pictures at the download. Download 1.13: [url=http://www.garrysmod.org/downloads/?a=view&id=102950][img]http://www.garrysmod.org/img/?t=dll&id=102950[/img][/url]
There's something very suspicious about this. Why is it that some parts are indented and some parts are not in the slightest? Oh, of course. The code is stolen from MadCows SWEP Pack.
Smooth.
[QUOTE=Big Bang;22933728]There's something very suspicious about this. Why is it that some parts are indented and some parts are not in the slightest? Oh, of course. The code is stolen from MadCows SWEP Pack.[/QUOTE] Actually this was made BEFORE madcows. The older version that is. The reason why some is tabbed is mostly because sometimes i do it automatically, And because i used some of garrys base code from his wierd css weapons :ohdear: The older version of this is somewhere around the sweps sforum. And i do make many other things beside this, So Your not really the first to be blaming me of "Stealing" code.
[QUOTE=Wizey!;22935077]Actually this was made BEFORE madcows. The older version that is. The reason why some is tabbed is mostly because sometimes i do it automatically, And because i used some of garrys base code from his wierd css weapons :ohdear: The older version of this is somewhere around the sweps sforum. And i do make many other things beside this, So Your not really the first to be blaming me of "Stealing" code.[/QUOTE] Actually, no, there are some incredibly noticeably changes. It was really to notice since someone who doesn't indent isn't gonna know what the dot product of a vector is. Mad Cows [lua]function SWEP:RicochetCallback(bouncenum, attacker, tr, dmginfo) if (CLIENT) then return end if (not self) then return end local DoDefaultEffect = true if (tr.HitSky) then return end // Can we go through whatever we hit? if (self.Penetration) and (self:BulletPenetrate(bouncenum, attacker, tr, dmginfo)) then return {damage = true, effects = DoDefaultEffect} end // Your screen will shake and you'll hear the savage hiss of an approaching bullet which passing if someone is shooting at you. if (tr.MatType != MAT_METAL) then if (SERVER) then WorldSound("Bullets.DefaultNearmiss", tr.HitPos, 250, math.random(110, 180)) end util.ScreenShake(tr.HitPos, 5, 0.1, 0.5, 64) if self.Tracer == 1 or self.Tracer == 2 then local effectdata = EffectData() effectdata:SetOrigin(tr.HitPos) effectdata:SetNormal(tr.HitNormal) effectdata:SetScale(20) util.Effect("AR2Impact", effectdata) elseif self.Tracer == 3 then local effectdata = EffectData() effectdata:SetOrigin(tr.HitPos) effectdata:SetNormal(tr.HitNormal) effectdata:SetScale(20) util.Effect("StunstickImpact", effectdata) end return end if (self.Ricochet == false) then return {damage = true, effects = DoDefaultEffect} end if (bouncenum > self.MaxRicochet) then return end // Bounce vector local trace = {} trace.start = tr.HitPos trace.endpos = trace.start + (tr.HitNormal * 16384) local trace = util.TraceLine(trace) local DotProduct = tr.HitNormal:Dot(tr.Normal * -1) local bullet = { Num = 1, Src = tr.HitPos + (tr.HitNormal * 5), Dir = ((2 * tr.HitNormal * DotProduct) + tr.Normal) + (VectorRand() * 0.05), Spread = Vector(0, 0, 0), Tracer = 1, TracerName = "effect_mad_ricochet_trace", Force = dmginfo:GetDamage() * 0.25, Damage = dmginfo:GetDamage() * 0.5, HullSize = 2 } // Added conditional to stop errors when bullets ricochet after weapon switch bullet.Callback = function(a, b, c) if (self.Ricochet) then return self:RicochetCallback(bouncenum + 1, a, b, c) end end timer.Simple(0.05, function() if not IsFirstTimePredicted() then return end attacker.FireBullets(attacker, bullet, true) end) return {damage = true, effects = DoDefaultEffect} end[/lua] You: [lua]function SWEP:RicochetCallback(bouncenum, attacker, tr, dmginfo) local DoDefaultEffect = true if (tr.HitSky) then return end if (self.Penetration) and (self:BulletPenetrate(bouncenum, attacker, tr, dmginfo)) then return {damage = true, effects = DoDefaultEffect} end if (SERVER) then util.ScreenShake(tr.HitPos, 2.2, 0.1, 0.3, 38) end if (self.Ricochet == true) then return {damage = true, effects = DoDefaultEffect} end if (bouncenum > self.MaxRicochet) then return end local trace = {} trace.start = tr.HitPos trace.endpos = trace.start + (tr.HitNormal * 16384) local trace = util.TraceLine(trace) local DotProduct = tr.HitNormal:Dot(tr.Normal * -1) local bullet = { Num = self.Primary.NumShots, Src = tr.HitPos + (tr.HitNormal * 5), Dir = ((2 * tr.HitNormal * DotProduct) + tr.Normal) + (VectorRand() * 0.05), Spread = Vector(self.Primary.Cone, self.Primary.Cone, 0), Tracer = 0, TracerName = "", Force = 0.5 * self.Primary.Damage * 0.9, Damage = self.Primary.Damage * 0.95, HullSize = 2, Attacker = attacker } bullet.Callback = function(a, b, c) if (self.Ricochet) then return self:RicochetCallback(bouncenum + 1, a, b, c) end end attacker:FireBullets(bullet) return {damage = true, effects = DoDefaultEffect} end[/lua] Mad Cows: [lua]function SWEP:BulletPenetrate(bouncenum, attacker, tr, dmginfo, isplayer) if (CLIENT) then return end local MaxPenetration if self.Primary.Ammo == "AirboatGun" then // 5.56MM Ammo MaxPenetration = 18 elseif self.Primary.Ammo == "Gravity" then // 4.6MM Ammo MaxPenetration = 8 elseif self.Primary.Ammo == "AlyxGun" then // 5.7MM Ammo MaxPenetration = 12 elseif self.Primary.Ammo == "Battery" then // 9MM Ammo MaxPenetration = 14 elseif self.Primary.Ammo == "StriderMinigun" then // 7.62MM Ammo MaxPenetration = 20 elseif self.Primary.Ammo == "SniperPenetratedRound" then // .45 Ammo MaxPenetration = 16 elseif self.Primary.Ammo == "CombineCannon" then // .50 Ammo MaxPenetration = 20 else MaxPenetration = 16 end local DoDefaultEffect = true // Don't go through metal, sand or player if ((tr.MatType == MAT_METAL and self.Ricochet) or (tr.MatType == MAT_SAND) or (tr.Entity:IsPlayer())) then return false end // Don't go through more than 3 times if (bouncenum > 3) then return false end // Direction (and length) that we are going to penetrate local PenetrationDirection = tr.Normal * MaxPenetration if (tr.MatType == MAT_GLASS or tr.MatType == MAT_PLASTIC or tr.MatType == MAT_WOOD or tr.MatType == MAT_FLESH or tr.MatType == MAT_ALIENFLESH) then PenetrationDirection = tr.Normal * (MaxPenetration * 2) end local trace = {} trace.endpos = tr.HitPos trace.start = tr.HitPos + PenetrationDirection trace.mask = MASK_SHOT trace.filter = {self.Owner} local trace = util.TraceLine(trace) // Bullet didn't penetrate. if (trace.StartSolid or trace.Fraction >= 1.0 or tr.Fraction <= 0.0) then return false end // Damage multiplier depending on surface local fDamageMulti = 0.5 if (tr.MatType == MAT_CONCRETE) then fDamageMulti = 0.3 elseif (tr.MatType == MAT_WOOD or tr.MatType == MAT_PLASTIC or tr.MatType == MAT_GLASS) then fDamageMulti = 0.8 elseif (tr.MatType == MAT_FLESH or tr.MatType == MAT_ALIENFLESH) then fDamageMulti = 0.9 end // Fire bullet from the exit point using the original trajectory local bullet = { Num = 1, Src = trace.HitPos, Dir = tr.Normal, Spread = Vector(0, 0, 0), Tracer = 1, TracerName = "effect_mad_penetration_trace", Force = 5, Damage = (dmginfo:GetDamage() * fDamageMulti), HullSize = 2 } bullet.Callback = function(a, b, c) if (self.Ricochet) then return self:RicochetCallback(bouncenum + 1, a, b, c) end end timer.Simple(0.05, function() if not IsFirstTimePredicted() then return end attacker.FireBullets(attacker, bullet, true) end) return true end[/lua] You: [lua] function SWEP:BulletPenetrate(bouncenum, attacker, tr, dmginfo, isplayer) local DoDefaultEffect = true if (tr.MatType == MAT_SAND) or (tr.Entity:IsPlayer()) then return end if (bouncenum > 3) then return end local PenetrationDirection = tr.Normal * self.MaxPenetration if (tr.MatType == MAT_METAL) then PenetrationDirection = tr.Normal * (self.MaxPenetration - 3) end if (tr.MatType == MAT_DIRT or tr.MatType == MAT_WOOD or tr.MatType == MAT_FLESH or tr.MatType == MAT_ALIENFLESH or tr.MatType == MAT_GLASS or tr.MatType == MAT_PLASTIC or tr.MatType == MAT_VENT or tr.MatType == MAT_COMPUTER) then PenetrationDirection = tr.Normal * self.MaxWoodPenetration end local trace = {} trace.endpos = tr.HitPos trace.start = tr.HitPos + PenetrationDirection trace.mask = MASK_SHOT trace.filter = {self.Owner} local trace = util.TraceLine(trace) if (trace.StartSolid or trace.Fraction >= 1.0 or tr.Fraction <= 0.0) then return end local DMGX = 0.5 if (tr.MatType == MAT_CONCRETE) then DMGX = 0.9 elseif (tr.MatType == MAT_METAL) then
Wizey this is a god dam new low for you. Besides the fact you pretend whenever you release something someone already made yours is all high and might and you slip in little snippets of code to fry other peoples works on Purpose. You are a sad sad little man/woman/asshole/something
Ohh Zoey is going downnnnnn for stealing work Remember me Zoey Hunny? The only person who was nice to you? Hows the heart doing? Dont get too stressed out from people flammin' ya &#9829; [editline]08:22PM[/editline] oh btw though guys She did make these sweps before madcows sooo I doubt she took the code. Possibly Madcow did idk
ANOTHER thread? how about you make something GOOD, then make a thread?
Whenever I pull out the SMG1 or AR2, it gives me tons of errors, for the same thing. It is something about 'Comparing a number to nil' or something like that.
So would using these fix that problem with the HL2 weapons not affecting Stargate shields? NPC compatible too, right?
come on guys. Its just a pack that makes your guns more realitic. Chill out. I hate it when people just totally jugde these downloads because their made by a girl or there not good enough ect. These downloads are awesome hell I could not make these because I know nothing about lua. The best I can do is make a map on source SDK and im still working on my first one. so again these downloads are awesome, even though I dont download much of Zoeys stuff doesnt mean i dont like them. zoeys power addon, parchute, perfected climb swep (she assisted in it) and this is awesome! K im done. nice job Zoey BTW!
[QUOTE=darkshifter98;22939041]come on guys. Its just a pack that makes your guns more realitic. Chill out. I hate it when people just totally jugde these downloads because their made by a girl or there not good enough ect. These downloads are awesome hell I could not make these because I know nothing about lua. The best I can do is make a map on source SDK and im still working on my first one. so again these downloads are awesome, even though I dont download much of Zoeys stuff doesnt mean i dont like them. zoeys power addon, parchute, perfected climb swep (she assisted in it) and this is awesome! K im done. nice job Zoey BTW![/QUOTE] We aren't Judging because of Their gender, we are Judging cause of the god dam fact they STOLE CODE AND SLIPPED CODE INTO IT TO BREAK OTHER SHIT
well what i'ev been seeing lately in the comments about zoeys power addon people were saying "get back in the kitchen and make me a samitch" or something sexist like that. k back on topic to you sunday who cares if its stolen its not like she is getting money. [editline]07:23PM[/editline] [QUOTE=AgentJ;22936439] [editline]08:22PM[/editline] oh btw though guys She did make these sweps before madcows sooo I doubt she took the code. Possibly Madcow did idk[/QUOTE] This man is probably right I dont know though i'ev only had gmod for so long...
Can you guys who still thinks he is a girl read [url=http://www.facepunch.com/showthread.php?t=943541]this thread[/url]? Also, it would be better if you could make the ar2 alt fire & rocket launcher to work, I'm sure you had the time to do it.. Then we'd have something worth a download (since no other remake has the alt fire)
Do take into account that this IS based on the OLDER version, So this version is still going to have the same functions my older versions, Despite if theres code from diffrent places or not most of it is probly from garry, since thats what worshipper based his code on. I was just to lazy to move it onto my other base. PS: The bullet penetration code is from GMDM, Worshipper just used that and everyone thinks its his. And my older hl2 weapons where made about a year ago... So critizism from the old thread to this one makes no diffrence :derp: [QUOTE=AgentJ;22936439]Ohh Zoey is going downnnnnn for stealing work Remember me Zoey Hunny? The only person who was nice to you? Hows the heart doing? Dont get too stressed out from people flammin' ya &#9829; [editline]08:22PM[/editline] oh btw though guys She did make these sweps before madcows sooo I doubt she took the code. Possibly Madcow did idk[/QUOTE] I remeber when you left because i never Talked because i was always busy working :derp:
From the GMDM weapon base: [lua] function SWEP:RicochetCallback( bouncenum, attacker, tr, dmginfo ) if( !self ) then return end local DoDefaultEffect = false; if ( !tr.HitWorld ) then DoDefaultEffect = true end if ( tr.HitSky ) then return end // Can we go through whatever we hit? if ( self.AllowPenetration == true and self:BulletPenetrate( bouncenum, attacker, tr, dmginfo ) ) then return { damage = false, effects = false } end if ( tr.MatType != MAT_METAL ) then if ( tr.MatType != MAT_FLESH and self.ImpactEffects ) then --local effectdata = EffectData() --effectdata:SetOrigin( tr.HitPos ) --effectdata:SetNormal( tr.HitNormal ) --effectdata:SetScale( dmginfo:GetDamage() / 10000 ) --util.Effect( "hitsmoke", effectdata ) --util.Decal( "EnergyBall.Impact", tr.HitPos + tr.HitNormal, tr.HitPos + tr.HitNormal * -20 + VectorRand() * 15 ) if ( SERVER ) then util.ScreenShake( tr.HitPos, 100, 0.2, 1, 128 ) end end return end if( self.AllowRicochet == false ) then return { damage = true, effects = DoDefaultEffect } end if ( bouncenum > self.MaxRicochet ) then return end // Bounce vector (Don't worry - I don't understand the maths either :x) local DotProduct = tr.HitNormal:Dot( tr.Normal * -1 ) local Dir = ( 2 * tr.HitNormal * DotProduct ) + tr.Normal Dir:Normalize() local bullet = { Num = 1, Src = tr.HitPos, Dir = Dir, Spread = Vector( 0.05, 0.05, 0 ), Tracer = 1, TracerName = "rico_trace", Force = 5, Damage = damage, AmmoType = "Pistol", HullSize = 2 } -- BLaNK -- Added conditional to stop errors when bullets ricoshet after weapon switch. bullet.Callback = function( a, b, c ) if( self.RicochetCallback ) then return self:RicochetCallback( bouncenum+1, a, b, c ) end end timer.Simple( 0.05, attacker.FireBullets, attacker, bullet, true ) attacker:SetNetworkedInt( "BulletType", 2 ); -- 2 = ricochet return { damage = true, effects = DoDefaultEffect } end [/lua] [lua] function SWEP:BulletPenetrate( bouncenum, attacker, tr, dmginfo, isplayer ) --if( !SERVER ) then return end // Don't go through metal if ( ( tr.MatType == MAT_METAL and self.AllowRicochet == true ) or tr.MatType == MAT_SAND ) then return false end // Don't go through more than 3 times if ( bouncenum > 3 ) then return false end // Direction (and length) that we are gonna penetrate local PeneDir = tr.Normal * self.PenetrationMax; if( tr.MatType == MAT_DIRT or tr.MatType == MAT_WOOD or tr.MatType == MAT_FLESH or tr.MatType == MAT_ALIENFLESH ) then -- dirt == plaster, and wood should be easier to penetrate so increase the distance PeneDir = tr.Normal * self.PenetrationMaxWood; end local PeneTrace = {} PeneTrace.endpos = tr.HitPos PeneTrace.start = tr.HitPos + PeneDir PeneTrace.mask = MASK_SHOT PeneTrace.filter = { self.Owner } local PeneTrace = util.TraceLine( PeneTrace ) // Bullet didn't penetrate. if ( PeneTrace.StartSolid || PeneTrace.Fraction >= 1.0 || tr.Fraction <= 0.0 ) then return false end -- Damage multiplier depending on surface local fDamageMulti = 0.5; if( tr.MatType == MAT_CONCRETE ) then fDamageMulti = 0.3; elseif( tr.MatType == MAT_WOOD ) then fDamageMulti = 0.8; elseif( tr.MatType == MAT_FLESH || tr.MatType == MAT_ALIENFLESH ) then fDamageMulti = 0.9; end // Fire bullet from the exit point using the original tradjectory local bullet = { Num = 1, Src = PeneTrace.HitPos, Dir = tr.Normal, Spread = Vector( 0, 0, 0 ), Tracer = 1, TracerName = "Tracer", Force = 5, Damage = (dmginfo:GetDamage()*0.9), AmmoType = "Pistol", HullSize = 2 } bullet.Callback = function( a, b, c ) if( self.RicochetCallback ) then return self:RicochetCallback( bouncenum+1, a, b, c ) end end local effectdata = EffectData() effectdata:SetOrigin( PeneTrace.HitPos ) effectdata:SetNormal ( PeneTrace.Normal ) util.Effect( "Impact", effectdata, true, true ) timer.Simple( 0.05, attacker.FireBullets, attacker, bullet, true ) attacker:SetNetworkedInt( "BulletType", 1 ); -- 1 = wallbang return true end [/lua] What now guys. Stop acting like immature idiots, just enjoy the SWEPs or don't, no need to make such a drama about it.
Wizey might steal ideas but not code.
[QUOTE=Empty_Shadow;22945150]Wizey might steal ideas but not code.[/QUOTE] Ideas, Maybe.
[QUOTE=_Kilburn;22945098] What now guys. Stop acting like immature idiots, just enjoy the SWEPs or don't, no need to make such a drama about it.[/QUOTE] It's not an issue of drama, it's simply morals. By copying and pasting code back and forth, you're not coding. That's like someone telling you to design a building, and you simply take bits from other buildings and put them on yours. It's also a standards issue. Usually when people install addons, they want them error free and fully optimized, this has things like "wepon!=NULL" in a Think hook. This in no way "awesome" as the other guy said, this is horribly and horrendously coded, as well as generally lacking in polish and containing some snippets of dubious origin. Fact is, I don't care in the slightest of who is Wizey, I don't judge based on his/her/whatever's previous code. This is what I'm downloading, this is what I'm giving my opinion on, and from a coder's point of view, it's terrible. From a player's point of view, it's gonna lag me.
[QUOTE=Big Bang;22966224]It's not an issue of drama, it's simply morals. By copying and pasting code back and forth, you're not coding. That's like someone telling you to design a building, and you simply take bits from other buildings and put them on yours. It's also a standards issue. Usually when people install addons, they want them error free and fully optimized, this has things like "wepon!=NULL" in a Think hook. This in no way "awesome" as the other guy said, this is horribly and horrendously coded, as well as generally lacking in polish and containing some snippets of dubious origin. Fact is, I don't care in the slightest of who is Wizey, I don't judge based on his/her/whatever's previous code. This is what I'm downloading, this is what I'm giving my opinion on, and from a coder's point of view, it's terrible. From a player's point of view, it's gonna lag me.[/QUOTE] that "sniff" was awesome
i are has lua errors when i deploy the SMG and AR2 ...ons\zoeys hl2 weapons\lua\weapons\hl2_ar2\shared.lua:114: attempt to compare number with nil Generated Spawn Icon (15 left in queue) ...ons\zoeys hl2 weapons\lua\weapons\hl2_ar2\shared.lua:114: attempt to compare number with nil
[QUOTE=giizismukwa;22970126]i are has lua errors when i deploy the SMG and AR2 ...ons\zoeys hl2 weapons\lua\weapons\hl2_ar2\shared.lua:114: attempt to compare number with nil Generated Spawn Icon (15 left in queue) ...ons\zoeys hl2 weapons\lua\weapons\hl2_ar2\shared.lua:114: attempt to compare number with nil[/QUOTE] Its a problem in single player, I fixed it already but i havnt gotten around to uploading it. [editline]11:12PM[/editline] And uploaded [QUOTE=doctorjohndorian;22936515]ANOTHER thread? how about you make something GOOD, then make a thread?[/QUOTE] How about reading the fact that this is VERY OLD, i was only updating it so it worked with the newest gmod updates.
[QUOTE=Wizey!;22986902]Its a problem in single player, I fixed it already but i havnt gotten around to uploading it. [editline]11:12PM[/editline] And uploaded How about reading the fact that this is VERY OLD, i was only updating it so it worked with the newest gmod updates.[/QUOTE] Thanks
zoey never stole code because of the simple fact that she could do it better by herself
why did you reject my frends request on steam D;
[QUOTE=Ye_Olde_Snake;23029634]zoey never stole code because of the simple fact that she could do it better by herself[/QUOTE] he* himself*
[QUOTE=|FlapJack|;23595329]he* himself*[/QUOTE] Oh shut the fuck up about this already. Do you REALLY care that much about gender on the INTERNET?
[QUOTE=loled;23595909]Oh shut the fuck up about this already. Do you REALLY care that much about gender on the INTERNET?[/QUOTE] It annoys me to see prepubescent 12 year old boys trying to add someone on Steam because they think a guy is a girl.
[QUOTE=|FlapJack|;23597728]It annoys me to see prepubescent 12 year old boys trying to add someone on Steam because they think a guy is a girl.[/QUOTE] It annoys me when people are annoyed over the littlest thing.. Yes I am talking about you.... >:( Then again if people really want to know they could ask him/her... but that could get akward...
[QUOTE=Sgt.Specopps117;23600331]It annoys me when people are annoyed over the littlest thing.. Yes I am talking about you.... >:( Then again if people really want to know they could ask him/her... but that could get akward...[/QUOTE] [url=http://www.facepunch.com/showthread.php?t=943541]You really think I'm dumb enough to make accusations without proof?[/url]
Sorry, you need to Log In to post a reply to this thread.