collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: LevelUp Window  (Gelesen 10086 mal)

Offline dauerzocer

  • RTP-Mapper
  • *
  • Beiträge: 23
LevelUp Window
« Antwort #60 am: Juni 14, 2008, 20:32:06 »
Zitat von: SatansRightHand
nein ich meinte, wenn man ausserhalb eines kampfes ein level aufsteigt.
wie macht man das fentser dann auf

Ja ich habe festgestellt, dass das nicht so einfach ist und wenn man das immer machen muss sehr kompliziert ist deshalb werde ich eine einfach zu bedinende Funktion machen, die sowohl die Erfahrung verteilt als auch die LevelUp Balken anzeigt und bei einem LevelUp das LevelUp Fenster anzeigt.

So ist fertig ich hab das Script auf der ersten Seite geändert und eine neue Demo zur Verfügung gestellt in der auch ausserhalb des Kampfes Erfahrung verteilt wird.
« Letzte Änderung: Juni 14, 2008, 20:54:34 von dauerzocer »

LevelUp Window

Offline SatansRightHand

  • Metzelschnetzelnder Schentzelmetzler
  • Database-Verunstalter
  • **
  • Beiträge: 182
  • jaja...
LevelUp Window
« Antwort #61 am: Juni 14, 2008, 22:32:31 »
das ist jetzt schonmal ganz gut aber könntest du das noch so machen, dass man nicht so wie vorgegeben die punkte dazugeben muss, sondern sich selber aussuchen kann, wo man selbst im spiel punkte dazu gibt

also man hat am anfang 1 stärke und wenn man dann in dem fenster darauf drückt hat man 2 stärke
und man bekommt halt mit jedem aufgestiegenem level ein paar punkte, die man auf die statuswerte verteilen kann.
dann währe es PERFEKT

LevelUp Window

Offline dauerzocer

  • RTP-Mapper
  • *
  • Beiträge: 23
LevelUp Window
« Antwort #62 am: Juni 14, 2008, 22:45:05 »
Das System das du jetzt beschrieben hast ist kompliziert, weil es nicht mehr auf die vorgegebenen Status Werte für einen Charakter zugreift. Ich denke es ist umsetztbar, aber erfordert einen größeren Eingriff in das Spiel ich denke nicht, dass das noch viel mit meinem Script zu tun hat. Mein Script liest nur die Punkte aus auf einem Level und auf dem nächsten, deine Idee erfordert aber, dass man die Punkte verändert. Vielleicht probiere ich bei Gelegenheit sowas zu Scripten, aber ich kann nichts versprechen. Aber diese Funktion wird es auf keinen Fall als Erweiterung für das LevelUp Window geben.

LevelUp Window

Offline SatansRightHand

  • Metzelschnetzelnder Schentzelmetzler
  • Database-Verunstalter
  • **
  • Beiträge: 182
  • jaja...
LevelUp Window
« Antwort #63 am: Juni 15, 2008, 11:19:32 »
ja das habe ich bemerkt
ich hatte mir das so vorgestellt, wie ich das gesagt hab...
naja egal

LevelUp Window

ERZENGEL

  • Gast
LevelUp Window
« Antwort #64 am: Juni 15, 2008, 11:26:02 »
@SatansRightHand: Das hier dürfte so etwas sein, dass du suchst. Falls du ne Erklärung/Übersetzung dafür suchst mach besser nen neuen Thread in VX Technik auf ;)

LevelUp Window

Offline SatansRightHand

  • Metzelschnetzelnder Schentzelmetzler
  • Database-Verunstalter
  • **
  • Beiträge: 182
  • jaja...
LevelUp Window
« Antwort #65 am: Juni 15, 2008, 12:10:36 »
ja so ungefähr.
ich hatte schonmal soeins
das war allerdings für den xp
ich habs im vx probiert aber da öffnet sich das fenster nicht.
kann dass vielleicht jemand für den vx umbauen???

Spoiler for Hiden:
#=================================
# Syn's Upgrade Customization V4.8.61 (3/28/07)
# Created by Synthesize
# Help from Raziel, Trickster, Icedmetal57
#=================================
module Upgrade_Points
  Points_Gained = 4 # Amount of points gained upon leveling.
  Hp_rise = 20 # The amount of HP to raise per point
  Sp_rise = 15 # The amount of SP to raise per point
  Str_rise = 1 # The amount of STR to raise
  Dex_rise = 1 # The amount of DEX to raise
  Agi_rise = 1 # The amount of AGI to raise  
  Int_rise = 1 # The amount of INT to raise    
  Error_sound = '057-Wrong01' # Change the sound effect when Upgrade Points equals zero.
