• GMod - What are you working on? October 2017 (#74)
    289 replies, posted
[QUOTE=happyfaic72;52783884]Updated it, the swirls are slower and have a new addition to them [IMG]https://i.imgur.com/iToq9As.gif[/IMG][/QUOTE] Are you making that manually with Lua Particles or are you making it with that Garry's Mod particle creator that looks like it's from 1998?
[QUOTE=Ubre;52784174]Are you making that manually with Lua Particles or are you making it with that Garry's Mod particle creator that looks like it's from 1998?[/QUOTE] or just SFM particle editor [EDITLINE]16 October 2017[/EDITLINE] It's in every Source game, not just SFM apparently
[QUOTE=MPan1;52784180]or just SFM particle editor[/QUOTE] Never knew about that, thanks I'll check it out!
[QUOTE=Ubre;52784208]Never knew about that, thanks I'll check it out![/QUOTE] launch the game with -tools The particle editor was added in episode 2, and has been in every source game since. You can use all the particle editors from any game released before left4dead.
Well I was making a combine flamethrower thing but I ended up making a weld-your-own-3d-painting-gun. [IMG]https://i.imgur.com/eLCgjRh.gif[/IMG][IMG]https://i.imgur.com/q3KYNcp.png[/IMG]
Working on some stuff for developers [code]] rb_printclienttree _G/cam Building list... ---------------------------------------------------------------------------------------- Number of items within table: 14 Filter includes: Numbers (n): true Strings (s): true Functions (f): true Tables (t): true Completed in 0.06689453125 seconds ---------------------------------------------------------------------------------------- Name/Key Type Value ---------------------------------------------------------------------------------------- PushModelMatrix function function: 0x338eb5a8 Start3D function function: 0x339d8628 End3D function function: 0x338eb478 Start3D2D function function: 0x338eb690 End2D function function: 0x338eb440 StartOrthoView function function: 0x338eb560 End3D2D function function: 0x338eb6d0 Start function function: 0x338eb420 IgnoreZ function function: 0x338eb520 Start2D function function: 0x339d8610 End function function: 0x338eb4b8 EndOrthoView function function: 0x338eb4d8 ApplyShake function function: 0x338eb638 PopModelMatrix function function: 0x338eb5f0 [/code] [code]] rb_printclienttree _G +f Building list... ---------------------------------------------------------------------------------------- Number of items within table: 239 Filter includes: Numbers (n): false Strings (s): false Functions (f): true Tables (t): false Completed in 1.240478515625 seconds ---------------------------------------------------------------------------------------- Name/Key Type Value ---------------------------------------------------------------------------------------- DOF_Kill function function: 0x33a64f68 tobool function function: 0x3391ed10 Derma_Anim function function: 0x339e3ac0 LerpVector function function: 0x338c1348 Sound function function: 0x33915c18 SafeRemoveEntityDelayed function function: 0x3391ece0 Error function function: 0x338bf758 rawget function function: builtin#12 SetGlobal2Var function function: 0x338c10a0 SortedPairsByMemberValue function function: 0x339a18a0 OrderVectors function function: 0x338c1300 ChangeTooltip function function: 0x3395e280 ...this goes on for a while but you get the idea... [/code] [code]]rb_printclienttree util -t //this won't output util.worldpicker Building list... ---------------------------------------------------------------------------------------- Number of items within table: 61 Filter includes: Numbers (n): true Strings (s): true Functions (f): true Tables (t): false Completed in 0.361083984375 seconds ---------------------------------------------------------------------------------------- Name/Key Type Value ---------------------------------------------------------------------------------------- SharedRandom function function: 0x338c5f98 IsModelLoaded function function: 0x338c5e48 SteamIDTo64 function function: 0x338c5f10 GetModelInfo function function: 0x338c52a8 PointContents function function: 0x338c52f0 GetPlayerTrace function function: 0x339abb58 NetworkStringToID function function: 0x338c5458 BlastDamage function function: 0x338c4df0 JSONToTable function function: 0x338c5d80 ParticleTracer function function: 0x338c5338 GetPData function function: 0x339aff20 GetSurfaceIndex function function: 0x338c4e30 SteamIDFrom64 function function: 0x338c5f50 DecalMaterial function function: 0x338c4da8 RemovePData function function: 0x339aff80 GetPixelVisibleHandle function function: 0x338c5208 IsValidRagdoll function function: 0x338c4980 TimerCycle function function: 0x338c5e90 KeyValuesToTable function function: 0x338c5538 KeyValuesToTablePreserveOrder function function: 0x338c5580 PixelVisible function function: 0x338c5228 IsSkyboxVisibleFromPoint function function: 0x338c5ca8 TraceHull function function: 0x338c4b20 IntersectRayWithPlane function function: 0x338c54a0 DistanceToLine function function: 0x338c53c8 CRC function function: 0x338c5270 ScreenShake function function: 0x338c4ce8 NiceFloat function function: 0x339afbc0 LocalToWorld function function: 0x339afb60 TraceEntityHull function function: 0x338c4ad8 IsValidModel function function: 0x338c48f8 DecalEx function function: 0x338c5cf8 Effect function function: 0x338c4d28 IntersectRayWithOBB function function: 0x338c54f0 TableToKeyValues function function: 0x338c55d8 PrecacheModel function function: 0x338c49c8 PrecacheSound function function: 0x338c4a10 StringToType function function: 0x339afb90 ParticleTracerEx function function: 0x338c5380 GetSunInfo function function: 0x338c4ec0 TraceEntity function function: 0x338c4a98 Base64Encode function function: 0x338c5e00 RelativePathToFull function function: 0x338c5d38 IsValidPhysicsObject function function: 0x339abb40 Timer function function: 0x339afc00 BlastDamageInfo function function: 0x338c5fe0 TableToJSON function function: 0x338c5dc0 GetSurfacePropName function function: 0x338c4e78 TraceLine function function: 0x338c4a58 IsValidProp function function: 0x338c4940 AimVector function function: 0x338c5ed0 Compress function function: 0x338c5620 TypeToString function function: 0x339afba8 NetworkIDToString function function: 0x338c5410 DateStamp function function: 0x339afb78 tobool function function: 0x3391ed10 QuickTrace function function: 0x339afb48 Decal function function: 0x338c4d6
[QUOTE=BlueSkilly;52780084]Don't bother with cubemaps, they're a pain in the ass and they often look terrible. [/QUOTE] I beg to differ. [t]https://steamuserimages-a.akamaihd.net/ugc/877498811161698428/4742CE27B582796D9B6A9E3825E149083AE27163/[/t] Edit: There is also some quite fucky method to get parallax reflections, never tried them myself though but here's a video of it in action: [video=youtube;ZH6s1hbwoQQ]https://www.youtube.com/watch?v=ZH6s1hbwoQQ[/video]
Minor update: I made the bullet holes move with entities rather than being static on the map: [video]https://youtu.be/cEpU9TZqnQI[/video] As you can see, lag is still a problem though.
[QUOTE=MPan1;52787714]Minor update: I made the bullet holes move with entities rather than being static on the map: [video]https://youtu.be/cEpU9TZqnQI[/video] As you can see, lag is still a problem though.[/QUOTE] now you have to make it so you can put props through the hole
[QUOTE=_Chewgum;52787734]now you have to make it so you can put props through the hole[/QUOTE] It works sometimes depending on the size: [video]https://youtu.be/uWc2CrWGO2E[/video]
[QUOTE=Yashirmare;52786945]I beg to differ. [t]https://steamuserimages-a.akamaihd.net/ugc/877498811161698428/4742CE27B582796D9B6A9E3825E149083AE27163/[/t] Edit: There is also some quite fucky method to get parallax reflections, never tried them myself though but here's a video of it in action: [video=youtube;ZH6s1hbwoQQ]https://www.youtube.com/watch?v=ZH6s1hbwoQQ[/video][/QUOTE] Not sure if it's been mentioned but the downside with parallax corrected cubemaps is that it requires a shape that defines the room in the shader. A very simple and easy shape is a square or sphere as they can be mathematically represented in a shader with just a few numbers. Square is just min and max vectors (maybe also rotation), sphere is point and size, etc. Maybe this can be mostly automated in source engine with the data the BSP compiler generates. I think in CryEngine (which tries to be realtime and no compiling) requires artists to place or at least adjust these things to make it look more correct.
Spent some time scanning maps for logic_relay's, finding their names and made StormFox trigger them. Also placing some logic behind what light_spot's to turn on/off. [t]https://i.imgur.com/kmXhSiu.gif[/t] (Those effects aren't mine. Its the map-creators. I'm just triggering them) Added it to the display, along with some helpful tips. [t]https://i.imgur.com/YaDZfiG.png[/t] And now working on a way to display maps your client have loaded. [t]https://i.imgur.com/BRCMjLx.png[/t] Still unsure if I should add another CAMI permission for map-change or just copy the maps name to the player. (The star means the map got a logic_trigger for day/night)
[QUOTE=Yashirmare;52786945]I beg to differ. [t]https://steamuserimages-a.akamaihd.net/ugc/877498811161698428/4742CE27B582796D9B6A9E3825E149083AE27163/[/t] Edit: There is also some quite fucky method to get parallax reflections, never tried them myself though but here's a video of it in action: [video=youtube;ZH6s1hbwoQQ]https://www.youtube.com/watch?v=ZH6s1hbwoQQ[/video][/QUOTE] That's not a "fucky" method as much as it is just making a new shader.
[QUOTE=wauterboi;52789431]That's not a "fucky" method as much as it is just making a new shader.[/QUOTE] Too bad gmod will probably never get new shaders. There's a lot of broken/missing stuff that would be incredibly useful to have. $selfillumfresnel is broken, you can't really make edge fresnel with it. portal 2 added $phongdisablehalflambert which is useful for more stylized effects. Also it allows a non-broken lightwarp with it. $envmaplightscale multiplies the level's lightmaps with the env map (or something like that) Allows for bright cubemaps to display properly in darker areas. Wet dream stuff would be tf2's lightmaps on models stuff, and normal maps with staticproplighting from CS:GO.
[QUOTE=Stiffy360;52789718]Too bad gmod will probably never get new shaders. There's a lot of broken/missing stuff that would be incredibly useful to have.[/QUOTE] I really wish MadParakeet could share how he got custom shaders working. I don't really understand what's holding anyone back from shaders. There's just been a lot of dodging the question with non-specific answers (save for Garry, who said he wasn't sure how to make things compatible for Mac/Linux users). It just seems like no one even wants to touch it.
[QUOTE=wauterboi;52789803]I really wish MadParakeet could share how he got custom shaders working. I don't really understand what's holding anyone back from shaders. There's just been a lot of dodging the question with non-specific answers (save for Garry, who said he wasn't sure how to make things compatible for Mac/Linux users). It just seems like no one even wants to touch it.[/QUOTE] fyi, voxelate is completely open source. I've recently fixed up shaders on windows on the dev branch. we literally jmp patch IShaderSystemInternal::FindShader :v: [url]https://github.com/glua/gm_voxelate/tree/simplify[/url]
[URL="https://steamuserimages-a.akamaihd.net/ugc/854981112849383161/0DD1DFA9D4F87F7A5278A470E443F0447FE5001D/"]Large Image alert[/URL] Ive been trying to make an "infinite" terrain map, similar in structure to [URL="https://facepunch.com/showthread.php?t=1488775"]this[/URL] but simplified and rewritten. The thing is, my shouldCollide hook causes the player model to jitter. Is there any way I can edit collisions on a per-entity basis without the performance hit of shouldCollide?
[QUOTE=TNT3530;52791591][URL="https://steamuserimages-a.akamaihd.net/ugc/854981112849383161/0DD1DFA9D4F87F7A5278A470E443F0447FE5001D/"]Large Image alert[/URL] Ive been trying to make an "infinite" terrain map, similar in structure to [URL="https://facepunch.com/showthread.php?t=1488775"]this[/URL] but simplified and rewritten. The thing is, my shouldCollide hook causes the player model to jitter. Is there any way I can edit collisions on a per-entity basis without the performance hit of shouldCollide?[/QUOTE] ShouldCollide should not be that much of a performance hit if you are using it correctly. You can look into using a [URL="https://developer.valvesoftware.com/wiki/Logic_collision_pair"]logic_collision_pair[/URL], but it only works between two entities.
[QUOTE=swadicalrag;52789833]fyi, voxelate is completely open source. I've recently fixed up shaders on windows on the dev branch. we literally jmp patch IShaderSystemInternal::FindShader :v: [url]https://github.com/glua/gm_voxelate/tree/simplify[/url][/QUOTE] Excuse me being completely off topic, but what is your profile picture from?
So I really don't wanna look like a spam but since I make some kind of interesting things quite often I thought I'd show this too. [B]Weapon Rarity System[/B] [IMG]https://i.imgur.com/ptpCRRE.jpg[/IMG] [IMG]https://i.imgur.com/AAJSEaJ.png[/IMG](That PUBG hud is not made by me, only the coloring and weapon rarity name.) [B]Configuration:[/B] This lets you add rarities and chance for the item to spawn with the specified rarity in a very simple and easy way. Its also very easy to add new modifiers for the weapons such as reloading speed etc. [IMG]https://i.imgur.com/5XOyEdv.png[/IMG][IMG]https://i.imgur.com/qTbcm8V.png[/IMG] Next up is adding the ability to set skins and color to the weapons aswell as adding stuff like flammable bullets and some sick effect magic.
[QUOTE=Yashirmare;52792228]Excuse me being completely off topic, but what is your profile picture from?[/QUOTE] It's an anime called Love and Lies, here's the scene: [url]https://youtu.be/2CS87AfcD1A?t=56[/url] [QUOTE=Thiefdroid;52792388]So I really don't wanna look like a spam but since I make some kind of interesting things quite often I thought I'd show this too. [B]Weapon Rarity System[/B] [IMG]https://i.imgur.com/ptpCRRE.jpg[/IMG] [IMG]https://i.imgur.com/AAJSEaJ.png[/IMG](That PUBG hud is not made by me, only the coloring and weapon rarity name.) This lets you add rarities and chance for the item to spawn with the specified rarity in a very simple and easy way. Its also very easy to add new modifiers for the weapons such as reloading speed etc. [IMG]https://i.imgur.com/lABGsHr.png[/IMG][IMG]https://i.imgur.com/O9jIxOe.png[/IMG] Next up is adding the ability to set skins and color to the weapons aswell as adding stuff like flammable bullets and some sick effect magic.[/QUOTE] That looks really nice! Is every single version of each weapon a custom SWEP or is the rarity and stats set as soon as you spawn it? Also can there be a Rare Rapid Fire etc.?
[QUOTE=Ubre;52792399]That looks really nice! Is every single version of each weapon a custom SWEP or is the rarity and stats set as soon as you spawn it? Also can there be a Rare Rapid Fire etc.?[/QUOTE] If I were to make a Rare Rapid Fire rarity which only takes a few seconds, yes. Otherwise, no. The weapons are the default FAS:2 weapons with no changes whatsoever to the weapons code at all. Spawning the weapon gives it a random rarity instantly based on the chances and the rarity stays with the weapon at all times, even when dropped! (Unless there is some kind of system that removes the weapons actual entity)
-snip- gotta reupload.
Blocked because it contains content from UMG?
I'v been working on a thing. Still work in progress but feedback is apreciated. Also I rigged it to get a higher chance of winning to [video=youtube;YJIpHys-agI]https://www.youtube.com/watch?v=YJIpHys-agI[/video] Each screen can be rendered to however you like and as you can see performance is not an issue.
[QUOTE=0V3RR1D3;52792965]I'v been working on a thing. Still work in progress but feedback is apreciated. Also I rigged it to get a higher chance of winning to [video=youtube;YJIpHys-agI]https://www.youtube.com/watch?v=YJIpHys-agI[/video] Each screen can be rendered to however you like and as you can see performance is not an issue.[/QUOTE] That looks great! I know nothing about models so I wouldn't know how you made those bended screens, I guess you will make it so you press those little buttons on the button instead of the screen. Only thing it's missing is sounds
[QUOTE=code_gs;52791633]ShouldCollide should not be that much of a performance hit if you are using it correctly. You can look into using a [URL="https://developer.valvesoftware.com/wiki/Logic_collision_pair"]logic_collision_pair[/URL], but it only works between two entities.[/QUOTE] Is going through a table too slow and incorrect? This is what my shouldCollide calls (isSameCell) [CODE]function terrainExistsInCell(x, y, z, tab, ent) if !x then x = 0 end if !y then y = 0 end if !z then z = 0 end for _,e in pairs(table.GetKeys(tab)) do if (x .. "," .. y .. "," .. z) == e then if tab[e]["Ground"] == ent:EntIndex() then return true end if tab[e]["Random Spawn 1"] == ent:EntIndex() then return true end if tab[e]["Random Spawn 2"] == ent:EntIndex() then return true end end end return false end function isSameCell(ent, ent2) if ent:GetClass() == "func_brush" or ent:GetClass() == "prop_dynamic" then return terrainExistsInCell(ent2.CurX, ent2.CurY, ent2.CurZ, generatedCells, ent) elseif ent2:GetClass() == "func_brush" or ent2:GetClass() == "prop_dynamic" then return terrainExistsInCell(ent.CurX, ent.CurY, ent.CurZ, generatedCells, ent2) end checkValidCellData(ent) checkValidCellData(ent2) if ent.CurX != ent2.CurX or ent.CurY != ent2.CurY or ent.CurZ != ent2.CurZ then return false else return true end end[/CODE] Can I get similar functionality using the collision pair?
Could you PM me the structure of generatedCells table? Your loop looks very slow.
I'm in the planning stage of making an admin mod with a realtime web panel in nodejs. Would it be better to implement mysql on the server side, or run a local json file/database thing? I feel like having a server admin with a smaller server wouldn't want to setup a sql server and a node server..
[QUOTE=marvincmarvin;52794546]I'm in the planning stage of making an admin mod with a realtime web panel in nodejs. Would it be better to implement mysql on the server side, or run a local json file/database thing? I feel like having a server admin with a smaller server wouldn't want to setup a sql server and a node server..[/QUOTE] Depends entirely on what you're doing. You may find a NoSQL option a better fit for you.
Sorry, you need to Log In to post a reply to this thread.