What's up, RMers?
Not a whole lot to report. But I have prepped the assets in preparation for the rework of the Pamphlets, Brochures, Tutorials etc. parts of the database.

Here's just a couple examples:
[Image: 2s9H27g.png][Image: kXB6xVX.png]
Pretend there's choice options in the lined area. This is simply a finished asset mock up. I won't begin on implementing these systems proper until I've finished all the assets.

Of which, here is what I've got left to do.
Pamphlets: 100/104 (Yes, only four to go.)
Brochures: 12/118 (Long ways)
Tutorials: 10/54 (might end up as more or less maximum, looking at about 64 maximum)
Medals: 0/86 (Yeah, haven't started.)
Delicacies: 7/7 (Already done, but might need reformatting)
Ribbons: 44/44 (Already done, but might need reformatting)
Charms: 70/75 (Almost done, but might need reformatting)

On top of that, Pjcr has gotten me one of the Mal Morris portraits, with a lot more likely to come fairly soon!
[Image: yaIEQ5t.png]
Please look forward to it~

As a final send off, here's some of the pamphlet's I've gotten done since last I shared:
[Image: 0B4abYU.png][Image: PFs2f2C.png]
[Image: HRd3Gpy.png][Image: gbxN5dJ.png]
Reply }
And so~ Pamphlets have been implemented into the menu system. This worked out even better than I thought, and I can now use this framework for all other submenus going forward in the Database!

All 104 are done. Now I just have to do a bunch of work in photoshop for the other database entries!
Reply }
I've ran into a conundrum. I'm currently using Kyonides' KEquipSkills XP script that allows characters to learn new skills via weapons, armors and items. The script uses a check system to know what characters can learn the skill or not and I noticed that items can still be used in unchecked characters even if they won't learn the skill.

The issue is that I know this is caused by an incompatibility with one of the dozen or so scripts featured in my game since it works as intended in a new project. Since I don't want to go back to the script I previously used, guess I stuck with this "known bug". Not big deal all things considered as I'm already dealing with other bugs like Stormtronics CMS crashing if one tries to access the options submenu and Battle BGM Anti-Reset continuing to play the battle themes if one escapes from battle.

Still, it's just a bit of a nuisance.
Reply }
(04-24-2024, 10:40 PM)Steel Beast 6Beets Wrote: I've ran into a conundrum. I'm currently using Kyonides' KEquipSkills XP script that allows characters to learn new skills via weapons, armors and items. The script uses a check system to know what characters can learn the skill or not and I noticed that items can still be used in unchecked characters even if they won't learn the skill.

The issue is that I know this is caused by an incompatibility with one of the dozen or so scripts featured in my game since it works as intended in a new project. Since I don't want to go back to the script I previously used, guess I stuck with this "known bug". Not big deal all things considered as I'm already dealing with other bugs like Stormtronics CMS crashing if one tries to access the options submenu and Battle BGM Anti-Reset continuing to play the battle themes if one escapes from battle. 

Still, it's just a bit of a nuisance.

STEP 1:  Make a 'Duplicate/Copy' of your project.

STEP 2: Delete one script connected to Skills or Items within the Duplicate project

STEP 3: Test the duplicate project.

-- IF that Duplicate project now works, go to Step 4. otherwise repeat from Step 2

STEP 4: Create a separate demo that is just the last deleted script and KEquipSkills XP.

STEP 5: Test.  If it is solely that script and KEquipSkills XP, you now know scripts need a merger patch to work together.  If not, add another script which you had deleted.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)

[Image: QrnbKlx.jpg]
[Image: sGz1ErF.png]    [Image: liM4ikn.png]    [Image: fdzKgZA.png]    [Image: sj0H81z.png]
[Image: QL7oRau.png]    [Image: uSqjY09.png]    [Image: GAA3qE9.png]    [Image: 2Hmnx1G.png]    [Image: BwtNdKw.png%5B]
  Above are clickable links
Reply }
(04-25-2024, 01:04 AM)DerVVulfman Wrote:
(04-24-2024, 10:40 PM)Steel Beast 6Beets Wrote: I've ran into a conundrum. I'm currently using Kyonides' KEquipSkills XP script that allows characters to learn new skills via weapons, armors and items. The script uses a check system to know what characters can learn the skill or not and I noticed that items can still be used in unchecked characters even if they won't learn the skill.

The issue is that I know this is caused by an incompatibility with one of the dozen or so scripts featured in my game since it works as intended in a new project. Since I don't want to go back to the script I previously used, guess I stuck with this "known bug". Not big deal all things considered as I'm already dealing with other bugs like Stormtronics CMS crashing if one tries to access the options submenu and Battle BGM Anti-Reset continuing to play the battle themes if one escapes from battle. 

Still, it's just a bit of a nuisance.

STEP 1:  Make a 'Duplicate/Copy' of your project.

STEP 2: Delete one script connected to Skills or Items within the Duplicate project

STEP 3: Test the duplicate project.

-- IF that Duplicate project now works, go to Step 4. otherwise repeat from Step 2

STEP 4: Create a separate demo that is just the last deleted script and KEquipSkills XP.

STEP 5: Test.  If it is solely that script and KEquipSkills XP, you now know scripts need a merger patch to work together.  If not, add another script which you had deleted.

Did just that. Ended deleting every script of my project leaving only the default ones and the issue still persisted.

There's the script along with my customization if anybody is interested:

Code:
# * KEquipSkills XP - Full Version * #
#  Scripter : Kyonides Arkanthes
#  v1.3.0 - 2024-03-06

# - Use Items, Weapons or Armors to learn Skills! - #

# In order to add new skills whenever you equip a new Weapon or Armor or Item,
# You need to configure a couple of CONSTANTS.

# EQUIP_CHECKS_LEARNING lists Actors that will begin with the :checks method.
# ITEM_CHECKS_LEARNING lists Actors that will begin with the :checks method.
# The rest of the Actors will use the :direct method, learning a single skill
# from the Weapon or Armor or Item.

# - If any BEHAVIOR for a given Actor is set to :direct

# DIRECT_WEAPONS[WeaponID] = [SkillID1, etc.]
# DIRECT_ARMORS[ArmorID] = [SkillID1, etc.]
# DIRECT_ITEMS[ItemID] = [SkillID1, etc.]

# The default value is [], an empty Array.

# - If any BEHAVIOR for a given Actor is set to :checks

# CHECK_WEAPONS[WeaponID] = { :skill => [SkillID1, etc.],
#  :class => [ClassID1, etc.], :actor => [ActorID1, etc.] }
# CHECK_ARMORS[ArmorID] = { :skill => [SkillID1, etc.],
#  :class => [ClassID1, etc.], :actor => [ActorID1, etc.] }
# CHECK_ITEMS[ArmorID] = { :skill => [SkillID1, etc.],
#  :class => [ClassID1, etc.], :actor => [ActorID1, etc.] }

# 0 as an ID allows any class or actor to equip the skill!

# - If you prefer to let the player choose a skill

# PICK_SKILL_ITEMS will allow a given hero to learn ONE of them only.

# - Add a special Pick Skill Item - #
#  Create New Lines like the following:
# PICK_SKILL_ITEMS[ItemID] = { :have => [SkillID1, etc.],
#    :learn => [SkillID10, etc.] }

# * Script Calls * #

# - Change a given Actor's Item or Equip Check Type
#  Note: Pick Skill Items won't ever need such a call.
#  Available Types: :direct or :checks
# game_actors[ActorID].item_check_type = Type
# game_actors[ActorID].equip_check_type = Type

module KEquipSkills
  EQUIP_CHECKS_LEARNING = []
  ITEM_CHECKS_LEARNING = [10, 11, 12, 13, 14, 15, 16, 17, 18, 24]
  DIRECT_WEAPONS = {}
  DIRECT_ARMORS = {}
  DIRECT_ITEMS = {}
  CHECK_WEAPONS = {}
  CHECK_ARMORS = {}
  CHECK_ITEMS = {}
  PICK_SKILL_ITEMS = {}
