• Anmelden

1

Sonntag, 15. August 2010, 20:57

FF X-2 Menü V2.2, Anzeigeproblem

Hallo!

Ich habe das Sricpt in mein Spiel eingebaut und es läuft auch problemlos. Ich habe es ein wenig angepasst, das habe ich mit meinen bescheidenen Kenntnissen noch geschafft. Aber ein Problem habe ich und ich kann es leider auch nicht selbst lösen.

Und zwar baut das Menü ja auf Pictures auf. Allerdings zeigt er mir im Skill-Bereich zusätzlich die Textbox an. In allen anderen Bereichen funktioniert die Anzeige richtig. Zur Erklärung im Anhang ein Bild des Problems.

Das Sricpt findet sich z.B. hier: http://www.rpg-studio.de:8181/scriptdb/d…-Men%C3%BC.html
Ich kann leider keine spezifische Code-Stelle posten, da ich nicht eingrenzen kann, wo das Problem liegen könnte....

Danke schonmal!
Gruß,
Saiyuki
»Saiyuki« hat folgendes Bild angehängt:
  • Problem.png

2

Dienstag, 24. August 2010, 20:15

Wirkich keiner eine Idee...? Ich würde ja wirklich gern potentiellen Helfen das Script-Lesen ersparen, aber ich weiß nicht genau, an welcher Stelle der Fehler liegen könnte. Und nun einen Script-Teil zu posten, wenn der Fehler ganz woanders liegt, ist wohl wenig hilfreich.

Kenai

Landsknecht

Motto: “Niemals aufgeben, bevor man nicht alles versucht hat.”

  • Nachricht senden

3

Dienstag, 24. August 2010, 23:08

Das Skript funktioniert zu 100% fehlerfrei. Daher könnte dir jemand nur helfen, wenn du auch deinen modifizierten Code postest. Wenn du dir nicht sicher bist, was du geändert hast, würde ich dir raten dein Menü mit dem alten Quellcode komplett zu überschreiben, damit deine Änderungen rückgängig gemacht werden. Solche Anzeigeprobleme treten bei diesem Menü nämlich normalerweise nicht auf^^.

Wenn du am Originalcode des Menüs nichts geändert haben solltest, könnte womöglich auch ein ganz anderes Skript reinpfuschen. Das ist aber so ohne irgendwas nicht festzustellen.

~ Gruß Kenai
  • :doc: Neuigkeiten

    Sämtliche Projekte sind erst mal pausiert. Weitere Informationen findet ihr hier. (Stand: 21.12.2012).
  • :rmxp: Cursal Engine (Jump and Run Engine)

    Mit Hilfe der Cursal Engine (RCE) ist es möglich auf ziemlich einfache Weise „Jump and Run“-Projekte im RPG Maker XP zu entwerfen. Das Anlegen basiert auf Installations- und Updatepaketen sowie reinen Archiven für fortgeschrittene Benutzer. Die Version 2 (CE2) befindet sich bereits in Entwicklung. Interessiert? Dann lade dir die neuste Version herunter ;3!
  • BildAvatar

    Diese kleinen, netten und knuffigen Vögelchen nennen sich Hamachou und dürften einigen aus Skies of Arcadia bekannt sein. Ich habe diese Bilder weder selbst gezeichnet noch modelliert. Dennoch finde ich sie so knuffig, dass man sie einfach lieb haben muss und ich hoffe euch geht's genau so^^". Diese Grafiken sind wirklich rar und ich bin stolz sie im Web gefunden zu haben.

4

Donnerstag, 26. Januar 2012, 21:19

Man ist das lange her ^^
Mittlerweile bin ich sogar so weit durchgestiegen, dass ich alle Probleme gelöst habe, die noch mit dem Menü zusammenhingen. Außer diesem hier... Außer diesem Script nutze ich nur noch das CTB von Charlie Fleed. Vielleicht kann mir ja doch jemand helfen. Meine Änderungen im Script sind übrigens nur Übersetzungen, am Script an sich habe ich nichts verändert.

Ich gehe mal davon aus, dass das Problem irgendwo hier liegt:
Spoiler
#==============================================================================
# ■ Scene_Skill
#------------------------------------------------------------------------------
#  スキル画面の処理を行うクラスです。
#==============================================================================

class Scene_Skill
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# actor_index : アクターインデックス
#--------------------------------------------------------------------------
def initialize(actor_index = 0, equip_index = 0)
@actor_index = actor_index
end
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
def main
#==============================================
# Setting up all the images
@background = Sprite.new
@background.bitmap = RPG::Cache.picture("background")
@background.x = 0
@background.y = 0
#================help window image=====================
@help_picture = Sprite.new
@help_picture.bitmap = RPG::Cache.picture("helpwindow12")
@help_picture.x = 0
@help_picture.y = - 52
#==============Command image=====================
@command2 = Sprite.new
@command2.bitmap = RPG::Cache.picture("cmscommand2")
@command2.x = 15
@command2.y = 40
@command2.z = 100
#==============shadow================================
@commands2 = Sprite.new
@commands2.bitmap = RPG::Cache.picture("cmscommandshadow")
@commands2.x = 20
@commands2.y = 45
@commands2.z = 1
@commands2.opacity = 155
#==============status window==========================
@status_window1 = Sprite.new
@status_window1.bitmap = RPG::Cache.picture("status window 1")
@status_window1.x = 693
@status_window1.y = 45
@status_window1.z = 100
#============shadow================================
@status_windowshadow1 = Sprite.new
@status_windowshadow1.bitmap = RPG::Cache.picture("blackwindow2")
@status_windowshadow1.x = 697
@status_windowshadow1.y = 50
@status_windowshadow1.z = 1
@status_windowshadow1.opacity = 155
#==================skill window pic====================
@skill_picture = Sprite.new
@skill_picture.bitmap = RPG::Cache.picture("skillwindow")
@skill_picture.x = 7
@skill_picture.y = 540
@skill_picture.z = 2
#================skill shadow pic=====================
@skill_shadow = Sprite.new
@skill_shadow.bitmap = RPG::Cache.picture("skillshadow")
@skill_shadow.x = 14
@skill_shadow.y = 545
@skill_shadow.z = 1
@skill_shadow.opacity = 155
#===============target window========================
@target_picture = Sprite.new
@target_picture.bitmap = RPG::Cache.picture("targetwindow")
@target_picture.z = 998
@target_picture.visible = false
# アクターを取得
@actor = $game_party.actors[@actor_index]
# ヘルプウィンドウ、ステータスウィンドウ、スキルウィンドウを作成
@help_window = Window_Menuhelp.new
@help_window.opacity = 0
@status_window = Window_SkillStatus.new(@actor)
@skill_window = Window_Menuskill.new(@actor)
@skill_window.opacity = 0
# ヘルプウィンドウを関連付け
@skill_window.help_window = @help_window
# ターゲットウィンドウを作成 (不可視・非アクティブに設定)
@target_window = Window_Target.new
@target_window.z = 999
@target_window.opacity = 0
@target_window.visible = false
@target_window.active = false
dispose = [@help_window, @status_window, @skill_window, @target_window, @background, @help_picture]
dispose2 = [@commands2, @command2, @status_window1, @status_windowshadow1, @skill_picture, @skill_shadow]
# トランジション実行
Graphics.transition
# メインループ
loop do
# ゲーム画面を更新
Graphics.update
# 入力情報を更新
Input.update
# フレーム更新
update
# 画面が切り替わったらループを中断
if $scene != self
break
end
end
# トランジション準備
Graphics.freeze
# ウィンドウを解放
dispose.each {|x| x.dispose if !x.disposed? }
dispose2.each {|y| y.dispose if !y.disposed? }
end
#--------------------------------------------------------------------------
def delay(seconds)
for i in 0...(seconds * 1)
sleep 0.01
Graphics.update
end
end
# ● フレーム更新
#--------------------------------------------------------------------------
def update
# enter animation
if @help_picture.y < - 4
@help_picture.y += 24
end
if @help_window.y < - 7
@help_window.y += 35
end
if @command2.y < 60
@command2.y += 20
end
if @commands2.y < 65
@commands2.y += 20
end
if @skill_shadow.y > 145
@skill_shadow.y -= 50
end
if @skill_picture.y > 140
@skill_picture.y -= 50
end
if @skill_window.y > 131
@skill_window.y -= 50
end
if @status_window1.x > 293
@status_window1.x -= 100
end
if @status_window.x > 230
@status_window.x -= 100
end
if @status_windowshadow1.x > 297
@status_windowshadow1.x -= 100
end
# ウィンドウを更新
@help_window.update
@status_window.update
@skill_window.update
@target_window.update
# スキルウィンドウがアクティブの場合: update_skill を呼ぶ
if @skill_window.active
update_skill
return
end
# ターゲットウィンドウがアクティブの場合: update_target を呼ぶ
if @target_window.active
update_target
return
end
end
#--------------------------------------------------------------------------
# ● フレーム更新 (スキルウィンドウがアクティブの場合)
#--------------------------------------------------------------------------
def update_skill
if Input.trigger?(Input::B)
# exit animation
loop do
if @skill_shadow.y < 480
@skill_shadow.y += 50
end
if @skill_picture.y < 480
@skill_picture.y += 50
end
if @skill_window.y < 480
@skill_window.y += 50
end
if @help_picture.y > - 50
@help_picture.y -= 30
end
if @help_window.y > - 64
@help_window.y -= 30
end
if @command2.x > 15
@command2.x -= 100
end
if @command2.y > 40
@command2.y -= 10
end
if @commands2.x > 20
@commands2.x -= 100
end
if @commands2.y > 45
@commands2.y -= 10
end
if @status_window1.x < 640
@status_window1.x += 100
end
if @status_window.x < 640
@status_window.x += 100
end
if @status_windowshadow1.x < 640
@status_windowshadow1.x += 100
end
delay(0.2)
if @skill_picture.y >= 480
break
end
end
# キャンセル SE を演奏
$game_system.se_play($data_system.cancel_se)
# メニュー画面に切り替え
$scene = Scene_Menu.new(1)
return
end
# C ボタンが押された場合
if Input.trigger?(Input::C)
# スキルウィンドウで現在選択されているデータを取得
@skill = @skill_window.skill
# 使用できない場合
if @skill == nil or not @actor.skill_can_use?(@skill.id)
# ブザー SE を演奏
$game_system.se_play($data_system.buzzer_se)
return
end
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# 効果範囲が味方の場合
if @skill.scope >= 3
# ターゲットウィンドウをアクティブ化
@skill_window.active = false
@target_window.x = (@skill_window.index + 1) % 2 * 304
@target_picture.x = (@skill_window.index + 1) % 2 * 304
@target_window.visible = true
@target_window.active = true
@target_picture.visible = true
# 効果範囲 (単体/全体) に応じてカーソル位置を設定
if @skill.scope == 4 || @skill.scope == 6
@target_window.index = -1
elsif @skill.scope == 7
@target_window.index = @actor_index - 10
else
@target_window.index = 0
end
# 効果範囲が味方以外の場合
else
# コモンイベント ID が有効の場合
if @skill.common_event_id > 0
# コモンイベント呼び出し予約
$game_temp.common_event_id = @skill.common_event_id
# スキルの使用時 SE を演奏
$game_system.se_play(@skill.menu_se)
# SP 消費
@actor.sp -= @skill.sp_cost
# 各ウィンドウの内容を再作成
@status_window.refresh
@skill_window.refresh
@target_window.refresh
# マップ画面に切り替え
$scene = Scene_Map.new
return
end
end
return
end
# R ボタンが押された場合
if Input.trigger?(Input::R)
# カーソル SE を演奏
$game_system.se_play($data_system.cursor_se)
# 次のアクターへ
@actor_index += 1
@actor_index %= $game_party.actors.size
# 別のスキル画面に切り替え
$scene = Scene_Skill.new(@actor_index)
return
end
# L ボタンが押された場合
if Input.trigger?(Input::L)
# カーソル SE を演奏
$game_system.se_play($data_system.cursor_se)
# 前のアクターへ
@actor_index += $game_party.actors.size - 1
@actor_index %= $game_party.actors.size
# 別のスキル画面に切り替え
$scene = Scene_Skill.new(@actor_index)
return
end
end
#--------------------------------------------------------------------------
# ● フレーム更新 (ターゲットウィンドウがアクティブの場合)
#--------------------------------------------------------------------------
def update_target
# B ボタンが押された場合
if Input.trigger?(Input::B)
# キャンセル SE を演奏
$game_system.se_play($data_system.cancel_se)
# ターゲットウィンドウを消去
@skill_window.active = true
@target_window.visible = false
@target_window.active = false
@target_picture.visible = false
return
end
# C ボタンが押された場合
if Input.trigger?(Input::C)
# SP 切れなどで使用できなくなった場合
unless @actor.skill_can_use?(@skill.id)
# ブザー SE を演奏
$game_system.se_play($data_system.buzzer_se)
return
end
# ターゲットが全体の場合
if @target_window.index == -1
# パーティ全体にスキルの使用効果を適用
used = false
for i in $game_party.actors
used |= i.skill_effect(@actor, @skill)
end
end
# ターゲットが使用者の場合
if @target_window.index <= -2
# ターゲットのアクターにスキルの使用効果を適用
target = $game_party.actors[@target_window.index + 10]
used = target.skill_effect(@actor, @skill)
end
# ターゲットが単体の場合
if @target_window.index >= 0
# ターゲットのアクターにスキルの使用効果を適用
target = $game_party.actors[@target_window.index]
used = target.skill_effect(@actor, @skill)
end
# スキルを使った場合
if used
# スキルの使用時 SE を演奏
$game_system.se_play(@skill.menu_se)
# SP 消費
@actor.sp -= @skill.sp_cost
# 各ウィンドウの内容を再作成
@status_window.refresh
@skill_window.refresh
@target_window.refresh
# 全滅の場合
if $game_party.all_dead?
# ゲームオーバー画面に切り替え
$scene = Scene_Gameover.new
return
end
# コモンイベント ID が有効の場合
if @skill.common_event_id > 0
# コモンイベント呼び出し予約
$game_temp.common_event_id = @skill.common_event_id
# マップ画面に切り替え
$scene = Scene_Map.new
return
end
end
# スキルを使わなかった場合
unless used
# ブザー SE を演奏
$game_system.se_play($data_system.buzzer_se)
end
return
end
end
end
zum Lesen den Text mit der Maus markieren

edit:
Mit etwas Hirn anstrengen habe ich es letzlich sogar selbst geschafft :)
Das Menü hat sich mit dem IBC-Support vom CTB gebissen. Problem ist also gelöst!

/Edit 9.9.11:
Ich mal wieder :)
Speichern kann man in meinem Spiel nur an Speicherpunkten. Der Menüpunkt "Speichern" ist also relativ unsinnig. Ich möchte diesen nun gerne austauschen. Man soll, wenn man diesen Menüpunkt anklickt, auf eine Art Sphärobrett teleportiert werden. Der Button stellt kein Problem dar, ich weiß nur nicht, an welcher Stelle ich was genau im Script ändern muss. Der Teleport wird von einem Common-Event ausgelöst (siehe auch hier: [Universal] Sphärobrett-Tutorial (Final Fantasy X) - oder auch Skill-Tree-Tutorial - Maker - RPG Studio - Make your World real ), nur wie bringe ich nun das liebe Script dazu, anstatt speichern zu wollen, dieses Event auszulösen?
Vielen Dank schonmal! :)

Ganz vergessen: Das hier ist übrigens das Script: FFx-2 Menü

/Edit 26.1.2012
Wenn jemand Zeit und Lust hat, sich mit dem kleinen Problem auseinander zu setzen, wäre ich sehr dankbar :) Alleine kriege ich es diesmal nicht hin.

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »Saiyuki« (26. Januar 2012, 21:19) aus folgendem Grund: Frage noch aktuell


