AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  




Partagez
 

 [VX] Menu tournant pour combat

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
hababam
Vagabond Lv.5
Vagabond Lv.5
hababam


Masculin Age : 33
Avertissements : 3
Inscrit le : 30/05/2009
Messages : 82

[VX] Menu tournant pour combat Empty
MessageSujet: [VX] Menu tournant pour combat   [VX] Menu tournant pour combat Icon_minitimeMer 28 Oct 2009 - 11:35

Bonjour !

J'ai un nouveau script !


Auteur : Batalha
Nom : Menu Oval de Batalha 1.01

Screen :
[VX] Menu tournant pour combat Sshot-10

Informations :
Image à mettre dans le dosier Graphic/System et à nommer : Spin40

[VX] Menu tournant pour combat Spin4010



script :

Code:

#==============================================================================
# Menu Oval de Batalha
# Criado por ziifee
#==============================================================================
#==============================
#                         
#                www.rpgmakervx-fr.com                                         
#     
#==============================

module Zii
  # Número identificador do ícone (Vertical x 16 + Horizontal - 1)
  FIGHT = 132                              # Lutar
  ESCAPE = 143                              # Fugir
  ATTACK = 1                                # Atacar
  GUARD = 52                                # Defender
  SKILL = 128                              # Habilidades
  ITEM = 144                                # Itens
 
  # Direção da rotação (Esquerda ou Direita)
  TURN = "Direita"
 
  # Usar faces no menu? ("Faces" para usar e "" para nada)
  STATUS_FACE = "Faces"
 
  # Mostrar nome dos heróis no menu? ("Nomes" para usar e "" para nada)
  STATUS_LINE = "Nomes"
 
  # Tamanho das linhas (Padrão: 20)
  LINE_SIZE = 14
 
  #--------------------------------------------------------------------------
  # Configuração de direção da rotação
  #--------------------------------------------------------------------------
  def self.turn_normal?
    return false if TURN == "Esquerda"
    return true  if TURN == "Direita"
    return true
  end
  #--------------------------------------------------------------------------
  # Configuração de exibição
  #--------------------------------------------------------------------------
  def self.battle_face?
    return true if STATUS_FACE == "Faces"
    return false
  end
  #--------------------------------------------------------------------------
  # Configuração de exibição
  #--------------------------------------------------------------------------
  def self.line_name?
    return true if STATUS_LINE == "Nomes"
    return false
  end
end

#==============================================================================
# Window_Base
#==============================================================================

class Window_Base

  def draw_face(face_name, face_index, x, y, size = 96, opacity = 255)
    bitmap = Cache.face(face_name)
    rect = Rect.new(0, 0, 0, 0)
    rect.x = face_index % 4 * 96 + (96 - size) / 2
    rect.y = face_index / 4 * 96 + (96 - size) / 2
    rect.width = size
    rect.height = size
    self.contents.blt(x, y, bitmap, rect, opacity)
    bitmap.dispose
  end

  def draw_actor_face(actor, x, y, size = 96, opacity = 255)
    draw_face(actor.face_name, actor.face_index, x, y, size, opacity)
  end
end

#==============================================================================
# Window_SpinCommand
#------------------------------------------------------------------------------
# Esta classe comanda a rotação do menu
#==============================================================================

