免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 发帖
宠物信息加载中......

[EXE修改] 改档教学〈扩展篇〉

EXE修改

详细描述 -
2L:人物
3L:state、next完全說明、mp使用方法
4L:對於itr(攻擊類)和bdy(身體)的說明
5L:kind、effect完全說明、fall說明
6L:opoint(製造物件)和wpoint(手持武器)和cpoint(抓人或被抓)bpoint(流血)說明
7L:對於hit_a,hit_d,hit_j,hit_Fa,state的說明
8L:對於武器的entry和state說明
9L:地圖
10L:對於id的特性說明
11L:改檔技術的問題、執行主程式的問題
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

宠物信息加载中......
人物
用編緝器開啟dat檔
name: Template 名子在遊戲選單中可看到
walking_frame_rate 走路的動作變換的時間(值愈大,則愈慢)
walking_speed 走路速度
walking_speedz 走路的z(按↑↓時)速度
running_frame_rate 跑步的動作變換的時間
running_speed 跑步速度
running_speedz 跑步z速度
heavy_walking_speed 搬重物時走路的速度
heavy_walking_speedz 搬重物時走路的z速度
heavy_running_speed 搬重物時跑步的速度
heavy_running_speedz 搬重物時跑步的z速度
jump_height 跳的高度(負值)
jump_distance 前跳的速度
jump_distancez z方向跳的速度
dash_height 跑跳的高度(負值)
dash_distance 跑跳的速度
dash_distancez 跑跳的z速度
rowing_height 受身時向上的高度(負值)
rowing_distance 受身時向後的速度

<FRAME>## standing

<FRAME>架構,每一個動作的變化都必須使用一個frame,結束用<FRAME_END>
人物基本的動作就快花掉150個frame以上所以非常多
## 為這動作所編的號碼,就是所謂的act
在這基本動作中,此號碼最好不要亂改,因關係到動作的進行
standing 動作名稱,在改檔時分辨用的

※每個frame彼此用hit或next連結在一起,達到進行動作的效果
act號碼,有:
0 standing站立 5 walking走路 9 running跑步 60,65 punch攻擊 70 super_punch強力攻擊 80 jump_attack跳攻擊
85 run_attack跑攻擊 102 rowing滾 110 defend防禦 120 catching抓人 180,186 falling跌倒 210 jump跳
218 stop_running停止跑步 220 injured受傷 230 lying躺,等等很多因動作不是用hit連的,而是用state和type(控制act)連的。

pic: # state: # wait: # next: # dvx: # dvy: # dvz: # centerx: # centery: # hit_XX: # mp: # sound:

pic: 圖片,數字取決自上面的file(0-69): XXX.bmp w: # h: # row: # col: #
由左上第一個以0開始
state: 動作的狀態,會影響人物當時的狀態
wait: 動作停留時間,注意:hit連的和state連的會比next連的少一格時間(state:連的按鍵可留4格時間)
next: 下一個動作act號碼
dvx: 橫向x方向的速度
dvy: 上下y方向的加速度※正值是向下,負值是向上,wait愈久加得愈快
dvz: 與地面z方向的速度※玩時要按↑↓才會動
移動的距離=dvx*wait,dvx動作結束後,還會移動一段距離才停止(=煞車)
centerx: x位置中心
centery: y位置中心,對於圖片來說,相當於影子的位置,由圖片左上角算起,x向右,y向下算
※所以說很多xy的計算都是以圖片為準
hit_a: hit_d: hit_j: 指在該動作時按下A攻擊D防禦J跳躍,會跳到act號碼所在的動作
hit_Fa: hit_Ua: hit_Da: hit_Fj: hit_Uj: hit_Dj: hit_ja: 按時要先加防禦D再…,如hit_Fa是防前攻
F前 U上 D下 j跳 a攻
mp: 氣用量
sound: 聲音

TOP

