rn
rnI was just browsing some forums and i wounder if anyone could tell me if this will work with dod here is the whole code from the sma file:-
rn
rn
rn
/* AMX Mod script. rn rn AMX FirstBlood Pluginrn rn (c) Copyright 2002-2003, Sonic 'sonic@codet.de'rn This file is provided as is (no warranties). rn*/rnrn/* Put this in server.cfg or listenserver.cfg or amx.cfg:rn rn amx_fb_modern "a" - show firstblood msg in hud (everyone)rn "b" - show firstblood msg in hud (for attacker only)rn "ab"- do not display in hud at all ("a" & "b" are mutual exclusive)rn "c" - show firstblood msg in chat (everyone)rn "d" - play firstblood sound (for attacker only). Requires misc/firstblood.wavrn "e" - set firstblood msg to damage_event (default death_event), rn i.e. trigger real first blood (FirstHit)rn rn Set amx_fb_mode "" to disable fistblood plugin.rn Default amx_fb_mode value is "ad".rn*/rnrn/* History:rn rn 0.9.10 [2006/10/30] by Simon Logic (ICQ: 134190956)rn + sound precaching enabled, so you need to put firstblood.wav to serverrn only for convenient way of its distributionrnrn 0.9.9 [2006/10/14] by Simon Logic (ICQ: 134190956)rn + support for HL:DMrn + support for CS:DMrn * more UT like stylern * fixesrn * code reorganizationrnrn 0.9.3 [?] by Sonicrn * releasern*/rnrn#include rn#include // is_running()rnrn#define FB_PLUGIN_NAME "FirstBlood"rn#define FB_PLUGIN_VERSION "0.9.10"rn#define FB_PLUGIN_AUTHOR "Sonic"rnrn#define FB_FLAG_HUD_E (1<<0)rn#define FB_FLAG_HUD_A (1<<1)rn#define FB_FLAG_NO_HUD (FB_FLAG_HUD_E|FB_FLAG_HUD_A)rn#define FB_FLAG_CHAT (1<<2)rn#define FB_FLAG_SND (1<<3)rn#define FB_FLAG_FH (1<<4)rnrn//#define FB_DEBUGrnrnnew bool:g_bUnderCS // flag: amxmod is running under CS or CZrn//-----------------------------------------------------------------------------rnpublic plugin_init()rn{rn g_bUnderCS = (is_running("cstrike") || is_running("czero"))rnrn // e-mail is removed cause the line looks too long when exec "amx plugins"rn register_plugin(FB_PLUGIN_NAME, FB_PLUGIN_VERSION, FB_PLUGIN_AUTHOR)rnrn if(g_bUnderCS) {rn // NOTE: mp_roundtime can not be less than 1 minutern register_event("RoundTime", "onRoundTimer", "bc", "1>59")rn // alternative way:rn // register_logevent("onRoundRestart", 2, "0=World triggered", "1=Round_Start")rn }rnrn register_event("DeathMsg", "death_msg", "a")rn register_event("Damage", "damage_msg", "b", "2!0", "4!0") // 2nd & 4th param <> 0rn register_cvar("amx_fb_mode","ad")rn rn // pause functions (b-flag)...rn pause("b", "death_msg") rn pause("b", "damage_msg")rnrn server_print("[AMX] FirstBlood plugin initialized for %s mod", g_bUnderCS ? "CS": "HLDM")rn rn return PLUGIN_CONTINUErn} rn//-----------------------------------------------------------------------------rnpublic plugin_cfg()rn{rn if(!g_bUnderCS) switchEvent()rnrn return PLUGIN_CONTINUErn}rn//-----------------------------------------------------------------------------rnpublic plugin_precache()rn{rn if(file_exists("sound/misc/firstblood.wav"))rn precache_sound("misc/firstblood.wav")rn}rn//-----------------------------------------------------------------------------rnpublic onRoundTimer()rn{ rn#if defined FB_DEBUGrn // read_data(x) returns integer onlyrn server_print("[AMX] FirstBlood::onRoundTimer(%d)", read_data(1))rn#endifrn if((get_cvar_num("mp_roundtime") * 60) == read_data(1))rn switchEvent()rn rn return PLUGIN_CONTINUErn} rn//-----------------------------------------------------------------------------rnpublic switchEvent()rn{rn#if defined FB_DEBUGrn server_print("[AMX] FirstBlood::switchEvent()")rn#endifrn new fbmode[8]rn new fbmode_bitrn rn get_cvar_string("amx_fb_mode", fbmode, 7)rn fbmode_bit = read_flags(fbmode)rnrn if (fbmode_bit & FB_FLAG_FH) {rn unpause("b", "damage_msg")rn pause("b","death_msg")rn }rn else {rn unpause("b", "death_msg")rn pause("b","damage_msg")rn }rn}rn//-----------------------------------------------------------------------------rnpublic death_msg()rn{rn new aIndex = read_data(1)rn new vIndex = read_data(2)rnrn#if defined FB_DEBUGrn server_print("[AMX] FirstBlood::death_msg(%d, %d)", aIndex, vIndex)rn#endifrn rn if (fb_event(aIndex, vIndex))rn pause("b", "death_msg") // very important! =)rnrn return PLUGIN_CONTINUE rn} rn//-----------------------------------------------------------------------------rnpublic damage_msg()rn{rn#if defined FB_DEBUGrn server_print("[AMX] FirstBlood::damage_msg()")rn#endifrn new vIndex = read_data(0) // index of player who has just diedrn new aIndex = get_user_attacker(vIndex) // get attacker's id (0 if nobody)rn rn if(fb_event(aIndex, vIndex))rn pause("b","damage_msg") // very important! =)rnrn return PLUGIN_CONTINUE rn}rn//-----------------------------------------------------------------------------rnfb_event(aIndex, vIndex)rn{rn#if defined FB_DEBUGrn server_print("[AMX] FirstBlood::fb_event(%d, %d)", aIndex, vIndex)rn#endifrn new bool:bCheckTeams = truernrn if(!aIndex || aIndex == vIndex) // common checkrn return falsern if(g_bUnderCS) {rn if(cvar_exists("csdm_active") && get_cvar_num("csdm_active"))rn if(get_cvar_num("csdm_kill_all")) bCheckTeams = falsern } rn elsern if(!get_cvar_num("mp_teamplay")) bCheckTeams = falsern if(bCheckTeams && (get_user_team(aIndex) == get_user_team(vIndex)))rn return falsernrn new sMsg[128]rn new aName[32]rn new fbmode[8]rnrn get_cvar_string("amx_fb_mode", fbmode, 7)rn new fbmode_bit = read_flags(fbmode)rn rn get_user_name(aIndex, aName, 31)rn format(sMsg, 127, "%s drew first blood", aName) rn rn if ((fbmode_bit & FB_FLAG_NO_HUD) != FB_FLAG_NO_HUD) {rn new iPlayerID = -1 // 0 - everybodyrn if (fbmode_bit & FB_FLAG_HUD_E) iPlayerID = 0rn if (fbmode_bit & FB_FLAG_HUD_A) iPlayerID = aIndexrnrn if(iPlayerID >= 0) {rn // (r,g,b, x,y, effects,fxtime(?), holdtime, fadeintime, fadeouttime, channel(?));rn set_hudmessage(170,0,0, -1.0,0.30, 0,6.0, 2.0, 0.3,2.0, 2)rn show_hudmessage(iPlayerID, sMsg)rn }rn }rn rn if (fbmode_bit & FB_FLAG_CHAT) client_print(0, print_chat, "%s", sMsg)rn if (fbmode_bit & FB_FLAG_SND) client_cmd(aIndex, "spk misc/firstblood")rnrn return truern}
rn
rnAny help will be great
rn
rnRegards
rn
rnBlobby

