第一屆聖殿盃線上擲筊大賽活動開催 - MUD Game
By Joe
at 2014-07-01T16:13
at 2014-07-01T16:13
Table of Contents
※ [本文轉錄自 mud_sanc 看板 #1Jicng18 ]
作者: laechan (小太保) 看板: mud_sanc
標題: [活動] 第一屆聖殿盃線上擲筊大賽活動開催
時間: Tue Jul 1 16:08:06 2014
> divine
divine(線上擲筊大賽)指令說明:
=================================================
divine -pay 付出 1000 影特幣
divine -throw 做出擲筊的動作
參與條件: 等級 60 且身上或銀行存款有 1000 影特幣
只要有付出 1000 影特幣的玩家,都可以馬上開始擲筊
,做出擲筊的動作時會瞬間出現兩個發光的筊自玩家的
手中丟出。
只要出現了聖筊,就可以一直擲,直到出現笑筊為止。
每天都可以 divine -pay 最多 10 次。
活動結束時將選出擲出了最多聖筊的前幾名玩家,給予
獎品。首獎:可以許願的油燈。
=================================================
指令就兩個,divine -pay 與 divine -throw,每天可以玩 10 次,
擲出超過兩個聖筊時訊息就會顯示在公頻上,破紀錄時也會顯示。
暫定就先舉辦個一星期至 10 天吧,比方今天 7/1 號,那就 7/7 號
或是 7/10 號小結一次,頒個獎這樣,然後再重置。
目前只有首獎是確定的就是可以許願,然後假設我們挑出前 n 名,
那第 n 名至少可拿到不少的影特幣這樣。
參加條件只有身上或銀行存款要有 1000 影特幣,以及必須是 60 級
以上的玩家這兩個要求。
Laechan
程式碼:
// /cmds/std/_divine.c
// laechan@sanc add in 2014/07/01
// 2014 暑假活動─聖殿擲筊大賽
#define DIVINE_PAY 1000
#define DIVINE_TIME 10
inherit DAEMON;
mapping divine_data;
static mapping divine_temp,divine_times;
static mixed divine_names;
int pays,max_throw;
void create()
{
mixed tmps;
string tmp;
seteuid(getuid(this_object()));
if(file_exists(__DIR__+"divine.o"))
restore_object(__DIR__+"divine");
if(!divine_data)
divine_data=([]);
if(!divine_temp)
divine_temp=([]);
if(!divine_times)
divine_times=([]);
if(!pays) pays=0;
if(!max_throw) max_throw=0;
if(!divine_names)
{
divine_names=({});
tmps=keys(divine_data);
foreach(tmp in tmps)
if(!undefinedp(divine_data[tmp]))
divine_names+=keys(divine_data[tmp]);
}
}
int save_room()
{
save_object(__DIR__+"divine");
return 1;
}
int cmd_divine(string str)
{
string names;
int n;
object me=this_player();
if(!str || str=="")
return notify_fail(@LONG
divine(線上擲筊大賽)指令說明:
=================================================
divine -pay 付出 1000 影特幣
divine -throw 做出擲筊的動作
參與條件: 等級 60 且身上或銀行存款有 1000 影特幣
只要有付出 1000 影特幣的玩家,都可以馬上開始擲筊
,做出擲筊的動作時會瞬間出現兩個發光的筊自玩家的
手中丟出。
只要出現了聖筊,就可以一直擲,直到出現笑筊為止。
每天都可以 divine -pay 最多 10 次。
活動結束時將選出擲出了最多聖筊的前幾名玩家,給予
獎品。首獎:可以許願的油燈。
=================================================
LONG
);
names=me->query("name");
if(str=="-pay")
{
if(me->query("level")<60)
return notify_fail("divine: 你的等級要達到 60 級才能參加比賽喔.\n");
if(me->query("wealth")<DIVINE_PAY && me->query("balance")<DIVINE_PAY)
return notify_fail("divine: 你身上或銀行裡頭沒有 "+DIVINE_PAY+
" 影特幣喔.\n");
if(!undefinedp(divine_temp[names]))
return notify_fail("divine: 你已經有付過錢囉,可以開始擲筊了.\n");
if((int)divine_times[names]>=DIVINE_TIME)
return notify_fail("divine: 你今天已經付過 "+DIVINE_TIME+" 次錢了喔。\n");
pays++;
if(me->query("wealth")>DIVINE_PAY)
me->add("wealth",-DIVINE_PAY);
else
me->add("balance",-DIVINE_PAY);
divine_temp[names]=0;
if(undefinedp(divine_times[names]))
divine_times[names]=1;
else
divine_times[names]+=1;
if(undefinedp(divine_data[names[0..0]]))
divine_data[names[0..0]]=([]);
save_room();
// 有付錢時 divine_temp[names] 才會有資料
str="你付了 "+DIVINE_PAY+" 影特幣給聖殿擲筊大賽主辦單位。\n"+
"你目前的最佳紀錄是 "+divine_data[names[0..0]][names]+" 次聖筊。\n"+
"而目前的最佳紀錄是 "+max_throw+" 次聖筊。\n"+
"你現在可以開始 divine -throw 了。\n");
return notify_fail(str);
}
else if(str=="-throw")
{
if(undefinedp(divine_temp[names]))
return notify_fail("divine: 你要先 divine -pay 喔.\n");
show(me,me,"$N向著前方做出了擲筊的動作。\n"+
"只見兩個發光的筊瞬間自你的手中飛出,不久後落到了地上。\n");
if(random(2)==random(2))
{
divine_temp[names]+=1;
write(HIR"【擲筊】恭喜!你擲出了聖筊!你可以再繼續擲喔!"NOR"\n");
n=(int)divine_temp[names];
if(n>=3)
shout(CYN"【擲筊】恭喜!"+me->query("short")+NOR+CYN"擲出了 "+n+
" 次聖筊。"NOR"\n");
if(undefinedp(divine_data[names[0..0]][names]))
divine_data[names[0..0]][names]=1;
else if((int)divine_data[names[0..0]][names]<divine_temp[names])
divine_data[names[0..0]][names]=n;
if(n>max_throw)
{
write(HIR"【擲筊】你擲出了破紀錄的 "+n+" 次聖筊了!"NOR"\n");
shout(CYN"【擲筊】恭喜!"+me->query("short")+NOR+CYN"擲出了破紀錄的 "+
n+" 次聖筊!"NOR"\n");
max_throw=n;
}
save_room();
}
else
{
write(NOR+YEL"【擲筊】唉呀!你擲出了笑筊....歡迎下次再來參加喔!"NOR"\n"+
"你目前的擲筊大賽最佳紀錄是: "+divine_data[names[0..0]][names]+
" 次聖筊。\n");
map_delete(divine_temp,names);
}
return notify_fail("");
}
return cmd_divine("");
}
--
作者: laechan (小太保) 看板: mud_sanc
標題: [活動] 第一屆聖殿盃線上擲筊大賽活動開催
時間: Tue Jul 1 16:08:06 2014
> divine
divine(線上擲筊大賽)指令說明:
=================================================
divine -pay 付出 1000 影特幣
divine -throw 做出擲筊的動作
參與條件: 等級 60 且身上或銀行存款有 1000 影特幣
只要有付出 1000 影特幣的玩家,都可以馬上開始擲筊
,做出擲筊的動作時會瞬間出現兩個發光的筊自玩家的
手中丟出。
只要出現了聖筊,就可以一直擲,直到出現笑筊為止。
每天都可以 divine -pay 最多 10 次。
活動結束時將選出擲出了最多聖筊的前幾名玩家,給予
獎品。首獎:可以許願的油燈。
=================================================
指令就兩個,divine -pay 與 divine -throw,每天可以玩 10 次,
擲出超過兩個聖筊時訊息就會顯示在公頻上,破紀錄時也會顯示。
暫定就先舉辦個一星期至 10 天吧,比方今天 7/1 號,那就 7/7 號
或是 7/10 號小結一次,頒個獎這樣,然後再重置。
目前只有首獎是確定的就是可以許願,然後假設我們挑出前 n 名,
那第 n 名至少可拿到不少的影特幣這樣。
參加條件只有身上或銀行存款要有 1000 影特幣,以及必須是 60 級
以上的玩家這兩個要求。
Laechan
程式碼:
// /cmds/std/_divine.c
// laechan@sanc add in 2014/07/01
// 2014 暑假活動─聖殿擲筊大賽
#define DIVINE_PAY 1000
#define DIVINE_TIME 10
inherit DAEMON;
mapping divine_data;
static mapping divine_temp,divine_times;
static mixed divine_names;
int pays,max_throw;
void create()
{
mixed tmps;
string tmp;
seteuid(getuid(this_object()));
if(file_exists(__DIR__+"divine.o"))
restore_object(__DIR__+"divine");
if(!divine_data)
divine_data=([]);
if(!divine_temp)
divine_temp=([]);
if(!divine_times)
divine_times=([]);
if(!pays) pays=0;
if(!max_throw) max_throw=0;
if(!divine_names)
{
divine_names=({});
tmps=keys(divine_data);
foreach(tmp in tmps)
if(!undefinedp(divine_data[tmp]))
divine_names+=keys(divine_data[tmp]);
}
}
int save_room()
{
save_object(__DIR__+"divine");
return 1;
}
int cmd_divine(string str)
{
string names;
int n;
object me=this_player();
if(!str || str=="")
return notify_fail(@LONG
divine(線上擲筊大賽)指令說明:
=================================================
divine -pay 付出 1000 影特幣
divine -throw 做出擲筊的動作
參與條件: 等級 60 且身上或銀行存款有 1000 影特幣
只要有付出 1000 影特幣的玩家,都可以馬上開始擲筊
,做出擲筊的動作時會瞬間出現兩個發光的筊自玩家的
手中丟出。
只要出現了聖筊,就可以一直擲,直到出現笑筊為止。
每天都可以 divine -pay 最多 10 次。
活動結束時將選出擲出了最多聖筊的前幾名玩家,給予
獎品。首獎:可以許願的油燈。
=================================================
LONG
);
names=me->query("name");
if(str=="-pay")
{
if(me->query("level")<60)
return notify_fail("divine: 你的等級要達到 60 級才能參加比賽喔.\n");
if(me->query("wealth")<DIVINE_PAY && me->query("balance")<DIVINE_PAY)
return notify_fail("divine: 你身上或銀行裡頭沒有 "+DIVINE_PAY+
" 影特幣喔.\n");
if(!undefinedp(divine_temp[names]))
return notify_fail("divine: 你已經有付過錢囉,可以開始擲筊了.\n");
if((int)divine_times[names]>=DIVINE_TIME)
return notify_fail("divine: 你今天已經付過 "+DIVINE_TIME+" 次錢了喔。\n");
pays++;
if(me->query("wealth")>DIVINE_PAY)
me->add("wealth",-DIVINE_PAY);
else
me->add("balance",-DIVINE_PAY);
divine_temp[names]=0;
if(undefinedp(divine_times[names]))
divine_times[names]=1;
else
divine_times[names]+=1;
if(undefinedp(divine_data[names[0..0]]))
divine_data[names[0..0]]=([]);
save_room();
// 有付錢時 divine_temp[names] 才會有資料
str="你付了 "+DIVINE_PAY+" 影特幣給聖殿擲筊大賽主辦單位。\n"+
"你目前的最佳紀錄是 "+divine_data[names[0..0]][names]+" 次聖筊。\n"+
"而目前的最佳紀錄是 "+max_throw+" 次聖筊。\n"+
"你現在可以開始 divine -throw 了。\n");
return notify_fail(str);
}
else if(str=="-throw")
{
if(undefinedp(divine_temp[names]))
return notify_fail("divine: 你要先 divine -pay 喔.\n");
show(me,me,"$N向著前方做出了擲筊的動作。\n"+
"只見兩個發光的筊瞬間自你的手中飛出,不久後落到了地上。\n");
if(random(2)==random(2))
{
divine_temp[names]+=1;
write(HIR"【擲筊】恭喜!你擲出了聖筊!你可以再繼續擲喔!"NOR"\n");
n=(int)divine_temp[names];
if(n>=3)
shout(CYN"【擲筊】恭喜!"+me->query("short")+NOR+CYN"擲出了 "+n+
" 次聖筊。"NOR"\n");
if(undefinedp(divine_data[names[0..0]][names]))
divine_data[names[0..0]][names]=1;
else if((int)divine_data[names[0..0]][names]<divine_temp[names])
divine_data[names[0..0]][names]=n;
if(n>max_throw)
{
write(HIR"【擲筊】你擲出了破紀錄的 "+n+" 次聖筊了!"NOR"\n");
shout(CYN"【擲筊】恭喜!"+me->query("short")+NOR+CYN"擲出了破紀錄的 "+
n+" 次聖筊!"NOR"\n");
max_throw=n;
}
save_room();
}
else
{
write(NOR+YEL"【擲筊】唉呀!你擲出了笑筊....歡迎下次再來參加喔!"NOR"\n"+
"你目前的擲筊大賽最佳紀錄是: "+divine_data[names[0..0]][names]+
" 次聖筊。\n");
map_delete(divine_temp,names);
}
return notify_fail("");
}
return cmd_divine("");
}
--
Tags:
線上
All Comments
By Zenobia
at 2014-07-04T08:17
at 2014-07-04T08:17
Related Posts
【全民拉霸王】尬出紫卡好手氣(7/1~8/14)
By Harry
at 2014-07-01T16:12
at 2014-07-01T16:12
第一屆聖殿盃線上擲筊大賽活動開催
By Joe
at 2014-07-01T16:08
at 2014-07-01T16:08
SAO血尿地城活動
By Una
at 2014-07-01T15:03
at 2014-07-01T15:03
威哥套出了~~還是擺在坑爹祕寶中。
By Jacob
at 2014-07-01T12:34
at 2014-07-01T12:34
「喜望峰へ」
By Hedwig
at 2014-07-01T12:29
at 2014-07-01T12:29