4ªUbnutscripts/vscriptsdirector_base_addonÎêSeÿ­êÿÿtxt addoninfoÄàwùÿ­ÿÿ"AddonInfo" { addonSteamAppID 550 addontitle "Improved Fire Damage And Burning" addonVersion "1.0" addonAuthor "Geebanger0" addonDescription "" } burninggeeb <- { burn_threshold = 10 ec = 0 cc = 0 nc = 0 rc = 0 bc = 0 zc = 0 fc = 0 lc = 0 function CfgFileCheck(filename) { local files = FileToString(filename); if(!files) { return false; } return true; } function GenerateBurnCustomiserFile() { local DefaultToggleFile = ""; local CfgToggleFile = [ "//Players are ignited when the amount of fire damage they've recently taken exceeds the burn_threshold. The default value of 10 is good for normal difficulty, but you may want to adjust it depending on which difficulty you play on. A higher value lets players take more damage before being ignited, and they won't be ignited for as long.", "burn_threshold 10", ] foreach (line in CfgToggleFile) { DefaultToggleFile = DefaultToggleFile + line + "\n"; } if(!CfgFileCheck("improved_burning/config.txt")) { StringToFile("improved_burning/config.txt", DefaultToggleFile); printl("No config file found, generating new file"); } } function OnGameEvent_round_start_post_nav(event) { GenerateBurnCustomiserFile(); LoadSpecificConfigFile("improved_burning/config.txt"); } function LoadSpecificConfigFile(filename) { local trigger = 0; local files = FileToString(filename); if(!files) { return trigger; } local toggles = split(files, "\r\n"); foreach(toggle in toggles) { if(toggle && toggle != "") { toggle = strip(toggle); local idx = toggle.find(" "); if (idx != null) { local togglecommand = toggle.slice(0, idx); local togglevalue = toggle.slice(idx + 1); if(togglecommand == "burn_threshold") { DirectorScript.burninggeeb.burn_threshold = togglevalue.tointeger(); } } } } } function OnGameEvent_player_hurt(event) { local player = GetPlayerFromUserID(event.userid); if(player.IsSurvivor()) { if(("type" in event)) { local type = (event.type) if(type == 8 || type == -2147483638) { local damage = (event.dmg_health) local model = player.GetModelName() if(player.GetModelName() == "models/survivors/survivor_mechanic.mdl") { DirectorScript.burninggeeb.ec = DirectorScript.burninggeeb.ec + damage return; } if(player.GetModelName() == "models/survivors/survivor_coach.mdl") { DirectorScript.burninggeeb.cc = DirectorScript.burninggeeb.cc + damage return; } if(player.GetModelName() == "models/survivors/survivor_gambler.mdl") { DirectorScript.burninggeeb.nc = DirectorScript.burninggeeb.nc + damage return; } if(player.GetModelName() == "models/survivors/survivor_producer.mdl") { DirectorScript.burninggeeb.rc = DirectorScript.burninggeeb.rc + damage return; } if(player.GetModelName() == "models/survivors/survivor_namvet.mdl") { DirectorScript.burninggeeb.bc = DirectorScript.burninggeeb.bc + damage return; } if(player.GetModelName() == "models/survivors/survivor_biker.mdl") { DirectorScript.burninggeeb.fc = DirectorScript.burninggeeb.fc + damage return; } if(player.GetModelName() == "models/survivors/survivor_teenangst.mdl") { DirectorScript.burninggeeb.zc = DirectorScript.burninggeeb.zc + damage return; } if(player.GetModelName() == "models/survivors/survivor_manager.mdl") { DirectorScript.burninggeeb.lc = DirectorScript.burninggeeb.lc + damage return; } } } } return null; } function checker(ent) { local model = ent.GetModelName() if(ent.GetModelName() == "models/survivors/survivor_mechanic.mdl") { if(DirectorScript.burninggeeb.ec > DirectorScript.burninggeeb.burn_threshold) { ent.TakeDamage(1, 8, ent) DirectorScript.burninggeeb.ec = DirectorScript.burninggeeb.ec - 1 } if(DirectorScript.burninggeeb.ec > 0) { DirectorScript.burninggeeb.ec = DirectorScript.burninggeeb.ec - 1 } return; } if(ent.GetModelName() == "models/survivors/survivor_coach.mdl") { if(DirectorScript.burninggeeb.cc > DirectorScript.burninggeeb.burn_threshold) { ent.TakeDamage(1, 136, ent) DirectorScript.burninggeeb.cc = DirectorScript.burninggeeb.cc - 1 } if(DirectorScript.burninggeeb.cc > 0) { DirectorScript.burninggeeb.cc = DirectorScript.burninggeeb.cc - 1 } return; } if(ent.GetModelName() == "models/survivors/survivor_gambler.mdl") { if(DirectorScript.burninggeeb.nc > DirectorScript.burninggeeb.burn_threshold) { ent.TakeDamage(1, 136, ent) DirectorScript.burninggeeb.nc = DirectorScript.burninggeeb.nc - 1 } if(DirectorScript.burninggeeb.nc > 0) { DirectorScript.burninggeeb.nc = DirectorScript.burninggeeb.nc - 1 } return; } if(ent.GetModelName() == "models/survivors/survivor_producer.mdl") { if(DirectorScript.burninggeeb.rc > DirectorScript.burninggeeb.burn_threshold) { ent.TakeDamage(1, 136, ent) DirectorScript.burninggeeb.rc = DirectorScript.burninggeeb.rc - 1 } if(DirectorScript.burninggeeb.rc > 0) { DirectorScript.burninggeeb.rc = DirectorScript.burninggeeb.rc - 1 } return; } if(ent.GetModelName() == "models/survivors/survivor_namvet.mdl") { if(DirectorScript.burninggeeb.bc > DirectorScript.burninggeeb.burn_threshold) { ent.TakeDamage(1, 136, ent) DirectorScript.burninggeeb.bc = DirectorScript.burninggeeb.bc - 1 } if(DirectorScript.burninggeeb.bc > 0) { DirectorScript.burninggeeb.bc = DirectorScript.burninggeeb.bc - 1 } return; } if(ent.GetModelName() == "models/survivors/survivor_teenangst.mdl") { if(DirectorScript.burninggeeb.zc > DirectorScript.burninggeeb.burn_threshold) { ent.TakeDamage(1, 136, ent) DirectorScript.burninggeeb.zc = DirectorScript.burninggeeb.zc - 1 } if(DirectorScript.burninggeeb.zc > 0) { DirectorScript.burninggeeb.zc = DirectorScript.burninggeeb.zc - 1 } return; } if(ent.GetModelName() == "models/survivors/survivor_manager.mdl") { if(DirectorScript.burninggeeb.lc > DirectorScript.burninggeeb.burn_threshold) { ent.TakeDamage(1, 136, ent) DirectorScript.burninggeeb.lc = DirectorScript.burninggeeb.lc - 1 } if(DirectorScript.burninggeeb.lc > 0) { DirectorScript.burninggeeb.lc = DirectorScript.burninggeeb.lc - 1 } return; } if(ent.GetModelName() == "models/survivors/survivor_biker.mdl") { if(DirectorScript.burninggeeb.fc > DirectorScript.burninggeeb.burn_threshold) { ent.TakeDamage(1, 136, ent) DirectorScript.burninggeeb.fc = DirectorScript.burninggeeb.fc - 1 } if(DirectorScript.burninggeeb.fc > 0) { DirectorScript.burninggeeb.fc = DirectorScript.burninggeeb.fc - 1 } return; } } function skrillex() { local ent = null while( ent = Entities.FindByClassname(ent, "player")) { if(ent.IsSurvivor()) { DirectorScript.burninggeeb.checker(ent) } } } function OnGameEvent_round_start(params) { g_MapScript.ScriptedMode_AddUpdate(skrillex) } } __CollectGameEventCallbacks(burninggeeb);