作者laechan (小太保)
看板mud_sanc
标题Re: [wizs] 系统撰写概要(一)
时间Tue Feb 3 15:05:46 2009
比方我们要在某处写个摸彩箱,摸彩箱会储存玩家投入摸彩券的
资料,例如只纪录 id 的情况.
那我们在房间里头就去宣告一个 mixed ids=({});
把这个房间 save_object,在 .o 档里头就会出现 ids 的资料栏
,然後我们用 init() 去 add_action 一个投入彩券的动作..
一、一位玩家只能丢入一张彩券
二、等级未满 120 的玩家不能参加摸彩
names=ppl->query("name");
if(member_array(names,ids)!=-1) // 代表 names 已经有被存入到 ids 中
return notify_fail("你已经有投入摸彩券过了喔.\n");
if(ppl->query("level")<120)
return notify_fail("你的等级要满 120 才能参加摸彩喔.\n");
// 都通过上述判断了
write("你将摸彩券丢进了摸彩箱中.\n");
ids+=({names}); // 把 names 加进 ids 中
save_room(); // 呼叫 save_room 存档
return 1;
当然 save_room 那边直接用 save_object( base_name(this_object()) )
去存也可以, 但习惯上我们都会定义一个存档的函数来呼叫.
这样一个简单的系统就完成了.
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.131.225.28