Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Wymagania broni i pancerza XP
Autor Wiadomość
Feniks 




Preferowany:
RPG Maker XP

Ranga RM:
2 gry

Pomógł: 62 razy
Dołączył: 04 Wrz 2010
Posty: 511
Wysłany: Czw 19 Lip, 2012 22:33
Mam pytanie, czy dałabyś radę zrobić to samo, o co prosił adoksz, jednak z najnowszą aktualizacją? Bardzo mi to pomoże w pewnym potworku. Pozdrawiam :-P
________________________

 
 
m4t3us2 



Dołączył: 10 Lip 2012
Posty: 9
  Wysłany: Nie 22 Lip, 2012 00:02
Wmagania broni
Mam mały problem z tym skryptem i po wielu nieudanych próbach naprawy. Postanowiłem
poprosić o pomoc ^^ a więc, każda broń czy też zbroja która wymaga np siły bądź zręczności
nie może zostać założona, pomimo, że gracz posiada daną ilość siły czy też zręczności :/
oto ssy:




PS:Mam ang wersje rpg majkera ^^
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Nie 22 Lip, 2012 08:24
A zdejmij miecz ze stali i napisz, ile masz siły?

Feniks, o to chodziło?
Spoiler:

Kod:
#===================================================================
# Wymagania broni i pancerza [XP]
# by Ayene
# 26.03.2010 ver 1.2
# 04.03.2012 - dodano wymóg posiadania umiejętności
# www.ultimateam.pl
#===================================================================
# Opis:
# Skrypt umożliwia ustawienie wymagań dla broni i pancerza.
# Na przykład ekwipowanie bohatera w topór dwuręczny byłoby możliwe
# dopiero po osiągnięciu konkretnego poziomu lub posiadaniu odpowiedniej
# statystyki. Ponadto dodano opcję, dzięki której można wprowadzić wymóg
# posiadania odpowiedniej umiejętności.
#
# Instrukcja:
# By skorzystać ze skryptu należy skonfigurować wymagania (osobno dla każdej
# broni i pancerza) poniżej, zgodnie ze wzorem:
#
# WEAPON [ID broni] = [lv, maxhp, maxsp, str, dex, agi, int, [skill_id, skill_id, ...]]
#
# gdzie:
# LV - wymagany poziom postaci
# MAXHP - maksymalne HP (max HP)
# MAXMP - maksymalne MP (max MP)
# STR - siła (strength)
# DEX - zręczność (dexterity)
# AGI - szybkość (agility)
# INT - inteligencja (intelligence)
# SKILL_ID - ID umiejętności
#
# Przykładowo:
# Jeśli chcesz, by postać mogła ekwipować broń ID 2 na poziomie 6, dodatkowo
# pod warunkiem, że ma 120 max. HP, 40 siły i 70 inteligencji
# poniżej w sekcji BRONIE wpisz:
# WEAPON [2] = [6, 120, 0, 40, 0, 0, 70, []]
#
# Natomiast, aby założyć pancerz ID 3, który "wymaga" odpowiedniej zręczności
# i znajomości umiejętności o ID 10 i 40:
# ARMOR [3] = [0, 0, 0, 0, 70, 0, 0, [10, 40]]
#
#===================================================================

# KONFIGURACJA
module AYENE
  module EQUIP_REQ
   
   WEAPON = []
   ARMOR = []
   WEAPON_TEXT = []
   ARMOR_TEXT = []

# ~~~~~~~~~~~~~~~~~BRONIE~~~~~~~~~~~~~~~~
 
  # WEAPON [ID broni] = [lv, maxhp, maxsp, str, dex, agi, int, [skill_id, skill_id, ...]]
   
  WEAPON[1] = [2, 10, 10, 10, 10, 10, 10, [4]]   
  WEAPON[3] = [3, 500, 20, 0, 0, 0, 0, []]
 
  WEAPON_TEXT[1] = "jakiś tekst"
  WEAPON_TEXT[3] = "jakiś tekst"
 
