UID207054
帖子
精華
主題
積分308
現金
積極性
威望
違規
熱心
推廣次數
閱讀權限5
註冊時間2009-10-22
在線時間 小時
最後登錄1970-1-1
TA的每日心情 | 慵懶 2020-8-19 05:43 PM |
---|
簽到天數: 83 天 連續簽到: 1 天 [LV.6]常住居民II
|
本帖最後由 kh246913578 於 2016-2-12 10:24 AM 編輯
不好意思,因為無法上傳附件,所以我用代碼...
這是我改的進階道館腳本,我想加入"中場休息",
可是不知道怎樣加入比較正確,我看過有人發過類似的文章,可能是寫法不同...還是用錯方式,
所以都沒成功...可以幫我看一下該怎麼去判斷嗎?- prontera.gat,161,160,3 script 進階道館傳送員 868,{ callfunc "ModF_Script2"; end; OnInit:
- //----- 道館獎勵的獎金設定 -----
- set $@Dc_In_Zeny,500000;
- //-----道場關數 ---------------
- set $@Dc_Misson,20;
- //-----設置怪物 ---------------
- setarray $@Dc_Mob_Id[0],2476,2475,2362,2322,2249,2251,2253,2255,2202,2165,1956,1957,1751,1931; //設置怪物ID
- //-----每關出怪量 ---------------
- setarray $@Dc_Mob_Num[1],1,1,1,1,1,1,1,1,1,3;
- //-----開始比賽的等待時間 ---------------
- //-----第一關時間,第二關時間,……,單位:分鐘 ---------------
- setarray $@Dc_Delay[0],3,10,10,10,10,10,10,10,10,10,10;
- //-----每關間隔時間,單位:秒 ---------------
- setarray $@Dc_Space[1],5,5,5,5,5,5,5,5,5,5;
- //====================================================//
- //--- 道館獎勵員的相關設定 , 請各伺服器依情況斟酌 ---
- //----- 道館獎勵的獎金設定 -----
- //----- 獎勵金額最少能夠取得多少 (預設 100萬 Zeny) (單位:萬元)
- set $@ModFReMinZeny2,200;
- //----- 獎勵金額最多能夠取得多少 (預設 500萬 Zeny) (單位:萬元)
- set $@ModFReMaxZeny2,350;
- //----- 道館獎勵的商城點數設定 -----
- //----- 獎勵商城點數最少能夠取得多少 (預設 5 點)
- set $@ModFReMinCash2,50;
- //----- 獎勵商城點數最多能夠取得多少 (預設 20 點)
- set $@ModFReMaxCash2,100;
- //----- 道館獎勵的獎品設定 -----
- //----- 獎勵獎品能夠取得的物品
- setarray $@ModFReItemAID2[1],12853,13911,14296,14297,14317,14345,14469,16257,12851;
- //----- 獎勵獎品能夠取得的數量
- setarray $@ModFReItemNum2[1],1,1,1,1,1,1,1,1,1;
- //====================================================//
- //--- Script 執行時的特殊設定 , 請各伺服器勿亂做更改 ---
- set $@ModFItemSize2,(getarraysize($@ModFReItemAID2)-1);
- }
- //====================================================//
- //--- 道館地圖屬性的相關設定 , 請各伺服器依情況斟酌 ---
- //--- < 如果要關閉地圖屬性請在前面加上"//"即可 > ---
- //----- 怪物不會給予經驗值 -----
- guild_vs1-1 mapflag noexp
- guild_vs1-2 mapflag noexp
- guild_vs1-3 mapflag noexp
- guild_vs1-4 mapflag noexp
- //----- 怪物不會掉落物品 -----
- guild_vs1-1 mapflag noloot
- guild_vs1-2 mapflag noloot
- guild_vs1-3 mapflag noloot
- guild_vs1-4 mapflag noloot
- //----- 不能使用/memo來記憶當前地圖 -----
- guild_vs1-1 mapflag nomemo
- guild_vs1-2 mapflag nomemo
- guild_vs1-3 mapflag nomemo
- guild_vs1-4 mapflag nomemo
- //----- 不能使用枯樹枝 -----
- guild_vs1-1 mapflag nobranch
- guild_vs1-2 mapflag nobranch
- guild_vs1-3 mapflag nobranch
- guild_vs1-4 mapflag nobranch
- //----- 死亡不會損失經驗值 -----
- guild_vs1-1 mapflag nopenalty
- guild_vs1-2 mapflag nopenalty
- guild_vs1-3 mapflag nopenalty
- guild_vs1-4 mapflag nopenalty
- //----- 不能使用蒼蠅翅膀 -----
- guild_vs1-1 mapflag noteleport
- guild_vs1-2 mapflag noteleport
- guild_vs1-3 mapflag noteleport
- guild_vs1-4 mapflag noteleport
- //====================================================//
- guild_room mapflag nomemo
- guild_room mapflag nobranch
- guild_room mapflag noteleport
- guild_vs1-1 mapflag nosave SavePoint
- guild_vs1-2 mapflag nosave SavePoint
- guild_vs1-3 mapflag nosave SavePoint
- guild_vs1-4 mapflag nosave SavePoint
- //====================================================//
- //--- 此行開始到最後的段落 , 請各伺服器勿亂做更改 ---
- function script ModF_Script2 {
- mes "[道場挑戰]";
- mes "歡迎您參加道場的挑戰";
- next;
- menu "道場報名",-;
- mes "[道場挑戰]";
- if (!getcharid(1) || Zeny<$@Dc_In_Zeny)
- {
- mes "您沒有隊伍或金錢不足 "+$@Dc_In_Zeny+" Zeny";
- close;
- }
- for (set @t,1;@t<5;set @t,@t+1)
- {
- if ( getmapusers("guild_vs1-"+@t+".gat")==0 )
- {
- killmonster "guild_vs1-"+@t+".gat","Dc_Main_"+@t+"::OnKillMob";
- set Zeny,Zeny-$@Dc_In_Zeny;
- set $@Dc_Truns[@t],1;
- set $@Dc_Party[@t],getcharid(1);
- set $@Dc_timer[@t],$@Dc_Delay[0];
- enablenpc "裁判#"+@t+"";
- initnpctimer "Dc_Timer_"+@t+"";
- warpparty "guild_vs1-"+@t+".gat",49,47,getcharid(1);
- if (!sleep2(3000))
- end;
- mapannounce "guild_vs1-"+@t+".gat","[ 道場 ] 請在 "+$@Dc_Delay[0]+" 分鐘內開始比賽,否則將強制退出!",15;
- end;
- }
- }
- for (set @t,1;@t<6;set @t,@t+1)
- mes "[場地"+@t+"]隊伍: ["+getpartyname($@Dc_Party[@t])+"]";
- mes "全部場地都有人在挑戰了,請稍後再試";
- close;
- /*
- OnInit:
- set $@Dc_In_Zeny,500000; //設置入場金錢
- set $@Dc_Misson,20; //道場關數
- setarray $@Dc_Mob_Id[0],1630,1768,1751,1734,1719,1708,1685,1658,1147,1150,1157,1159,1190,1272,1312,1373,1389,1492; //設置怪物ID
- setarray $@Dc_Mob_Num[1],1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,3; //每關刷怪數量
- setarray $@Dc_Delay[0],3,10,10,10,10,10,10,10,10,10,10; //開始比賽的等待時間,第一關時間,第二關時間,……,單位:分鐘
- setarray $@Dc_Space[1],5,5,5,5,5,5,5,5,5,5; //每關間隔時間,單位:秒
- //setarray $@Dc_Item_Id[0],1415,1913,1971,1267,1232,1109,1307,13302,1610,1558,1231,1169,1704; //獎勵道具ID
- //setarray $@Dc_Item_Num[0],1,1,1,1,1,1,1,1,1,1,1,1,1; //獎勵道具數量
- //set $@Dc_Win_Zeny,500000; //獎勵金錢
- end;
- */
- }
- guild_vs1-1.gat,0,0,0 script Dc_Timer_1 -1,{ OnTimer60000: callfunc "Dc_Timer",1; }
- guild_vs1-2.gat,0,0,0 script Dc_Timer_2 -1,{ OnTimer60000: callfunc "Dc_Timer",2; }
- guild_vs1-3.gat,0,0,0 script Dc_Timer_3 -1,{ OnTimer60000: callfunc "Dc_Timer",3; }
- guild_vs1-4.gat,0,0,0 script Dc_Timer_4 -1,{ OnTimer60000: callfunc "Dc_Timer",4; }
- //guild_vs1-5.gat,0,0,0 script Dc_Timer_5 -1,{ OnTimer60000: callfunc "Dc_Timer",5; }
- function script Dc_Timer {
- setnpctimer 0,"Dc_Timer_"+getarg(0)+"";
- set $@Dc_timer[getarg(0)],$@Dc_timer[getarg(0)]-1;
- if ($@Dc_timer[getarg(0)]>0)
- end;
- set $@Dc_timer[getarg(0)],0;
- stopnpctimer "Dc_Timer_"+getarg(0)+"";
- areawarp "guild_vs1-"+getarg(0)+".gat",1,1,300,300,"ayothaya.gat",208,256;
- end;
- }
- guild_vs1-1.gat,0,0,0 script Dc_Main_1 -1,{ OnMain: callfunc "Dc_Main",1; OnKillMob: callfunc "Dc_Kill",1; }
- guild_vs1-2.gat,0,0,0 script Dc_Main_2 -1,{ OnMain: callfunc "Dc_Main",2; OnKillMob: callfunc "Dc_Kill",2; }
- guild_vs1-3.gat,0,0,0 script Dc_Main_3 -1,{ OnMain: callfunc "Dc_Main",3; OnKillMob: callfunc "Dc_Kill",3; }
- guild_vs1-4.gat,0,0,0 script Dc_Main_4 -1,{ OnMain: callfunc "Dc_Main",4; OnKillMob: callfunc "Dc_Kill",4; }
- //guild_vs5.gat,0,0,0 script Dc_Main_5 -1,{ OnMain: callfunc "Dc_Main",5; OnKillMob: callfunc "Dc_Kill",5; }
- function script Dc_Main {
- stopnpctimer "Dc_Timer_"+getarg(0)+"";
- initnpctimer "Dc_Timer_"+getarg(0)+"";
- set $@Dc_timer[getarg(0)],$@Dc_Delay[$@Dc_Truns[getarg(0)]];
- for (set @num,0;@num<$@Dc_Mob_Num[$@Dc_Truns[getarg(0)]];set @num,@num+1)
- monster "guild_vs1-"+getarg(0)+".gat",50,49,"--ja--",$@Dc_Mob_Id[rand(getarraysize($@Dc_Mob_Id))],1,"Dc_Main_"+getarg(0)+"::OnKillMob";
- set $@Dc_Mob[getarg(0)],$@Dc_Mob_Num[$@Dc_Truns[getarg(0)]];
- mapannounce "guild_vs1-"+getarg(0)+".gat","[ 道場 ] 魔物放出!第 "+$@Dc_Truns[getarg(0)]+" 關挑戰開始!",15;
- mapannounce "guild_vs1-"+getarg(0)+".gat","[ 道場 ] 請在 "+$@Dc_Delay[$@Dc_Truns[getarg(0)]]+" 分鐘內完成本關,否則將強制退出!",15;
- end;
- }
- function script Dc_Kill {
- set $@Dc_Mob[getarg(0)], $@Dc_Mob[getarg(0)] - 1;
- if( $@Dc_Mob[getarg(0)] > 0 ) end;
- mapannounce "guild_vs1-"+getarg(0)+".gat","[ 道場 ] "+getpartyname($@Dc_Party[getarg(0)]) +" 隊伍, 第 "+$@Dc_Truns[getarg(0)]+" 關挑戰成功!",15;
- if (!sleep2($@Dc_Space[$@Dc_Truns[getarg(0)]]*1000))
- end;
- if($@Dc_Truns[getarg(0)] == $@Dc_Misson)
- {
- stopnpctimer "Dc_Timer_"+getarg(0)+"";
- areawarp "guild_vs1-"+getarg(0)+".gat",1,1,300,300,"guild_room.gat",140,284;
- }
- else
- {
- set $@Dc_Truns[getarg(0)],$@Dc_Truns[getarg(0)] + 1;
- doevent "Dc_Main_"+getarg(0)+"::OnMain";
- }
- end;
- }
- guild_vs1-1,50,49,4 script 裁判#1 758,{ callfunc "dc_doevent",1; }
- guild_vs1-2,50,49,4 script 裁判#2 758,{ callfunc "dc_doevent",2; }
- guild_vs1-3,50,49,4 script 裁判#3 758,{ callfunc "dc_doevent",3; }
- guild_vs1-4.,50,49,4 script 裁判#4 758,{ callfunc "dc_doevent",4; }
- function script dc_doevent {
- mes "[裁判]";
- mes "您準備要開始挑戰了嗎?";
- menu "是的",-;
- close2;
- doevent "Dc_Main_"+getarg(0)+"::OnMain";
- disablenpc "裁判#"+getarg(0)+"";
- end;
- }
- //====================================================//
- guild_room,128,285,6 script 進階道館獎勵員#1 935,{ callfunc "ModF_Reward2",1; }
- guild_room,151,285,4 script 進階道館獎勵員#2 920,{ callfunc "ModF_Reward2",2; }
- guild_room,140,287,4 script 進階道館獎勵員#3 936,{ callfunc "ModF_Reward2",3; }
- //====================================================//
- function script ModF_Reward2 {
- mes "[道館獎勵員]";
- mes "您好厲害!竟然能擊倒MVP怪物,";
- mes "並且挑戰成功,給您一些獎勵吧!";
- next;
- mes "[道館獎勵員]";
- mes "您將會隨機獲得";
- switch(getarg(0)) {
- case 1:
- for ( set @i,1; @i < ($@ModFItemSize2+1); set @i,@i+1 ) {
- mes "獎品."+@i+" ^FF0000"+$@ModFReItemNum2[@i]+"^000000 個 ^0000FF"+getitemname($@ModFReItemAID2[@i])+"^000000";
- }
- mes "其中一樣獎品";
- mes "您確定您要領取獎品嗎?";
- next;
- if (select("讓我好好考慮一下!","我確定要領取!")==1) {
- close;
- }
- set .@GetItem,rand(1,$@ModFItemSize2);
- getitem $@ModFReItemAID2[.@GetItem],$@ModFReItemNum2[.@GetItem];
- announce "道館獎勵員 : 恭喜玩家 ["+strcharinfo(0)+"] 獲得獎勵獎品 ["+getitemname($@ModFReItemAID2[.@GetItem])+"] 數量 ["+$@ModFReItemNum2[.@GetItem]+"] 個。",15;
- break;
- case 2:
- mes "^FF0000"+$@ModFReMinZeny2+"0000^000000 ~ ^FF0000"+$@ModFReMaxZeny2+"0000^000000 不等的獎金";
- mes "您確定您要領取獎金嗎?";
- next;
- if (select("讓我好好考慮一下!","我確定要領取!")==1) {
- close;
- }
- set .@GetZeny,rand($@ModFReMinZeny2,$@ModFReMaxZeny2);
- set zeny,zeny + (.@GetZeny*10000);
- announce "道館獎勵員 : 恭喜玩家 ["+strcharinfo(0)+"] 獲得獎勵獎金 ["+(.@GetZeny*10000)+"] Zeny。",15;
- break;
- case 3:
- mes "^FF0000"+$@ModFReMinCash2+"^000000點 ~ ^FF0000"+$@ModFReMaxCash2+"^000000點 不等的商城點數";
- mes "您確定您要領取商城點數嗎?";
- next;
- if (select("讓我好好考慮一下!","我確定要領取!")==1) {
- close;
- }
- set .@GetCash,rand($@ModFReMinCash2,$@ModFReMaxCash2);
- set #CASHPOINTS,#CASHPOINTS + .@GetCash;
- announce "道館獎勵員 : 恭喜玩家 ["+strcharinfo(0)+"] 獲得獎勵商城點數 ["+.@GetCash+"] 點。",15;
- break;
- }
- warp "SavePoint",0,0;
- }
複製代碼 |
|