UGX-Mods

Call of Duty 5: World at War => Help Desk => Scripting => Topic started by: Bac0NM0nst3r on October 24, 2020, 02:49:35 am

Title: making the player say a line when a powerup is picked up
Post by: Bac0NM0nst3r on October 24, 2020, 02:49:35 am
Hello, i recently added in a custom powerup into my map by breaking someone else's custom power up (whoops). It works fine, but i would like to make the player say the quote as if the player picked up a max ammo powerup when they picl up my custom power up. How would i go about doing that?
Title: Re: making the player say a line when a powerup is picked up
Post by: gympie6 on October 25, 2020, 10:39:47 pm
Nice you stole someone his powerup (Atleast credit the guy you stole it from) but I will help with the sound:
In the method you see this:
Code Snippet
Plaintext
powerup_grab()
{
    self endon ("powerup_timedout");
    self endon ("powerup_grabbed");

    while (isdefined(self))
    {
        players = get_players();

        for (i = 0; i < players.size; i++)
        {
            if (distance (players[i].origin, self.origin) < 64)
            {
                playfx (level._effect["powerup_grabbed"], self.origin);
                playfx (level._effect["powerup_grabbed_wave"], self.origin);    

                if( IsDefined( level.zombie_powerup_grab_func ) )
                {
                    level thread [[level.zombie_powerup_grab_func]]();
                }
                else
                {
                    switch (self.powerup_name)
                    {
                    case "nuke":
                        level thread nuke_powerup( self );
                       
                        //chrisp - adding powerup VO sounds
                        players[i] thread powerup_vo("nuke");
                        zombies = getaiarray("axis");
                        players[i].zombie_nuked = get_array_of_closest( self.origin, zombies );
                        players[i] notify("nuke_triggered");
                       
                        break;
                    case "full_ammo":
                        level thread full_ammo_powerup( self );
                        players[i] thread powerup_vo("full_ammo");
                        break;
                    case "double_points":
                        level thread double_points_powerup( self );
                        players[i] thread powerup_vo("double_points");
                        break;
                    case "insta_kill":
                        level thread insta_kill_powerup( self );
                        players[i] thread powerup_vo("insta_kill");
                        break;
                    case "carpenter":
                        level thread start_carpenter( self.origin );
                        players[i] thread powerup_vo("carpenter");
                        break;

                    default:
                        println ("Unrecognized poweup.");
                        break;
                    }
                }

                wait( 0.1 );

                playsoundatposition("powerup_grabbed", self.origin);
                self stoploopsound();

                self delete();
                self notify ("powerup_grabbed");
            }
        }
        wait 0.1;
    }    
}
change it to this:
Code Snippet
Plaintext
powerup_grab()
{
    self endon ("powerup_timedout");
    self endon ("powerup_grabbed");

    while (isdefined(self))
    {
        players = get_players();

        for (i = 0; i < players.size; i++)
        {
            if (distance (players[i].origin, self.origin) < 64)
            {
                playfx (level._effect["powerup_grabbed"], self.origin);
                playfx (level._effect["powerup_grabbed_wave"], self.origin);    

                if( IsDefined( level.zombie_powerup_grab_func ) )
                {
                    level thread [[level.zombie_powerup_grab_func]]();
                }
                else
                {
                    switch (self.powerup_name)
                    {
                    case "nuke":
                        level thread nuke_powerup( self );
                       
                        //chrisp - adding powerup VO sounds
                        players[i] thread powerup_vo("nuke");
                        zombies = getaiarray("axis");
                        players[i].zombie_nuked = get_array_of_closest( self.origin, zombies );
                        players[i] notify("nuke_triggered");
                       
                        break;
                    case "full_ammo":
                        level thread full_ammo_powerup( self );
                        players[i] thread powerup_vo("full_ammo");
                        break;
                    case "double_points":
                        level thread double_points_powerup( self );
                        players[i] thread powerup_vo("double_points");
                        break;
                    case "insta_kill":
                        level thread insta_kill_powerup( self );
                        players[i] thread powerup_vo("insta_kill");
                        break;
                    case "carpenter":
                        level thread start_carpenter( self.origin );
                        players[i] thread powerup_vo("carpenter");
                        break;
                    case "CUSTOM PERK NAME":
                        // FUNCTION METHOD
                        players[i] thread powerup_vo("full_ammo");
                        break;

                    default:
                        println ("Unrecognized poweup.");
                        break;
                    }
                }

                wait( 0.1 );

                playsoundatposition("powerup_grabbed", self.origin);
                self stoploopsound();

                self delete();
                self notify ("powerup_grabbed");
            }
        }
        wait 0.1;
    }    
}
And you are done.
Title: Re: making the player say a line when a powerup is picked up
Post by: Bac0NM0nst3r on October 26, 2020, 04:32:18 am
Nice you stole someone his powerup (Atleast credit the guy you stole it from) but I will help with the sound:
In the method you see this:
Code Snippet
Plaintext
powerup_grab()
{
    self endon ("powerup_timedout");
    self endon ("powerup_grabbed");

    while (isdefined(self))
    {
        players = get_players();

        for (i = 0; i < players.size; i++)
        {
            if (distance (players[i].origin, self.origin) < 64)
            {
                playfx (level._effect["powerup_grabbed"], self.origin);
                playfx (level._effect["powerup_grabbed_wave"], self.origin);    

                if( IsDefined( level.zombie_powerup_grab_func ) )
                {
                    level thread [[level.zombie_powerup_grab_func]]();
                }
                else
                {
                    switch (self.powerup_name)
                    {
                    case "nuke":
                        level thread nuke_powerup( self );
                       
                        //chrisp - adding powerup VO sounds
                        players[i] thread powerup_vo("nuke");
                        zombies = getaiarray("axis");
                        players[i].zombie_nuked = get_array_of_closest( self.origin, zombies );
                        players[i] notify("nuke_triggered");
                       
                        break;
                    case "full_ammo":
                        level thread full_ammo_powerup( self );
                        players[i] thread powerup_vo("full_ammo");
                        break;
                    case "double_points":
                        level thread double_points_powerup( self );
                        players[i] thread powerup_vo("double_points");
                        break;
                    case "insta_kill":
                        level thread insta_kill_powerup( self );
                        players[i] thread powerup_vo("insta_kill");
                        break;
                    case "carpenter":
                        level thread start_carpenter( self.origin );
                        players[i] thread powerup_vo("carpenter");
                        break;

                    default:
                        println ("Unrecognized poweup.");
                        break;
                    }
                }

                wait( 0.1 );

                playsoundatposition("powerup_grabbed", self.origin);
                self stoploopsound();

                self delete();
                self notify ("powerup_grabbed");
            }
        }
        wait 0.1;
    }    
}
change it to this:
Code Snippet
Plaintext
powerup_grab()
{
    self endon ("powerup_timedout");
    self endon ("powerup_grabbed");

    while (isdefined(self))
    {
        players = get_players();

        for (i = 0; i < players.size; i++)
        {
            if (distance (players[i].origin, self.origin) < 64)
            {
                playfx (level._effect["powerup_grabbed"], self.origin);
                playfx (level._effect["powerup_grabbed_wave"], self.origin);    

                if( IsDefined( level.zombie_powerup_grab_func ) )
                {
                    level thread [[level.zombie_powerup_grab_func]]();
                }
                else
                {
                    switch (self.powerup_name)
                    {
                    case "nuke":
                        level thread nuke_powerup( self );
                       
                        //chrisp - adding powerup VO sounds
                        players[i] thread powerup_vo("nuke");
                        zombies = getaiarray("axis");
                        players[i].zombie_nuked = get_array_of_closest( self.origin, zombies );
                        players[i] notify("nuke_triggered");
                       
                        break;
                    case "full_ammo":
                        level thread full_ammo_powerup( self );
                        players[i] thread powerup_vo("full_ammo");
                        break;
                    case "double_points":
                        level thread double_points_powerup( self );
                        players[i] thread powerup_vo("double_points");
                        break;
                    case "insta_kill":
                        level thread insta_kill_powerup( self );
                        players[i] thread powerup_vo("insta_kill");
                        break;
                    case "carpenter":
                        level thread start_carpenter( self.origin );
                        players[i] thread powerup_vo("carpenter");
                        break;
                    case "CUSTOM PERK NAME":
                        // FUNCTION METHOD
                        players[i] thread powerup_vo("full_ammo");
                        break;

                    default:
                        println ("Unrecognized poweup.");
                        break;
                    }
                }

                wait( 0.1 );

                playsoundatposition("powerup_grabbed", self.origin);
                self stoploopsound();

                self delete();
                self notify ("powerup_grabbed");
            }
        }
        wait 0.1;
    }    
}
And you are done.
Thanks! and whoops, didnt know i shouldve credited outside a map post. I broke Gogeta's death machine powerup and somehow edited it to be an unlimited ammo powerup, now if i can just learn how to put images onto my posts because im ready to relesase  a map now...