月光論壇 (http://bbs.djorz.com/)


月光論壇 -> RO架設教學私服疑難解答 -> 請問怎麼改道館死亡不會強制回城@@ [列印本頁] 登入 -> 註冊

sunkistea 2013-5-27 22:27

malangdo.gat,175,212,5    script    道館傳送員    737,{    callfunc "Mod_F10_Script";    }
//====================================================//

-    script    ModF_OnInit    -1,{    OnInit:

//--- Script 執行時的相關設定 , 請各依情況斟酌 ---

//----- 道館的報名費用 (預設 50000 Zeny) -----
   set $@ModFZenyC,10000;

//----- 隊員的參加費用 (預設 50000 Zeny) -----
   set $@ModFZenyP,3000;

//----- 道館的參加人數 (預設 10人) -----
   set $@ModFPlayer,25;

//----- 道館的怪物編號 -----
   setarray $@ModFName[1],1038,1039,1046,1059,1086,1087,1112,1115,1147,1150,1157,1159,
   1190,1251,1252,1272,1312,1373,1389,1418,1492,1511,1583,1623,1630,1658,1685,1688,1785,1805,1806,1807,1808,1809,1810,1817,1832,1874,1871,1885,1917,1956,1957,1990,1991,2017,2022,2068,2087;

//----- 道館的總關數 (預設 10關) -----
   set $@AllGuanShu,10;

//----- 道館的休息關數 -----
   setarray $@RestsGuanShu[1],9;

//----- 道館的怪物數量 ----- (警告:它的尺寸須與"道館的總關數"相等)
   setarray $@GuanShuMod[1],1,1,1,1,1,1,1,1,1,3;

//====================================================//

//--- 道館獎勵員的相關設定 , 請各依情況斟酌 ---

//----- 道館獎勵的獎金設定 -----
//----- 獎勵金額最少能夠取得多少 (預設 100萬 Zeny) (單位:萬元)
   set $@ModFReMinZeny,5000000;

//----- 獎勵金額最多能夠取得多少 (預設 300萬 Zeny) (單位:萬元)
   set $@ModFReMaxZeny,3000000;

//----- 道館獎勵的獎品設定 -----
//-------第10關獎品id-----
   setarray $@ken0609[1],607,608,7042,984,985,12103;

//------第10關領獎數目----
   setarray $@ken[1],100,100,3,50,50,5,2,3;


//====================================================//

//--- Script 執行時的特殊設定 , 請各勿亂做更改 ---

   set $@ModF_Time_Check,0;
   set $@ModFNameSize,(getarraysize($@ModFName)-1);
   set $@ModFItemSize,(getarraysize($@ken0609)-1);
}

//====================================================//

function    script    Mod_F10_Script    {

   if ( $@ModF_Time_Check == 1 ) {
       announce "道館傳送員 : 有玩家正在報名中,請稍後或等待 30 秒鐘!",bc_self,0xFF0000;
       close;
   }
   set $@ModF_Time_Check,1;
   initnpctimer "ModF_Time_Check";
   if ( getcharid(1) == 0 ) {
       mes "[道館傳送員]";
       mes "對不起,您沒有加入任何隊伍!";
       mes "無法參加挑戰賽。";
       set $@ModF_Time_Check,0;
       close;
   }
   for ( set @MnF,1; @MnF <= 5; set @MnF,@MnF+1 ) {
       if ( getmapusers("guild_vs"+@MnF+".gat") == 0 ) set $@ModFPID[@MnF],0;
   }
   for ( set @MnF,1; @MnF <= 5; set @MnF,@MnF+1 ) {
       if ( getcharid(1) == $@ModFPID[@MnF] ){
           mes "[道館傳送員]";
           mes "您好,我是道館傳送員。";
           mes "您是 [^FF0000"+getpartyname(getcharid(1))+"^000000] 的隊員吧!";
           mes "參加前須付^FF0000"+$@ModFZenyP+"^000000的參加費唷!";
           mes "請問有需要為您服務嗎?";
           next;
           if (select("我要參加挑戰!","不小心點到!")==2) {
               mes "[道館傳送員]";
               mes "那您以後別在那麼不小心哩!";
               set $@ModF_Time_Check,0;
               close;
           }
           if ( $@ModF_Time_Check == 0 ) {
               announce "道館傳送員 : 已超過報名時間!請您在重新報名一次。",bc_self,0xFF0000;
               close;
           }
           set $@ModF_Time_Check,0;
           if ( $@ModFStart[@MnF] == 1 ) {
               mes "[道館傳送員]";
               mes "您的隊友已經開始挑戰了,";
               mes "請稍後或加入其他隊伍另外報名參加!";
               close;
           }
           if ( zeny < $@ModFZenyP ) {
               mes "[道館傳送員]";
               mes "對不起,您沒有足夠的金錢!";
               close;
           }
           if ( getmapusers("guild_vs"+@MnF+".gat") >= $@ModFPlayer ) {
               mes "[道館傳送員]";
               mes "隊伍 [^FF0000"+getpartyname(getcharid(1))+"^000000] 參加的人數已滿,";
               mes "請稍後或加入其他隊伍另外報名參加!";
               close;
           }
           set zeny,zeny - $@ModFZenyP;
           warp "guild_vs"+@MnF+".gat",49,47;
           end;
}
   }

//====================================================//

   mes "[道館傳送員]";
   mes "您好,我是道館傳送員。";
   mes "您和您的隊伍要報名參加挑戰賽嗎?";
   mes "參加前須付^FF0000"+$@ModFZenyC+"^000000的報名費唷!";
   mes "請問有需要為您服務嗎?";
   next;
   if (select("我要參加挑戰!","不小心點到!")==2) {
       mes "[道館傳送員]";
       mes "那您以後別在那麼不小心哩!";
       set $@ModF_Time_Check,0;
       close;
   }
   if ( $@ModF_Time_Check == 0 ) {
       announce "道館傳送員 : 已超過報名時間!請您在重新報名一次。",bc_self,0xFF0000;
       close;
   }
   set $@ModF_Time_Check,0;
   if ( Zeny < $@ModFZenyC ) {
       mes "[道館傳送員]";
       mes "對不起,您沒有足夠的金錢!";
       close;
   }
   for ( set @MnF,1; @MnF <= 5; set @MnF,@MnF+1 ) {
       if ( getmapusers("guild_vs"+@MnF+".gat") == 0 ) {
           enablenpc "道館裁判#"+@MnF+"";
           killmonsterall "guild_vs"+@MnF+".gat";
           set Zeny,Zeny - $@ModFZenyC;
           set $@ModFStart[@MnF],0;
           set $@ModFPID[@MnF],getcharid(1);
           set $@ModFCID[@MnF],getcharid(0);
           set $@GuanShu[@MnF],1;
           announce "請 ["+getpartyname($@ModFPID[@MnF])+"] 隊伍的隊員,找 [道館傳送員] !",15;
           warp "guild_vs"+@MnF+".gat",49,47;
           end;

}

   }
   mes "[道館傳送員]";
   mes "所有場地都有隊伍在挑戰中,";
   mes "請您稍後再試,謝謝!!";
   close;
}


//====================================================//

-    script    ModF_Time_Check    -1,{

OnTimer15000:
   set $@ModF_Time_Check,0;
   setnpctimer 0;
   end;
}

//====================================================//

guild_vs1.gat,50,49,4    script    道館裁判#1    758,{ callfunc "ModF_Referee",1; }
guild_vs2.gat,50,49,4    script    道館裁判#2    758,{ callfunc "ModF_Referee",2; }
guild_vs3.gat,50,49,4    script    道館裁判#3    758,{ callfunc "ModF_Referee",3; }
guild_vs4.gat,50,49,4    script    道館裁判#4    758,{ callfunc "ModF_Referee",4; }
guild_vs5.gat,50,49,4    script    道館裁判#5    758,{ callfunc "ModF_Referee",5; }

//====================================================//

function    script    ModF_Referee    {

   if ( getcharid(0) != $@ModFCID[@MnF] ) {
       mes "[道館裁判]";
       mes "您不是報名參加挑戰賽的人";
       close;
   }
   mes "[道館裁判]";
   mes "您好,我是道館裁判。";
   mes "請問有需要為您服務嗎?";
   next;
   switch(select("開始挑戰!","不小心點到!")) {
   case 1:
       set $@ModFStart[@MnF],1;
       set $@CheckAllGS[@MnF],0;
       set $@ModFQuantity[@MnF],$@GuanShuMod[$@GuanShu[@MnF]];
       disablenpc "道館裁判#"+@MnF+"";
       doevent "ModF_Mod::OnSummon_ModF";
       close;
       end;
   case 2:
       mes "[道館裁判]";
       mes "那您以後別在那麼不小心哩!";

close;
   }
}

//====================================================//

-    script    ModF_Mod    -1,{

OnSummon_ModF:
   set $@ModF,rand(1,$@ModFNameSize);
   set $@ModFQuantity[@MnF],$@ModFQuantity[@MnF]-1;
   monster "guild_vs"+@MnF+".gat",50,50,"--ja--",$@ModFName[$@ModF],1,"ModF_Mod::OnKill_ModF";
   if ( $@CheckAllGS[@MnF] == 0 && $@GuanShu[@MnF] == $@AllGuanShu ) {
       set $@CheckAllGS[@MnF],1;
       announce "道館裁判 : 最後一關挑戰開始,請繼續努力!",1;
       end;
   }
   announce "道館裁判 : 魔物放出,挑戰開始!",1;
   end;
OnKill_ModF:
   if ( $@ModFQuantity[@MnF] != 0 ) {
       addtimer 2500,"ModF_Mod::OnSummon_ModF";
       end;
   }
   if ( $@GuanShu[@MnF] == $@AllGuanShu ) {
       announce "道館裁判 : 恭喜隊伍 ["+getpartyname($@ModFPID[@MnF])+"] ,挑戰道館成功!!",15;
       areawarp "guild_vs"+@MnF+".gat",0,0,300,300,"guild_room.gat",42,285;
       end;
   }
   announce "道館裁判 : 恭喜第 ["+$@GuanShu[@MnF]+"] 關挑戰成功!",17;
   set @CheckRests,0;
CheckRests:
   if ( getarraysize($@RestsGuanShu) > @CheckRests ){
       if ( $@GuanShu[@MnF] == $@RestsGuanShu[@CheckRests] ) {
           set $@GuanShu[@MnF],$@GuanShu[@MnF] +1;
           announce "道館裁判 : 休息時間,請準備好在開始挑戰!",17;
           enablenpc "道館裁判#"+@MnF+"";
           end;
       }
       set @CheckRests,@CheckRests+1;
       goto CheckRests;
   }
   set $@GuanShu[@MnF],$@GuanShu[@MnF] +1;
   set $@ModFQuantity[@MnF],$@GuanShuMod[$@GuanShu[@MnF]];
   addtimer 5000,"ModF_Mod::OnSummon_ModF";
   end;
}

//====================================================//

guild_room.gat,30,285,4    script    獎品發放員    736,{

   mes "[獎品發放員]";
   mes "你很厲害!能打到這裡,讓我給你一些獎勵吧!";
    percentheal 100,100;
   next;
   mes "[獎品發放員]";
   mes "我負責發放獎品";
   mes "你將會隨機獲得獎品";
   mes "你確定你要選擇領獎品嗎?";
   mes "想要的話就來試試手氣吧";
   next;
   menu "對,我要領獎品!",-,"不了,讓我在考慮一下!",cancel;
    set @gi,rand(11);
   if (@gi ==0)getitem 9058,1;
   if (@gi ==1)getitem 9085,5;
    if (@gi ==2)getitem 596,10;
    if (@gi ==3)getitem 596,50;
    if (@gi ==4)getitem 597,10;
    if (@gi ==5)getitem 597,50;
    if (@gi ==6)getitem 9065,5;
    if (@gi ==7)getitem 9068,5;
    if (@gi ==8)getitem 9071,5;
       if (@gi ==9)getitem 9072,5;
       if (@gi ==10)getitem 9073,5;
       if (@gi ==11)getitem 9074,5;
       if (@gi ==11)getitem 6053,5;


   warp "malangdo.gat",180,203;
   cancel:
       close;
OnInit:
   waitingroom "獎品發放員",0;
   end;
}

guild_room.gat,53,285,4    script    獎金發放員    737,{

   mes "[獎金發放員]";
   mes "你很厲害!能打到這裡,讓我給你一些獎勵吧!";
   percentheal 100,100;
   next;
   mes "[獎金發放員]";
   mes "我是負責發放獎金的";
   mes "你將會隨機獲得500萬到1000萬不等的金錢";
   mes "還有機會得到特別大獎 2000萬";
   mes "你確定你要選擇獎金嗎?";
   next;
   menu "對,我要領獎金!",-,"不了,讓我在考慮一下!",cancel;
   set @gi,rand(5000000,10000000);
   if (@gi == 44444) goto Lvvv;
   set zeny,zeny+@gi;
   mes "[獎金發放員]";
   mes "獎金還算多吧?";
   next;
   warp "malangdo.gat",180,203;
   cancel:
       close;
OnInit:
   waitingroom "獎金發放員",0;
   end;
Lvvv:
   mes "[獎金發放員]";
   mes "恭喜!你得到特別獎金";
   set zeny,zeny+20000000;
   next;
   warp "prontera.gat",149,177;
       close;
}
//====================================================//

guild_room.gat    mapflag    nobranch
guild_room.gat    mapflag    nomemo
guild_room.gat    mapflag    nopenalty
guild_room.gat    mapflag    noteleport


guild_vs1.gat    mapflag    nobranch
guild_vs1.gat    mapflag    nomemo
guild_vs1.gat    mapflag    nopenalty
guild_vs1.gat    mapflag    noteleport


guild_vs2.gat    mapflag    nobranch
guild_vs2.gat    mapflag    nomemo
guild_vs2.gat    mapflag    nopenalty
guild_vs2.gat    mapflag    noteleport


guild_vs3.gat    mapflag    nobranch
guild_vs3.gat    mapflag    nomemo
guild_vs3.gat    mapflag    nopenalty
guild_vs3.gat    mapflag    noteleport


guild_vs4.gat    mapflag    nobranch
guild_vs4.gat    mapflag    nomemo
guild_vs4.gat    mapflag    nopenalty
guild_vs4.gat    mapflag    noteleport


guild_vs5.gat    mapflag    nobranch
guild_vs5.gat    mapflag    nomemo
guild_vs4.gat    mapflag    nopenalty
guild_vs4.gat    mapflag    noteleport


//====================================================//

本文章使用了關鍵字:



查看完整版本: [-- 請問怎麼改道館死亡不會強制回城@@ --] [-- top --]
月光論壇為自由討論論壇,所有個人言論不代表本站立場。文章內容如有涉及侵權請連絡我們,將立即刪除相關文章資料

Powered by PHPWind v5.0.1
Code © 2003-05 PHPWind

Total 0.001460(s) query 2 Gzip enabled
著作權侵權 | 本網站已依台灣網站內容分級規定處理 | 聯絡我們