class Window_SpinCommand < Window_Base
  attr_reader  :index
  attr_reader  :help_window

  def initialize(cx, cy, commands, setting = {})
    @radius    = setting.has_key?("R") ? setting["R"] : 40 
    @speed    = setting.has_key?("S") ? setting["S"] : 36 
    @spin_back = setting.has_key?("G") ? setting["G"] : ""
    @spin_line = setting.has_key?("L") ? setting["L"] : nil
    x, y = cx - @radius - 28, cy - @radius - 28
    width = height = @radius * 2 + 56
    super(x, y, width, height)
    self.opacity = 0
    @index = 0
    @commands = commands
    @spin_right = true
    @spin_count = 0
    update_cursor
  end

  def draw_spin_graphic(i, cx, cy)
    case command_kind(i)
    when "icon"
      draw_icon(command_pull(i), cx - 12, cy - 12, command_enabled?(i))

    end
  end

  def refresh
    set_spin
  end

  def draw_item(index, enabled = true)
    @commands[index][3] = enabled
    set_spin
  end
 
  def command_name(index = @index)
    return "" if index < 0
    name = @commands[index][0]
    return name != nil ? name : ""
  end
 
  def command_kind(index)
    result = @commands[index][1]
    return result != nil ? result : ""
  end
 
  def command_pull(index)
    result = @commands[index][2]
    return result != nil ? result : ""
  end
 
  def command_enabled?(index)
    result = @commands[index][3]
    return result != nil ? result : true
  end
 
  def set_index(name)
    n = -1
    for i in 0...@commands.size
      n = i if @commands[i][0] == name
    end
    @index = n if n >= 0
    update_cursor
    call_update_help
    set_spin
  end
 
  def index=(index)
    @index = index
    update_cursor
    call_update_help
    set_spin
  end
 
  def center_x
    return contents.width / 2
  end

  def center_y
    return contents.height / 2
  end

  def item_max
    return @commands.size
  end

  def set_background
    return if @spin_back == ""
    bitmap = Cache.system(@spin_back)
    rect = Rect.new(0, 0, bitmap.width, bitmap.height)
    self.contents.blt(12, 12, bitmap, rect)
  end

  def set_text
    return if @spin_line == nil
    y = center_y - WLH / 2 + @spin_line
    self.contents.draw_text(center_x - 48, y, 96, WLH, command_name, 1)
  end

  def angle_size
    return (Math::PI * 2 / item_max)
  end

  def set_spin_count
    @spin_count = angle_size * 360 / @speed
    set_spin(true)
  end

  def set_spin(spin = false)
    self.contents.clear
    set_background
    angle = spin ? @speed * @spin_count / 360 : 0
    angle = @spin_right ? angle : -angle
    for i in 0...item_max
      n = (i - @index) * angle_size + angle
      cx = @radius * Math.sin(n) + center_x
      cy = - @radius * Math.cos(n) + center_y
      draw_spin_graphic(i, cx, cy)
    end
    set_text
  end

  def update
    super
    update_cursor
    if @spin_count > 0
      @spin_count -= 1
      set_spin(@spin_count >= 1)
      return
    end
    update_command
  end

  def command_movable?
    return false if @spin_count > 0
    return false if (not visible or not active)
    return false if (index < 0 or index > item_max or item_max == 0)
    return false if (@opening or @closing)
    return true
  end

  def command_right
    @index = (@index + 1) % item_max
    @spin_right = true
    set_spin_count
  end

  def command_left
    @index = (@index - 1 + item_max) % item_max
    @spin_right = false
    set_spin_count
  end

  def update_command
    if command_movable?
      if Input.press?(Input::RIGHT)
        Sound.play_cursor
        Zii.turn_normal? ? command_right : command_left
      end
      if Input.press?(Input::LEFT)
        Sound.play_cursor
        Zii.turn_normal? ? command_left : command_right
      end
    end
    call_update_help
  end

  def update_cursor
    if @index < 0
      self.cursor_rect.empty
    else
      rect = Rect.new(0, 0, 24, 24)
      rect.x = center_x - rect.width / 2
      rect.y = center_y - rect.height / 2 - @radius
      self.cursor_rect = rect
    end
  end

  def help_window=(help_window)
    @help_window = help_window
    call_update_help
  end

  def call_update_help
    if self.active and @help_window != nil
      update_help
    end
  end

  def update_help
  end
end

#==============================================================================
# Window_LineHelp
#==============================================================================

class Window_LineHelp < Window_Base

  def initialize
    super(-16, 0, 576, WLH + 32)
    self.opacity = 0
  end

  def set_text(text, align = 0)
    if text != @text or align != @align
      self.contents.clear
      back_color = Color.new(0, 0, 0, 80)
      self.contents.fill_rect(0, y = 12, contents.width, WLH - y, back_color)
      self.contents.font.color = normal_color
      self.contents.draw_text(20, 0, self.width - 72, WLH, text, align)
      @text = text
      @align = align
    end
  end
