RPG Creator : créez votre MMORPG ou RPG sans aucune connaissance en programmation


Disponible le 4 Juin !




- Jouez à votre jeu sur tablettes tactiles, Smartphones et navigateurs Web
- Personnalisez vos menus
- Dessinez facilement et rapidement vos cartes
- Créez des actions pour le combat A-RPG


www.rpgcreator.net


Heures au format UTC + 1 heure [ Heure d’été ]




Publier un nouveau sujet Répondre au sujet  [ 11 messages ]  Aller à la page 1, 2  Suivant
Auteur Message
 Sujet du message: Comment modifier les position du combat de coté 2.5 ?
MessagePublié: 07 Sep 2007, 17:16 
Bourgeois (Nv 5)

Inscrit le: 18 Déc 2006, 01:00
Messages: 297
Points d'aide: 0/60

Créations :

- Comment modifier les position du combat de coté 2.5 ?


Voir ses créations

Beaucoup de personne ce pose cette question; et bien moi je vais y repondre;
Toute vos planches de combats peuvent être compatible !

celle la peut aussi !!!! :
Image


et bien sur les habtuelle ^^ mais comment modifier celle la ?? et bien voila comment ! Attention ouvrez votre projet on y Va

-------------------------------------------------------------------------
Avant tout je parle bien de ce script:

[spoil]
Code: Tout sélectionner
#==============================================================================
# ** Sprite_Battler
#------------------------------------------------------------------------------
#  Animated Battlers by Minkoff
#==============================================================================

