您当前位置: 天堂123 > 天堂架設 > 天堂資料庫spr_action作用解釋

天堂資料庫spr_action作用解釋

2022/5/16

列出spr_action表中的所有欄位:

spr_action.spr_id
定義:變檔編號。
說明:就是直接對應變身檔裡面的變身編號,像是#362,就是362。
spr_action.act_id
定義:變身擋內的編碼動作。
說明:像是0.walk → 空手走路動作、1.attack → 空手攻擊動作。
spr_action.framecount
定義:幀數<圖片張數>。
說明:這個spr內的圖,總花費單位時間。(1單位時間 = 1 / 24 秒)
spr_action.framerate
定義:幀率<圖片播放速度>。
說明:Frame Rate(影格速率)則是顯示出這些圖像要用甚麼樣的速度播放,通常表示的單位為「每秒幀數」或「FPS」。每一張圖像都代表一幀,所以,如果以30 fps的速度播放影像,則代表每一秒鐘會顯示30張不同的靜止圖像。


註:以上有些東西看不懂沒關係,這邊先稍微看過,關於這個教學在後面進階教學章節會再慢慢介紹。

分析
哪些act_id(編碼動作)被加入?
說明:核心內多數是只判斷攻擊速度、施法速度、移動速度是否異常,所以並不會把所有編碼列入,這邊來列出有被加入的編碼。
分析:
使用SQL語法列出有被加入的編碼。
SELECT act_id FROM spr_action GROUP BY act_id
有下列這些編碼被加入。
0.walk                   ← 空手走路
1.attack                 ← 空手攻擊
4.walk sword             ← 單手劍走路
5.attack sword           ← 單手劍攻擊
11.walk axe              ← 斧頭走路
12.attack axe            ← 斧攻擊
17.wand                  ← 用變仗電仗
18.spell dir             ← 攻擊魔法
19.spell nodir           ← 輔助魔法
20.walk bow              ← 弓走路
21.attack bow            ← 弓攻擊
24.walk spear            ← 矛走路
25.attack spear          ← 矛攻擊
28.on                    ← 啟動(物件用指令)
29.off                   ← 關掉(物件用指令)
30.alt attack            ← 攻擊必殺技
31.spell direction extra ← 魔法必殺技
40.walk staff            ← 杖走路
41.attack staff          ← 杖攻擊
46.walk dagger           ← 匕首走路
47.attack dagger         ← 匕首攻擊
50.walk largesword       ← 雙手劍走路
51.attack largesword     ← 雙手劍攻擊
54.walk double sword     ← 雙刀走路
55.attack double sword   ← 雙刀攻擊
58.walk claw             ← 雙爪走路
59.attack claw           ← 雙爪攻擊
62.walk shuriken         ← 飛鏢走路
63.attack shuriken       ← 飛鏢攻擊
66.shop loop             ← 商店循環動作
67.act dual              ← 重複動作
基本上就是針對不同武器的走路與攻擊還有施放魔法的動作和部分的編碼有加入表中。
framecount(幀數<圖片張數>)是怎麼算的?
說明:每個動作所使用的幀數<圖片張數>,是被設定在編碼內的,所以是可以通過計算出數量的。
分析:
此使用變形怪首領(#2389)的編碼來做說明。
使用SQL語法,找尋出對應的資料。
SELECT * FROM spr_action WHERE spr_id = 2389
-- 2389 0 26 36
-- 2389 1 36 48
-- 2389 18 52 48
根據上面搜尋的資料語編碼對應。
act_id = 紅色框框動作編碼。
framecount = 橘色框框也就是:冒號後方的數字加總。<4+2+2+2+2+2+2+2+2+2+2+2 = 26>

framerate幀率<圖片播放速度>是帶什麼值?
說明:就是圖片的播放速度。
分析:
framerate = 紫色框框此動作編碼是否有被配置加速編碼,如果沒有預設為24,而此上面有定義為110.framerate(36) = 36。

最後動作編碼1和18,可以自己嘗試是看看是不是規則也是如此。