目前共有8篇帖子。
事件中的常用腳本
1樓 巨大八爪鱼 2012-7-13 16:33
顯示文章:
$game_temp.message_text= ""
顯示引號中的文章。

更改文章選項:
$game_system.message_position =0,1,2
表示上、中、下,三個位置

$game_system.message_frame = 0 ,1
0表示不透明,其他的話就透明

等待:
@wait_count = X
等待X幀

中斷事件處理:
command_end

把某一個事件暫時消除
$game_map.events[X].erase
其中X表示把X號事件暫時消除,如果是消除本事件X = @event_id

執行公共事件:
$game_temp.common_event_id = 編號
執行編號的公共事件。注意,這個執行和直接在事件中的公共事件有微妙區別。

開關操作:
$game_switches[編號] = true / false
true是打開,false是關閉

變量操作:
$game_variables[編號] = 數值
這裡有一些常用的內容:
rand(100):返回0-99的隨機數
rand(100)+10000:返回10000-10099的隨機數
$game_party.item_number(編號):編號物品的個數

角色相關:以下為某編號的角色的相關屬性
生命:$game_actors[編號].hp
精神:$game_actors[編號].sp
經驗:$game_actors[編號].exp
等級:$game_actors[編號].level
最大生命:$game_actors[編號].maxhp
最大精神:$game_actors[編號].maxsp
力量:$game_actors[編號].str
靈巧:$game_actors[編號].dex
速度:$game_actors[編號].agi
魔力:$game_actors[編號].int
攻擊力:$game_actors[編號].atk
物理防禦:$game_actors[編號].pdef
魔法防禦:$game_actors[編號].mdef
迴避修正:$game_actors[編號].eva
姓名:$game_actors[編號].name
職業編號:$game_actors[編號].class_id
職業名稱:$game_actors[編號].class_name
武器編號:$game_actors[編號].weapon_id
防具1編號:$game_actors[編號].armor1_id
防具2編號:$game_actors[編號].armor2_id
防具3編號:$game_actors[編號].armor3_id
防具4編號:$game_actors[編號].armor4_id
完全回覆:$game_actors[編號].recover_all
領悟特技:$game_actors[編號].learn_skill(編號)
遺忘特技:$game_actors[編號].forget_skill(編號)

位置(前衛返回0,中衛返回1,後衛返回2):$data_classes[$game_actors[編號].class_id].position
學會特技總數:$game_actors[編號].skills.size

敵人:$game_troop.enemies[編號]
敵人擁有角色的部分功能,包括.hp,.sp,.maxhp,.maxsp,.str,.dex,.agi,.int,.atk,.pdef,.mdef,.eva

地圖的事件屬性:
$game_map.events[編號].x,$game_map.events[編號].y
編號事件的x,y坐標
$game_map.events[編號].screen_x,$game_map.events[編號].screen_y
編號事件的屏幕x,y坐標
$game_map.events[編號].direction
編號事件的朝向
$game_map.events[編號].terrain_tag
編號事件所處的地形標誌
$game_map.events[編號].moveto(x,y)
把事件扔到(x,y)
——————————————————以上幾個事件的,如果要求為角色,則為「$game_player.x」等

地圖ID:$game_map.map_id
同伴總人數:$game_party.actors.size
步數:$game_party.steps
金錢:$game_party.gold
遊戲總時間(秒數):Graphics.frame_count / Graphics.frame_rate
遊戲總幀數:Graphics.frame_count
遊戲幀速率(可直接=n調整):Graphics.frame_rate
計時器剩餘秒數:$game_system.timer / Graphics.frame_rate
存檔次數:$game_system.save_count

獨立開關操作:
$game_self_switches[[地圖編號,事件編號,"A"]] = true/false
把地圖編號的地圖上的事件編號的事件的A開關打開。其實不光ABCD,還可以建立更多獨立開關,不過調用也得用同樣腳本。

計時器打開:
$game_system.timer = 需要的秒數;$game_system.timer_working = true

計時器關閉:


2樓 巨大八爪鱼 2012-7-13 16:34
$game_system.timer_working = false

增減金錢:
$game_party.gain_gold(金錢量)

增減物品:
$game_party.gain_item(物品編號,數量)
舉例:
$game_party.gain_item(rand(10),rand(10)):隨機獲得0-9號中某一物品,數量為0-9隨機。

增減武器:
$game_party.gain_weapon(物品編號,數量)

增減防具:
$game_party.gain_armor(物品編號,數量)

清空現有所有物品:
$game_party.items.clear

清空所有武器:
$game_party.weapons.clear

清空所有防具:
$game_party.armors.clear

