Ogłoszenie 

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


Administracja Forum


Poprzedni temat «» Następny temat
Zamknięty przez: Ayene
Sob 23 Kwi, 2011 15:39
Skrypt na - Umiejętności używane tylko z danym typem broni.
Autor Wiadomość
lolerixe 




Preferowany:
RPG Maker VX

Pomógł: 2 razy
Dołączył: 01 Mar 2011
Posty: 41
Skąd: Okolice Wrocławia
  Wysłany: Sro 20 Kwi, 2011 07:08
Skrypt na - Umiejętności używane tylko z danym typem broni.
Jak w temacie potrzebuję skryptu który po wpisaniu w notkach danej umiejętności
zrobi tak że tej umiejętność będzie można używać tylko z danym typem broni.
Np:
Umiejętność "Ogłuszający Cios" możliwy do użycia tylko z Młotami czy Pałkami, czyli jak bohater ma miecz to nie może używać jej.
I nie chodzi o konkretną jedną broń, bo to da się zrobić w typowych zdążeniach.
Chodzi o cała grupę broni - Młoty, Miecze itp...

Szukałem ale nie znalazłem, choć wydaje mi się iż widziałem gdzieś na Ultimie coś takiego.
Znalazłem to http://www.ultimateam.pl/viewtopic.php?t=2265 , ale to nie jest to.

Myślę że jasno napisałem o co mi biega..
________________________
------STAN PROJEKTU-------
Skrypty - 85%
Fabuła - 60%
Mapy - 10 %
Muzyka i Dźwięki - 100%
Baza Danych - 65% (około 800 z 1200 itemków)



Kliknij i zobacz
 
 
 
Angius 

Nie wkurzać



Preferowany:
RPG Maker VX

Pomógł: 104 razy
Dołączył: 30 Paź 2010
Posty: 1276
Skąd: wROCK
Wysłany: Sro 20 Kwi, 2011 16:17
Na rpgmakervx.net jest coś takiego. Daj mi moment, to znajdę. A jak nie chcesz czekać, to sam poszukaj :-)
Proszszsz... Powinno być dobre http://www.rpgmakervx.net...ls+with+weapons
________________________
"Na trolla pewne są tylko dwie pewne metody, jedna samopowtarzalna i druga, wymagająca przeładowania ręcznego."


 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Sro 20 Kwi, 2011 16:50
Nie wiem, czy jest. Niemniej zrobiłam... skorzystaj z którego chcesz. :->

Nie wiedziałam, czy chcesz żeby umiejętność była widoczna, ale zaciemniona, czy w ogóle nie widoczna, więc wybrałam wersję drugą (można w razie czego zmienić lekko skrypt) Instrukcja w treści skryptu.

Spoiler:

Kod:
#===================================================================
# Umiejętność dla konkretnego rodzaju broni [VX]
# by Ayene
# 20.04.2011 ver 1.0
# www.ultimateam.pl
#===================================================================
# Opis:
# Skrypt umożliwia ustawienie w oknie notatki, że dana umiejętność
# może być używana tylko wówczas, gdy bohater ma ekwipowany konkretny
# rodzaj broni.
#
# Instrukcja:
# By skorzystać ze skryptu w oknie 'Note' przy danej umiejętności
# w Bazie Danych umieść tekst <weapontype RODZAJ>, gdzie:
# RODZAJ - rodzaj broni według wzoru: 0 - miecze, 1 - młoty, itd.
# (patrz poniższa konfiguracja)
#
# Przykładowo:
# Jeśli chcesz, by postać mogła używać umiejętności dopiero, gdy jest
# ekwipowana w miecz to w oknie 'Note' tej umiejętności należy wpisać:
# <weapontype 1>
#
# Natomiast, gdy bohater może jej użyć dopiero z młotem:
# <weapontype 2>
#===================================================================
module AYENE
  module SkillSpec
    SKILL_SPEC = /<(?:WEAPONTYPE|weapontype)\s*(\d+)>/i
    WEAPON_TYPE = { # <- nie usuwać
   
    # RODZAJ => ["NAZWA", [ID broni z danego rodzaju po przecinku]],
    1 => ["Miecz", [2, 6, 10]],
    2 => ["Młot", [1, 18]],
    3 => ["Łuk", [4, 11, 17]]
   
    } # <- nie usuwać
  end
