New at Coding this crap, my code is sloppy and there is probably a faster or shorter way of doing this but...
I have updated and edited the original code to work how intended:
sv_daylightchange turns on the timer to allow auto changing between light settings
dl_lightchange Is the frequency that the lighting is changed. (default 60)
sv_daylightchangestart This tells the pluggin where to start (1 very bright, 24 very dark
The transition is as smooth as its going to get.
The only problem is this
Code:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <string>
public changelights(id,level,cid)
{
if (!cmd_access(id,level,cid,0))
return PLUGIN_CONTINUE
new arg[3]
read_argv(1,arg,2)
new inum = str_to_num(arg)
if (inum < 1 || inum > 26 )
return PLUGIN_HANDLED
setLight( inum )
console_print(id,"[AMXX] Light Change Successful.")
return PLUGIN_HANDLED
}
public setLight ( level )
{
new szLights[2]
switch( level )
{
case 1:szLights = "a"
case 2:szLights = "b"
case 3:szLights = "c"
case 4:szLights = "d"
case 5:szLights = "e"
case 6:szLights = "f"
case 7:szLights = "g"
case 8:szLights = "h"
case 9:szLights = "i"
case 10:szLights = "j"
case 11:szLights = "k"
case 12:szLights = "l"
case 13:szLights = "m"
case 14:szLights = "n"
case 15:szLights = "o"
case 16:szLights = "p"
case 17:szLights = "q"
case 18:szLights = "r"
case 19:szLights = "s"
case 20:szLights = "t"
case 21:szLights = "u"
case 22:szLights = "v"
case 23:szLights = "w"
case 24:szLights = "x"
case 25:szLights = "y"
case 26:szLights = "z"
default:szLights = "m"
}
set_lights(szLights)
}
public updatelights() {
if ( !get_cvar_num("sv_daylightchange") )
return PLUGIN_CONTINUE
new setstring=get_cvar_num("sv_daylightchangestart")
new szLights[2]="b"
new iHours=(setstring+1)
switch(iHours){
case 0:szLights = "b"
case 1:szLights = "c"
case 2:szLights = "d"
case 3:szLights = "e"
case 4:szLights = "f"
case 5:szLights = "g"
case 6:szLights = "h"
case 7:szLights = "i"
case 8:szLights = "j"
case 9:szLights = "k"
case 10:szLights = "l"
case 11:szLights = "m"
case 12:szLights = "n"
case 13:szLights = "o"
case 14:szLights = "p"
case 15:szLights = "q"
case 16:szLights = "r"
case 17:szLights = "s"
case 18:szLights = "t"
case 19:szLights = "u"
case 20:szLights = "v"
case 21:szLights = "w"
case 22:szLights = "x"
case 23:szLights = "y"
case 24:szLights = "z"
case 25:szLights = "z"
case 26:szLights = "y"
case 27:szLights = "x"
case 28:szLights = "w"
case 29:szLights = "v"
case 30:szLights = "u"
case 31:szLights = "t"
case 32:szLights = "s"
case 33:szLights = "r"
case 34:szLights = "q"
case 35:szLights = "p"
case 36:szLights = "o"
case 37:szLights = "n"
case 38:szLights = "m"
case 39:szLights = "l"
case 40:szLights = "k"
case 41:szLights = "j"
case 42:szLights = "i"
case 43:szLights = "h"
case 44:szLights = "g"
case 45:szLights = "f"
case 46:szLights = "e"
case 47:szLights = "d"
case 48:szLights = "c"
case 49:szLights = "b"
default:szLights = "b"
}
if (iHours>48){
iHours=0
}
set_lights(szLights)
set_cvar_num("sv_daylightchangestart", iHours)
new Float:dllc=get_cvar_num("dl_lightchange")
if (dllc>0.0) set_task(dllc, "updatelights")
return PLUGIN_CONTINUE
}
public plugin_init()
{
register_plugin("Daylight Changer","1","Emanon")
register_concmd("amx_setlight","changelights",ADMIN_RCON," 0 ( Dark ) to 26 ( ExtraLight )")
register_cvar("sv_daylightchange", "1")
register_cvar("dl_lightchange", "60")
register_cvar("sv_daylightchangestart", "6")
return PLUGIN_CONTINUE
}
error on
if (dllc>0.0) set_task(dllc, "updatelights")
Tag mismatch, help me!