123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372 |
- #include <amxmodx>
- #include <amxmisc>
- #include <engine>
- #define PLUGIN "MeckV Addon"
- #define VERSION "1.1"
- #define AUTHOR "Fjmaps AKA Funjob"
- new currentfog = 1 //Current Fog is set to 1 to make it so "Day" mode is defult.
- new outdoorlightstate = 0 //Sets the current state of the outdoor lights. "1" is on.
- //new rainboxstate = 0 //Sets state of the door that breaks the rain.
- //new rainboxlip = 0
- new lightstate[0] = 'f'
- new initalconfig = 0
- new currenttime
- new daytime = 1
- public client_spawn(id)
- {
- client_print(id,print_console,"[MeckVmod] Fog is now set to %s!",currentfog)
- client_cmd(id,"gl_fog %s",currentfog)
- client_cmd(id,"r_detailtextures 1")
- }
- public client_putinserver(id) //Refreshes fog on all clients upon a client joinin
- {
- //client_print(0,print_console,"[MeckVmod] Fog is now set to %s!",currentfog)
- gl_refresh()
-
- if (initalconfig == 0 ) //Had some entities that needed to be used and no id.
- {
- force_use(id,find_ent_by_tname(-1,"indoorlights"))
- outdoorlightstate = 0
-
- currentfog = 1
-
- //remove_entity( find_ent_by_tname(-1,"armory_2_1") )
- //remove_entity( find_ent_by_class(-1,"ts_groundweapon") )
- //remove_entity( find_ent_by_tname(-1,"armory_3_1") )
- //remove_entity( find_ent_by_tname(-1,"wawaclerk") )
- if(get_cvar_num("amx_removefgt") == 1 ) remove_entity( find_ent_by_tname(-1,"wawaclerk") )
-
- for(new i = 0; i < entity_count() ; i++)
- {
- if(!is_valid_ent(i)) continue
- new text[32]
- entity_get_string(i,EV_SZ_targetname,text,31)
- if( equali(text,"indoorsprites" ) )
- {
- force_use(id, i)
- }
- initalconfig =1 //Make sure this doesn't get used again.
- }
-
- if(get_cvar_num("amx_timetype") > 0) //Used for servers that want to have this automatic
- {
- get_cvar_string("amx_startingtime",lightstate,1)
- new timelength = get_cvar_float("amx_timetype")
- set_task(timelength,"timetick",0,"",0,"b")
- server_print("[MeckVmod] Map timer set to %f s increments!",timelength)
- server_print("[MeckVmod] Automatic timer mode engaged!")
- }
- else
- {
- set_task(30.0,"gl_refresh",0,"",0,"b") //Refreshes the clients skybox/detail
- //server_print("[MeckVmod] Automatic timer mode disabled!")
- }
- }
- return PLUGIN_HANDLED
- }
- public plugin_init() {
- register_plugin(PLUGIN, VERSION, AUTHOR)
-
- register_clcmd("amx_setlights","setlights",ADMIN_IMMUNITY,"<a-z> - Sets the brightness of the outdoor lights, Z - Brightest");
- register_clcmd("amx_togglefog","togglefog",ADMIN_IMMUNITY,"Toggles gl_fog 1/0 on clients, used for night time effect.")
- register_clcmd("amx_toggleoutdoorlights","toggleoutdoorlights",ADMIN_IMMUNITY,"Toggles the outdoor lights on/off")
- register_clcmd("amx_toggleday","toggleday",ADMIN_BAN,"<0-24> - Sets the time of the map")
- register_clcmd("amx_togglerain","togglerain",ADMIN_BAN,"<0-100> - Sets the ammount of the rain")
- register_clcmd("amx_toggleindoorlights", "toggleindoorlights", ADMIN_IMMUNITY,"Toggles the indoor lights on/off")
- //register_clcmd("gl_fog","refreshfog")
- //register_clcmd("amx_addnpc", "addnpc, ADMIN_IMMUNITY,"<1-3 ModelID>,<x>,<y>,<z>")
- //register_clcmd("amx_togglenpcs", "togglenpc", ADMIN_IMMUNITY,"Tuns on and off the NPCs in the map")
-
- register_cvar("amx_timetype","0.0")
- register_cvar("amx_removefgt", "0")
- register_cvar("amx_startingtime","f")
-
-
- new currentmap[12]
- get_mapname(currentmap,12)
-
- if( !equali("MecklenburgV",currentmap) )
- {
- //server_print("Mapname is: %s",currentmap)
- server_print("[MeckVmod] Fatal Error: The Server is not running any MecklenburgV Version!^n")
- server_print("[MeckVmod] Be sure the map is named 'MecklenburgV before trying to run this plugin!^n")
- //server_print("[MeckVmod] It's case sensitive by the way.^n")
- pause("d","MecklenburgV_Final.amxx")
- }
- if( equali("MecklenburgV_Final",currentmap) )
- {
- //server_print("Mapname is: %s",currentmap)
- server_print("[MeckVMod] Loaded Correctly!^n")
- server_print("Mecklenburg V Final plugin and map made by ^nShane 'Fjmaps' Spies, AKA Shaun 'Funjob' Virgilio")
- server_print("Valid commands for the plugin can be found in the documentation bundled with the download^n====================")
- server_print("http://Fjmaps.com^n=================")
- server_print("MecklenburgV_Final Mode V1.0")
- server_cmd("exec maps/MecklenburgV_Final.cfg")
- }
- else
- {
- //server_print("Mapname is: %s",currentmap)
- server_print("[MeckVMod] Loaded Correctly!^n")
- server_print("Mecklenburg V Final plugin and map made by ^nShane 'Fjmaps' Spies, AKA Shaun 'Funjob' Virgilio")
- server_print("Valid commands for the plugin can be found in the documentation bundled with the download^n====================")
- server_print("http://Fjmaps.com^n=================")
- server_cmd("exec maps/MecklenburgV.cfg")
- }
-
- return PLUGIN_HANDLED
- }
- public timetick()
- {
- //new templightstate = str_to_num("lightstate")
-
- if (daytime == 1)
- {
- lightstate[0]++
- if (equal(lightstate,"m",1))
- {
- daytime = 0
- }
- //server_print("[MeckVmod] Current daytime is %d",daytime)
- }
- else if (daytime == 0)
- {
- lightstate[0]--
- if (equal(lightstate,"a",1))
- {
- daytime = 2
- }
- //server_print("[MeckVmod] Current daytime is %d",daytime)
- }
- else if(daytime >= 2 && daytime < 8)
- {
- daytime++
- }
- else if(daytime >=8)
- {
- daytime = 1
- }
-
- if (equal(lightstate,"c",1))
- {
- server_cmd("amx_togglefog")
- }
-
- if (equal(lightstate,"f",1))
- {
- server_cmd("amx_toggleoutdoorlights")
- }
-
- server_cmd("amx_setlights %s", lightstate[0])
- server_print("[MeckVmod] Current time is now %s",lightstate[0])
- gl_refresh()
-
- }
- //Refreshes the fog and detail textures clientside.
- public gl_refresh()
- {
- client_cmd(0,"gl_fog %d",currentfog)
- client_cmd(0,"r_detailtextures 1")
-
- //Some debugging lines
- //server_print("[MeckVMod] Graphical refresh has been executed on all clients")
- }
- public refreshfog(id)
- {
- client_cmd(id,"gl_fog %d",currentfog)
- return PLUGIN_HANDLED
- }
- //Toggles the indoor lights on and off. (The ones not connected to switches anyways.)
- public toggleindoorlights(id,level,cid)
- {
- if(!cmd_access(id,level,cid,1))
- {
- return PLUGIN_HANDLED
- }
-
- force_use(id,find_ent_by_tname(id,"toggle_indoor_lights"))
- client_print(id,print_console,"[MeckVmod] The indoor lights have been toggled on/off.")
- return PLUGIN_HANDLED
- }
- //Turns the streetlights on and off.
- public toggleoutdoorlights(id,level,cid)
- {
- if(!cmd_access(id,level,cid,1))
- {
- return PLUGIN_HANDLED
- }
-
- force_use(id,find_ent_by_tname(-1,"toggle_outdoor_lights"))
-
- if (outdoorlightstate == 1) //toggles the state of the lights.
- {
- outdoorlightstate = 0
- client_print(id,print_console,"[MeckVmod] The street lights have been turned off.")
- }
- else
- {
- outdoorlightstate = 1
- client_print(id,print_console,"[MeckVmod] The street lights have been turned on.")
- }
-
- return PLUGIN_HANDLED
- }
- //Toggles the door "control_rain" to stop the rain, and toggles the rain sound.
- public togglerain(id,level,cid)
- {
- if(!cmd_access(id,level,cid,1))
- {
- return PLUGIN_HANDLED
- }
- force_use(id,find_ent_by_tname(-1,"control_rain")) //Set lip of rain Max of 100
- force_use(id,find_ent_by_tname(-1, "rain_snd"))
-
- client_print(id, print_console,"[MeckVmod] The rain has been toggled off/on.")
-
- return PLUGIN_HANDLED
- }
- //Sets the unnamed lights in the map a certain brightness, A-Darkest
- public setlights(id,level,cid)
- {
- if(!cmd_access(id,level,cid,1))
- {
- return PLUGIN_HANDLED
- }
-
- new arg[1]
- read_argv(1,arg,1)
- set_lights(arg)
-
- lightstate[0] = arg[0]
-
- client_print(id,print_console,"[MeckVmod] Lights are now set to %s",arg[0])
-
- return PLUGIN_HANDLED
- }
-
- //Toggles the gl_fog 1/0.
- public togglefog(id,level,cid)
- {
- if(!cmd_access(id,level,cid,1))
- {
- return PLUGIN_HANDLED
- }
-
- if ( currentfog == 0 )
- {
- client_cmd(0,"gl_fog 1")
- currentfog = 1
- }
- else
- {
- client_cmd(0,"gl_fog 0")
- currentfog = 0
- }
- client_print(id,print_console,"[MeckVmod] Fog is now set to %i!",currentfog)
- return PLUGIN_HANDLED
- }
- //Sets the Fog, streetlights, and unnamed lights to simulate day or night.
- public toggleday(id,level,cid)
- {
- if(!cmd_access(id,level,cid,1))
- {
- return PLUGIN_HANDLED
- }
-
- if (currenttime == 0)
- {
- currenttime = 1
-
- //Sets the fog
- currentfog = 0
- client_cmd(0,"gl_fog 0")
- client_print(id,print_console,"[MeckVmod] Fog is now set to 0.")
-
- //Sets the lights to A(off)
- set_lights("a")
- lightstate[0] = 'a'
- client_print(id,print_console,"[MeckVmod] Lights are now set to A.")
-
- //Sets the outdoor lights.
- if(outdoorlightstate == 0)
- {
- force_use(id,find_ent_by_tname(-1,"toggle_outdoor_lights"))
-
- outdoorlightstate = 1
- }
- client_print(id,print_console,"[MeckVmod] MecklenburgV has switched to 'Nightmode'.")
- }
- else
- {
- currenttime = 0
-
- //Sets the fog
- currentfog = 1
- client_cmd(0,"gl_fog 1")
- client_print(id,print_console,"[MeckVmod] Fog is now set to 1.")
-
- //Sets the lights to Z
- set_lights("m")
- lightstate[0] = 'm'
- client_print(id,print_console,"[MeckVmod] Lights are now set to M.")
-
- //Sets the outdoor lights.
- if(outdoorlightstate == 1)
- {
- force_use(id,find_ent_by_tname(-1,"toggle_outdoor_lights"))
- }
- client_print(id,print_console,"[MeckVmod] MecklenburgV has switched to 'Daymode'.")
- }
- return PLUGIN_HANDLED
- }
-
- /*
- <23:59:43> "Kilroy Higgins"
- : Steven's Storage -305 -1157 -411
- <23:59:49> "Kilroy Higgins"
- : Term's -131 -1652 -411
- <23:59:58> "Kilroy Higgins"
- : McDonalds -202 -1569 -215
- <00:00:09> "Kilroy Higgins"
- : MCMD1 1387 -1183 -379
- <00:00:17> "Kilroy Higgins"
- : MCMD2 1300 -1183 -379
- <00:00:36> "Kilroy Higgins"
- : Bar -28 -544 -411
- <00:00:55> "Kilroy Higgins"
- : bank right 583 888 -347
- <00:01:01> "Kilroy Higgins"
- : bank middle 484 888 -347
- <00:01:08> "Kilroy Higgins"
- : bank left 393 888 -344
- <00:01:15> "Kilroy Higgins"
- : vlado's -79 495 -379
- <00:01:23> "Kilroy Higgins"
- : Cinro's -2360 1029 -403
- <00:01:34> "Kilroy Higgins"
- : Gunshop -2473 647 -507
- <00:01:47> "Kilroy Higgins"
- : hotel -832 -672 -395
- <00:01:59> "Kilroy Higgins"
- : wagnaria -2368 -1218 -411
- <00:02:08> "Kilroy Higgins"
- : Harbu sign -1053 626 507
- */
|