end
#=================================
# *Begin Script*
#=================================
#=================================
# *Create Points*
#=================================
  class Game_Actor < Game_Battler                  
  attr_accessor :upgrade_points
  alias stat_point_lvlup_game_actor_setup setup
  def setup(actor_id)
 stat_point_lvlup_game_actor_setup(actor_id)
 @upgrade_points = 0
  end
  def exp=(exp)
 @exp = [[exp, 9999999].min, 0].max
 # Level up
 while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
   @level += 1
   @upgrade_points += Upgrade_Points::Points_Gained
    $scene = Scene_Upgrade.new
   # Learn skill
   for j in $data_classes[@class_id].learnings
  if j.level == @level
    learn_skill(j.skill_id)
  end
   end
 end
 while @exp < @exp_list[@level]
   @level -= 1
 end
 @hp = [@hp, self.maxhp].min
 @sp = [@sp, self.maxsp].min
  end
end
#=================================
# Begin Upgrade Code
#=================================
class Scene_Upgrade
  #--------------------------------------------------------------------------
  # Object Initalize
  #--------------------------------------------------------------------------
  def initialize(actor_index = 0)
    @actor_index = actor_index
  end
  
  def main
    @spriteset = Spriteset_Map.new
    s1 = "Erhöht die MaxHP um #{Upgrade_Points::Hp_rise} "
    s2 = "Erhöht die MaxMP um #{Upgrade_Points::Sp_rise} "
    s3 = "Erhöht die Stärke um #{Upgrade_Points::Str_rise} "
    s4 = "Erhöht das Geschick um #{Upgrade_Points::Dex_rise} "
    s5 = "Erhöht die Agilität um #{Upgrade_Points::Agi_rise} "
    s6 = "Erhöht die Intelligenz um #{Upgrade_Points::Int_rise} "
    # Set Command Window Data
    @command_window = Window_Command.new(260, [s1, s2, s3, s4, s5, s6])
    @command_window.x = 46
    @command_window.y = 112
    @command_window.z = 9999
    @command_window.opacity = 200
    @command_window.active = true
    @command_window.update
    # Set Player Data
    @actor = $game_party.actors[@actor_index]
    @status_window = Window_Upgrade.new(@actor)
    @status_window.opacity= 200
    @status_window.x = 304
    @status_window.y = 56
    @status_window.z = 9999
    # Set Raise Window Data
    @raise_window = Window_Raise.new
    @raise_window.x = 46
    @raise_window.y = 56
    @raise_window.z = 9999
    @raise_window.opacity = 200
    @raise_window.visible = false
    # Set Actor Tab Window Data
    @actor_window = Window_ActorTab.new(@actor)
    @actor_window.x = 304
    @actor_window.y = 0
    @actor_window.z = 9999
    @actor_window.opacity = 200
    @actor_window.visible = true
    # Set Controls Window
    @controls_window = Window_Controls.new
    @controls_window.opacity= 200
    @controls_window.x = 46
    @controls_window.y = 333
    @controls_window.z = 9999
    @controls_window.visible = true
     # Graphics Transition
    Graphics.transition
    # Main Loop
    loop do
    # Update Graphics
      Graphics.update
    # Update Input
      Input.update
    # Renew
      update
    # Discontinue Loop
      if $scene != self
        break
      end
    end
    # Prepare Transition
    Graphics.freeze
    # Dispose Windows
    @command_window.dispose
    @status_window.dispose
    @raise_window.dispose
    @controls_window.dispose
    @spriteset.dispose
    @actor_window.dispose
  end
  #--------------------------------------------------------------------------
  # Update
  #--------------------------------------------------------------------------
  def update
    @command_window.update
   @raise_window.update
   if Input.trigger?(Input::R)
     $game_system.se_play($data_system.cursor_se)
     @actor_index += 1
     @actor_index %= $game_party.actors.size
     $scene = Scene_Upgrade.new(@actor_index)
     return
   end
   if Input.trigger?(Input::L)
     $game_system.se_play($data_system.cursor_se)
     @actor_index += $game_party.actors.size - 1
     @actor_index %= $game_party.actors.size
     $scene = Scene_Upgrade.new(@actor_index)
     return
   end
 # If command window is active: call update_command
   if @command_window.active
     update_command
     return
   # End IF
    end
 # End Def
  end
#=================================
# *Update Command*
#=================================
  def update_command
  #@raise_window.update
  if Input.trigger?(Input::B)
      # Play Cancel SE
      $game_system.se_play($data_system.cancel_se)
      # Load Map
      $scene = Scene_Map.new
      return
    end
    if Input.trigger?(Input::C)
   # Branch by command window cursor position
      case @command_window.index
      when 0
        if @actor.upgrade_points > 0 and @actor.maxhp < 9999
          $game_system.se_play($data_system.decision_se)
          @actor.maxhp += Upgrade_Points::Hp_rise
          @actor.hp += Upgrade_Points::Hp_rise
          @actor.upgrade_points -= 1
          @status_window.refresh
          @raise_window.visible = true    
        else
          @raise_window.visible = false
          $game_system.se_play(RPG::AudioFile.new(Upgrade_Points::Error_sound))
        end
      when 1
        if @actor.upgrade_points > 0 and @actor.maxsp < 9999
          $game_system.se_play($data_system.decision_se)
          @actor.maxsp += Upgrade_Points::Sp_rise
          @actor.sp += Upgrade_Points::Sp_rise
          @actor.upgrade_points -= 1
          @status_window.refresh        
          @raise_window.visible = true    
        else
          @raise_window.visible = false
          $game_system.se_play(RPG::AudioFile.new(Upgrade_Points::Error_sound))
        end
      when 2
        if @actor.upgrade_points > 0 and @actor.str < 9999
          $game_system.se_play($data_system.decision_se)
          @actor.str += Upgrade_Points::Str_rise
          @actor.upgrade_points -= 1
          @status_window.refresh        
          @raise_window.visible = true    
        else
          @raise_window.visible = false
          $game_system.se_play(RPG::AudioFile.new(Upgrade_Points::Error_sound))
        end
      when 3
        if @actor.upgrade_points > 0 and @actor.dex < 9999
          $game_system.se_play($data_system.decision_se)
          @actor.dex += Upgrade_Points::Dex_rise
          @actor.upgrade_points -= 1
          @status_window.refresh        
          @raise_window.visible = true    
        else
          @raise_window.visible = false
          $game_system.se_play(RPG::AudioFile.new(Upgrade_Points::Error_sound))
        end
      when 4
        if @actor.upgrade_points > 0 and @actor.agi < 9999
          $game_system.se_play($data_system.decision_se)
          @actor.agi += Upgrade_Points::Agi_rise
          @actor.upgrade_points -= 1
          @status_window.refresh        
          @raise_window.visible = true    
        else
          @raise_window.visible = false
          $game_system.se_play(RPG::AudioFile.new(Upgrade_Points::Error_sound))
        end
      when 5
        if @actor.upgrade_points > 0 and @actor.int < 9999
          $game_system.se_play($data_system.decision_se)
          @actor.int += Upgrade_Points::Int_rise
          @actor.upgrade_points -= 1
          @status_window.refresh        
          @raise_window.visible = true    
        else
          @raise_window.visible = false
          $game_system.se_play(RPG::AudioFile.new(Upgrade_Points::Error_sound))
        end
      end
    end
 end
end
#============================================================
# Begin Windows
#============================================================

#=================================
# *Status Window*
#=================================
  class Window_Upgrade < Window_Base
  def initialize(actor)
 super(32, 32, 315, 416)
 self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Arial" # Font used in Raise Window
 self.contents.font.size = 18 # Font Size in Raise Window
 @actor = actor
 self.opacity = 200
 refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
 self.contents.clear
 draw_actor_graphic(@actor, 122, 60)
 draw_actor_class(@actor, 176, 3)
 draw_actor_level(@actor, 6, 3)
 draw_actor_state(@actor, 95, 48)
  if @actor.upgrade_points >= 1
   self.contents.font.color = system_color
     if @actor.hp < 9999
    self.contents.draw_text(170, 70, 100, 100, "=>")
  end
    if @actor.sp < 9999  
    self.contents.draw_text(170, 94, 100, 100, "=>")  
  end
    if @actor.str < 999
    self.contents.draw_text(170, 158, 100, 100, "=>")  
  end
    if @actor.dex < 999
    self.contents.draw_text(170, 182, 100, 100, "=>")  
  end  
    if @actor.agi < 999
    self.contents.draw_text(170, 206, 100, 100, "=>")  
  end    
    if @actor.int < 999
    self.contents.draw_text(170, 230, 100, 100, "=>")  
    end      
   self.contents.font.color = normal_color    
  @hp_preview = @actor.hp + Upgrade_Points::Hp_rise
  @mhp_preview = @actor.maxhp +  Upgrade_Points::Hp_rise  
  if @actor.hp < 9999
  self.contents.draw_text(200, 70, 100, 100, "#{@hp_preview}/#{@mhp_preview}")
end
  @sp_preview = @actor.sp + Upgrade_Points::Sp_rise  
  @msp_preview = @actor.maxsp + Upgrade_Points::Sp_rise
  if @actor.sp < 9999  
    self.contents.draw_text(200, 94, 100, 100, "#{@sp_preview}/#{@msp_preview}")    
  end
  @str_preview = @actor.str + Upgrade_Points::Str_rise  
  if @actor.str < 999  
    self.contents.draw_text(200, 158, 100, 100, "#{@str_preview}")    
  end  
  @dex_preview = @actor.dex + Upgrade_Points::Dex_rise  
  if @actor.dex < 999  
    self.contents.draw_text(200, 182, 100, 100, "#{@dex_preview}")    
  end    
  @agi_preview = @actor.agi + Upgrade_Points::Agi_rise  
  if @actor.agi < 999  
    self.contents.draw_text(200, 206, 100, 100, "#{@agi_preview}")    
  end    
  @int_preview = @actor.int + Upgrade_Points::Int_rise    
  if @actor.int < 999  
    self.contents.draw_text(200, 230, 100, 100, "#{@int_preview}")    
  end      
end
 draw_actor_hp(@actor, 4, 104, 172)
 draw_actor_sp(@actor, 4, 128, 172)
  draw_actor_exp(@actor, 4, 152)    
 draw_actor_parameter(@actor, 4, 192, 3)
 draw_actor_parameter(@actor, 4, 216, 4)
 draw_actor_parameter(@actor, 4, 240, 5)
 draw_actor_parameter(@actor, 4, 264, 6)
 x = contents.text_size("Points:").width
 text = "Punkte:"
 text2 = "#{@actor.upgrade_points}"
 self.contents.font.color = system_color
 self.contents.draw_text(190, 360, x, 32, text)
 self.contents.font.color = normal_color
 self.contents.draw_text(200+x, 360, (self.width/2), 32, text2.to_s)
  end
end
#--------------------------------------------------------------------------
# Raise Window
#--------------------------------------------------------------------------
class Window_Raise< Window_Base
  def initialize
    super(0, 0, 260, 60)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = "Arial" # Font used in Raise Window
    self.contents.font.size = 21 # Font Size in Raise Window
    refresh
    end
    def refresh
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(4, 0, 180, 30, "Attribut erhöht.")
  end
end
#=================================
#--------------------------------------------------------------------------
# ActorTab Window
#--------------------------------------------------------------------------
class Window_ActorTab< Window_Base
  def initialize(actor)
 super(0, 0, 120, 60)
  @actor = actor
 self.contents = Bitmap.new(width - 32, height - 32)
 self.contents.font.name = "Arial" # Font used in Raise Window
 self.contents.font.size = 21 # Font Size in Raise Window
 refresh
  end
  def refresh
 self.contents.clear
 draw_actor_name(@actor, 4, 3)
end
end
#=================================

#--------------------------------------------------------------------------
# Controls Window
#--------------------------------------------------------------------------
class Window_Controls < Window_Base
  def initialize
 super(0, 0, 260, 60)
 self.contents = Bitmap.new(width - 32, height - 32)
 self.contents.font.name = "Arial" # Font used in Raise Window
 self.contents.font.size = 20 # Font Size in Raise Window
 refresh
  end
  def refresh
 self.contents.clear
 self.contents.font.color = system_color
 self.contents.draw_text(4, 0, 200, 30, "Q: Taste <-   W: Taste->  ")
  end
end
#=================================
« Letzte Änderung: Juni 15, 2008, 12:10:59 von SatansRightHand »

LevelUp Window

Offline Claine

  • Makerer aus Zeitvertreib
  • Eventmeister
  • ***
  • Beiträge: 422
  • Digimon-Fan
    • Digimon New Generation FRPG
LevelUp Window
« Antwort #66 am: Juni 15, 2008, 17:47:23 »
Hm... bei mir gibts irgendwie nen Bug:

Wenn ein Charakter Level 99 ist, gibts nen Fehler, ist mir bei nen Kampf passiert, wo man bei Broken Worlds mit Aslan gegen Bowser kämpft. Nach dm Kampf gabs nen Fehler. Hatte erst gedachgt, es läge daran, das ich keine EXP für Bowser eingetragen hatte, aber auch nicht. Nachdem ich Aslan auf Level 98 gestellt hatte und Bowser 999999 EXP gegeben hatte, stieg Aslan auf Level 99. Dann gabs nen Error.

Hier:



Hoffe, mir kann einer helfen...

MFG
Claine

Re: LevelUp Window

Offline Master Chain

  • Smalltalk-Front
  • VX-Meister
  • ****
  • Beiträge: 605
  • Kette ähm *Hust Colo for Admin
    • Mein Youtube Channel
Re: LevelUp Window
« Antwort #67 am: Januar 11, 2010, 20:24:07 »
Im Script ist irgent wo ein feheler ab Zeile 63 fängt es an

Re: LevelUp Window

Offline Vizard

  • Meister der Scriptliste
  • Database-Verunstalter
  • **
  • Beiträge: 131
Re: LevelUp Window
« Antwort #68 am: Januar 13, 2010, 12:58:04 »
kann man das eigentlich auch sinnvoll in nen ABS verwenden? also ich meine dass dann das game kurz freezt und man die punkte verteilen soll. oder sollte ich da lieber auf ein punkteverteilungssystem zurückgreifen was unten im menü dann ist? ^^

 


 Bild des Monats

rooftop party

Views: 3614
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal