// ****************************** // Mattie's OddBlood v1.0 // for Counter-Strike: Source // // * Description: // Players can choose what kind of strange bleeding they want their bullets to cause. // // * Install instructions: // http://forums.mattie.info/cs/forums/viewtopic.php?t=6379 // http://mattie.info/cs // // * Requirements: // EventScripts v1.1.0.005 or higher // Mani Admin Plugin v1.1.0w or higher // // ****************************** block load { // create a variable (default to on) es_setinfo mattie_oddblood 1 es_setinfo oddblood_announce 1 // make it public so we can see it via HLSW es_makepublic mattie_oddblood es_keygroupdelete oddblood es_keygroupload oddblood |oddblood es_xdoblock oddblood/initoptions // Announce it. es_setinfo oddtemp "Mattie's OddBlood has been enabled." es_msg #multi #green[OddBlood]#default server_var(oddtemp) } block unload { es_setinfo mattie_oddblood 0 es_setinfo oddblood_announce 0 es_keygroupsave oddblood |oddblood es_keygroupdelete oddblood es_keygroupdelete oddmenu } // This event is called whenever a new round begins. event round_start { if (server_var(mattie_oddblood) = 1) do { if (server_var(oddblood_announce) = 1) do { es_msg #multi #green[OddBlood] #defaultWhenever you shoot someone, they will bleed something special. es_msg #multi #green[OddBlood] #defaultSay #lightgreen!oddblood #defaultto change. } } } event player_hurt { es_keygetvalue oddmenudata oddblood event_var(es_attackersteamid) bloodtype if (server_var(oddmenudata) > 0) do { es_keygetvalue oddmenudata oddmenu server_var(oddmenudata) block es_doblock server_var(oddmenudata) } } event round_end { es_remove env_blood es_setinfo oddenvblood 0 es_xkeygroupsave oddblood |oddblood } event player_spawn { if (server_var(oddenvblood) < 1) do { es_give event_var(userid) env_blood es_fire event_var(userid) env_blood addoutput "spawnflags 121" es_fire event_var(userid) env_blood addoutput "amount 220" es_fire event_var(userid) env_blood addoutput "color 0" es_xsetinfo oddenvblood 1 } } event player_say { if (event_var(text) equalto "!oddblood") do { es_keycreate oddblood event_var(es_steamid) es_keysetvalue oddblood event_var(es_steamid) "inmenu" "1" es_menu 5 event_var(userid) server_var(oddmenustr) } } event es_client_command { if (event_var(command) == "menuselect") do { es_setinfo oddmenu 0 es_keygetvalue oddmenu oddblood event_var(es_steamid) inmenu if (server_var(oddmenu) > 0) do { if (0 in event_var(commandstring)) do { // nothing } else do { es_keysetvalue oddblood event_var(es_steamid) bloodtype event_var(commandstring) } es_keysetvalue oddblood event_var(es_steamid) inmenu 0 } } } block dovector { // get the location of the attacker es_getplayerprop fA event_var(attacker) "CBaseEntity.m_vecOrigin" // get the location of the victim es_getplayerprop fB event_var(userid) "CBaseEntity.m_vecOrigin" // create a vector from attacker to victim es_createvectorfrompoints FC server_var(fA) server_var(fB) // pull the attacker towards the victim es_splitvectorstring fA fB fC server_var(fC) es_setinfo agx 0 es_setinfo agy 0 es_setinfo agz 0 es_getplayerlocation agx agy agz event_var(userid) es_setinfo hurtval event_var(dmg_health) es_math hurtval / 5 } block domodel { esnq ma_effect 20 A 0 server_var(agx) server_var(agy) server_var(agz) 0 0 0 16 16 16 server_var(fA) server_var(fB) server_var(fC) server_var(oddmodel) 50 server_var(hurtval) 10 4104 } block none { // nothing happens } block ultra { es_xdoblock oddblood/dovector es_xsetinfo oddmodel "skull1" es_xdoblock oddblood/domodel es_xsetinfo oddmodel "rib" es_xdoblock oddblood/domodel es_xsetinfo oddmodel "spine" es_xdoblock oddblood/domodel es_xsetinfo oddmodel "scapula" es_xdoblock oddblood/domodel es_fire event_var(userid) env_blood emitblood } block cash { es_xdoblock oddblood/dovector es_xsetinfo oddmodel "dollar" es_xdoblock oddblood/domodel } block fish { es_xdoblock oddblood/dovector es_xsetinfo oddmodel "fish" //es_xsetinfo oddmodel "grave" es_xdoblock oddblood/domodel } block coffee { es_xdoblock oddblood/dovector es_xsetinfo oddmodel "mug" es_xdoblock oddblood/domodel } block turtles { es_xdoblock oddblood/dovector es_xsetinfo oddmodel "turtle" es_xdoblock oddblood/domodel } block cones { es_xdoblock oddblood/dovector es_xsetinfo oddmodel "pylon" es_xdoblock oddblood/domodel } block bananas { es_xdoblock oddblood/dovector es_xsetinfo oddmodel "banana" es_xdoblock oddblood/domodel } block toilets { es_xdoblock oddblood/dovector es_xsetinfo oddmodel "toilet" es_xdoblock oddblood/domodel } block initoptions { es_setinfo oddmenu-exists 0 es_xexists keygroup oddmenu-exists oddmenu if (server_var(oddmenu-exists) < 1) do { es_keygroupcreate oddmenu es_keycreate oddmenu 1 es_keysetvalue oddmenu 1 menustring ". No special blood.\n" es_keysetvalue oddmenu 1 block "oddblood/none" es_keycreate oddmenu 2 es_keysetvalue oddmenu 2 menustring ". Ultra-gore\n" es_keysetvalue oddmenu 2 block "oddblood/ultra" es_keycreate oddmenu 3 es_keysetvalue oddmenu 3 menustring ". Cash\n" es_keysetvalue oddmenu 3 block "oddblood/cash" es_keycreate oddmenu 4 es_keysetvalue oddmenu 4 menustring ". Goldfish\n" es_keysetvalue oddmenu 4 block "oddblood/fish" es_keycreate oddmenu 5 es_keysetvalue oddmenu 5 menustring ". Cup o' Joe\n" es_keysetvalue oddmenu 5 block "oddblood/coffee" es_keycreate oddmenu 6 es_keysetvalue oddmenu 6 menustring ". Turtles\n" es_keysetvalue oddmenu 6 block "oddblood/turtles" es_keycreate oddmenu 7 es_keysetvalue oddmenu 7 menustring ". Cones\n" es_keysetvalue oddmenu 7 block "oddblood/cones" es_keycreate oddmenu 8 es_keysetvalue oddmenu 8 menustring ". Bananas\n" es_keysetvalue oddmenu 8 block "oddblood/bananas" es_keycreate oddmenu 9 es_keysetvalue oddmenu 9 menustring ". Toilets\n" es_keysetvalue oddmenu 9 block "oddblood/toilets" es_keycreate oddmenu 0 es_keysetvalue oddmenu 0 menustring ". Exit\n" es_keysetvalue oddmenu 0 block "oddblood/none" } es_setinfo oddmenustr "OddBlood by Mattie\n \nChoose the blood caused by your bullets:\n" es_setinfo oddmenudata 0 es_foreachkey oddkey in oddmenu "es_keygetvalue oddmenudata oddmenu server_var(oddkey) menustring;es_format oddmenustr %1%2%3 server_var(oddmenustr) server_var(oddkey) server_var(oddmenudata)" es_setinfo fA 0 es_setinfo fB 0 es_setinfo fC 0 }