# ~~~~~~~~~~~~~~~~PANCERZE~~~~~~~~~~~~~~~~
   
  # ARMOR [ID pancerza] = [lv, maxhp, maxsp, str, dex, agi, int, [skill_id, skill_id, ...]]
   
  ARMOR[2] = [1, 300, 0, 0, 0, 0, 0, []]
  ARMOR[3] = [3, 400, 0, 0, 0, 0, 0, []]
 
  ARMOR_TEXT[2] = "jakiś tekst"
  ARMOR_TEXT[3] = "jakiś tekst"
     
  ACC_TEXT = "By założyć ten przedmiot musisz mieć:"
  PARAM_NAMES = ["Poziom", "Żywotność", "Moc", "Siła", "Zręczność", "Szybkość", "Inteligencja", "Umiejętności:"]   
 
  SHOW_SKILL_REQ = true  # Czy wyświetlać, jakiej umiejętności brakuje?
 
  WLH = 32
  end
end

#===================================================================
# Game_Actor
#===================================================================
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Determine if Item can be Equiped (Actor's Parameters)
  #     stat    : stats
  #--------------------------------------------------------------------------
  def equip_allowed?(stat)
    return true if stat[0] <= level && stat[1] <= base_maxhp &&
          stat[2] <= base_maxsp && stat[3] <= base_str &&
          stat[4] <= base_dex && stat[5] <= base_agi &&
          stat[6] <= base_int && equip_skill_allowed?(stat)
    return false
  end
  #--------------------------------------------------------------------------
  # * Determine if Item can be Equiped (Actor's Skills )
  #     stat    : stats
  #--------------------------------------------------------------------------
  def equip_skill_allowed?(stat)   
    return true if stat[7].empty?
    stat[7].each{|skill_id|
      return false if !skill_learn?(skill_id)   
    }
    return true
  end
end

#===================================================================
# Window_Help
#===================================================================
class Window_EquipReq < Window_Base
  include AYENE::EQUIP_REQ
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     item       : item
  #     data       : parameters (array)
  #     actor      : actor
  #     skill      : skill
  #--------------------------------------------------------------------------
  def initialize(item, data, actor, skill)   
    if skill.empty? or !SHOW_SKILL_REQ
      height = (data.size+1) / 2 * WLH + WLH + 32
    else
      height = (data.size+1) / 2 * WLH + WLH + 32 + WLH * [skill.size, 7].min
    end     
    super(100, 200 - height/2, 460, height)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.z = 1000
    self.opacity = 255
    self.contents.font.color = crisis_color
    self.contents.draw_text(4, 0, self.width - 40, WLH, ACC_TEXT, 1)
    x = 10
    y = WLH
    data.each_with_index{|array, i|   
      self.contents.font.color = system_color
      self.contents.draw_text(x+i%2*240, y+i/2*WLH, 200, WLH, PARAM_NAMES[array[0]].to_s, 0)     
      self.contents.font.color = normal_color
      self.contents.draw_text(x+120+i%2*240, y+i/2*WLH, 40, WLH, array[1].to_s, 2)
    }
    if !skill.empty? and SHOW_SKILL_REQ
      size = (data.size+1)/2*WLH
      self.contents.font.color = system_color
      self.contents.draw_text(x, y+size, 200, WLH, PARAM_NAMES[7].to_s, 0)   
      self.contents.font.color = normal_color
      skill.each_with_index{|id, i|     
        self.contents.draw_text(x+140, y+size+WLH*i, 200, WLH, "- #{$data_skills[id].name}", 0)       
      }
    end
  end
end
 
#===================================================================
# Scene_Equip
#===================================================================
class Scene_Equip
  include AYENE::EQUIP_REQ
  #--------------------------------------------------------------------------
  # * Aliased Definitions
  #--------------------------------------------------------------------------
  alias ayene_item_stats_sceq_update update
  alias ayene_item_stats_sceq_update_item update_item
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update   
    @req_window != nil ? update_spec_selection : ayene_item_stats_sceq_update
  end
  #--------------------------------------------------------------------------
  # * Frame Update (when item window is active)
  #--------------------------------------------------------------------------
  def update_item
    @stat = nil
    item = @item_window.item
    case item
    when RPG::Weapon
      @stat = WEAPON[item.id]
      text = WEAPON_TEXT[item.id]
    else
      @stat = ARMOR[item.id]
      text = ARMOR_TEXT[item.id]
    end
    unless @stat == nil
      if Input.trigger?(Input::C) && !@actor.equip_allowed?(@stat)
        $game_system.se_play($data_system.buzzer_se)       
        @item_window.active = false
        show_spec_window
        @help_window.set_text(text) unless text == nil
        return
      end
    end
    ayene_item_stats_sceq_update_item
  end
  #--------------------------------------------------------------------------
  # * Frame Update (when requirements window is active)
  #--------------------------------------------------------------------------
  def update_spec_selection
    @frame < 100 ? @frame += 1 : @frame = 0
    if @frame == 100 or Input.trigger?(Input::C) or Input.trigger?(Input::B)
      @req_window.dispose
      @req_window = nil     
      @item_window.active = true     
    end
  end
  #--------------------------------------------------------------------------
  # * Show Requirements Window
  #--------------------------------------------------------------------------
  def show_spec_window
    @frame = 0
    data = []
    @stat.each_with_index {|value, type|
      data.push([type, value]) if value > 0 if type < 7   
    }   
    data.sort!{|a,b| a[0] <=> b[0]}   
    skill = @stat[7]
    @req_window = Window_EquipReq.new(@item, data, @actor, skill)       
  end
end

#===================================================================
# Game_Interpreter
#===================================================================
class Interpreter
  include AYENE::EQUIP_REQ
  #--------------------------------------------------------------------------
  # * Aliased Definitions
  #--------------------------------------------------------------------------
  alias aye_command_315 command_315
  alias aye_command_316 command_316
  alias aye_command_317 command_317
  alias aye_command_318 command_318
  #--------------------------------------------------------------------------
  # * Change EXP
  #--------------------------------------------------------------------------
  def command_315
    aye_command_315
    iterate_actor(@parameters[0]) do |actor|
      check_change_equip(actor)   
    end   
  end
  #--------------------------------------------------------------------------
  # * Change Level
  #--------------------------------------------------------------------------
  def command_316
    aye_command_316
    iterate_actor(@parameters[0]) do |actor|
      check_change_equip(actor)   
    end
  end
  #--------------------------------------------------------------------------
  # * Change Parameters
  #--------------------------------------------------------------------------
  def command_317
    aye_command_317
    iterate_actor(@parameters[0]) do |actor|
      check_change_equip(actor)   
    end
  end
  #--------------------------------------------------------------------------
  # * Change Skills
  #--------------------------------------------------------------------------
  def command_318
    aye_command_318
    iterate_actor(@parameters[0]) do |actor|
      check_change_equip(actor)   
    end
  end
  #--------------------------------------------------------------------------
  # * Check Equipment
  #     actor       : actor
  #--------------------------------------------------------------------------
  def check_change_equip(actor)   
    for i in 0..4
      case i
      when 0
        item = $data_weapons[actor.weapon_id]
        stat = WEAPON[item.id]
      when 1
        item = $data_armors[actor.armor1_id]
        stat = ARMOR[item.id]
      when 2
        item = $data_armors[actor.armor2_id]
        stat = ARMOR[item.id]
      when 3
        item = $data_armors[actor.armor3_id]
        stat = ARMOR[item.id]
      when 4
        item = $data_armors[actor.armor4_id]
        stat = ARMOR[item.id]
      end
      actor.equip(i, 0) if !stat.nil? && !actor.equip_allowed?(stat)     
    end
  end
end

________________________


 
 
 
m4t3us2 



Dołączył: 10 Lip 2012
Posty: 9
Wysłany: Nie 22 Lip, 2012 16:55
Miecz ze stali nie dodaje mi nic siły, jeżeli oto ci chodziło. Mam normalnie 20 siły :] bez niego.
 
 
m4t3us2 