# * Beginning of Customization * #
  DIRECT_WEAPONS[453] = [482]
  DIRECT_WEAPONS[477] = [444]
  DIRECT_WEAPONS[478] = [446]
  DIRECT_WEAPONS[479] = [443]
  DIRECT_WEAPONS[485] = [447]
  DIRECT_WEAPONS[997] = [590]
  DIRECT_WEAPONS[998] = [591]
  DIRECT_WEAPONS[999] = [899] 
  DIRECT_ARMORS[263] = [305]
  DIRECT_ARMORS[270] = [398]
  DIRECT_ARMORS[271] = [399]
  DIRECT_ARMORS[320] = [885, 886, 887] 
  DIRECT_ARMORS[372] = [481]
  DIRECT_ARMORS[264] = [306]
  DIRECT_ARMORS[380] = [486]
  DIRECT_ARMORS[382] = [447]
  DIRECT_ARMORS[383] = [448]
  DIRECT_ARMORS[384] = [449]
  CHECK_ITEMS[251] = { :skill => [401], :class => [10, 11, 12, 13, 14, 15, 16, 17, 18, 24] }
  CHECK_ITEMS[252] = { :skill => [402], :class => [10, 11, 12, 13, 14, 15, 16, 17, 18, 24] }
  DIRECT_ITEMS[253] = [403]
  DIRECT_ITEMS[254] = [404]
  DIRECT_ITEMS[255] = [405]
  DIRECT_ITEMS[256] = [406]
  DIRECT_ITEMS[257] = [407]
  DIRECT_ITEMS[258] = [408]
  DIRECT_ITEMS[259] = [409]
  DIRECT_ITEMS[260] = [410]
  DIRECT_ITEMS[261] = [411]
  DIRECT_ITEMS[266] = [416]
  DIRECT_ITEMS[267] = [417]
  DIRECT_ITEMS[268] = [418]
  DIRECT_ITEMS[269] = [419]
  DIRECT_ITEMS[270] = [420]
  DIRECT_ITEMS[271] = [421]
  DIRECT_ITEMS[272] = [422]
  DIRECT_ITEMS[273] = [423]
  DIRECT_ITEMS[274] = [424]
# * End of Customization * #
  DIRECT_WEAPONS.default = []
  DIRECT_ARMORS.default = []
  DIRECT_ITEMS.default = []
  PICK_SKILL_ITEMS.default = {}
  extend self
  attr_accessor :pick_index
  def equip_check_type(actor_id)
    EQUIP_CHECKS_LEARNING.include?(actor_id)? :checks : :direct
  end

  def item_check_type(actor_id)
    ITEM_CHECKS_LEARNING.include?(actor_id)? :checks : :direct
  end

  def find_group(type)
    case type
    when :weapon
      CHECK_WEAPONS
    when :armor
      CHECK_ARMORS
    when :item
      CHECK_ITEMS
    end
  end

  def can_pick_skill?(item_id)
    PICK_SKILL_ITEMS.has_key?(item_id)
  end

  def has_pick_skills?(item_id, skills)
    skills.has_any?(PICK_SKILL_ITEMS[item_id][:have])
  end

  def pick_skills(item_id)
    PICK_SKILL_ITEMS[item_id]
  end
end

class Array
  def has_any?(ary)
    return false unless ary
    result = self & ary
    result.any?
  end
end

class RPG::Item
  def can_pick_skill?
    KEquipSkills.can_pick_skill?(@id)
  end

  def has_pick_skills?(skills)
    KEquipSkills.has_pick_skills?(@id, skills)
  end
end

class Game_Battler
  alias :kyon_ekuip_skills_gm_btlr_item_fx :item_effect
  def item_effect(item)
    result = update_item_skills(item) if actor?
    effective = kyon_ekuip_skills_gm_btlr_item_fx(item)
    result or effective
  end

  def actor?
    @actor_id != nil
  end
end

