【仕様】
1アカウント1日1回、5種類の魔力石をランダムで3個入手できる。
5種類を1組とし、1組で1個、ハロウィンアイテムと交換できる。
魔力石はプレイヤー間交換可に設定し、ログイン率向上と、プレイヤー間での交流を活発にする目的。
1人でも5日、3垢で2日も回せばハロウィンアイテム1個はゲットできる。
名前付きのアイテムにもできて、記念にプレゼントしてもいいし、
使うことでランダム効果を発動する。(関数で設定)
ボスも低確率で出るので、お祭り感。いっぱい使えた人、ラッキーな人に驚きを。
XXXXXX.gat,111,222,4 script ハロウィンのこども 812,{
if(#Halloweenday!=(gettime(6)*100+gettime(5))){
mes "【こどもたち】"; //NPC名と違うのは仕様
mes "Trick or Treat !";
next;
//フレイバー的なアレ
switch(select("お菓子をあげる")){
case 1:
}
mes "【こどもたち】";
mes "わーい、ありがとう!";
mes "お礼にこれあげるね!";
next;
//5つの色の魔力石をランダムに3個配る
for(set @i,0;@i<3;set @i,@i+1){
getitem rand(7426,7430),1;
}
//1アカウント1日1回
set #Halloweenday,gettime(6)*100+gettime(5);
mes "【こどもたち】";
mes "この石、色々持ってると";
mes "いいことがあるらしいよ!";
mes "それじゃあまたね!";
close;
}
mes "【こどもたち】";
mes "あれ、さっきもお菓子もらったよ?";
mes "ママに1日1個までって言われてるの。";
mes " ";
mes "※お菓子をあげられるのは";
mes " 24時を過ぎてからです。";
close;
//10/31までの実装
OnMonthDay1101:
hideonnpc;
end;
}
XXXXX.gat,111,222,4 script ハロウィンのおばけ 802,{
mes "【w-o-w】"; //NPC名と違うのは仕様、ウィルオーウィスプさん。
mes "きみ……あれもってる?";
next;
if(select("はい","あれってなに?",) > 1) {
mes "【w-o-w】";
mes "おや……初めてだったかな。";
mes "あれっていうのは魔力石のことだよ。";
mes " ";
mes "ハロウィンの時だけ配られるから、僕はそれを集めて体を維持するエネルギーにしてるのさ……。";
next;
mes "【w-o-w】";
mes "もちろん、交換のお礼はするよ……。";
mes "ただ、バランスの悪い食事はイヤだからね……。";
mes "5種類1セットで交換することにしてるよ。";
next;
}
mes "【w-o-w】";
mes "それじゃあ……";
mes "交換してくれるかい……?";
next;
switch(select("カボチャケーキと交換","名前入りカボチャケーキと交換","止める")){
case 1:
set @name,0;
break;
case 2:
set @name,1;
break;
case 3:
close;
}
mes "【w-o-w】";
mes "いくつ交換する……?";
set @item_amo,0;
next;
switch(select("1個ずつ交換する","できるだけ交換する","止める")){
case 1: //@menuに代入するだけ
case 2: //何セットあるか確認
for(set @i,0;(countitem(7426)-@i>0)&&(countitem(7427)-@i>0)&&(countitem(7428)-@i>0)&&(countitem(7429)-@i>0)&&(countitem(7430)-@i>0);set @i,@i+1){
set @item_amo,@item_amo+1;
}
break;
case 3:
close;
}
//アイテムが足りない場合は終了
if(@item_amo <1){
mes "【w-o-w】";
mes "おや……アイテムが足りないよ。";
mes "集めてまた話しかけてくれるかな……。";
close;
}
//選択肢が1個ずつの交換だった場合
if(@menu==1){
set @item_amo,1;
}
//名前入りかどうかの分岐
if(@name){
getitem2 11550,@item_amo,1,0,0,254,0,getcharid(0)&0xffff,(getcharid(0)>>16)&0xffff;
}else{
getitem 11550,@item_amo;
}
//アイテム消費
delitem 7426,@item_amo;
delitem 7427,@item_amo;
delitem 7428,@item_amo;
delitem 7429,@item_amo;
delitem 7430,@item_amo;
mes "【w-o-w】";
mes "ありがとう……。";
mes "いくつでも交換できるから";
mes "またよろしくね……。";
close;
OnMonthDay1101:
hideonnpc;
end;
}
function script halloween {
setarray '@halloween[0],20,30,5,12,3,30;
set @per,rand(1,100);
set @index,0;
for(set @i,0;@i < 6; set @i,@i+1){
if(@per > 100-'@halloween[@i]){set @index,@i; set @i,6;}
setarray '@halloween[@i+1],'@halloween[@i]+'@halloween[@i+1];
}
//占いと同じ排出システムを採用。
switch(@index+1){
case 1: //出血
announce "このケーキ……激辛だ……!",0x13;
sc_start SC_Bleed,60000,0;
break;
case 2: //猛毒
announce "形容し難い味がする……",0x13;
sc_start SC_Poison,60000,0;
break;
case 3: //ルード沸く
announce "匂いに惹かれてハロウィンの魔物が現れた!",0x12;
monster "this",0,0,"--ja--",1509,5;
break;
case 4: //ジャック沸く
announce "匂いに惹かれてハロウィンの魔物が現れた!",0x12;
monster "this",0,0,"--ja--",1926,1;
break;
case 5: //LoD沸く 3%だったけど実装期間中1回たまり場が襲撃された。確率設定は良い感じだったかな?
announce "匂いに惹かれてハロウィンの魔物が現れた!",0x12;
monster "this",0,0,"--ja--",1373,1;
break;
case 6: //ニブルに行く
announce "この味はニブルヘイムの風景を思い起こさせる……",0x13;
misceffect 183;
warp "niflheim.gat",195,185;
}
return;
}
最終更新:2018年01月21日 00:55