Jump to content

Recommended Posts

the only issue i really have at the moment is the stats (few other minor things aswell)

 

The nature of the script is likely the cause of the other minor problems.

Looking back at the design, it is not a very flexible script.

Share this post


Link to post
Share on other sites

ok made a semi fix for the stats

replace

 def self.create_actor(enemy_id)
   actor_id = new_actor_id
   class_id = new_class_id
   enemy = $data_enemies[enemy_id]
   new_class = create_class(class_id, enemy.class_name)

   actor = RPG::Actor.new
   actor.id = actor_id
   actor.name = enemy.name
   actor.class_id = class_id
   actor.character_name = enemy.character_name
   actor.character_index = enemy.character_index
   actor.face_name = enemy.face_name
   actor.face_index = enemy.face_index
   actor.features = enemy.features.clone
   actor.enemy_params = enemy.params
   setup_extra(actor, enemy)
   return actor, new_class
 end

with

 def self.create_actor(enemy_id)
   actor_id = new_actor_id
   class_id = enemy_id+10#new_class_id
   enemy = $data_enemies[enemy_id]
   new_class = create_class(class_id, enemy.class_name)

   actor = RPG::Actor.new
   actor.id = actor_id
   actor.name = enemy.name
   actor.class_id = class_id
   actor.character_name = enemy.character_name
   actor.character_index = enemy.character_index
   actor.face_name = enemy.face_name
   actor.face_index = enemy.face_index
   actor.features = enemy.features.clone
   #actor.enemy_params = enemy.params
   setup_extra(actor, enemy)
   return actor, new_class
 end

note

   class_id = enemy_id+10#new_class_id

