當前位置:首頁 » 編程軟體 » rpg製作大師腳本

rpg製作大師腳本

發布時間: 2022-04-27 14:59:19

① rpg製作大師製作游戲流程

RPG製作大師系列有三種,分別是XP VX ACE,但是流程基本相仿:
1.構思劇情:想好游戲的劇情和一些過程,面的製作到後期的時候沒什麼可做從而前功盡棄。
2.收集人手(可以自己做……):防止由於工程量太多而導致無法完成。
3.製作素材(沒有相應技術可以上網上搜集……):這個不必解釋……完全為了游戲的效果,圖片質量越高越好。
4.腳本編輯:做好腳本的目的是為了讓游戲的一些功能(比如說戰斗)符合自己的意圖,並且達到好的效果。
5.資料庫編輯:設置好基本的數據,有些數據是在構思的時候很難想出來的,可以隨著製作的發展,有新想法之後再進行製作,但是基本類型的東西還是要製作的,比如角色、武器裝備等。
6.地圖編輯:畫地圖……畫地圖……這個不解釋……只是注意把地圖連接做好。
7.劇情編輯:現在起就可以在地圖上繪制劇情了,一個事件兩個事件……
8.製作字幕(不做也沒啥關系……):這點是為了顯示出幫助你的人或者工程,表示感謝,你不寫當然沒人說你……
9.後期測試:避免BUG和其他錯誤的辦法,這個是必須環節,沒人可以保證在工程里沒一個錯誤吧(那種五分鍾的漢字工程除外……)。
10.發布公測:這……不說了……
大概就這些了。累死了……

② rpg製作大師VX商店腳本問題

抱歉....上一個看錯了= = 腳本和範例游戲發到你的郵箱里了已經
#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
# 處理地圖畫面的類。
#==============================================================================

