【适配游戏1.5.2】《防傻瓜型事件mod教程》五、事件岂是你喊一声,就会自动触发的?
本帖最后由 rnwho 于 2024-2-3 10:55 编辑感谢*玄、r*i、m*l、火烬纷飞、魏奇对本节目的大力支持!
前情提要:
一、武将来投,从入门到入土…,https://bbs.3dmgame.com/thread-6045784-1-1.html
二、永远不要用dilemma去考验玩家人性…,https://bbs.3dmgame.com/thread-6046303-1-1.html
三、真相藏在任务中…,https://bbs.3dmgame.com/thread-6046543-1-1.html
四、给每个目标都打上标记!,https://bbs.3dmgame.com/thread-6053595-1-1.html
====本集没有示例mod,只讨论一张表单,即《cdir_events_dilemma_option_junctions》,讲讲事件的常见触发方式====
对了,你写mod时,千万注意填写的内容左、右不要有空格!多打了一个空格,就可能导致mod失效!而且你可能想一晚上也想不明白自己错在哪里。
论坛上添加表格时,很多时候会自动给我开头留了个空格、缩进,你如果直接复制进mod,可能会出现“把空格一起复制进去”的问题,头、尾多删删吧。
本篇示例的三列,从左到右分别是《cdir_events_dilemma_option_junctions》里的【Option Key】、【Value】、【Target】
一、设定发生时间
最常见的,就是固定回合数(示例:最早第1回合,最迟第2回合)
CND_FIRST_ROUND0default
CND_LAST_ROUND1default
也可以设为固定年份(示例:最早191年第1回合,最迟193年第5回合)。
使用年份作为触发条件,有个优点,它很适合去表现那些固定的历史事件,而且写了这么一条,即182、190、194剧本都通用。
你用回合数去写的话,起码要写三遍……因为同一年份,在不同剧本(天命、弃叛)里的回合数都不同。
CND_FIRST_DATE0:191default
CND_LAST_DATE4:193default
二、根据选项触发
由玩家的选择,引发后续事件。(示例:从上到下,分别是选了1、选了2、选了3、选了4。中间是那道选择题dilemma的名称)
技巧:下面第一行,中间写了两个dilemma事件,并用分号";"隔开。这样无论你在《190_liubei_h04_taoqian》还是《3k_main_tutorial_progression_liu_bei_primary_dilemma_scripted》选择了第一项,都会触发接下来的同一个事件。
多利用分号,可以像漏斗一样,把大量的事件收束至同一个结果,而不用每个事件都给它去接一个专属结果。方便了很多。
CND_DILEMMA_CHOSEN_FIRST190_liubei_h04_taoqian;3k_main_tutorial_progression_liu_bei_primary_dilemma_scripteddefault
CND_DILEMMA_CHOSEN_SECOND190_liube09_battle_of_bridge_jiedefault
CND_DILEMMA_CHOSEN_THIRD190_liubei34_zhaoyun01default
CND_DILEMMA_CHOSEN_FOURTH190_liubei01_choicedefault
也可以反着来。以玩家没选择某项,作为后续事件发生的前提。(一般与CND_DILEMMA_GENERATED配合使用。因为光写个CND_DILEMMA_NOT_CHOSEN_FIRST,你会发现它开局就会蹦出来。因为没发生,它也视为没选择。)
CND_DILEMMA_NOT_CHOSEN_FIRST190_liubei32_zhuge_liang01default
CND_DILEMMA_NOT_CHOSEN_SECOND190_liubei03_caocaos_problemsdefault
CND_DILEMMA_NOT_CHOSEN_THIRD190_liubei34_zhaoyun01default
CND_DILEMMA_NOT_CHOSEN_FOURTH190_all_jiangwei_02default
也可以让玩家随便选,只管把事件发生/没发生,作为后续事件的触发条件。(示例:dilemma已发生,incident已发生,dilemma没发生,incident没发生)
CND_DILEMMA_GENERATED190_liubei19_horsedefault
CND_INCIDENT_GENERATED3k_dlc05_historical_liu_bei_lu_bu_chain_03_incidentdefault
CND_NOT_DILEMMA_GENERATED3k_main_ancillary_hex_mark_dilemma_scripteddefault
CND_INCIDENT_NOT_GENERATED3k_main_char_historical_pang_tong_spawns_pc_incident;190_liubei37_pangtong_joindefault
三、根据地点触发
这几乎是最稳定、最可靠的事件触发方式了!因为无论人怎么变、阵营怎么变、时间(182、190、194)怎么变,地图上的城池永远不变!你永远可以拿这些地点来作为判定依据!——青山依旧在,几度夕阳红!
示例:
已占有巴西资源点1;
没占领巴郡资源点1;
阵营(target_faction_1)已累计占有了4个郡县。
CND_OWNS_REGION3k_main_baxi_resource_1default
CND_NOT_OWNS_REGION3k_main_bajun_resource_1default
CND_MIN_REGIONS_OWNED4target_faction_1
如果你想把中间的地点换成其他城市,可以借助(1.5.0弃叛之世)汉化文本-提取 。打中文地点,去搜它的英文名,带括号(城市)、(工具铺)的那些结果就是了。
链接:https://pan.baidu.com/s/1BOWjyKXja-slAeJNhh4SAA
提取码:gl7z
四、根据外交条件触发
外交有时被用作辅助判定条件。比如,玩家跟某阵营打起来了,这时就不适合继续出现与该阵营友善的事件。
示例:
阵营(target_faction_2)与袁绍处于交战状态;
阵营(target_faction_1)没有与曹操处于交战状态;
CND_DIPLOMATIC_CONDITIONdiplomatic_condition_war_3k_main_yuan_shaotarget_faction_2
CND_NOT_DIPLOMATIC_CONDITIONdiplomatic_condition_war_3k_main_cao_caotarget_faction_1
五、根据物品触发
示例:
阵营(target_faction_1)中没有某物品(的卢马);
阵营(target_faction_1)中已获得某物品(的卢马)。
中间填写的(3k_main_ancillary_mount_dilu)是该物品在ceos里的key。
插播花絮:我写事件簿第一个版本时,当时还不知道“任务已完成”怎么表达。我想把“完成任务”作为下一个事件的触发条件,但老是走进ca的陷阱……
后来,我看到董卓182任务里是可以把赤兔马这种物品作为完成任务的奖励的——于是,我想到了曲线救国!我不用知道“完成任务”本身怎么写,既然完成任务给物品,那么我只要做一个“是否已获得该物品”的识别,不就等于做了“是否已完成该任务”的识别了吗?!
——这也是事件簿前期经常把一些物品作为任务奖励的原因……因为当时不依靠这些物品,我还真不知道事件怎么接……
GEN_CND_FACTION_NOT_CEO_EXISTS3k_main_ancillary_mount_dilutarget_faction_1
GEN_CND_FACTION_CEO_EXISTS3k_main_ancillary_mount_dilutarget_faction_1
六、根据任务完成与否触发
示例:任务已顺利完成
好吧,我现在知道了…
CND_MISSION_SUCCEEDED190_all_jiangweidefault
通过以上六种常用的事件触发方式,结合上一集讲的角色 、阵营标记,相信现在《cdir_events_dilemma_option_junctions》已在你的掌控之中了!
======下集预告:其实皇叔创业没有那么难,如果你用payload给他一些帮助的话…==========
支持一下!!http://bbs.3dmgame.com.weibosa.com/img/emoji1.jpghttp://bbs.3dmgame.com.weibosa.com/img/emoji2.jpghttp://bbs.3dmgame.com.weibosa.com/img/emoji3.jpghttp://bbs.3dmgame.com.weibosa.com/img/emoji4.jpg dlc怕是凑不了 已支持大佬! 火烬纷飞 发表于 2020-6-21 16:04
已支持大佬!
眼前一亮{:3_143:}{:3_143:}{:3_143:}
帮顶4008823823 大佬大佬。。mens_tables表格影响什么,里面有改马匹信息,麻烦解答一下 大佬,pack里面哪一项是把配弓枪骑兵改成枪骑兵的,麻烦告知下,谢谢谢谢谢谢 感谢分享。 大神,你这些条件存在互斥性么?比如第六项,根据特定条件发生,如果设定了是某项任务比如攻取建业后小乔在三回合之后来投。要怎么设置呢?攻趋建业单独做一个事件,完成的结果是小乔即将来投?然后小乔来投这个怎么写?因为不知道攻取建业时间,所以第一发生回合是否还要写?还是把这行删掉?攻取建业之后的第三回合,又如何表达呢?? 还是说既要满足回合时间,又满足地点,又满足任务,还必须当时小乔在武将池里才行? 3dm_14986704 发表于 2021-2-8 10:08
大神,你这些条件存在互斥性么?比如第六项,根据特定条件发生,如果设定了是某项任务比如攻取建业后小乔在 ...
我没试过这种。理论上来说,参考原版三顾茅庐的系列事件,好像有用到delay若干回合。但这个词直接用好像效果不明显,不确定是否需要结合 XXX followup XXX 的表单来达到delay延迟的效果。
任务接事件的话,有一个cdir_events_mission_followup_dilemmas,理论上把mission、后面dilemma的名字都填进去,然后dilemma里写上delay多少回合。但我没咋试过,可能没啥用。
另外,如果XXX followup XXX 的内容没填对,会导致游戏过回合闪退。
大神,原版怎么看啊,是datebase.pack吗? 3dm_14986704 发表于 2021-2-8 18:38
大神,原版怎么看啊,是datebase.pack吗?
对。三种事件的表都在里面。 大佬,请问如果希望通过使用派系资源来触发事件/抉择/任务,应该修改哪些表格呢?比如:曹操派系消耗25信誉触发xxx事件这样的。 Jassy1994 发表于 2021-4-30 16:17
大佬,请问如果希望通过使用派系资源来触发事件/抉择/任务,应该修改哪些表格呢?比如:曹操派系消耗25信誉 ...
不太清楚。
条件的话,大概类似《cdir_events_dilemma_option》里的
GEN_CND_POOLED_RESOURCE_GEQ_Xep_pooled_resource_fist_alignment:50target_faction_1
GEN_CND_POOLED_RESOURCE_LEQ_Xep_pooled_resource_heart_alignment:50target_faction_1
结果大概类似《cdir_events_dilemma_payloads》里的
FACTION_POOLED_RESOURCE_TRANSACTIONRESOURCE_TRANSACTIONtarget_faction_1
rnwho 发表于 2021-5-1 15:33
不太清楚。
条件的话,大概类似《cdir_events_dilemma_option》里的
谢谢大佬~,我去试试
页:
[1]