AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Plugins (https://forums.alliedmods.net/forumdisplay.php?f=108)
-   -   Dissolve (player ragdolls) (https://forums.alliedmods.net/showthread.php?t=71084)

L. Duke 05-07-2008 18:20

Dissolve (player ragdolls)
 
3 Attachment(s)
Dissolve
by request of ottobohn

A port of my entity dissolver setup from my MMS plugins to SM.

Screenshots

CSS
[IMG]http://img258.**************/img258/6393/csassault0013yz8.th.jpg[/IMG]

TF2
[IMG]http://img55.**************/img55/3254/cptest20030oc6.th.jpg[/IMG]


Cvars

sm_dissolve_version
- version of the plugin installed
sm_dissolve_delay
- delay in seconds before the ragdoll is removed (recommend 0 to 10)
sm_dissolve_type
- type (0 ragdoll rises as it dissolves, 1 and 2 dissolve on ground, 3 is fast dissolve)

Changelist

1.0.0.2
- changed to work with fast respawn TF2 plugins
1.0.0.1
- initial release

Download

OziOn 05-07-2008 18:34

Re: Dissolve (player ragdolls)
 
Nice. This is going on my TF2 server.

OziOn 05-07-2008 19:20

Re: Dissolve (player ragdolls)
 
Works like a charm :D

FunTF2Server 05-07-2008 20:34

Re: Dissolve (player ragdolls)
 
works great in my tf2 server thx lduke

ottobohn 05-07-2008 20:54

Re: Dissolve (player ragdolls)
 
You have really made my month. What can I do for your help?

Otto Bohn
n00bsalad.net

FunTF2Server 05-07-2008 21:34

Re: Dissolve (player ragdolls)
 
Lduke you need to convert more of these eventscripts plugins to sourcemod :D

DontWannaName 05-07-2008 21:59

Re: Dissolve (player ragdolls)
 
There are some ES TF2 scripts but not many. How does this work when someone in TF2 is blown up into pieces? Do their heads fly up?

franzcis066 05-08-2008 02:49

Re: Dissolve (player ragdolls)
 
That's awesome dude!
Question. does the edict for the ragdoll still in there? nuthin thats all.
^_^

FunTF2Server 05-08-2008 04:16

Re: Dissolve (player ragdolls)
 
Quote:

Originally Posted by DontWannaName (Post 622901)
There are some ES TF2 scripts but not many. How does this work when someone in TF2 is blown up into pieces? Do their heads fly up?

only full bodies dissolve

r3dh3adkid 05-08-2008 11:11

Re: Dissolve (player ragdolls)
 
Thank you so much for this!

Seriously, one of my favorite plugins.

Like DontWannaName said is there any way to get it to work with piece deaths? If so i think i'd have your baby.

Fredd 05-08-2008 11:38

Re: Dissolve (player ragdolls)
 
Quote:

Originally Posted by FunTF2Server (Post 622891)
Lduke you need to convert more of these eventscripts plugins to sourcemod :D

lol didn't he say MMS in the first post?

LDuke@: nice job man, looks sweet.

L. Duke 05-08-2008 13:04

Re: Dissolve (player ragdolls)
 
Quote:

Originally Posted by r3dh3adkid (Post 623086)
Thank you so much for this!

Seriously, one of my favorite plugins.

Like DontWannaName said is there any way to get it to work with piece
deaths? If so i think i'd have your baby.

I haven't looked at what's going on with the gibs death, but I assume it's using tempents or something similar. If so, then I wouldn't be able to dissolve them.

ottobohn 05-08-2008 13:19

Re: Dissolve (player ragdolls)
 
Quote:

Originally Posted by FunTF2Server (Post 623001)
only full bodies dissolve


Fully body was what I was looking for anyways. I'm very much happy with this work and content.

Otto
n00bsalad.net

franzcis066 05-09-2008 09:04

Re: Dissolve (player ragdolls)
 
L. Duke maybe other persons want other dissolve types.. I saw the code i tried the other types.. There are 4 dissolve types(0-3).. add a convar dude..

L. Duke 05-09-2008 11:52

Re: Dissolve (player ragdolls)
 
Quote:

Originally Posted by franzcis066 (Post 623438)
L. Duke maybe other persons want other dissolve types.. I saw the code i tried the other types.. There are 4 dissolve types(0-3).. add a convar dude..

Done and posted.

I don't see a difference between 1 and 2, 0 makes the ragdoll rise in the air as it dissolves, and 3 makes it dissolve very quickly.

franzcis066 05-09-2008 12:15

Re: Dissolve (player ragdolls)
 
http://developer.valvesoftware.com/w...tity_dissolver

sessus 05-23-2008 13:39

Re: Dissolve (player ragdolls)
 
Compiler gives off the following warning:

"/home/groups/sourcemod/upload_tmp/phpZG60a1.sp(55) : warning 217: loose indentation"

MoggieX 05-23-2008 20:03

Re: Dissolve (player ragdolls)
 
lo L. Duke this plug-in is hilarious

Tried and tested with 64 players without any adverse affects to game play.
The 'WTF!?'s were quite amusing :)

Matt

boykevin 05-23-2008 23:18

Re: Dissolve (player ragdolls)
 
lol its awsome :D i love it maybe you can have it where a ragdoll flys in a direction then dissolves?

MoggieX 06-07-2008 06:14

Re: Dissolve (player ragdolls)
 
This has to be one of our most favourite plugins in sourcemod ever!

If you've not tried it yet, install it now!!!!!!!!!!

Quote:

Originally Posted by sessus (Post 629300)
Compiler gives off the following warning:

"/home/groups/sourcemod/upload_tmp/phpZG60a1.sp(55) : warning 217: loose indentation"

Ignore it, its only one line in the code that isn't indented right (makes no difference to its workings)

Matt

Box Cutter 06-07-2008 06:29

Re: Dissolve (player ragdolls)
 
I tried this on my CSSDM server and it didnt work. Does it take a while before the ragdoll starts dissolving? I wonder if they are being removed before this takes place.

-BC

MoggieX 06-07-2008 06:45

Re: Dissolve (player ragdolls)
 
Quote:

Originally Posted by Box Cutter (Post 635739)
I tried this on my CSSDM server and it didnt work. Does it take a while before the ragdoll starts dissolving? I wonder if they are being removed before this takes place.

-BC

Yup, if the rag dolls are being removed by CSSDM, try turning the ragdoll removal off and try again

Matt

Box Cutter 06-07-2008 12:47

Re: Dissolve (player ragdolls)
 
Okay I just tried this again on my CSSDM server and still can not get it to work. = / oh well.

-BC

Electric Warrior 06-07-2008 12:49

Re: Dissolve (player ragdolls)
 
Has this been tested on HL2 Deathmatch please? I tried it in mine and when a player is killed the server freezes and restarts.

If any HL2DM server owners are using this and it's working OK can you let me know please?

Nomarky 06-07-2008 13:18

Re: Dissolve (player ragdolls)
 
Quote:

Originally Posted by Electric Warrior (Post 635876)
Has this been tested on HL2 Deathmatch please? I tried it in mine and when a player is killed the server freezes and restarts.

If any HL2DM server owners are using this and it's working OK can you let me know please?

Works fine for me, and I know of a couple of other DM servers that run this

Electric Warrior 06-07-2008 13:59

Re: Dissolve (player ragdolls)
 
Quote:

Originally Posted by Nomarky (Post 635890)
Works fine for me, and I know of a couple of other DM servers that run this


Thanks for reply. Found out it doesn't like ES_Tools, so without that running this plugin works great, and it's awesome.

Nice One! :)

