寶箱劇惡 不知道為什不能使用 哪位大大能幫忙我嘛
本帖最後由 5151 於 2014-11-12 01:01 AM 編輯//===== Hercules Script ======================================
//= Buwaya Cave
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.0
//===== Description: =========================================
//=
//= Defeat Buwaya in his cave.
//= Part of the "Secret in the Woods" quest.
//===== Additional Comments: =================================
//= 1.0 First version.
//============================================================
1@ma_c mapflag src4instance
//============================================================
/*
腳本來源 : Hercules SVN
腳本修改 : Claymoreaki
腳本名稱 : 寶箱巨鱷
完成日期 : 20140809
更新記錄 :
2014-08-08
•加入 冷卻顯示
•加入 預設架構
•修改 部分 判斷變數
•修改 部分 判斷語法
•修改 部分 顯示文字
•排版 部分 顯示文字
•修改 部分語法 讓流程較順暢
•備註 完成副本時 入口 會有傳送點 可直接傳出去
2014-08-09
•修改 部分語法
•修正 通過副本時 地圖怪物 直接全部死亡
2014-08-15
•修改 部分原本冷卻
•修改 部分原本判斷
•備註 正式版本 Ver002 (參照官方預設 會傳送到寶箱巨鱷房間)
•備註 原本是每30秒左右 會傳送寶箱巨鱷房間 我改成 每5分鐘左右 傳送 (可自由調整) 搜索OnTimer300000: 由小而大 往下調整 共四個 OnTimer
•備註 相關語法 在右手邊 我是直接在後面多一個0 所以是30秒 變5分鐘 ===========>> 1@ma_c,97,74,0 script #box_call HIDDEN_WARP_NPC,50,50,{
•備註 下面這條是 傳送到寶箱鱷魚的房間 若不想傳送到房間內 可直接打上// ===========>> //warp instance_mapname("1@ma_c"),33,112;//萬惡的傳送 寶箱巨鱷的房間
•此版本是直接無視 quest_db 冷卻設置 變成直接在 腳本上判斷 冷卻時間
•使用注意說明
•下面限制變數 有中文說明
•預設是秒數的 60秒 = 1分鐘 300秒 = 5分鐘 3600秒 = 1小時
*/
//------------------------------------------------------------------
- script test_bcConfig -1,{
OnInit:
set $@cgsyyqqbc,21600; //固定 冷卻時間暫定21600秒(6小時)
set $@cgsbc,7200; //固定 任務時間預設 7200秒(2小時)
set $@bcend,180; //固定 進場時間預設 180秒(3分鐘)
set $@lvxbc,140; //限制 基本等級預設 140級
set $@pabc,1; //限制 至少人數預設 2位測試時 我先改1位
end;
}
//ma_fild02,312,317,5 script 守衛#buwaya_cave 4_MAL_SOLDIER,{ <<==== 原本的地圖和座標 我是暫時改成中央 方便測試
prontera,150,183,5 script 守衛#buwaya_cave 4_MAL_SOLDIER,{
mes "^0000FF[寶箱巨鱷副本說明]^000000";
mes "基本等級 : ^FF0000LV "+$@lvxbc+" ^000000 以上";
mes "組隊人數 : ^FF0000"+$@pabc+"個隊員 ^000000以上";
mes "任務時間 : ^FF0000"+($@cgsbc)/3600+"小時內 ^000000完成";
mes "進場時間 : ^FF0000"+($@bcend)/60+"分鐘內 ^000000進入";
mes "冷卻時間 : ^FF0000"+($@cgsyyqqbc)/3600+"個小時^000000 固定";
next;
mes "^0000FF[寶箱巨鱷副本說明]^000000";
mes "如果進場後 ^FF0000任務失敗^000000";
mes "如果進場後 ^FF0000中途離開^000000";
mes "如果進場後 ^FF0000中途離隊^000000";
mes "如果進場後 ^FF0000中途斷線^000000";
mes "如果進場後 ^FF0000任務完成^000000";
mes "會直接進行 ^FF0000副本冷卻^000000";
next;
if ((timesbc-gettimetick(1)) <= 0) goto ggyy3;
if ((timesbc-gettimetick(1)) > 0) goto ggyy2;
goto ggyy3;
ggyy2:
mes "[守衛]";
mes "^FF0000寶箱巨鱷副本 冷卻中^000000";
mes "^7100DC寶箱巨鱷副本 冷卻時間^000000 : ^FF0000"+($@cgsyyqqbc)/3600+"^000000 小時";
mes "^0000FF寶箱巨鱷副本 冷卻剩餘^000000 :";
mes "^FF0000"+(timesbc-gettimetick(1))/3600%24+"^000000 小時 ^FF0000"+(timesbc-gettimetick(1))/60%60+"^000000 分 ^FF0000"+(timesbc-gettimetick(1))%60%60+"^000000 秒";
close;
ggyy3:
if (checkweight(1201,1) == 0) {
mes "你帶太多東西囉";
mes "請整理身上不要的道具";
close;
}
if (MaxWeight - Weight < 10000) {
mes "你超重囉";
mes "請整理身上不要的道具";
close;
}
if (BaseLevel < $@lvxbc) {
mes "[守衛]";
mes "為了你的生命安全著想,";
mes "請先等到Lv^FF0000"+$@lvxbc+"^000000後再來挑戰吧";
close;
}
/*
--- 前置任務 --- 若需要 請把 / * 和 * / 刪除
if (malaya_bakona1 < 7 && malaya_bakona2 < 15) {
mes "[守衛]";
mes "我們要去討伐寶箱巨鱷";
mes "可惜目前的我們沒有能力";
close;
}
*/
set .@party_id,getcharid(1);
set .@p_name$,getpartyname(.@party_id);
if (!.@party_id) {
mes "[守衛]";
mes "請加入隊伍再來挑戰副本";
mes "至少要 ^FF0000"+$@pabc+" 個人^000000 以上的隊伍";
close;
}
if (!instance_check_party(.@party_id,$@pabc)) { //限制 $@pabc 人以上
mes "[守衛]";
mes "你的隊伍成員呢?";
mes "至少要 ^FF0000"+$@pabc+" 個人^000000 以上的隊伍";
close;
}
mes "[守衛]";
mes "這個地方很危險。請回去吧!";
mes "沒事不要在這附近徘徊,很危險的。";
next;
while(1) {
switch(select("副本說明:申請副本:進入副本:取消對話")) {
case 1:
mes "[守衛]";
mes "基本等級 : ^FF0000LV "+$@lvxbc+" ^000000 以上";
mes "組隊人數 : ^FF0000"+$@pabc+"個隊員 ^000000以上";
mes "任務時間 : ^FF0000"+($@cgsbc)/3600+"小時內 ^000000完成";
mes "進場時間 : ^FF0000"+($@bcend)/60+"分鐘內 ^000000進入";
mes "冷卻時間 : ^FF0000"+($@cgsyyqqbc)/3600+"個小時^000000 固定";
next;
mes "[守衛]";
mes "如果進場後 ^FF0000任務失敗^000000";
mes "如果進場後 ^FF0000中途離開^000000";
mes "如果進場後 ^FF0000中途離隊^000000";
mes "如果進場後 ^FF0000中途斷線^000000";
mes "如果進場後 ^FF0000任務完成^000000";
mes "會直接進行 ^FF0000副本冷卻^000000";
next;
break;
case 2:
if (getcharid(0) != getpartyleader(.@party_id,2)) {
mes "[守衛]";
mes "^0000FF只有隊長 可以 申請副本^000000";
mes "^FF0000其他隊員 無法 申請副本^000000";
close;
}
set .@md_name$,"寶箱巨鱷";
set .@instance,instance_create(.@md_name$,.@party_id);
if (.@instance < 0) {
mes "[守衛]";
mes "^7100DC一個隊伍 最多只能 進行 一個副本^000000";
mes "^0000FF你的隊伍 已經申請 ^FF0000"+.@md_name$+" 副本^000000";
close;
}
if (instance_attachmap("1@ma_c",.@instance) == "") {
mes "[守衛]";
mes "^0000ff"+.@md_name$+"^000000 - 申請副本失敗";
mes "^FF0000如果無法 申請副本 請重新 創立隊伍^000000";
instance_destroy(.@instance);
close;
}
set .@bakubc_time, checkquest(4229,PLAYTIME);
if (.@bakubc_time != -1) {
if (checkquest(4229) != -1) erasequest 4229;
if (checkquest(4229) == -1) setquest 4229;
} else {
setquest 4229;
}
instance_set_timeout $@cgsbc,$@bcend,.@instance;
instance_init(.@instance);
mes "[守衛]";
mes "^7100DC寶箱巨鱷 副本任務^000000";
mes "^0000FF申請副本 順利成功^000000";
mes "隊伍準備好 想要挑戰的話 再找我";
close;
break;
case 3:
if( has_instance("1@ma_c") == "" ) {
mes "[守衛]";
mes "^7100DC寶箱巨鱷 副本任務^000000";
mes "^FF0000尚未申請 無法進行^000000";
mes "^0000FF申請之後 在來找我^000000";
close;
} else {
set .@bakubc_time, checkquest(4229,PLAYTIME);
if (.@bakubc_time != -1) {
if (checkquest(4229) != -1) erasequest 4229;
if (checkquest(4229) == -1) setquest 4229;
} else {
setquest 4229;
}
mapannounce "prontera","隊伍: "+getpartyname(.@party_id)+" 的 勇者: "+strcharinfo(0)+" 開始挑戰 "+.@md_name$+" 副本",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
set timesbc,gettimetick(1)+$@cgsyyqqbc;
warp "1@ma_c",64,51;
end;
}
case 4:
mes "[守衛]";
mes "那就等你考慮好 再來找我";
close;
break;
}
}
}
1@ma_c,33,112,0 script #damage HIDDEN_WARP_NPC,7,7,{
end;
OnInstanceInit:
initnpctimer;
disablenpc instance_npcname("#damage");
end;
OnTimer1000:
enablenpc instance_npcname("#damage");
specialeffect EF_POISONHIT;
end;
OnTimer2000:
stopnpctimer;
initnpctimer;
disablenpc instance_npcname("#damage");
end;
OnTouch:
percentheal -10,-10;
sc_start SC_BLOODING,60000,0;
sc_start SC_POISON,60000,0;
end;
}
1@ma_c,29,110,5 script 被綁架的村民#1 4_F_BARYO_OLD,{
mes "[被綁架的村民]";
mes "寶箱巨鱷到處綁架人";
mes "很多人都被抓來這邊";
next;
mes "[被綁架的村民]";
mes "你可以幫助我 離開這裡嗎?";
switch(select("可以:取消")) {
case 1:
next;
mes "[被綁架的村民]";
mes "謝謝你們 真的是好人";
mes "那我就先 離開這裡了";
donpcevent instance_npcname("#box_mob_call")+"::OnEnable";
close2;
disablenpc instance_npcname("被綁架的村民#1");
end;
case 2:
next;
mes "[被綁架的村民]";
mes "為什麼不幫助我呢 ..";
close;
}
end;
OnInstanceInit:
disablenpc instance_npcname("被綁架的村民#1");
end;
OnEnable:
enablenpc instance_npcname("被綁架的村民#1");
donpcevent instance_npcname("#box_mob_call")+"::OnDisable";
end;
}
1@ma_c,36,110,5 script 被綁架的村民#2 4_M_BARYO_OLD,{
mes "[被綁架的村民]";
mes "我知道寶箱巨鱷的弱點....";
next;
switch(select("告訴我:你真的知道?")) {
case 1:
mes "[被綁架的村民]";
mes "寶箱巨鱷 其實有一個弱點 ...";
mes "你有沒有看到 我背後的牆壁";
mes "如果你攻擊那裏 寶箱巨鱷會感到疼痛";
mes "然後會把你吐了出去... 就可以討伐了";
next;
mes "[被綁架的村民]";
mes "就在我們身後的牆壁上";
mes "趕快攻擊寶箱巨鱷的弱點";
disablenpc instance_npcname("被綁架的村民#2");
close;
case 2:
mes "[被綁架的村民]";
mes "什麼!?";
mes "你不相信我?";
mes "只因為我被困在這邊?";
close;
}
end;
OnInstanceInit:
disablenpc instance_npcname("被綁架的村民#2");
end;
OnEnable:
enablenpc instance_npcname("被綁架的村民#2");
end;
}
1@ma_c,3,3,0 script #box_mob_call HIDDEN_WARP_NPC,1,1,{
end;
OnInstanceInit:
setcell instance_mapname("1@ma_c"),30,118,35,118,cell_shootable,1; //custom
disablenpc instance_npcname("#box_mob_call");
end;
OnEnable:
enablenpc instance_npcname("#box_mob_call");
set .@label$, instance_npcname("#box_mob_call")+"::OnMyMobDead";
set .@map$, instance_mapname("1@ma_c");
monster .@map$,30,118,"寶箱巨鱷的弱點",2333,1,.@label$;
monster .@map$,35,118,"寶箱巨鱷的弱點",2333,1,.@label$;
end;
OnDisable:
killmonster instance_mapname("1@ma_c"),instance_npcname("#box_mob_call")+"::OnMyMobDead";
disablenpc instance_npcname("#box_mob_call");
end;
OnMyMobDead:
if (mobcount(instance_mapname("1@ma_c"),instance_npcname("#box_mob_call")+"::OnMyMobDead") < 1)
donpcevent instance_npcname("#box_out")+"::OnEnable";
end;
}
1@ma_c,38,118,0 script #box_out WARPNPC,2,2,{
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#box_out");
end;
OnEnable:
enablenpc instance_npcname("#box_out");
end;
OnTouch:
set .@x, rand(1,20) + 97;
set .@y, rand(1,20) + 74;
warp instance_mapname("1@ma_c"),.@x,.@y;
end;
}
1@ma_c,97,74,0 script #box_call HIDDEN_WARP_NPC,50,50,{
end;
OnInstanceInit:
disablenpc instance_npcname("#box_call");
initnpctimer;
end;
OnTimer300000:
mapannounce instance_mapname("1@ma_c"),"寶箱巨鱷:我會把你放進 我的寶箱裡面",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
// Should execute OnTimer33000, but client doesn't render the effect fast enough.
for(set .@i,1; .@i<=9; set .@i,.@i+1)
donpcevent instance_npcname("#yunobi"+.@i)+"::OnEnable";
end;
OnTimer330000:
donpcevent instance_npcname("#box_out")+"::OnDisable";
donpcevent instance_npcname("#box_mob_call")+"::OnDisable";
donpcevent instance_npcname("被綁架的村民#1")+"::OnEnable";
donpcevent instance_npcname("被綁架的村民#2")+"::OnEnable";
end;
OnTimer340000:
enablenpc instance_npcname("#box_call");
end;
OnTimer350000:
stopnpctimer;
initnpctimer;
disablenpc instance_npcname("#box_call");
end;
OnTouch:
specialeffect2 EF_GUIDEDATTACK;
warp instance_mapname("1@ma_c"),33,112;//萬惡的傳送 寶箱巨鱷的房間
end;
OnDisable:
stopnpctimer;
disablenpc instance_npcname("#box_call");
end;
}
1@ma_c,97,74,0 script #yunobi1 HIDDEN_WARP_NPC,{
end;
OnInstanceInit:
hideonnpc instance_npcname(strnpcinfo(0));
end;
OnEnable:
specialeffect EF_MAPPILLAR2;
end;
}
1@ma_c,97,94,0 duplicate(#yunobi1) #yunobi2 HIDDEN_WARP_NPC
1@ma_c,117,94,0 duplicate(#yunobi1) #yunobi3 HIDDEN_WARP_NPC
1@ma_c,117,74,0 duplicate(#yunobi1) #yunobi4 HIDDEN_WARP_NPC
1@ma_c,117,54,0 duplicate(#yunobi1) #yunobi5 HIDDEN_WARP_NPC
1@ma_c,97,54,0 duplicate(#yunobi1) #yunobi6 HIDDEN_WARP_NPC
1@ma_c,77,54,0 duplicate(#yunobi1) #yunobi7 HIDDEN_WARP_NPC
1@ma_c,77,74,0 duplicate(#yunobi1) #yunobi8 HIDDEN_WARP_NPC
1@ma_c,77,94,0 duplicate(#yunobi1) #yunobi9 HIDDEN_WARP_NPC
1@ma_c,1,1,0 script #bunshin HIDDEN_WARP_NPC,{
end;
OnInstanceInit:
initnpctimer;
end;
OnTimer58000:
mapannounce instance_mapname("1@ma_c"),"寶箱巨鱷:實在忍無可忍了,我們就走著瞧!",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
end;
OnTimer61000:
mapannounce instance_mapname("1@ma_c"),"寶箱巨鱷:這是 ... ",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
end;
OnTimer62000:
mapannounce instance_mapname("1@ma_c"),"寶箱巨鱷:這是 ... 我的!",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
end;
OnTimer63000:
mapannounce instance_mapname("1@ma_c"),"寶箱巨鱷:這是 ... 我的 ... 必殺的",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
end;
OnTimer64000:
mapannounce instance_mapname("1@ma_c"),"寶箱巨鱷:這是 ... 我的 ... 必殺的! 分身術!!!",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
end;
OnTimer65000:
set .@label$, instance_npcname("#bunshin")+"::OnMyMobDead";
set .@map$, instance_mapname("1@ma_c");
areamonster .@map$,112,89,122,99,"寶箱巨鱷的分身",2332,1,.@label$;
areamonster .@map$,112,49,122,59,"寶箱巨鱷的分身",2332,1,.@label$;
areamonster .@map$,72,49,82,59,"寶箱巨鱷的分身",2332,1,.@label$;
areamonster .@map$,72,89,82,99,"寶箱巨鱷的分身",2332,1,.@label$;
end;
OnTimer66000:
mapannounce instance_mapname("1@ma_c"),"寶箱巨鱷:你害怕了嗎?",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
end;
OnTimer105000:
killmonster instance_mapname("1@ma_c"),instance_npcname("#bunshin")+"::OnMyMobDead";
stopnpctimer;
initnpctimer;
end;
OnMyMobDead:
if (mobcount(instance_mapname("1@ma_c"),instance_npcname("#bunshin")+"::OnMyMobDead") < 1) {
stopnpctimer;
initnpctimer;
}
end;
OnDisable:
stopnpctimer;
killmonster instance_mapname("1@ma_c"),instance_npcname("#bunshin")+"::OnMyMobDead";
disablenpc instance_npcname("#bunshin");
end;
}
1@ma_c,2,2,0 script #buwaya_con HIDDEN_WARP_NPC,{
end;
OnInstanceInit:
areamonster instance_mapname("1@ma_c"),90,67,104,81,"寶箱巨鱷",2319,1,instance_npcname("#buwaya_con")+"::OnMyMobDead";
end;
OnMyMobDead:
set .@map$, instance_mapname("1@ma_c");
if (mobcount(.@map$,instance_npcname("#buwaya_con")+"::OnMyMobDead") < 1) {
donpcevent instance_npcname("#box_call")+"::OnDisable";
donpcevent instance_npcname("#bunshin")+"::OnDisable";
donpcevent instance_npcname("#exit_mob")+"::OnDisable";
donpcevent instance_npcname("#cave_out")+"::OnEnable";
erasequest 4229;
set cooltimebc,gettimetick(1)+$@bcxdgg;
announce "[寶箱巨鱷副本] "+ getpartyleader(getcharid(1)) +" 帶領的隊伍 ["+ strcharinfo(1) +"] 已經通過了副本",0;
announce "[副本任務提示] 由於完成任務 剛進來的入口 現在已有 出口的傳送點了",0;
killmonster instance_mapname("1@ma_c"),instance_npcname("#exit_mob")+"::OnMyMobDead";
}
end;
}
1@ma_c,3,3,0 script #exit_mob HIDDEN_WARP_NPC,{
end;
OnInstanceInit:
initnpctimer;
end;
OnTimer20000:
set .@label$, instance_npcname("#exit_mob")+"::OnMyMobDead";
set .@map$, instance_mapname("1@ma_c");
if (mobcount(.@map$,.@label$) < 60)
set .@amount,10;
else
set .@amount,1;
areamonster .@map$,43,58,47,60,"寶箱巨鱷的海草",2331,.@amount,.@label$;
areamonster .@map$,43,58,47,60,"寶箱巨鱷的蛋",2329,.@amount,.@label$;
areamonster .@map$,73,81,93,101,"寶箱巨鱷的海草",2331,.@amount,.@label$;
areamonster .@map$,110,97,116,103,"寶箱巨鱷的海草",2331,.@amount,.@label$;
areamonster .@map$,59,63,63,67,"寶箱巨鱷的海草",2331,.@amount,.@label$;
areamonster .@map$,73,55,77,59,"寶箱巨鱷的海草",2331,.@amount,.@label$;
areamonster .@map$,103,69,107,73,"寶箱巨鱷的海草",2331,.@amount,.@label$;
areamonster .@map$,108,45,122,63,"寶箱巨鱷的海草",2331,.@amount,.@label$;
areamonster .@map$,73,81,93,101,"寶箱巨鱷的蛋",2329,.@amount,.@label$;
areamonster .@map$,110,97,116,103,"寶箱巨鱷的蛋",2329,.@amount,.@label$;
areamonster .@map$,59,63,63,67,"寶箱巨鱷的蛋",2329,.@amount,.@label$;
areamonster .@map$,73,55,77,59,"寶箱巨鱷的蛋",2329,.@amount,.@label$;
areamonster .@map$,103,69,107,73,"寶箱巨鱷的蛋",2329,.@amount,.@label$;
areamonster .@map$,108,45,122,63,"寶箱巨鱷的蛋",2329,.@amount,.@label$;
areamonster .@map$,103,65,107,73,"寶箱巨鱷的海草",2331,.@amount,.@label$;
areamonster .@map$,108,43,122,63,"寶箱巨鱷的小兵",2330,.@amount,.@label$;
stopnpctimer;
initnpctimer;
end;
OnDisable:
stopnpctimer;
killmonster instance_mapname("1@ma_c"),instance_npcname("#exit_mob")+"::OnMyMobDead";
disablenpc instance_npcname("#exit_mob");
end;
OnMyMobDead:
end;
}
1@ma_c,28,57,0 script #cave_out WARPNPC,2,2,{
OnInstanceInit:
disablenpc instance_npcname("#cave_out");
end;
OnEnable:
enablenpc instance_npcname("#cave_out");
end;
OnTouch:
set cooltimebc,gettimetick(1)+$@bcxdgg;
warp "prontera",153,150;
end;
}
簡單來講 這是牛頭不對馬嘴 的組合,不用看了 跟本不能跑
頁:
[1]