注册 | 登录

游侠NETSHOW论坛





查看: 3266|回复: 8
打印 上一主题 下一主题

[分享] 木乃伊粉其实很简单!头痛者必看! [复制链接]

帖子
72
精华
0
积分
37
金钱
464
荣誉
0
人气
0
评议
0
跳转到指定楼层
楼主
发表于 2009-8-18 18:02:12 |只看该作者 |倒序浏览
在痛苦的围着加勒比海绕两圈后(中间省略在大地图上同时被4只海盗围追堵截,同时被海盗和英国人尾追堵截,在风暴中和海盗战斗,花了无数冤枉钱买英国贸易证后.............)终于发现快速找木乃伊粉的办法,通过瞎猜文件有以下发现在common_itemtrader文件中有下面两段:

if (pchar.questTemp.Ascold == "Seek_powder" && npchar.city == pchar.questTemp.Ascold.MerchantColony && npchar.location.locator == "merchant1")
            {
                Dialog.text =  DLG_TEXT_BASE[61];
                            Link.l1 = DLG_TEXT_BASE[62];
                        Link.l1.go = "AngStep_1";

                case "AngStep_1":
            Dialog.text = DLG_TEXT_BASE[67];
            if (sti(pchar.money) >= 1000)
            {
                            Link.l1 = DLG_TEXT_BASE[68];
                        Link.l1.go = "AngryExitAgain";
                        pchar.questTemp.Ascold = "PowderWasSeek";
                        CharacterDelAngry(npchar);
                        AddMoneyToCharacter(pchar, -1000);
                        GiveItem2Character(Pchar,"Powder_mummie");

明眼人看出来了,第二段就是powder_mummie,也就是木乃伊粉的购买命令,那么导向第二段的第一段就是判断命令,即在正确的城市和正确的NPC面前触发第二段命令。那么城市的变量就是pchar.questTemp.Ascold.MerchantColony,通过追踪这个变量追到了两个地方:

questsutilite 文件下的一段话:

                nation = storeArray[rand(howStore-1)];
                pchar.questTemp.Ascold.TraderId = colonies[nation].id + "_trader";
                nation = storeArray[rand(howStore-1)];
                pchar.questTemp.Ascold.MerchantColony = colonies[nation].id;
                nation = storeArray[rand(howStore-1)];
                while (colonies[nation].id == "Panama")

这应该就是以前有人猜测过的创建主角时就把粉钉死的原理,关键是下面:

debuger

totalInfo = descF22;
        // -->
    {
                totalInfo = "Random shop owner: " + pchar.questTemp.Ascold.TraderId + NewStr() +
                                        "Random trader (colony): " + pchar.questTemp.Ascold.MerchantColony + NewStr() +
                                        "Random shipyarder: " + pchar.questTemp.Ascold.ShipyarderId + NewStr()+
                                        "Annals location: " + Items[GetItemIndex("Rock_letter")].startLocation + NewStr()+
                                        "Annals locator: " + Items[GetItemIndex("Rock_letter")].startLocator;

这段明明白白的写出了F22显示这个变量,也就是说可以用F11键直接找到木乃伊粉!


在马拉开波明媚的阳光中,三个欧巴桑在摊位边闲扯,一个鬼鬼祟祟的黑影接近了:"有粉儿么?"第一个大谈了一翻宗教、制度什么的就把这厮轰跑了,第二个也是如此,不过最后她突然大发善心:“看你这孩子乖可怜的,我这还有把香灰,拿去充数吧。”齐活!

从代码来看,我估计应该可以用某个城市的代码直接替换那个变量,把木乃伊粉的位置给固定下来,就看那个懂程序的高人来试验一下了。

使用道具 举报

帖子
72
精华
0
积分
37
金钱
464
荣誉
0
人气
0
评议
0
沙发
发表于 2009-8-18 21:27:50 |只看该作者
木有评论么?还是我火星了??[伤心啊]

使用道具 举报

帖子
52
精华
0
积分
26
金钱
97
荣誉
0
人气
0
评议
0
板凳
发表于 2009-8-18 22:28:09 |只看该作者
支持呀,我新档出来就接到木乃伊粉这个上个档死也没接到的任务...
正在找粉呢,收下啦明早起来我去试试
谢谢楼主呀,
帮你顶了,

哈哈

使用道具 举报

帖子
1182
精华
0
积分
631
金钱
2302
荣誉
4
人气
0
评议
0
地板
发表于 2009-8-18 22:29:50 |只看该作者
我现在头疼的是游侠附件下不了,那个所谓的谈论群也加不进。
比较喜欢玩开放式RPG

使用道具 举报

紫电追风☆冲锋队长

帖子
1046
精华
0
积分
625
金钱
6356
荣誉
10
人气
17
评议
0
5#
发表于 2009-8-18 22:40:29 |只看该作者

回复 #1 水蜈蚣 的帖子

从代码来看,我估计应该可以用某个城市的代码直接替换那个变量,把木乃伊粉的位置给固定下来,就看那个懂程序的高人来试验一下了。

据我所知,触发木乃伊粉任务的商店、卖木乃伊粉的小贩、墓室石碑所在地、开启神灯船坞所在地,是绑定在一起的。纯支持一下吧
I'm here.

使用道具 举报

帖子
663
精华
0
积分
352
金钱
948
荣誉
2
人气
0
评议
0
6#
发表于 2009-8-19 04:39:59 |只看该作者
据我所知,触发木乃伊粉任务的商店、卖木乃伊粉的小贩、墓室石碑所在地、开启神灯船坞所在地,是绑定在一起的。纯支持一下吧
nation = storeArray[rand(howStore-1)];

如果真的是绑在一起的~你可以试试把用random方法的这段rand(howStore-1)改成一个固定的数值~这样所有的东西的位置就是固定的了~游戏中只有23个港口~95个小贩~

使用道具 举报

帖子
835
精华
0
积分
418
金钱
14063
荣誉
0
人气
0
评议
0
7#
发表于 2009-8-19 07:24:56 |只看该作者
游戏中只有23个港口~95个小贩.................... 夠我受了
此物外圓內方,若運用得當,下可役鬼,上可通神。

使用道具 举报

帖子
42
精华
0
积分
21
金钱
271
荣誉
0
人气
0
评议
0
8#
发表于 2009-8-19 09:46:04 |只看该作者
收藏了,很有用啊,望高手能尽快保护光驱,^_^

使用道具 举报

帖子
42
精华
0
积分
21
金钱
271
荣誉
0
人气
0
评议
0
9#
发表于 2009-8-19 10:00:50 |只看该作者
很有用啊,我刚试了一下,用作弊模式开F22马上就会显示剧情在哪触发,在哪个港口的小贩处能买到粉,哪能开神灯,跑了两个小贩就买到了,LZ真是神人也

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2025-7-18 19:23 , Processed in 0.294070 second(s), 12 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到