[HELP] Enable or disable plugins
-
Is there a way to enable or disable the dlls that I put in %localappdata%/plutonium/storage/iw5/plugins depending on the game mode
-
Is there a way to enable or disable the dlls that I put in %localappdata%/plutonium/storage/iw5/plugins depending on the game mode
the_bad_boy I don't think it's possible, since plugins are loaded on server startup, not like scripts that are loaded on every map rotation.
-
the_bad_boy I don't think it's possible, since plugins are loaded on server startup, not like scripts that are loaded on every map rotation.
Kalitos does that mean that the scripts can be uploaded and downloaded?
-
Kalitos does that mean that the scripts can be uploaded and downloaded?
the_bad_boy Well, which is what you want to do, it sounds more like you use a script instead of a plugin.
-
Kalitos does that mean that the scripts can be uploaded and downloaded?
the_bad_boy And yes, with a script, you can, based on variables, determine if it runs in a game mode or not.
-
the_bad_boy And yes, with a script, you can, based on variables, determine if it runs in a game mode or not.
Kalitos ok I have the Cranked script and I want it to run in TDM_default how would it be?
-
Kalitos ok I have the Cranked script and I want it to run in TDM_default how would it be?
the_bad_boy You could use in such a way that you compare the game mode.
if(getDvar("g_gametype")=="war") //If is TDM mode { //load the script here }
-
the_bad_boy You could use in such a way that you compare the game mode.
if(getDvar("g_gametype")=="war") //If is TDM mode { //load the script here }
Kalitos so it should be like this?
if(getDvar("g_gametype")=="war") //If is TDM mode { #include maps\mp\_utility; #include common_scripts\utility; #include maps\mp\gametypes\_hud_util; /** IW5 Cranked. Updated: 14/06/2021. Version: 1.0. Author: Birchy. Description: IW5 custom script that adds 'cranked' behaviour present in other titles. Works for every gamemode. */ init(){ level.crankedtime = 20; level.crankedoverlay = 0.25; level thread connect(); } connect(){ for(;;){ level waittill("connected", player); player thread cranked(); } } cranked(){ self endon("disconnect"); self.crankedhud[0] = drawshader("white", "TOP", "CENTER", -190, 90, 75, 25, (0.6,0.8,0.6), 0, 1); self.crankedhud[1] = drawshader("white", "TOP", "CENTER", -190, 115, 75, 10, (0,0,0), 0, 1); self.crankedhud[2] = drawtext(&"0:", "TOP", "CENTER", -190, 90, 1, "bigfixed", (1,1,1), 0, 2); self.crankedhud[3] = drawtext(&"CRANKED", "TOP", "CENTER", -190, 114, 1, "objective", (1,1,1), 0, 2); self.crankedhud[4] = drawoverlay(); for(;;){ event = self waittill_any_return("death", "spawned_player", "killed_enemy"); if(event == "killed_enemy"){ self effects(); self display(true); self thread timer(); }else{ self display(false); } } } timer(){ self endon("disconnect"); self endon("death"); self endon("killed_enemy"); time = level.crankedtime; self.crankedhud[2] setvalue(time); self.crankedhud[2].color = (1,1,1); self.crankedhud[2].label = &"0:"; //TODO: Including milliseconds would probably look nice. while(time != 0){ wait 1; time -= 1; self.crankedhud[2] setvalue(time); self playlocalsound("trophy_detect_projectile"); if(time < 10){ self.crankedhud[2].label = &"0:0"; if(time <= 5 && time != 0){ self.crankedhud[2].color = (0.8,0.2,0.2); self playsound("ui_mp_suitcasebomb_timer"); } } } self playsound("detpack_explo_default"); playfx(level.c4death, self.origin); self suicide(); } effects(){ self setperk("specialty_fastermelee", true, false); self setperk("specialty_lightweight", true, false); self setperk("specialty_fastreload", true, false); self setperk("specialty_longersprint", true, false); self setperk("specialty_quickdraw", true, false); self setperk("specialty_stalker", true, false); self setperk("specialty_fastsprintrecovery", true, false); self setperk("specialty_fastoffhand", true, false); self setperk("specialty_quickswap", true, false); self.movespeedscalar = 1.2; self maps\mp\gametypes\_weapons::updateMoveSpeedScale(); } display(visible){ if(visible){ self.crankedhud[0].alpha = 0.5; self.crankedhud[1].alpha = 0.5; self.crankedhud[2].alpha = 1; self.crankedhud[3].alpha = 1; self.crankedhud[4].alpha = level.crankedoverlay; }else{ self.crankedhud[0].alpha = 0; self.crankedhud[1].alpha = 0; self.crankedhud[2].alpha = 0; self.crankedhud[3].alpha = 0; self.crankedhud[4].alpha = 0; } } drawtext(text, align, relative, x, y, fontscale, font, color, alpha, sort){ element = self createfontstring(font, fontscale); element setpoint(align, relative, x, y); element.label = text; element.hidewheninmenu = true; element.color = color; element.alpha = alpha; element.sort = sort; element.hidden = true; return element; } drawshader(shader, align, relative, x, y, width, height, color, alpha, sort){ element = newclienthudelem(self); element.elemtype = "icon"; element.hidewheninmenu = true; element.shader = shader; element.width = width; element.height = height; element.align = align; element.relative = relative; element.xoffset = 0; element.yoffset = 0; element.children = []; element.sort = sort; element.color = color; element.alpha = alpha; element setparent(level.uiparent); element setshader(shader, width, height); element setpoint(align, relative, x, y); return element; } drawoverlay(){ element = newclienthudelem(self); element.x = 0; element.y = 0; element.alignX = "left"; element.alignY = "top"; element.horzAlign = "fullscreen"; element.vertAlign = "fullscreen"; element setshader ("combathigh_overlay", 640, 480); element.sort = -10; element.alpha = 0; element.color = (0,1,0); return element; } }
-
Kalitos so it should be like this?
if(getDvar("g_gametype")=="war") //If is TDM mode { #include maps\mp\_utility; #include common_scripts\utility; #include maps\mp\gametypes\_hud_util; /** IW5 Cranked. Updated: 14/06/2021. Version: 1.0. Author: Birchy. Description: IW5 custom script that adds 'cranked' behaviour present in other titles. Works for every gamemode. */ init(){ level.crankedtime = 20; level.crankedoverlay = 0.25; level thread connect(); } connect(){ for(;;){ level waittill("connected", player); player thread cranked(); } } cranked(){ self endon("disconnect"); self.crankedhud[0] = drawshader("white", "TOP", "CENTER", -190, 90, 75, 25, (0.6,0.8,0.6), 0, 1); self.crankedhud[1] = drawshader("white", "TOP", "CENTER", -190, 115, 75, 10, (0,0,0), 0, 1); self.crankedhud[2] = drawtext(&"0:", "TOP", "CENTER", -190, 90, 1, "bigfixed", (1,1,1), 0, 2); self.crankedhud[3] = drawtext(&"CRANKED", "TOP", "CENTER", -190, 114, 1, "objective", (1,1,1), 0, 2); self.crankedhud[4] = drawoverlay(); for(;;){ event = self waittill_any_return("death", "spawned_player", "killed_enemy"); if(event == "killed_enemy"){ self effects(); self display(true); self thread timer(); }else{ self display(false); } } } timer(){ self endon("disconnect"); self endon("death"); self endon("killed_enemy"); time = level.crankedtime; self.crankedhud[2] setvalue(time); self.crankedhud[2].color = (1,1,1); self.crankedhud[2].label = &"0:"; //TODO: Including milliseconds would probably look nice. while(time != 0){ wait 1; time -= 1; self.crankedhud[2] setvalue(time); self playlocalsound("trophy_detect_projectile"); if(time < 10){ self.crankedhud[2].label = &"0:0"; if(time <= 5 && time != 0){ self.crankedhud[2].color = (0.8,0.2,0.2); self playsound("ui_mp_suitcasebomb_timer"); } } } self playsound("detpack_explo_default"); playfx(level.c4death, self.origin); self suicide(); } effects(){ self setperk("specialty_fastermelee", true, false); self setperk("specialty_lightweight", true, false); self setperk("specialty_fastreload", true, false); self setperk("specialty_longersprint", true, false); self setperk("specialty_quickdraw", true, false); self setperk("specialty_stalker", true, false); self setperk("specialty_fastsprintrecovery", true, false); self setperk("specialty_fastoffhand", true, false); self setperk("specialty_quickswap", true, false); self.movespeedscalar = 1.2; self maps\mp\gametypes\_weapons::updateMoveSpeedScale(); } display(visible){ if(visible){ self.crankedhud[0].alpha = 0.5; self.crankedhud[1].alpha = 0.5; self.crankedhud[2].alpha = 1; self.crankedhud[3].alpha = 1; self.crankedhud[4].alpha = level.crankedoverlay; }else{ self.crankedhud[0].alpha = 0; self.crankedhud[1].alpha = 0; self.crankedhud[2].alpha = 0; self.crankedhud[3].alpha = 0; self.crankedhud[4].alpha = 0; } } drawtext(text, align, relative, x, y, fontscale, font, color, alpha, sort){ element = self createfontstring(font, fontscale); element setpoint(align, relative, x, y); element.label = text; element.hidewheninmenu = true; element.color = color; element.alpha = alpha; element.sort = sort; element.hidden = true; return element; } drawshader(shader, align, relative, x, y, width, height, color, alpha, sort){ element = newclienthudelem(self); element.elemtype = "icon"; element.hidewheninmenu = true; element.shader = shader; element.width = width; element.height = height; element.align = align; element.relative = relative; element.xoffset = 0; element.yoffset = 0; element.children = []; element.sort = sort; element.color = color; element.alpha = alpha; element setparent(level.uiparent); element setshader(shader, width, height); element setpoint(align, relative, x, y); return element; } drawoverlay(){ element = newclienthudelem(self); element.x = 0; element.y = 0; element.alignX = "left"; element.alignY = "top"; element.horzAlign = "fullscreen"; element.vertAlign = "fullscreen"; element setshader ("combathigh_overlay", 640, 480); element.sort = -10; element.alpha = 0; element.color = (0,1,0); return element; } }
Kalitos No, the conditional must go inside the init() function.
#include maps\mp\_utility; #include common_scripts\utility; #include maps\mp\gametypes\_hud_util; /** IW5 Cranked. Updated: 14/06/2021. Version: 1.0. Author: Birchy. Description: IW5 custom script that adds 'cranked' behaviour present in other titles. Works for every gamemode. */ init(){ if(getDvar("g_gametype")=="war") //If is TDM mode { level.crankedtime = 20; level.crankedoverlay = 0.25; level thread connect(); } } connect(){ for(;;){ level waittill("connected", player); player thread cranked(); } } cranked(){ self endon("disconnect"); self.crankedhud[0] = drawshader("white", "TOP", "CENTER", -190, 90, 75, 25, (0.6,0.8,0.6), 0, 1); self.crankedhud[1] = drawshader("white", "TOP", "CENTER", -190, 115, 75, 10, (0,0,0), 0, 1); self.crankedhud[2] = drawtext(&"0:", "TOP", "CENTER", -190, 90, 1, "bigfixed", (1,1,1), 0, 2); self.crankedhud[3] = drawtext(&"CRANKED", "TOP", "CENTER", -190, 114, 1, "objective", (1,1,1), 0, 2); self.crankedhud[4] = drawoverlay(); for(;;){ event = self waittill_any_return("death", "spawned_player", "killed_enemy"); if(event == "killed_enemy"){ self effects(); self display(true); self thread timer(); }else{ self display(false); } } } timer(){ self endon("disconnect"); self endon("death"); self endon("killed_enemy"); time = level.crankedtime; self.crankedhud[2] setvalue(time); self.crankedhud[2].color = (1,1,1); self.crankedhud[2].label = &"0:"; //TODO: Including milliseconds would probably look nice. while(time != 0){ wait 1; time -= 1; self.crankedhud[2] setvalue(time); self playlocalsound("trophy_detect_projectile"); if(time < 10){ self.crankedhud[2].label = &"0:0"; if(time <= 5 && time != 0){ self.crankedhud[2].color = (0.8,0.2,0.2); self playsound("ui_mp_suitcasebomb_timer"); } } } self playsound("detpack_explo_default"); playfx(level.c4death, self.origin); self suicide(); } effects(){ self setperk("specialty_fastermelee", true, false); self setperk("specialty_lightweight", true, false); self setperk("specialty_fastreload", true, false); self setperk("specialty_longersprint", true, false); self setperk("specialty_quickdraw", true, false); self setperk("specialty_stalker", true, false); self setperk("specialty_fastsprintrecovery", true, false); self setperk("specialty_fastoffhand", true, false); self setperk("specialty_quickswap", true, false); self.movespeedscalar = 1.2; self maps\mp\gametypes\_weapons::updateMoveSpeedScale(); } display(visible){ if(visible){ self.crankedhud[0].alpha = 0.5; self.crankedhud[1].alpha = 0.5; self.crankedhud[2].alpha = 1; self.crankedhud[3].alpha = 1; self.crankedhud[4].alpha = level.crankedoverlay; }else{ self.crankedhud[0].alpha = 0; self.crankedhud[1].alpha = 0; self.crankedhud[2].alpha = 0; self.crankedhud[3].alpha = 0; self.crankedhud[4].alpha = 0; } } drawtext(text, align, relative, x, y, fontscale, font, color, alpha, sort){ element = self createfontstring(font, fontscale); element setpoint(align, relative, x, y); element.label = text; element.hidewheninmenu = true; element.color = color; element.alpha = alpha; element.sort = sort; element.hidden = true; return element; } drawshader(shader, align, relative, x, y, width, height, color, alpha, sort){ element = newclienthudelem(self); element.elemtype = "icon"; element.hidewheninmenu = true; element.shader = shader; element.width = width; element.height = height; element.align = align; element.relative = relative; element.xoffset = 0; element.yoffset = 0; element.children = []; element.sort = sort; element.color = color; element.alpha = alpha; element setparent(level.uiparent); element setshader(shader, width, height); element setpoint(align, relative, x, y); return element; } drawoverlay(){ element = newclienthudelem(self); element.x = 0; element.y = 0; element.alignX = "left"; element.alignY = "top"; element.horzAlign = "fullscreen"; element.vertAlign = "fullscreen"; element setshader ("combathigh_overlay", 640, 480); element.sort = -10; element.alpha = 0; element.color = (0,1,0); return element; }
-
Kalitos No, the conditional must go inside the init() function.
#include maps\mp\_utility; #include common_scripts\utility; #include maps\mp\gametypes\_hud_util; /** IW5 Cranked. Updated: 14/06/2021. Version: 1.0. Author: Birchy. Description: IW5 custom script that adds 'cranked' behaviour present in other titles. Works for every gamemode. */ init(){ if(getDvar("g_gametype")=="war") //If is TDM mode { level.crankedtime = 20; level.crankedoverlay = 0.25; level thread connect(); } } connect(){ for(;;){ level waittill("connected", player); player thread cranked(); } } cranked(){ self endon("disconnect"); self.crankedhud[0] = drawshader("white", "TOP", "CENTER", -190, 90, 75, 25, (0.6,0.8,0.6), 0, 1); self.crankedhud[1] = drawshader("white", "TOP", "CENTER", -190, 115, 75, 10, (0,0,0), 0, 1); self.crankedhud[2] = drawtext(&"0:", "TOP", "CENTER", -190, 90, 1, "bigfixed", (1,1,1), 0, 2); self.crankedhud[3] = drawtext(&"CRANKED", "TOP", "CENTER", -190, 114, 1, "objective", (1,1,1), 0, 2); self.crankedhud[4] = drawoverlay(); for(;;){ event = self waittill_any_return("death", "spawned_player", "killed_enemy"); if(event == "killed_enemy"){ self effects(); self display(true); self thread timer(); }else{ self display(false); } } } timer(){ self endon("disconnect"); self endon("death"); self endon("killed_enemy"); time = level.crankedtime; self.crankedhud[2] setvalue(time); self.crankedhud[2].color = (1,1,1); self.crankedhud[2].label = &"0:"; //TODO: Including milliseconds would probably look nice. while(time != 0){ wait 1; time -= 1; self.crankedhud[2] setvalue(time); self playlocalsound("trophy_detect_projectile"); if(time < 10){ self.crankedhud[2].label = &"0:0"; if(time <= 5 && time != 0){ self.crankedhud[2].color = (0.8,0.2,0.2); self playsound("ui_mp_suitcasebomb_timer"); } } } self playsound("detpack_explo_default"); playfx(level.c4death, self.origin); self suicide(); } effects(){ self setperk("specialty_fastermelee", true, false); self setperk("specialty_lightweight", true, false); self setperk("specialty_fastreload", true, false); self setperk("specialty_longersprint", true, false); self setperk("specialty_quickdraw", true, false); self setperk("specialty_stalker", true, false); self setperk("specialty_fastsprintrecovery", true, false); self setperk("specialty_fastoffhand", true, false); self setperk("specialty_quickswap", true, false); self.movespeedscalar = 1.2; self maps\mp\gametypes\_weapons::updateMoveSpeedScale(); } display(visible){ if(visible){ self.crankedhud[0].alpha = 0.5; self.crankedhud[1].alpha = 0.5; self.crankedhud[2].alpha = 1; self.crankedhud[3].alpha = 1; self.crankedhud[4].alpha = level.crankedoverlay; }else{ self.crankedhud[0].alpha = 0; self.crankedhud[1].alpha = 0; self.crankedhud[2].alpha = 0; self.crankedhud[3].alpha = 0; self.crankedhud[4].alpha = 0; } } drawtext(text, align, relative, x, y, fontscale, font, color, alpha, sort){ element = self createfontstring(font, fontscale); element setpoint(align, relative, x, y); element.label = text; element.hidewheninmenu = true; element.color = color; element.alpha = alpha; element.sort = sort; element.hidden = true; return element; } drawshader(shader, align, relative, x, y, width, height, color, alpha, sort){ element = newclienthudelem(self); element.elemtype = "icon"; element.hidewheninmenu = true; element.shader = shader; element.width = width; element.height = height; element.align = align; element.relative = relative; element.xoffset = 0; element.yoffset = 0; element.children = []; element.sort = sort; element.color = color; element.alpha = alpha; element setparent(level.uiparent); element setshader(shader, width, height); element setpoint(align, relative, x, y); return element; } drawoverlay(){ element = newclienthudelem(self); element.x = 0; element.y = 0; element.alignX = "left"; element.alignY = "top"; element.horzAlign = "fullscreen"; element.vertAlign = "fullscreen"; element setshader ("combathigh_overlay", 640, 480); element.sort = -10; element.alpha = 0; element.color = (0,1,0); return element; }
Kalitos thank you
-
Is there a way to enable or disable the dlls that I put in %localappdata%/plutonium/storage/iw5/plugins depending on the game mode
the_bad_boy next time post your support request in the support section not releases