作者laechan (小太保)
看板mud_sanc
标题[任务] stepX_check 的特殊用法
时间Mon Oct 17 16:47:30 2011
这是从 RO 的研究所进出任务想到的,stepX_check
的写法是这样..
stepX_check=
!ppl->query_temp("already_choose") && check_something(ppl)>0
你选错了喔!!##
接着我们就可以这样子干..
others=
int check_something(ppl)
{
string str;
if(!ppl->query_temp("already_choose"))
{
write("1.选左边.\n"+
"2.选右边.\n"+
"请输入你的选择: ");
input_to("make_choice",0,ppl,str);
}
return 1; // 一律是 return 1;
}
int make_choice(string str,object ppl)
{
int n=atoi(str);
if(n==1)
{
write("你选了左边.\n");
ppl->move_player("/d/wiz/room/disc","SNEAK"); // 把玩家传去别的地方
}
else if(n==2)
{
write("你选了右边.\n");
ppl->set_temp("already_choose",1); // 右边才是正确答案
}
else
write("没有这个选项喔!\n");
return 1;
}##
这样当玩家尚未做出选择 or 选择错误的答案时,就会卡在
stepX_check 那里,玩家又 quest 一次时就会再执行一次选
择,我上面还写了一个「如果玩家选错的话会发生什麽事」
的例子。
我用 l002 做了上述的实验,证实了这是可行的。
> quest gigi about 选美比赛
洁洁: 在我决定参加之前你先告诉我,我能赢吗?
1. 洁洁小姐一定可以赢的!
2. 嗯...我觉得很难耶.
请回答 1 或是 2: 2
你: ......2
洁洁: 哼! 我生气了 ><
你被洁洁一脚踢到天空...
巨型高塔
明显出口有: up, east, bet, south, down, west, 和 north
这时再回去找她
> quest gigi about 选美比赛
洁洁: 在我决定参加之前你先告诉我,我能赢吗?
1. 洁洁小姐一定可以赢的!
2. 嗯...我觉得很难耶.
请回答 1 或是 2: 1
洁洁: 哇~我好开心,谢谢你^_^
这时再 quest 她一次
> quest gigi about 选美比赛
洁洁: 谢谢你, 请帮我转告镇长, 这次的选美比赛我会参加的 $_$
所以附带有选项的任务,新的任务系统也是可以支援的。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 101.13.133.59