宠物信息加载中......
state完全說明
0 standing站立(按鍵自由) 1 walking走路(按鍵自由) 2 running跑步(會跑起來)
3 攻擊性動作 4 jump跳(能在空中左右轉) 5 dash跑跳(dvx:0時能在地上左右轉)
6 rowing受身、滾(著地act215) 7 defend防禦(bdy前方防禦) 8 broken_defend破防
9 catching抓人 10 picked_caught被捉(武器掉落) 11 injured受傷
12 falling跌倒(武器掉落,著地倒,被fall大於60打到) 13 ice結凍(被同盟攻擊,著地倒並會扣10hp,打一下就倒,連結其他state會跑出冰碎片)
14 lying躺(com會遠離你) 15 普通動作 16 injured受傷(會被itr的kind:1 捉起來) 17 weapon_drink喝(消耗id: 122,123的牛奶和酒的hp)
18 fire火(可攻擊同盟,effect:20,21燒不到之,state:19+effect:2燒不到之,冒火苗,著地倒)
19 burn_run烈火焚身(effect:20,21燒不到之,冒火苗,和z方向移動)
100 落雷霸(著地act94) 301 鬼哭斬(z方向移動) 400 (瞬移到最近敵人,敵人在120的位置)
401 (瞬移到最遠同盟,同盟在60的位置) 500 transform(若沒變過身,act跳至0)
501 transform(變成之前變身過的人) 1700 heal_self(回hp加快) 9995 變身成louisEX
9996 (造出id: 217,218 louis_armour) 9997 etc(沒有影子,圖片在何地都會看見) 9998 (消失) 9999 broken_weapon
另外有80## 變身成id:##的人物但圖片是用原PIC:X+140
※因為state:13可被同盟攻擊,所以louis要抓結凍的同盟是可能的

next完全說明
0 原動作,此動作若有mp但不消耗
原act碼 原動作,此動作若有mp: -#會消耗
999 回到act: 0
1000 移除物件
1100 ~ 1299 隱身
-XXX 下一個動作會轉向反方向的frame: XXX

dvx: 550 x方向不移動(不受惯性作用)
dvy: 550 y方向不移動(不受重力作用)
dvz: 550 z方向不移動

mp使用方法
用hit_X進入此動作
+# 耗mp
-# 補mp
用next: X進入此動作
+# 不耗mp
-# 耗mp        若mp为0或负数时,next:X中含有mp: -X则会进入hit_D: (如果hit_D: 0 则进入frame: 0)
數字大於1000時會耗hp,4300=40hp+300mp
※在進入此動作前按←,會跳至hit_d:的動作(█但hit_d:999,mp耗完時人物會被移除,--未证实)

TOP

宠物信息加载中......
本帖最后由 1306389208 于 2012-8-30 17:19 编辑

※itr只會和bdy產生作用。
itr攻擊人後自己動作會停3格,被打的也停3格時間。

kind: 攻擊的方式或使敵人進入某狀態
x: x座標
y: y座標,以圖片左上角為原點,x向右,y向下算起在哪座標
w: x橫向向右圍起來的範圍
h: y縱向向下圍起來的範圍
※由wh組成一個四方形的面積,由xy決定此四方形的位置。
vrest: 一有這指令就能在攻擊範圍內打擊多個敵人,而數字是敵人多久被你打一次
※值不能小於4,否則動作不能進行
arest: (vrest無效)一攻擊到一個人,多久後才能再打一個人
※最小值是4
dvx: 敵人被打後向後速度彈多少
dvy: 敵人被打後向下速度彈多少(用負值才會向上彈)
fall: 敵人被打而會跌倒的程度(持續攻擊會累加)
bdefend: 敵人防禦時被打而會破防的程度(持續攻擊會累加)
injury: 攻擊力
effect: 效果,(在kind:0時使用)
zwidth: z方向上下的範圍
catchingact: 抓到敵人後自已的動作跳到act碼
caughtact: 敵人被捉後動作跳到act碼(130 ~ 144之間,除非有另外設計)

