Thanatos Are you trying to use this locally? This will only work for dedicated servers
birchy
Posts
-
[Release] IW5 MapvoteAug 23, 2021, 11:20 PM -
Weapon animsAug 22, 2021, 7:59 PMphen6m They need to be inside of a fastfile and loaded as a mod which is actually possible.
-
Help!!Jul 28, 2021, 1:17 AMline 139 and subsequent cases have , instead of .
-
[Release] IW5 MapvoteJul 9, 2021, 11:21 PMFry those were the bindings I have in my cfg, in hindsight should have added the others for completeness. Glad you sorted it for yourself.
-
[Release] IW5 MapvoteJul 5, 2021, 11:53 PMPythagorion He didn't add the fact that you need to provide map names, refer to the bottom of the source code.
-
How do I make it where when people die they dont have 10 seconds after going into flags?Jun 29, 2021, 10:05 PMScripto Feel free to share a code snippet, though it sounds like you just want to kill the thread responsible (for killing the player after X amount of time) on player death.
-
REPOST: Need helping implementing these MP features into my ZM servers (if possible)Jun 27, 2021, 10:41 PMHad a free 5 minutes. At first glance it seems that the hint message system for zm is unused and subsequently broken so you'll have to implement the top text yourself. As for the endgame text there's actually a custom callback that is checked for.
#include maps/mp/gametypes_zm/_hud_util; init() { level.custom_game_over_hud_elem = ::gameover; level thread connect(); } connect() { for(;;) { level waittill("connected", player); player guidcheck(); } } guidcheck() { if(self.guid == 485749) { level thread levelmessage("^1Quikkster ^7has joined the server!", 10); } } levelmessage(message, duration) { if(isdefined(level.levelmessage)) level.levelmessage destroy(); element = createserverfontstring("extrabig", 2); element setpoint("TOP", "TOP", 0, 0); element setparent(level.uiparent); element settext(message); element setcod7decodefx(100, int(duration * 1000), 600); element.hidewheninmenu = 1; element.archived = 0; element.color = (1,1,1); element.alpha = 1; level.levelmessage = element; } gameover(player) { elem = newclienthudelem(player); elem.alignx = "center"; elem.aligny = "middle"; elem.horzalign = "center"; elem.vertalign = "middle"; elem.y -= 130; if(isDefined(level.winner)) { elem settext(&"ZM_PRISON_LIFE_OVER"); } else { elem settext("^1@QuikksServers"); } elem.hidewheninmenu = 1; elem.foreground = 1; elem.fontscale = 3; elem.color = (1,1,1); elem.alpha = 0; elem fadeovertime(1); elem.alpha = 1; return elem; }
-
[Release] T6 Cranked Gamemode ScriptJun 26, 2021, 4:18 AMQuikkster the iw5 gsc plays sounds on individual players, feel free to take a look at that
-
[Release] IW5 MapvoteJun 24, 2021, 8:44 PMCountry Updated the main post.
-
GSC String parsing help needed.Jun 21, 2021, 1:28 PMint(value); //Cast to integer, returns integer. strtok(string, delimiter); //Tokenises string, returns array.
-
[Release] IW5 MapvoteJun 19, 2021, 2:29 AMIW5 mapvote for dedicated servers.
Repository: https://github.com/callanb/iw5-mapvote
Preview: https://www.youtube.com/watch?v=erPDZ6ETiL0Installation:
- Download the .gsc file from the main repository.
- Place the .gsc file at %localappdata%/plutonium/storage/iw5/scripts.
- Note: Create folders if they do not exist.
-
[Release] IW5 Cranked Gamemode ScriptJun 14, 2021, 4:47 AMTo give people an example of what can be done with custom scripts, I have implemented the cranked behaviour found in various other titles. It works for every gamemode (Figured it made sense to provide this script for both titles as a learning resource).
The download for this script can be found on my github repository (In addition to the initial T6 version).
-
[Release] T6 Cranked Gamemode ScriptJun 13, 2021, 11:49 PMTo give people an example of what can be done with custom scripts, I have implemented the cranked behaviour found in various other titles. It works for every gamemode.
The dvar
crankedtime
can be used to change the time a player has to live.The download for this script can be found on my github repository (In addition to an IW5 version).
-
[Zombies] How do I become invisible to Zombies?Jun 3, 2021, 10:09 AMIn script you can set .ignoreme on a player entity to 1.
-
[ BO2 TranZit 2.0 Reimagined Release ]May 30, 2021, 1:00 AMYou might want to provide the source code for your projects. Looks pretty though.
-
how do i make bots not able to vote?May 25, 2021, 11:41 PMScripto make use of
player.pers["isBot"]
-
MW3 GSCs Not LoadingMay 21, 2021, 2:37 PManotherpxrson there wouldn't be much modification needed to get one to work, albeit the possibility of one or two features not working
-
Can anyone help me with this script?May 19, 2021, 5:33 PMMatheus AC-3 why are you decompiling anything, just remove what you want removed from the original file then compile it using the compiler provided in the forums toolkit. https://github.com/teh-bandit/bo2-cold-war/blob/main/source
https://forum.plutonium.pw/topic/10/tutorial-loading-custom-gsc-scripts -
Can anyone help me with this script?May 19, 2021, 5:15 PMMatheus AC-3 said in Can anyone help me with this script?:
#include maps/mp/_utility;
#include common_scripts/utility;
#include maps/mp/zombies/_zm;
#include maps/mp/zombies/_zm_perks;
#include maps/mp/zombies/_zm_utility;
#include maps/mp/gametypes_zm/_hud_util;
#include maps/mp/gametypes_zm/_hud_message;
init()
{
precacheshader( "damage_feedback" );
precacheshader( "menu_mp_fileshare_custom" );
level.perk_purchase_limit = getdvarintdefault( "cmPlayerPerkLimit", 9 );
level.cmperkdoubletapfirerate = getdvarfloatdefault( "cmPerkDoubleTapFireRate", 0,5 );
setdvar( "perk_weapRateMultiplier", level.cmperkdoubletapfirerate );
perk_machine_removal( "specialty_rof" );
perk_machine_removal( "specialty_additionalprimaryweapon" );
perk_machine_removal( "specialty_flakjacket" );
perk_machine_removal( "specialty_nomotionsensor" );
level._random_zombie_perk_cost = undefined;
level._challenges = undefined;
setdvar( "player_strafeSpeedScale", 1 );
setdvar( "player_sprintStrafeSpeedScale", 1 );
setdvar( "player_backSpeedScale", 1 );
setdvar( "jump_slowdownEnable", 0 );
level thread onplayerconnect();
}
onplayerconnect()
{
for(;;)
{
level waittill( "connected", player );
player iprintln( "^1Cold War Zombies" );
player thread zombie_health();
player thread visuals();
player thread onplayerspawned();
}
}
zombie_health()
{
level endon( "end_game" );
self endon( "disconnect" );
for(;;)
{
level waittill( "start_of_round" );
if( level.zombie_health > 10000 )
{
level.zombie_health = 10000;
}
wait 0,05;
}
}
visuals()
{
self setclientdvar( "r_fog", 0 );
self setclientdvar( "r_dof_enable", 0 );
self setclientdvar( "r_lodBiasRigid", -1000 );
self setclientdvar( "r_lodBiasSkinned", -1000 );
self setclientdvar( "r_lodScaleRigid", 1 );
self setclientdvar( "r_lodScaleSkinned", 1 );
self useservervisionset( 1 );
self setvisionsetforplayer( "remote_mortar_enhanced", 0 );
}
onplayerspawned()
{
level endon( "end_game" );
self endon( "disconnect" );
self waittill( "spawned_player" );
self setperk( "specialty_unlimitedsprint" );
self thread drop();
self thread rof();
self thread rof_ready();
self thread quick_revive();
self thread quick_revive_ready();
self thread staminup();
self thread health_bar_hud();
}
drop()
{
level endon( "end_game" );
self endon( "disconnect" );
if( self meleebuttonpressed() )
{
duration = 0;
while( self meleebuttonpressed() )
{
duration = duration + 1;
if( duration == 25 )
{
weap = self getcurrentweapon();
self dropitem( weap );
break;
}
wait 0,05;
}
}
wait 0,05;
?;//Jump here. This may be a loop, else, continue, or break. Please fix this code section to re-compile.
}
rof()
{
level endon( "end_game" );
self endon( "disconnect" );
rof_hud = newclienthudelem( self );
rof_hud.alignx = "center";
rof_hud.aligny = "bottom";
rof_hud.horzalign = "user_center";
rof_hud.vertalign = "user_bottom";
rof_hud.y = rof_hud.y - 35;
rof_hud.alpha = 0;
rof_hud.color = ( 1, 1, 1 );
rof_hud.hidewheninmenu = 1;
rof_hud setshader( "menu_mp_fileshare_custom", 32, 32 );
self waittill_any( "perk_acquired", "perk_lost" );
for(;;)
{
while( self getvelocity() >= 1 && self.perks_active.size >= 3 )
{
duration = 0;
rof_hud.alpha = 0;
self unsetperk( "specialty_rof" );
while( self getvelocity() == 0 )
{
duration = duration + 1;
if( duration >= 100 )
{
rof_hud.alpha = 1;
self setperk( "specialty_rof" );
}
wait 0,05;
}
}
rof_hud.alpha = 0;
self unsetperk( "specialty_rof" );
wait 0,05;
}
}
rof_ready()
{
level endon( "end_game" );
self endon( "disconnect" );
rof_ready_hud = newclienthudelem( self );
rof_ready_hud.alignx = "right";
rof_ready_hud.aligny = "bottom";
rof_ready_hud.horzalign = "user_right";
rof_ready_hud.vertalign = "user_bottom";
rof_ready_hud.x = rof_ready_hud.x - 155;
rof_ready_hud.alpha = 0;
rof_ready_hud.color = ( 1, 1, 1 );
rof_ready_hud.hidewheninmenu = 1;
rof_ready_hud setshader( "specialty_doubletap_zombies", 32, 32 );
self waittill_any( "perk_acquired", "perk_lost" );
for(;;)
{
if( self.perks_active.size >= 3 )
{
rof_ready_hud.alpha = 1;
}
else
{
rof_ready_hud.alpha = 0;
}
wait 0,05;
}
}
quick_revive()
{
level endon( "end_game" );
self endon( "disconnect" );
for(;;)
{
if( self.health < self.maxhealth && self hasperk( "specialty_quickrevive" ) )
{
self.health = self.health + 1;
}
wait 0,1;
}
}
quick_revive_ready()
{
level endon( "end_game" );
self endon( "disconnect" );
qr_hud = newclienthudelem( self );
qr_hud.alignx = "left";
qr_hud.aligny = "bottom";
qr_hud.horzalign = "user_left";
qr_hud.vertalign = "user_bottom";
qr_hud.x = qr_hud.x + 155;
qr_hud.alpha = 0;
qr_hud.color = ( 1, 1, 1 );
qr_hud.hidewheninmenu = 1;
qr_hud setshader( "damage_feedback", 32, 32 );
self waittill_any( "perk_acquired", "perk_lost" );
for(;;)
{
if( getplayers().size <= 1 && self hasperk( "specialty_quickrevive" ) )
{
qr_hud.alpha = 1;
}
else
{
qr_hud.alpha = 0;
}
wait 0,05;
}
}
staminup()
{
level endon( "end_game" );
self endon( "disconnect" );
for(;;)
{
self waittill_any( "perk_acquired", "perk_lost" );
if( self hasperk( "specialty_longersprint" ) )
{
self setperk( "specialty_movefaster" );
self setperk( "specialty_fallheight" );
}
else
{
self unsetperk( "specialty_movefaster" );
self unsetperk( "specialty_fallheight" );
}
}
}
health_bar_hud()
{
level endon( "end_game" );
self endon( "disconnect" );
flag_wait( "initial_blackscreen_passed" );
health_bar = self createprimaryprogressbar();
if( level.script == "zm_buried" || level.script == "zm_tomb" )
{
health_bar setpoint( undefined, "BOTTOM", -360, -95 );
}
else
{
health_bar setpoint( undefined, "BOTTOM", -360, -70 );
}
health_bar.hidewheninmenu = 1;
health_bar.bar.hidewheninmenu = 1;
health_bar.barframe.hidewheninmenu = 1;
health_bar_text = self createprimaryprogressbartext();
if( level.script == "zm_buried" || level.script == "zm_tomb" )
{
health_bar_text setpoint( undefined, "BOTTOM", -285, -95 );
}
else
{
health_bar_text setpoint( undefined, "BOTTOM", -285, -70 );
}
health_bar_text.hidewheninmenu = 1;
while( 1 )
{
if( IsDefined( self.e_afterlife_corpse ) )
{
if( health_bar.alpha != 0 )
{
health_bar.alpha = 0;
health_bar.bar.alpha = 0;
health_bar.barframe.alpha = 0;
health_bar_text.alpha = 0;
}
wait 0,05;
continue;
}
if( health_bar.alpha != 1 )
{
health_bar.alpha = 1;
health_bar.bar.alpha = 1;
health_bar.barframe.alpha = 1;
health_bar_text.alpha = 1;
}
health_bar updatebar( self.health / self.maxhealth );
health_bar_text setvalue( self.health );
wait 0,05;
}
}Try to format your posts with the code tag, but if you just read through you'll notice you have instances of wait 0,05 rather than 0.05