class Game_Actor
  alias :kyon_ekuip_skills_gm_actor_init :initialize
  alias :kyon_ekuip_skills_gm_actor_sklr? :skill_learn?
  alias :kyon_ekuip_skills_gm_actor_skills :skills
  alias :kyon_ekuip_skills_gm_actor_equip :equip
  def initialize(actor_id)
    @equip_skills = []
    @equip_check_type = KEquipSkills.equip_check_type(actor_id)
    @item_check_type = KEquipSkills.item_check_type(actor_id)
    kyon_ekuip_skills_gm_actor_init(actor_id)
    update_equip_skills
  end

  def skill_learn?(skill_id)
    return true if self.equip_skills.include?(skill_id)
    kyon_ekuip_skills_gm_actor_sklr?(skill_id)
  end

  def teach_item_skills?(item_id)
    return true if KEquipSkills::DIRECT_ITEMS.has_key?(item_id)
    item = KEquipSkills.find_group(:item)[item_id] || []
    return if item.empty?
    return true if [0, @class_id].has_any?(item[:class])
    return true if [0, @actor_id].has_any?(item[:actor])
    nil
  end

  def check_equipment_skills(kind, item_id)
    item = KEquipSkills.find_group(kind)[item_id] || []
    return if item.empty?
    return item[:skill] if [0, @class_id].has_any?(item[:class])
    return item[:skill] if [0, @actor_id].has_any?(item[:actor])
    []
  end

  def check_item_skills(item_id)
    check_equipment_skills(:item, item_id)
  end

  def check_weapon_skills(item_id)
    check_equipment_skills(:weapon, item_id)
  end

  def check_armor_skills(item_id)
    check_equipment_skills(:armor, item_id)
  end

  def update_item_skills(item)
    item_id = item.id
    total = @skills.size
    if item.can_pick_skill?
      return false unless item.has_pick_skills?(@skills)
      data = KEquipSkills::PICK_SKILL_ITEMS[item_id][:learn]
      @skills << data[KEquipSkills.pick_index]
    elsif @item_check_type == :direct
      @skills += KEquipSkills::DIRECT_ITEMS[item_id]
    elsif @item_check_type == :checks
      @skills += check_item_skills(item_id)
    end
    @skills = @skills.compact.uniq.sort
    @skills.size > total
  end

  def equip(equip_type, id)
    kyon_ekuip_skills_gm_actor_equip(equip_type, id)
    update_equip_skills
  end

  def update_equip_skills
    @equip_skills.clear
    case @equip_check_type
    when :direct
      @equip_skills += KEquipSkills::DIRECT_WEAPONS[@weapon_id]
      direct_armors = KEquipSkills::DIRECT_ARMORS
      @equip_skills += direct_armors[@armor1_id]
      @equip_skills += direct_armors[@armor2_id]
      @equip_skills += direct_armors[@armor3_id]
      @equip_skills += direct_armors[@armor4_id]
    when :checks
      @equip_skills += check_weapon_skills(@weapon_id)
      @equip_skills += check_armor_skills(@armor1_id)
      @equip_skills += check_armor_skills(@armor2_id)
      @equip_skills += check_armor_skills(@armor3_id)
      @equip_skills += check_armor_skills(@armor4_id)
    end
    @equip_skills = @equip_skills.compact
  end

  def equip_skills
    @equip_skills
  end

  def skills
    kyon_ekuip_skills_gm_actor_skills | equip_skills
  end
  attr_accessor :item_check_type, :equip_check_type
end

class Game_Party
  alias :kyon_equip_skills_item_can_use? :item_can_use?
  def teach_item_skills?(item_id)
    @actors.each {|actor| return true if actor.teach_item_skills?(item_id) }
  end

  def item_can_use?(item_id)
    return true if teach_item_skills?(item_id)
    kyon_equip_skills_item_can_use?(item_id)
  end
end
Reply }
Steel Beast 6Beets Wrote:items can still be used in unchecked characters even if they won't learn the skill.

Then it's working just as it was originally intended. It would be another story if heroes could still learn the skill(s).
"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 }
(04-25-2024, 04:41 AM)kyonides Wrote:
Steel Beast 6Beets Wrote:items can still be used in unchecked characters even if they won't learn the skill.

Then it's working just as it was originally intended. It would be another story if heroes could still learn the skill(s).
That doesn't happen in your demo though. Skill-teaching items cannot be used in unchecked characters.
Reply }
What? You expect Kyonides to stress test his own scripts?
[Image: u9Oppt3.gif]
HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA!

No flame! This is just a fact of life we've all come to accept. I'm not gonna make any attempt to even prove this has happened before or go into this mindset like-- The sky is blue.

As for me, I've gotten some more work done on the Brochures, after making 104 pamphlets I clearly decided that i hadn't suffered enough, so now i have 118 Brochures to do. That said, I've already gotten 25 of them done, so... over a fifth of the way done! Here's a preview with a description that goes unfathomably hard.
[Image: qmKh3cj.png]
As you will see in my prior video, the choice box is overlayed on top of the images. This is just the saved out photoshop file!
Reply }
Contrary to some arrogant people's beliefs and imaginations, we're all humans and make mistakes or forget something. Sometimes it's not even a scripter's fault when some people want to use a script in unusual ways.

Even famous scripters have left known bugs untouched for a couple of years or even for over a decade. Scripts aren't immune to patching.

There are other times when the introduction of new features break old ones. This is especially true when working with default scripts like XP's equipment / item scene and Game_Actor class. They're not modular enough to make it easy for scripters to add more features in no time.

It isn't always a straight forward path to success unless you prefer to overwrite everything. You all see, for some people (backward) compatibility is quite important. This alone can turn seemingly easy tasks into actual nightmares in some cases.

One of the bugs reported has been fixed already. Let's see if I can track Steel's bugs down as well. I hope they're not related to some minimal edit of the default scripts that he might have overlooked so far. Those are painfully frustrating.
"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 }
When errors emerge as the norm rather than the exception, the "everybody makes mistakes" excuse doesn't really hold water anymore.

I'm so keyed to work on Disk 3 I'm making more mockups, ha ha!
[Image: 70h9rtD.gif]
Reply }




Users browsing this thread: 83 Guest(s)