end

class RPG::Skill
  def skill_spec_ini
    @weapon_type = 0   
    self.note.split(/[\r\n]+/).each { |line|
      case line
      when AYENE::SkillSpec::SKILL_SPEC       
        @weapon_type = $1.to_i
      end
    }
  end
  def weapon_type
    skill_spec_ini if @weapon_type == nil
    return @weapon_type
  end 
end

class Window_Skill < Window_Selectable
  def refresh
    @data = []
    for skill in @actor.skills   
      if AYENE::SkillSpec::WEAPON_TYPE.include?(skill.weapon_type) 
        if AYENE::SkillSpec::WEAPON_TYPE[skill.weapon_type][1].include?(@actor.weapon_id)
          @data.push(skill)
          if skill.id == @actor.last_skill_id
            self.index = @data.size - 1
          end
        end
      end
    end
    @item_max = @data.size
    create_contents
    for i in 0...@item_max
      draw_item(i)
    end
  end
end

________________________


 
 
 
lolerixe 




Preferowany:
RPG Maker VX

Pomógł: 2 razy
Dołączył: 01 Mar 2011
Posty: 41
Skąd: Okolice Wrocławia
Wysłany: Sro 20 Kwi, 2011 20:55
Wielkie dzięki.
BTW- wolę przyciemnioną.

Rozumie że jako 4,5 ...itd mogę dopisać inne rodzaje. Wtedy "<weapontype 4,5 ...itd> " w notce umiejętności.
A do zmiany żeby umiejętność była widoczna, ale zaciemniona co edytować?

--------------
Ayene napisał/a:
# Przykładowo:
# Jeśli chcesz, by postać mogła używać umiejętności dopiero, gdy jest
# ekwipowana w miecz to w oknie 'Note' tej umiejętności należy wpisać:
# <weapontype 1>
#
# Natomiast, gdy bohater może jej użyć dopiero z młotem:
# <weapontype 2>


CHYBA
<wewpontype 0> dla miecza
<weapontype 1> dla młota
itd
________________________
------STAN PROJEKTU-------
Skrypty - 85%
Fabuła - 60%
Mapy - 10 %
Muzyka i Dźwięki - 100%
Baza Danych - 65% (około 800 z 1200 itemków)



Kliknij i zobacz
 
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Sro 20 Kwi, 2011 21:45
Co do zaciemnienia, spróbuj zamienić fragment:
Kod:
class Window_Skill < Window_Selectable
  def refresh
    @data = []
    for skill in @actor.skills   
      if AYENE::SkillSpec::WEAPON_TYPE.include?(skill.weapon_type)
        if AYENE::SkillSpec::WEAPON_TYPE[skill.weapon_type][1].include?(@actor.weapon_id)
          @data.push(skill)
          if skill.id == @actor.last_skill_id
            self.index = @data.size - 1
          end
        end
      end
    end
    @item_max = @data.size
    create_contents
    for i in 0...@item_max
      draw_item(i)
    end
  end
end

na:
Kod:
class Game_Actor < Game_Battler 
  def skill_can_use?(skill) 
    return false unless skill_learn?(skill)
    return false if not AYENE::SkillSpec::WEAPON_TYPE.include?(skill.weapon_type)     
    if AYENE::SkillSpec::WEAPON_TYPE.include?(skill.weapon_type) 
      if not AYENE::SkillSpec::WEAPON_TYPE[skill.weapon_type][1].include?(@weapon_id)       
        return false
      end
    end     
    return super
  end
end

Z tym że nie można przyporządkować dwóch rodzajów broni, jednej umiejętności. Jutro nad tym popracuję jeszcze, zobaczymy, co da się zrobić ;-) Spróbuj ewentualnie sprawdzić, o co chodzi z skrypcie podanym przez Angiusa :aww:
________________________


 
 
 
lolerixe 