itr攻擊開始指令)
kind: # x: # y: # w: # h: # vrest: # arest: # dvx: # dvy: # fall: # bdefend: # injury: #
effect: # zwidth: # 另外要依kind而使用的是catchingact: # caughtact: #
itr_end攻擊結束指令)

bdy身體指令開始)
kind: # x: # y: # w: # h: #
bdy_end身體指令結束)
kind: #
10##,##是被打後跳到的act(只有id:300 才有效用)
x: y: w: h: 同上使用方式,body的範圍

TOP

宠物信息加载中......
kind完全說明
0 拳擊(或配合effect效果) 1 抓state:16的人(要配合catchingact和caughtact) 2 撿武器(type:1,2,4,6,state:1004,2004且有bdy的才被能撿)
3 強迫抓人(配合catchingact和caughtact) 4 在falling動作有(被用cpoint丟出才有攻擊力)
5 在武器的on_hand有(用人物wpoint的attacking來決定entry,攻擊力在entry決定) 6 敵人在此範圍內按攻擊會至super_punch(act70)的動作
7 撿武器不影響動作(只能撿輕武器) 8 治療(可對同盟的bdy起作用,injury變成補多少hp,動作至dvx的動作碼)
9 打到人,自己的hp→0(打到氣功,氣功不失血) 10 henry死亡之樂章效果 11 無 14 阻擋(在此範圍不能移動)
15 飛起來(freeze白色龍捲效果) 16 結凍(freeze白色龍捲效果)

fall說明
-1 敵人被打很多下都不暈(但只限被同一個物件攻擊)
0 ~ 20 敵人被打三下就暈
25 敵人被打二下暈
60 一下就暈
70 跌倒
※負值:不會影響敵人動作,但可扣敵人血(負越多,反而使該角色被打時不跌倒)

bdefend說明,跟fall相似…
※100是破防+摧毀武器
※-XX是加防御(仅限louis knight Julian等有防御效果的人物)

effect完全說明
0 拳擊
1 利器(會流血)
2 著火
20 著火(打不到氣功)
21 著火(可反彈氣功)
22 著火(左右的攻擊方向是向內,所以dvx用負的是向外)
23 只有左右的攻擊方向向內
3 結冰
30 結冰(打不到state:13的人)
4 打不到人(type: 1,2,3,4,5,6會被打到)
※著火時會定身,因為fall值小於60
※其他數值與effect: 0一樣

TOP

宠物信息加载中......
opoint造物件指令開始)
kind: # x: # y: # action: # dvx: # dvy: # oid: # facing: #
opoint_end造物件指令結束)

※只有next:0或next接的動作才可造物件
kind: 造物件後會:1掉落,2持在手上。
x: x座標
y: y座標,(以圖片左上角為準,x向右,y向下算的位置)
※此座標為此造出來的物件的center
action: act號碼,為此造出來的物件的act
dvx: 造出來後的x速度
dvy: 造出來後的y速度
oid: id碼,在data.txt可以找到你想造的物件
facing: 數量和方向。

facing說明
十位數為數量,個位數為方向,0正向,1反向。

wpoint手持武器指令開始)
kind: # x: # y: # weaponact: # attacking: # cover: # dvx: # dvy: # dvz: #
wpoint_end手持武器指令結束)

kind: 狀態,1持在手上,2持在手上,3掉落
x: x座標,與武器的cpoint的x座標配合。
y: y座標,與武器的cpoint的y座標配合。
weaponact: 武器的動作,20 ~ 35之間,在範圍之外會在遊戲中被打到。
attacking: 攻擊狀態,在武器中的entry可查。
※若weaponact不在20 ~ 35之間,則attacking沒用。
cover: 遮蓋,0顯示在人物之前,1藏在人物之後。
dvx: 速度,丟出去的x速度。
dvy: 丟出去的y速度。
dvz: 丟出去的z速度,要自已按↑↓
※值=0,則會持在手上,值≠0則會丟出去。(武器的act跳到40)

