作者justinj (黑旋风)
看板mud_sanc
标题[wizs] quest命令
时间Tue Jun 16 15:51:35 2026
/open/cmds/quest/quest_d.c
修改quest相关的命令
(1)给虚拟物品 int give_vobj(object ppl,string id,int num);
例如:give_vobj(ppl,"j809",1)
注:我原本是合并到give_obj...最後这版把它抽出来
(2)给成就资料 int give_arch(object ppl,string str);
例如:give_arch(ppl,"p001-2")
注:目前只用来给地图篇的
(3)quest show/shows改版---增加机率显示
================================================
例如:
v=give_arch(ppl,"p001-4")
if(v){}//
else if(random(10)==2)//
give_arch(ppl,"p001-3")
else if(random(99)<5)//
give_obj(ppl,"/d/ppl/justinj/game/wp/pen",1)
================================================
会转成
================================================
[10%]地图-寰影上天(p003)
[ 4%]黑潮判笔(Black Tide Judgement Pen) x 1
================================================
注:if的判断只用基本的if(random(X)>/</=XX)这3方向单判断
if的所有判断写在parse_random_if函数内
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.221.177.11 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1781596298.A.1AC.html
1F:→ laechan : 留意carry, no_trade, no_sell(但有时可trade) 即可 06/17 16:58
2F:→ laechan : 若if这样的写法,留意後者是前者的else之後,即假设 06/17 17:00
3F:→ laechan : 前者是if(random(10)==2)那後者是if(random(10)!=2) 06/17 17:00
4F:→ laechan : 之後,也就是它实际是 9/10 x 5/99 06/17 17:01
5F:→ laechan : 改之前cp备份,备份多多益善,若发现改错了不可逆,可 06/17 17:02
6F:→ laechan : 第一时间反映,我再捞每日备份档出来还原即可 06/17 17:02
7F:→ justinj : 了解...而且这些的还好..纯显示问题而已 06/17 17:19
忘了补了..
(4)对话变更
因为随机给物品,但stepX_end又比stepX_msg还要早运作,
所以必需要有讯息要後给的动作,简单的作法就是把讯息放在stepX_msg
注:give_obj/give_vobj/give_arch的讯息放reward_msg字串上
方法:
step1_msg=
test
"+reward_msg+"
test3
##
step1_end=
int v
//清掉msg
reward_msg=""
//重置stepX_msg
set_quest_data()
##
增加reward_msg(当然你可以用自己定的不要用内建的),
然後一定要set_quest_data()这样stepX_msg才会重置
※ 编辑: justinj (61.221.177.11 台湾), 06/18/2026 08:43:24