can be changed so if u recruit as slime it will have class id 11 change the +10 to what ever is needed for the correct class (you'll also need to change the class stats to reflect the enemy stats)

Share this post


Link to post
Share on other sites

ok made a semi fix for the stats

replace

 def self.create_actor(enemy_id)
actor_id = new_actor_id
class_id = new_class_id
enemy = $data_enemies[enemy_id]
new_class = create_class(class_id, enemy.class_name)

actor = RPG::Actor.new
actor.id = actor_id
actor.name = enemy.name
actor.class_id = class_id
actor.character_name = enemy.character_name
actor.character_index = enemy.character_index
actor.face_name = enemy.face_name
actor.face_index = enemy.face_index
actor.features = enemy.features.clone
actor.enemy_params = enemy.params
setup_extra(actor, enemy)
return actor, new_class
 end

with

 def self.create_actor(enemy_id)
actor_id = new_actor_id
class_id = enemy_id+10#new_class_id
enemy = $data_enemies[enemy_id]
new_class = create_class(class_id, enemy.class_name)

actor = RPG::Actor.new
actor.id = actor_id
actor.name = enemy.name
actor.class_id = class_id
actor.character_name = enemy.character_name
actor.character_index = enemy.character_index
actor.face_name = enemy.face_name
actor.face_index = enemy.face_index
actor.features = enemy.features.clone
#actor.enemy_params = enemy.params
setup_extra(actor, enemy)
return actor, new_class
 end

note

class_id = enemy_id+10#new_class_id

can be changed so if u recruit as slime it will have class id 11 change the +10 to what ever is needed for the correct class (you'll also need to change the class stats to reflect the enemy stats)

 

how to make monster that i capture have same monster image, exs if i capture slime , my hero follower is slime monster ..not another monster image(black shadow monster)

Share this post


Link to post
Share on other sites

instead of

 def self.create_actor(enemy_id)
    actor_id = new_actor_id
    class_id = enemy_id+10#new_class_id
    enemy = $data_enemies[enemy_id]
    new_class = create_class(class_id, enemy.class_name)

to

 def self.create_actor(enemy_id)
    actor_id = enemy_id+10#new_actor_id
    class_id = new_class_id
    enemy = $data_enemies[enemy_id]
    new_class = create_class(class_id, enemy.class_name)

Share this post


Link to post
Share on other sites

instead of

 def self.create_actor(enemy_id)
	actor_id = new_actor_id
	class_id = enemy_id+10#new_class_id
	enemy = $data_enemies[enemy_id]
	new_class = create_class(class_id, enemy.class_name)

to

 def self.create_actor(enemy_id)
	actor_id = enemy_id+10#new_actor_id
	class_id = new_class_id
	enemy = $data_enemies[enemy_id]
	new_class = create_class(class_id, enemy.class_name)

 

there's something wrong, when i capture 2 slime but only 1 slime i have ,and i can't capture slime in another battle

Share this post


Link to post
Share on other sites

instead of

 def self.create_actor(enemy_id)
	actor_id = new_actor_id
	class_id = enemy_id+10#new_class_id
	enemy = $data_enemies[enemy_id]
	new_class = create_class(class_id, enemy.class_name)

to

 def self.create_actor(enemy_id)
	actor_id = enemy_id+10#new_actor_id
	class_id = new_class_id
	enemy = $data_enemies[enemy_id]
	new_class = create_class(class_id, enemy.class_name)

 

when i capture 2 slime but only 1 slime i have

and next battle i capture 2 slime but still i have 1 slime monster ,not 3 slime

Share this post


Link to post
Share on other sites

That's because the actor ID is hardcoded and will always be the same (in this case, probably 11).

So no matter how many slimes you get, it will always be actor ID 11.

 

I made it a new actor ID because you're creating a completely new actor.

Share this post


Link to post
Share on other sites

yh also

formar0153's clone actor script can fix this making a simple change

http://cobbtocs.co.uk/wp/?p=125

 

replace

 def self.create_game_actor(actor_id)
   return if $BTEST
   game_actor = Game_Actor.new(actor_id)
   $game_actors.add_actor(game_actor)
   $game_party.add_actor(actor_id)
 end

 

with

 

 def self.create_game_actor(actor_id)
   return if $BTEST
   game_actor = Game_Actor.new(actor_id)
   $game_actors.add_actor(game_actor)
   $game_variables[1]=$game_actors[actor_id,true]
   $game_party.add_actor($game_variables[1])
 end

Share this post


Link to post
Share on other sites

I'm sure I set the new actor ID to be one larger than the highest actor ID.

Which is exactly what fomar's script does, except you have to manually specify the size of the actor list.

Edited by Tsukihime

Share this post


Link to post
Share on other sites

yh but with formas you can set the stats to match the monsters, traits and other aspects i'm still struggling however to combine with yanflys monster leve/doubleganger scripts because recruited minsters start from lvl 1 again also trying to figure out how to get the script to work only if the monster is killed by a defined skill or item

Share this post


Link to post
Share on other sites

Fomar's script just means you don't have to understand how any of it works.

I don't have any custom levels for enemies because this is for the default engine.

 

If you want to copy the level over, you just need to add

 

actor.level = enemy.level

 

You will also need to pass in the specific enemy if the level is generated at run-time.

 

For more specific captures, you will need to implement a "last item" instance variable which stores the skill/item that was last used. In the case of "killing" a monster, the last_used variable will hold a reference to the skill/item that dealt the finishing blow.

Share this post


Link to post
Share on other sites
If you want to copy the level over, you just need to add

 

actor.level = enemy.level

 

You will also need to pass in the specific enemy if the level is generated at run-time.

 

For more specific captures, you will need to implement a "last item" instance variable which stores the skill/item that was last used. In the case of "killing" a monster, the last_used variable will hold a reference to the skill/item that dealt the finishing blow.

 

not quite sure what you mean here

Share this post


Link to post
Share on other sites

hello! thanks for the cool script! but i have a problem with it...

i use the monster hunter script with your summon system.

after recruiting a monster it doesn't appear in my summonlist D:

can u help me please?!

Share this post


Link to post
Share on other sites

I keep getting:

 

Script 'Game_Actor' line 119: NoMethodError occurred.

undefined method `size' for NilClass

 

I'm new to this kind of stuff and I don't know how to fix it,can anyone help?

Share this post


Link to post
Share on other sites

Is there a way to only make this active is a specific character is in the party?  For example I'd like one character that can trap the souls of those he battles and then summon them to fight for him.  But if he isn't in the party I don't want any creatures to be able to be captured. 

 

So i guess a way to enable or disable the script upon him being in the formation.

Share this post


Link to post
Share on other sites

I will not be updating this script since it is a boring script and there are too many problems with it.

Hope someone else will be able to write a proper monster catching script!

 

I don't know if you still maintain this script but I was looking for something similar and tried out your script. It gives me errors when I try to recruit a new capture. Also something called error: 103 pops up every now and then.

 

Screenshots and Demo provided.

 

e97upv.jpg

 

2d2fymr.jpg

Other scripts I'm using are -

  • (YES) Battle Symphony
  • (Tsukihime) Custom Database
  • (Tsukihime) Battle Summon

MonsterCaptureDemo.zip

Edited by CodenameD

Share this post


Link to post
Share on other sites

So theres nothing more being done with this script? I'm getting the same asCodenameD, when I confirm that I want the monster I'm capturing.

Share this post


Link to post
Share on other sites

So, I realize that this post is way late, but is there a way to make it so that they can only be recruited by use of a skill? Like in my game I have a character that has the ability to tame enemies, but you don't gain that character until later, but with the script it gives me the option right from the start. Any ideas?

Share this post


Link to post
Share on other sites

how to set enemy level and how to learn skill with level please ?

Thank you :)

Share this post


Link to post
Share on other sites

Hello, I tried so many ways to make this script work but, line 119 is in the way again!

Is there anyway to fix that. ONE. LINE?!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
Top ArrowTop Arrow Highlighted