- UID
- 592166
- 主题
- 0
- 阅读权限
- 20
- 帖子
- 51
- 精华
- 0
- 积分
- 26
- 金钱
- 923
- 荣誉
- 0
- 人气
- 0
- 在线时间
- 261 小时
- 评议
- 0
- 帖子
- 51
- 精华
- 0
- 积分
- 26
- 金钱
- 923
- 荣誉
- 0
- 人气
- 0
- 评议
- 0
|
多国任务顺序问题
其他国家没什么关系,西班牙路线一定要在法国路线前先完成,因为法国路线里任务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);
去掉的部分就是侍女叫卫兵的剧情,加上的部分就是与侍女正常对话的部分
期待完美解决方案,根据角色国籍判断剧情
这个,本来应该是老毛子去做的事啊
嫌修改麻烦的同学请用附件里的补丁覆盖原文件即可,请做好备份
|
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
|