當前位置:編程學習大全網 - 源碼下載 - RPG Maker XP怎麽做遊戲

RPG Maker XP怎麽做遊戲

第壹章:術語詳解

1.開關:相當於數學中的二進制,只有“開”和“關”兩種選擇。遊戲壹開始所有開關都是OFF的,玩魔塔時部分開關壹開始就是開的,那是人為因素。(詳見公***事件:初始化)制作工具中可以隨意創建開關,並可以將其命名。(制作時最好寫上具體名稱,如:控制60層的門開的開關,可以叫:60層門開)工具中開關操作又稱SWITCH,Playerdate_SWITCH = 1:當1號開關打開,本腳本才開始工作。$game_SWITCH[1]=ON:1號開關開啟。

2.變量:變量是壹個數據,它使用來儲存數據的空位(數據可以使中文或英文或其他文本),同開關,變量也可以隨便創建,變量的默認數值為0。以下使其中術語意思。

代入:把原數據變為所輸入數據。

剩余:把原數據乘上壹個百分數。

操作數中:

常用:就是直接輸入的數。

變量:另壹個變量的目前數據。

隨機數:從A到B不等。(A:前面的空。B:後面的空。)

物品:就是壹個物品妳所擁有的數量。

角色:壹個角色的某項值。

敵人:不必去管,魔塔樣板涉及不到。

角色(下面的):同上面的角色意思。

其他:沒什麽可說的,自行選擇吧。

大家註意到呢個統壹了嗎?就是幾號到幾號開關或變量都等於壹個選項或壹個數值,也就是統壹操作。

3.圖層:大致就是把畫面分為三個層,壹般地形放1層方快內有白色區域的壹般為了美觀都放第二層.在圖層裏,3層的東西會覆在2層上,2層會覆在1層上,樣板圖塊中的數字就是個最好的例子,樣板0層也有些在2或3層的地形 .

樣板裏有種特殊的情況,就是2層的地形都可以被破墻鎬和地震卷軸破壞,並不壹定得是墻,玩玩夏令營2的70余層就知道.

4.事件:如果說腳本編輯器是心臟,那麽,事件就是肌肉.沒有事件,就不能拿寶物,對話,戰鬥............

事件欄的最上方有個"ID:XXX",這個是自動生成的,表示這個地圖中他是第幾個事件,事件ID必須連續,規格為三位數,不夠三位就拿0占位(非常重要!編輯新樓層和怪物事件編號必須要這樣~!)

每層的事件ID壹旦不連續,就會引起腳本錯誤,打個比方:事件ID不連續就像1戶人家有3個孩子,被稱為老大老二老四,這怎麽行?

以上情況通常出現在中途刪除部分事件上.

5.顯示文章:

$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

計時器關閉:

$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?(特技編號)

以上選自66RPG,是比較重要的,新手最好記記,這樣以後學習腳本會輕松些

變量,開關和事件都是基本功,壹定要熟知這些,了解其中的原理.

第二章.怪物

1.能力:打開工具欄-數據庫-敵人,就可以對怪物進行編輯了.

名字:...........

MAXSP:原本是法術值,可樣板用不找,不用管他了(不是最新樣板的請參考其他怪物的)

MAXHP:就是生命的意思啦!

力量:攻擊

靈巧:防禦

魔法防禦:領域怪物的控制範圍由這項能力決定

金幣:...........

EXP:經驗(如果每個怪都是1的話,建議把角色狀態欄裏的"經驗"從腳本編輯器裏改為殺怪數)

其他的就不用管了.

怪物中有特殊能力,可以查看.

數值 屬性 說明

0 普通

1 中毒 戰鬥後,角色每行動壹格,減生命10點(變量25決定)

2 衰弱 戰鬥後,角色攻防衰減為正常的75%(變量52決定)

4 吸血 戰鬥前,怪物首先吸取角色34%的生命加到自身(變量53決定)

8 堅固 怪物的防禦至少等於角色攻擊-1(變量54決定)

16 先攻 戰鬥時,怪物首先攻擊1次(變量55決定)

32 遲緩 戰鬥後,勇士行走速度降低到3.3(變量56決定,正常4.3)

64 魔攻 戰鬥時,怪物的攻擊無視角色的防禦*1(變量57決定)

128 連擊 戰鬥時,怪物每回合攻擊2次(數據庫敵人回避修正決定)

256 領域 經過怪物周圍Y格時自動減生命X點(X由數據庫敵人maxsp決定,Y由數據庫敵人魔法防禦決定,0為十字領域範圍)

512 爆擊 戰鬥前,怪物附加角色防禦的X點作為傷害(X等於角色防禦的90%,變量58決定百分比)

1024 潛伏 角色看不到怪物,除非擁有物品40-探知器並距離怪物x格(變量79決定物品id,變量84決定x的大小)

2048 無敵 角色無法擊敗怪物,除非擁有物品10-聖十字架(變量71決定)

4096 模仿 怪物的攻防等於角色的攻防*1(變量60決定)

8192 詛咒 戰鬥後,角色再次戰鬥無法獲得金幣經驗,本次可以獲得

9900 反彈 戰鬥時,怪物附加角色攻擊的10%作為傷害(變量70決定)

9910 重生 怪物被擊敗後,角色轉換樓層則怪物再次出現

9920 凈化 戰鬥前,怪物附加勇士魔防的3倍作為傷害(變量104決定)

9930 神偷 戰鬥後,勇士所持的4種血瓶數量減半

以上屬性中提到的數值不是最新樣板的在MAXSP裏輸入,是最新樣板的在怪物名字後面加":"再加數值(多重屬性就是:N:N)N的意思:數值.

2.編輯:很簡單,把事件的名稱改為怪物XXX(這裏要用到那個1章,4節說哪個規則了)(加上"BOSS"就無法被炸彈和聖錘消滅了.),在設置區域,公***時間-戰鬥,在固定朝向和停止時動畫上打勾,在與事件接觸(也可以與主角接觸)打勾,就OK了!~

攻防超過999用$game_enemies[怪物編號].某項能力=XXX(如果是名字,要把XXX拿雙引號引上)

第三章.物品

1.普通物品

如何設圖什麽的我就不說了。

這類物品壹般是不能使用的。

2.特殊物品

像樓層傳送器,破墻鎬都屬於,具體如何制作見公***事件的使用物品處理。

做可以使用的物品也要選個公***事件(自己創建也行)。

具體的自己做吧,這時要研究下腳本編輯器,學點語言,對做物品很有幫助

  • 上一篇:杭州紅盤搖號政策
  • 下一篇:有人能詳細說明PHP和JAVA的區別嗎...
  • copyright 2024編程學習大全網