Dołączył: 10 Lip 2012
Posty: 9
Wysłany: Nie 22 Lip, 2012 17:02
Rozkminiłem o co chodzi :D, ale nie wiem jak to naprawić. Przed chwilą zmieniłem postaci siłę w database na podstawową 15 i normalnie założył miecz. Ale ja chciałem mieć tak, że tylko to co sam sobie doda (ze skryptu na rozdawanie pkt co poziom) to będzie miał(ustawiłem, że do końca gry postać będzie miała w podstawie 10), widocznie ten skrypt nie zwiększa jego "bazowej" siły, tylko mu dodaje np: tak jak przedmiot :D

DZIWNE CO NIE ??
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Nie 22 Lip, 2012 18:37
No tak, skrypt na rozdawanie nie dodaje do bazowych tylko to aktualnych. W moim skrypcie tego typu rozwiązanie jest o tyle niewskazane, że ktoś, aby założyć miecz, może nałożyć inne elementy ekwipunku podnoszące np. siłę, po czym je zdejmie, gdy ów miecz nałoży. Ale jeśli potrzebujesz, to zamień "wymagania..." na poniższy:
Spoiler:

Kod:
#===================================================================
# Wymagania broni i pancerza [XP]
# by Ayene
# 26.03.2010 ver 1.2
# 04.03.2012 - dodano wymóg posiadania umiejętności
# www.ultimateam.pl
#===================================================================
# Opis:
# Skrypt umożliwia ustawienie wymagań dla broni i pancerza.
# Na przykład ekwipowanie bohatera w topór dwuręczny byłoby możliwe
# dopiero po osiągnięciu konkretnego poziomu lub posiadaniu odpowiedniej
# statystyki. Ponadto dodano opcję, dzięki której można wprowadzić wymóg
# posiadania odpowiedniej umiejętności.
#
# Instrukcja:
# By skorzystać ze skryptu należy skonfigurować wymagania (osobno dla każdej
# broni i pancerza) poniżej, zgodnie ze wzorem:
#
# WEAPON [ID broni] = [lv, maxhp, maxsp, str, dex, agi, int, [skill_id, skill_id, ...]]
#
# gdzie:
# LV - wymagany poziom postaci
# MAXHP - maksymalne HP (max HP)
# MAXMP - maksymalne MP (max MP)
# STR - siła (strength)
# DEX - zręczność (dexterity)
# AGI - szybkość (agility)
# INT - inteligencja (intelligence)
# SKILL_ID - ID umiejętności
#
# Przykładowo:
# Jeśli chcesz, by postać mogła ekwipować broń ID 2 na poziomie 6, dodatkowo
# pod warunkiem, że ma 120 max. HP, 40 siły i 70 inteligencji
# poniżej w sekcji BRONIE wpisz:
# WEAPON [2] = [6, 120, 0, 40, 0, 0, 70, []]
#
# Natomiast, aby założyć pancerz ID 3, który "wymaga" odpowiedniej zręczności
# i znajomości umiejętności o ID 10 i 40:
# ARMOR [3] = [0, 0, 0, 0, 70, 0, 0, [10, 40]]
#
#===================================================================

# KONFIGURACJA
module AYENE
  module EQUIP_REQ
   
   WEAPON = []
   ARMOR = []

# ~~~~~~~~~~~~~~~~~BRONIE~~~~~~~~~~~~~~~~
 
  # WEAPON [ID broni] = [lv, maxhp, maxsp, str, dex, agi, int, [skill_id, skill_id, ...]]
   
  WEAPON[1] = [2, 10, 10, 10, 10, 10, 10, [4]]   
  WEAPON[3] = [3, 500, 20, 0, 0, 0, 0, []]
   
# ~~~~~~~~~~~~~~~~PANCERZE~~~~~~~~~~~~~~~~
   
  # ARMOR [ID pancerza] = [lv, maxhp, maxsp, str, dex, agi, int, [skill_id, skill_id, ...]]
   
  ARMOR[2] = [1, 300, 0, 0, 0, 0, 0, []]
  ARMOR[3] = [3, 400, 0, 0, 0, 0, 0, []]
     
  ACC_TEXT = "By założyć ten przedmiot musisz mieć:"
  PARAM_NAMES = ["Poziom", "Żywotność", "Moc", "Siła", "Zręczność", "Szybkość", "Inteligencja", "Umiejętności:"]   
 
  SHOW_SKILL_REQ = true  # Czy wyświetlać, jakiej umiejętności brakuje?
 
  WLH = 32
  end
end

#===================================================================
# Game_Actor
#===================================================================
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Determine if Item can be Equiped (Actor's Parameters)
  #     stat    : stats
  #--------------------------------------------------------------------------
  def equip_allowed?(stat)
    return true if stat[0] <= level && stat[1] <= maxhp &&
          stat[2] <= maxsp && stat[3] <= str &&
          stat[4] <= dex && stat[5] <= agi &&
          stat[6] <= int && equip_skill_allowed?(stat)
    return false
  end
  #--------------------------------------------------------------------------
  # * Determine if Item can be Equiped (Actor's Skills )
  #     stat    : stats
  #--------------------------------------------------------------------------
  def equip_skill_allowed?(stat)   
    return true if stat[7].empty?
    stat[7].each{|skill_id|
      return false if !skill_learn?(skill_id)   
    }
    return true
  end
end

#===================================================================
# Window_Help
#===================================================================
class Window_EquipReq < Window_Base
  include AYENE::EQUIP_REQ
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     item       : item
  #     data       : parameters (array)
  #     actor      : actor
  #     skill      : skill
  #--------------------------------------------------------------------------
  def initialize(item, data, actor, skill)   
    if skill.empty? or !SHOW_SKILL_REQ
      height = (data.size+1) / 2 * WLH + WLH + 32
    else
      height = (data.size+1) / 2 * WLH + WLH + 32 + WLH * [skill.size, 7].min
    end     
    super(100, 200 - height/2, 460, height)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.z = 1000
    self.opacity = 255
    self.contents.font.color = crisis_color
    self.contents.draw_text(4, 0, self.width - 40, WLH, ACC_TEXT, 1)
    x = 10
    y = WLH
    data.each_with_index{|array, i|   
      self.contents.font.color = system_color
      self.contents.draw_text(x+i%2*240, y+i/2*WLH, 200, WLH, PARAM_NAMES[array[0]].to_s, 0)     
      self.contents.font.color = normal_color
      self.contents.draw_text(x+120+i%2*240, y+i/2*WLH, 40, WLH, array[1].to_s, 2)
    }
    if !skill.empty? and SHOW_SKILL_REQ
      size = (data.size+1)/2*WLH
      self.contents.font.color = system_color
      self.contents.draw_text(x, y+size, 200, WLH, PARAM_NAMES[7].to_s, 0)   
      self.contents.font.color = normal_color
      skill.each_with_index{|id, i|     
        self.contents.draw_text(x+140, y+size+WLH*i, 200, WLH, "- #{$data_skills[id].name}", 0)       
      }
    end
  end
end
 
#===================================================================
# Scene_Equip
#===================================================================
class Scene_Equip
  include AYENE::EQUIP_REQ
  #--------------------------------------------------------------------------
  # * Aliased Definitions
  #--------------------------------------------------------------------------
  alias ayene_item_stats_sceq_update update
  alias ayene_item_stats_sceq_update_item update_item
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update   
    @req_window != nil ? update_spec_selection : ayene_item_stats_sceq_update
  end
  #--------------------------------------------------------------------------
  # * Frame Update (when item window is active)
  #--------------------------------------------------------------------------
  def update_item
    @stat = nil
    item = @item_window.item
    case item
    when RPG::Weapon
      @stat = WEAPON[item.id]
    else
      @stat = ARMOR[item.id]
    end
    unless @stat == nil
      if Input.trigger?(Input::C) && !@actor.equip_allowed?(@stat)
        $game_system.se_play($data_system.buzzer_se)       
        @item_window.active = false
        show_spec_window   
        return
      end
    end
    ayene_item_stats_sceq_update_item
  end
  #--------------------------------------------------------------------------
  # * Frame Update (when requirements window is active)
  #--------------------------------------------------------------------------
  def update_spec_selection
    @frame < 100 ? @frame += 1 : @frame = 0
    if @frame == 100 or Input.trigger?(Input::C) or Input.trigger?(Input::B)
      @req_window.dispose
      @req_window = nil     
      @item_window.active = true     
    end
  end
  #--------------------------------------------------------------------------
  # * Show Requirements Window
  #--------------------------------------------------------------------------
  def show_spec_window
    @frame = 0
    data = []
    @stat.each_with_index {|value, type|
      data.push([type, value]) if value > 0 if type < 7   
    }   
    data.sort!{|a,b| a[0] <=> b[0]}   
    skill = @stat[7]
    @req_window = Window_EquipReq.new(@item, data, @actor, skill)       
  end
end

#===================================================================
# Game_Interpreter
#===================================================================
class Interpreter
  include AYENE::EQUIP_REQ
  #--------------------------------------------------------------------------
  # * Aliased Definitions
  #--------------------------------------------------------------------------
  alias aye_command_315 command_315
  alias aye_command_316 command_316
  alias aye_command_317 command_317
  alias aye_command_318 command_318
  #--------------------------------------------------------------------------
  # * Change EXP
  #--------------------------------------------------------------------------
  def command_315
    aye_command_315
    iterate_actor(@parameters[0]) do |actor|
      check_change_equip(actor)   
    end   
  end
  #--------------------------------------------------------------------------
  # * Change Level
  #--------------------------------------------------------------------------
  def command_316
    aye_command_316
    iterate_actor(@parameters[0]) do |actor|
      check_change_equip(actor)   
    end
  end
  #--------------------------------------------------------------------------
  # * Change Parameters
  #--------------------------------------------------------------------------
  def command_317
    aye_command_317
    iterate_actor(@parameters[0]) do |actor|
      check_change_equip(actor)   
    end
  end
  #--------------------------------------------------------------------------
  # * Change Skills
  #--------------------------------------------------------------------------
  def command_318
    aye_command_318
    iterate_actor(@parameters[0]) do |actor|
      check_change_equip(actor)   
    end
  end
  #--------------------------------------------------------------------------
  # * Check Equipment
  #     actor       : actor
  #--------------------------------------------------------------------------
  def check_change_equip(actor)   
    for i in 0..4
      case i
      when 0
        item = $data_weapons[actor.weapon_id]
        stat = WEAPON[item.id]
      when 1
        item = $data_armors[actor.armor1_id]
        stat = ARMOR[item.id]
      when 2
        item = $data_armors[actor.armor2_id]
        stat = ARMOR[item.id]
      when 3
        item = $data_armors[actor.armor3_id]
        stat = ARMOR[item.id]
      when 4
        item = $data_armors[actor.armor4_id]
        stat = ARMOR[item.id]
      end
      actor.equip(i, 0) if !stat.nil? && !actor.equip_allowed?(stat)     
    end
  end
end

________________________


 
 
 
m4t3us2 



Dołączył: 10 Lip 2012
Posty: 9
Wysłany: Nie 22 Lip, 2012 22:26
:jupi: Już działa, dzięki. Jesteś wielka :-D
 
 
Feniks 




Preferowany:
RPG Maker XP

Ranga RM:
2 gry

Pomógł: 62 razy
Dołączył: 04 Wrz 2010
Posty: 511
Wysłany: Wto 24 Lip, 2012 08:26
Tak, oto chodziło, jednak znowu nie pomyślałem, że może to nie być zgodne z rozdawaniem pkt. co poziom :-/ Czy dałabyś jeszcze radę wpakować tam zgodność z rozdaniem pkt co poziom? Wybacz, czasem nie pomyślę, ale na pewno się odwdzięczę za pomoc(nie zdradzę jednak jak :-P ) ;-)
________________________

 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Wto 24 Lip, 2012 09:13
