// // Conar (Counter Strike Sonar) v0.1 // By Don Lafferty // 6/3/2006 // // Description: Allows players to purchase a sonar like ability. Tracks // players on other team and tells how many are within 3 settable distances. // Plays 1, 2, or 3 beeps depending on the closest player. // // Requirements: Eventscripts v1.0 w/corelib loaded // ES_Tools v.40 // // Installation: Put this file into cstrike/addons/eventscripts/conar/es_conar.txt // Put this into your autoexec.cfg and reboot. es_load conar // // Features: Here are the admin configuable items: Price, time between pings, distances, // lose at death, and lose at end of round. // // Use: Say !conar in console or player say to purchase. Say !cp to turn autoping // off and on. // block load { // Set this to the price you want to charge for Conar es_xsetinfo conarprice 2000 // // Set this to how many seconds between pings es_xsetinfo conarperiod 2 // // Set these 3 to the distances you want Conar to activate es_xsetinfo far 2000 es_xsetinfo middle 1400 es_xsetinfo near 800 // // Set this to 1 if you want the player to lose Conar when they die // (if lose_at_roundend is 1 this setting is moot) es_xsetinfo lose_at_death 1 // // Set this to 1 if you want all players to lose Conar at round end es_setinfo lose_at_roundend 1 // // Set this to 1 if you want all players to lose Conar at game end es_setinfo lose_at_gameend 1 //-----------------------------------Do not edit below this line // es_xsetinfo botchk 0 es_xsetinfo badboy 0 es_xsetinfo badboyteam 0 es_xsetinfo pingid 0 es_xsetinfo pinggate 1 es_xsetinfo pingon 0 es_xsetinfo farcount 0 es_xsetinfo middlecount 0 es_xsetinfo nearcount 0 es_xsetinfo conar_amx 0 es_xsetinfo owned 0 es_xsetinfo buymenu 0 es_xsetinfo pingteam 0 es_doblock corelib/noisy_on es_keygroupcreate autoping } block unload { es_doblock corelib/noisy_off } event player_activate { if (server_var(lose_at_gameend) = 1) then es_keysetvalue autoping event_var(userid) owned 0 } event player_connect { es_isbot botchk event_var(userid) if (server_var(botchk) = 0) do { es_keycreate autoping event_var(userid) es_keysetvalue autoping event_var(userid) owned 0 es_keysetvalue autoping event_var(userid) auto 1 es_keysetvalue autoping event_var(userid) far 0 es_keysetvalue autoping event_var(userid) middle 0 es_keysetvalue autoping event_var(userid) near 0 } } event round_start { es_setinfo pinggate 1 es_createplayerlist ping } event round_end { if (server_var(lose_at_roundend) = 1) do { es_foreachkey pingid in autoping "es_keysetvalue autoping server_var(pingid) owned 0" } es_keygroupdelete ping } event player_death { if (server_var(lose_at_death) = 1) then es_keysetvalue autoping event_var(userid) owned 0 } event player_spawn { es_tell event_var(userid) #multi #lightgreenConar is #greenLoaded! } event player_footstep { if (server_var(pinggate) = 1) do { es_xsetinfo pinggate 0 es_foreachkey pingid in autoping "es_doblock conar/autocheck" es_foreachkey pingid in autoping "es_doblock conar/playfar" es_delayed .2 es_foreachkey pingid in autoping "es_doblock conar/playmiddle" es_delayed .4 es_foreachkey pingid in autoping "es_doblock conar/playnear" es_delayed server_var(conarperiod) es_setinfo pinggate 1 } } event player_jump { if (server_var(pinggate) = 1) do { es_xsetinfo pinggate 0 es_foreachkey pingid in autoping "es_doblock conar/autocheck" es_foreachkey pingid in autoping "es_doblock conar/playfar" es_delayed .2 es_foreachkey pingid in autoping "es_doblock conar/playmiddle" es_delayed .4 es_foreachkey pingid in autoping "es_doblock conar/playnear" es_delayed server_var(conarperiod) es_setinfo pinggate 1 } } event player_disconnect { if (event_var(networkid) != BOT) do { es_keydelete autoping event_var(userid) } } event player_say { if (event_var(text) equalto !conar) do { es_doblock conar/buyconar } es_keygetvalue owned autoping server_var(pingid) owned if (server_var(owned) = 1) do { if (event_var(text) equalto !cp) do { es_keygetvalue pingon autoping event_var(userid) auto if (server_var(pingon) = 0) do { es_keysetvalue autoping event_var(userid) auto 1 es_tell event_var(userid) #multi #greenConar #defaultOn } else do { es_keysetvalue autoping event_var(userid) auto 0 es_tell event_var(userid) #multi #lightgreenConar #defaultOff } } } } event es_client_command { if (event_var(command) equalto menuselect) do { es_doblock conar/handlemenu } if (event_var(command) equalto !conar) do { es_doblock conar/buyconar } es_keygetvalue owned autoping server_var(pingid) owned if (server_var(owned) = 1) do { if (event_var(command) equalto !cp) do { es_keygetvalue pingon autoping event_var(userid) auto if (server_var(pingon) = 0) do { es_keysetvalue autoping event_var(userid) auto 1 es_tell event_var(userid) Conar On } else do { es_keysetvalue autoping event_var(userid) auto 0 es_tell event_var(userid) Conar Off } } } } block playfar { es_keygetvalue owned autoping server_var(pingid) owned if (server_var(owned) = 1) do { es est_isalive alive server_var(pingid) if (server_var(alive) = 1) do { es_keygetvalue pingon autoping server_var(pingid) auto if (server_var(pingon) = 1) do { es_keygetvalue farcount autoping server_var(pingid) far if (server_var(farcount) > 0) then es_cexec server_var(pingid) playgamesound buttons/button17.wav } } } } block playmiddle { es_keygetvalue owned autoping server_var(pingid) owned if (server_var(owned) = 1) do { es est_isalive alive server_var(pingid) if (server_var(alive) = 1) do { es_keygetvalue pingon autoping server_var(pingid) auto if (server_var(pingon) = 1) do { es_keygetvalue middlecount autoping server_var(pingid) middle if (server_var(middlecount) > 0) then es_cexec server_var(pingid) playgamesound buttons/button17.wav } } } } block playnear { es_keygetvalue owned autoping server_var(pingid) owned if (server_var(owned) = 1) do { es est_isalive alive server_var(pingid) if (server_var(alive) = 1) do { es_keygetvalue pingon autoping server_var(pingid) auto if (server_var(pingon) = 1) do { es_keygetvalue nearcount autoping server_var(pingid) near if (server_var(nearcount) > 0) then es_cexec server_var(pingid) playgamesound buttons/button17.wav } } } } block autocheck { es_keygetvalue owned autoping server_var(pingid) owned if (server_var(owned) = 1) do { es est_isalive alive server_var(pingid) if (server_var(alive) = 1) do { es_keygetvalue pingon autoping server_var(pingid) auto if (server_var(pingon) = 1) do { es_xsetinfo farcount 0 es_xsetinfo middlecount 0 es_xsetinfo nearcount 0 es_getplayerteam pingteam server_var(pingid) if (server_var(pingteam) = 2) do { es est_near badboy #ct server_var(far) server_var(pingid) "es_doblock conar/checkfar" es est_near badboy #ct server_var(middle) server_var(pingid) "es_doblock conar/checkmiddle" es est_near badboy #ct server_var(near) server_var(pingid) "es_doblock conar/checknear" } else do { es est_near badboy #t server_var(far) server_var(pingid) "es_doblock conar/checkfar" es est_near badboy #t server_var(middle) server_var(pingid) "es_doblock conar/checkmiddle" es est_near badboy #t server_var(near) server_var(pingid) "es_doblock conar/checknear" } es_keysetvalue autoping server_var(pingid) far server_var(farcount) es_keysetvalue autoping server_var(pingid) middle server_var(middlecount) es_keysetvalue autoping server_var(pingid) near server_var(nearcount) es_math farcount - server_var(middlecount) es_math middlecount - server_var(nearcount) es_tell server_var(pingid) #multi #default server_var(nearcount) #green server_var(middlecount) #lightgreen server_var(farcount) } } } } block checkfar { es est_isalive alive server_var(badboy) if (server_var(alive) = 1) then es_math farcount + 1 } block checkmiddle { es est_isalive alive server_var(badboy) if (server_var(alive) = 1) then es_math middlecount + 1 } block checknear { es est_isalive alive server_var(badboy) if (server_var(alive) = 1) then es_math nearcount + 1 } block buyconar { es_setinfo conar_amx server_var(mani_use_amx_style_menu) mani_use_amx_style_menu 1 es_format buymenu "%1 %2 %3%4 - $%5%6%7 - %8" Purchase Conar? \n 9 server_var(conarprice) \n 0 Cancel es est_showmenu 0 event_var(userid) server_var(buymenu) es mani_use_amx_style_menu server_var(conar_amx) } block handlemenu { if (event_var(commandstring) equalto 9) do { es_xsetinfo takemoney 0 es_math takemoney - server_var(conarprice) es est_cashadd event_var(userid) server_var(takemoney) es_keysetvalue autoping event_var(userid) owned 1 es_keysetvalue autoping event_var(userid) auto 1 es_tell event_var(userid) #multi #defaultSay #green!cp #defaultto toggle Conar } }