cpoint抓人指令開始)
kind: # x: # y: # cover: # vaction: # aaction: # taction: #
injury: # hurtable: # decrease: # throwvx: # throwvy: # throwvz: # throwinjury: #
另外有fronthurtact: # backhurtact: # dircontrol: #
cpoint_end抓人指令結束)

kind: 抓人狀態,1是抓人,2是被抓的(必須配合,1抓2的,否則抓不起來)
x: x座標,與被抓的x座標配合
y: y座標,與被抓的y座標配合
cover: 遮蓋(10被抓者在後,11被抓者在前)
vaction: 敵人的act
aaction: 按A時自己跳到的act
taction: 按→A時自己跳到的act
injury: 被抓的敵人受傷量(正值是受傷+停格,負值是受傷不停格)
hurtable: 敵人會不會被人打到?(0不會,1會)※但vaction:在133 ~ 144的敵人不會被打到
decrease: (負值)抓住的時間減少值(總抓住的時間值301/#=抓住的時間)
throwvx: 丟出去的x速度
throwvy: 丟出去的y速度
throwvz: 丟出去的z速度(要按↑↓才會丟斜的)
throwinjury: 被丟者的受傷量
※-842150451不知是什麼…
fronthurtact: (正面被打後的act)
backhurtact: (背面被打後的act)
dircontrol: 控制方向(按著→進入此動作會向右轉,負數則會相反)

hurtable完全說明
0 抓在手上的敵人不會被他人打到,且當被捉者不在手上時(丟掉),動作持續進行。
1 抓在手上的敵人會被他人打到,累積fall超過60就會脫手,當被捉者不在手上時,動作到act0。

throwinjury完全說明
※throwvx: 不能為0,而throwinjury值也不能在-2以下,否則自己會消失。
-1 變成被抓者的id(樣子),之後可按DJA變回來,若想再變回去請用state: 501。
可惜的是變成henry你不能用五連矢…(會變回來)

bpoint流血指令開始)
x: # y: #
bpoint_end流血指令結束)

※hp少於1/3時,嘴角才會流血。
x: y: 嘴角的位置

TOP

宠物信息加载中......
本帖最后由 1306389208 于 2012-8-30 17:50 编辑

對於hit_a,hit_d,hit_j,hit_Fa,state的說明

weapon_hit_sound: 撞到的聲音
weapon_drop_sound: 撞到地上的聲音
weapon_broken_sound: 毀掉的聲音

此氣功的center是與opoint的xy配合的。
在一連續循環的動作中使用hit_a來計算時間結束,動作跳至hit_d

hit_a: 每一格時間氣功扣血量(hp500/hit_a=持續時間)(由於hit_a是扣氣功的hp來算的,故你按F7時氣功的hp也會全滿)
hit_d: 當氣功hp扣完時動作跳到此
hit_j: z方向移動速度,50為中間,49以下是上移的速度,51以上是下移的速度
hit_Fa: 追縱的程度…
※hit_Fa: 2,12,14當hp扣完時,就會失去效用
※武器也適用

hit_Fa完全說明
1 追敵人的center(因為敵人站在地面,所以會下飄)
2 dennis_chase(追縱效果)
3 加速法追敵(追縱力較差)(敵人倒地後轉移攻擊目標)
4 jan_chaseh(用了會故障,必須改用5)
5 天使賜福
6 惡魔的審判
7 jan_chase,firzen_chasef,firzen_chasei(用了會故障,必須改用6,9)
8 吸血蝙蝠
9 殃殞天降
10 john_biscuit加速??(從慢變快)
11 極地火山
12 bat_chase(追縱效果)
13 連環重炮
14 連環重炮(追縱效果)

john_biscuit說明
由於id: 214和state: 3006的關係,打到人後會跳到hit_d

dennis_chase說明
由於hit_Fa: 2的關係,轉向時act: 1,追人時act: 3,飛走時(hp扣完)act: 5

