//Author: Nathan Dellinger ( _pr0 ) //Version: 1.2 //Summary: Mod that allows the user to disguise themselves //for a certain price; default of $2000. The disguise is lost //when the player takes damage up to 60 health left. block load { //Load up our mod info es_xsetinfo spymod 1 es_xmakepublic spymod es_xmsg Spy Mod loaded! //Set variables for smoke es_xset x 0 es_xset y 0 es_xset z 0 //Setup all the popups needed popup create countert popup addline countert "Cost: $2000" popup addline countert "Choose your counter-terrorist disguise." popup addline countert "1. SEAL TEAM 6" popup addline countert "2. GSG-9" popup addline countert "3. SAS" popup addline countert "4. GIGN" popup addline countert "5. Exit" popup create terrorist popup addline terrorist "Cost: $2000" popup addline terrorist "Choose your terrorist disguise." popup addline terrorist "1. PHEONIX CONNEXION" popup addline terrorist "2. ELITE-CREW" popup addline terrorist "3. ARCTIC AVENGERS" popup addline terrorist "4. GUERILLA WARFARE" popup addline terrorist "5. Exit" popup create error popup addline error "[SpyMod] You are already a spy!" popup addline error "1. Exit" popup create error1 popup addline error1 "[SpyMod] You do not have the money to buy the disguise!" popup addline error1 "1. Exit" popup menuselect countert spy/suit_choice popup menuselect terrorist spy/suit_choice //Use regsaycmd so people do not see the player say !spy es_xregsaycmd !spy spy/spy "Needed so people don't see if you're going to spy or not Wink" //Load our keygroup es_xkeygroupcreate spygroup } block unload { //Unload all our modinfo es_xsetinfo spymod 0 es_xmsg Spy Mod unloaded! es_xkeygroupdelete spygroup } event es_map_start { //Load our keygroup to store whether or not someone is a spy es_xkeygroupdelete spygroup es_xkeygroupcreate spygroup } event player_spawn { //Set all of our keys es_keycreate spygroup event_var(userid) es_keysetvalue spygroup event_var(userid) spy 0 es_keysetvalue spygroup event_var(userid) team event_var(es_userteam) //We need to see what model path he is, so we can revert back if he gets shot es_xset spy_revertskin 0 //Get the skin es_getplayerprop spy_revertskin event_var(userid) CBaseEntity.m_nModelIndex //Set it to a key es_keysetvalue spygroup event_var(userid) revert_skin server_var(spy_revertskin) } event player_hurt { //Was he hurt by a teammate? If not, proceed. if ( event_var(es_userteam) != event_var(es_attackerteam)) do { //Is the victim a spy? es_xset hurt_spy 0 es_keygetvalue hurt_spy spygroup event_var(userid) spy if ( server_var(hurt_spy) == 1) do { //Is the victim's health less than 60? if ( event_var(health) < 60) do { //Get our skin we need to revert to es_keygetvalue spy_revertskin spygroup event_var(userid) revert_skin //Set the model back es_setplayerprop event_var(userid) CBaseEntity.m_nModelIndex server_var(spy_revertskin) //Tell them they're screwed XD es_tell event_var(userid) Your cover has been blown! //Make sure to reset our key value to 0 so if he gets shot again //he is not considered a spy es_keysetvalue spygroup event_var(userid) spy 0 } } } } //Block responsible for sending menu to the user block spy { es_xsetinfo speaker 0 //Get our id so we know who to send to es_xgetcmduserid speaker //Get our team so we know which menu to send es_xsetinfo spyteam 0 es_keygetvalue spyteam spygroup server_var(speaker) team //Selection for sending menus 2 = terrorist team and 3 = ct if ( server_var(spyteam) == 2) do { es popup send countert server_var(speaker) } if ( server_var(spyteam) == 3) do { es popup send terrorist server_var(speaker) } } //Block that evaluates their disguise choice and supplies the path for the model block suit_choice { //Disguise is 1 so either SEAL TEAM 6 or PHEONIX CONNEXION if ( server_var(_popup_choice) == 1) do { //If our team is ct then do SEAL TEAM 6 if ( server_var(spyteam) == 2) do { es_xset spy_skinpath "player/ct_urban" } //They must have chosen to so do PHEONIX CONNEXION else do { es_xset spy_skinpath "player/t_phoenix" } es_xdoblock spy/moneycheck } //Same pattern for the rest of these statements if ( server_var(_popup_choice) == 2) do { if ( server_var(spyteam) == 2) do { es_xset spy_skinpath "player/ct_gsg9" } else do { es_xset spy_skinpath "player/t_leet" } es_xdoblock spy/moneycheck } if ( server_var(_popup_choice) == 3) do { if ( server_var(spyteam) == 2) do { es_xset spy_skinpath "player/ct_sas" } else do { es_xset spy_skinpath "player/t_arctic" } es_xdoblock spy/moneycheck } if ( server_var(_popup_choice) == 4) do { if ( server_var(spyteam) == 2) do { es_xset spy_skinpath "player/ct_gign" } else do { es_xset spy_skinpath "player/t_guerilla" } es_xdoblock spy/moneycheck } } block moneycheck { //Got money? es_xset cash_amount 0 es playerget cash cash_amount server_var(_popup_userid) if ( server_var(cash_amount) < 2000) do { //Rejected!! es popup send error1 server_var(_popup_userid) } else do { es_xdoblock spy/morph } } block morph { //Is our user already a spy? es_xset is_spy 0 es_keygetvalue is_spy spygroup server_var(_popup_userid) spy es_set user_id server_var(_popup_userid) if ( server_var(is_spy) == 0) do { //Not already spy, change the model and do a cool puff of smoke es playerset model server_var(user_id) server_var(spy_skinpath) //We need the location of the player es playerget location server_var(user_id) x y z es est_effect 07 server_var(user_id) 0 "sprites/smoke.vmt" server_var(x) server_var(y) server_var(z) 30 25 //Subtract Money es playerset cashadd server_var(user_id) -2000 //Tell them they are disguised es_tell server_var(user_id) #green [SpyMod] You are now disguised. //Set key value to spy es_keysetvalue spygroup server_var(user_id) spy 1 } else do { //Already a spy, send an error popup es popup send error server_var(user_id) } }