Submit Your Article Guild Wars 2 Forum
RPG Maker VX
 
Gallery Members Search Calendar Help


Join the Guild Wars 2 Forum Community!

Welcome Guest ( Log In | Register )



 
Reply to this topicStart new topic
> Learn Skill by Scanning, Like in Wild Arms Alter Code F
zbdarkflame
post Oct 1 2009, 11:11 PM
Post #1


Mysterious Shaman
Group Icon

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


--------------------
Go to the top of the page
 
+Quote Post
   
Zyrow
post Oct 2 2009, 05:20 AM
Post #2


Look at my epic use of gravity to stay on the ground
Group Icon

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:
QUOTE
Olny 55% of plepoe can.
I cdnuolt blveiee taht I cluod aulaclty uesdnatnrd waht I was rdanieg. The phaonmneal pweor of the hmuan mnid, aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, it dseno't mtaetr in waht oerdr the ltteres in a wrod are, the olny iproamtnt tihng is taht the frsit and lsat ltteer be in the rghit pclae. The rset can be a taotl mses and you can sitll raed it whotuit a pboerlm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe. Azanmig huh? yaeh and I awlyas tghuhot slpeling was ipmorantt!
fi yuo cna raed tihs, palce it in yuor siantugre.


More quotes

Spoiler:
QUOTE
Sure, it can be done, but I can also turn a blender into a toaster if I try hard enough. - BigEd 781


Spoiler:
QUOTE
Never try to argue with a fool. In their mind, they always win. - Zyrow



Which Final Fantasy Character Are You?
Final Fantasy 7

Go to the top of the page
 
+Quote Post
   
neosky
post Oct 2 2009, 06:25 AM
Post #3


Master of the DarkSyde of Cheese!
Group Icon

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:




Photobucket
Deviant Art
Also Support these or suffer!!!







Go to the top of the page
 
+Quote Post
   
Raian the Fallen
post Oct 2 2009, 08:09 AM
Post #4


Apparently Mianus, CT, doesn't have a ZIP code.
Group Icon

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:
"This is the worst type of discrimination- the kind against me." -Bender, Futurama
"My God, cover yourself! I didn't live a thousand years and travel a quadrillion miles to look at another man's gizmo!" -Richard Nixon, Futurama
"Time... lines? Time is not made out of lines. It is made out of circles. That is why clocks are round! -Caboose, Red vs Blue"
Go to the top of the page
 
+Quote Post
   
zbdarkflame
post Oct 3 2009, 04:58 PM
Post #5


Mysterious Shaman
Group Icon

Posts: 837
Gender: Male
Type: Designer
Alignment: Neutral Good




QUOTE (neosky @ Oct 2 2009, 02:25 AM) *
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.


--------------------
Go to the top of the page
 
+Quote Post
   
zbdarkflame
post Oct 8 2009, 05:05 PM
Post #6


Mysterious Shaman
Group Icon

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.


--------------------
Go to the top of the page
 
+Quote Post
   
zbdarkflame
post Oct 11 2009, 05:56 PM
Post #7


Mysterious Shaman
Group Icon

Posts: 837
Gender: Male
Type: Designer
Alignment: Neutral Good




Been 72hrs. Time to bump this again.


--------------------
Go to the top of the page
 
+Quote Post
   
zbdarkflame
post Oct 15 2009, 03:31 PM
Post #8


Mysterious Shaman
Group Icon

Posts: 837
Gender: Male
Type: Designer
Alignment: Neutral Good




Its been a while so time to Bump!


--------------------
Go to the top of the page
 
+Quote Post
   
zbdarkflame
post Mar 14 2010, 03:13 AM
Post #9


Mysterious Shaman
Group Icon

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.


--------------------
Go to the top of the page
 
+Quote Post
   
zbdarkflame
post Mar 18 2010, 11:13 PM
Post #10


Mysterious Shaman
Group Icon

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.


--------------------
Go to the top of the page
 
+Quote Post
   
RPGI
post Mar 19 2010, 01:49 AM
Post #11


NA
Group Icon

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.


--------------------
Variables don't work? Get the fix here!

- Beginners click here!
Go to the top of the page
 
+Quote Post
   
zbdarkflame
post Mar 20 2010, 07:46 PM
Post #12


Mysterious Shaman
Group Icon

Posts: 837
Gender: Male
Type: Designer
Alignment: Neutral Good




RPGI...why did I not see your post earlier? huh.gif I'm sorry I'm kinda late with this reply. sad.gif

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.


--------------------
Go to the top of the page
 
+Quote Post
   
RPGI
post Mar 20 2010, 09:06 PM
Post #13


NA
Group Icon

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 wink.gif . On a related note, I only just noticed when you made the topic and holy crap, I can't believe you've been waiting 5 months for the script. Anyway if you happen to find any problems just send a message my way. Hope this is what you're are looking for and enjoy smile.gif .

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


--------------------
Variables don't work? Get the fix here!

- Beginners click here!
Go to the top of the page
 
+Quote Post
   
zbdarkflame
post Mar 20 2010, 10:25 PM
Post #14


Mysterious Shaman
Group Icon

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.


--------------------
Go to the top of the page
 
+Quote Post
   

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 3rd September 2010 - 08:19 AM

RPGMakerVX.net is an Privacy Policy, Legal.