爱游戏:《海盗时代2:沉船之城》找木乃伊粉的方法 好办法揭秘

在痛苦的围着加勒比海绕两圈后(中间省略在大地图上同时被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键直接找到木乃伊粉!

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

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

PS: 据我所知,触发木乃伊粉任务的商店、卖木乃伊粉的小贩、墓室石碑所在地、开启神灯船坞所在地,是绑定在一起的。纯支持一下吧
nation = storeArray[rand(howStore-1)];

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

游民星空《海盗时代》攻略秘籍专区

爱游戏爱游戏爱游戏爱游戏爱游戏

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注