Raised This Month: $51 Target: $400
 12% 

[L4D2] Restore Survivor Death Animations (UPDATED 03-29-2015)


Post New Thread Reply   
 
Thread Tools Display Modes
Mr. Zero
Veteran Member
Join Date: Jun 2009
Location: Denmark
Old 09-03-2014 , 08:48   Re: [L4D2] Restore Survivor Death Animations
Reply With Quote #11

Excellent use of stocks

Just two things I noticed;

Line 41:
PHP Code:
new Float:tmphealth GetEntPropFloat(clientProp_Send"m_healthBuffer"
Health buffer does not straight up contain the remaining temporary health the Survivors has. That netprop contains the total of health buffer they have received but not its current value. See L4D_GetPlayerTempHealth in L4D Stocks for a stock function.

Line 44:
PHP Code:
    if (health dmg || tmphealth dmg || !L4D_IsPlayerOnThirdStrike(client)) {
        return
    } 
This does not trigger for gamemodes that features no incapacitation, such as Death's Door (Thirdstrike netprop is never set if max incapacitation is set to 0). In those cases you will need to check the max incapacitation allowed for Survivors. See Restore Ragdolls plugin for an example of that.

Also if I were you, I would not trust the Player hurt event for capturing deaths. It does lie, such as getting hit in the back by a Common is reported as full damage even if you only take 50%. Hell, if you run my Restore Ragdolls plugin you will sometimes, no quite often, see the static death models when players die. Player hurt is absolutely not fool proof.
I would personally listen to SDKHooks OnTakeDamagePost hook and check 1.0 seconds later if damage received were greater than health remaining to see if the player still have more than 0 health. If not, then force suicide them as you are currently doing with the script at 3.14 seconds later, minus that 1.0 second.

Quote:
Please note that for some reason, when the death animations are playing, the survivor is capable of doing certain actions (such as +use) and can also vocalize.
You can block player inputs in OnPlayerRunCmd forward and Scene Processor does feature a OnVocalizeCommand forward as well (if you want to lower dependencies, you could just do a crude hooking of the vocalize command and block send commands from dying players).

Last edited by Mr. Zero; 09-03-2014 at 08:52.
Mr. Zero is offline
huynhnhatkhai
Junior Member
Join Date: Sep 2014
Old 09-03-2014 , 09:18   Re: [L4D2] Restore Survivor Death Animations
Reply With Quote #12

Quote:
Originally Posted by DeathChaos25 View Post
What situation caused endless death animations?

Please let me know so that I can look into it and possibly fix it, as I didn't experience this myself.

In case of endless animations, just have an admin slay whoever got stuck, the game will still correctly report who killed the person.

I was tried to got killed by spitter spit :'D. But it was successed 2 times, on the 3rd time i tried to got killed, the animation keep repeat again and again and i couldn't dead (still can vocalize). Any chance of conflicted with Restore ragdoll plugin? i used both your plugin and that plugin. Because sometimes i want when being pounded by tank~, coprse will turn to ragdoll for more realistic :'D. Combine with death animation one, everything will be perfect ;'j
huynhnhatkhai is offline
DeathChaos25
Senior Member
Join Date: Jan 2014
Location: Puerto Rico
Old 09-03-2014 , 15:33   Re: [L4D2] Restore Survivor Death Animations
Reply With Quote #13

Quote:
Originally Posted by Mr. Zero View Post
Excellent use of stocks

Just two things I noticed;

Line 41:
PHP Code:
new Float:tmphealth GetEntPropFloat(clientProp_Send"m_healthBuffer"
Health buffer does not straight up contain the remaining temporary health the Survivors has. That netprop contains the total of health buffer they have received but not its current value. See L4D_GetPlayerTempHealth in L4D Stocks for a stock function.
Quote:
Line 44:
PHP Code:
    if (health dmg || tmphealth dmg || !L4D_IsPlayerOnThirdStrike(client)) {
        return
    } 
This does not trigger for gamemodes that features no incapacitation, such as Death's Door (Thirdstrike netprop is never set if max incapacitation is set to 0). In those cases you will need to check the max incapacitation allowed for Survivors. See Restore Ragdolls plugin for an example of that.
Basically;
PHP Code:
if (health damage || L4D_GetPlayerTempHealth(client) > damage ||  L4D_GetPlayerReviveCount(client) < GetConVarInt(g_Cvar_MaxIncaps)) {
        return
    } 
Is this correct?

Here's all the changes I've done until now (not yet implemented Scene Processor nor OnPlayerRunCmd)
Spoiler


Quote:
Also if I were you, I would not trust the Player hurt event for capturing deaths. It does lie, such as getting hit in the back by a Common is reported as full damage even if you only take 50%. Hell, if you run my Restore Ragdolls plugin you will sometimes, no quite often, see the static death models when players die. Player hurt is absolutely not fool proof.
I would personally listen to SDKHooks OnTakeDamagePost hook and check 1.0 seconds later if damage received were greater than health remaining to see if the player still have more than 0 health. If not, then force suicide them as you are currently doing with the script at 3.14 seconds later, minus that 1.0 second.
Meaning, if is I use OnPostTakeDamage, create a 1.0 second timer to obtain the real damage, and create the Death timer from that one, the timer's duration would be 2.14, correct?

Quote:
You can block player inputs in OnPlayerRunCmd forward and Scene Processor does feature a OnVocalizeCommand forward as well (if you want to lower dependencies, you could just do a crude hooking of the vocalize command and block send commands from dying players).
I'll look into it, since it's jarring how they turn around while dying.

And most of the plugins I develop end up needing Scene Processor anyways, might as well include it in here too

Edit : I think I went wrong somewhere, the move from player_hurt to OnTakeDamagePost results in a server crash now whenever damage is dealt :/
__________________

Last edited by DeathChaos25; 09-04-2014 at 07:44.
DeathChaos25 is offline
Machine
Senior Member
Join Date: Apr 2010
Old 09-04-2014 , 02:10   Re: [L4D2] Restore Survivor Death Animations
Reply With Quote #14

After you read the pack info you should do CloseHandle(pack) otherwise they stay open. You may be overloading on handles and its causing the memory leak and crashes.

Not sure if you know, but you can do sm_dump_handles <file> in console. If you see many handles open from a plugin and it keeps growing, you know it has a memory leak.

Edit: Also a little off topic, Mr.Zero, can you explain how exactly m_healthBuffer works? I've seen your stocks briefly before, but I didn't understand how the stock game handles temporary health.

Last edited by Machine; 09-04-2014 at 02:14.
Machine is offline
DeathChaos25
Senior Member
Join Date: Jan 2014
Location: Puerto Rico
Old 09-04-2014 , 07:11   Re: [L4D2] Restore Survivor Death Animations
Reply With Quote #15

Quote:
Originally Posted by Machine View Post
After you read the pack info you should do CloseHandle(pack) otherwise they stay open. You may be overloading on handles and its causing the memory leak and crashes.

Not sure if you know, but you can do sm_dump_handles <file> in console. If you see many handles open from a plugin and it keeps growing, you know it has a memory leak.
Well, the plugin insta crashes OnTakeDamagePost, so it never even functions apart from OnPluginStart() and OnClientPutOnServer().

Also, closing the pack, like this?
PHP Code:
    ResetPack(pack
    new 
client ReadPackCell(pack
    new 
Float:damage ReadPackCell(pack
    
CloseHandle(pack
Still getting the crash regardless, I think I messed up else where, not inside OnTakeDamagePost itself.
__________________
DeathChaos25 is offline
Mr. Zero
Veteran Member
Join Date: Jun 2009
Location: Denmark
Old 09-04-2014 , 11:49   Re: [L4D2] Restore Survivor Death Animations
Reply With Quote #16

Quote:
Originally Posted by DeathChaos25 View Post
Here's all the changes I've done until now (not yet implemented Scene Processor nor OnPlayerRunCmd)

Meaning, if is I use OnPostTakeDamage, create a 1.0 second timer to obtain the real damage, and create the Death timer from that one, the timer's duration would be 2.14, correct?

I'll look into it, since it's jarring how they turn around while dying.

And most of the plugins I develop end up needing Scene Processor anyways, might as well include it in here too

Edit : I think I went wrong somewhere, the move from player_hurt to OnTakeDamagePost results in a server crash now whenever damage is dealt :/
Try this one. Not tested.

Spoiler


Quote:
Originally Posted by Machine View Post
Edit: Also a little off topic, Mr.Zero, can you explain how exactly m_healthBuffer works? I've seen your stocks briefly before, but I didn't understand how the stock game handles temporary health.
PHP Code:
RoundToCeil(GetEntPropFloat(clientProp_Send"m_healthBuffer") - ((GetGameTime() - GetEntPropFloat(clientProp_Send"m_healthBufferTime")) * GetConVarFloat(painPillsDecayCvar))) - 1;        
TempHealthTotal - ((GetGameTime() - TempHealthStartTime) * PainPillsDecayRateCvar) - 1
50                      
- ((250.0 -                        200.0)                           * 0.27)                                                        - 36 temp health (rounded to ceil)
Survivor ate pain pills     Total time since map start     Map time when pills were taken   Temp health decreases per secondalso called the decay rate 
Mr. Zero is offline
DeathChaos25
Senior Member
Join Date: Jan 2014
Location: Puerto Rico
Old 09-04-2014 , 14:52   Re: [L4D2] Restore Survivor Death Animations
Reply With Quote #17

Quote:
Originally Posted by Mr. Zero View Post
Try this one. Not tested.

Spoiler
Had to fix a few things here and there to compile it,
Spoiler


But it still crashes the same as before, damage isn't even applied before the crash.
__________________

Last edited by DeathChaos25; 09-05-2014 at 17:30.
DeathChaos25 is offline
DeathChaos25
Senior Member
Join Date: Jan 2014
Location: Puerto Rico
Old 09-07-2014 , 20:04   Re: [L4D2] Restore Survivor Death Animations
Reply With Quote #18

Ok, so, I think I figured out why the crashes where happening and I think this should put a stop to them, however, now the compiler broke and doesn't want to let me compile even previously released things like SI Vocalize Warnings Fix, etc.

Would someone be willing to try and see if they have any luck compiling it?

Here's the SP and the Include needed to compile it.
Attached Files
File Type: sp Get Plugin or Get Source (l4d2_death_animations_restore.sp - 289 views - 4.8 KB)
File Type: inc l4d_stocks.inc (31.0 KB, 340 views)
__________________
DeathChaos25 is offline
huynhnhatkhai
Junior Member
Join Date: Sep 2014
Old 09-08-2014 , 07:33   Re: [L4D2] Restore Survivor Death Animations
Reply With Quote #19

Quote:
Originally Posted by DeathChaos25 View Post
Ok, so, I think I figured out why the crashes where happening and I think this should put a stop to them, however, now the compiler broke and doesn't want to let me compile even previously released things like SI Vocalize Warnings Fix, etc.

Would someone be willing to try and see if they have any luck compiling it?

Here's the SP and the Include needed to compile it.


//SourceMod Batch Compiler
// by the SourceMod Dev Team


//// l4d2_death_animations_restore.sp
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\clients.inc(326) : w
arning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\usermessages.inc(211
) : warning 219: local variable "client" shadows a variable at a preceding level

// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\halflife.inc(569) :
warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\halflife.inc(591) :
warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\commandfilters.inc(9
7) : warning 219: local variable "client" shadows a variable at a preceding leve
l
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\helpers.inc(46) : wa
rning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\helpers.inc(169) : w
arning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\entity_prop_stocks.i
nc(539) : warning 219: local variable "client" shadows a variable at a preceding
level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\sdktools_sound.inc(3
61) : warning 219: local variable "client" shadows a variable at a preceding lev
el
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\sdktools_sound.inc(5
91) : warning 219: local variable "client" shadows a variable at a preceding lev
el
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\sdktools_tempents.in
c(221) : warning 219: local variable "client" shadows a variable at a preceding
level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(156)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(169)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(181)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(194)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(206)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(219)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(231)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(246)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(257)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(270)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(284)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(297)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(30
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(321)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(333)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(346)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(357)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(36
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(427)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(462)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(496)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(513)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(677)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(690)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(702)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(715)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(729)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(777)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(792)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(80
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(820)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(833)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(850)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(863)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(92
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(964)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(99
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(1011)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(1023)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(1036)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(1061)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(1074)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(1086)
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\include\l4d_stocks.inc(109
: warning 219: local variable "client" shadows a variable at a preceding level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\l4d2_death_animations_restor
e.sp(64) : warning 219: local variable "client" shadows a variable at a precedin
g level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\l4d2_death_animations_restor
e.sp(69) : warning 219: local variable "damage" shadows a variable at a precedin
g level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\l4d2_death_animations_restor
e.sp(74) : warning 219: local variable "health" shadows a variable at a precedin
g level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\l4d2_death_animations_restor
e.sp(84) : error 010: invalid function or declaration
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\l4d2_death_animations_restor
e.sp(84) : warning 215: expression has no effect
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\l4d2_death_animations_restor
e.sp(84) : error 001: expected token: ";", but found ")"
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\l4d2_death_animations_restor
e.sp(90) : error 010: invalid function or declaration
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\l4d2_death_animations_restor
e.sp(91) : error 010: invalid function or declaration
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\l4d2_death_animations_restor
e.sp(94) : error 010: invalid function or declaration
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\l4d2_death_animations_restor
e.sp(95) : error 010: invalid function or declaration
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\l4d2_death_animations_restor
e.sp(97) : error 021: symbol already defined: "CreateTimer"
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\l4d2_death_animations_restor
e.sp(9 : error 010: invalid function or declaration
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\l4d2_death_animations_restor
e.sp(103) : warning 219: local variable "client" shadows a variable at a precedi
ng level
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\l4d2_death_animations_restor
e.sp(120) : warning 209: function "ForcePlayerSuicideTimer" should return a valu
e
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\l4d2_death_animations_restor
e.sp(90) : warning 203: symbol is never used: "damage"
// E:\l4d2_ds\left4dead2\addons\sourcemod\script ing\l4d2_death_animations_restor
e.sp(94) : warning 203: symbol is never used: "health"
//
// 8 Errors.
//
// Compilation Time: 0,23 sec
// ----------------------------------------

Press enter to exit ...





8 errors. No luck to compile, can u check it again? (!` . .)
huynhnhatkhai is offline
dcx2
Senior Member
Join Date: Sep 2011
Old 09-08-2014 , 16:10   Re: [L4D2] Restore Survivor Death Animations
Reply With Quote #20

Quote:
Originally Posted by Mr. Zero View Post
Also if I were you, I would not trust the Player hurt event for capturing deaths. It does lie, such as getting hit in the back by a Common is reported as full damage even if you only take 50%. Hell, if you run my Restore Ragdolls plugin you will sometimes, no quite often, see the static death models when players die. Player hurt is absolutely not fool proof.
I would personally listen to SDKHooks OnTakeDamagePost hook and check 1.0 seconds later if damage received were greater than health remaining to see if the player still have more than 0 health. If not, then force suicide them as you are currently doing with the script at 3.14 seconds later, minus that 1.0 second.
I just want to add to this, because I did a lot of research on this topic for the Jockey Incap Ride.

Mr. Zero is exactly right, player_hurt is a dirty liar when you get hit by a common from behind. IME that's the only time player_hurt lies.

The issue is that OnTakeDamage/Post is ALSO a dirty liar. OTD/P will report the player as having taken damage that got blocked for some reason. The best example I can think of is the one-way drop in the Passing in the sewers - if you fall here, you take like 36 damage (I think!) according to OTD/P, but player_hurt never fires, because something about this area blocks the fall damage from registering.

You can review the source for Jockey Incap Ride to see how I use OTD, PH, and OTDP together to accurately track when the player takes damage. It's a painful process and more than once I've considered trying to extend Left4Downtown2 to add a real "yes this is in fact the damage you took" forward.

EDIT:

Quote:
Originally Posted by DeathChaos25 View Post
Ok, so, I think I figured out why the crashes where happening and I think this should put a stop to them, however, now the compiler broke and doesn't want to let me compile even previously released things like SI Vocalize Warnings Fix, etc.

Would someone be willing to try and see if they have any luck compiling it?
How are you using the compiler? Are you using PawnStudio? I've noticed that the Current Working Directory needs to be set to the Scripts folder or PawnStudio will fail to compile. This usually happens if I open a .inc file, because those are in sub-folders, and this would set the Current Working Directory to the .inc's folder. Open a new file in the scripts folder and it should work.

Also, I've noticed that if the current file is modified but not saved, compilation will fail.
__________________

Last edited by dcx2; 09-08-2014 at 16:15.
dcx2 is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 11:51.


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