Veteran Member
Join Date: Jan 2010
Location: mom's basement
09-03-2017
, 12:18
[CSS/CSGO] Fire C4 death Event - SM plugin
#1
net_showevent 2 output
Code:
Server event "bomb_beep", Tick 318661:
- "entindex" = "232"
Server event "bomb_beep", Tick 318664:
- "entindex" = "232"
Server event "round_mvp", Tick 318664:
- "userid" = "2"
- "reason" = "2"
- "musickitmvps" = "0"
Server event "cs_win_panel_round", Tick 318664:
- "show_timer_defend" = "0"
- "show_timer_attack" = "1"
- "timer_time" = "76"
- "final_event" = "1"
- "funfact_token" = "#funfact_rounds_without_dying"
- "funfact_player" = "10"
- "funfact_data1" = "5"
- "funfact_data2" = "0"
- "funfact_data3" = "0"
Server event "round_end", Tick 318664:
- "winner" = "2"
- "reason" = "1"
- "message" = "#SFUI_Notice_Target_Bombed"
- "legacy" = "0"
- "player_count" = "10"
Server event "item_equip", Tick 318664:
- "userid" = "3"
- "item" = "p90"
- "defindex" = "19"
- "canzoom" = "0"
- "hassilencer" = "0"
- "issilenced" = "0"
- "hastracers" = "1"
- "weptype" = "2"
- "ispainted" = "0"
Server event "item_equip", Tick 318664:
- "userid" = "5"
- "item" = "ak47"
- "defindex" = "7"
- "canzoom" = "0"
- "hassilencer" = "0"
- "issilenced" = "0"
- "hastracers" = "1"
- "weptype" = "3"
- "ispainted" = "0"
Server event "item_equip", Tick 318664:
- "userid" = "7"
- "item" = "ak47"
- "defindex" = "7"
- "canzoom" = "0"
- "hassilencer" = "0"
- "issilenced" = "0"
- "hastracers" = "1"
- "weptype" = "3"
- "ispainted" = "0"
Server event "item_equip", Tick 318664:
- "userid" = "10"
- "item" = "famas"
- "defindex" = "10"
- "canzoom" = "0"
- "hassilencer" = "0"
- "issilenced" = "0"
- "hastracers" = "1"
- "weptype" = "3"
- "ispainted" = "0"
Server event "player_hurt", Tick 318664:
- "userid" = "10"
- "attacker" = "0"
- "health" = "11"
- "armor" = "0"
- "weapon" = ""
- "dmg_health" = "89"
- "dmg_armor" = "0"
- "hitgroup" = "0"
Server event "player_hurt", Tick 318664:
- "userid" = "8"
- "attacker" = "0"
- "health" = "0"
- "armor" = "0"
- "weapon" = ""
- "dmg_health" = "257"
- "dmg_armor" = "0"
- "hitgroup" = "0"
Server event "item_remove", Tick 318664:
- "userid" = "8"
- "item" = "defuser"
- "defindex" = "0"
Server event "item_remove", Tick 318664:
- "userid" = "8"
- "item" = "famas"
- "defindex" = "10"
Server event "item_equip", Tick 318664:
- "userid" = "8"
- "item" = "hkp2000"
- "defindex" = "32"
- "canzoom" = "0"
- "hassilencer" = "0"
- "issilenced" = "0"
- "hastracers" = "1"
- "weptype" = "1"
- "ispainted" = "0"
Server event "item_remove", Tick 318664:
- "userid" = "8"
- "item" = "knife"
- "defindex" = "42"
Server event "item_remove", Tick 318664:
- "userid" = "8"
- "item" = "hkp2000"
- "defindex" = "32"
Game event "spec_mode_updated", Tick 0:
- "userid" = "8"
Server event "player_hurt", Tick 318664:
- "userid" = "4"
- "attacker" = "0"
- "health" = "0"
- "armor" = "30"
- "weapon" = ""
- "dmg_health" = "139"
- "dmg_armor" = "69"
- "hitgroup" = "0"
Server event "item_remove", Tick 318664:
- "userid" = "4"
- "item" = "defuser"
- "defindex" = "0"
Server event "item_remove", Tick 318664:
- "userid" = "4"
- "item" = "aug"
- "defindex" = "8"
Server event "item_equip", Tick 318664:
- "userid" = "4"
- "item" = "hkp2000"
- "defindex" = "32"
- "canzoom" = "0"
- "hassilencer" = "0"
- "issilenced" = "0"
- "hastracers" = "1"
- "weptype" = "1"
- "ispainted" = "0"
Server event "item_remove", Tick 318664:
- "userid" = "4"
- "item" = "vesthelm"
- "defindex" = "0"
Server event "item_remove", Tick 318664:
- "userid" = "4"
- "item" = "knife"
- "defindex" = "42"
Server event "item_remove", Tick 318664:
- "userid" = "4"
- "item" = "hkp2000"
- "defindex" = "32"
Game event "spec_mode_updated", Tick 0:
- "userid" = "4"
Server event "player_hurt", Tick 318664:
- "userid" = "5"
- "attacker" = "0"
- "health" = "0"
- "armor" = "40"
- "weapon" = ""
- "dmg_health" = "119"
- "dmg_armor" = "59"
- "hitgroup" = "0"
Server event "item_remove", Tick 318664:
- "userid" = "5"
- "item" = "ak47"
- "defindex" = "7"
Server event "item_equip", Tick 318664:
- "userid" = "5"
- "item" = "p250"
- "defindex" = "36"
- "canzoom" = "0"
- "hassilencer" = "0"
- "issilenced" = "0"
- "hastracers" = "1"
- "weptype" = "1"
- "ispainted" = "0"
Server event "item_remove", Tick 318664:
- "userid" = "5"
- "item" = "vesthelm"
- "defindex" = "0"
Server event "item_remove", Tick 318664:
- "userid" = "5"
- "item" = "knife"
- "defindex" = "59"
Server event "item_remove", Tick 318664:
- "userid" = "5"
- "item" = "p250"
- "defindex" = "36"
Game event "spec_mode_updated", Tick 0:
- "userid" = "5"
Server event "player_hurt", Tick 318664:
- "userid" = "3"
- "attacker" = "0"
- "health" = "9"
- "armor" = "54"
- "weapon" = ""
- "dmg_health" = "91"
- "dmg_armor" = "45"
- "hitgroup" = "0"
Server event "player_hurt", Tick 318664:
- "userid" = "2"
- "attacker" = "0"
- "health" = "0"
- "armor" = "0"
- "weapon" = ""
- "dmg_health" = "185"
- "dmg_armor" = "0"
- "hitgroup" = "0"
Server event "item_remove", Tick 318664:
- "userid" = "2"
- "item" = "knife"
- "defindex" = "59"
Game event "spec_mode_updated", Tick 0:
- "userid" = "2"
Server event "player_hurt", Tick 318664:
- "userid" = "7"
- "attacker" = "0"
- "health" = "17"
- "armor" = "58"
- "weapon" = ""
- "dmg_health" = "83"
- "dmg_armor" = "41"
- "hitgroup" = "0"
Server event "player_hurt", Tick 318664:
- "userid" = "9"
- "attacker" = "0"
- "health" = "68"
- "armor" = "83"
- "weapon" = ""
- "dmg_health" = "32"
- "dmg_armor" = "16"
- "hitgroup" = "0"
Server event "bomb_exploded", Tick 318664:
- "userid" = "2"
- "site" = "366"
Server event "player_death", Tick 318664:
- "userid" = "8"
- "attacker" = "2"
- "assister" = "0"
- "weapon" = "c4"
- "weapon_itemid" = ""
- "weapon_fauxitemid" = ""
- "weapon_originalowner_xuid" = ""
- "headshot" = "0"
- "dominated" = "0"
- "revenge" = "0"
- "penetrated" = "0"
- "noreplay" = "1"
Server event "player_death", Tick 318664:
- "userid" = "4"
- "attacker" = "2"
- "assister" = "0"
- "weapon" = "c4"
- "weapon_itemid" = ""
- "weapon_fauxitemid" = ""
- "weapon_originalowner_xuid" = ""
- "headshot" = "0"
- "dominated" = "0"
- "revenge" = "0"
- "penetrated" = "0"
- "noreplay" = "1"
Server event "player_death", Tick 318664:
- "userid" = "5"
- "attacker" = "2"
- "assister" = "0"
- "weapon" = "c4"
- "weapon_itemid" = ""
- "weapon_fauxitemid" = ""
- "weapon_originalowner_xuid" = ""
- "headshot" = "0"
- "dominated" = "0"
- "revenge" = "0"
- "penetrated" = "0"
- "noreplay" = "1"
Server event "player_death", Tick 318664:
- "userid" = "2"
- "attacker" = "2"
- "assister" = "0"
- "weapon" = "c4"
- "weapon_itemid" = ""
- "weapon_fauxitemid" = ""
- "weapon_originalowner_xuid" = ""
- "headshot" = "0"
- "dominated" = "0"
- "revenge" = "0"
- "penetrated" = "0"
- "noreplay" = "1"
Server event "weapon_zoom", Tick 318665:
- "userid" = "11"
Server event "weapon_zoom", Tick 318685:
- "userid" = "11"
This plugin example trigger death events which happen when players die in C4 exlosion.
-Above in "spoiler" you see net_showevents 2 output when these events happen. (After "bomb_exploded")
- This should help on other plugins which normally follow player_death event. But can also bring more trouble, ex. team killing.
- You not necessary need this
PHP Code:
#include <sdkhooks>
public void OnPluginStart ()
{
HookEventEx ( "bomb_exploded" , bomb_exploded );
for( int i = 1 ; i <= MaxClients ; i ++)
{
if( IsClientInGame ( i )) OnClientPutInServer ( i );
}
}
public void OnClientPutInServer ( int client )
{
if(! IsClientSourceTV ( client ) && ! IsClientReplay ( client ))
SDKHookEx ( client , SDKHook_OnTakeDamagePost , OnTakeDamagePost );
}
ArrayList List_C4_Death ;
public void bomb_exploded ( Event event , const char [] name , bool dontBroadcast )
{
if( List_C4_Death != INVALID_HANDLE )
{
for( int x = 0 ; x < List_C4_Death . Length ; x ++)
{
Event event_death = CreateEvent ( "player_death" , true );
if ( event_death == INVALID_HANDLE )
{
return;
}
event_death . SetInt ( "userid" , List_C4_Death . Get ( x ));
event_death . SetInt ( "attacker" , event . GetInt ( "userid" ));
event_death . SetString ( "weapon" , "c4" );
event_death . SetBool ( "noreplay" , true );
event_death . Fire ();
}
delete List_C4_Death ;
}
}
public void OnTakeDamagePost ( int victim , int attacker , int inflictor , float damage , int damagetype )
{
// Don't pass alive players
if( IsPlayerAlive ( victim )) return;
if( attacker > MaxClients )
{
// Entity
char buffer [ 30 ];
if( GetEntityClassname ( attacker , buffer , sizeof ( buffer )) && StrEqual ( buffer , "planted_c4" , false ))
{
if( List_C4_Death == INVALID_HANDLE )
{
List_C4_Death = new ArrayList ( 30 );
}
List_C4_Death . Push ( GetClientUserId ( victim ));
}
}
}
__________________
Do not Private Message @me
Last edited by Bacardi; 09-05-2017 at 08:21 .