class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# ● 開始處理
#--------------------------------------------------------------------------
def start
super
$game_map.refresh
@spriteset = Spriteset_Map.new
@message_window = Window_Message.new
end
#--------------------------------------------------------------------------
# ● 執行漸變
#--------------------------------------------------------------------------
def perform_transition
if Graphics.brightness == 0 # 戰斗後或載入後等
fadein(30)
else # 從菜單中回來等
Graphics.transition(15)
end
end
#--------------------------------------------------------------------------
# ● 結束處理
#--------------------------------------------------------------------------
def terminate
super
if $scene.is_a?(Scene_Battle) # 切換至戰斗場景的場合
@spriteset.dispose_characters # 隱藏角色來生成戰斗背景
end
snapshot_for_background
@spriteset.dispose
@message_window.dispose
if $scene.is_a?(Scene_Battle) # 切換至戰斗場景的場合
perform_battle_transition # 執行戰斗漸變
end
end
#--------------------------------------------------------------------------
# ● 基本更新處理
#--------------------------------------------------------------------------
def update_basic
Graphics.update # 更新游戲畫面
Input.update # 更新輸入信息
$game_map.update # 更新地圖
@spriteset.update # 更新活動塊組
end
#--------------------------------------------------------------------------
# ● 更新畫面
#--------------------------------------------------------------------------
def update
super
$game_map.interpreter.update # 更新解釋器
$game_map.update # 更新地圖
$game_player.update # 更新主角
$game_system.update # 更新計時器
@spriteset.update # 更新活動塊組
@message_window.update # 更新信息窗口
unless $game_message.visible # 信息窗口顯示中除外
update_transfer_player
update_encounter
update_call_menu
update_call_debug
update_scene_change
end
end
#--------------------------------------------------------------------------
# ● 淡入畫面
# ration : 時間
# 如果直接使用 Graphics.fadeout 的話會出現一些狀況,如天候效果和遠景
# 滾動都會被強迫停止,所以用動態的 fade-in 效果會好些。
#--------------------------------------------------------------------------
def fadein(ration)
Graphics.transition(0)
for i in 0..ration-1
Graphics.brightness = 255 * i / ration
update_basic
end
Graphics.brightness = 255
end
#--------------------------------------------------------------------------
# ● 淡出畫面
# ration : 時間
# 與上面的 fadein 一樣,不是直接調用 Graphics.fadein。
#--------------------------------------------------------------------------
def fadeout(ration)
Graphics.transition(0)
for i in 0..ration-1
Graphics.brightness = 255 - 255 * i / ration
update_basic
end
Graphics.brightness = 0
end
#--------------------------------------------------------------------------
# ● 場所移動處理
#--------------------------------------------------------------------------
def update_transfer_player
return unless $game_player.transfer?
fade = (Graphics.brightness > 0)
fadeout(30) if fade
@spriteset.dispose # 釋放活動塊組
$game_player.perform_transfer # 執行場所移動
$game_map.autoplay # 自動更改 BGM 和 BGS
$game_map.update
Graphics.wait(15)
@spriteset = Spriteset_Map.new # 重新生成活動塊組
fadein(30) if fade
Input.update
end
#--------------------------------------------------------------------------
# ● 遇敵處理
#--------------------------------------------------------------------------
def update_encounter
return if $game_player.encounter_count > 0 # 檢查步數
return if $game_map.interpreter.running? # 判斷是否有事件正在執行
return if $game_system.encounter_disabled # 判斷是否禁止遇敵
troop_id = $game_player.make_encounter_troop_id # 判斷敵人隊伍
return if $data_troops[troop_id] == nil # 判斷隊伍是否無效
$game_troop.setup(troop_id)
$game_troop.can_escape = true
$game_temp.battle_proc = nil
$game_temp.next_scene = "battle"
preemptive_or_surprise
end
#--------------------------------------------------------------------------
# ● 判斷先下手或被偷襲
#--------------------------------------------------------------------------
def preemptive_or_surprise
actors_agi = $game_party.average_agi
enemies_agi = $game_troop.average_agi
if actors_agi >= enemies_agi
percent_preemptive = 5
percent_surprise = 3
else
percent_preemptive = 3
percent_surprise = 5
end
if rand(100) < percent_preemptive
$game_troop.preemptive = true
elsif rand(100) < percent_surprise
$game_troop.surprise = true
end
end
#--------------------------------------------------------------------------
# ● 判斷是否呼叫菜單(按下B鍵)
#--------------------------------------------------------------------------
def update_call_menu
if Input.trigger?(Input::B)
return if $game_map.interpreter.running? # 判斷是否有事件正在執行
return if $game_system.menu_disabled # 判斷是否禁止菜單呼叫
$game_temp.menu_beep = true # 設置音效標志
$game_temp.next_scene = "menu"
end
end
#--------------------------------------------------------------------------
# ● 判斷是否呼叫DEBUG場景(按下F9鍵)
#--------------------------------------------------------------------------
def update_call_debug
if $TEST and Input.press?(Input::F9) # 游戲測試並按下F9
$game_temp.next_scene = "debug"
end
end
#--------------------------------------------------------------------------
# ● 執行場景交替
#--------------------------------------------------------------------------
def update_scene_change
return if $game_player.moving? # 判斷主角是否移動中
case $game_temp.next_scene
when "battle"
call_battle
when "shop"
call_shop
when "name"
call_name
when "menu"
call_menu
when "save"
call_save
when "debug"
call_debug
when "gameover"
call_gameover
when "title"
call_title
else
$game_temp.next_scene = nil
end
end
#--------------------------------------------------------------------------
# ● 切換至戰斗畫面
#--------------------------------------------------------------------------
def call_battle
@spriteset.update
Graphics.update
$game_player.make_encounter_count
$game_player.straighten
$game_temp.map_bgm = RPG::BGM.last
$game_temp.map_bgs = RPG::BGS.last
RPG::BGM.stop
RPG::BGS.stop
Sound.play_battle_start
$game_system.battle_bgm.play
$game_temp.next_scene = nil
$scene = Scene_Battle.new
end
#--------------------------------------------------------------------------
# ● 切換至商店畫面
#--------------------------------------------------------------------------
def call_shop
$game_temp.next_scene = nil
$scene = Scene_Shop.new
end
#--------------------------------------------------------------------------
# ● 切換至名稱輸入畫面
#--------------------------------------------------------------------------
def call_name
$game_temp.next_scene = nil
$scene = Scene_Name.new
end
#--------------------------------------------------------------------------
# ● 切換至菜單畫面
#--------------------------------------------------------------------------
def call_menu
if $game_temp.menu_beep
Sound.play_decision
$game_temp.menu_beep = false
end
$game_temp.next_scene = nil
$scene = Scene_Menu.new
end
#--------------------------------------------------------------------------
# ● 切換至存檔畫面
#--------------------------------------------------------------------------
def call_save
$game_temp.next_scene = nil
$scene = Scene_File.new(true, false, true)
end
#--------------------------------------------------------------------------
# ● 切換至DEBUG畫面
#--------------------------------------------------------------------------
def call_debug
Sound.play_decision
$game_temp.next_scene = nil
$scene = Scene_Debug.new
end
#--------------------------------------------------------------------------
# ● 切換至游戲結束畫面
#--------------------------------------------------------------------------
def call_gameover
$game_temp.next_scene = nil
$scene = Scene_Gameover.new
end
#--------------------------------------------------------------------------
# ● 切換至標題畫面
#--------------------------------------------------------------------------
def call_title
$game_temp.next_scene = nil
$scene = Scene_Title.new
fadeout(60)
end
#--------------------------------------------------------------------------
# ● 執行戰斗漸變
#--------------------------------------------------------------------------
def perform_battle_transition
Graphics.transition(80, "Graphics/System/BattleStart", 80)
Graphics.freeze
end
end