Kenai

Landsknecht

Motto: “Niemals aufgeben, bevor man nicht alles versucht hat.”

  • Nachricht senden

5

Sonntag, 29. Januar 2012, 11:22

Okay. An sich ist es relativ einfach zu lösen... mit ein paar Änderungen am Originalskript. Sämtliche Änderungen beziehen sich auf dein genanntes Menüskript (ffx-2 Custom Menu System):
  1. Suche Zeile 2402 bis 2415

    Ruby Quellcode

    2402
    2403
    2404
    2405
    2406
    2407
    2408
    2409
    2410
    2411
    2412
    2413
    2414
    2415
    
          when 4  # セーブ
            # セーブ禁止の場合
            if $game_system.save_disabled
              # ブザー SE を演奏
              $game_system.se_play($data_system.buzzer_se)
              return
            end
            #=====================
            @command[5].z = 999
            exit
            # 決定 SE を演奏
            $game_system.se_play($data_system.decision_se)
            # セーブ画面に切り替え
            $scene = Scene_Save.new
    und überschreibe in Zeile 2415 den Eintrag

    Ruby Quellcode

    2415
    
            $scene = Scene_Save.new
    mit

    Ruby Quellcode

    2415
    2416
    
            $game_temp.common_event_id = SKILL_TREE_COMMON_EVENT_ID
            $scene = Scene_Map.new

  2. Suche Zeile 1 bis 12:

    Ruby Quellcode

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    #=========================================================
    # This is the ffx-2 Custom Menu System by Catchm.
    # version 2, revised, shortened code
    # It is a long script and includes many alterations and images attached to it.
    # These images can be edited, and the script can be edited, you are free to do so
    # credit to Catchm is the only thing needed.
    # this is to be copied into a new script in the script editor
    #
    # Have fun with the script!
    #=========================================================
     
    class Bitmap
    und füge in Zeile 11 zwischen

    Ruby Quellcode

    10
    
    #=========================================================
    und

    Ruby Quellcode

    12
    
    class Bitmap
    folgenden Code ein

    Ruby Quellcode

    11
    12
    13
    
    class Scene_Menu
      SKILL_TREE_COMMON_EVENT_ID = 1
    end
    , so dass es ungefähr so aussieht

    Ruby Quellcode

    10
    11
    12
    13
    14
    15
    16
    17
    
    #=========================================================
     
    class Scene_Menu
      # ID des Common Events, welches ausgeführt werden soll.
      SKILL_TREE_COMMON_EVENT_ID = 1
    end
     
    class Bitmap

  3. Ändere die ID nach deinem Wunsch ab und fertig^^.
  • :doc: Neuigkeiten

    Sämtliche Projekte sind erst mal pausiert. Weitere Informationen findet ihr hier. (Stand: 21.12.2012).
  • :rmxp: Cursal Engine (Jump and Run Engine)

    Mit Hilfe der Cursal Engine (RCE) ist es möglich auf ziemlich einfache Weise „Jump and Run“-Projekte im RPG Maker XP zu entwerfen. Das Anlegen basiert auf Installations- und Updatepaketen sowie reinen Archiven für fortgeschrittene Benutzer. Die Version 2 (CE2) befindet sich bereits in Entwicklung. Interessiert? Dann lade dir die neuste Version herunter ;3!
  • BildAvatar

    Diese kleinen, netten und knuffigen Vögelchen nennen sich Hamachou und dürften einigen aus Skies of Arcadia bekannt sein. Ich habe diese Bilder weder selbst gezeichnet noch modelliert. Dennoch finde ich sie so knuffig, dass man sie einfach lieb haben muss und ich hoffe euch geht's genau so^^". Diese Grafiken sind wirklich rar und ich bin stolz sie im Web gefunden zu haben.

