黃易群俠傳M脫機外掛應用程式黃易神行
4606
3

[發問] [X]大請教地圖檔*.gat轉*.fld

ashin0508 發表於 2012-1-7 01:05:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |
X大您好!爬過您一些文章關於在不存在的地圖
以及NPC對話斷線等解決方法的問題...etc
小弟最近遇到個問題,就是關於地圖擷取
由於我進入亞雷那競技場內,OP都會告訴我
force_map1不存在
所以我用grftool把force_map1.gat擷取出來
然後我無法順利將其轉檔成*.fld格式
1.您放的ROFE好像不俱備轉檔功能
2.論壇上的GATtoFLDconverter載點極少,而且都被防毒擋掉

有請X大解惑

附帶一提,我在競技場內的地圖/where是不知名的區域(force_5-1)
為何OP要我定義的是force_map1??
雖然我用ROFE看~地圖都沒變!
我該如何解決這煩惱的不存在地圖問題呢
收藏收藏 分享分享 讚 幹 分享分享 FB分享
回覆

使用道具 舉報


[X] 當前離線
UID
1561059
熱心
2263 值
嘉獎
0 次
違規
0 次
在線時間
354 小時
經驗
2176 點
積分
49895
精華
0
最後登錄
2013-4-1
閱讀權限
60
註冊時間
2010-10-8
論壇幣
45088 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 7Rank: 7Rank: 7
[X] 2012-1-7 03:02:07
gattofld(轉檔程式)
http://www.megaupload.com/?d=2B4WO9HG
(對本檔有疑慮請不要下載)

使用方式:
要先把gat檔從grf裡解出來~
然後把map.exe與gat檔放在同一目錄下~
接著執行map.exe~即可把gat轉成fld了

我沒掛過競技場,所以不清楚
顯示地圖不存在的話,試試在tables/twRO/maps.txt加入
force_map1.rsw#不知名的區域#
回覆

使用道具 舉報

ashin0508 當前離線
UID
1576597
熱心
177 值
嘉獎
0 次
違規
0 次
在線時間
86 小時
經驗
125 點
積分
125
精華
0
最後登錄
2013-5-24
閱讀權限
20
註冊時間
2010-11-1
論壇幣
3 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
ashin0508 2012-1-7 08:56:18
感謝大大!我在嘗試看看
有您這麼厲害的人在真好
回覆

使用道具 舉報

ashin0508 當前離線
UID
1576597
熱心
177 值
嘉獎
0 次
違規
0 次
在線時間
86 小時
經驗
125 點
積分
125
精華
0
最後登錄
2013-5-24
閱讀權限
20
註冊時間
2010-11-1
論壇幣
3 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
ashin0508 2012-1-7 09:06:05
X大您好!
我在測試過程中無法行走於水路
我有找到相關修改code蛋不知道怎麼使用
# void gat2fld(String gat, String fld, float waterLevel)
# 轉換
gat文件至fld文件

sub gat2fld {
        my ($gat, $fld, $waterLevel) = @_;
        my ($in, $out, $data);

#打開gat文件以供讀取
        if (!open $in, "<", $gat) {
                print "Cannot open $gat for reading.\n";
                exit 1;
        }

#創建fld文件以供寫入
        if (!open $out, ">", $fld) {
                print "Cannot open $fld for writing.\n";
                exit 1;
        }

#確保文件類型是二進制
        binmode $in;
        binmode $out;

#讀取gat文件的首14個字節,獲得地圖的長度與寬度
        read($in, $data, 14);

#將長度與寬度寫入fld文件
        print $out pack("v", unpack("V", substr($data, 6, 4)));
        print $out pack("v", unpack("V", substr($data, 10, 4)));

#作轉換操作的循環,每次從gat文件中讀取20個字節,代表地圖中每一格的具體情況
        while (read($in, $data, 20)) {
                my ($a, $b, $c, $d) = unpack("f4", $data);
                my $type = unpack("C", substr($data, 16, 1));
                my $averageDepth = ($a + $b + $c + $d) / 4;

#判斷地圖水路覆蓋情況,並根據type數值進行當前格類型確認
                if ($averageDepth > $waterLevel) {

#0代表可行走地面格,3代表可行走水面格
                        if ($type == 0 || $type == 3) {
                                print $out pack("C", 3);

#1或者6代表不可行走以及不可遠程攻擊格
                        } elsif ($type == 1 || $type == 6) {
                                 print $out pack("C", 2);

#5代表不可行走但可遠程攻擊格
                        } elsif ($type == 5) {
                                print $out pack("C", 4);

#其餘代表不可行走以及不可遠程攻擊格
                        } else {
                                # Unk●嚴禁張貼廣告●n
                                print $out pack("C", 7);
                        }

#無水路情況下的判斷
                } else {

                        if ($type < 7) {
                                print $out pack("C", $type);
                        } else {
                                print $out pack("C", 7);
                        }

                }
        }

#完成讀寫文件操作並關閉文件句柄
        close $in;
        close $out;
}
可否請開示一下,感謝
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊


手機版 | Archiver | 外掛聯合國

GMT+8, 2024-9-23 23:24 , Processed in 0.058710 second(s), 19 queries , Memcache On.

版權說明:
  本站不會製作、經銷、代理外掛程式。僅免費提供外掛程式下載前之掃毒及掃木馬等安全檢測驗證,協助會員遠離盜號危險程式。本站所有資料均來自網際網路收集整理,說明文字暨下載連結轉載自原程 式開發站。站上出現之公司名稱、遊戲名稱、程式等,商標及著作權,均歸各公司及程式原創所有,本站程式所有權歸外掛聯合國所有。本程式所有權歸外掛聯合國所有.......

回頂部
第二步?
第三步?