③ 在RPG製作大師中怎麼使用腳本

在你需要寫入腳本的地方寫入你要用的腳本就可以了,可是比較麻煩,用了之後還要使用結束的腳本。

④ RPG製作大師商店腳本問題。

既然是腳本的語法錯誤,那有可能是文件損壞或者不小心改錯了什麼(可能性大些)
其實沒有這么麻煩,直接新建一個新工程,復制裡面的腳本(整個復制,在目錄里右擊滑鼠復制)
到你的工程裡面,刪掉原來的。
完畢。

= begin
網路 rmxp團隊 貼吧恭候閣下光臨。
= end

⑤ RPG製作大師 腳本錯誤

腳本不能亂刪啊,每一個腳本都跟其他腳本對應,以Scene開頭的所有腳本基本都有關聯,刪了當然不行了,所謂的第八行出錯也就是沒有關聯項目,無法運行導致的

⑥ 求RPG製作大師的各種腳本

http://ytomy.sakura.ne.jp/tkool/rpgtech/php/tech.php?tool=VX&cat=tech_vx/equip&tech=equip_extension給你一個網站

http://www.excite.co.jp/world/jiantizi/這是給你用來翻譯的

⑦ rpg製作大師腳本

自己去搜索RM大師天干寶典。。。或者百變寶典。。。。很多XP的腳本都在裡面,如果是要VX的話。。。。還是去其他論壇找找吧~

⑧ rpg製作大師NPC顯示名稱腳本出錯怎麼破

你是不是改過什麼腳本?

如果沒有改過,請按照以下幾點檢查:
①再次確認您的NPC沒有腳本問題。
②按以下事件製作NPC:
事件頁1:(名稱:NPC,固定朝向,與主角接觸(這個是RPG Maker XP的,可能與RPG製作大師有些許不同))
文章………………,獨立開關A=on
事件頁2(條件啟動:獨立A=on)
請再次確保你沒改過腳本,否則只有把你改過的整頁在一個新的工程中換掉。

C式工作室為您解答,有疑請追問,無疑請採納

⑨ 關於RPG製作大師腳本問題

sprite_commands = []
@sprite_commands << sprite
請注意這兩個地方。<<在這里相當於push方法,向數組中添加sprite,但是@sprite_commands此時並不是數組,因此引發了這個錯誤。需要在一開始@sprite_commands = []

⑩ rpg製作大師腳本出錯!

Window_Base是游戲中全部窗口的超級類,可以嘗試將腳本編輯器里的Window_Base項刪除,然後從正常的rm里重新粘貼一個過來,看看是不是就沒問題了

#==============================================================================
# ■ Window_Base
#------------------------------------------------------------------------------
# 游戲中全部窗口的超級類。
#==============================================================================

