Garry's Mod

Garry's Mod

Ocen: 791
Clientside Ragdoll Collision
2
2
   
Przyznaj nagrodę
Ulubione
Ulubione
Usuń z ulubionych
Content Type: Addon
Addon Type: Effects
Addon Tags: Fun, Realism
Rozmiar pliku
Zamieszczono
Zaktualizowano
48.346 KB
9 sierpnia 2024 o 10:03
28 grudnia 2024 o 19:18
Listy zmian: 3 ( zobacz )

Zasubskrybuj, aby pobrać
Clientside Ragdoll Collision

Opis
Are you tired of ragdolls not colliding within the corridors of your buildings, and yet are you unwilling to resort to server ragdolls for the lag they may impose? Well this is what you've been waiting for!

This addon makes it so your clientside ragdolls, player/npc death ragdolls, can collide with serversided entities. This is not like Rag Mod where a server-sided ragdoll is used instead.

This was all made possible due to the fact that you can have client-side ragdolls collide with client-side entities, which we utilize to produce the seamless illusion that your ragdolls are colliding with the very server-sided entities.

For those that want to distribute this addon to their servers, I would like if I were credited, but Im not gonna enforce it. I'm honestly more surprised that I did not run into another addon that features this.



Features

- I've so far verified that most vphysics point and brush entities work with this addon. (prop_physics, prop_dynamic. func_physbox, func_brush, func_door, etc). These are all whitelisted by default.

- Everything is client-sided, there is no server impact on anything whatsoever. It would not impact other players.

- Tons of con-commands and con-vars to play around with, all of which are manipulated on the client's end. Much of them change how performance is handled, making the addon good for both low-end and high-end computing. default settings are low-end.

- The addon can be disabled and enabled in realtime via console

- Entity classes can be manually added and removed to support ragdoll collision via console

- A blacklist for server owners that want to implement this addon with a safe boundary.

Unfortunately, it is not possible to have it work via multiplayer clientside on servers that don't have the addon, and by default it will not run.
- but for the hell of it, this addon also features an injectable lua file "csrd_ragcollide_injectable.lua" for servers that have sv_allowcslua 1.

This means in some sandbox servers or other servers, you can enable the addon here without conflict. This addon is simply eyecandy, it hardly enables cheating/gaining competitive advantage in anyway. It would not impact anyone, hardly anybody could even know that you have it.

I am a bit of a rookie at lua and this is my first addon comprising of it. So if there are issues, feel free to report them, as well as add suggestions :)

CLIENT CONVARS

csrd_enable - Enables/Disables the addon
csrd_maxcollides - Specifies how many client collides may exist at once.
csrd_scanradius - how far the game should look to summon ghost collisions for a single clientside ragdoll
csrd_relevancedist - How far a clientside ragdoll can be to create ghost collisions
csrd_rawteleportdist - If CSC (Compute Shadow Control) is disabled, this will be the error correction for the collision.
csrd_collidemass - How much mass client collision entities should have, helpful to compete against the ragdoll's inertia, but not very stable with high values (I don't think I have to explain why lol).
csrd_scancooldown - Adds a slight delay before another scan can be ran for another clientside entity.
csrd_priority - The method in which entities are prioritized to have collision over others. Values can be (none, distance, or bounds)
csrd_debugdraw - Displays the client collisions to the user. You might not want to use this at gameplay, but its good for testing settings as well as awareness for it's memory usage.

Compute Shadow Control Convars

csrd_csc - enables the Compute Shadow Control method. Enabled by default.
csrd_csc_errorcorrect - A client collision will be teleported if they are this far away from their serversided entity
csrd_csc_secondstoarrive - A client collision will take this much time to get to it's server entity. Do not set to zero.
csrd_csc_maxspeed - A client collision can move this fast physically.
csrd_csc_damping - How precise the Compute Shadow Control may control the entity. high values allow for precision, while low values enable springy like behavior.

CONCOMMANDS

csrd_flushcollides - removes all existing collides from the game. helpful incase processes fail and memory builds up.
csrd_whitelist - prints all entity classes that are whitelisted for collision creation.
csrd_whitelist_add - Adds an inputed entity class into the collision whitelist. (BE CAREFUL WHEN USING.)
csrd_whitelist_remove - Removes an inputed entity class from the collision whitelist.
csrd_blacklist - displays all blacklisted entites and why they are blacklisted.
Komentarzy: 91
HazyAPI 23 maja o 12:06 
I didn't see any changes
SCP-1048 14 maja o 10:37 
If you use Gredwitches base this mod will remove explosion effects, otherwise im sure this addon is great!
AverageChan 8 kwietnia o 23:16 
ai_force_serverside_ragdoll is the "Keep Corpses" option.

This mod just makes it so the clientside ragdolls, aka the ragdolls that can go flying, never bleed even with Ragdoll Blood, and never collide with anything actually now collide with stuff.
SnabbSpelare 26 lutego o 1:49 
Sorry but doesn't the in game convars do the same?

ai_serverragdolls and ai_force_serverside_ragdoll

Ofc your work has many convars and useful stuff but just asking if u was aware!
Palexite  [autor] 11 lutego o 21:01 
What is your sound addon.
Normal.Name 11 lutego o 17:31 
breaks my sound addon or the game inbuilt sounds
Normal.Name 11 lutego o 17:20 
@[World Machine] OmG I doNt WNaanA DAi AOPS9AJW!!!!!111!!!1!!1!!1!!!1wdvsb !1!!!!!!
John the engineer 8 lutego o 11:31 
makes sense XD
Palexite  [autor] 8 lutego o 8:32 
because funny
John the engineer 6 lutego o 6:58 
why did you kill grigori for this?