6

Montag, 30. Januar 2012, 13:20

Super, vielen vielen Dank :yahoo!:
Getestet und es funktioniert!

Eine Kleinigkeit wäre da noch:
Wenn ich im Menü nun das Brett auswähle wird das Menü beendet, es erscheint kurz wieder der Spielbildschirm mit der Map, wo man gerade steht und erst eine halbe Sekunde später wird man auf das Brett teleportiert. Lässt sich das irgendwie einfach im Sricpt lösen? Also das man direkt vom Menü aus auf dem Brett landet. Falls nicht, halb so schlimm, dann ist das eben so.

Kenai

Landsknecht

Motto: “Niemals aufgeben, bevor man nicht alles versucht hat.”

  • Nachricht senden

7

Montag, 30. Januar 2012, 17:26

Wenn du kein Common Event brauchst, könnte man auch den Teleport per Ruby lösen. Also müssten wird das Script so ändern (der Vollständigkeit halber solltest du allerdings die vorherigen Änderungen wieder entfernen):
  1. Suche Zeile 2402 bis 2415

    Ruby Quellcode

    2402
    2403
    2404
    2405
    2406
    2407
    2408
    2409
    2410
    2411
    2412
    2413
    2414
    2415
    
          when 4  # セーブ
            # セーブ禁止の場合
            if $game_system.save_disabled
              # ブザー SE を演奏
              $game_system.se_play($data_system.buzzer_se)
              return
            end
            #=====================
            @command[5].z = 999
            exit
            # 決定 SE を演奏
            $game_system.se_play($data_system.decision_se)
            # セーブ画面に切り替え
            $scene = Scene_Save.new
    und überschreibe in Zeile 2415 den Eintrag

    Ruby Quellcode

    2415
    
            $scene = Scene_Save.new
    mit

    Ruby Quellcode

    2415
    2416
    2417
    2418
    2419
    2420
    2421
    2422
    2423
    2424
    2425
    2426
    2427
    2428
    2429
    2430
    2431
    2432
    2433
    2434
    2435
    2436
    2437
    2438
    2439
    2440
    2441
    2442
    2443
    
            if SKTREE_MAP_ID_VAR != 0
              $game_variables[SKTREE_MAP_ID_VAR] = $game_map.map_id
            end
            if SKTREE_PLAYER_X_VAR != 0
              $game_variables[SKTREE_PLAYER_X_VAR] = $game_player.x
            end
            if SKTREE_PLAYER_Y_VAR != 0
              $game_variables[SKTREE_PLAYER_Y_VAR] = $game_player.y
            end
            if SKTREE_PLAYER_DIRECTION_VAR != 0
              $game_variables[SKTREE_PLAYER_DIRECTION_VAR] = $game_player.direction
            end
            $game_temp.player_transferring = false
            $game_map.setup(SKTREE_MAP_ID)
            $game_player.moveto(SKTREE_PLAYER_X, SKTREE_PLAYER_Y)
            case SKTREE_PLAYER_DIRECTION
            when 2  # down
              $game_player.turn_down
            when 4  # left
              $game_player.turn_left
            when 6  # right
              $game_player.turn_right
            when 8  # up
              $game_player.turn_up
            end
            $game_player.straighten
            $game_map.update
            $game_map.autoplay
            $scene = Scene_Map.new

  2. Suche Zeile 1 bis 12:

    Ruby Quellcode

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    #=========================================================
    # This is the ffx-2 Custom Menu System by Catchm.
    # version 2, revised, shortened code
    # It is a long script and includes many alterations and images attached to it.
    # These images can be edited, and the script can be edited, you are free to do so
    # credit to Catchm is the only thing needed.
    # this is to be copied into a new script in the script editor
    #
    # Have fun with the script!
    #=========================================================
     
    class Bitmap
    und füge in Zeile 11 zwischen

    Ruby Quellcode

    10
    
    #=========================================================
    und

    Ruby Quellcode

    12
    
    class Bitmap
    folgenden Code ein

    Ruby Quellcode

    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    
    class Scene_Menu
      # ID der Karte für Teleport
      SKTREE_MAP_ID = 1
      # X-Koordinate des Spielers für Teleport
      SKTREE_PLAYER_X = 0
      # Y-Koordinate des Spielers für Teleport
      SKTREE_PLAYER_Y = 0
      # Blickrichtung des Spielers für Teleport (0..unverändert, 2..runter, 
      # 4..links, 6..rechts, 8..hoch)
      SKTREE_PLAYER_DIRECTION = 0
     
      # ID der Variable zum Speichern der Karten-ID
      SKTREE_MAP_ID_VAR = 0
      # ID der Variable zum Speichern der X-Koordinate des Spielers
      SKTREE_PLAYER_X_VAR = 0
      # ID der Variable zum Speichern der Y-Koordinate des Spielers
      SKTREE_PLAYER_Y_VAR = 0
      # ID der Variable zum Speichern der Blickrichtung des Spielers
      SKTREE_PLAYER_DIRECTION_VAR = 0
    end
    , so dass es ungefähr so aussieht

    Ruby Quellcode

    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    
    #=========================================================
     
    class Scene_Menu
      # ID der Karte für Teleport
      SKTREE_MAP_ID = 1
      # X-Koordinate des Spielers für Teleport
      SKTREE_PLAYER_X = 0
      # Y-Koordinate des Spielers für Teleport
      SKTREE_PLAYER_Y = 0
      # Blickrichtung des Spielers für Teleport (0..unverändert, 2..runter, 
      # 4..links, 6..rechts, 8..hoch)
      SKTREE_PLAYER_DIRECTION = 0
     
      # ID der Variable zum Speichern der Karten-ID
      SKTREE_MAP_ID_VAR = 0
      # ID der Variable zum Speichern der X-Koordinate des Spielers
      SKTREE_PLAYER_X_VAR = 0
      # ID der Variable zum Speichern der Y-Koordinate des Spielers
      SKTREE_PLAYER_Y_VAR = 0
      # ID der Variable zum Speichern der Blickrichtung des Spielers
      SKTREE_PLAYER_DIRECTION_VAR = 0
    end
     
    class Bitmap

  3. Ändere die ID, Koordinaten und Blickrichtung nach deinem Wunsch ab. Wenn du die Positionsdaten zusätzlich in Variablen speichern willst, musst du ab diesem Teil

    Ruby Quellcode

    1
    2
    3
    4
    5
    6
    7
    8
    
      # ID der Variable zum Speichern der Karten-ID
      SKTREE_MAP_ID_VAR = 0
      # ID der Variable zum Speichern der X-Koordinate des Spielers
      SKTREE_PLAYER_X_VAR = 0
      # ID der Variable zum Speichern der Y-Koordinate des Spielers
      SKTREE_PLAYER_Y_VAR = 0
      # ID der Variable zum Speichern der Blickrichtung des Spielers
      SKTREE_PLAYER_DIRECTION_VAR = 0
    einfach die IDs entsprechend eintragen.
  • :doc: Neuigkeiten

    Sämtliche Projekte sind erst mal pausiert. Weitere Informationen findet ihr hier. (Stand: 21.12.2012).
  • :rmxp: Cursal Engine (Jump and Run Engine)

    Mit Hilfe der Cursal Engine (RCE) ist es möglich auf ziemlich einfache Weise „Jump and Run“-Projekte im RPG Maker XP zu entwerfen. Das Anlegen basiert auf Installations- und Updatepaketen sowie reinen Archiven für fortgeschrittene Benutzer. Die Version 2 (CE2) befindet sich bereits in Entwicklung. Interessiert? Dann lade dir die neuste Version herunter ;3!
  • BildAvatar

    Diese kleinen, netten und knuffigen Vögelchen nennen sich Hamachou und dürften einigen aus Skies of Arcadia bekannt sein. Ich habe diese Bilder weder selbst gezeichnet noch modelliert. Dennoch finde ich sie so knuffig, dass man sie einfach lieb haben muss und ich hoffe euch geht's genau so^^". Diese Grafiken sind wirklich rar und ich bin stolz sie im Web gefunden zu haben.