Preferowany:
RPG Maker VX

Pomógł: 2 razy
Dołączył: 01 Mar 2011
Posty: 41
Skąd: Okolice Wrocławia
Wysłany: Czw 21 Kwi, 2011 07:26
Zrobiłem
Spoiler:

# RODZAJ => ["NAZWA", [ID broni z danego rodzaju po przecinku]],
1 => ["Miecz", [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]],
2 => ["Młot", [65, 66]],
3 => ["Łuk", [30, 31, 33]]
4 => ["Bezbroni", [42, 43 ]]
5 => ["Katary", [56, 57]]
6 => ["Laski", [58, 55]]
7 => ["Topory", [59, 60]]


i wywala mi błąd na pozycji 4.
Pod numerami ID broni mam sprzęt.
Więc nie wiem czemu.
Po wymazaniu 4,5,6,7 działa ok.

To może napiszę jakie typy broni przewiduję:
1.Miecz 1h
2.Topór 1h
3.Młot / Pałka 1h
4.Bronie 2h (młoty,pałki,miecze,topory)
5.Sztylet / Katar
6.Łuk / Kusza
7.Broń miotana
8.Bez Broni / Rękawice
9.Pazurki (czy jak tam je zwało się)
10.Laski / Różdżki

No fajnie było by gdyby można było pod umiejętnością wpisać że może być używany z np: 1,2 i 4.
I jak bohater ma np: miecz a umiejętność można użyć z młotem, to jest ona przyciemniona (ok) lecz po najechaniu na nią mogło by na gorze wyświetlać np: "Nie masz odpowiedniej broni do tej umiejętności"
________________________
------STAN PROJEKTU-------
Skrypty - 85%
Fabuła - 60%
Mapy - 10 %
Muzyka i Dźwięki - 100%
Baza Danych - 65% (około 800 z 1200 itemków)



Kliknij i zobacz
 
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Czw 21 Kwi, 2011 09:11
Zauważ, że na końcu każdej linijki powinien być przecinek. Tylko ostatnia linijka go nie potrzebuje.
Kod:
# RODZAJ => ["NAZWA", [ID broni z danego rodzaju po przecinku]],
1 => ["Miecz", [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]],
2 => ["Młot", [65, 66]],
3 => ["Łuk", [30, 31, 33]],
4 => ["Bezbroni", [42, 43 ]],
5 => ["Katary", [56, 57]],
6 => ["Laski", [58, 55]],
7 => ["Topory", [59, 60]]


Co do informacji o tym, że nie można używać broni...
Zamień skrypt na poniższy:
Spoiler:

Kod:
#===================================================================
# Umiejętność dla konkretnego rodzaju broni [VX]
# by Ayene
# 20.04.2011 ver 1.0
# www.ultimateam.pl
#===================================================================
# Opis:
# Skrypt umożliwia ustawienie w oknie notatki, że dana umiejętność
# może być używana tylko wówczas, gdy bohater ma ekwipowany konkretny
# rodzaj broni.
#
# Instrukcja:
# By skorzystać ze skryptu w oknie 'Note' przy danej umiejętności
# w Bazie Danych umieść tekst <weapontype RODZAJ>, gdzie:
# RODZAJ - rodzaj broni według wzoru: 0 - miecze, 1 - młoty, itd.
# (patrz poniższa konfiguracja)
#
# Przykładowo:
# Jeśli chcesz, by postać mogła używać umiejętności dopiero, gdy jest
# ekwipowana w miecz to w oknie 'Note' tej umiejętności należy wpisać:
# <weapontype 1>
#
# Natomiast, gdy bohater może jej użyć dopiero z młotem:
# <weapontype 2>
#===================================================================
module AYENE
  module SkillSpec
    SKILL_SPEC = /<(?:WEAPONTYPE|weapontype)\s*(\d+)>/i
    SKILL_WEAPON_TEXT = "Nie masz odpowiedniej broni do tej umiejętności."
   
    WEAPON_TYPE = { # <- nie usuwać
   
    # RODZAJ => ["NAZWA", [ID broni z danego rodzaju po przecinku]],
    1 => ["Miecz", [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]],
    2 => ["Młot", [1, 65, 66]],
    3 => ["Łuk", [30, 31, 33]],
    4 => ["Bezbroni", [42, 43 ]],
    5 => ["Katary", [56, 57]],
    6 => ["Laski", [58, 55]],
    7 => ["Topory", [59, 60]]
   
    } # <- nie usuwać
  end
