楼主:
laechan (挥泪斩马云)
2025-02-08 04:06:28刚刚终于想起来上次忘记提的东西是什么,主要有两个。
首先是副本串副本,这基本上跟任务串副本的意思是一样的,
关键只有一个就是如何召唤进入副本的程式码:
questing("instance","create","laechan/0071",
({"/u/l/laechan/workroom",({me}),"normal",0}));
以这为例,0071 是写在 /std/new_ob/instance/laechan/0071.c
的副本,也就是不管怎么说,副本物件都是必须先存在的,存在
后才可以一行召唤。
那么以任务来说,这东西假设是写在完成第 n 步骤的对话后才
进入的情况,那合理的做法,进入副本最好写成第 n+1 步骤,
即第 n 步骤为满足条件后的对话,第 n+1 步骤才是进入副本,
第 n+2 步骤则可以判断玩家是否完成某副本,判断的做法很简
单:
第 n 步骤: 对话, 对话完玩家任务标记为完成第 n 步骤
第 n+1 步骤: 进入副本,使用 stepn+1_check 去做,也就是原
本用来判断玩家是否满足第 n+1 步骤的 check变
成用来 questing("instance","create",.. 的让
玩家进入副本的动作。
这时,因为它只是 check 玩家实际上没有完成第 n+1 步骤,这
样就有两大好处
1. 玩家若因故离开副本,还可透过去接第 n+1 步骤回去副本
2. 玩家若完成副本,在完成时透过 questing("set", .. 去设
定玩家完成第 n+1 步骤即可
第 n+2 步骤: 这时玩家就必然要先有完成 n+1 步骤的任务标记
,才能继续这个 n+2 步骤。