end

#==============================================================================
# Window_PartyCommand
#==============================================================================

class Window_PartyCommand < Window_SpinCommand
  def initialize
    s1 = [Vocab::fight,  "icon", Zii::FIGHT,  true]
    s2 = [Vocab::escape, "icon", Zii::ESCAPE, $game_troop.can_escape]
    setting = {"R"=>40, "S"=>52, "G"=>"Spin40", "L"=>-12}
    super(72, 356, [s1, s2], setting)
    self.active = false
    set_spin
  end
end

#==============================================================================
# Window_ActorCommand
#==============================================================================

class Window_ActorCommand < Window_SpinCommand

  def initialize
    s1 = [Vocab::attack, "icon", Zii::ATTACK, true]
    s2 = [Vocab::skill,  "icon", Zii::SKILL,  true]
    s3 = [Vocab::guard,  "icon", Zii::GUARD,  true]
    s4 = [Vocab::item,  "icon", Zii::ITEM,  true]
    setting = {"R"=>40, "S"=>52, "G"=>"Spin40", "L"=>-12}
    super(72, 356, [s1, s2, s3, s4], setting)
    self.active = false
    set_spin
  end

  def setup(actor)
    @commands[0][2] = Zii::ATTACK
    @commands[1][0] = Vocab::skill
    if actor.weapons[0] != nil
      n = actor.weapons[0].icon_index
      @commands[0][2] = n if n > 0
    end
    @commands[1][0] = actor.class.skill_name if actor.class.skill_name_valid
    self.index = 0
    set_spin
  end
end

#==============================================================================
# Window_BattleStatus
#==============================================================================

class Window_BattleStatus < Window_Selectable

  def initialize
    super(128, 288, 416, 128)
    @column_max = 4
    refresh
    self.active = false
    self.opacity = 0
  end

  def draw_neomemo7_back
    @neomemo7_clear = false
    for index in 0...@item_max
      x = index * 96
      self.contents.clear_rect(x + 72, WLH * 3, 24, 24)
      next unless Zii.battle_face?
      actor = $game_party.members[index]
      next if actor.hp <= 0
      bitmap = Cache.face(actor.face_name)
      rect = Rect.new(0, 0, 22, 22)
      rect.x = actor.face_index % 4 * 96 + 72
      rect.y = actor.face_index / 4 * 96 + 72
      self.contents.blt(x + 72, WLH * 3, bitmap, rect, 192)
    end
  end

  def draw_item(index)
    x = index * 96
    rect = Rect.new(x, 0, 96, 96)
    self.contents.clear_rect(rect)
    self.contents.font.color = normal_color
    actor = $game_party.members[index]
    draw_actor_face(actor, x + 2, 2, 92, 192) if actor.hp > 0 and Zii.battle_face?
    draw_actor_state(actor, x + 72, WLH * 3)
    if Zii.line_name?
      self.contents.font.color = hp_color(actor)
      size = Zii::LINE_SIZE
      self.contents.font.size = size
      self.contents.draw_text(x, WLH * 1 + 20 - size, 80, WLH, actor.name)
      self.contents.font.size = 20
    end
    draw_actor_hp(actor, x, WLH * 2, 80)
    draw_actor_mp(actor, x, WLH * 3, 70)
  end
  def update_cursor
    if @index < 0                 
      self.cursor_rect.empty
    else                         
      rect = Rect.new(index * 96, 0, 96, 96)
      self.cursor_rect = rect
    end
  end
end

#==============================================================================
# Scene_Battle
#==============================================================================