8

Montag, 30. Januar 2012, 18:24

Klasse, funktioniert :)
Ich habe jetzt den Teil am Anfang so geändert, dass er mit meinen gewählten Variablen übereinstimmt.

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#=========================================================
class Scene_Menu
  # ID der Karte für Teleport
  SKTREE_MAP_ID = 24
  # X-Koordinate des Spielers für Teleport
  SKTREE_PLAYER_X = 18
  # Y-Koordinate des Spielers für Teleport
  SKTREE_PLAYER_Y = 3
  # Blickrichtung des Spielers für Teleport (0..unverändert, 2..runter, 
  # 4..links, 6..rechts, 8..hoch)
  SKTREE_PLAYER_DIRECTION = 0
 
  # ID der Variable zum Speichern der Karten-ID
  SKTREE_MAP_ID_VAR = 20
  # ID der Variable zum Speichern der X-Koordinate des Spielers
  SKTREE_PLAYER_X_VAR = 21
  # ID der Variable zum Speichern der Y-Koordinate des Spielers
  SKTREE_PLAYER_Y_VAR = 22
  # ID der Variable zum Speichern der Blickrichtung des Spielers
  SKTREE_PLAYER_DIRECTION_VAR = 0
end 
class Bitmap


Das einzige, was noch nicht funktioniert, ist der Rückteleport zur Map. Ich kann zwar ein Event erstellen, was einen beim Anklicken zurück zur Spielmap teleportiert, aber wenn man, während man auf dem Brett ist, im Menü nochmals das Brett auswählt, werden die gespeicherten ID's ja überschieben, womit man auf dem Brett feststeckt.
Hättest du dafür noch eine Idee? Eventuell, dass ein erneutes Auswählen des Brettes, während man sich darauf befindet, einen Rücktransport auslöst?

