Kuick Leader Swap XP
#1
Kuick Leader Swap XP

by Kyonides
Introduction

Once upon a gaming time, some forumer, who might have recently escaped from Minecraft for unknown reasons, wanted to easily swap the current party leader, not just by pressing the L or R button but also via direct assignment.

Happy with a sweat Well, we don't know how accurate this legend might be, but this is the final outcome of that ancient story.

Script Calls

Set a Temporary Leader:
- RememberLeaderIndex? stands for a boolean value: true or false.
- This new leader becomes permanent if RememberLeaderIndex? is false.
Code:
$game_party.temp_leader(PartyIndex, RememberLeaderIndex?)

Restore the Previous Leader (If Any):
Code:
$game_party.restore_leader

Set a Leader by Actor's ID:
Code:
$game_party.set_leader_by_id(ActorID)

L & R Button-Related Script Calls

Prevent the player from Swapping the current Leader:
Code:
$game_party.keep_leader!

Reenable the player to Swap the current Leader:
Code:
$game_party.swap_leader!


Check Current Keep Leader State - Returns either true or false:
Code:
$game_party.keep_leader


The Script

Code:
# * Kuick Leader Swap XP * #
#   Scripter : Kyonides
#   v1.1.0 - 2025-09-08

# * Script Calls * #

# - Set a Temporary Leader!
#   RememberLeaderIndex? stands for a boolean value: true or false.
#   This new leader becomes permanent if RememberLeaderIndex? is false.
# $game_party.temp_leader(PartyIndex, RememberLeaderIndex?)

# - Restore the Previous Leader! (If Any!)
# $game_party.restore_leader

# - Set a Leader by Actor's ID!
# $game_party.set_leader_by_id(ActorID)

# * L & R Button-Related Script Calls * #
# - Prevent the player from Swapping the current Leader:
# $game_party.keep_leader!

# - Reenable the player to Swap the current Leader:
# $game_party.swap_leader!

# - Check Current Keep Leader State:
# $game_party.keep_leader (Returns: true or false)

class Game_Party
  def leader
    @actors[0]
  end

  def keep_leader!
    @keep_leader = true
  end

  def swap_leader!
    @keep_leader = false
  end

  def change_leader(n)
    return if @keep_leader
    if n < 0
      @actors.unshift @actors.pop
    else
      @actors << @actors.shift
    end
  end

  def set_leader_by_id(actor_id)
    actor = $game_actors[actor_id]
    n = @actors.index(actor)
    swap_leader(n) if n and n != 0
  end

  def temp_leader(n, remember)
    @temp_leader_index = n if remember
    swap_leader(n)
  end

  def restore_leader
    swap_leader(@temp_leader_index) if @temp_leader_index
    @temp_leader_index = nil
  end
  private
  def swap_leader(n)
    @actors[0], @actors[n] = @actors[n], @actors[0]
    $game_player.refresh
  end
  attr_accessor :keep_leader
end

class Game_Player
  alias :kyon_kuick_leader_swap_gm_plyr_up :update
  def update
    kyon_kuick_leader_swap_gm_plyr_up
    if Input.trigger?(Input::L)
      $game_party.change_leader(-1)
      refresh
      return
    elsif Input.trigger?(Input::R)
      $game_party.change_leader(1)
      refresh
    end
  end
end

Terms & Conditions

Free as in Beer beer for any kind of Gamer games.
Include my nickname in your game credits.
Thank Ace_V for unwillingly inspiring me to Sculptor craft the script. (Just don't or else his PM box will get full any time soon. Confused )
That's it! Tongue sticking out
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9

Maranatha!

The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.

[Image: SP1-Scripter.png]
[Image: SP1-Writer.png]
[Image: SP1-Poet.png]
[Image: SP1-PixelArtist.png]
[Image: SP1-Reporter.png]

My Original Stories (available in English and Spanish)

List of Compiled Binary Executables I have published...
HiddenChest & Roole

Give me a free copy of your completed game if you include at least 3 of my scripts! Laughing + Tongue sticking out

Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Reply
#2
This really is useful and very light and easy to implement! Thanks again, kyonides! I spent the better part of a day going through all my previously-finished quest lines to implement the script call to ensure the correct character is in the lead to further enhance some cutscenes.

(I've never played Minecraft, though!)  Laughing
[Image: SP1-Writer.png]
[Image: SP1-PixelArtist.png]
Reply
#3
Script Update

Starting from version 1.1.0, you can now make script calls that will affect the way the L & R buttons work. They will allow you to either (re-)enable or disable that feature at will. Grinning But don't worry pals! The original features remain intact and unblocked by this change. Winking
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9

Maranatha!

The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.

[Image: SP1-Scripter.png]
[Image: SP1-Writer.png]
[Image: SP1-Poet.png]
[Image: SP1-PixelArtist.png]
[Image: SP1-Reporter.png]

My Original Stories (available in English and Spanish)

List of Compiled Binary Executables I have published...
HiddenChest & Roole

Give me a free copy of your completed game if you include at least 3 of my scripts! Laughing + Tongue sticking out

Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Reply
#4
Nice new feature! That's very useful for scenes that rely on parallel processes (perhaps a hallway with text/effects popping up slowly as you walk through) and you need a specific leader.
[Image: SP1-Writer.png]
[Image: SP1-PixelArtist.png]
Reply
#5
Just in case I didn't explain myself clearly enough on my previous post, I am leaving a summary here as well.

The only new feature in version 1.1.0 is the ability to disable the L & R buttons and to reenable them later on. Needing a specific leader was taken care of by the previous release, namely 1.0.2.

Grinning Rest assure that I have NOT removed any previous feature so you are free to change the leader by using any of the previous script calls. If deemed necessary.
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9

Maranatha!

The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.

[Image: SP1-Scripter.png]
[Image: SP1-Writer.png]
[Image: SP1-Poet.png]
[Image: SP1-PixelArtist.png]
[Image: SP1-Reporter.png]

My Original Stories (available in English and Spanish)

List of Compiled Binary Executables I have published...
HiddenChest & Roole

Give me a free copy of your completed game if you include at least 3 of my scripts! Laughing + Tongue sticking out

Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
   Weapons Swap XP kyonides 1 3,128 01-15-2023, 04:56 AM
Last Post: kyonides
   Tileset Swap ccoa 4 14,155 04-15-2014, 04:18 AM
Last Post: DerVVulfman
   Master Party-Leader Substitution DerVVulfman 0 6,470 01-24-2013, 05:26 PM
Last Post: DerVVulfman
   Variable Swap [Snippet] PK8 0 6,018 11-09-2009, 07:32 AM
Last Post: PK8
   Switch Swap [Snippet] PK8 0 6,071 11-09-2009, 07:07 AM
Last Post: PK8



Users browsing this thread: 1 Guest(s)