作者laechan (小太保)
看板mud_sanc
标题Re: [问题] 一些函数用法的问题。
时间Sat Dec 15 06:03:36 2007
※ 引述《doall (狂人)》之铭言:
: 感谢小宝的回答
: 所以我要写pp -10000
: 就是 ppl->add_3p("pp",-10000,-10000); //这样罗?
嗯.
: 那temp_mod如何使用,跟temp_several_same_mod相同吗?
ppl->temp_mod("stat/str",10,"damage",3);
=> heart damage 时若呼叫上面, 按 a 就会看到加强杀伤力
被 heart 後的影响, 是 +str10, 持续时间 3 小时(3 分钟)
ppl->temp_several_same_mod(({"stat/str","stat/air"}),30,"holy power",5);
=>cast 'holy power' 後若是呼叫上面, 按 a 就会看到神圣力量
被 cast 後的影响, 是同时 +str30, +air30, 持续时间 5 小时(5 分钟)
一次要常驻多个影响时就用 temp_several_same_mod.
: 另外,要使物品认主的写法,有函数可以套吗?或者要自己另写函数?
object ob;
string *sdata;
ob->set("names","xxx");
sdata=ob->query("sdata");
if(!sdata)
ob->set("sdata",({"sdata","names"}));
else if(member_array("names",sdata)==-1)
ob->set("sdata",sdata+({"names"}));
: 还有,要查ppl的pp是ppl->query("pp");这样吗?
嗯.
: 最後,我想写个任务,该任务npc会在某个时间之中才会在该地点(希望是MUD时间的春季)
: 并且只有在该时间之内才能触发该任务。
: 但是我毫无头绪,也不清楚sanc的季节有哪些。
如果你打算写个区域, 然後区域里头要设定这个任务时, 你就先
不要写这个任务, 等区域完成再写.
一般来说, 该房间必须
#include <daemons.h>
就可以呼叫时间字串
string str = WEATHER_D->query_game_time();
它的格式就是底下...
英雄时代第537年 春雨之月 21号 13点01分。。
圣殿的春天是在季节月 = 春雨之月 + 希望之月的一半时.
圣殿年纪共六个月...
春雨之月
希望之月
太阳之月
蓝天之月
秋风之月
百雪之月
一个月有 30 天, 圣殿的一天约地球的两天, 所以...
春季: 春雨之月的 1 号 ~ 希望之月的 15 号
夏季: 希望之月的 16 号 ~ 太阳之月的 30 号
秋季: 蓝天之月的 1 号 ~ 秋风之月的 15 号
冬季: 秋风之月的 16 号 ~ 百雪之月的 30 号
string str = WEATHER_D->query_game_time();
// 英雄时代第537年 春雨之月 21号 13点01分。。
sscanf(str,"英雄时代第%d年 %s之月 %d号%s",year,month,date,tmp);
if(month=="春雨" || (month=="希望" && date<16))
write("现在是春季.\n");
读出春季後, 要叫出怪物, 可以在房间设定的 create 函数中
这样写..
void create()
{
.
.
.
读出春季後;
if(现在是春季 && !query("already_clone"))
{
set("already_clone",1);
叫出怪物;
}
}
这样当房间 reborn 时就会去读取现在的季节, 做出是否叫
出怪物的判断.
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 编辑: laechan 来自: 220.134.34.90 (12/15 06:12)
1F:推 doall:感激小宝~~~~~ 12/15 09:03
2F:推 doall:实在太详细了! 12/15 09:26