class Scene_Battle < Scene_Base

  alias :neomemo13_create_info_viewport :create_info_viewport
  def create_info_viewport
    neomemo13_create_info_viewport
    @info_viewport.rect.set(0, 0, 544, 416)
    @status_window.x = 128
    @actor_command_window.x = 4
  end

  alias :neomemo13_update_info_viewport :update_info_viewport
  def update_info_viewport
    ox = @info_viewport.ox
    neomemo13_update_info_viewport
    @info_viewport.ox = ox
  end

  alias :neomemo13_start_party_command_selection :start_party_command_selection
  def start_party_command_selection
    if $game_temp.in_battle
      @party_command_window.visible = true
      @actor_command_window.visible = false
    end
    neomemo13_start_party_command_selection
  end

  alias :neomemo13_update_party_command_selection :update_party_command_selection
  def update_party_command_selection
    return unless @party_command_window.command_movable?
    neomemo13_update_party_command_selection
  end

  alias :neomemo13_start_actor_command_selection :start_actor_command_selection
  def start_actor_command_selection
    neomemo13_start_actor_command_selection
    @party_command_window.visible = false
    @actor_command_window.visible = true
  end

  alias :neomemo13_update_actor_command_selection :update_actor_command_selection
  def update_actor_command_selection
    return unless @actor_command_window.command_movable?
    neomemo13_update_actor_command_selection
  end

  alias :neomemo13_start_target_enemy_selection :start_target_enemy_selection
  def start_target_enemy_selection
    x = @info_viewport.rect.x
    ox = @info_viewport.ox
    neomemo13_start_target_enemy_selection
    @info_viewport.rect.x = x
    @info_viewport.ox = ox
    @target_enemy_window.x = 544 - @target_enemy_window.width
    @target_enemy_window.y = 288
    @info_viewport.rect.width -= @target_enemy_window.width
  end

  alias :neomemo13_end_target_enemy_selection :end_target_enemy_selection
  def end_target_enemy_selection
    x = @info_viewport.rect.x
    ox = @info_viewport.ox
    @info_viewport.rect.width += @target_enemy_window.width
    neomemo13_end_target_enemy_selection
    @info_viewport.rect.x = x
    @info_viewport.ox = ox
  end

  alias :neomemo13_start_target_actor_selection :start_target_actor_selection
  def start_target_actor_selection
    x = @info_viewport.rect.x
    ox = @info_viewport.ox
    neomemo13_start_target_actor_selection
    @target_actor_window.y = 288
    @info_viewport.rect.x = x
    @info_viewport.ox = ox
    @info_viewport.rect.width -= @target_actor_window.width
  end

  alias :neomemo13_end_target_actor_selection :end_target_actor_selection
  def end_target_actor_selection
    x = @info_viewport.rect.x
    ox = @info_viewport.ox
    @info_viewport.rect.width += @target_actor_window.width
    neomemo13_end_target_actor_selection
    @info_viewport.rect.x = x
    @info_viewport.ox = ox
  end

  alias :neomemo13_start_skill_selection :start_skill_selection
  def start_skill_selection
    neomemo13_start_skill_selection
    @skill_window.dispose if @skill_window != nil
    @help_window.dispose if @help_window != nil
    @help_window = Window_LineHelp.new
    @skill_window = Window_Skill.new(8, 64, 528, 216, @active_battler)
    @skill_window.help_window = @help_window
  end

  alias :neomemo13_start_item_selection :start_item_selection
  def start_item_selection
    neomemo13_start_item_selection
    @item_window.dispose if @item_window != nil
    @help_window.dispose if @help_window != nil
    @help_window = Window_LineHelp.new
    @item_window = Window_Item.new(8, 64, 528, 216)
    @item_window.help_window = @help_window
  end
end
 
 
     
 

Voila xD =) !

Cordialement,Hababam
Revenir en haut Aller en bas
Qualcuno
Citadin Lv.7
Citadin Lv.7
Qualcuno


Masculin Age : 28
Inscrit le : 04/09/2009
Messages : 181

[VX] Menu tournant pour combat Empty
MessageSujet: Re: [VX] Menu tournant pour combat   [VX] Menu tournant pour combat Icon_minitimeMer 28 Oct 2009 - 11:43

