![]() |
![]() ![]() |
Oct 1 2009, 11:11 PM
Post
#1
|
|
![]() Mysterious Shaman ![]() Posts: 837 Gender: Male Type: Designer Alignment: Neutral Good |
First off, if there is a script out there that does this already, and I think there might be, I can't find it. I'm really sorry, and I did try. There were a few that looked like they might work, but weren't quite what I was looking for, or were very far off from what I wanted to do.
Learn Skill By Scanning What does it do: This is basically a skill that allows you to learn enemy skills by using a skill on an enemy. So what I'm envisioning is that you would set up a skill, lets call it "Download." You would either insert the skill id in an array or by putting in note tags like <learnscan>. Then, with either note tags or an array, you would define skills that could be learned. Let's say one such skill was "Sonic Slash." So, in battle, you are fighting an enemy that has the skill "Sonic Slash" You use "Download" on that enemy, and if the skill hits, a message appears and you learned the skill, or failed to learn it. So, in short: 1) Creates a skill that is used to learn skills 2) Creates skills that can be learned from #1 3) When #1 is used in battle, and an enemy has #2, you learn skill that skill 4) Makes a message appear in battle when that message is learned or if it failed. (I don't think this last part would have any compatibility problems, but since I'm not sure, I'll mention that I'm using Ziifii's Wait Gauge Spin Battle System: Link) (Optional: somehow have it so that the effectiveness of the scan is based on your own and an enemies spirit. So if your spirit is higher, then the effectiveness of the scan is much greater, but if your spirit is lower, there is less of a chance that the skill will be learned. This is more or less simple "frosting on the cake" and not really necessary) What is an example of this: Wild Arms Alter Code F has a character, Emma, that could learn enemies skills through this method. This is also like the lancet skill from FFX. I'm sorry, but I can't currently think of any other examples. Final Word: Thank you whoever makes this (or points me in the right direction) script. I would greatly appreciate it. I will, of course, give credit and praise you with thanks. If anyone needs more information, I'll try to oblige. Again, thank you for your help, and for reading this topic. This post has been edited by zbdarkflame: Oct 27 2009, 01:37 AM -------------------- |
|
|
|
Oct 2 2009, 05:20 AM
Post
#2
|
|
![]() Look at my epic use of gravity to stay on the ground ![]() Posts: 39 Type: Coder |
Tell me if I'm wrong, but I believe you can do most of this through eventing.
-------------------- can you read this
Spoiler: More quotes Spoiler: Spoiler: ![]() Which Final Fantasy Character Are You? Final Fantasy 7 |
|
|
|
Oct 2 2009, 06:25 AM
Post
#3
|
|
![]() Master of the DarkSyde of Cheese! ![]() Posts: 859 Type: Undisclosed Alignment: Lawful Evil |
I have a script where you can learn a skill by guarding. Your character guards and they use the skill, and you learn it. You can use it right then in battle also.
You can set all your skills you want to allow to learn by making a state called learn skill, then just press that state on the skills that easy. Also you can set all your characters or just one or two to learn them. -------------------- ![]() I is Spoiler: |
|
|
|
Oct 2 2009, 08:09 AM
Post
#4
|
|
![]() Apparently Mianus, CT, doesn't have a ZIP code. ![]() Posts: 47 |
Kimari from Final Fantasy X has a similar action.
His skill is called Lancet. The skill absorbs HP and MP from one enemy. However, if Kimari uses Lancet on a monster that holds an Overdrive he can use, he will immediately learn it. I'm sure we have a Lancet system somewhere. -------------------- ![]() My RMVX project. Still being worked on, but I do have a logo. By myself. Games I support. Spoiler: Lolworthy Quotes Spoiler: |
|
|
|
Oct 3 2009, 04:58 PM
Post
#5
|
|
![]() Mysterious Shaman ![]() Posts: 837 Gender: Male Type: Designer Alignment: Neutral Good |
I have a script where you can learn a skill by guarding. Your character guards and they use the skill, and you learn it. You can use it right then in battle also. You can set all your skills you want to allow to learn by making a state called learn skill, then just press that state on the skills that easy. Also you can set all your characters or just one or two to learn them. Could you give me a link to that script Neo? It doesn't quite sound like what I need, but its well worth a look at, maybe as a back up if nothing else shows up. Thank you Raian, FFX is something that many more people have played. I had completely forgotten the lancet skill, although I don't want to recover HP and MP, it is another very good example of what I need done. So does someone know of a script like this, or must I hope that someone takes it up. Ether way, I'll be patient. -------------------- |
|
|
|
Oct 8 2009, 05:05 PM
Post
#6
|
|
![]() Mysterious Shaman ![]() Posts: 837 Gender: Male Type: Designer Alignment: Neutral Good |
I hate to do this, but this is kinda a necessity for my game so...Bump. Again, if anyone needs more information just tell me.
-------------------- |
|
|
|
Oct 11 2009, 05:56 PM
Post
#7
|
|
![]() Mysterious Shaman ![]() Posts: 837 Gender: Male Type: Designer Alignment: Neutral Good |
Been 72hrs. Time to bump this again.
-------------------- |
|
|
|
Oct 15 2009, 03:31 PM
Post
#8
|
|
![]() Mysterious Shaman ![]() Posts: 837 Gender: Male Type: Designer Alignment: Neutral Good |
Its been a while so time to Bump!
-------------------- |
|
|
|
Mar 14 2010, 03:13 AM
Post
#9
|
|
![]() Mysterious Shaman ![]() Posts: 837 Gender: Male Type: Designer Alignment: Neutral Good |
OK...to make a very long story very short, I still need this script done. I know this request is kinda being dragged from the dead, but it is still very important for me to have this system. What the first post still says is true, and so, if anyone can make this, or can point me in the right direction, please do so. I would be much appreciated.
And I did just go through the last few months worth of script releases here and still did not see anything like this kinda system. -------------------- |
|
|
|
Mar 18 2010, 11:13 PM
Post
#10
|
|
![]() Mysterious Shaman ![]() Posts: 837 Gender: Male Type: Designer Alignment: Neutral Good |
And yet, another bump. Is this one of those wishful thinking scripts that will never come I wonder.
-------------------- |
|
|
|
Mar 19 2010, 01:49 AM
Post
#11
|
|
![]() NA ![]() Posts: 155 Type: Coder Alignment: Chaotic Good |
I can give this script a go, I'll just like to clarify a few things:
1. Do you want to be able to specify ONE skill that can be used to learn ALL learnable skills that you define, OR do you want to be able to define certain skills that can only learn one or more skills? Eg. A skill named 'Learn Fire' can only be used to learn 'Fire1', 'Fire2' whilst 'Learn Ice' can only be used to learn 'Ice1', 'Ice2'. 2. Do you have any formula in mind to determine the 'success ratio' of the learning skills? I'll probably make this easy to customize in the script if I can. 3. Since you are using a battle system with popups, would you like the success / failure message to be a popup like the damage numbers instead of using a standard message box? Ok, if no one beats me to it I'll try and do this script for you. -------------------- |
|
|
|
Mar 20 2010, 07:46 PM
Post
#12
|
|
![]() Mysterious Shaman ![]() Posts: 837 Gender: Male Type: Designer Alignment: Neutral Good |
RPGI...why did I not see your post earlier?
1: I personally only need 1 skill that can learn everything. But if you were to ever release the script as something anyone can use I would certainly suggest giving the option to define skills that can be learned for the sake of customization. It depends on how you want to do the script I guess. 2: I was thinking that Spirit could be used to influence the success ratio. So if an enemy had 0 spirit then the success ratio would be 100%. Every 5 additional spirit points (up to a spirit of 100) would decrease the success rate by 1%. So at a spirit of 55 the success rate would be 89% and at a spirit of 100 the rate would be at 80%. After a spirit of 100 the success rate would decrease by 1% for ever ten points added to spirit. So at a spirit of 120 the rate would be 78%. It would also be useful (if possible) to have a tag that could set a rate for a specific monster (so that basses and special enemies could have a more difficult success rate). Just an idea though. 3: If the popup is possible, I think that would be the way to go. Thank you so much RPGI for taking this up for me. I was beginning to think that I might have to rethink the concept behind one of my characters. Again, sorry I didn't see this earlier and hopefully the information I gave you is clear and useful. Again, thank you. -------------------- |
|
|
|
Mar 20 2010, 09:06 PM
Post
#13
|
|
![]() NA ![]() Posts: 155 Type: Coder Alignment: Chaotic Good |
Ok I think I have the script in perfect working order. I bet you didn't think the script would come so soon did you
PS: Oh and by the way I tailored the script to your request and setup so it will only work with ziifee's Wait Battle System. CODE #============================================================================== # ** Learning Skills from Skills by RPGI #------------------------------------------------------------------------------ # # ++[Only works with ziifee's Wait Battle System]++ # requested by zbdarkflame who has been waiting for so long. ^.^ # # This script adds the ability to define skills that may be used to learn # enemy skills. Skills that can be learnt are defined within the skill that # is used to learn skills. # # How to use: # To define a skill that can learn ALL skills that are defined as learnable, # use the following notetag: # <learnskillall> # A skill can be defined as being learnable by using the notetag: # <canlearn> # To define a skill that is used to learn only CERTAIN learnable skills # use the following notetag in the skill learner skill: # <learnskill=ID> where ID is the skill that can be learnt # A skill can be used to learn multiple LEARNABLE skills by using the # notetag: # <learnskill=ID1,ID2,ID3> -there is no limit to the number of skills, # -just separate additional skills with commas. # To specify a custom success rate of learning (eg. for bosses and # unique battles), place in the enemy notebox: # <learnchance=X> where X is the chance of learning (0..100) # #------------------------------------------------------------------------------ # ** Customisation Section #------------------------------------------------------------------------------ module SkillLearnSkill # This is the message that will be displayed when a skill is learnt. "%s" # represents the name of the skill learnt in the string. LEARN_MESSAGE = "Learnt %s" # This determines over which battler LEARN_MESSAGE will popup. When set to # "true", the message will popup over the learner (actor). When false the # message will popup over the enemy. POPUP_ON_LEARNER = false # This is the message that is displayed if there is no skills learnable from # the target or if the user has already aquired the skills. NO_SKILLS_LEARNABLE_MSG = "No Skills" # This is the message that appears when skill learning attempt has failed. MISS_MSG = "Miss" # Same coloring convention as ziifee but for learning popup. LEA = Color.new(240, 224, 255) # Color LEA_F = Color.new(96, 96, 96) # Frame Color # If a sound is to be played when a skill is learned set the variable below # to true. PLAY_SOUND = false # If PLAY_SOUND is true, the following is used as the sound. Sounds can only # be SE. SOUND = RPG::SE.new("Chime2", 80, 100) #============================================================================== def self.determine_scan(target) return target.learnchance if target.learnchance != -1 #---FORMULA FOR DETERMINING SUCCESS RATE--------------------------------------- if target.spi > 100 then return 100 - 20 - (target.spi - 100) / 10 else return 100 - target.spi / 5 end #---FORMULA FOR DETERMINING SUCCESS RATE--------------------------------------- end #============================================================================== end class Scene_Battle < Scene_Base def display_action_effects(target, obj = nil) unless target.skipped line_number = @message_window.line_number @status_window.refresh display_critical(target, obj) display_damage(target, obj) display_state_changes(target, obj) display_scan_result(target, obj) if line_number == @message_window.line_number if obj == nil or (obj.learnskill.empty? and !obj.learnskillall) display_failure(target, obj) unless target.states_active? end end @message_window.back_to(line_number) end end def display_scan_result(target, obj = nil) return if obj == nil return unless @active_battler.actor? return if target.actor? return if obj.learnskill.empty? and !obj.learnskillall percentage = SkillLearnSkill::determine_scan(target) unless percentage >= rand(100) + 1 then create_popup(target, SkillLearnSkill::MISS_MSG, ZiiDP::MIS, ZiiDP::MIS_F) wait(30) return end learnt = false if obj.learnskillall then for action in target.enemy.actions do next unless action.kind == 1 if $data_skills[action.skill_id].canlearn and !@active_battler.skill_learn?($data_skills[action.skill_id]) then @active_battler.learn_skill(action.skill_id) learnt = true text = sprintf(SkillLearnSkill::LEARN_MESSAGE, $data_skills[action.skill_id].name) battler = (SkillLearnSkill::POPUP_ON_LEARNER ? @active_battler : target) create_popup(battler, text, SkillLearnSkill::LEA, SkillLearnSkill::LEA_F) SkillLearnSkill::SOUND.play if SkillLearnSkill::PLAY_SOUND wait(30) end end else for skill_id in obj.learnskill do for action in target.enemy.actions do next unless action.kind == 1 if action.skill_id == skill_id and !@active_battler.skill_learn?($data_skills[skill_id]) then @active_battler.learn_skill(skill_id) learnt = true text = sprintf(SkillLearnSkill::LEARN_MESSAGE, $data_skills[skill_id].name) battler = (SkillLearnSkill::POPUP_ON_LEARNER ? @active_battler : target) create_popup(battler, text, SkillLearnSkill::LEA, SkillLearnSkill::LEA_F) SkillLearnSkill::SOUND.play if SkillLearnSkill::PLAY_SOUND wait(30) end end end end unless learnt then create_popup(target, SkillLearnSkill::NO_SKILLS_LEARNABLE_MSG, ZiiDP::MIS, ZiiDP::MIS_F) wait(30) end end end class Game_Enemy < Game_Battler def learnchance return (self.enemy.note[/<learnchance=(\d+)>/] != nil ? $1.to_i : -1) end end class RPG::Skill def learnskill result = [] if self.note[/<learnskill=(.+)>/] != nil then result = $1.split(",").map { |skill_id| skill_id.to_i } end return result end def learnskillall return (self.note[/<learnskillall>/] != nil) end def canlearn return (self.note[/<canlearn>/] != nil) end end -------------------- |
|
|
|
Mar 20 2010, 10:25 PM
Post
#14
|
|
![]() Mysterious Shaman ![]() Posts: 837 Gender: Male Type: Designer Alignment: Neutral Good |
Been playing around with the script and it works perfectly. It's everything I could have wanted and more. Thank you so much RPGI! You did a really good job here.
-------------------- |
|
|
|
![]() ![]() |
| Lo-Fi Version | Time is now: 3rd September 2010 - 08:19 AM |
|
|