MoggieX 06-07-2008 15:10

Re: Dissolve (player ragdolls)
 
If I remember correctly the ragdol removal was in a separate plugin (as CSSDM is made of separate plugins), you tried disabling the one that does this?

Matt

sodafr 06-08-2008 10:19

Re: Dissolve (player ragdolls)
 
ragdolls removal in cssdm (by Bail) is managed by the cssdm extension cssdm.ext.{dll,so}

Maybe Bailopan will rewrite this part of code... who knows ? :)

Cooltad 06-08-2008 12:47

Re: Dissolve (player ragdolls)
 
It doesn't seem to work on my TF2 server..
The bodies simply disappear after like 10 seconds, they don't "dissolve".

Box Cutter 06-08-2008 16:00

Re: Dissolve (player ragdolls)
 
I would love for it to work on my CSSDM server but if it won't without deleteing or modding any files then I am not going to mess with it.

-BC

franzcis066 06-13-2008 03:23

Re: Dissolve (player ragdolls)
 
Quote:

Originally Posted by Box Cutter (Post 636426)
I would love for it to work on my CSSDM server but if it won't without deleteing or modding any files then I am not going to mess with it.

-BC

If you want it to work, Change the delay to 0 and the type to 3.. It has a nice effect.. I dont know If the dissolver will catch up with CSSDM..

L. Duke 06-13-2008 11:11

Re: Dissolve (player ragdolls)
 
Pretty sure that CSSDM removes ragdolls the instant you die, so it probably won't work with CSSDM.

FunTF2Server 06-13-2008 12:34

Re: Dissolve (player ragdolls)
 
Quote:

Originally Posted by Box Cutter (Post 636426)
I would love for it to work on my CSSDM server but if it won't without deleteing or modding any files then I am not going to mess with it.

-BC

i think cssdm removes ragdolls when you are killed so it probably wont work with cssdm

Cooltad 06-13-2008 19:12

Re: Dissolve (player ragdolls)
 
I don't have cssdm and the bodies don't dissolve, they simply dissapear on my tf2 server.