角色替換:
加入角色:$game_party.add_actor(編號)
刪除角色:$game_party.remove_actor(編號)
初始化角色:$game_party[編號].setup(編號)

更改窗口外觀:
$game_system.windowskin_name = 文件名

更改禁止存檔
$game_system.save_disabled = true/false

更改禁止菜單:
$game_system.menu_disabled = true/false

更改禁止遇敵:
$game_system.encounter_disabled = true/false

地圖捲動:
$game_map.start_scroll(方向,距離,速度)

地圖某角色顯示動畫:
$game_map.events[id].animation_id = 動畫編號

角色透明:
$game_player.transparent = true/false

等待移動結束:
@move_route_waiting = true

開始更改色調:
$game_screen.start_tone_change(Tone.new(R,G,B,A),幀數)

畫面閃爍:
$game_screen.start_flash(Color.new(R,G,B,A),幀數)

畫面振動:
$game_screen.start_shake(力度,速度,幀數)

顯示圖片:
$game_screen.pictures[number].show(name, origin, x, y, zoom_x, zoom_y, opacity, blend_type)
移動圖片:
$game_screen.pictures[number].move(duration, origin, x, y, zoom_x, zoom_y, opacity, blend_type)
其中:
# name : 文件名
# origin : 原點
# x : X 坐標
# y : Y 坐標
# zoom_x : X 方向放大率
# zoom_y : Y 方向放大率
# opacity : 不透明度
# blend_type : 合成方式
# duration : 時間

旋轉圖片:
$game_screen.pictures[number].rotate(速度)

刪除圖片:
$game_screen.pictures[number].erase

顯示動畫(戰鬥中)
battler.animation_id = 動畫編號
battler可以是敵人或者自己人,請先定義。

顯示傷害:
battler.damage = 傷害值
battler.damage_pop = true
注意,這個顯示傷害可以讓傷害值為字符串!並不會真的減血,減血用battler.hp -= 數值
battler.criticle = true 這個還可以打開會心一擊標誌

戰鬥中斷:
$game_temp.battle_abort = true

調用菜單:
$game_temp.menu_calling = true

調用存檔畫面:
$game_temp.save_calling = true

遊戲結束:
$game_temp.gameover = true

返回標題畫面:
$game_temp.to_title = true

強行啟動事件:
$game_map.events[編號].start

通行判定:
$game_player.passable?(x,y,方向)
用來判斷地圖某處是否在某個方向可通行

正在移動判定:
$game_player.moving?
$game_map.events[編號].moving?

播放效果:
Audio.bgm_play("文件名",音量,節奏速度)
Audio.bgs_play("文件名",音量,節奏速度)
Audio.me_play("文件名",音量,節奏速度)
Audio.se_play("文件名",音量,節奏速度)
播放bgm,bgs,me,se

Audio.bgm_stop
Audio.bgs_stop
Audio.me_stop
Audio.se_stop
停止播放bgm,bgs,me,se

$game_system.playing_bgm,$game_system.playing_bgs
獲得演奏中的bgm,bgs

game_system.bgm_memorize,game_system.bgm_restore
game_system.bgs_memorize,game_system.bgs_restore
記憶、還原bgm,bgs

判斷某角色在隊伍中:$game_party.actors.include?($game_actors[編號])

判斷是否學過某特技:$game_actors[編號].skill_learn?(特技編號)

按下某鍵的時候:Input.press?(鍵),Input.trigger?(鍵)
3樓 巨大八爪鱼 2012-7-13 16:34
在腳本編輯器中新增一個
$game_mapname = load_data("Data/MapInfos.rxdata")

在事件中使用腳本 $game_mapname[編號].name 就可以獲取地圖名
4樓 221.236.39.* 2012-7-15 18:26

執行公共事件的微妙區別是:

不會停下來
而是執行公共事件的同時,執行下面的腳本 

 

如果要想停下來,可以用開關來實現

5樓 哆啦A梦 2012-7-15 18:31
好!
6樓 哆啦A梦 2012-7-26 23:10
再來頂一頂!
7樓 巨大八爪鱼 2012-7-27 08:50
回覆:4樓
也就是說公共事件和下面的腳本同時執行
8樓 巨大八爪鱼 2013-1-31 17:53

判斷指定坐標有木有事件:

for i in 1..$game_map.events.length
  x=$game_map.events[i].x
  y=$game_map.events[i].y
  if x==4 and y==5 # 在這裡改坐標
    p "有事件額"
    break # 退出循環
  end
end

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
 
 
©2010-2024 Purasbar [手機版] [桌面版]
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。