OK論壇

 找回密碼
 註冊
查看: 1032|回復: 0

[EA13436]道管怪物問題

 關閉 [複製鏈接]

該用戶從未簽到

發表於 2009-3-15 04:22:05 | 顯示全部樓層 |閱讀模式
我希望能改能10關,1~7關1之怪,8~9關2之,10關3之
感恩大大幫忙
new_1-4.gat,67,188,5 script 道館傳送員 936,{ callfunc "Mod_F10_Script"; }
//====================================================//
- script ModF_OnInit -1,{ OnInit:
//--- Script 執行時的相關設定 , 請各伺服器依情況斟酌 ---
//----- 道館的報名費用 (預設 50000 Zeny) -----
set [email=$@ModFZenyC,500000]$@ModFZenyC,500000[/email];
//----- 隊員的參加費用 (預設 50000 Zeny) -----
set [email=$@ModFZenyP,10]$@ModFZenyP,10[/email];
//----- 道館的參加人數 (預設 10人) -----
set [email=$@ModFPlayer,15]$@ModFPlayer,15[/email];
//----- 道館的怪物編號 -----
setarray [email=$@ModFName[1],1038,1039,1046,1086,1087,1112,1150]$@ModFName[1],1038,1039,1046,1086,1087,1112,1150[/email]
    ,1157,1190,1251,1252,1272,1312,1373
    ,1719,1768,1779;
//----- 道館的總關數 (預設 10關) -----
set [email=$@AllGuanShu,10]$@AllGuanShu,10[/email];
//----- 道館的休息關數 -----
setarray [email=$@RestsGuanShu[1],0]$@RestsGuanShu[1],0[/email];
//----- 道館的怪物數量 ----- (警告:它的尺寸須與"道館的總關數"相等)
setarray [email=$@GuanShuMod[1],1,1,1,1,1,1,2,2,2,3]$@GuanShuMod[1],1,1,1,1,1,1,2,2,2,3[/email];
//====================================================//
//--- 道館獎勵員的相關設定 , 請各伺服器依情況斟酌 ---
//----- 道館獎勵的獎金設定 -----
//----- 獎勵金額最少能夠取得多少 (預設 100萬 Zeny) (單位:萬元)
set [email=$@ModFReMinZeny,100]$@ModFReMinZeny,100[/email];
//----- 獎勵金額最多能夠取得多少 (預設 300萬 Zeny) (單位:萬元)
set [email=$@ModFReMaxZeny,300]$@ModFReMaxZeny,300[/email];
//----- 道館獎勵的獎品設定 -----
//----- 獎勵獎品能夠取得的物品
setarray [email=$@ModFReItemAID[1],7420]$@ModFReItemAID[1],7420[/email];
//----- 獎勵獎品能夠取得的數量
setarray [email=$@ModFReItemNum[1],40]$@ModFReItemNum[1],40[/email];
//====================================================//
//--- Script 執行時的特殊設定 , 請各伺服器勿亂做更改 ---
set [email=$@ModF_Time_Check,0]$@ModF_Time_Check,0[/email];
set [email=$@ModFNameSize,(getarraysize($@ModFName)-1]$@ModFNameSize,(getarraysize($@ModFName)-1[/email]);
set [email=$@ModFItemSize,(getarraysize($@ModFReItemAID)-1]$@ModFItemSize,(getarraysize($@ModFReItemAID)-1[/email]);
}
//====================================================//
function script Mod_F10_Script {
if ( [email=$@ModF_Time_Check]$@ModF_Time_Check[/email] == 1 ) {
  announce "道館傳送員 : 有玩家正在報名中,請稍後或等待 30 秒鐘!",bc_self,0xFF0000;
  close;
}
set [email=$@ModF_Time_Check,1]$@ModF_Time_Check,1[/email];
initnpctimer "ModF_Time_Check";
if ( getcharid(1) == 0 ) {
  mes "[道館傳送員]";
  mes "對不起,您沒有加入任何隊伍!";
  mes "無法參加挑戰賽。";
  set [email=$@ModF_Time_Check,0]$@ModF_Time_Check,0[/email];
  close;
}
for ( set @MnF,1; @MnF <= 5; set @MnF,@MnF+1 ) {
  if ( getmapusers("guild_vs"[email=+@MnF+]+@MnF+".gat[/email]") == 0 ) set [email=$@ModFPID[@MnF],0]$@ModFPID[@MnF],0[/email];
}
for ( set @MnF,1; @MnF <= 5; set @MnF,@MnF+1 ) {
  if ( getcharid(1) == [email=$@ModFPID[@MnF]$@ModFPID[@MnF[/email]] ){
   mes "[道館傳送員]";
   mes "您好,我是道館傳送員。";
   mes "您是 [^FF0000"+getpartyname(getcharid(1))+"^000000] 的隊員吧!";
   mes "參加前須付^FF0000"[email=+$@ModFZenyP+]+$@ModFZenyP+"^000000[/email]的參加費唷!";
   mes "請問有需要為您服務嗎?";
   next;
   if (select("我要參加挑戰!","不小心點到!")==2) {
    mes "[道館傳送員]";
    mes "那您以後別在那麼不小心哩!";
    set [email=$@ModF_Time_Check,0]$@ModF_Time_Check,0[/email];
    close;
   }
   if ( [email=$@ModF_Time_Check]$@ModF_Time_Check[/email] == 0 ) {
    announce "道館傳送員 : 已超過報名時間!請您在重新報名一次。",bc_self,0xFF0000;
    close;
   }
   set [email=$@ModF_Time_Check,0]$@ModF_Time_Check,0[/email];
   if ( [email=$@ModFStart[@MnF]$@ModFStart[@MnF[/email]] == 1 ) {
    mes "[道館傳送員]";
    mes "您的隊友已經開始挑戰了,";
    mes "請稍後或加入其他隊伍另外報名參加!";
    close;
   }
   if ( zeny < [email=$@ModFZenyP]$@ModFZenyP[/email] ) {
    mes "[道館傳送員]";
    mes "對不起,您沒有足夠的金錢!";
    close;
   }
   if ( getmapusers("guild_vs"[email=+@MnF+]+@MnF+".gat[/email]") >= [email=$@ModFPlayer]$@ModFPlayer[/email] ) {
    mes "[道館傳送員]";
    mes "隊伍 [^FF0000"+getpartyname(getcharid(1))+"^000000] 參加的人數已滿,";
    mes "請稍後或加入其他隊伍另外報名參加!";
    close;
   }
   set zeny,zeny - [email=$@ModFZenyP]$@ModFZenyP[/email];
   warp "guild_vs"[email=+@MnF+]+@MnF+".gat",49,47[/email];
   end;
  }
}
//====================================================//
mes "[道館傳送員]";
mes "您好,我是道館傳送員。";
mes "您和您的隊伍要報名參加挑戰賽嗎?";
mes "參加前須付^FF0000"[email=+$@ModFZenyC+]+$@ModFZenyC+"^000000[/email]的報名費唷!";
mes "請問有需要為您服務嗎?";
next;
if (select("我要參加挑戰!","不小心點到!")==2) {
  mes "[道館傳送員]";
  mes "那您以後別在那麼不小心哩!";
  set [email=$@ModF_Time_Check,0]$@ModF_Time_Check,0[/email];
  close;
}
if ( [email=$@ModF_Time_Check]$@ModF_Time_Check[/email] == 0 ) {
  announce "道館傳送員 : 已超過報名時間!請您在重新報名一次。",bc_self,0xFF0000;
  close;
}
set [email=$@ModF_Time_Check,0]$@ModF_Time_Check,0[/email];
if ( Zeny < [email=$@ModFZenyC]$@ModFZenyC[/email] ) {
  mes "[道館傳送員]";
  mes "對不起,您沒有足夠的金錢!";
  close;
}
for ( set @MnF,1; @MnF <= 5; set @MnF,@MnF+1 ) {
  if ( getmapusers("guild_vs"[email=+@MnF+]+@MnF+".gat[/email]") == 0 ) {
   enablenpc "道館裁判#"[email=+@MnF]+@MnF[/email]+"";
   killmonsterall "guild_vs"[email=+@MnF+]+@MnF+".gat[/email]";
   set Zeny,Zeny - [email=$@ModFZenyC]$@ModFZenyC[/email];
   set [email=$@ModFStart[@MnF],0]$@ModFStart[@MnF],0[/email];
   set [email=$@ModFPID[@MnF],getcharid(1]$@ModFPID[@MnF],getcharid(1[/email]);
   set [email=$@ModFCID[@MnF],getcharid(0]$@ModFCID[@MnF],getcharid(0[/email]);
   set [email=$@GuanShu[@MnF],1]$@GuanShu[@MnF],1[/email];
   announce "請 ["+getpartyname([email=$@ModFPID[@MnF]$@ModFPID[@MnF[/email]])+"] 隊伍的隊員,找 [道館傳送員] !",15;
   warp "guild_vs"[email=+@MnF+]+@MnF+".gat",49,47[/email];
   end;
  }
}
mes "[道館傳送員]";
mes "所有場地都有隊伍在挑戰中,";
mes "請您稍後再試,謝謝!!";
close;
}
//====================================================//
- script ModF_Time_Check -1,{
OnTimer15000:
set [email=$@ModF_Time_Check,0]$@ModF_Time_Check,0[/email];
setnpctimer 0;
end;
}
//====================================================//
function script ModF_Referee {
if ( getcharid(0) != [email=$@ModFCID[@MnF]$@ModFCID[@MnF[/email]] ) {
  mes "[道館裁判]";
  mes "您不是報名參加挑戰賽的人";
  close;
}
mes "[道館裁判]";
mes "您好,我是道館裁判。";
mes "請問有需要為您服務嗎?";
next;
switch(select("開始挑戰!","不小心點到!")) {
case 1:
  set [email=$@ModFStart[@MnF],1]$@ModFStart[@MnF],1[/email];
  set [email=$@CheckAllGS[@MnF],0]$@CheckAllGS[@MnF],0[/email];
  set [email=$@ModFQuantity[@MnF],$@GuanShuMod[$@GuanShu[@MnF]$@ModFQuantity[@MnF],$@GuanShuMod[$@GuanShu[@MnF[/email]]];
  disablenpc "道館裁判#"[email=+@MnF]+@MnF[/email]+"";
  doevent "ModF_Mod::OnSummon_ModF";
  close;
  end;
case 2:
  mes "[道館裁判]";
  mes "那您以後別在那麼不小心哩!";
  OnInit:
waitingroom "【道場傳送】",0;
close;
}
}
//====================================================//
- script ModF_Mod -1,{
OnSummon_ModF:
set [email=$@ModF,rand(1,$@ModFNameSize]$@ModF,rand(1,$@ModFNameSize[/email]);
set [email=$@ModFQuantity[@MnF],$@ModFQuantity[@MnF]-1]$@ModFQuantity[@MnF],$@ModFQuantity[@MnF]-1[/email];
monster "guild_vs"[email=+@MnF+]+@MnF+".gat",50,50,"--ja--",$@ModFName[$@ModF],1,"ModF_Mod::OnKill_ModF[/email]";
if ( [email=$@CheckAllGS[@MnF]$@CheckAllGS[@MnF[/email]] == 0 && [email=$@GuanShu[@MnF]$@GuanShu[@MnF[/email]] == [email=$@AllGuanShu]$@AllGuanShu[/email] ) {
  set [email=$@CheckAllGS[@MnF],1]$@CheckAllGS[@MnF],1[/email];
   announce "道館裁判 : 最後一關挑戰開始,請繼續努力!",1;
  end;
}
announce "道館裁判 : 魔物放出,挑戰開始!",1;
end;
OnKill_ModF:
if ( [email=$@ModFQuantity[@MnF]$@ModFQuantity[@MnF[/email]] != 0 ) {
  addtimer 2500,"ModF_Mod::OnSummon_ModF";
  end;
}
if ( [email=$@GuanShu[@MnF]$@GuanShu[@MnF[/email]] == [email=$@AllGuanShu]$@AllGuanShu[/email] ) {
  announce "道館裁判 : 恭喜隊伍 ["+getpartyname([email=$@ModFPID[@MnF]$@ModFPID[@MnF[/email]])+"] ,挑戰道館成功!!",15;
  areawarp "guild_vs"[email=+@MnF+]+@MnF+".gat",0,0,300,300,"arena_room.gat",136,132[/email];
  end;
}
announce  "道館裁判 : 恭喜第 ["[email=+$@GuanShu[@MnF]+$@GuanShu[@MnF[/email]]+"] 關挑戰成功!",17;
set @CheckRests,0;
CheckRests:
if ( getarraysize([email=$@RestsGuanShu]$@RestsGuanShu[/email]) > @CheckRests ){
  if ( [email=$@GuanShu[@MnF]$@GuanShu[@MnF[/email]] == [email=$@RestsGuanShu[@CheckRests]$@RestsGuanShu[@CheckRests[/email]] ) {
   set [email=$@GuanShu[@MnF],$@GuanShu[@MnF]$@GuanShu[@MnF],$@GuanShu[@MnF[/email]] +1;
    announce "道館裁判 : 休息時間,請準備好在開始挑戰!",17;
   enablenpc "道館裁判#"[email=+@MnF]+@MnF[/email]+"";
   end;
  }
  set @CheckRests,@CheckRests+1;
  goto CheckRests;
}
set [email=$@GuanShu[@MnF],$@GuanShu[@MnF]$@GuanShu[@MnF],$@GuanShu[@MnF[/email]] +1;
set [email=$@ModFQuantity[@MnF],$@GuanShuMod[$@GuanShu[@MnF]$@ModFQuantity[@MnF],$@GuanShuMod[$@GuanShu[@MnF[/email]]];
addtimer 5000,"ModF_Mod::OnSummon_ModF";
end;
}

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

Archiver|手機版|小黑屋|OK討論區

GMT+8, 2024-5-19 12:44 PM , Processed in 0.073119 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表