Vollbild / Fullscreen:
Ich habe noch zwei alternative Vollbild Scripte im Angebot:
oder
Ebenfalls in Main und vor dem Befehl "begin" reinkopieren. Bei mir klappen übrigens alle Vollbildscripte ohne Probleme.
Und noch ne Kleinigkeit...
Manueller Quit:
Einfach unter Call Script aufrufen und das Spiel beendet sich.
Das Problem hatte schonmal jemand. Sowas passiert glaube ich dann wenn beim Kopieren des Scriptes die Zeilenumbrüche verschoben werden und sich dadurch, oder durch andere Fehler, der Code ändert.Zitat von Roter Zahn
Bei den Meisten Scripten hat das nicht gar so krasse Auswirkungen, aber dashier ist etwas kritisch da es eine Tasteneingabe simuliert die auch im Windows noch gilt wenn sie nicht beendet wurde.
Achtet daher darauf das derartige Fehler beim Kopieren nicht passieren. Man sollte vor allem vermeiden Scripte im Editor zwichenzuspeichern, da der bei Platzmangel gern mal selbstständig Zeilenumbrüche einfügt.
Ich hätte hier noch ein Script was nützlich sein könnte ^^ Einige möchten ja gerne, dass der Titel-Screen übersprungen wird und direkt das Spiel startet, naja, hier das Script:
#===============================
# ■ Scene_Title modified by The Black Mole
#-----------------------------------------
# Direkt ohne Titelbild das Spiel starten
#===============================
class Scene_Title
#-----------------------------
# Main Script starten
#-----------------------------
def main
# Systemdateien initialisieren
$data_actors = load_data("Data/Actors.rxdata")
$data_tilesets = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system = load_data("Data/System.rxdata")
# Spiel zum Start vorbereiten
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_map = Game_Map.new
$game_player = Game_Player.new
# Party bestimmen
$game_party.setup_starting_members
# Startmap initialisieren
$game_map.setup($data_system.start_map_id)
# Player zur startposition teleportieren
$game_player.moveto($data_system.start_x, $data_system.start_y)
$game_player.refresh
# Map Update
$game_map.update
# Initialisierung der Map abschließen
$scene = Scene_Map.new
end
end
da fehlen aber einige der datenbank-initialisierungen:
sonst kommt irgendwann das böse erwachen^^
Hy hab das "Anti Lag Script" von Macros getestet weil ich es auch benötige!
Es funktioniert zwar aber hängt sich bei manchen Events die etwas weiter
vom Spieler entfernt sind auf.
Kann der Fehler behoben werden, wäre echt nützlich?
(Ich kann kein Ruby)
Zum einen Hast du jetzt wonöglich eine veraltete Version.
Zum anderen gibt es inzwischen auch einige andere Anti Lag Scripts. falls es mit der neuen Version des von mir geposteten nicht funktioniert, würde ich nach einem Script von einem anderen Scripter suchen.
Ansonsten müsste ich wissen, um was für ein Event es sich genau handelt. Also ob es ein paralleler Prozess ist, oder nicht, was drin steht etc.
Hier findest du die auch die anderen Anti Lag Scripte
http://www.rmxp.org/forums/
PS.:
Willkommen im Forum![]()
Um gute Scripts zu erstellen, braucht man häufig nicht Ruby!!!
Ich habe ein Spiel mit einem Vorspann und animiertem Titel.
Der Trick:
Das sind beides Karten!!!
Bei scenen_Titel gibt es eine Zeile, wo steht:
If Imput C.
Im Klartext:
Wenn Enter gedrückt worden ist.
Jetzt läuft es Automatisch ab.
Es gibt aber noch ein Problen.
Wenn es eine Save.DateiX im Ordner gibt,
ist die Start-Auswahl 1.
Dann habe ich überall Scene_Load.new durch Scene_Game.new erstetz...
Die Karte habe ich dann mit Conditional Branch und Script erstellt...
Der Rest ist euch überlassen!!!
Dies ist ein gutes Beispiel für Change-not-All-by-Adrian2000
Am Ende sieht es genau so aus:
[PHP]
#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
# タイトル画面の処理を行うクラスです。
#==============================================================================
class Scene_Title
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
def main
# 戦闘テストの場合
if $BTEST
battle_test
return
end
# データベースをロード
$data_actors = load_data("Data/Actors.rxdata")
$data_classes = load_data("Data/Classes.rxdata")
$data_skills = load_data("Data/Skills.rxdata")
$data_items = load_data("Data/Items.rxdata")
$data_weapons = load_data("Data/Weapons.rxdata")
$data_armors = load_data("Data/Armors.rxdata")
$data_enemies = load_data("Data/Enemies.rxdata")
$data_troops = load_data("Data/Troops.rxdata")
$data_states = load_data("Data/States.rxdata")
$data_animations = load_data("Data/Animations.rxdata")
$data_tilesets = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system = load_data("Data/System.rxdata")
# システムオブジェクトを作成
$game_system = Game_System.new
# タイトルグラフィックを作成
@sprite = Sprite.new
@sprite.bitmap = RPG:ache.title($data_system.title_name)
# コマンドウィンドウを作成
s1 = ""
s2 = ""
s3 = ""
@command_window = Window_Command.new(192, [s1, s2, s3])
@command_window.back_opacity = 160
@command_window.x = 999 - @command_window.width / 2
@command_window.y = 999
# コンティニュー有効判定
# セーブファイルがひとつでも存在するかどうかを調べる
# 有効なら @continue_enabled を true、無効なら false にする
@continue_enabled = false
for i in 0..3
if FileTest.exist?("Save#{i+1}.sav")
@continue_enabled = true
end
end
# コンティニューが有効な場合、カーソルをコンティニューに合わせる
# 無効な場合、コンティニューの文字をグレー表示にする
if @continue_enabled
@command_window.index = 1
else
@command_window.disable_item(1)
end
# タイトル BGM を演奏
$game_system.bgm_play($data_system.title_bgm)
# ME、BGS の演奏を停止
Audio.me_stop
Audio.bgs_stop
# トランジション実行
Graphics.transition
# メインループ
loop do
# ゲーム画面を更新
Graphics.update
# 入力情報を更新
Input.update
# フレーム更新
update
# 画面が切り替わったらループを中断
if $scene != self
break
end
end
# トランジション準備
Graphics.freeze
# コマンドウィンドウを解放
@command_window.dispose
# タイトルグラフィックを解放
@sprite.bitmap.dispose
@sprite.dispose
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
# コマンドウィンドウを更新
@command_window.update
# C ボタンが押された場合
# コマンドウィンドウのカーソル位置で分岐
case @command_window.index
when 0 # ニューゲーム
command_new_game
when 1 # ニューゲーム
command_new_game
when 2 # ニューゲーム
command_new_game
end
end
end
#--------------------------------------------------------------------------
# ● コマンド : ニューゲーム
#--------------------------------------------------------------------------
def command_new_game
# BGM を停止
Audio.bgm_stop
# プレイ時間計測用のフレームカウントをリセット
Graphics.frame_count = 0
# 各種ゲームオブジェクトを作成
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
# 初期パーティをセットアップ
$game_party.setup_starting_members
# 初期位置のマップをセットアップ
$game_map.setup($data_system.start_map_id)
# プレイヤーを初期位置に移動
$game_player.moveto($data_system.start_x, $data_system.start_y)
# プレイヤーをリフレッシュ
$game_player.refresh
# マップに設定されている BGM と BGS の自動切り替えを実行
$game_map.autoplay
# マップを更新 (並列イベント実行)
$game_map.update
# マップ画面に切り替え
$scene = Scene_Map.new
end
#--------------------------------------------------------------------------
# ● コマンド : コンティニュー
#--------------------------------------------------------------------------
def command_continue
# コンティニューが無効の場合
unless @continue_enabled
# ブザー SE を演奏
$game_system.se_play($data_system.buzzer_se)
return
end
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# ロード画面に切り替え
$scene = Scene_Load.new
end
#--------------------------------------------------------------------------
# ● コマンド : シャットダウン
#--------------------------------------------------------------------------
def command_shutdown
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# BGM、BGS、ME をフェードアウト
Audio.bgm_fade(800)
Audio.bgs_fade(800)
Audio.me_fade(800)
# シャットダウン
$scene = nil
end
#--------------------------------------------------------------------------
# ● 戦闘テスト
#--------------------------------------------------------------------------
def battle_test
# データベース (戦闘テスト用) をロード
$data_actors = load_data("Data/BT_Actors.rxdata")
$data_classes = load_data("Data/BT_Classes.rxdata")
$data_skills = load_data("Data/BT_Skills.rxdata")
$data_items = load_data("Data/BT_Items.rxdata")
$data_weapons = load_data("Data/BT_Weapons.rxdata")
$data_armors = load_data("Data/BT_Armors.rxdata")
$data_enemies = load_data("Data/BT_Enemies.rxdata")
$data_troops = load_data("Data/BT_Troops.rxdata")
$data_states = load_data("Data/BT_States.rxdata")
$data_animations = load_data("Data/BT_Animations.rxdata")
$data_tilesets = load_data("Data/BT_Tilesets.rxdata")
$data_common_events = load_data("Data/BT_CommonEvents.rxdata")
$data_system = load_data("Data/BT_System.rxdata")
# プレイ時間計測用のフレームカウントをリセット
Graphics.frame_count = 0
# 各種ゲームオブジェクトを作成
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
# 戦闘テスト用のパーティをセットアップ
$game_party.setup_battle_test_members
# トループ ID、逃走可能フラグ、バトルバックを設定
$game_temp.battle_troop_id = $data_system.test_troop_id
$game_temp.battle_can_escape = true
$game_map.battleback_name = $data_system.battleback_name
# バトル開始 SE を演奏
$game_system.se_play($data_system.battle_start_se)
# バトル BGM を演奏
$game_system.bgm_play($game_system.battle_bgm)
# バトル画面に切り替え
$scene = Scene_Battle.new
end
[/CODE]
Geändert von SMWma (16.08.2009 um 13:58 Uhr)
8-way und Pixel movement = MUST HAVE!
Gibt es überhaupt Thread-Necro bei einem gepinnten Thread?
Egal, ich hab jedenfalls die letzten Tage (anstatt für meine morgige Klausur zu lernen) wieder ein wenig Lust auf Makern bekommen und dabei noch ein altes Skript auf meiner Platte entdeckt. In diesem Fall bin ich tatsächlich der Meinung es ist ein "must-have", mMn insbesondere sehr nützlich wenn man eigene Menüs baut oder sonst viele eigene Window-Klassen schreiben muss.
Zur Anmerkung, das Skript ist nicht von mir, es ist Teil eines Questlog-Skript, das ich als PDF irgendwann mal (kA mehr woher genau) runtergeladen habe. Autor ist ein gewisser Caesar, wie aber auch im Kommentarblock am Anfang des Skriptes angegeben.
Es handelt sich dabei um eine HTML-Render Engine, wobei das HTML sicher etwas hoch gegriffen ist. Es erlaubt aber auf jedenfall diverse Formatierungen in Form von HTLM-Tags einfach im Text anzugeben. Verwendet wird es relativ einfach, indem man einfach die Funktion Bitmap#draw_html anstatt Bitmap#draw_text verwendet.(Parameter sind die gleichen)
Das Skript:
Die Erläuterungen aus dem PDF (beinhaltet Liste der unterstützten Tags), da ich hier nur die HTML-Engine poste und nicht das ganze Questlog gibt es dadurch bedingt einige Lücken, also stört euch nicht an der Nummerierung:
Bei mir klappt das "Titel-Überspringen-Skript" nicht :/
Hätte da jemand ein ersatz parat?
--
Kann man so einen Thread auch für den VX und VX Ace machen?