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.
|
|