julian_ball說明
由於hit_Fa: 14的關係,轉向時act: 50,追人時act: 0
轉向時act: 51,追人時act: 1
轉向時act: 52,追人時act: 2
......
(轉向共有50 ~ 59,追人共有0 ~ 9,依此類推)

氣功act分布
10 hitting
20 hit
30 rebounding
40 disappearing

type3的說明
打到東西act10
被氣功打到act20
被type0人物打到act30(itr:kind:0的effect 2除外)
state: 3 3005 3006 打到人不會act10
state: 3005 3006 打到氣功不會act10

TOP

宠物信息加载中......
本帖最后由 1306389208 于 2012-8-30 17:52 编辑

這次對於武器的entry和state說明

type:1,4,6的輕型武器

weapon_hp: 武器的hp量
weapon_drop_hurt: 武器著地的損血量
weapon_hit_sound: 被打到的聲音
weapon_drop_sound: 著地的聲音
weapon_broken_sound: 毀壞的聲音

<WEAPON_STRENGTH_LIST>(武器攻擊表開始)
entry: 1 normal
...
entry: 2 jump
...
entry: 3 run
...
entry: 4 dash
...
<WEAPON_STRENGTH_LIST_END>(武器攻擊表結束)

在人物的wpoint的attacking使用哪個數字,就會用該entry的攻擊方式
※可以自己新增entry: 5以上的數字,不過人物的attacking就要用5以上

act的分布
0 in_the_sky
20 on_hand
40 throwing
60 on_ground
70 just_on_ground

state說明
1002 打到東西 dvx: -1,dvy:-1,act0 ~ 15隨機
1004 會被itr: kind: 7拾起來,只會被氣功類打到,Com只會在此物件的center按攻擊

type: 2重型武器

act分布
0 in_the_sky
10 on_hand
20 on_ground

TOP

宠物信息加载中......
本帖最后由 1306389208 于 2012-8-30 17:54 编辑

地圖

修改的位置:bg\sys\任一資料夾\bg.dat

name: 名稱(在選單時有)
width: #
地圖左右的寬度
zboundary: # #
地圖上下的範圍(第一個數字是上限的位置,第二個數字是下限的位置)
shandow: 影子的圖片
shandowsize: # #
影子的尺寸(第一個數字是左右寬度,第二個數字是上下的寬度),它不會把圖片切掉
※人物站的位置是所定的尺寸的正中間。

layer:
(圖片)…
transparency: # width: # x: # y: # loop: # cc: # c1: # c2: #
其他rect: # x: # y: # width: # height: #
layer_end

layer是有照順序的,最後面敘述的(玩時)顯示在最前面
※layer_end不能加冒號(:)