Kenai

Landsknecht

Motto: “Niemals aufgeben, bevor man nicht alles versucht hat.”

  • Nachricht senden

9

Montag, 30. Januar 2012, 20:45

Dann ändere es wie folgt ab =):
  1. Suche Zeile 2402 bis 2415

    Ruby Quellcode

    2402
    2403
    2404
    2405
    2406
    2407
    2408
    2409
    2410
    2411
    2412
    2413
    2414
    2415
    
          when 4  # セーブ
            # セーブ禁止の場合
            if $game_system.save_disabled
              # ブザー SE を演奏
              $game_system.se_play($data_system.buzzer_se)
              return
            end
            #=====================
            @command[5].z = 999
            exit
            # 決定 SE を演奏
            $game_system.se_play($data_system.decision_se)
            # セーブ画面に切り替え
            $scene = Scene_Save.new
    und überschreibe in Zeile 2415 den Eintrag

    Ruby Quellcode

    2415
    
            $scene = Scene_Save.new
    mit
    Spoiler

    Ruby Quellcode

    2415
    2416
    2417
    2418
    2419
    2420
    2421
    2422
    2423
    2424
    2425
    2426
    2427
    2428
    2429
    2430
    2431
    2432
    2433
    2434
    2435
    2436
    2437
    2438
    2439
    2440
    2441
    2442
    2443
    2444
    2445
    2446
    2447
    2448
    2449
    2450
    2451
    2452
    2453
    2454
    2455
    2456
    2457
    2458
    2459
    2460
    
            if SKTREE_MAP_ID_VAR != 0 and $game_map.map_id == SKTREE_MAP_ID
              player_new_map_id = $game_variables[SKTREE_MAP_ID_VAR]
              if SKTREE_PLAYER_X_VAR != 0
                player_new_x = $game_variables[SKTREE_PLAYER_X_VAR]
              end
              if SKTREE_PLAYER_Y_VAR != 0
                player_new_y = $game_variables[SKTREE_PLAYER_Y_VAR]
              end
              if SKTREE_PLAYER_DIRECTION_VAR != 0
                player_new_direction = $game_variables[SKTREE_PLAYER_DIRECTION_VAR]
              end
            else
              if SKTREE_MAP_ID_VAR != 0
                $game_variables[SKTREE_MAP_ID_VAR] = $game_map.map_id
              end
              if SKTREE_PLAYER_X_VAR != 0
                $game_variables[SKTREE_PLAYER_X_VAR] = $game_player.x
              end
              if SKTREE_PLAYER_Y_VAR != 0
                $game_variables[SKTREE_PLAYER_Y_VAR] = $game_player.y
              end
              if SKTREE_PLAYER_DIRECTION_VAR != 0
                $game_variables[SKTREE_PLAYER_DIRECTION_VAR] = $game_player.direction
              end
              player_new_map_id    = SKTREE_MAP_ID
              player_new_x         = SKTREE_PLAYER_X
              player_new_y         = SKTREE_PLAYER_Y
              player_new_direction = SKTREE_PLAYER_DIRECTION
            end
            $game_temp.player_transferring = false
            $game_map.setup(player_new_map_id)
            $game_player.moveto(player_new_x, player_new_y)
            case player_new_direction
            when 2
              $game_player.turn_down
            when 4
              $game_player.turn_left
            when 6
              $game_player.turn_right
            when 8
              $game_player.turn_up
            end
            $game_player.straighten
            $game_map.update
            $game_map.autoplay
            $scene = Scene_Map.new
    zum Lesen den Text mit der Maus markieren

  2. Der Rest kann so bleiben... alles wie gehabt =3.
  • :doc: Neuigkeiten

    Sämtliche Projekte sind erst mal pausiert. Weitere Informationen findet ihr hier. (Stand: 21.12.2012).
  • :rmxp: Cursal Engine (Jump and Run Engine)

    Mit Hilfe der Cursal Engine (RCE) ist es möglich auf ziemlich einfache Weise „Jump and Run“-Projekte im RPG Maker XP zu entwerfen. Das Anlegen basiert auf Installations- und Updatepaketen sowie reinen Archiven für fortgeschrittene Benutzer. Die Version 2 (CE2) befindet sich bereits in Entwicklung. Interessiert? Dann lade dir die neuste Version herunter ;3!
  • BildAvatar

    Diese kleinen, netten und knuffigen Vögelchen nennen sich Hamachou und dürften einigen aus Skies of Arcadia bekannt sein. Ich habe diese Bilder weder selbst gezeichnet noch modelliert. Dennoch finde ich sie so knuffig, dass man sie einfach lieb haben muss und ich hoffe euch geht's genau so^^". Diese Grafiken sind wirklich rar und ich bin stolz sie im Web gefunden zu haben.

10

Dienstag, 31. Januar 2012, 06:18

Wuah, nochmals vielen Dank :D Du bist klasse, alleine hätte ich das nie geschafft!

Funktioniert alles bestens und ohne Probleme!

Ähnliche Themen

Social Bookmarks