Posts: 94
Threads: 10
Joined: Nov 2024
Hi! I tried implementing the Lead Actor Swapper script by Sheol:
https://www.save-point.org/showthread.php?tid=6559
But when I tried swapping a character out using the Q button (L on a gamepad), I encounter an error on line 64:
Code: $game_system.lead_actor = ($game_system.lead_actor - 1) % $game_party.actors.size
I use a caterpillar script, could that be the problem? I was hoping I could swap/change character's party positions using the script and they would also swap on the caterpillar.
Posts: 4,859
Threads: 587
Joined: Dec 2009
Is that really all the information the popup window has provided you with?
"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.
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!
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
Posts: 12,554
Threads: 1,732
Joined: May 2009
08-30-2025, 02:08 PM
(This post was last modified: 08-30-2025, 02:10 PM by DerVVulfman.)
I'm wondering.....
Code: $game_system.lead_actor = ($game_system.lead_actor - 1) % $game_party.actors.size
Is this an issue where it tries to go FROM lead_actor #0 and attempts to incorrectly generate lead_actor #-1
I think you could go two different ways:
>> If you cannot go below actor #0 or past the party limit -- no cycling <<
Code: def update
slipknog_las_update
# Button input adjustments to lead actor
$game_system.lead_actor += 1 if Input.trigger?(Input::R)
$game_system.lead_actor -= 1 if Input.trigger?(Input::L)
# Get max party size limit
sz_limit = $game_party.actors.size - 1
# Keep lead actor in range
$game_system.lead_actor 0 if $game_system.lead_actor < 0
$game_system.lead_actor sz_limit if $game_system.lead_actor > sz_limit
end
>> Allow cycling, on going below actor #0... or past party limit... -- no cycling <<
Code: def update
slipknog_las_update
# Button input adjustments to lead actor
$game_system.lead_actor += 1 if Input.trigger?(Input::R)
$game_system.lead_actor -= 1 if Input.trigger?(Input::L)
# Get max party size limit
sz_limit = $game_party.actors.size - 1
# Keep lead actor in range
$game_system.lead_actor sz_limit if $game_system.lead_actor < 0
$game_system.lead_actor 0 if $game_system.lead_actor > sz_limit
end
Again, I am still without my main PC and RPGMaker.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)
Above are clickable links
Posts: 4,859
Threads: 587
Joined: Dec 2009
08-30-2025, 10:01 PM
(This post was last modified: 08-30-2025, 10:02 PM by kyonides.)
(08-30-2025, 02:08 PM)DerVVulfman Wrote: I'm wondering.....
Code: $game_system.lead_actor = ($game_system.lead_actor - 1) % $game_party.actors.size
Is this an issue where it tries to go FROM lead_actor #0 and attempts to incorrectly generate lead_actor #-1
And that's hoping there's no such issue as a NilClass error message because Game_System never owned any lead_actor method or @lead_actor being set to nil (the default value)...
So Ace_V, was there any specific error message mentioned in your popup window or backtrace script? Can you post it here as is?
It's just to make sure nobody is skipping or ignoring any vital details here...
"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.
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!
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
Posts: 94
Threads: 10
Joined: Nov 2024
Yesterday, 07:44 AM
(This post was last modified: Yesterday, 08:00 AM by Ace_V.)
(08-30-2025, 10:01 PM)kyonides Wrote: And that's hoping there's no such issue as a NilClass error message because Game_System never owned any lead_actor method or @lead_actor being set to nil (the default value)...
So Ace_V, was there any specific error message mentioned in your popup window or backtrace script? Can you post it here as is?
It's just to make sure nobody is skipping or ignoring any vital details here...
Hi, kyonides and DerVVulfman!
Here's the error that is displayed.
EDIT: I also tried both of DerVVulfman's suggestions (I spotted the slipknog typo and changed it to slipknot) but kept getting errors regarding $game_system.lead_actor:
Script 'Lead Actor Swapper' line 66: NoMethodError occurred. Undefined method '<' for nil:NilClass
I guess it doesn't recognize this? $game_system.lead_actor 0 if $game_system.lead_actor < 0
Posts: 4,859
Threads: 587
Joined: Dec 2009
Yesterday, 10:11 AM
(This post was last modified: Yesterday, 10:17 AM by kyonides.)
A quick way to solve it would be to go to that custom script and look for the @lead_actor variable in Game_System's initialize method. (I think it should have been aliased by that scripter.) There set it to 0.
This should prevent it from crashing because of any NilClass related errors. nil means nothing in Latin...
In that update method you've been working on, you could add these lines:
Code: sz_limit = $game_party.actors.size - 1
$game_system.lead_actor = 0 if $game_system.lead_actor < 0
$game_system.lead_actor = last_actor if $game_system.lead_actor > sz_limit
The assignment operator = was missing twice there.
"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.
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!
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
Posts: 12,554
Threads: 1,732
Joined: May 2009
6 hours ago
(This post was last modified: 6 hours ago by DerVVulfman.)
I see something actually more malicious.
According to your error message, [font=Courier New] undefined method '-' for nil:NilClass[/font, the value being subtracted does not exist. And the value is $game_system.lead_actor. This suggests that you have no lead_actor value defined in Game_System.
However...
Code: class Game_System
#--------------------------------------------------------------------------
# * Alias Listing
#--------------------------------------------------------------------------
attr_reader :lead_actor
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
alias slipknot_las_init initialize
#--------------------------------------------------------------------------
# * Initialize
#--------------------------------------------------------------------------
def initialize
slipknot_las_init
@lead_actor = 0
end
Here, we can see that the value is indeed created within Game_System within its 'initialize' method.
On seeing that, I am under the opinion that you have another script further below in your list that is rewriting the 'initialize' method, and thus erasing anything added in this manner.
Rearranging the scripts (SCRIPT ORDER) should suffice. You just need to find what script alters the Initialize method but does not use alias to add new content.
Other scripts could be suffering, and you jmay not yet notice.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)
Above are clickable links
|