transpparency: 透明度(圖片黑色部分,0不透明,1透明)
width: 794是不會動(圖片在整場移動距離=#-794)
x: x座標
y: y座標,最高點110
loop: 多少距離放一個圖片
cc: 多少時間循環一次
c1: 循環內出現的時間
c2: 循環內結束的時間
示意圖:
????????????←╮
╰→→→→→→→→→→→→╯
      c1→出現→c2        cc

rect: 色彩填滿(要看你的電腦顯示是用幾色的)
width: 寬度(從x座標算起)
height: 高度(從y座標算起)

TOP

宠物信息加载中......
對於id的特性說明

基本常識

1、場地上最多物件350個,否則無法造氣功(opoint)
2、喝牛奶的時間99(喝造出來的牛奶249),喝酒的時間154(無聊找的)
3、武器掉到場外即消失(闖關右側例外)
4、闖關的bound不能大於地圖的width,否則不能過關
5、rudolf在run_weapon_attack時因act37的state是0,所以造成連揮兩下
6、rudolf,因rowing的act108和109加入了hit_Fj,所以背後受身時可用刺虎

關於dat檔鎖碼

name: 強化abc?←就會鎖住了,※不要亂用,不然以後不能修改…

特別收錄重愁的破解鎖碼檔方法:
1對該人物會用到的圖片暫時改別的名子
2執行lf2程式,出現錯誤後關掉
3到data資料夾裡開啟temporary.txt,資料都在裡面
4記得把圖片名子改回來喔

關於state:80##變身後圖片變化

變身後圖片由第三個當作第一個讀起
所以圖片順序改成…
pic_0
pic_1
pic_0b
pic_1b
pic_2
pic_3
pic_2b
pic_3b
...
你會發現knight的圖片順序不太對,其實在戰爭模式時是正常圖片

TOP

宠物信息加载中......
===改檔技術的問題===
Q1請問要怎麼補血呢?
A1:
補血n種方法:
1、按F7全體的hp、mp全滿。
2、喝牛奶吧。
3、叫john治療你。
itr: kind: 8 injury: #
4、用john的治療術。
state: 1700
5、叫jan治療你。
6、改檔,mp: -#0000回血法。
利用hit接到下一個動作,就在這個動作加入mp: -#0000
7、攻擊力負值。
一,叫別人用負攻擊(injury: -#)打你。
二,用opoint造出來,再用state: 18的方式來打你。

Q2怎麼讓角色復活?
A2:
1、讓自己復活。
一,在兩個lying的動作加入hit,而在下一個動作加入mp: -#0000(本方案
无用,因为stage:14里无法进入hit:若hp为0的时候会以wait:0不断重复该动作)
  ※缺點:失血過多會無法復活。
二,在兩個lying的動作加入opoint和bdy,造出來的物件用state: 18且
負攻擊打你。(本方案无用,因为当hp为0时会以wait:0不断重复该动作,会打的你血量狂增,爬不起来)
2、讓別人復活。
先在每個角色的lying中加入bdy,自己用state: 18且負攻擊打他。

Q3怎麼讓COM使用我的角色?
A2每個主要角色的攻擊和出招方式由id決定,要先注意哪個id的出招按法
(D>A,DvA,D^A,D>J,DvJ,D^J...)與你的角色大致雷同,這樣電腦使用你的
角色時才會比較順暢。

Q3data.txt讀取文做什用的?
A3可以在此新增和刪除角色,氣功武器也是。

Q4圖片怎麼顯示的?
A4:假設w: 79 h: 79,它讀的像素從0 ~ 78,共有79像素,而在第79時
空了一行分格線,第二個圖片就是從80 ~158,第三個是160 ~ 238了。
row: 10 col: 7,橫向有10格圖片,縱向有7格圖片的意思。

Q5明明已經存好了,為什下面的指令不見了?
A5:
1、盡量使用新的改檔器。
2、盡量不要重覆一直開啟舊檔,而是關閉後,重新雙擊改檔器。

===執行主程式的問題===
Q1出現無法顯示圖片。
A1由於dat檔裡可能有要求指定位置沒有符合名稱的圖片,它會先跳出一
個視窗,有顯示它要求圖片的路徑,您再到該資料夾去看看名稱是否有誤
temporary.txt也可找到出問題的檔案內容。
自己解決的方法:
1、新增該名子的圖片。
2、用改檔器把要求圖片的指令刪除。
※小朋友只能用bmp的圖片。

Q2改檔完後執行主程式停住了。
A2可能該檔案裡沒有結束的指令。
1、用改檔器到該檔案裡最後面加入:<BMP_END>或<FRAME_END>

Q3選人物時突然跳出遊戲。
A3:
1、可能是data.txt裡的物件object太多(太少)了,請到data.txt裡刪除一些不
會用到的角色或氣功(最好在100個以下)。
2、可能是該檔案裡沒有head:的指令。

TOP

宠物信息加载中......
我的吗,超赞~\(≧▽≦)/~啊
咳咳

TOP

宠物信息加载中......
看不懂。。。。。算了。。。况且吾才五年级。。。。。。。。
噢噢噢噢

TOP

宠物信息加载中......
雖然沒什么用...不過還是謝謝了

TOP

宠物信息加载中......
我想问一下,人物自己的血量和攻击什么调整?
LF2改档

TOP

返回列表