L. Duke 06-14-2008 01:56

Re: Dissolve (player ragdolls)
 
Do you have an instant respawn or fast respawn plugin installed?

Kigen 06-14-2008 04:58

Re: Dissolve (player ragdolls)
 
I think the retrival of the ragdoll id should be moved to when the player dies.

In fact I've already done that for 3rd MD. I built a special plugin for their drills and it respawns people faster than it makes their bodies disappear. So I retrieved the rag doll ID first, put it in the field for the timer. Made a simple IsValidEdict check in the timer then removed the body if the IsValidEdict passed.

Code:

public EventPlayerDeath(Handle:event, const String:name[], bool:dontBroadcast)
{
        if ( Respawn )
        {
                new client = GetClientOfUserId(GetEventInt(event, "userid"));
                if ( client && IsClientInGame(client) )
                {
                        CreateTimer(10.0, RespawnTimer, client, TIMER_FLAG_NO_MAPCHANGE);
                        new ragdoll = GetEntPropEnt(client, Prop_Send, "m_hRagdoll");
                        if (ragdoll<0)
                                return;
                        CreateTimer(120.0, Dissolve, ragdoll, TIMER_FLAG_NO_MAPCHANGE);
                }
        }
}

public Action:RespawnTimer(Handle:timer, any:client)
{
        if ( Respawn && client && IsClientInGame(client) && !IsPlayerAlive(client) )
                CS_RespawnPlayer(client);
        return Plugin_Stop;
}

public Action:Dissolve(Handle:timer, any:ragdoll)
{
        if ( IsValidEntity(ragdoll) )
        {
                new String:dname[32], String:dtype[32];
                Format(dname, sizeof(dname), "dis_%d", ragdoll);
                Format(dtype, sizeof(dtype), "%d", 0);
 
                new ent = CreateEntityByName("env_entity_dissolver");
                if (ent>0)
                {
                        DispatchKeyValue(ragdoll, "targetname", dname);
                        DispatchKeyValue(ent, "dissolvetype", dtype);
                        DispatchKeyValue(ent, "target", dname);
                        AcceptEntityInput(ent, "Dissolve");
                        AcceptEntityInput(ent, "kill");
                }
        }
        return Plugin_Stop;
}


Cooltad 06-14-2008 22:01

Re: Dissolve (player ragdolls)
 
Quote:

Do you have an instant respawn or fast respawn plugin installed?
TF2: Respawn System, yeah.
Is there a fix?

crazychicken 06-22-2008 21:59

Re: Dissolve (player ragdolls)
 
nice work

exvel 07-03-2008 17:11

Re: Dissolve (player ragdolls)
 
Is it possible to make this plugin CSSDM compatible?

Cooltad 07-03-2008 17:55

Re: Dissolve (player ragdolls)
 
Quote:

Originally Posted by Kigen (Post 638778)
I think the retrival of the ragdoll id should be moved to when the player dies.

In fact I've already done that for 3rd MD. I built a special plugin for their drills and it respawns people faster than it makes their bodies disappear. So I retrieved the rag doll ID first, put it in the field for the timer. Made a simple IsValidEdict check in the timer then removed the body if the IsValidEdict passed.

Code:

public EventPlayerDeath(Handle:event, const String:name[], bool:dontBroadcast)
{
    if ( Respawn )
    {
        new client = GetClientOfUserId(GetEventInt(event, "userid"));
        if ( client && IsClientInGame(client) )
        {
            CreateTimer(10.0, RespawnTimer, client, TIMER_FLAG_NO_MAPCHANGE);
            new ragdoll = GetEntPropEnt(client, Prop_Send, "m_hRagdoll");
            if (ragdoll<0)
                return;
            CreateTimer(120.0, Dissolve, ragdoll, TIMER_FLAG_NO_MAPCHANGE);
        }
    }
}

public Action:RespawnTimer(Handle:timer, any:client)
{
    if ( Respawn && client && IsClientInGame(client) && !IsPlayerAlive(client) )
        CS_RespawnPlayer(client);
    return Plugin_Stop;
}

public Action:Dissolve(Handle:timer, any:ragdoll)
{
    if ( IsValidEntity(ragdoll) )
    {
        new String:dname[32], String:dtype[32];
        Format(dname, sizeof(dname), "dis_%d", ragdoll);
        Format(dtype, sizeof(dtype), "%d", 0);
 
        new ent = CreateEntityByName("env_entity_dissolver");
        if (ent>0)
        {
            DispatchKeyValue(ragdoll, "targetname", dname);
            DispatchKeyValue(ent, "dissolvetype", dtype);
            DispatchKeyValue(ent, "target", dname);
            AcceptEntityInput(ent, "Dissolve");
            AcceptEntityInput(ent, "kill");
        }
    }
    return Plugin_Stop;
}


So this will make it work with faster respawns?


All times are GMT -4. The time now is 13:15.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.