View Single Post
SylverRat
Junior Member
Join Date: Jul 2006
Location: Pécs, HUN, EU
Old 07-06-2006 , 11:19   Re: Bomb Explosion Features
Reply With Quote #6

hi! nice plugin!
but can u somehow modify it so, that the CT defusing the bomb doesn't get the 3 frags?
or can sy plz hlp me how to modify this script?

tnx!

UPDATE: errr... i think i've solved it myself...
Code:
 
#include <amxmodx>
#include <cstrike>
#include <fun>
#define MAX_PLAYERS 32
new bool:g_alive[MAX_PLAYERS + 1]
new g_planter
new g_defuser
new bool:g_mode_frags
new bool:g_mode_deaths
new bool:g_mode_msgs
new bool:g_mode_logs
new g_msg_death
new g_msg_text
public plugin_init() {
 register_plugin("Bomb Explosion Features", "0.1", "VEN")
 register_logevent("logevent_round_start", 2, "0=World triggered", "1=Round_Start")
 register_logevent("logevent_bomb_planted", 3, "1=triggered", "2=Planted_The_Bomb")
 register_event("ResetHUD", "event_reset_hud", "be")
 register_event("DeathMsg", "event_death", "a")
 register_event("Damage", "event_damage_death", "bd", "2>0")
 register_event("23", "event_bomb_explosion", "a", "1=17", "6=-105", "7=17")
 register_event("BarTime", "bomb_defusing","be", "1=10", "1=5")
 register_event("SendAudio", "bomb_defused", "a", "2&%!MRAD_BOMBDEF");
 g_msg_death = get_user_msgid("DeathMsg")
 g_msg_text = get_user_msgid("TextMsg")
 register_cvar("amx_explosion_frags", "1")
 register_cvar("amx_explosion_deaths", "1")
 register_cvar("amx_explosion_msgs", "1")
 register_cvar("amx_explosion_logs", "1")
}
public plugin_modules() {
 require_module("cstrike")
 require_module("fun")
}
 
public event_reset_hud(id) {
 g_alive[id] = true
}
public logevent_round_start() {
 g_planter = 0
 g_defuser = 0
}
public event_death() {
 g_alive[read_data(2)] = false
}
public client_disconnect(id) {
 g_alive[id] = false
}
public logevent_bomb_planted() {
 new loguser[80]
 read_logargv(0, loguser, 79)
 new name[32]
 parse_loguser(loguser, name, 31)
 g_planter = get_user_index(name)
 g_mode_frags = get_cvar_num("amx_explosion_frags") ? true : false
 g_mode_deaths = get_cvar_num("amx_explosion_deaths") ? true : false
 g_mode_msgs = get_cvar_num("amx_explosion_msgs") ? true : false
 g_mode_logs = get_cvar_num("amx_explosion_logs") ? true : false
}
public event_damage_death(id) {
 if (!g_alive[id] || !g_planter)
  return
 g_alive[id] = false
 if (g_mode_frags && is_user_connected(g_planter) && get_user_team(id) == 2)
  set_user_frags(g_planter, get_user_frags(g_planter) + 1)
 if (g_mode_deaths)
  cs_set_user_deaths(id, cs_get_user_deaths(id) + 1)
 if (g_mode_msgs)
  msg_bomb_death(id)
 if (g_mode_logs) {
  new name[32], authid[32], team[10]
  get_user_name(id, name, 31)
  get_user_authid(id, authid, 31)
  get_user_team(id, team, 9)
  log_message("^"%s<%d><%s><%s>^" killed by bomb", name, get_user_userid(id), authid, team)
 }
}
public event_bomb_explosion() {
 if (!g_planter)
  return
 if (g_mode_frags || g_mode_deaths || g_mode_msgs || g_mode_logs)
  msg_target_bombed_text()
 if (g_mode_frags && is_user_connected(g_planter))
  set_user_frags(g_planter, get_user_frags(g_planter) - 3)
}
public bomb_defusing(id) {
 g_defuser = id
}
public bomb_defused() {
 if (!g_defuser)
  return
 if (g_mode_frags && is_user_connected(g_defuser))
  set_user_frags(g_defuser, get_user_frags(g_defuser) - 3)
}
 
stock msg_bomb_death(id) {
 message_begin(MSG_ALL, g_msg_death)
 write_byte(id)
 write_byte(id)
 write_byte(0)
 write_string("world")
 message_end()
}
stock msg_target_bombed_text() {
 message_begin(MSG_ALL, g_msg_text)
 write_byte((1<<2))
 write_string("#Target_Bombed")
 message_end()
}
can sy tell me if this is correct? (changes with RED)
(it seems to work, but not tested on a public server, just with bots...)

Last edited by SylverRat; 07-11-2006 at 03:42.
SylverRat is offline