Ogłoszenie 

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


Administracja Forum


Poprzedni temat «» Następny temat
Otwarty przez: Avara
Czw 30 Sie, 2012 17:34
Punkty co poziom :)
Autor Wiadomość
Azsak von Triger 




Preferowany:
RPG Maker VX

Ranga RM:
1 gra

Dołączył: 29 Paź 2009
Posty: 48
Skąd: Gdynia
Wysłany: Sob 31 Paź, 2009 09:47
Punkty co poziom :)
Ostatnio czytałem ,że ktoś prosił o rozdawanie punktów do vx :) ,a więc dodaje:
SCREENY:

Tu rozdajemy punkty:

Opcja w menu która przenosi do obrazka wyżej :D :

SKRYPT:

Spoiler:

Kod:
#==============================================================================
# Requiem Upgrade
# Autor: Requiem
# Zamieścił: Karsznickus
# Modyfikacja z samowyskakującym oknem: Ayene
# Modyfikacja z ikoną awansu pobrana od Blizzarda
#==============================================================================

module Ayene
 
  # Samowyświetlające się okno - przy każdym następnym awansie okno samo będzie
  # się pojawiać
  OKNO_UP = false    # true / false
 
  # Ikona sygnalizująca awans na poziom
  LEVEL_UP_ICON = true  # true / false
 
  # Parametry ikony [x, y, opacity]
  ICON_DATA = [510, 380, 200]
 
end

Points_Gained = 5 # liczba punktów co poziom

#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
class Game_Actor < Game_Battler
 
  attr_accessor :points
 
  alias requiem_upgwnd_initialize initialize
  alias requiem_upgwnd_lvlup level_up
 
  def initialize(actor_id)
    requiem_upgwnd_initialize(actor_id)
    @points = 0
  end
 
  def level_up
    requiem_upgwnd_lvlup
    @points += Points_Gained
    # gdy awans na poziom następuje poprzez bezpośrednie dodanie exp drużynie
    if Ayene::OKNO_UP == true
      $scene = Scene_RequiemUpgrade.new(0,false) unless $game_temp.in_battle == true     
    end
  end
end

#------------------------------------------------------------------------------
# by Ayene
# okno ze statystykami wyświetla się po walce, gdy ktoś z drużyny ma awans
if Ayene::OKNO_UP
  class Scene_Battle < Scene_Base   
    alias ayene_proc_vic process_victory
    def process_victory
      ayene_proc_vic   
      if $game_party.members.any? {|actor| actor.points > 0}
        $scene = Scene_RequiemUpgrade.new(0,false)
      else
       battle_end(0)
      end
    end
  end
end
#koniec

#------------------------------------------------------------------------------
# by Ayene
class Scene_Map < Scene_Base
  alias terminate_sds_later terminate
  def terminate
    terminate_sds_later
    @notify.dispose unless @notify.nil?
  end
 
  alias upd_sds_later update
  def update
    upd_sds_later
    check_icon if Ayene::LEVEL_UP_ICON
  end
 
  def check_icon
    if $game_party.members.any? {|actor| actor.points > 0}
      if @notify == nil
        @notify = Sprite.new
      else       
        @notify.bitmap = Bitmap.new(24, 24)
        @notify.bitmap.fill_rect(0, 0, 24, 24, Color.new(255, 255, 255))
        @notify.bitmap.fill_rect(22, 1, 2, 23, Color.new(0, 0, 0))
        @notify.bitmap.fill_rect(1, 22, 23, 2, Color.new(0, 0, 0))
        @notify.bitmap.set_pixel(23, 0, Color.new(0, 0, 0))
        @notify.bitmap.set_pixel(0, 23, Color.new(0, 0, 0))
        @notify.bitmap.fill_rect(2, 2, 20, 20, Color.new(0, 0, 224))
        @notify.bitmap.fill_rect(4, 10, 16, 4, Color.new(255, 255, 255))
        @notify.bitmap.fill_rect(10, 4, 4, 16, Color.new(255, 255, 255))
        @notify.opacity = Ayene::ICON_DATA[2]
      end 
      @notify.x, @notify.y = Ayene::ICON_DATA[0, 2]
      @notify.z = 5000
    end
    @notify.update unless @notify.nil?
  end
end
#koniec

#------------------------------------------------------------------------------
class Requiem_UpgradeWindow < Window_Base
 
  def initialize(actor)
    super(0,65,320,320)
    @actor = actor
    update
  end
 
  def update
    self.contents.clear
    draw_actor_face(@actor,0,0,92)
    draw_actor_name(@actor,160,0)
    self.contents.font.color = normal_color
    self.contents.draw_text(224,28,64,WLH,@actor.level)
    self.contents.draw_text(224,26*2,64,WLH,@actor.points)
    self.contents.draw_text(128,24*5,96,WLH,@actor.maxhp)
    self.contents.draw_text(128,24*6,96,WLH,@actor.maxmp)
    self.contents.draw_text(128,24*7,96,WLH,@actor.atk)
    self.contents.draw_text(128,24*8,96,WLH,@actor.def)
    self.contents.draw_text(128,24*9,96,WLH,@actor.spi)
    self.contents.draw_text(128,24*10,96,WLH,@actor.agi)
    refresh
  end
 
  def refresh
    self.contents.font.color = system_color
    self.contents.draw_text(128,28,128,WLH,Vocab::level+":")
    self.contents.draw_text(128,26*2,128,WLH,"Punkty:")
    self.contents.draw_text(0,24*5,128,WLH,Vocab::hp_a+":")
    self.contents.draw_text(0,24*6,128,WLH,Vocab::mp_a+":")
    self.contents.draw_text(0,24*7,128,WLH,Vocab::atk+":")
    self.contents.draw_text(0,24*8,128,WLH,Vocab::def+":")
    self.contents.draw_text(0,24*9,128,WLH,Vocab::spi+":")
    self.contents.draw_text(0,24*10,128,WLH,Vocab::agi+":")
  end
 
end

# by Ayene
# Niewielka modyfikacja Window_Help
class Window_Help < Window_Base
  def initialize (y = 0, width = 544)
    super(0, y, width, WLH + 32)
  end
end
# koniec
#------------------------------------------------------------------------------
class Scene_RequiemUpgrade < Scene_Base
 
  def initialize(actor_index=0, from_menu=false)
    create_menu_background
    @actor_index = actor_index
    @from_menu = from_menu
  end
 
  def start
    super
    create_menu_background   
    @actor = $game_party.members[@actor_index]
    @requiem_upgwindow = Requiem_UpgradeWindow.new(@actor)
    @requiem_upgwindow.x = (544 - @requiem_upgwindow.width) / 2
    @requiem_upgcmdwnd  = Window_Command.new(64,[" +"," +"," +"," +"," +"," +"])
    @requiem_upgcmdwnd.index = 0
    @requiem_upgcmdwnd.x = @requiem_upgwindow.x + 192
    @requiem_upgcmdwnd.y = @requiem_upgwindow.y + 120
    @requiem_upgcmdwnd.opacity = 0
    # by Ayene
    # Dodany Window_Help
    @help_window = Window_Help.new (10, 320)
    @help_window.x = (544 - @requiem_upgwindow.width) / 2
    @help_window.set_text("L/R - Zmiana bohatera",1)
    # koniec
  end

# by Ayene
# następny / poprzedni bohater
  def next_actor
    @actor_index += 1
    @actor_index %= $game_party.members.size
    if @from_menu == true
    $scene = Scene_RequiemUpgrade.new(@actor_index,true)
    else
    $scene = Scene_RequiemUpgrade.new(@actor_index,false)
    end
  end
 
  def prev_actor
    @actor_index += $game_party.members.size - 1
    @actor_index %= $game_party.members.size
    if @from_menu == true
    $scene = Scene_RequiemUpgrade.new(@actor_index,true)
    else
    $scene = Scene_RequiemUpgrade.new(@actor_index,false)
    end
  end
# koniec
 
  def update
    super
    update_menu_background
    @requiem_upgwindow.update
    @requiem_upgcmdwnd.update
    @help_window.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      if @from_menu
        $scene = Scene_Menu.new(4)
      else
        $scene = Scene_Map.new
      end
    # by Ayene
    # następny / poprzedni bohater
    elsif Input.trigger?(Input::R)
      Sound.play_cursor
      next_actor
    elsif Input.trigger?(Input::L)
      Sound.play_cursor
      prev_actor
    # koniec   
    elsif Input.trigger?(Input::C)
      if @actor.points > 0
        Sound.play_decision
      else
        Sound.play_buzzer
        return
      end
      case @requiem_upgcmdwnd.index
      when 0
        @actor.points -= 1
        @actor.maxhp += 10
      when 1
        @actor.points -= 1
        @actor.maxmp += 10
      when 2
        @actor.points -= 1
        @actor.atk += 1
      when 3
        @actor.points -= 1
        @actor.def += 1
      when 4
        @actor.points -= 1
        @actor.spi += 1
      when 5
        @actor.points -= 1
        @actor.agi += 1
      end     
    end
  end
 
  def terminate
    super
    dispose_menu_background
    @requiem_upgwindow.dispose
    @requiem_upgcmdwnd.dispose
    @help_window.dispose
  end
   
end

#------------------------------------------------------------------------------
class Scene_Menu < Scene_Base
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = "Poziom plus"
    s6 = Vocab::save
    s7 = Vocab::game_end
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6,s7])
    @command_window.index = @menu_index
    if $game_party.members.size == 0
      @command_window.draw_item(0, false)
      @command_window.draw_item(1, false)
      @command_window.draw_item(2, false)
      @command_window.draw_item(3, false)
    end
    if $game_system.save_disabled
      @command_window.draw_item(4, false)
    end
  end
 
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0
        $scene = Scene_Item.new
      when 1,2,3,4
        start_actor_selection
      when 5
        $scene = Scene_File.new(true, false, false)
      when 6
        $scene = Scene_End.new
      end
    end
  end
 
  def update_actor_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      end_actor_selection
    elsif Input.trigger?(Input::C)
      $game_party.last_actor_index = @status_window.index
      Sound.play_decision
      case @command_window.index
      when 1
        $scene = Scene_Skill.new(@status_window.index)
      when 2
        $scene = Scene_Equip.new(@status_window.index)
      when 3
        $scene = Scene_Status.new(@status_window.index)
      when 4
        $scene = Scene_RequiemUpgrade.new(@status_window.index,true)
      end
    end
  end
end

#------------------------------------------------------------------------------
class Scene_File < Scene_Base
  def return_scene
    if @from_title
      $scene = Scene_Title.new
    elsif @from_event
      $scene = Scene_Map.new
    else
      $scene = Scene_Menu.new(5)
    end
  end
end

#------------------------------------------------------------------------------
class Scene_End < Scene_Base
  def return_scene
    $scene = Scene_Menu.new(6)
  end
end


Kod:
Points_Gained = 5 # Points that hero will gain when level-up

Ta piątka to ilość punktów jaką dostajemy co poziom :).Oczywiście można to zmienić na np.7
Spoiler:

Kod:
        @actor.points -= 1
        @actor.maxhp += 10
      when 1
        @actor.points -= 1
        @actor.maxmp += 10
      when 2
        @actor.points -= 1
        @actor.atk += 1
      when 3
        @actor.points -= 1
        @actor.def += 1
      when 4
        @actor.points -= 1
        @actor.spi += 1
      when 5
        @actor.points -= 1
        @actor.agi += 1


A w tych linijkach wybieramy ile dostajemy punktów do danej umiejętności za ja jakąś ilość punktów które dostajemy co poziom:).
No to chyba wszystko :).
 
 
 
Greed 




Preferowany:
RPG Maker VX

Dołączył: 26 Wrz 2009
Posty: 42
Skąd: Tokio
Wysłany: Sob 31 Paź, 2009 22:31
Fajne, skrypt z rozdawaniem poziomów. To jest coś :-D

Mam tylko pytanie: czy ktoś nie umiał by zrobić tak aby ten skrypt był kompatybilny ze skryptem bestiariusza i dziennika misji.

Z góry dziękuję.
________________________
"Darker than Black"
Może taki jestem.
 
 
 
SaE 





Ranga RM:
2 gry

Pomogła: 8 razy
Dołączyła: 14 Paź 2007
Posty: 189
Wysłany: Nie 01 Lis, 2009 00:29
Podobnie jak wcześniej podmień skrypt usunięcia zapisu na poniższy:
Spoiler:

Kod:
#==============================================================================
# ** Skrypt by Ozzma
#------------------------------------------------------------------------------
# www.ultimateam.pl
#==============================================================================

class Scene_Menu < Scene_Base

def initialize(menu_index = 0)
@menu_index = menu_index
end

def start
super
create_menu_background
create_command_window
@gold_window = Window_Gold.new(0, 360)
@status_window = Window_MenuStatus.new(160, 0)
end

def terminate
super
dispose_menu_background
@command_window.dispose
@gold_window.dispose
@status_window.dispose
end

def update
super
update_menu_background
@command_window.update
@gold_window.update
@status_window.update
if @command_window.active
update_command_selection
elsif @status_window.active
update_actor_selection
end
end

def create_command_window
s1 = Vocab::item
s2 = Vocab::skill
s3 = Vocab::equip
s4 = Vocab::status
s5 = 'Bestiariusz'
s6 = 'Misje'
s7 = 'Punkty plus'
s8 = Vocab::game_end
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7, s8])
@command_window.index = @menu_index
if $game_party.members.size == 0
@command_window.draw_item(0, false)
@command_window.draw_item(1, false)
@command_window.draw_item(2, false)
@command_window.draw_item(3, false)
end
end

def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
if $game_party.members.size == 0 and @command_window.index < 4
Sound.play_buzzer
return
end
Sound.play_decision
case @command_window.index
when 0
$scene = Scene_Item.new
when 1,2,3,6
start_actor_selection
when 4
$scene = Scene_MonsterBook.new
when 5
$scene = Scene_Quest.new
when 7
$scene = Scene_End.new
end
end
end

def start_actor_selection
@command_window.active = false
@status_window.active = true
if $game_party.last_actor_index < @status_window.item_max
@status_window.index = $game_party.last_actor_index
else
@status_window.index = 0
end
end

def end_actor_selection
@command_window.active = true
@status_window.active = false
@status_window.index = -1
end

def update_actor_selection
if Input.trigger?(Input::B)
Sound.play_cancel
end_actor_selection
elsif Input.trigger?(Input::C)
$game_party.last_actor_index = @status_window.index
Sound.play_decision
case @command_window.index
when 1
$scene = Scene_Skill.new(@status_window.index)
when 2
$scene = Scene_Equip.new(@status_window.index)
when 3
$scene = Scene_Status.new(@status_window.index)
when 4
$scene = Scene_RequiemUpgrade.new(@status_window.index,true)
end
end
end
end


#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
class Scene_End < Scene_Base

def return_scene
$scene = Scene_Menu.new(7)
end

def update
super
update_menu_background
@command_window.update
if Input.trigger?(Input::B)
Sound.play_cancel
return_scene
elsif Input.trigger?(Input::C)
case @command_window.index
when 0
command_to_title
when 1
command_shutdown
when 2
command_cancel
end
end
end
end



A w powyższym skrypcie zmień kod w klasie class Scene_RequiemUpgrade < Scene_Base:

Kod:
$scene = Scene_Menu.new(4)

na
Kod:
$scene = Scene_Menu.new(6)
________________________
Nie ma śniegu, a na ulicach pełno bałwanów ^^


 
 
 
Greed 




Preferowany:
RPG Maker VX

Dołączył: 26 Wrz 2009
Posty: 42
Skąd: Tokio
Wysłany: Nie 01 Lis, 2009 13:51
Zrobiłem tak jak napisałaś. Niby pokazuje mi w menu wszystkie zakładki ale "rozdawanie poziomów" nie wchodzi (po prostu gdy klikam nic się nie dzieję) :-(
________________________
"Darker than Black"
Może taki jestem.
 
 
 
SaE 





Ranga RM:
2 gry

Pomogła: 8 razy
Dołączyła: 14 Paź 2007
Posty: 189
Wysłany: Nie 01 Lis, 2009 14:36
Hjehje małe przeoczenie. Teraz już wszystko będzie ok:

Spoiler:

Kod:
#==============================================================================
# ** Skrypt by Ozzma
#------------------------------------------------------------------------------
# www.ultimateam.pl
#==============================================================================

class Scene_Menu < Scene_Base

def initialize(menu_index = 0)
@menu_index = menu_index
end

def start
super
create_menu_background
create_command_window
@gold_window = Window_Gold.new(0, 360)
@status_window = Window_MenuStatus.new(160, 0)
end

def terminate
super
dispose_menu_background
@command_window.dispose
@gold_window.dispose
@status_window.dispose
end

def update
super
update_menu_background
@command_window.update
@gold_window.update
@status_window.update
if @command_window.active
update_command_selection
elsif @status_window.active
update_actor_selection
end
end

def create_command_window
s1 = Vocab::item
s2 = Vocab::skill
s3 = Vocab::equip
s4 = Vocab::status
s5 = 'Bestiariusz'
s6 = 'Misje'
s7 = 'Punkty plus'
s8 = Vocab::game_end
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7, s8])
@command_window.index = @menu_index
if $game_party.members.size == 0
@command_window.draw_item(0, false)
@command_window.draw_item(1, false)
@command_window.draw_item(2, false)
@command_window.draw_item(3, false)
end
end

def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
if $game_party.members.size == 0 and @command_window.index < 4
Sound.play_buzzer
return
end
Sound.play_decision
case @command_window.index
when 0
$scene = Scene_Item.new
when 1,2,3,6
start_actor_selection
when 4
$scene = Scene_MonsterBook.new
when 5
$scene = Scene_Quest.new
when 7
$scene = Scene_End.new
end
end
end

def start_actor_selection
@command_window.active = false
@status_window.active = true
if $game_party.last_actor_index < @status_window.item_max
@status_window.index = $game_party.last_actor_index
else
@status_window.index = 0
end
end

def end_actor_selection
@command_window.active = true
@status_window.active = false
@status_window.index = -1
end

def update_actor_selection
if Input.trigger?(Input::B)
Sound.play_cancel
end_actor_selection
elsif Input.trigger?(Input::C)
$game_party.last_actor_index = @status_window.index
Sound.play_decision
case @command_window.index
when 1
$scene = Scene_Skill.new(@status_window.index)
when 2
$scene = Scene_Equip.new(@status_window.index)
when 3
$scene = Scene_Status.new(@status_window.index)
when 6
$scene = Scene_RequiemUpgrade.new(@status_window.index,true)
end
end
end
end


#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
class Scene_End < Scene_Base

def return_scene
$scene = Scene_Menu.new(7)
end

def update
super
update_menu_background
@command_window.update
if Input.trigger?(Input::B)
Sound.play_cancel
return_scene
elsif Input.trigger?(Input::C)
case @command_window.index
when 0
command_to_title
when 1
command_shutdown
when 2
command_cancel
end
end
end
end

________________________
Nie ma śniegu, a na ulicach pełno bałwanów ^^


 
 
 
Greed 




Preferowany:
RPG Maker VX

Dołączył: 26 Wrz 2009
Posty: 42
Skąd: Tokio
Wysłany: Nie 01 Lis, 2009 15:43
No i pięknie działa.
SaE jak zwykle niezawodna :-D
________________________
"Darker than Black"
Może taki jestem.
 
 
 
dawidos989 




Preferowany:
RPG Maker VX

Pomógł: 6 razy
Dołączył: 04 Lis 2009
Posty: 87
Skąd: z tond
Wysłany: Pią 06 Lis, 2009 16:37
proszę powiecie gdzie dać ten kod bo jestem zielony
________________________
Pomogłem? Daj "
 
 
Greed 




Preferowany:
RPG Maker VX

Dołączył: 26 Wrz 2009
Posty: 42
Skąd: Tokio
Wysłany: Pią 06 Lis, 2009 16:48
Należy Wkleić skrypt nad "Main" w Edytorze Skryptu.
________________________
"Darker than Black"
Może taki jestem.
 
 
 
Qukus 




Preferowany:
RPG Maker VX

Dołączył: 20 Gru 2009
Posty: 10
Wysłany: Pon 28 Gru, 2009 19:05
CZy jest taka możliwość aby to okienko z rozdawaniem statystyk wyskakiwało natychmiast po wbiciu lvla?
________________________
...Mam słabość do tych kroperk... xD
 
 
spino333 



Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 21 Gru 2009
Posty: 85
Skąd: Nie pamiętam
Wysłany: Pon 28 Gru, 2009 20:49
nie uda sie :-(
przynajmniej mi sie nie udalo, SaE moze Ty sprobuj cos wykombinowac bo mi sie nie udaje ;-(
________________________
_________________
_________________
Jak kraść to milinony...
Jak ruchać to księżniczki...
_________________
_________________
_________________
 
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Wto 29 Gru, 2009 22:35
Qukus napisał/a:
CZy jest taka możliwość aby to okienko z rozdawaniem statystyk wyskakiwało natychmiast po wbiciu lvla?

Jest taka możliwość, lecz pytanie, czy używasz tradycyjnego systemu walki, czy może korzystasz ze skryptu z walką w czasie rzeczywistym.

spino333, a co Tobie konkretnie nie wychodzi?
________________________


 
 
 
spino333 



Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 21 Gru 2009
Posty: 85
Skąd: Nie pamiętam
Wysłany: Sro 30 Gru, 2009 12:59
gra mi sie nie chce uruchomic
nic nie pisze
________________________
_________________
_________________
Jak kraść to milinony...
Jak ruchać to księżniczki...
_________________
_________________
_________________
 
 
 
bionicl 




Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 06 Gru 2009
Posty: 99
Skąd: z Huty Mińskiej
Wysłany: Sro 30 Gru, 2009 13:29
Nie jestem Qukus, ale ja używam zwykłego stylu walki. Pewnie wiele osób właśnie takiego używa. To zrobisz? (wg. mnie to lepiej jest żeby to okienko pokazywało się tylko po walce, a w ogóle nie w menu)
________________________
Gość, podoba ci się moja gra? ;)
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Czw 31 Gru, 2009 04:28
Powinien działać bez zarzutu:
Spoiler:

Kod:
#==============================================================================
# Requiem Upgrade
# Autor: Requiem
# Zamieścił: Karsznickus
# Modyfikacja z samowyskakującym oknem: Ayene
#==============================================================================

module Ayene
 
  # Samowyświetlające się okno - przy każdym następnym awansie okno samo będzie
  # się pojawiać
  OKNO_UP = true    # true / false 
 
end

Points_Gained = 5 # Ilość punktów co poziom

#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
class Game_Actor < Game_Battler
 
  attr_accessor :points
 
  alias requiem_upgwnd_initialize initialize
  alias requiem_upgwnd_lvlup level_up
 
  def initialize(actor_id)
    requiem_upgwnd_initialize(actor_id)
    @points = 0
  end
 
  def level_up
    requiem_upgwnd_lvlup
    @points += Points_Gained 
    # gdy awans na poziom następuje poprzez bezpośrednie dodanie exp drużynie
    if Ayene::OKNO_UP == true
      $scene = Scene_RequiemUpgrade.new(0,false) unless $game_temp.in_battle == true     
    end
    end
end

# by Ayene
# okno ze statystykami wyświetla się po walce, gdy ktoś z drużyny ma awans
if Ayene::OKNO_UP == true
class Scene_Battle < Scene_Base   
  alias ayene_proc_vic process_victory 
  def process_victory
    ayene_proc_vic   
    if $game_party.members.any? {|actor| actor.points > 0}
      $scene = Scene_RequiemUpgrade.new(0,false)
    else
     battle_end(0) 
    end
  end
end
end
# koniec

#------------------------------------------------------------------------------
class Requiem_UpgradeWindow < Window_Base
 
  def initialize(actor)
    super(0,65,320,320)
    @actor = actor
    update
  end
 
  def update
    self.contents.clear
    draw_actor_face(@actor,0,0,92)
    draw_actor_name(@actor,160,0)
    self.contents.font.color = normal_color
    self.contents.draw_text(224,28,64,WLH,@actor.level)
    self.contents.draw_text(224,26*2,64,WLH,@actor.points)
    self.contents.draw_text(128,24*5,96,WLH,@actor.maxhp)
    self.contents.draw_text(128,24*6,96,WLH,@actor.maxmp)
    self.contents.draw_text(128,24*7,96,WLH,@actor.atk)
    self.contents.draw_text(128,24*8,96,WLH,@actor.def)
    self.contents.draw_text(128,24*9,96,WLH,@actor.spi)
    self.contents.draw_text(128,24*10,96,WLH,@actor.agi)
    refresh
  end
 
  def refresh
    self.contents.font.color = system_color
    self.contents.draw_text(128,28,128,WLH,Vocab::level+":")
    self.contents.draw_text(128,26*2,128,WLH,"Punkty:")
    self.contents.draw_text(0,24*5,128,WLH,Vocab::hp_a+":")
    self.contents.draw_text(0,24*6,128,WLH,Vocab::mp_a+":")
    self.contents.draw_text(0,24*7,128,WLH,Vocab::atk+":")
    self.contents.draw_text(0,24*8,128,WLH,Vocab::def+":")
    self.contents.draw_text(0,24*9,128,WLH,Vocab::spi+":")
    self.contents.draw_text(0,24*10,128,WLH,Vocab::agi+":")
  end
 
end

# by Ayene
# Niewielka modyfikacja Window_Help
class Window_Help < Window_Base
  def initialize (y = 0, width = 544)
    super(0, y, width, WLH + 32)
  end
end
# koniec
#------------------------------------------------------------------------------
class Scene_RequiemUpgrade < Scene_Base
 
  def initialize(actor_index=0, from_menu=false)
    create_menu_background
    @actor_index = actor_index
    @from_menu = from_menu
  end
 
  def start
    super
    create_menu_background   
    @actor = $game_party.members[@actor_index]
    @requiem_upgwindow = Requiem_UpgradeWindow.new(@actor)
    @requiem_upgwindow.x = (544 - @requiem_upgwindow.width) / 2 
    @requiem_upgcmdwnd  = Window_Command.new(64,[" +"," +"," +"," +"," +"," +"])
    @requiem_upgcmdwnd.index = 0
    @requiem_upgcmdwnd.x = @requiem_upgwindow.x + 192
    @requiem_upgcmdwnd.y = @requiem_upgwindow.y + 120
    @requiem_upgcmdwnd.opacity = 0
    # by Ayene
    # Dodany Window_Help
    @help_window = Window_Help.new (10, 320)
    @help_window.x = (544 - @requiem_upgwindow.width) / 2
    @help_window.set_text("L/R - Zmiana bohatera",1)
    # koniec
  end

# by Ayene 
# następny / poprzedni bohater
  def next_actor
    @actor_index += 1
    @actor_index %= $game_party.members.size
    if @from_menu == true
    $scene = Scene_RequiemUpgrade.new(@actor_index,true) 
    else
    $scene = Scene_RequiemUpgrade.new(@actor_index,false)
    end
  end
 
  def prev_actor
    @actor_index += $game_party.members.size - 1
    @actor_index %= $game_party.members.size
    if @from_menu == true
    $scene = Scene_RequiemUpgrade.new(@actor_index,true) 
    else
    $scene = Scene_RequiemUpgrade.new(@actor_index,false)
    end
  end 
# koniec 
 
  def update
    super
    update_menu_background
    @requiem_upgwindow.update
    @requiem_upgcmdwnd.update
    @help_window.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      if @from_menu
        $scene = Scene_Menu.new(4)
      else
        $scene = Scene_Map.new
      end
    # by Ayene
    # następny / poprzedni bohater
    elsif Input.trigger?(Input::R)
      Sound.play_cursor
      next_actor
    elsif Input.trigger?(Input::L)
      Sound.play_cursor
      prev_actor 
    # koniec   
    elsif Input.trigger?(Input::C)
      if @actor.points > 0
        Sound.play_decision
      else
        Sound.play_buzzer
        return
      end
      case @requiem_upgcmdwnd.index
      when 0
        @actor.points -= 1
        @actor.maxhp += 10
      when 1
        @actor.points -= 1
        @actor.maxmp += 10
      when 2
        @actor.points -= 1
        @actor.atk += 1
      when 3
        @actor.points -= 1
        @actor.def += 1
      when 4
        @actor.points -= 1
        @actor.spi += 1
      when 5
        @actor.points -= 1
        @actor.agi += 1
      end     
    end
  end
 
  def terminate
    super
    dispose_menu_background
    @requiem_upgwindow.dispose
    @requiem_upgcmdwnd.dispose
    @help_window.dispose
  end
   
end

#------------------------------------------------------------------------------
class Scene_Menu < Scene_Base
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = "Poziom plus"
    s6 = Vocab::save
    s7 = Vocab::game_end
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6,s7])
    @command_window.index = @menu_index
    if $game_party.members.size == 0
      @command_window.draw_item(0, false)
      @command_window.draw_item(1, false)
      @command_window.draw_item(2, false)
      @command_window.draw_item(3, false)
    end
    if $game_system.save_disabled
      @command_window.draw_item(4, false)
    end
  end
 
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0
        $scene = Scene_Item.new
      when 1,2,3,4
        start_actor_selection
      when 5
        $scene = Scene_File.new(true, false, false)
      when 6
        $scene = Scene_End.new
      end
    end
  end
 
  def update_actor_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      end_actor_selection
    elsif Input.trigger?(Input::C)
      $game_party.last_actor_index = @status_window.index
      Sound.play_decision
      case @command_window.index
      when 1
        $scene = Scene_Skill.new(@status_window.index)
      when 2
        $scene = Scene_Equip.new(@status_window.index)
      when 3
        $scene = Scene_Status.new(@status_window.index)
      when 4
        $scene = Scene_RequiemUpgrade.new(@status_window.index,true)
      end
    end
  end
end

#------------------------------------------------------------------------------
class Scene_File < Scene_Base
  def return_scene
    if @from_title
      $scene = Scene_Title.new
    elsif @from_event
      $scene = Scene_Map.new
    else
      $scene = Scene_Menu.new(5)
    end
  end
end

#------------------------------------------------------------------------------
class Scene_End < Scene_Base
  def return_scene
    $scene = Scene_Menu.new(6)
  end
end


Wszystkie modyfikacje dokonane przez mnie są wyróżnione w skrypcie. Można je zmienić w razie potrzeby.

A i zostawiłam okno w menu, bo przecież jak ktoś nie rozda wszystkich punktów i przez przypadek zamknie okno ze statystykami, to będzie musiał czekać na ich rozdanie do następnego awansu. No mi by się to nie podobało ;-) Ale jeżeli komuś będzie z tym lepiej, to zamieszczę wersję bez statystyk w menu.
________________________


 
 
 
Qukus 




Preferowany:
RPG Maker VX

Dołączył: 20 Gru 2009
Posty: 10
Wysłany: Czw 31 Gru, 2009 13:05
Długo tu nie zaglądałem bo myślałem że nie będzie odpowiedzi ale się myliłem Ayene dzięki :-D
________________________
...Mam słabość do tych kroperk... xD
 
 
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