注册 | 登录

游侠NETSHOW论坛





查看: 5587|回复: 3
打印 上一主题 下一主题

[原创] 沉船之城——四国任务有顺序限制?去掉那个烦人的限制吧 [复制链接]

帖子
51
精华
0
积分
26
金钱
923
荣誉
0
人气
0
评议
0
跳转到指定楼层
楼主
发表于 2011-1-7 20:20:41 |只看该作者 |倒序浏览
多国任务顺序问题
其他国家没什么关系,西班牙路线一定要在法国路线前先完成,因为法国路线里任务3和西班牙路线里任务4是故事冲突任务,都需要和哈瓦那酒馆的侍女对话来推动故事进展,先完成法国任务3会导致在哈瓦那酒吧与侍女对话只能招来卫兵而无法继续西班牙任务4

为了不受顺序限制,对哈瓦那酒吧侍女的对话进行了如下修改,就可以去掉任务顺序的限制了
在“游戏目录\Program\DIALOGS\russian\Tavern”下找到 Havana_Waitress.c 文件,通过搜索找到 case "Allarm" 语句,把这句下的代码全部删除或者终止使用(反括号不要删除或者终止,用//或者/* */终止)后,把这段代码加进去:
具体如下:
原代码
case "Allarm":
                    dialog.text = DLG_TEXT_TV[59];
                    link.l1 = DLG_TEXT_TV[60];
                    link.l1.go = "Step_F_Allarm";
                        NextDiag.TempNode = "First time";
        break;
                case "Step_F_Allarm":
                        LAi_LocationFightDisable(&Locations[FindLocation(pchar.location)], false);
                        chrDisableReloadToLocation = true;
                        GetCharacterPos(pchar, &locx, &locy, &locz);
            for (int i=1; i<=3; i++)
            {
                sld = GetCharacter(NPC_GenerateCharacter("SpaGuard"+i, "sold_spa_"+(rand(7)+1), "man", "man", 20, SPAIN, 0, true));
                                FantomMakeCoolFighter(sld, 20, 60, 50, BLADE_LONG, "pistol3", 30);
                                LAi_SetWarriorType(sld);
                LAi_group_MoveCharacter(sld, "EnemyFight");
                ChangeCharacterAddressGroup(sld, "Havana_tavern", "goto",   LAi_FindFarLocator("goto", locx, locy, locz));
            }
            LAi_group_SetRelation("EnemyFight", LAI_GROUP_PLAYER, LAI_GROUP_ENEMY);
            LAi_group_FightGroups("EnemyFight", LAI_GROUP_PLAYER, true);
            LAi_group_SetCheck("EnemyFight", "CannotFightCurLocation");
                        SetNationRelation2MainCharacter(SPAIN, RELATION_ENEMY);       
                        LAi_SetWaitressType(npchar);
                        LAi_group_MoveCharacter(npchar, "SPAIN_CITIZENS");
                        LAi_group_Attack(NPChar, Pchar);
                        DialogExit();
        break;

        }
        UnloadSegment(NPChar.FileDialog2);

修改后的代码
switch (Dialog.CurrentNode)
         {
                case "Allarm":
                    dialog.text = NPCStringReactionRepeat(RandPhraseSimple(DLG_TEXT_TV[0] + GetAddress_Form(NPChar) + "?", DLG_TEXT_TV[1] + GetAddress_Form(NPChar) + "?"), DLG_TEXT_TV[2] + GetAddress_Form(NPChar) + DLG_TEXT_TV[3], DLG_TEXT_TV[4],
                          DLG_TEXT_TV[5] + GetAddress_Form(NPChar) + "?", "block", 1, npchar, Dialog.CurrentNode);
                        link.l1 = HeroStringReactionRepeat(RandPhraseSimple(DLG_TEXT_TV[6], DLG_TEXT_TV[7]), DLG_TEXT_TV[8],
                      DLG_TEXT_TV[9], DLG_TEXT_TV[10], npchar, Dialog.CurrentNode);
                        link.l1.go = "exit";
        break;
   }
        }
        UnloadSegment(NPChar.FileDialog2);

去掉的部分就是侍女叫卫兵的剧情,加上的部分就是与侍女正常对话的部分
期待完美解决方案,根据角色国籍判断剧情
这个,本来应该是老毛子去做的事啊
嫌修改麻烦的同学请用附件里的补丁覆盖原文件即可,请做好备份
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

帖子
31
精华
0
积分
16
金钱
310
荣誉
0
人气
0
评议
0
沙发
发表于 2011-1-10 13:38:48 |只看该作者
高手,强大

使用道具 举报

帖子
137
精华
0
积分
69
金钱
861
荣誉
0
人气
0
评议
0
板凳
发表于 2013-3-7 16:11:19 |只看该作者
然后人就出不去了,什么门也开不了

使用道具 举报

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

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

GMT+8, 2025-8-4 23:15 , Processed in 0.379104 second(s), 12 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到