end

class RPG::Skill
  def skill_spec_ini
    @weapon_type = 0   
    self.note.split(/[\r\n]+/).each { |line|
      case line
      when AYENE::SkillSpec::SKILL_SPEC       
        @weapon_type = $1.to_i
      end
    }
  end
  def weapon_type
    skill_spec_ini if @weapon_type == nil
    return @weapon_type
  end   
  def spec_text
    return AYENE::SkillSpec::SKILL_WEAPON_TEXT
  end
end

class Window_Skill < Window_Selectable 
  def draw_item(index)
    rect = item_rect(index)
    self.contents.clear_rect(rect)
    skill = @data[index]
    if skill != nil
      rect.width -= 4     
      enabled = @actor.skill_can_use?(skill)
      if AYENE::SkillSpec::WEAPON_TYPE.include?(skill.weapon_type)
        if not AYENE::SkillSpec::WEAPON_TYPE[skill.weapon_type][1].include?(@actor.weapon_id)                   
          enabled = false         
        end   
      end   
      enabled = false if not AYENE::SkillSpec::WEAPON_TYPE.include?(skill.weapon_type)
      draw_item_name(skill, rect.x, rect.y, enabled)
      self.contents.draw_text(rect, @actor.calc_mp_cost(skill), 2)
    end
  end
end

class Scene_Skill < Scene_Base
  alias aye_skillspec_scsk_start start
  alias aye_skillspec_scsk_ter terminate
 
  def start
    aye_skillspec_scsk_start
    @frame = 0   
    @spec_window = Window_Help.new(22,180,500)
    @spec_window.active = true
    @spec_window.visible = false     
  end
 
  def terminate
    aye_skillspec_scsk_ter
    @spec_window.dispose
  end
 
  def update
    super
    update_menu_background
    @help_window.update
    @status_window.update
    @skill_window.update
    @target_window.update
    @spec_window.update
    if @skill_window.active
      update_skill_selection
    elsif @target_window.active
      update_target_selection   
    elsif @spec_window.active
      update_spec_selection   
    end
  end 
 
  def update_skill_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::R)
      Sound.play_cursor
      next_actor
    elsif Input.trigger?(Input::L)
      Sound.play_cursor
      prev_actor
    elsif Input.trigger?(Input::C)
      @skill = @skill_window.skill
      if @skill != nil
        @actor.last_skill_id = @skill.id
      end             
      if @actor.skill_can_use?(@skill)
        if AYENE::SkillSpec::WEAPON_TYPE.include?(@skill.weapon_type)
          if AYENE::SkillSpec::WEAPON_TYPE[@skill.weapon_type][1].include?(@actor.weapon_id)                   
            Sound.play_decision
            determine_skill
          else
            @spec_window.set_text(@skill.spec_text, 1)
            Sound.play_buzzer
            @spec_window.visible = true
            @spec_window.active = true       
            @skill_window.active = false 
          end         
        else
          @spec_window.set_text(@skill.spec_text, 1)
          Sound.play_buzzer
          @spec_window.visible = true
          @spec_window.active = true       
          @skill_window.active = false
        end
      else
        Sound.play_buzzer
      end
    end
  end
 
  def update_spec_selection
    @frame < 50 ? @frame += 1 : @frame = 0
    if @frame == 50
      @spec_window.visible = false
      @skill_window.active = true
      @spec_window.active = false     
    end
  end   
end

class Window_Help < Window_Base
  def initialize(x=0, y=0, w=544, h=WLH + 32)
    super(x, y, w, h)
  end
end

________________________


 
 
 
lolerixe 




Preferowany:
RPG Maker VX

