UGX-Mods Login

or login with an authentication provider below
Sign In with Google
Sign In with Twitter
Sign In with Discord
Sign In with Steam
Sign In with Facebook
Sign In with Twitch

How to Add a Round Break System

broken avatar :(
Created 3 months ago
by Exo²
0 Members and 1 Guest are viewing this topic.
575 views
broken avatar :(
×
broken avatar :(
Location: gb
Date Registered: 14 September 2024
Last active: 3 weeks ago
Posts
17
Respect
Forum Rank
Legless Crawler
Primary Group
Member
×
Exo²'s Groups
Exo²'s Contact & Social Links
Guide to setting up a round break system
 

Installation
Instructions
Step 1: Navigate to your raw/maps/ folder and copy _zombiemode.gsc into your mods/your_mod/maps folder
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Step 2: Locate the entire thread named: init_flags()
Add the following code at the end of that section
Code Snippet
cpp
flag_init("exo_round_break_wait");
flag_init("exo_round_break_active");
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Step 3: Look for the level thread named: chalk_round_hint()
Add the following code at the end of that section
Code Snippet
cpp
flag_set("exo_round_break_wait");
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Step 4: Locate the function named: wait( level.zombie_vars["zombie_between_round_time"] );
Replace it with the following code
Code Snippet
cpp
if(level.round_number >= 1)
{
    flag_wait("exo_round_break_wait");
    level.exo_round_break_status = false;
    flag_clear("exo_round_break_active");
    players = get_players();
    for(i = 0; i < players.size; i++)
    {
        players[i] exo_round_break_hud_clean();
    }
    wait 0.05;
    flag_set("exo_round_break_active");
    level.exo_round_break_status = true;
    players = get_players();
    for(i = 0; i < players.size; i++)
    {
        if(isAlive(players[i]) && !players[i] maps\_laststand::player_is_in_laststand())
        {
            players[i] thread exo_round_break();
        }
    }
    timeoutTime = 20;
    startTime = getTime();
    while(level.exo_round_break_status)
    {
        if(getTime() - startTime > (timeoutTime * 1000))
        {
            level.exo_round_break_status = false;
            break;
        }
        wait 0.05;
    }
    flag_clear("exo_round_break_active");
    flag_clear("exo_round_break_wait");
}
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Step 5: Locate the entire thread named: round_think()
Add the following code outside, at the end of the thread
Code
Code Snippet
cpp
exo_round_break()
{
    self endon("disconnect");
    self endon("death");
    level endon("between_round_over");
    self exo_round_break_hud_clean();
    if(!isDefined(level) || !isDefined(level.exo_round_break_status))
    {
        level.exo_round_break_status = true;
    }
    if(!flag("exo_round_break_active"))
    {
        return;
    }
    self.exo_round_break_text1 = undefined;
    self.exo_round_break_text2 = undefined;
    self.exo_round_break_text3 = undefined;
    if(self maps\_laststand::player_is_in_laststand() || !isAlive(self))
    {
        return;
    }
    exo_round_break_time = 15;
    self.exo_round_break_text1 = exo_round_break_hud(self);
    if(isDefined(self.exo_round_break_text1))
    {
        self.exo_round_break_text1 setText("ROUND BREAK");
        self.exo_round_break_text1.fontScale = 1.2;
        self.exo_round_break_text1.color = (0.6, 0, 0);
    }
    self.exo_round_break_text2 = exo_round_break_hud(self);
    if(isDefined(self.exo_round_break_text2))
    {
        self.exo_round_break_text2 setText("Press & hold ^3Enter ^7to Begin");
        self.exo_round_break_text2.fontScale = 1;
    }
    self.exo_round_break_text3 = exo_round_break_hud(self);
    if(isDefined(self.exo_round_break_text3))
    {
        self.exo_round_break_text3 setText(exo_round_break_time);
        self.exo_round_break_text3.fontScale = 1;
    }
    wait 2;
    if(isDefined(self.exo_round_break_text1)) self.exo_round_break_text1 moveOverTime(1.5);
    if(isDefined(self.exo_round_break_text2)) self.exo_round_break_text2 moveOverTime(1.5);
    if(isDefined(self.exo_round_break_text3)) self.exo_round_break_text3 moveOverTime(1.5);
    if(isDefined(self.exo_round_break_text1)) self.exo_round_break_text1.y = 12;
    if(isDefined(self.exo_round_break_text2)) self.exo_round_break_text2.y = 24;
    if(isDefined(self.exo_round_break_text3)) self.exo_round_break_text3.y = 38;
    if(isDefined(self.exo_round_break_text1)) self.exo_round_break_text1.alpha = 0;
    if(isDefined(self.exo_round_break_text2)) self.exo_round_break_text2.alpha = 0;
    if(isDefined(self.exo_round_break_text3)) self.exo_round_break_text3.alpha = 0;
    if(isDefined(self.exo_round_break_text1)) self.exo_round_break_text1 fadeOverTime(2);
    if(isDefined(self.exo_round_break_text2)) self.exo_round_break_text2 fadeOverTime(2);
    if(isDefined(self.exo_round_break_text3)) self.exo_round_break_text3 fadeOverTime(2);
    if(isDefined(self.exo_round_break_text1)) self.exo_round_break_text1.alpha = 1;
    if(isDefined(self.exo_round_break_text2)) self.exo_round_break_text2.alpha = 1;
    if(isDefined(self.exo_round_break_text3)) self.exo_round_break_text3.alpha = 1;
    wait 1;
    while(exo_round_break_time > 0 && isDefined(level.exo_round_break_status) && level.exo_round_break_status)
    {
        if(!isAlive(self) || self maps\_laststand::player_is_in_laststand())
        {
            break;
        }
        wait 1;
        if(isDefined(self.exo_round_break_text3))
        {
            if(exo_round_break_time <= 5)
            {
                self.exo_round_break_text3.color = (0.6, 0, 0);
            }
            self.exo_round_break_text3 setText(exo_round_break_time);
        }
        if(self buttonPressed("enter"))
        {
            level.exo_round_break_status = false;
            break;
        }
        exo_round_break_time--;
    }
    if(isDefined(self.exo_round_break_text1)) self.exo_round_break_text1 moveOverTime(1.5);
    if(isDefined(self.exo_round_break_text2)) self.exo_round_break_text2 moveOverTime(1.5);
    if(isDefined(self.exo_round_break_text3)) self.exo_round_break_text3 moveOverTime(1.5);
    if(isDefined(self.exo_round_break_text1)) self.exo_round_break_text1.y = -25;
    if(isDefined(self.exo_round_break_text2)) self.exo_round_break_text2.y = -25;
    if(isDefined(self.exo_round_break_text3)) self.exo_round_break_text3.y = -25;
    if(isDefined(self.exo_round_break_text1)) self.exo_round_break_text1 fadeOverTime(0.5);
    if(isDefined(self.exo_round_break_text2)) self.exo_round_break_text2 fadeOverTime(0.5);
    if(isDefined(self.exo_round_break_text3)) self.exo_round_break_text3 fadeOverTime(0.5);
    if(isDefined(self.exo_round_break_text1)) self.exo_round_break_text1.alpha = 0;
    if(isDefined(self.exo_round_break_text2)) self.exo_round_break_text2.alpha = 0;
    if(isDefined(self.exo_round_break_text3)) self.exo_round_break_text3.alpha = 0;
    wait 0.5;
    level.exo_round_break_status = false;
}
exo_round_break_hud_clean()
{
    if(isDefined(self.exo_round_break_text1))
    {
        self.exo_round_break_text1 destroy();
        self.exo_round_break_text1 = undefined;
    }
    if(isDefined(self.exo_round_break_text2))
    {
        self.exo_round_break_text2 destroy();
        self.exo_round_break_text2 = undefined;
    }
    if(isDefined(self.exo_round_break_text3))
    {
        self.exo_round_break_text3 destroy();
        self.exo_round_break_text3 = undefined;
    }
}
exo_round_break_hud(player)
{
    exo_round_break_hud_create = newHudElem();
    exo_round_break_hud_create.foreground = true;
    exo_round_break_hud_create.x = 0;
    exo_round_break_hud_create.y = -25;
    exo_round_break_hud_create.alignX = "center";
    exo_round_break_hud_create.alignY = "middle";
    exo_round_break_hud_create.horzAlign = "center";
    exo_round_break_hud_create.vertAlign = "top";
    return exo_round_break_hud_create;
}

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Step 6: Locate the function named: set_zombie_var( "zombie_between_round_time", 10 );
Change the numeric value from 10 to 5
Code Snippet
cpp
set_zombie_var( "zombie_between_round_time", 5 );
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Step 7: Locate the function named: set_zombie_var( "zombie_spawn_delay", 2 );
Change the numeric value from 2 to 1
Code Snippet
cpp
set_zombie_var( "zombie_spawn_delay", 1 );


broken avatar :(
×
broken avatar :(
Location: arBuenos Aires
Date Registered: 1 July 2019
Last active: 10 days ago
Posts
158
Respect
Forum Rank
Pack-a-Puncher
Primary Group
Member
My Contact & Social Links
More
×
kielrgz's Groups
kielrgz's Contact & Social Linkstwitch.tv/kielrgz95kielyt
I need something that practically does not have any rounds in the game, there are some that already come armed and I can put them and that's it, but the problem is that I have some gsc that I occupy, I would like one that has to be armed in the script and that does not be like those, do you have any like that bro?
broken avatar :(
×
broken avatar :(
Location: gb
Date Registered: 14 September 2024
Last active: 3 weeks ago
Posts
17
Respect
Forum Rank
Legless Crawler
Primary Group
Member
×
Exo²'s Groups
Exo²'s Contact & Social Links
I don't quite understand. Do you mean skipping the round break on specific rounds?
broken avatar :(
×
broken avatar :(
Location: arBuenos Aires
Date Registered: 1 July 2019
Last active: 10 days ago
Posts
158
Respect
Forum Rank
Pack-a-Puncher
Primary Group
Member
My Contact & Social Links
More
×
kielrgz's Groups
kielrgz's Contact & Social Linkstwitch.tv/kielrgz95kielyt
 
That is, the game is directly without rounds and only for time. There is a tom-armed GSC I think, but how does the one I use affect it? It's like it's not profitable for me to use it, so I wanted to know if you know how to make a tutorial as I explained.
broken avatar :(
×
broken avatar :(
Location: gb
Date Registered: 14 September 2024
Last active: 3 weeks ago
Posts
17
Respect
Forum Rank
Legless Crawler
Primary Group
Member
×
Exo²'s Groups
Exo²'s Contact & Social Links
I see. I'll try to make one. I can't promise it though.
broken avatar :(
×
broken avatar :(
Location: ru
Date Registered: 19 March 2021
Last active: 2 days ago
Posts
45
Respect
Forum Rank
Legless Crawler
Primary Group
Member
×
Dev Der Riese Style's Contact & Social Links
How can I find you in discord?
 
I see. I'll try to make one. I can't promise it though.

 
Loading ...