Bonjour

je suis pas sur mais je crois que j'avais tester avec le SBS et il n'était pas compatible mais je suis pas sur que c'était ce script...

EDIT:effectivement il n'est pas compatible et en plus la jauge ATB (si vous l'utiliser) sera en plein milieux de la tète des perso et en plus ce script +ATB empêche la fuite ^^


Dernière édition par Qualcuno le Mer 28 Oct 2009 - 12:06, édité 1 fois
Revenir en haut Aller en bas
hababam
Vagabond Lv.5
Vagabond Lv.5
hababam


Masculin Age : 33
Avertissements : 3
Inscrit le : 30/05/2009
Messages : 82

[VX] Menu tournant pour combat Empty
MessageSujet: Re: [VX] Menu tournant pour combat   [VX] Menu tournant pour combat Icon_minitimeMer 28 Oct 2009 - 11:51

J'ai rien comprit clown Razz

Et en plus avant d'entrée en combats il vous demande si vous voulez entrée en combats ou fuir et sa tout vos tour a vous !


Cordialement,Hababam
Revenir en haut Aller en bas
Matsuo Kaito
+ Heir Øf Ŧime +
+ Heir Øf Ŧime +
Matsuo Kaito


Masculin Age : 33
Inscrit le : 27/06/2008
Messages : 10881

[VX] Menu tournant pour combat Empty
MessageSujet: Re: [VX] Menu tournant pour combat   [VX] Menu tournant pour combat Icon_minitimeMer 28 Oct 2009 - 11:58

Exact, incompatible avec le SBS, dommage ( je viens de tester au cas où, mais j'ai un message d'erreur ).

Merci du partage, même si le script n'est pas traduit et qu'on ne dispose pas des explications pour le modifier *snif*
Revenir en haut Aller en bas
Qualcuno
Citadin Lv.7
Citadin Lv.7
Qualcuno


Masculin Age : 28
Inscrit le : 04/09/2009
Messages : 181

[VX] Menu tournant pour combat Empty
MessageSujet: Re: [VX] Menu tournant pour combat   [VX] Menu tournant pour combat Icon_minitimeMer 28 Oct 2009 - 12:05

hababam a écrit:
J'ai rien comprit clown Razz

Et en plus avant d'entrée en combats il vous demande si vous voulez entrée en combats ou fuir et sa tout vos tour a vous !


Cordialement,Hababam

Oui mais elle disparait automatique a cause de la jauge ATB ^^

Qualcuno
Revenir en haut Aller en bas
Zodiak
Seigneur Lv.18
Seigneur Lv.18
Zodiak


Masculin Age : 29
Avertissements : 3
Inscrit le : 20/12/2008
Messages : 2292

[VX] Menu tournant pour combat Empty
MessageSujet: Re: [VX] Menu tournant pour combat   [VX] Menu tournant pour combat Icon_minitimeMer 28 Oct 2009 - 15:18

Ce script n'étais pas déjà présent ?
A moins que ce soit dans l'autre commu'...

Bref, c'est celui que j'utilisais pas mon ancien projet j'en suis sûr.
Merci du partage
Revenir en haut Aller en bas
hababam
Vagabond Lv.5
Vagabond Lv.5
hababam


Masculin Age : 33
Avertissements : 3
Inscrit le : 30/05/2009
Messages : 82

[VX] Menu tournant pour combat Empty
MessageSujet: Re: [VX] Menu tournant pour combat   [VX] Menu tournant pour combat Icon_minitimeMer 28 Oct 2009 - 19:49

=) derien
Revenir en haut Aller en bas
hababam
Vagabond Lv.5
Vagabond Lv.5
hababam


Masculin Age : 33
Avertissements : 3
Inscrit le : 30/05/2009
Messages : 82

[VX] Menu tournant pour combat Empty
MessageSujet: Re: [VX] Menu tournant pour combat   [VX] Menu tournant pour combat Icon_minitimeMer 28 Oct 2009 - 19:51

Et pour les probléme ben moi j'ai rien niquelle et en plus full fr moi !


Bonne nuit !


Cordialement,Hababam
Revenir en haut Aller en bas
Matsuo Kaito
+ Heir Øf Ŧime +
+ Heir Øf Ŧime +
Matsuo Kaito


Masculin Age : 33
Inscrit le : 27/06/2008
Messages : 10881

[VX] Menu tournant pour combat Empty
MessageSujet: Re: [VX] Menu tournant pour combat   [VX] Menu tournant pour combat Icon_minitimeMer 28 Oct 2009 - 20:05

C'était pas exactement la peine de double-poster hein ...
Et si t'as la version en français, on la veut bien ( parce que moi et l'espagnol ... le portugais ? ça fait 2 )
Revenir en haut Aller en bas
hababam
Vagabond Lv.5
Vagabond Lv.5
hababam


Masculin Age : 33
Avertissements : 3
Inscrit le : 30/05/2009
Messages : 82

[VX] Menu tournant pour combat Empty
MessageSujet: Re: [VX] Menu tournant pour combat   [VX] Menu tournant pour combat Icon_minitimeMer 28 Oct 2009 - 20:32

Prend la version fr allors et fait copier collé ton projet =)

Cordialement,Hababam
Revenir en haut Aller en bas
shinnosuke
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
shinnosuke


Masculin Age : 27
Avertissements : 3
Inscrit le : 01/04/2011
Messages : 57

[VX] Menu tournant pour combat Empty
MessageSujet: Re: [VX] Menu tournant pour combat   [VX] Menu tournant pour combat Icon_minitimeDim 22 Mai 2011 - 12:33

j'adore
au début j'ai cru que ça allait me l'afficher en espagnol mais en fait c'est en français
J'ai eu un grand OUF ! de soulagement
Revenir en haut Aller en bas
dylan69100
Poulet carnivore Lv.2
Poulet carnivore Lv.2
avatar


Masculin Age : 33
Inscrit le : 24/04/2011
Messages : 14

[VX] Menu tournant pour combat Empty
MessageSujet: Re: [VX] Menu tournant pour combat   [VX] Menu tournant pour combat Icon_minitimeLun 23 Mai 2011 - 16:41

hababam a écrit:
Et pour les probléme ben moi j'ai rien niquelle et en plus full fr moi !


Bonne nuit !


Cordialement,Hababam

Il marche nickel mais il est compatible qu'avec le système de combat basique de VX et pas les SBS ou autres ce qui est bien dommage car ce sont souvent les plus utilisés. Si tu parvenais à trouver l'endroit et comment le rendre compatible avec l'un des "autres" système de combat ce serait parfait.
Après je vais pas en demander trop, mon SBS est déjà assez jolie Very Happy, merci pour le partage en tout les cas joli script.
Revenir en haut Aller en bas
Matsuo Kaito
+ Heir Øf Ŧime +
+ Heir Øf Ŧime +
Matsuo Kaito


Masculin Age : 33
Inscrit le : 27/06/2008
Messages : 10881

[VX] Menu tournant pour combat Empty
MessageSujet: Re: [VX] Menu tournant pour combat   [VX] Menu tournant pour combat Icon_minitimeLun 23 Mai 2011 - 16:47

Le topic date de 2009, pas de nécropost inutile, merci.
Revenir en haut Aller en bas
Contenu sponsorisé




[VX] Menu tournant pour combat Empty
MessageSujet: Re: [VX] Menu tournant pour combat   [VX] Menu tournant pour combat Icon_minitime

Revenir en haut Aller en bas
 

[VX] Menu tournant pour combat

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» Problème SBS+ Menu Combat Tournant
» script pour placer une compétence dans le menu de combat
» Menu tournant modifié
» PHS - Menu Tournant (Combats)
» Problème de traduction sur le script du menu tournant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Scripts :: Scripts VX - RGSS2 :: Combat-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Cookies | Forum gratuit | Informatique et Internet | Informatique et électronique