Pomógł: 2 razy
Dołączył: 01 Mar 2011
Posty: 41
Skąd: Okolice Wrocławia
Wysłany: Pią 22 Kwi, 2011 09:21
Wszystko fajnie Ayene, tyle że zaciemnione umiejętności (których teoretycznie z daną bronią nie można użyć) można używać tak jak te widoczne.
________________________
------STAN PROJEKTU-------
Skrypty - 85%
Fabuła - 60%
Mapy - 10 %
Muzyka i Dźwięki - 100%
Baza Danych - 65% (około 800 z 1200 itemków)



Kliknij i zobacz
 
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Pią 22 Kwi, 2011 10:29
Widocznie coś źle konfigurujesz, bo wszystko powinno działać. Łap demo:

Demo

________________________


 
 
 
lolerixe 




Preferowany:
RPG Maker VX

Pomógł: 2 razy
Dołączył: 01 Mar 2011
Posty: 41
Skąd: Okolice Wrocławia
Wysłany: Pią 22 Kwi, 2011 14:03
Dalej to samo.

CZĘŚĆ SKRYPTU
Spoiler:


module AYENE
module SkillSpec
SKILL_SPEC = /<(?:WEAPONTYPE|weapontype)\s*(\d+)>/i
SKILL_WEAPON_TEXT = "Nie masz odpowiedniej broni do tej umiejętności."

WEAPON_TYPE = { # <- nie usuwać

# RODZAJ => ["NAZWA", [ID broni z danego rodzaju po przecinku]],
1 => ["Miecz1h", [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 42, 43]],
2 => ["Młot1h", [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79]],
3 => ["Łuk", [45, 46, 47, 48, 49, 50, 51, 52, 53, 54]],
4 => ["Bezbroni", [154, 155 ]],
5 => ["Katary", [144, 145]],
6 => ["Laski", [32, 33]],
7 => ["Miecz2h", [55, 56 ]],
8 => ["Sztylet", [21, 22 ]],
9 => ["Topory2h", [95, 96 ]],
10 => ["Młoty2h", [115, 116 ]],
11 => ["Topory1h", [80, 81]],
12 => ["Cięte", [1, 2, 21, 55, 80]],
13 => ["Pazurki", [149, 150, 151, 152, 153]]
} # <- nie usuwać



SCREENY
Spoiler:





________________________
------STAN PROJEKTU-------
Skrypty - 85%
Fabuła - 60%
Mapy - 10 %
Muzyka i Dźwięki - 100%
Baza Danych - 65% (około 800 z 1200 itemków)



Kliknij i zobacz
 
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Pią 22 Kwi, 2011 19:22
Aaa sorka, bo skrypt nie blokuje możliwość użycia podczas walki, a skoncentrowałam się tylko na Menu :aww: Zapomniałam o tym szczególe. Mój błąd :-PP
Podmień skrypt na poniższy:
Spoiler:

Kod:
#===================================================================
# Umiejętność dla konkretnego rodzaju broni [VX]
# by Ayene
# 20.04.2011 ver 2.0
# www.ultimateam.pl
#===================================================================
# Opis:
# Skrypt umożliwia ustawienie w oknie notatki, że dana umiejętność
# może być używana tylko wówczas, gdy bohater ma ekwipowany konkretny
# rodzaj broni.
#
# Instrukcja:
# By skorzystać ze skryptu w oknie 'Note' przy danej umiejętności
# w Bazie Danych umieść tekst <weapontype RODZAJ>, gdzie:
# RODZAJ - rodzaj broni według wzoru: 0 - miecze, 1 - młoty, itd.
# (patrz poniższa konfiguracja)
#
# Przykładowo:
# Jeśli chcesz, by postać mogła używać umiejętności dopiero, gdy jest
# ekwipowana w miecz to w oknie 'Note' tej umiejętności należy wpisać:
# <weapontype 1>
#
# Natomiast, gdy bohater może jej użyć dopiero z młotem:
# <weapontype 2>
#===================================================================
module AYENE
  module SkillSpec
    SKILL_SPEC = /<(?:WEAPONTYPE|weapontype)\s*(\d+)>/i
    SKILL_WEAPON_TEXT = "Nie masz odpowiedniej broni do tej umiejętności."

    WEAPON_TYPE = { # <- nie usuwać

    # RODZAJ => ["NAZWA", [ID broni z danego rodzaju po przecinku]],
    1 => ["Miecz1h", [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 42, 43]],
    2 => ["Młot1h", [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79]],
    3 => ["Łuk", [45, 46, 47, 48, 49, 50, 51, 52, 53, 54]],
    4 => ["Bezbroni", [154, 155 ]],
    5 => ["Katary", [144, 145]],
    6 => ["Laski", [32, 33]],
    7 => ["Miecz2h", [55, 56 ]],
    8 => ["Sztylet", [21, 22 ]],
    9 => ["Topory2h", [95, 96 ]],
    10 => ["Młoty2h", [115, 116 ]],
    11 => ["Topory1h", [80, 81]],
    12 => ["Cięte", [1, 2, 21, 55, 80]],
    13 => ["Pazurki", [149, 150, 151, 152, 153]]
    } # <- nie usuwać
  end
