|
Auteur | Message |
---|
Invité Invité
| Sujet: [VX] Ennemi invocateur Mer 21 Sep 2011 - 20:02 | |
| DescriptionLes ennemis peuvent appeler des renforts en combat, par contre allez-y mollo sinon ça risque de lagguer. =/ InsctructionA placer dans la notebox d'une compétence ennemi - Code:
-
\summon_enemy[1, 35, 45, 3] - 1 ID de l'ennemi qui sera invoquer - 35 la position X - 45 la position Y - 3 le pourcentage de chance ici 25% qu'un nouvel ennemi apparaisse (1 = 100% de chance). Auteurmodern algebra Vieux screen de mon ancien projet et oui, ils peuvent sortir de l'écran. xD - Code:
-
============================================================================== # Enemy Summon Skill # Version: 1.0 # Author: modern algebra (rmrk.net) # Date: May 8, 2010 #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Description: # # This script allows you to make skills for enemies where they can summon or # call additional enemies to the battlefield. This is NOT a summon skill that # can be used by actors - it can ONLY be used by enemies. #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Instructions: # # Place this script above Main and below Materials in its own slot in the # Script Editor (F11). # # You can set up some basic configuration options at line 52. Please see the # surrounding comments to see what each does. # # To create a summoning skill (again, this skill can ONLY be used by # enemies), all you need to do is put the following code (can be changed at # line 69 if you desire): # # \SUMMON_ENEMY[enemy_id, x, y, chance] # enemy_id : the ID of the enemy it can summon # x : the additional pixels along the axis the summoned creature is from # its summoner. If omitted, it defaults to the value at line 64. # y : the additional pixels along the axis the summoned creature is from # its summoner. If omitted, it defaults to the value at line 67. # chance: of the potential candidates for summoning, how likely this one # will be chosen over the others. If omitted, this defaults to 1. # # As you can probably tell, you can place a number of these codes in the # same notebox and thus you can make the same skill potentially summon # different enemies, and you can control that through the chance. # # EXAMPLES: # # A skill with its notebox set up like this: # \summon_enemy[1, 35, 45, 3] # \summon_enemy[2, 25, 35, 1] # # Would, when it succeeds (which is governed directly by the hit ratio of the # skill) summon the enemy with ID 1 (Default: Slime) 75% of the time and the # enemy with ID 2 (Default: Bat) 25% of the time, and the position, if it is # a slime would be 35 pixels to the right of the summoner and 45 pixels down, # or if it is the bat, then 25 pixels to the right of the summoner and 35 # pixels down. The chances are 75-25 because 3 + 1 = 4, which means that 3/4 # times the slime will be summoned and 1/4 times the bat will be summoned. #============================================================================== # CONFIGURATION #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # new constant - MAES_VOCAB_SUMMON_FAILURE; MAES_MAX_TROOP_SIZE; # MAES_DEFAULT_X_PLUS; MAES_DEFAULT_Y_PLUS; MAES_NOTECODE #============================================================================== # Message shown when a summon skill fails. =end MAES_VOCAB_SUMMON_FAILURE = "%s failed to summon ally!" # The maximum number of enemies in a troop (caps number of summons permitted) MAES_MAX_TROOP_SIZE = 5 # The default x offset for a summoned enemy from its summoner. If you manually # set this in the note box, this value will not be used. MAES_DEFAULT_X_PLUS = 35 # The default y offset for a summoned enemy from its summoner. If you manually # set this in the note box, this value will not be used. MAES_DEFAULT_Y_PLUS = 25 # This is the label code you need to put into a notebox. It is RegExp MAES_NOTECODE = "\\SUMMON_ENEMY"
#============================================================================== # ** RPG::Skill #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # new methods - ma_call_ally?; ma_call_ally #==============================================================================
class RPG::Skill #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Call Ally Skill? #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def ma_call_ally? return self.note[/#{MAES_NOTECODE}\[\d+.*?\]/i] != nil end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Call Ally Stats #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def ma_call_ally miss = rand (100) return nil if self.hit < miss possibilities = [] note = self.note.dup note.gsub! (/#{MAES_NOTECODE}\[(\d+)[,;]?\s*(-?\d*)[,;]?\s*(-?\d*)[,;]?\s*(\d*)\]/i) { |match| id = $1.to_i x = $2.empty? ? MAES_DEFAULT_X_PLUS : $2.to_i y = $3.empty? ? MAES_DEFAULT_Y_PLUS : $3.to_i percent = $4.empty? ? 1 : $4.to_i (percent).times do possibilities.push ([id, x, y]) end "" } return *possibilities[rand(possibilities.size)] end end
#============================================================================== # ** Game Enemy #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # attr_accessor - summon_count # aliased method - initialize, skill_can_use? #==============================================================================
class Game_Enemy #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Public Instance Variables #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ attr_accessor :ma_summon_count #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Object Initialization #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ alias moda_clally_intz_7uj2 initialize def initialize (*args) @ma_summon_count = 0 moda_clally_intz_7uj2 (*args) # Run Original Method end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Skill Can Use? #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ alias moral_caly_skllcnuse_6yh1 skill_can_use? def skill_can_use? (skill, *args) return false if skill.ma_call_ally? && $game_troop.members.size >= MAES_MAX_TROOP_SIZE return moral_caly_skllcnuse_6yh1 (skill, *args) end end
#============================================================================== # ** Game_Actor #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # aliased method - skill_can_use? #==============================================================================
class Game_Actor #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Skill Can Use? #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ alias modbr_ess_skcnuse_7uj2 skill_can_use? def skill_can_use? (skill, *args) return false if skill.ma_call_ally? return modbr_ess_skcnuse_7uj2 (skill, *args) end end
#============================================================================== # ** Game Troop #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # new method - ma_call_ally #==============================================================================
class Game_Troop #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Call Ally # user : the enemy using the skill # enemy_id : the ID of the enemy being summoned # x, y : screen coordinates to display enemy #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def ma_call_ally (user, enemy_id, x, y) user.ma_summon_count += 1 enemy = Game_Enemy.new (@enemies.size, enemy_id) good_position = false while !good_position enemy.screen_x = user.screen_x + (x*user.ma_summon_count) enemy.screen_y = user.screen_y + (y*user.ma_summon_count) good_position = true @enemies.each { |baddie| if baddie.screen_x == enemy.screen_x && baddie.screen_y == enemy.screen_y user.ma_summon_count += 1 good_position = false end } end @enemies.push(enemy) make_unique_names return enemy end end
#============================================================================== # ** Spriteset_Battle #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # new method - ma_call_enemy #==============================================================================
class Spriteset_Battle #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Call Enemy #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def ma_call_enemy (battler) @enemy_sprites.push(Sprite_Battler.new(@viewport1, battler)) end end
#============================================================================== # ** Scene_Battle #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # aliased method - execute_action_skill #==============================================================================
class Scene_Battle #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Execute Action Skill #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ alias malb_callally_exactsk_5hy1 execute_action_skill def execute_action_skill (*args) skill = @active_battler.action.skill if skill.ma_call_ally? enemy_id, x, y = skill.ma_call_ally if enemy_id.nil? text = sprintf (MAES_VOCAB_SUMMON_FAILURE, @active_battler.name) @message_window.add_instant_text(text) wait (30) return else target = $game_troop.ma_call_ally (@active_battler, enemy_id, x, y) @spriteset.ma_call_enemy (target) display_animation([target], skill.animation_id) end end malb_callally_exactsk_5hy1 (*args) # Run Original Method end end |
|
| |
Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [VX] Ennemi invocateur Mer 21 Sep 2011 - 20:33 | |
| Lol xDDD Il le multiplie comme des chaton x)
On peut pas limiter le nombre d'invoque ? |
|
| |
City Hunter Administrateur
Messages postés : 6524 Date d'inscription : 25/05/2011 Jauge LPC :
| Sujet: Re: [VX] Ennemi invocateur Ven 23 Sep 2011 - 21:25 | |
| Sympa ce script.. On en aurait pas déjà parler.. Il m'est pas totalement inconnu.. Enfin il me semble avoir discuté ou entendu parler de dépasser la limitation de monstre dans un combat avec ce script on explose le nombre Oo
Merci du partage ! |
|
| |
Maraki Paysan (niveau 4)
Messages postés : 30 Date d'inscription : 19/11/2011 Jauge LPC :
| Sujet: Re: [VX] Ennemi invocateur Sam 19 Nov 2011 - 20:05 | |
| Je sais c'est un nécropost. j'en suis sincérement désolé. Mais j'ai un problème avec le script. Le monstre utilise sa capacité pour invoquer un autre monstre, mais là rien ne se passe. Je me demande si cela est du au fait que le script sois entierement en commentaire. Merci. |
|
| |
Choco-sama Ancien staffeux
Messages postés : 3012 Date d'inscription : 19/10/2009 Jauge LPC :
| Sujet: Re: [VX] Ennemi invocateur Sam 19 Nov 2011 - 20:54 | |
| Aucun soucis, il vaut mieux poster dans le topic en lien avec le bon script^^
Pour ma part, je ne saurais t'aider, les script n'étant pas mon fort^^ |
|
| |
Maraki Paysan (niveau 4)
Messages postés : 30 Date d'inscription : 19/11/2011 Jauge LPC :
| Sujet: Re: [VX] Ennemi invocateur Sam 19 Nov 2011 - 21:01 | |
| Merci de la réponse, j'étais inquiet que dés le premier jour de mon inscription sur le forum je me prenne un avertissement. pour la réponse à ma question j'attendrai. |
|
| |
Teraglehn Ancien staffeux
Messages postés : 3628 Date d'inscription : 23/09/2010 Jauge LPC :
| Sujet: Re: [VX] Ennemi invocateur Sam 19 Nov 2011 - 21:27 | |
| Je sais pas pourquoi il bug mais je signale qu'il n'est pas en commentaire, si tu le voie en commentaire dans ton éditeur c'est qu'un commentaire multiligne n'a pas été fermé, tu devrais vite le trouver normalement.
EDIT : je viens de le regarder sous notepad++, en effet c'est bizarre tout est en commentaire, je vais voir ce que je peut faire je te répond dès que j'ai trouvé ^^
Dernière édition par Teraglehn le Sam 19 Nov 2011 - 21:28, édité 1 fois |
|
| |
Maraki Paysan (niveau 4)
Messages postés : 30 Date d'inscription : 19/11/2011 Jauge LPC :
| Sujet: Re: [VX] Ennemi invocateur Sam 19 Nov 2011 - 21:28 | |
| Ok merci je vais corriger se commentaire. C'est que je ne suis pas très bon en script.
edit : on fait comment pour fermer un commentaire ? |
|
| |
Teraglehn Ancien staffeux
Messages postés : 3628 Date d'inscription : 23/09/2010 Jauge LPC :
| Sujet: Re: [VX] Ennemi invocateur Sam 19 Nov 2011 - 21:36 | |
| Le problème c'est qu'il utilise des "#" c'est des commentaire d'une ligne, qui ne devrais pas continuer --' je connais pas trop le ruby, mais "=end" ne marche pas, "*/" non plus .... j'avoue que je suis un peu coincé, jin, bidouilleur de l’extrême t'a une idée ? |
|
| |
Maraki Paysan (niveau 4)
Messages postés : 30 Date d'inscription : 19/11/2011 Jauge LPC :
| Sujet: Re: [VX] Ennemi invocateur Sam 19 Nov 2011 - 21:41 | |
| Merci de chercher. tout le monde ne l'aurait pas fait. |
|
| |
Teraglehn Ancien staffeux
Messages postés : 3628 Date d'inscription : 23/09/2010 Jauge LPC :
| Sujet: Re: [VX] Ennemi invocateur Sam 19 Nov 2011 - 21:44 | |
| si, ligne 58, crée une nouvelle ligne juste après ou tu met juste "=end"
je vais éditer le post de Garruk.
EDIT : Et voilà le post de Garruk est corrigé, au palais on est là pour s'entre-aider toute personne qui en aurais eu les capacité ici l'aurais fait ! (la preuve, même ceux qui ne les ont pas sont venu ^^) |
|
| |
Maraki Paysan (niveau 4)
Messages postés : 30 Date d'inscription : 19/11/2011 Jauge LPC :
| Sujet: Re: [VX] Ennemi invocateur Sam 19 Nov 2011 - 21:48 | |
| Génial ! Merci maintenant sa marche nickel. merci Teraglehn. |
|
| |
Teraglehn Ancien staffeux
Messages postés : 3628 Date d'inscription : 23/09/2010 Jauge LPC :
| Sujet: Re: [VX] Ennemi invocateur Sam 19 Nov 2011 - 21:49 | |
| De rien, c'est pas grand chose ^^ |
|
| |
Maraki Paysan (niveau 4)
Messages postés : 30 Date d'inscription : 19/11/2011 Jauge LPC :
| Sujet: Re: [VX] Ennemi invocateur Sam 19 Nov 2011 - 21:52 | |
| ok. c'est que j'avais essayer la même chose en event sauf que ça s'arreter a 9 monstre. maintenant plus de limite. |
|
| |
Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [VX] Ennemi invocateur Sam 19 Nov 2011 - 21:53 | |
| - Teraglehn a écrit:
- Au palais on est là pour s'entre-aider toute personne qui en aurais eu les capacité ici l'aurais fait ! (la preuve, même ceux qui ne les ont pas sont venu ^^)
La preuve j'ai pas bougé d'un pouce Teraglehn : c'est surtout que t'a pas eu le temps gros malin XD (la preuve t'es venu) |
|
| |
Teraglehn Ancien staffeux
Messages postés : 3628 Date d'inscription : 23/09/2010 Jauge LPC :
| Sujet: Re: [VX] Ennemi invocateur Sam 19 Nov 2011 - 21:53 | |
| okep ^^ si t'a besoin d'event, demande à Jin, il est fort ce mec |
|
| |
Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [VX] Ennemi invocateur Sam 19 Nov 2011 - 21:55 | |
| Ouai carrément !
D'ailleurs plusieurs système trotte dans ma tête c'est pour bientôt. |
|
| |
Teraglehn Ancien staffeux
Messages postés : 3628 Date d'inscription : 23/09/2010 Jauge LPC :
| Sujet: Re: [VX] Ennemi invocateur Sam 19 Nov 2011 - 21:57 | |
| (ah oui, il s'arrête jamais non plus XD) |
|
| |
Maraki Paysan (niveau 4)
Messages postés : 30 Date d'inscription : 19/11/2011 Jauge LPC :
| Sujet: Re: [VX] Ennemi invocateur Sam 19 Nov 2011 - 21:58 | |
| ok. Je ferai appel à toi si j'ai un problème évenmentielle. |
|
| |
Invité Invité
| Sujet: Re: [VX] Ennemi invocateur Dim 20 Nov 2011 - 10:57 | |
| Merci pour la rectification Tera et désolé pour l'erreur. ^^ |
|
| |
Contenu sponsorisé
| Sujet: Re: [VX] Ennemi invocateur | |
| |
|
| |
|