class Sprite_Battler < RPG::Sprite
  #--------------------------------------------------------------------------
  # * Initialize
  #--------------------------------------------------------------------------
  alias cbs_initialize initialize
  def initialize(viewport, battler = nil)
    @speed = 7
    @frames = 4
    @poses = 11
    @stationary_enemies = true
    @stationary_actors = false
    @calculate_speed = true
    @phasing = true
    @frame = 0
    @pose = 0
    @last_time = 0
    @last_move_time = 0
    cbs_initialize(viewport, battler)
    viewport.z = 99
  end
  #--------------------------------------------------------------------------
  # * Update
  #--------------------------------------------------------------------------
  alias cbs_update update
  def update
    return unless @battler

    # Regular Update
    cbs_update

    # Start Routine
    unless @started
      @width = @width / @frames
      @height = @height / @poses
      @display_x = @battler.screen_x
      @display_y = @battler.screen_y
      @destination_x = @display_x
      @destination_y = @display_y
    end

    # Setup Sprite
    self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
    self.mirror = @battler.is_a?(Game_Enemy) unless @started

    # Position Sprite
    self.x = @display_x
    self.y = @display_y
    self.z = @display_y
    self.ox = @width / 2
    self.oy = @height

    # Setup Animation
    time = Graphics.frame_count / (Graphics.frame_rate / @speed)
    if @last_time < time
      @frame = (@frame   1) % @frames
      if @frame == 0 or @reload
        if @freeze
          @frame = @frames - 1
          return
        end
        @pose = state
      end
    end
    @last_time = time

    # Move It
    move if moving

    # Finish Up
    @started = true
  end
  #--------------------------------------------------------------------------
  # * Current State
  #--------------------------------------------------------------------------
  def state
    # Damage State
    if [nil,{}].include?(@battler.damage)
      # Battler Fine
      @state = 0
      # Battler Wounded
      @state = 2 if @battler.hp < @battler.maxhp / 4
      # Battler Dead
     @state = 11 if @battler.dead?
    end
    # Guarding State
    @state = 3 if @battler.guarding?
    # Moving State
    if moving
      # Battler Moving Left
      @state = 4 if moving.eql?(0)
      # Battler Moving Right
      @state = 5 if moving.eql?(1)
    end
    # Return State
    return @state
  end
  #--------------------------------------------------------------------------
  # * Move
  #--------------------------------------------------------------------------
  def move
    time = Graphics.frame_count / (Graphics.frame_rate.to_f / (@speed * 5))
    if @last_move_time < time

      # Pause for Animation
      return if @pose != state

      # Phasing
      if @phasing
        d1 = (@display_x - @original_x).abs
        d2 = (@display_y - @original_y).abs
        d3 = (@display_x - @destination_x).abs
        d4 = (@display_y - @destination_y).abs
        self.opacity = [255 - ([d1   d2, d3   d4].min * 1.75).to_i, 0].max
      end

      # Calculate Difference
      difference_x = (@display_x - @destination_x).abs
      difference_y = (@display_y - @destination_y).abs

      # Done? Reset, Stop
      if [difference_x, difference_y].max.between?(0, 8)
        @display_x = @destination_x
        @display_y = @destination_y
        @pose = state
        return
      end

      # Calculate Movement Increments
      increment_x = increment_y = 1
      if difference_x < difference_y
        increment_x = 1.0 / (difference_y.to_f / difference_x)
      elsif difference_y < difference_x
        increment_y = 1.0 / (difference_x.to_f / difference_y)
      end
     
      # Calculate Movement Speed
      if @calculate_speed
        total = 0; $game_party.actors.each{ |actor| total  = actor.agi }
        speed = @battler.agi.to_f / (total / $game_party.actors.size)
        increment_x *= speed
        increment_y *= speed
      end
     
      # Multiply and Move
      multiplier_x = (@destination_x - @display_x > 0 ? 8 : -8)
      multiplier_y = (@destination_y - @display_y > 0 ? 8 : -8)
      @display_x  = (increment_x * multiplier_x).to_i
      @display_y  = (increment_y * multiplier_y).to_i
    end
    @last_move_time = time
  end
  #--------------------------------------------------------------------------
  # * Set Movement
  #--------------------------------------------------------------------------
  def setmove(destination_x, destination_y)
    unless (@battler.is_a?(Game_Enemy) and @stationary_enemies) or
           (@battler.is_a?(Game_Actor) and @stationary_actors)
      @original_x = @display_x
      @original_y = @display_y
      @destination_x = destination_x
      @destination_y = destination_y
    end
  end
  #--------------------------------------------------------------------------
  # * Movement Check
  #--------------------------------------------------------------------------
  def moving
    if (@display_x != @destination_x and @display_y != @destination_y)
      return (@display_x > @destination_x ? 0 : 1)
    end
  end
  #--------------------------------------------------------------------------
  # * Set Pose
  #--------------------------------------------------------------------------
  def pose=(pose)
    @pose = pose
    @frame = 0
  end
  #--------------------------------------------------------------------------
  # * Freeze
  #--------------------------------------------------------------------------
  def freeze
    @freeze = true
  end
  #--------------------------------------------------------------------------
  # * Fallen Pose
  #--------------------------------------------------------------------------
  def collapse
    return
  end
end

#==============================================================================
# ** Game_Actor
#==============================================================================

class Game_Actor
  #--------------------------------------------------------------------------
  # * Actor X Coordinate
  #--------------------------------------------------------------------------
  def screen_x
    if self.index != nil
      return self.index * 45   450
    else
      return 0
    end
  end
  #--------------------------------------------------------------------------
  # * Actor Y Coordinate
  #--------------------------------------------------------------------------
  def screen_y
    return self.index * 35   200
  end
  #--------------------------------------------------------------------------
  # * Actor Z Coordinate
  #--------------------------------------------------------------------------
  def screen_z
    return screen_y
  end
end

#==============================================================================
# ** Scene_Battle
#==============================================================================

class Scene_Battle
  #--------------------------------------------------------------------------
  # * Action Animation, Movement
  #--------------------------------------------------------------------------
  alias cbs_update_phase4_step3 update_phase4_step3
  def update_phase4_step3(battler = @active_battler)
    @rtab = !@target_battlers
    target = (@rtab ? battler.target : @target_battlers)[0]
    @moved = {} unless @moved
    return if @spriteset.battler(battler).moving
    case battler.current_action.kind
    when 0 # Attack
      if not (@moved[battler] or battler.guarding?)
        offset = (battler.is_a?(Game_Actor) ? 40 : -40)
        @spriteset.battler(battler).setmove(target.screen_x   offset, target.screen_y)
        @moved[battler] = true
        return
      elsif not battler.guarding?
        @spriteset.battler(battler).pose = 6   rand(2)
        @spriteset.battler(battler).setmove(battler.screen_x, battler.screen_y)
      end
    when 1 # Skill
      @spriteset.battler(battler).pose = 8
    when 2 # Item
      @spriteset.battler(battler).pose = 8
    end
    @moved[battler] = false
    @rtab ? cbs_update_phase4_step3(battler) : cbs_update_phase4_step3
  end
  #--------------------------------------------------------------------------
  # * Hit Animation
  #--------------------------------------------------------------------------
  alias cbs_update_phase4_step4 update_phase4_step4
  def update_phase4_step4(battler = @active_battler)
    for target in (@rtab ? battler.target : @target_battlers)
      damage = (@rtab ? target.damage[battler] : target.damage)
      if damage.is_a?(Numeric) and damage > 0
        @spriteset.battler(target).pose = 1
      end
    end
    @rtab ? cbs_update_phase4_step4(battler) : cbs_update_phase4_step4
  end
  #--------------------------------------------------------------------------
  # * Victory Animation
  #--------------------------------------------------------------------------
  alias cbs_start_phase5 start_phase5
  def start_phase5
    for actor in $game_party.actors
      return if @spriteset.battler(actor).moving
    end
    for actor in $game_party.actors
      unless actor.dead?
        @spriteset.battler(actor).pose = 9
        @spriteset.battler(actor).freeze
      end
    end
    cbs_start_phase5
  end
  #--------------------------------------------------------------------------
  # * Change Arrow Viewport
  #--------------------------------------------------------------------------
  alias cbs_start_enemy_select start_enemy_select
  def start_enemy_select
    cbs_start_enemy_select
    @enemy_arrow.dispose
    @enemy_arrow = Arrow_Enemy.new(@spriteset.viewport2)
    @enemy_arrow.help_window = @help_window
  end
end

#==============================================================================
# ** Spriteset_Battle
#==============================================================================

class Spriteset_Battle
  #--------------------------------------------------------------------------
  # * Change Enemy Viewport
  #--------------------------------------------------------------------------
  alias cbs_initialize initialize
  def initialize
    cbs_initialize
    @enemy_sprites = []
    for enemy in $game_troop.enemies.reverse
      @enemy_sprites.push(Sprite_Battler.new(@viewport2, enemy))
    end
  end
  #--------------------------------------------------------------------------
  # * Find Sprite From Battler Handle
  #--------------------------------------------------------------------------
  def battler(handle)
    for sprite in @actor_sprites   @enemy_sprites
      return sprite if sprite.battler == handle
    end
    return false
  end
end

#==============================================================================
# ** Arrow_Base
#==============================================================================

class Arrow_Base < Sprite
  #--------------------------------------------------------------------------
  # * Reposition Arrows
  #--------------------------------------------------------------------------
  alias cbs_initialize initialize
  def initialize(viewport)
    cbs_initialize(viewport)
    self.ox = 14 # 32
    self.oy = 10 # 40
  end
end
[/spoil]

Ouvrez tout d'abord l'editeur de script (F11).



Ensuite allez sur le script de combat en question, on voit que sur la planche il y a 7 poses; Donc ligne 15 vous avez:

Code: Tout sélectionner
@poses = 11

remplacer le 11 par le nombre de poses, que possede votre planche, ici on va mettre 7.
Maintenant passons a la modif des position !

ligne 82 à 98 vous avez :

Code: Tout sélectionner
# Damage State
    if [nil,{}].include?(@battler.damage)
      # Battler Fine
      @state = 0
      # Battler Wounded
      @state = 2 if @battler.hp < @battler.maxhp / 4
      # Battler Dead
     @state = 11 if @battler.dead?
    end
    # Guarding State
    @state = 3 if @battler.guarding?
    # Moving State
    if moving
      # Battler Moving Left
      @state = 4 if moving.eql?(0)
      # Battler Moving Right
      @state = 5 if moving.eql?(1)


Voici a quoi sa correspond:

Code: Tout sélectionner
# Damage State
    if [nil,{}].include?(@battler.damage)
      # Position d'attente
      @state = 0
      # position Faible
      @state = 2 if @battler.hp < @battler.maxhp / 4
      # Position de mort
     @state = 11 if @battler.dead?
    end
    # Defence
    @state = 3 if @battler.guarding?
    # les deplacement
    if moving
      # Marchant a gauche
      @state = 4 if moving.eql?(0)
      # Marchant a droite
      @state = 5 if moving.eql?(1)


Parfait maintenant regardons notre planche:
la premiere position et le deplacement, mais celui-ci ne va que a gauche me direz vous, et bien on s'en fiche car il va aussi a droite,meme si il y retournera à reculons !

Et bien on mettera :
Code: Tout sélectionner
      # Battler Moving Left
      @state = 0 (qui correspond a la premiere pose et 6 a la derniere ^^) if moving.eql?(0)
      # Battler Moving Right
      @state = 0 ( Ausssi car la planche ne possede pas de retour) if moving.eql?(1)


la deuxieme correspond a l'attente donc a :

Code: Tout sélectionner
      # Position d'attente
      @state = 1 (car 0 represente la premiere ^^,donc la deuxieme et 1^^)


Bref vous avez piger, a encore une chose a la ligne 269 :
Code: Tout sélectionner
@spriteset.battler(target).pose = 1


coresspond a la position lors ce qu'il est toucher.

ligne 284:

Code: Tout sélectionner
@spriteset.battler(actor).pose = 9


Correspond a la victoire ^^

et ligne 253 à 256 :

Code: Tout sélectionner
    when 1 # Skill
      @spriteset.battler(battler).pose = 8
    when 2 # Item
      @spriteset.battler(battler).pose = 8

Corresponde respectivement au position de compétence et d'objet.


Voila a la prochaine ^^ et ravi d'avoir pu vous aider^^

PS: Pour ce qui aurait du mal avec Position remplacer le par Animation de biggrin


Haut
 Profil  
 
 Sujet du message: Re: Comment modifier les position du combat de coté 2.5 ?
MessagePublié: 08 Sep 2007, 14:45 
Seigneur (Nv 3)
Avatar de l’utilisateur

Inscrit le: 09 Jan 2007, 01:00
Messages: 453
Localisation: Suisse
Niveau RPG Maker: Connaisseur
Logiciel(s) préféré(s): Chromium, Photofilte, RPG Maker
Point(s) Fort(s): Aucun
Sexe: Masculin
Points d'aide: 4/60

Créations :

Voir ses créations

Wouahou, tu viens de me sauver d'un sucide !
À chaque fois, mes battlecharas étaient coupés car la positions était à 10.
Alors qu'en fait, elle était censé être à 11. Merci pour ton aide, je suis sauvé !

n46

_________________
Image


Haut
 Profil  
 
 Sujet du message: Re: Comment modifier les position du combat de coté 2.5 ?
MessagePublié: 08 Sep 2007, 23:10 
Seigneur (Nv 4)
Avatar de l’utilisateur

Inscrit le: 29 Déc 2006, 01:00
Messages: 460
Niveau RPG Maker: /
Logiciel(s) préféré(s): Game Maker
Points d'aide: 59/60

Créations :

Voir ses créations

Merci grâce à toi les projets vont encore plus pulluler (ca existe comme mot ?) de "LE combat vue de côté 2.5" !

_________________
Image Rejoignez Oxion !


Haut
 Profil  
 
 Sujet du message: Re: Comment modifier les position du combat de coté 2.5 ?
MessagePublié: 09 Sep 2007, 09:02 
Seigneur (Nv 3)
Avatar de l’utilisateur

Inscrit le: 09 Jan 2007, 01:00
Messages: 453
Localisation: Suisse
Niveau RPG Maker: Connaisseur
Logiciel(s) préféré(s): Chromium, Photofilte, RPG Maker
Point(s) Fort(s): Aucun
Sexe: Masculin
Points d'aide: 4/60

Créations :

Voir ses créations

Ne t'inquiète pas, il y aura plus de projets, mais 95% d'entre eux seront abandonné.

_________________
Image


Haut
 Profil  
 
 Sujet du message: Re: Comment modifier les position du combat de coté 2.5 ?
MessagePublié: 09 Sep 2007, 16:07 
Bourgeois (Nv 5)

Inscrit le: 18 Déc 2006, 01:00
Messages: 297
Points d'aide: 0/60

Créations :

- Comment modifier les position du combat de coté 2.5 ?


Voir ses créations

Sirus, je suis d'accord avec toi, mais j'ai fait cela car moi j'ai chercher longtemps et lorsque Scythe darklight ma'as expliquer le principe j'ai alors fait ce tutoriaux pour que les membres n'est plus de souci ^^.


Haut
 Profil  
 
 Sujet du message: Re: Comment modifier les position du combat de coté 2.5 ?
MessagePublié: 23 Fév 2008, 22:58 
Artisan (Nv 2)
Avatar de l’utilisateur

Inscrit le: 24 Juil 2007, 00:00
Messages: 129
Niveau RPG Maker: Normal
Logiciel(s) préféré(s): RMXP, VX
Point(s) Fort(s): Mapping, Graphisme
Sexe: Masculin
Points d'aide: 0/60

Créations :

Voir ses créations

On pourrais donnez le script complet a la fin car la j'ai rien compris.


Haut
 Profil  
 
 Sujet du message: Re: Comment modifier les position du combat de coté 2.5 ?
MessagePublié: 23 Fév 2008, 23:30 
Bourgeois (Nv 5)

Inscrit le: 18 Mar 2007, 01:00
Messages: 285
Points d'aide: 0/60

Créations :

Voir ses créations

Un script qui va va faire repartir les projets en 2.5 ^^. Sinon, merci pour ce script super utile


Haut
 Profil  
 
 Sujet du message: Re: Comment modifier les position du combat de coté 2.5 ?
MessagePublié: 23 Fév 2008, 23:46 
Artisan (Nv 2)
Avatar de l’utilisateur

Inscrit le: 24 Juil 2007, 00:00
Messages: 129
Niveau RPG Maker: Normal
Logiciel(s) préféré(s): RMXP, VX
Point(s) Fort(s): Mapping, Graphisme
Sexe: Masculin
Points d'aide: 0/60

Créations :

Voir ses créations

J'ai vraiment besoin du script complet car je bug.


Haut
 Profil  
 
 Sujet du message: Re: Comment modifier les position du combat de coté 2.5 ?
MessagePublié: 23 Fév 2008, 23:50 
Membre royal(e)
Avatar de l’utilisateur

Inscrit le: 24 Sep 2007, 00:00
Messages: 746
Points d'aide: 13/60

Créations :

Voir ses créations

Lit tout les instructions de Arshes70 dit dans le premier topic et ça va marcher ... car ceci est belle et bien le script au complet ... et si ça ''bug'' c'est peut-être parce que tu as d'autre script de combat sur ton jeu ...

_________________
Image
Image
Image
Image


Haut
 Profil  
 
 Sujet du message: Re: Comment modifier les position du combat de coté 2.5 ?
MessagePublié: 08 Mar 2008, 01:47 
Artisan (Nv 2)
Avatar de l’utilisateur

Inscrit le: 24 Juil 2007, 00:00
Messages: 129
Niveau RPG Maker: Normal
Logiciel(s) préféré(s): RMXP, VX
Point(s) Fort(s): Mapping, Graphisme
Sexe: Masculin
Points d'aide: 0/60

Créations :

Voir ses créations

Non mais je comprend rien.


Haut
 Profil  
 
Afficher les messages depuis:  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 11 messages ]  Aller à la page 1, 2  Suivant

Heures au format UTC + 1 heure [ Heure d’été ]


Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 2 invités


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Rechercher pour:
Sauter vers:  
cron
RPG Creative Forum version 5 ; Tous droits réservés
phpBB Group (Traduit par Xaphos)
Optimisé pour une résolution 1024*728