end

class RPG::Skill
  def skill_spec_ini
    @weapon_type = 0   
    self.note.split(/[\r\n]+/).each { |line|
      case line
      when AYENE::SkillSpec::SKILL_SPEC       
        @weapon_type = $1.to_i
      end
    }
  end
  def weapon_type
    skill_spec_ini if @weapon_type == nil
    return @weapon_type
  end   
  def spec_text
    return AYENE::SkillSpec::SKILL_WEAPON_TEXT
  end
end

class Window_Skill < Window_Selectable 
  def draw_item(index)
    rect = item_rect(index)
    self.contents.clear_rect(rect)
    skill = @data[index]
    if skill != nil
      rect.width -= 4     
      enabled = @actor.skill_can_use?(skill)
      if AYENE::SkillSpec::WEAPON_TYPE.include?(skill.weapon_type)
        if not AYENE::SkillSpec::WEAPON_TYPE[skill.weapon_type][1].include?(@actor.weapon_id)                   
          enabled = false         
        end   
      end   
      enabled = false if not AYENE::SkillSpec::WEAPON_TYPE.include?(skill.weapon_type)
      draw_item_name(skill, rect.x, rect.y, enabled)
      self.contents.draw_text(rect, @actor.calc_mp_cost(skill), 2)
    end
  end
end

class Scene_Skill < Scene_Base
  alias aye_skillspec_scsk_start start
  alias aye_skillspec_scsk_ter terminate
 
  def start
    aye_skillspec_scsk_start
    @frame = 0   
    @spec_window = Window_Help.new(22,180,500)   
    @spec_window.active = false
    @spec_window.visible = false     
  end
 
  def terminate
    aye_skillspec_scsk_ter
    @spec_window.dispose
  end
 
  def update
    super
    update_menu_background
    @help_window.update
    @status_window.update
    @skill_window.update
    @target_window.update
    @spec_window.update
    if @skill_window.active
      update_skill_selection
    elsif @target_window.active
      update_target_selection   
    elsif @spec_window.active
      update_spec_selection   
    end
  end 
 
  def update_skill_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::R)
      Sound.play_cursor
      next_actor
    elsif Input.trigger?(Input::L)
      Sound.play_cursor
      prev_actor
    elsif Input.trigger?(Input::C)
      @skill = @skill_window.skill
      if @skill != nil
        @actor.last_skill_id = @skill.id
      end             
      if @actor.skill_can_use?(@skill)
        if AYENE::SkillSpec::WEAPON_TYPE.include?(@skill.weapon_type)
          if AYENE::SkillSpec::WEAPON_TYPE[@skill.weapon_type][1].include?(@actor.weapon_id)                   
            Sound.play_decision
            determine_skill
          else
            @spec_window.set_text(@skill.spec_text, 1)
            Sound.play_buzzer
            @spec_window.visible = true
            @spec_window.active = true       
            @skill_window.active = false 
          end         
        else
          @spec_window.set_text(@skill.spec_text, 1)
          Sound.play_buzzer
          @spec_window.visible = true
          @spec_window.active = true       
          @skill_window.active = false
        end
      else
        Sound.play_buzzer
      end
    end
  end
 
  def update_spec_selection
    @frame < 50 ? @frame += 1 : @frame = 0
    if @frame == 50
      @spec_window.visible = false
      @skill_window.active = true
      @spec_window.active = false     
    end
  end   
