[Héros]Avoir plus de 4 héros dans votre équipe

La section pour les scripts de RPG Maker XP !

[Héros]Avoir plus de 4 héros dans votre équipe

Message par Amathlog » 18 Juin 2007, 21:06

Vient de la Factory
Auteur : Novalash

Avec les modifications que je vais vous montrez, vous pourrez avoir plus de 4 membres présent dans votre équipe. Que ce soit dans le menu et en combat.

Tout d'abord, dans le script 'Game_Party', rechercher le code 'if @actors.size < 4 and not @actors.include?(actor)' (ligne 110) et changer le chiffre 4 par le nombre de persos maximum que vous voulez dans l'équipe.

Donc, si vous voulez 5 persos, vous écrivez 5.

Puis remplacez tout le script 'Window_MenuStatus' par celui-ci :
Code : Tout sélectionner
#==============================================================================

# ¦ Window_MenuStatus

#------------------------------------------------------------------------------

#  ??????????????????????????br />?????????

#==============================================================================



class Window_MenuStatus < Window_Selectable

#--------------------------------------------------------------------------

# ? ?????????

#--------------------------------------------------------------------------

def initialize

  super(0, 0, 480, 480)

  @item_max = $game_party.actors.size

   self.contents = Bitmap.new(width - 32, @item_max * 116 - 16)

   self.contents.font.name = $fontface  # "Main" window font

   self.contents.font.size = $fontsize

  refresh

  self.active = false

  self.index = -1

end

#--------------------------------------------------------------------------

# ? ??????

#--------------------------------------------------------------------------

def refresh

  self.contents.clear

  @item_max = $game_party.actors.size

  for i in 0...$game_party.actors.size

    x = 64

    y = i * 116

    actor = $game_party.actors[i]

    draw_actor_graphic(actor, x - 40, y + 80)

    draw_actor_name(actor, x, y)

    draw_actor_class(actor, x + 144, y)

    draw_actor_level(actor, x, y + 32)

    draw_actor_state(actor, x + 90, y + 32)

    draw_actor_exp(actor, x, y + 64)

    draw_actor_hp(actor, x + 236, y + 32)

    draw_actor_sp(actor, x + 236, y + 64)

  end

end

#--------------------------------------------------------------------------

def page_row_max

  return (self.height) / 116

end

def top_row

  return self.oy / 116

end

def top_row=(row)

  row = 0 if row < 0

  row = row_max - 1 if row > row_max - 1

  self.oy = row * 116

end

#--------------------------------------------------------------------------

def update_cursor_rect

  if @index < 0

    self.cursor_rect.empty

    return

  end

  row = @index / @column_max

  self.top_row = row if row < self.top_row

  if row > self.top_row + (self.page_row_max - 1)

    self.top_row = row - (self.page_row_max - 1)

  end

  y = @index / @column_max * 116 - self.oy

  self.cursor_rect.set(0, y, self.width - 32, 96)

end

end

Ensuite, dans le script 'Spriteset_Battle', à la ligne 39, vous avez ceci : @actor_sprites.push(Sprite_Battler.new(@viewport2))

Copier cette ligne et collez là juste dessous de cette même ligne pour avoir un 5ème perso (si vous voulez 6 persos, ajoutez alors deux fois).


Dans le même script, à la ligne 99, vous avez ceci : @actor_sprites[3].battler = $game_party.actors[3].



Juste dessous, copier le même code en changeant les 2 chiffres entre crochet comme ceci :

@actor_sprites[4].battler = $game_party.actors[4] (pour un 5ème combattant)

@actor_sprites[5].battler = $game_party.actors[5] (pour un 6ème combattant)



Ensuite, dans le script 'Window_BattleStatus', à la ligne 40, vous avez ceci : actor_x = i * 160 + 4

Changer la valeur 160 par une autre. Cette partie définit la distance entre les caractéristiques des différents persos (Pv, PM, état, ...).



Dans le script 'Game_Actor', à la ligne 573, il y a ceci : return self.index * 160 + 80

Changer la valeur 160 (elle doit en principe être de la même valeur que pour le point précéddant). Cette partie définit la distance entre les Battlers.



Et enfin, dans le script 'Scene_Battle 3', à la ligne 81, il y a ceci : @actor_command_window.x = @actor_index * 160

Changer la valeur 160 par une autre (même remarque qu'au dessus, la valeur doit être identique au point précédant pour un affichage correct). Cette partie affiche les options de combats (attaque, objet, défense, ...) et la distance entre les options de chacun des persos.
Avatar de l’utilisateur
Amathlog
Modérateur
Modérateur
 
Message(s) : 1510
Inscription : 14 Jan 2007, 19:53
Meilleurs scores: 2

Retour vers Scripts (RGSS)

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron