collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: Remake eines SNES-Klassikers  (Gelesen 3418 mal)

Offline Leviathan

  • RTP-Mapper
  • *
  • Beiträge: 26
Remake eines SNES-Klassikers
« am: Dezember 03, 2010, 15:23:08 »
Wollte mal fragen, ob jemand Lust hat, mich bei meinem Projekt zu unterstützen?
Es handelt sich um ein Remake des SNES-Klassikers Mystic Quest Legend für den VX.
Gebraucht werden noch ein paar Sprites für die Charas und ein Script für das
Kampfsystem.
Die Charaktere sollten ein wenig neuer (VX-Stil halt) aussehen.
Im Anhang noch ein paar Screenshots.
« Letzte Änderung: Dezember 03, 2010, 15:28:56 von Leviathan »

Re: Remake eines SNES-Klassikers

Offline BenjiXD

  • -
  • Mr. MACK-Tile
  • ***
  • Beiträge: 273
  • -
Re: Remake eines SNES-Klassikers
« Antwort #1 am: Dezember 03, 2010, 16:00:19 »
Ich habe das spiel geliebt und liebe es noch immer ^^
Wenn du einfach mal sagst was du brauchst (also jetz speziell) könnte ich /jemand dir evt. weiterhelfen :o :stop:
Darfüq?

Re: Remake eines SNES-Klassikers

Offline Leviathan

  • RTP-Mapper
  • *
  • Beiträge: 26
Re: Remake eines SNES-Klassikers
« Antwort #2 am: Dezember 03, 2010, 16:54:01 »
Was ich noch bräuchte wären Charaktersprites der einzelnen Monster.
z.B.: den Giftzwerg oder den Wurm.
Am besten im RTP-Stil.
Und dann vielleicht noch ein Kampfsystem-Script, dass dem des Spiels
ähnelt. (aber kein Sideview)

/move #Habe den Thread, der hier besser aufgehoben seien dürfte, mal verschoben. #Herendil
« Letzte Änderung: Dezember 03, 2010, 17:17:47 von Herendil »

Re: Remake eines SNES-Klassikers

Offline BenjiXD

  • -
  • Mr. MACK-Tile
  • ***
  • Beiträge: 273
  • -
Re: Remake eines SNES-Klassikers
« Antwort #3 am: Dezember 03, 2010, 18:19:05 »
Also mit dem KS Script könnte ich dir evt. weiter helfen, ich weis noch das das KS im Spiel ein Frontview war oder?
Evt. gefällt dir dieses:
http://wiki.pockethouse.com/index.php?title=Active_Turn_Battle_System
oder du verwendest das KS mit dem
Script:
#===============================================================================
#
# Yanfly Engine RD - Display Party Data 2.0
# Last Date Updated: 2009.05.30
# Level: Easy
#
# This pretty much changes the party information window in battles to show the
# party member names horizontally than vertically. When structured as such,
# you'll be able to see the party members' faces and/or sprites. With the new
# arrangement, the player can also see up to four status effects on each actor
# as opposed to the original two. A big difference.
#
# Version 2.0 gives options to change font size, show extra gauges (for rage and
# morale) and no longer hides the actor sprite behind the states.
#
#===============================================================================
# Instructions
#===============================================================================
#
# Just put this script under Materials and that's it. If you'd like to change
# other settings such as showing the face graphic or changing its opacity, just
# scroll down a bit and make adjustments as necessary.
#
#===============================================================================
# Updates:
# ----------------------------------------------------------------------------
# o 2009.05.30 - Fixed max states shown bug.
#              - Greatly improved drawing efficiency.
# o 2009.05.16 - Started and finished version 2.0.
# o 2009.02.23 - Started script and finished.
#===============================================================================
#
# Compatibility
# - Alias: Window_BattleStatus, initialize
# - Overwrites: Window_BattleStatus, draw_item
#
#===============================================================================

$imported = {} if $imported == nil
$imported["DisplayPartyData"] = true

module YE
  module BATTLE
    module DISPLAY
     
      # This changes what will and will not be shown. If you choose to shown
      # the actor's face graphic, you can choose its opacity. 255 means it's
      # fully visible while 0 means it's completely transparent. For the
      # number of states shown, do not exceed 4 unless you want the states to
      # overlap into the next actor's data window.
      SHOW_ALLY_FACE    = true
      ALLY_FACE_OPACITY = 100
      SHOW_ALLY_SPRITE  = true
      MAX_STATES_SHOWN  = 4
     
      # This governs the sizes used for each of the items in the display.
      NAME_FONT_SIZE  = 16
      STAT_FONT_SIZE  = 16
     
      # This governs how HP and MP are shown. Here is a type listing for each
      # individual one.
      # Type 1 = Current           Type 4 = Current & Percentage
      # Type 2 = Current/Maximum   Type 5 = Current/Max & Percent
      # Type 3 = Percentage
      SHOWN_HP_TYPE = 1
      SHOWN_MP_TYPE = 1
     
      # For those using Custom Skill Effects and would like to show Rage for
      # your bar, input the ID's of the classes you would Rage to appear for.
      # The reason this is dependent on class rather than character is because
      # if the character switches classes to one that no longer uses rage, the
      # rage meter will be useless there.
      RAGE_CLASSES = [1, 2]
     
      # This governs the type of display used for Rage. Here's a list of the
      # various types of way you can choose to display Rage. If you don't want
      # rage to be displayed at all, set it to 0.
      # Type 1 - Rage icon and number value appears in lower left corner. MP
      #          bar is moved over to give room for Rage bar.
      # Type 2 - Rage icon and number value appears in lower right corner. MP
      #          bar is on the left side instead.
      RAGE_DISPLAY = 1
     
      # This governs the text shown for rage and the gauge colours used.
      RAGE_TEXT   = "RG"
      RAGE_GAUGE1 = 2
      RAGE_GAUGE2 = 10
     
      # For those who are using Battler Stat Morale, this script can place a
      # morale gauge under your MP bar (after pushing it upward).
      GAUGE_MORALE   = false
      MORALE_TEXT    = "Morale"
      MORALE_GAUGE1  = 28        # This is for positive morale.
      MORALE_GAUGE2  = 29        # This is for positive morale.
      MORALE_GAUGE3  = 30        # This is for positive morale.
      MORALE_GAUGE4  = 31        # This is for positive morale.
     
      # For those who don't want an extra gauge but would still like to show
      # morale, there's an icon you can display for it instead. Morale icon
      # will not appear if morale is equal to zero.
      ICON_MORALE = true
      ICON_MORALE_HIGH = 242     # Appears when morale is positive.
      ICON_MORALE_LOW  = 241     # Appears when morale is negative.
      MORALE_DIVISOR   = 100     # How much morale shown is divided by.
      MORALE_FONT_SIZE = 16      # This is the font size used for morale icon.
      MORALE_COL_HIGH  = 0       # This is the text colour used for high morale.
      MORALE_COL_LOW   = 8       # This is the text colour used for low morale.
     
    end # end module DISPLAY
  end # end module BATTLE
end # end module YE

#===============================================================================
# Don't touch anything past here or else your computer will explode and you will
# be a very sad person.
#===============================================================================

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

class Window_BattleStatus < Window_Selectable

  #--------------------------------------------------------------------------
  # Alias Object Initialization
  #--------------------------------------------------------------------------
  alias displaypartydata_initialize initialize unless $@
  def initialize
    displaypartydata_initialize
    @column_max = $game_party.members.size
    @spacing = 0
  end
 
  #--------------------------------------------------------------------------
  # Draw Item
  #--------------------------------------------------------------------------
  def draw_item(index)
    rect = Rect.new(0, 0, 0, 0)
    rect.width = 96
    rect.height = 96
    rect.x = index * 96
    rect.y = 0
    self.contents.clear_rect(rect)
    self.contents.font.color = normal_color
    @actor = $game_party.members[index]
    draw_party_face(index)
    draw_party_state(index)
    draw_party_name(index)
    draw_party_graphic(index)
    draw_party_hp(index)
    draw_party_mp(index)
    draw_party_morale(index)
  end
 
  #--------------------------------------------------------------------------
  # Update Cursor
  #--------------------------------------------------------------------------
  def update_cursor
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(@index * 96, 0, 96, 96)
    end
  end
 
  #--------------------------------------------------------------------------
  # Draw Party Face
  #--------------------------------------------------------------------------
  def draw_party_face(index)
    return unless YE::BATTLE::DISPLAY::SHOW_ALLY_FACE
    opacity = YE::BATTLE::DISPLAY::ALLY_FACE_OPACITY
    @actor = $game_party.members[index]
    face_name = @actor.face_name
    face_index = @actor.face_index
    bitmap = Cache.face(face_name)
    rect = Rect.new(0, 0, 0, 0)
    rect.x = face_index % 4 * 96 + 4 / 2
    rect.y = face_index / 4 * 96 + 4 / 2
    rect.width = 92
    rect.height = 92
    self.contents.blt(index * 96 + 2, 2, bitmap, rect, opacity)
    bitmap.dispose
  end
 
  #--------------------------------------------------------------------------
  # Draw Party State
  #--------------------------------------------------------------------------
  def draw_party_state(index)
    return unless YE::BATTLE::DISPLAY::MAX_STATES_SHOWN > 0
    dx = index * 96
    dy = WLH * 1
    dw = YE::BATTLE::DISPLAY::MAX_STATES_SHOWN * 24
    draw_actor_state(@actor, dx, dy, dw)
  end
 
  #--------------------------------------------------------------------------
  # Draw Party Graphic
  #--------------------------------------------------------------------------
  def draw_party_graphic(index)
    return unless YE::BATTLE::DISPLAY::SHOW_ALLY_SPRITE
    @actor = $game_party.members[index]
    dx = index * 96 + 48
    dy = WLH * 3 - YE::BATTLE::DISPLAY::STAT_FONT_SIZE + 16 + 2
    if $imported["BattlerStatMorale"] and YE::BATTLE::DISPLAY::GAUGE_MORALE
      dy -= YE::BATTLE::DISPLAY::STAT_FONT_SIZE
    end
    draw_character(@actor.character_name, @actor.character_index, dx, dy)
  end
 
  #--------------------------------------------------------------------------
  # Draw Party Name
  #--------------------------------------------------------------------------
  def draw_party_name(index)
    self.contents.font.color = hp_color(@actor)
    self.contents.font.size = YE::BATTLE::DISPLAY::NAME_FONT_SIZE
    dx = 96 * index + 4
    dy = 0
    dw = 94
    if $imported["BattlerStatMorale"] and YE::BATTLE::DISPLAY::ICON_MORALE
      dw -= 24
    end
    self.contents.draw_text(dx, dy, dw, WLH, @actor.name)
  end
 
  #--------------------------------------------------------------------------
  # Draw Party HP
  #--------------------------------------------------------------------------
  def draw_party_hp(index)
    dx = index * 96 + 2
    dy = WLH * 3 - YE::BATTLE::DISPLAY::STAT_FONT_SIZE + 2
    if $imported["BattlerStatMorale"] and YE::BATTLE::DISPLAY::GAUGE_MORALE
      dy -= YE::BATTLE::DISPLAY::STAT_FONT_SIZE
    end
    dw = 92
    draw_actor_hp_gauge(@actor, dx, dy, dw)
    self.contents.font.size = YE::BATTLE::DISPLAY::STAT_FONT_SIZE
    self.contents.font.color = system_color
    self.contents.draw_text(dx + 2, dy + 4, 28, WLH, Vocab::hp_a, 0)
    self.contents.font.color = hp_color(@actor)
    text = sprintf("%d/%d", @actor.hp, @actor.maxhp)
    percent = @actor.hp * 100.0 / @actor.maxhp
    case YE::BATTLE::DISPLAY::SHOWN_HP_TYPE
    when 1; text = @actor.hp
    when 2; text = sprintf("%d/%d", @actor.hp, @actor.maxhp)
    when 3; text = sprintf("%d%%", percent)
    when 4; text = sprintf("%d %d%%", @actor.hp, percent)
    when 5; text = sprintf("%d/%d %d%%", @actor.hp, @actor.maxhp, percent)
    end
    self.contents.draw_text(dx + 30, dy + 4, dw - 32, WLH, text, 2)
  end
 
  #--------------------------------------------------------------------------
  # Draw Party HP
  #--------------------------------------------------------------------------
  def draw_party_mp(index)
    dx = index * 96 + 2
    dy = WLH * 3
    if $imported["BattlerStatMorale"] and YE::BATTLE::DISPLAY::GAUGE_MORALE
      dy -= YE::BATTLE::DISPLAY::STAT_FONT_SIZE
    end
    dw = 92
    #---
    move_mp_bar = false
    if $imported["CustomSkillEffects"]
      if YE::BATTLE::DISPLAY::RAGE_CLASSES.include?(@actor.class.id)
        move_mp_bar = true
      end
      if $imported["SubclassSelectionSystem"] and @actor.subclass != nil
        if YE::BATTLE::DISPLAY::RAGE_CLASSES.include?(@actor.subclass.id)
          move_mp_bar = true
        end
      end
    end
    if move_mp_bar and YE::BATTLE::DISPLAY::RAGE_DISPLAY == 1
      dw /= 2
      dx += dw
      draw_party_rage(index)
    elsif move_mp_bar and YE::BATTLE::DISPLAY::RAGE_DISPLAY == 1
      dw /= 2
      draw_party_rage(index)
    end
    #---
    draw_actor_mp_gauge(@actor, dx, dy, dw)
    self.contents.font.size = YE::BATTLE::DISPLAY::STAT_FONT_SIZE
    self.contents.font.color = system_color
    self.contents.draw_text(dx + 2, dy + 4, 28, WLH, Vocab::mp_a, 0)
    self.contents.font.color = mp_color(@actor)
    text = sprintf("%d/%d", @actor.mp, @actor.maxmp)
    unless @actor.maxmp == 0
      percent = @actor.mp * 100.0 / @actor.maxmp
    else
      percent = 0
    end
    case YE::BATTLE::DISPLAY::SHOWN_MP_TYPE
    when 1; text = @actor.mp
    when 2; text = sprintf("%d/%d", @actor.mp, @actor.maxmp)
    when 3; text = sprintf("%d%%", percent)
    when 4; text = sprintf("%d %d%%", @actor.mp, percent)
    when 5; text = sprintf("%d/%d %d%%", @actor.mp, @actor.maxmp, percent)
    end
    self.contents.draw_text(dx + 30, dy + 4, dw - 32, WLH, text, 2)
  end
 
  #--------------------------------------------------------------------------
  # Draw Party Rage
  #--------------------------------------------------------------------------
  def draw_party_rage(index)
    return unless $imported["CustomSkillEffects"]
    dx = 0
    dy = WLH * 3
    if $imported["BattlerStatMorale"] and YE::BATTLE::DISPLAY::GAUGE_MORALE
      dy -= YE::BATTLE::DISPLAY::STAT_FONT_SIZE
    end
    dw = 92 / 2
    if YE::BATTLE::DISPLAY::RAGE_DISPLAY == 1
      dx = index * 96 + 2
    elsif YE::BATTLE::DISPLAY::RAGE_DISPLAY == 2
      dx = index * 96 + 2 + dw
    end
    draw_rage_gauge(@actor, dx, dy, dw)
    self.contents.font.size = YE::BATTLE::DISPLAY::STAT_FONT_SIZE
    self.contents.font.color = system_color
    text = YE::BATTLE::DISPLAY::RAGE_TEXT
    self.contents.draw_text(dx + 2, dy + 4, 28, WLH, text, 0)
    self.contents.font.color = mp_color(@actor)
    text = @actor.rage
    self.contents.draw_text(dx + 30, dy + 4, dw - 32, WLH, text, 2)
  end
 
  #--------------------------------------------------------------------------
  # Draw Rage Gauge
  #--------------------------------------------------------------------------
  def draw_rage_gauge(actor, x, y, width = 120)
    return unless $imported["CustomSkillEffects"]
    gc0 = gauge_back_color
    gc1 = text_color(YE::BATTLE::DISPLAY::RAGE_GAUGE1)
    gc2 = text_color(YE::BATTLE::DISPLAY::RAGE_GAUGE2)
    gh = 6
    gy = y + WLH - 8 - (gh - 6)
    gb = width
    self.contents.fill_rect(x, gy, gb, gh, gc0)
    if actor.rage <= 0
      gw = 0
    else
      gw = gb * actor.rage / YE::BATTLE::MAX_RAGE
    end
    self.contents.gradient_fill_rect(x, gy, gw, gh, gc1, gc2)
  end
 
  #--------------------------------------------------------------------------
  # Draw Party Morale
  #--------------------------------------------------------------------------
  def draw_party_morale(index)
    return unless $imported["BattlerStatMorale"]
    draw_morale_icon(index)
    return unless YE::BATTLE::DISPLAY::GAUGE_MORALE
    dx = index * 96 + 2
    dy = WLH * 3
    dw = 92
    draw_morale_gauge(@actor, dx, dy, dw)
    self.contents.font.size = YE::BATTLE::DISPLAY::STAT_FONT_SIZE
    self.contents.font.color = system_color
    text = YE::BATTLE::DISPLAY::MORALE_TEXT
    self.contents.draw_text(dx + 2, dy + 4, 44, WLH, text, 0)
    self.contents.font.color = normal_color
    text = sprintf("%+d", @actor.morale)
    self.contents.draw_text(dx + 46, dy + 4, 44, WLH, text, 2)
  end
 
  #--------------------------------------------------------------------------
  # Draw Morale Gauge
  #--------------------------------------------------------------------------
  def draw_morale_gauge(actor, x, y, width = 120)
    return unless $imported["BattlerStatMorale"]
    gc0 = gauge_back_color
    gc1 = text_color(YE::BATTLE::DISPLAY::MORALE_GAUGE1)
    gc2 = text_color(YE::BATTLE::DISPLAY::MORALE_GAUGE2)
    gc3 = text_color(YE::BATTLE::DISPLAY::MORALE_GAUGE3)
    gc4 = text_color(YE::BATTLE::DISPLAY::MORALE_GAUGE4)
    gh = 6
    gy = y + WLH - 8 - (gh - 6)
    gb = width
    self.contents.fill_rect(x, gy, gb, gh, gc0)
    if actor.morale == 0
      gw = 0
    elsif actor.morale > 0
      gw = gb * actor.morale / actor.max_morale
      self.contents.gradient_fill_rect(x, gy, gw, gh, gc1, gc2)
    else
      gw = gb * actor.morale / actor.min_morale
      x += gb - gw
      self.contents.gradient_fill_rect(x, gy, gw, gh, gc3, gc4)
    end
  end
 
  #--------------------------------------------------------------------------
  # Draw Morale Icon
  #--------------------------------------------------------------------------
  def draw_morale_icon(index)
    return unless YE::BATTLE::DISPLAY::ICON_MORALE
    morale = @actor.morale / YE::BATTLE::DISPLAY::MORALE_DIVISOR
    return if morale == 0
    dx = index * 96 + 72
    dy = 0
    if morale > 0
      icon = YE::BATTLE::DISPLAY::ICON_MORALE_HIGH
      colour = YE::BATTLE::DISPLAY::MORALE_COL_HIGH
    else
      icon = YE::BATTLE::DISPLAY::ICON_MORALE_LOW
      colour = YE::BATTLE::DISPLAY::MORALE_COL_LOW
    end
    draw_icon(icon, dx, dy)
    self.contents.font.size = YE::BATTLE::DISPLAY::MORALE_FONT_SIZE
    self.contents.font.color = text_color(colour)
    text = sprintf("%+d%%", morale)
    self.contents.draw_text(dx + 2, dy + 2, 20, 20, text, 1)
  end
 
end # end Window_BattleStatus

#===============================================================================
#
# END OF FILE
#
#===============================================================================
zusammen mit dem Script:
module Battleback_Options
  Battlebacks = { # Map-ID => 'Filename'
1 => '001-Grassland01',
2 => '009-CastleTown01',
3 => '001-Grassland01'
  }
end
 
class Spriteset_Battle
  alias_method :nb_alias_method_spritesetbattle_createbattleback_bback, :create_battleback
  def create_battleback
bb = $game_map.battleback
if bb.nil?
  nb_alias_method_spritesetbattle_createbattleback_bback
else
  cache = Cache.battleback(bb)
  bitmap = Bitmap.new(Graphics.width, Graphics.height)
  bitmap.stretch_blt(bitmap.rect, cache, cache.rect)
  @battleback_sprite = Sprite.new(@viewport1)
  @battleback_sprite.bitmap = bitmap
end
  end
end
 
class Game_Map
  def battleback
hash = Battleback_Options::Battlebacks
id = map_id
return hash[id]
  end
end
 
module Cache 
  def self.battleback(filename)
load_bitmap('Graphics/Battlebacks/', filename)
  end
end
Das erste setzt dir Faces und den Char als "battler grafik" hin, und das zweite script ermöglicht dir einen battlebackground (sofern du soetwas nich schon hast) ich weis nicht was du für ein KS im kopf hast aber ich hab einfach mal wild drauf los gepostet  :shame:
beim Battleback script müsstest du einen neuen ordner bei den grafiks machen:
Graphics/Battlebacks

^^
mehr weis ich grade nicht, da mir nicht wirklich ein ganzes ks einfällt das dem ks gleich kommt ^^"
Darfüq?

Re: Remake eines SNES-Klassikers

Offline Leviathan

  • RTP-Mapper
  • *
  • Beiträge: 26
Re: Remake eines SNES-Klassikers
« Antwort #4 am: Dezember 03, 2010, 19:48:11 »
Danke, das ist gar nicht so schlecht.
An wen gehen die Credits?

Re: Remake eines SNES-Klassikers

Offline BenjiXD

  • -
  • Mr. MACK-Tile
  • ***
  • Beiträge: 273
  • -
Re: Remake eines SNES-Klassikers
« Antwort #5 am: Dezember 03, 2010, 20:14:35 »
also das erste geht an das "Yanfly-Team" bzw. wie es im Titel des Script steht einfach an Yanfly^^
das battleback script kommmt von neo-bahamut aus dem rpgstudio und
das andere script mit dem bildern kommt auch vom hause Yanfly :D
Darfüq?

Re: Remake eines SNES-Klassikers

Offline Leviathan

  • RTP-Mapper
  • *
  • Beiträge: 26
Re: Remake eines SNES-Klassikers
« Antwort #6 am: Dezember 06, 2010, 17:15:28 »
Hab noch ne Frage:
Bei dem Script von dir, was muss man da ändern, dass sich
erstens der Charakter bewegt (stepping sequenz),
und zweitens dass das Gesicht kurz geändert wird bei einem
gegnerischen Angriff :what:

 


 Bild des Monats

rooftop party

Views: 4584
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