end

class Window_Help < Window_Base
  def initialize(x=0, y=0, w=544, h=WLH + 32)
    super(x, y, w, h)
  end
end

class Scene_Battle < Scene_Base
  alias aye_skillspec_scbat_start start
  alias aye_skillspec_scbat_ter terminate
 
  def start
    aye_skillspec_scbat_start
    @frame = 0   
    @spec_window = Window_Help.new(22,140,500)
    @spec_window.z = 1000
    @spec_window.active = false
    @spec_window.visible = false     
  end
 
  def terminate
    aye_skillspec_scbat_ter
    @spec_window.dispose
  end
 
  def update
    super
    update_basic(true)
    update_info_viewport                 
    if $game_message.visible
      @info_viewport.visible = false
      @message_window.visible = true
    end
    unless $game_message.visible         
      return if judge_win_loss           
      update_scene_change
      if @target_enemy_window != nil
        update_target_enemy_selection     
      elsif @target_actor_window != nil       
        update_target_actor_selection     
      elsif @spec_window.active
        update_spec_selection   
      elsif @skill_window != nil
        update_skill_selection           
      elsif @item_window != nil
        update_item_selection             
      elsif @party_command_window.active
        update_party_command_selection   
      elsif @actor_command_window.active
        update_actor_command_selection     
      else
        process_battle_event             
        process_action                   
        process_battle_event             
      end
    end
  end
 
  def update_skill_selection
    @skill_window.active = true
    @skill_window.update
    @help_window.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      end_skill_selection
    elsif Input.trigger?(Input::C)
      @skill = @skill_window.skill
      if @skill != nil
        @active_battler.last_skill_id = @skill.id
      end       
      if @active_battler.skill_can_use?(@skill)
        if AYENE::SkillSpec::WEAPON_TYPE.include?(@skill.weapon_type)
          if AYENE::SkillSpec::WEAPON_TYPE[@skill.weapon_type][1].include?(@active_battler.weapon_id)                   
            Sound.play_decision
            determine_skill
          else
            @spec_window.set_text(@skill.spec_text, 1)
            Sound.play_buzzer
            @spec_window.visible = true
            @spec_window.active = true       
            @skill_window.active = false 
          end         
        else
          @spec_window.set_text(@skill.spec_text, 1)
          Sound.play_buzzer
          @spec_window.visible = true
          @spec_window.active = true       
          @skill_window.active = false
        end
      else
        Sound.play_buzzer
      end
    end
  end 
  def update_spec_selection
    @spec_window.update
    @frame < 50 ? @frame += 1 : @frame = 0
    if @frame == 50
      @spec_window.visible = false
      @skill_window.active = true #if @skill_window != nil
      @spec_window.active = false     
    end
  end 
end


:->
________________________


 
 
 
lolerixe 




Preferowany:
RPG Maker VX

Pomógł: 2 razy
Dołączył: 01 Mar 2011
Posty: 41
Skąd: Okolice Wrocławia
Wysłany: Sob 23 Kwi, 2011 14:27
Korzystam z RPG Tankentai SBS 3.4d + ATB 1.2c Kaduki i wywala mi błąd z tym skryptem (z ostatnią jego wersją) więc skorzystałem z pierwotnej wersji z niewidzialnymi umiejętnościami.

Bardzo dziękuję Ayene, punkcik przyznany.
________________________
------STAN PROJEKTU-------
Skrypty - 85%
Fabuła - 60%
Mapy - 10 %
Muzyka i Dźwięki - 100%
Baza Danych - 65% (około 800 z 1200 itemków)



Kliknij i zobacz
 
 
 
Wyświetl posty z ostatnich:   
Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
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