Feniks, masz tam taki fragment:
Kod:
def equip_allowed?(stat)
    return true if stat[0] <= level && stat[1] <= base_maxhp &&
          stat[2] <= base_maxsp && stat[3] <= base_str &&
          stat[4] <= base_dex && stat[5] <= base_agi &&
          stat[6] <= base_int && equip_skill_allowed?(stat)
    return false
  end

podmień go na:
Kod:
def equip_allowed?(stat)
    return true if stat[0] <= level && stat[1] <= maxhp &&
          stat[2] <= maxsp && stat[3] <= str &&
          stat[4] <= dex && stat[5] <= agi &&
          stat[6] <= int && equip_skill_allowed?(stat)
    return false
  end

i będzie śmigać.
________________________


 
 
 
Feniks 




Preferowany:
RPG Maker XP

Ranga RM:
2 gry

Pomógł: 62 razy
Dołączył: 04 Wrz 2010
Posty: 511
Wysłany: Czw 26 Lip, 2012 13:28
Dopiero teraz mogłem spokojnie sprawdzić, czy ten tekst działa tak jak chcę i myślałem, że tamten jeden komunikat z pierwowzoru wyświetla tylko jeden komunikat(w sensie, że na jeden armor, ale to dawno myślałem i tak mi zostało, co nie zmienia faktu, że..) głupi jestem :-(
Teraz użyłem tego skryptu z 1 postu i zamieniłem wszystko i wszystko śmiga z rozdawaniem, jednak moje(mam nadzieje) ostatnie pytanie, czy dałoby radę zrobić to tak, że kiedy włożę przedmiot, który dodaje któregoś tam parametru i mogę dzięki niemu nosić np. hełm(bo brakowało mi np. 2 siły, a ten przedmiot dodaje akurat 8 siły) to czy kiedy czas danego przedmiotu(np. mikstura siły na 2 min.) lub jakaś broń, zbroja czy inne wyposażenie które dodało mi dany/dane parametry zostanie zdjęte to hełm sam automatycznie się zdejmie? Przepraszam za kłopot :-|
________________________

 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Pon 30 Lip, 2012 16:30
Przedmiot sam się zdejmie, gdy parametry zostaną zmienione na takie, które nie są wystarczającego do noszenia tego przedmiotu. Jest to domyślnie wbudowane w skrypt. Podobnie powinno być z soczkami. Jednak zawsze możesz sprawdzić.
________________________


 
 
 
Feniks 




Preferowany:
RPG Maker XP

Ranga RM:
2 gry

Pomógł: 62 razy
Dołączył: 04 Wrz 2010
Posty: 511
Wysłany: Nie 05 Sie, 2012 14:06
Sprawdziłem - w innym wypadku nie pisałbym owej prośby :-P
Założyłem ,,hełm" który dodał mi parametry, zdjąłem go, a tarcze nadal nosiłem(oczywiście po zdjęciu jej nie mogę założyć ponownie bez odpowiednich parametrów)
________________________

 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Pią 10 Sie, 2012 20:18
Ale sprawdzałeś wersję podstawową skryptu, czy po wprowadzeniu 'kompatybilności' na rozdawanie statystyk? Bo u mnie pierwszy działa bez zarzutów. Jeśli bardzo zależy Tobie na usprawnieniu wyślij mi fragment projektu ze wszystkimi swoimi skryptami. Zobaczę, co da się zrobić.

// EDIT
Uwaga, skrypt w pierwszym poście został zaktualizowany.
________________________


 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene