Posts: 439
Threads: 15
Joined: Feb 2021
04-13-2024, 03:53 AM
(This post was last modified: 04-13-2024, 04:12 AM by Remi-chan.)
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:
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!
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:
Posts: 439
Threads: 15
Joined: Feb 2021
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!
Posts: 494
Threads: 9
Joined: Sep 2013
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.
Posts: 11,193
Threads: 649
Joined: May 2009
(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...)
Above are clickable links
Posts: 494
Threads: 9
Joined: Sep 2013
(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
Posts: 4,592
Threads: 536
Joined: Dec 2009
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.
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: 494
Threads: 9
Joined: Sep 2013
04-25-2024, 12:52 PM
(This post was last modified: 04-25-2024, 01:02 PM by Steel Beast 6Beets.)
(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.
Posts: 439
Threads: 15
Joined: Feb 2021
What? You expect Kyonides to stress test his own scripts?
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.
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!
Posts: 4,592
Threads: 536
Joined: Dec 2009
04-26-2024, 09:16 AM
(This post was last modified: 04-27-2024, 10:21 PM by kyonides.)
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.
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: 439
Threads: 15
Joined: Feb 2021
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!
|