OK論壇

 找回密碼
 註冊
查看: 921|回復: 1

請問我這個道管是哪裡錯誤?

[複製鏈接]

該用戶從未簽到

發表於 2008-9-2 08:58:15 | 顯示全部樓層 |閱讀模式
//====================================================//
//====================================================//
//==製作人 : 陳小修 (SkyTwo)       Eathena  ==//
//==更新日期 : 西元2008/07/07        Script ==//
//==腳本版號 : 繁體中文 v1.5 測試版         ==//
//==腳本名稱 : 道館挑戰賽              ==//
//==                        ==//
//==腳本出處 : http://srogm.no-ip.info/forum    ==//
//==                        ==//
//==各位大哥大姐轉載請保留以上,萬分感激。     ==//
//====================================================//
//====================================================//
//--- Script 執行時的NPC位置 , 請各伺服器依情況斟酌 ---
//--- Ps: 預設 prontera.gat,164,120
quiz_02.gat,24,391,5 script  禁.封印之管 734,{ callfunc "Mod_F10_Script"; }
//====================================================//
- script ModF_OnInit -1,{ OnInit:
//--- Script 執行時的相關設定 , 請各伺服器依情況斟酌 ---
//----- 道館的報名費用 (預設 10000000 Zeny) -----
set [email=$@ModFZenyC,1000000]$@ModFZenyC,1000000[/email];
//----- 隊員的參加費用 (預設 5000000 Zeny) -----
set [email=$@ModFZenyP,100000]$@ModFZenyP,100000[/email];
//----- 道館的參加人數 (預設 10人) -----
set [email=$@ModFPlayer,12]$@ModFPlayer,12[/email];
//----- 道館的怪物編號 -----
setarray [email=$@ModFName[1],1873,1832,1779,1768,1734,1708,1990,1991]$@ModFName[1],1873,1832,1779,1768,1734,1708,1990,1991[/email],
    1992,1993,1994,1995,1871;
//----- 道館的總關數 (預設 10關) -----
set [email=$@AllGuanShu,10]$@AllGuanShu,10[/email];
//----- 道館的休息關數 -----
setarray [email=$@RestsGuanShu[1],3,6,9]$@RestsGuanShu[1],3,6,9[/email];
//----- 道館的怪物數量 ----- (警告:它的尺寸須與"道館的總關數"相等)
setarray [email=$@GuanShuMod[1],1,1,1,1,1,1,1,1,1,1]$@GuanShuMod[1],1,1,1,1,1,1,1,1,1,1[/email];
//====================================================//
//--- 道館獎勵員的相關設定 , 請各伺服器依情況斟酌 ---
//----- 道館獎勵的獎金設定 -----
//----- 獎勵金額最少能夠取得多少 (預設 100萬 Zeny) (單位:萬元)
set [email=$@ModFReMinZeny,10000]$@ModFReMinZeny,10000[/email];
//----- 獎勵金額最多能夠取得多少 (預設 500萬 Zeny) (單位:萬元)
set [email=$@ModFReMaxZeny,10000]$@ModFReMaxZeny,10000[/email];
//----- 道館獎勵的商城點數設定 -----
//----- 獎勵商城點數最少能夠取得多少 (預設 10 點)
set [email=$@ModFReMinCash,150]$@ModFReMinCash,150[/email];
//----- 獎勵商城點數最多能夠取得多少 (預設 20 點)
set [email=$@ModFReMaxCash,200]$@ModFReMaxCash,200[/email];
//----- 道館獎勵的獎品設定 -----
//----- 獎勵獎品能夠取得的物品
setarray [email=$@ModFReItemAID[1],603,604,607,616,617,644]$@ModFReItemAID[1],603,604,607,616,617,644[/email];
//----- 獎勵獎品能夠取得的數量
setarray [email=$@ModFReItemNum[1],5,5,5,5,5,5]$@ModFReItemNum[1],5,5,5,5,5,5[/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,2; @MnF <= 6; set @MnF,@MnF+1 ) {
  if ( getmapusers("06guild_0"[email=+@MnF+]+@MnF+".gat[/email]") == 0 ) set [email=$@ModFPID[@MnF],0]$@ModFPID[@MnF],0[/email];
}
for ( set @MnF,2; @MnF <= 6; 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("06guild_0"[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 "06guild_0"[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,2; @MnF <= 2; set @MnF,@MnF+1 ) {
  if ( getmapusers("06guild_0"[email=+@MnF+]+@MnF+".gat[/email]") == 0 ) {
   enablenpc "道館裁判#"[email=+@MnF]+@MnF[/email]+"";
//   killmonsterall "06guild_0"[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 "06guild_0"[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;
}
//====================================================//
06guild_02.gat,50,49,4 script 道館裁判#1 758,{ callfunc "ModF_Referee",1; }
06guild_03.gat,50,49,4 script 道館裁判#2 758,{ callfunc "ModF_Referee",2; }
06guild_04.gat,50,49,4 script 道館裁判#3 758,{ callfunc "ModF_Referee",3; }
06guild_05.gat,50,49,4 script 道館裁判#4 758,{ callfunc "ModF_Referee",4; }
06guild_06.gat,50,49,4 script 道館裁判#5 758,{ callfunc "ModF_Referee",5; }
//====================================================//
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 "那您以後別在那麼不小心哩!";
  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 "06guild_0"[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 "06guild_0"[email=+@MnF+]+@MnF+".gat",0,0,300,300,"guild_room.gat",236,283[/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;
}
//====================================================//
guild_room.gat,227,287,4 script 道館獎勵員#1 935,{
mes "[道館獎勵員]";
mes "您好厲害!竟然能擊倒MVP怪物,";
mes "並且挑戰成功,給您一些獎勵吧!";
mes "請選擇您要的獎勵。";
next;
mes "[道館獎勵員]";
for ( set @i,1; @i < ([email=$@ModFItemSize+1]$@ModFItemSize+1[/email]); set @i,@i+1 ) {
  mes "獎品."[email=+@i]+@i[/email]+" ^FF0000"[email=+$@ModFReItemNum[@i]+]+$@ModFReItemNum[@i]+"^000000[/email] 個 ^0000FF"+getitemname([email=$@ModFReItemAID[@i])+]$@ModFReItemAID[@i])+"^000000[/email]";
}
mes "您將會隨機獲得其中一樣獎品";
mes "您確定您要領取獎品嗎?";
next;
if (select("我確定要領取!","讓我好好考慮一下!")==2) {
  close;
}
set @GetItem,rand(1,$@ModFItemSize);
getitem [email=$@ModFReItemAID[@GetItem],$@ModFReItemNum[@GetItem]$@ModFReItemAID[@GetItem],$@ModFReItemNum[@GetItem[/email]];
announce "道館獎勵員 : 恭喜玩家 ["+strcharinfo(0)+"] 獲得獎勵獎品 ["+getitemname([email=$@ModFReItemAID[@GetItem]$@ModFReItemAID[@GetItem[/email]])+"] 數量 ["[email=+$@ModFReItemNum[@GetItem]+$@ModFReItemNum[@GetItem[/email]]+"] 個。",15;
     warp "SavePoint",0,0;
}
guild_room.gat,247,287,5 script 道館獎勵員#2 920,{
mes "[道館獎勵員]";
mes "您好厲害!竟然能擊倒MVP怪物,";
mes "並且挑戰成功,給您一些獎勵吧!";
mes "請選擇您要的獎勵。";
next;
mes "[道館獎勵員]";
mes "您將會隨機獲得";
mes "^FF0000"[email=+$@ModFReMinZeny+]+$@ModFReMinZeny+"^000000[/email]萬 ~ ^FF0000"[email=+$@ModFReMaxZeny+]+$@ModFReMaxZeny+"^000000[/email]萬 Zeny 不等的獎金";
mes "您確定您要領取獎金嗎?";
next;
if (select("我確定要領取!","讓我好好考慮一下!")==2) {
  close;
}
set @GetZeny,rand([email=$@ModFReMinZeny,$@ModFReMaxZeny]$@ModFReMinZeny,$@ModFReMaxZeny[/email]);
set zeny,zeny + (@GetZeny*10000);
announce "道館獎勵員 : 恭喜玩家 ["+strcharinfo(0)+"] 獲得獎勵獎金 ["+(@GetZeny*10000)+"] Zeny。",15;
     warp "SavePoint",0,0;
}
guild_room.gat,247,267,5 script 道館獎勵員#3 936,{
mes "[道館獎勵員]";
mes "您好厲害!竟然能擊倒MVP怪物,";
mes "並且挑戰成功,給您一些獎勵吧!";
mes "請選擇您要的獎勵。";
next;
mes "[道館獎勵員]";
mes "您將會隨機獲得";
mes "^FF0000"[email=+$@ModFReMinCash+]+$@ModFReMinCash+"^000000[/email]點 ~ ^FF0000"[email=+$@ModFReMaxCash+]+$@ModFReMaxCash+"^000000[/email]點 不等的商城點數";
mes "您確定您要領取商城點數嗎?";
next;
if (select("我確定要領取!","讓我好好考慮一下!")==2) {
  close;
}
set @GetCash,rand([email=$@ModFReMinCash,$@ModFReMaxCash]$@ModFReMinCash,$@ModFReMaxCash[/email]);
set #CASHPOINTS,#CASHPOINTS + @GetCash;
announce "道館獎勵員 : 恭喜玩家 ["+strcharinfo(0)+"] 獲得獎勵商城點數 ["[email=+@GetCash]+@GetCash[/email]+"] 點。",15;
     warp "SavePoint",0,0;
}
//====================================================//
guild_room.gat mapflag nobranch
guild_room.gat mapflag noloot
guild_room.gat mapflag nomemo
guild_room.gat mapflag nopenalty
guild_room.gat mapflag noteleport
guild_room.gat mapflag nosave SavePoint
06guild_02.gat mapflag nobranch
06guild_02.gat mapflag noloot
06guild_02.gat mapflag nomemo
06guild_02.gat mapflag nopenalty
06guild_02.gat mapflag noteleport
06guild_02.gat mapflag nosave SavePoint
06guild_03.gat mapflag nobranch
06guild_03.gat mapflag noloot
06guild_03.gat mapflag nomemo
06guild_03.gat mapflag nopenalty
06guild_03.gat mapflag noteleport
06guild_03.gat mapflag nosave SavePoint
06guild_04.gat mapflag nobranch
06guild_04.gat mapflag noloot
06guild_04.gat mapflag nomemo
06guild_04.gat mapflag nopenalty
06guild_04.gat mapflag noteleport
06guild_04.gat mapflag nosave SavePoint
06guild_05.gat mapflag nobranch
06guild_05.gat mapflag noloot
06guild_05.gat mapflag nomemo
06guild_05.gat mapflag nopenalty
06guild_05.gat mapflag noteleport
06guild_05.gat mapflag nosave SavePoint
06guild_06.gat mapflag nobranch
06guild_06.gat mapflag noloot
06guild_06.gat mapflag nomemo
06guild_06.gat mapflag nopenalty
06guild_06.gat mapflag noteleport
06guild_06.gat mapflag nosave SavePoint
//====================================================//

道管裁判不會消失= = 找不出方法讓她消失

還有如果說要在特定關卡讓她出特定怪物,請問各為大大該怎麼改呢?

道管利用於小修大大的!!

該用戶從未簽到

 樓主| 發表於 2008-9-3 08:13:20 | 顯示全部樓層
已經自行解決npc消失問題與npc未出現問題 !

現在只差要該怎麼把特定的某關卡設定出現特定的怪物= =????

這個我真的就不會了ˇˇ
回復 支持 反對

使用道具 舉報

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

本版積分規則

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

GMT+8, 2025-6-29 10:06 PM , Processed in 0.084143 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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