class Window_Base < Window
#--------------------------------------------------------------------------
# ● 初始化對像
# x : 窗口的 X 坐標
# y : 窗口的 Y 坐標
# width : 窗口的寬
# height : 窗口的寬
#--------------------------------------------------------------------------
def initialize(x, y, width, height)
super()
@windowskin_name = $game_system.windowskin_name
self.windowskin = RPG::Cache.windowskin(@windowskin_name)
self.x = x
self.y = y
self.width = width
self.height = height
self.z = 100
end
#--------------------------------------------------------------------------
# ● 釋放
#--------------------------------------------------------------------------
def dispose
# 如果窗口的內容已經被設置就被釋放
if self.contents != nil
self.contents.dispose
end
super
end
#--------------------------------------------------------------------------
# ● 獲取文字色
# n : 文字色編號 (0~7)
#--------------------------------------------------------------------------
def text_color(n)
case n
when 0
return Color.new(255, 255, 255, 255)
when 1
return Color.new(128, 128, 255, 255)
when 2
return Color.new(255, 128, 128, 255)
when 3
return Color.new(128, 255, 128, 255)
when 4
return Color.new(128, 255, 255, 255)
when 5
return Color.new(255, 128, 255, 255)
when 6
return Color.new(255, 255, 128, 255)
when 7
return Color.new(192, 192, 192, 255)
else
normal_color
end
end
#--------------------------------------------------------------------------
# ● 獲取普通文字色
#--------------------------------------------------------------------------
def normal_color
return Color.new(255, 255, 255, 255)
end
#--------------------------------------------------------------------------
# ● 獲取無效文字色
#--------------------------------------------------------------------------
def disabled_color
return Color.new(255, 255, 255, 128)
end
#--------------------------------------------------------------------------
# ● 獲取系統文字色
#--------------------------------------------------------------------------
def system_color
return Color.new(192, 224, 255, 255)
end
#--------------------------------------------------------------------------
# ● 獲取危機文字色
#--------------------------------------------------------------------------
def crisis_color
return Color.new(255, 255, 64, 255)
end
#--------------------------------------------------------------------------
# ● 獲取戰斗不能文字色
#--------------------------------------------------------------------------
def knockout_color
return Color.new(255, 64, 0)
end
#--------------------------------------------------------------------------
# ● 刷新畫面
#--------------------------------------------------------------------------
def update
super
# 如果窗口的外關被變更了、再設置
if $game_system.windowskin_name != @windowskin_name
@windowskin_name = $game_system.windowskin_name
self.windowskin = RPG::Cache.windowskin(@windowskin_name)
end
end
#--------------------------------------------------------------------------
# ● 圖形的描繪
# actor : 角色
# x : 描畫目標 X 坐標
# y : 描畫目標 Y 坐標
#--------------------------------------------------------------------------
def draw_actor_graphic(actor, x, y)
bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
cw = bitmap.width / 4
ch = bitmap.height / 4
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
end
#--------------------------------------------------------------------------
# ● 名稱的描繪
# actor : 角色
# x : 描畫目標 X 坐標
# y : 描畫目標 Y 坐標
#--------------------------------------------------------------------------
def draw_actor_name(actor, x, y)
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 120, 32, actor.name)
end
#--------------------------------------------------------------------------
# ● 職業的描繪
# actor : 角色
# x : 描畫目標 X 坐標
# y : 描畫目標 Y 坐標
#--------------------------------------------------------------------------
def draw_actor_class(actor, x, y)
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 236, 32, actor.class_name)
end
#--------------------------------------------------------------------------
# ● 水平的描畫
# actor : 角色
# x : 描畫目標 X 坐標
# y : 描畫目標 Y 坐標
#--------------------------------------------------------------------------
def draw_actor_level(actor, x, y)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, "Lv")
self.contents.font.color = normal_color
self.contents.draw_text(x + 32, y, 24, 32, actor.level.to_s, 2)
end
#--------------------------------------------------------------------------
# ● 生辰成描繪用狀態字元串
# actor : 角色
# width : 描畫目標的寬度
# need_normal : [正常] 是否為必須 (true / false)
#--------------------------------------------------------------------------
def make_battler_state_text(battler, width, need_normal)
# 獲取括弧的寬
brackets_width = self.contents.text_size("[]").width
# 生成狀態名字元串
text = ""
for i in battler.states
if $data_states[i].rating >= 1
if text == ""
text = $data_states[i].name
else
new_text = text + "/" + $data_states[i].name
text_width = self.contents.text_size(new_text).width
if text_width > width - brackets_width
break
end
text = new_text
end
end
end
# 狀態名空的字元串是 "[正常]" 的情況下
if text == ""
if need_normal
text = "[正常]"
end
else
# 加上括弧
text = "[" + text + "]"
end
# 返回完成後的文字類
return text
end
#--------------------------------------------------------------------------
# ● 描繪狀態
# actor : 角色
# x : 描畫目標 X 坐標
# y : 描畫目標 Y 坐標
# width : 描畫目標的寬
#--------------------------------------------------------------------------
def draw_actor_state(actor, x, y, width = 120)
text = make_battler_state_text(actor, width, true)
self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
self.contents.draw_text(x, y, width, 32, text)
end
#--------------------------------------------------------------------------
# ● 描畫 EXP
# actor : 角色
# x : 描畫目標 X 坐標
# y : 描畫目標 Y 坐標
#--------------------------------------------------------------------------
def draw_actor_exp(actor, x, y)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 24, 32, "E")
self.contents.font.color = normal_color
self.contents.draw_text(x + 24, y, 84, 32, actor.exp_s, 2)
self.contents.draw_text(x + 108, y, 12, 32, "/", 1)
self.contents.draw_text(x + 120, y, 84, 32, actor.next_exp_s)
end
#--------------------------------------------------------------------------
# ● 描繪 HP
# actor : 角色
# x : 描畫目標 X 坐標
# y : 描畫目標 Y 坐標
# width : 描畫目標的寬
#--------------------------------------------------------------------------
def draw_actor_hp(actor, x, y, width = 144)
# 描繪字元串 "HP"
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
# 計算描繪 MaxHP 所需的空間
if width - 32 >= 108
hp_x = x + width - 108
flag = true
elsif width - 32 >= 48
hp_x = x + width - 48
flag = false
end
# 描繪 HP
self.contents.font.color = actor.hp == 0 ? knockout_color :
actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
# 描繪 MaxHP
if flag
self.contents.font.color = normal_color
self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
end
end
#--------------------------------------------------------------------------
# ● 描繪 SP
# actor : 角色
# x : 描畫目標 X 坐標
# y : 描畫目標 Y 坐標
# width : 描畫目標的寬
#--------------------------------------------------------------------------
def draw_actor_sp(actor, x, y, width = 144)
# 描繪字元串 "SP"
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
# 計算描繪 MaxSP 所需的空間
if width - 32 >= 108
sp_x = x + width - 108
flag = true
elsif width - 32 >= 48
sp_x = x + width - 48
flag = false
end
# 描繪 SP
self.contents.font.color = actor.sp == 0 ? knockout_color :
actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)
# 描繪 MaxSP
if flag
self.contents.font.color = normal_color
self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1)
self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s)
end
end
#--------------------------------------------------------------------------
# ● 描繪能力值
# actor : 角色
# x : 描畫目標 X 坐標
# y : 描畫目標 Y 坐標
# type : 能力值種類 (0~6)
#--------------------------------------------------------------------------
def draw_actor_parameter(actor, x, y, type)
case type
when 0
parameter_name = $data_system.words.atk
parameter_value = actor.atk
when 1
parameter_name = $data_system.words.pdef
parameter_value = actor.pdef
when 2
parameter_name = $data_system.words.mdef
parameter_value = actor.mdef
when 3
parameter_name = $data_system.words.str
parameter_value = actor.str
when 4
parameter_name = $data_system.words.dex
parameter_value = actor.dex
when 5
parameter_name = $data_system.words.agi
parameter_value = actor.agi
when 6
parameter_name = $data_system.words.int
parameter_value = actor.int
end
self.contents.font.color = system_color
self.contents.draw_text(x, y, 120, 32, parameter_name)
self.contents.font.color = normal_color
self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2)
end
#--------------------------------------------------------------------------
# ● 描繪物品名
# item : 物品
# x : 描畫目標 X 坐標
# y : 描畫目標 Y 坐標
#--------------------------------------------------------------------------
def draw_item_name(item, x, y)
if item == nil
return
end
bitmap = RPG::Cache.icon(item.icon_name)
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
self.contents.font.color = normal_color
self.contents.draw_text(x + 28, y, 212, 32, item.name)
end
end

熱點內容
安卓在美國怎麼下載 發布:2024-05-05 02:31:06 瀏覽:923
黑莓存儲空間 發布:2024-05-05 02:19:50 瀏覽:274
我的世界礦石島伺服器宣傳片 發布:2024-05-05 02:17:19 瀏覽:613
如何區分安卓原裝充電器 發布:2024-05-05 01:41:23 瀏覽:72
怎麼從蘋果轉移到安卓 發布:2024-05-05 01:41:20 瀏覽:721
支付寶付款碼怎麼設置密碼 發布:2024-05-05 01:27:36 瀏覽:878
qtp錄制的腳本 發布:2024-05-05 01:14:04 瀏覽:367
如何安裝卡羅拉安卓系統 發布:2024-05-05 01:09:00 瀏覽:985
sql創建表查詢表 發布:2024-05-05 01:00:12 瀏覽:799
食色抖音上傳 發布:2024-05-05 00:55:56 瀏覽:658