UID26739
帖子
精華
主題
積分-6
現金
積極性
威望
違規
熱心
推廣次數
閱讀權限0
註冊時間2007-10-19
在線時間 小時
最後登錄1970-1-1
該用戶從未簽到
|
本帖最後由 5151 於 2014-11-12 01:01 AM 編輯
- //===== Hercules Script ======================================
- //= Buwaya Cave
- //===== By: ==================================================
- //= Euphy
- //===== Current Version: =====================================
- //= 1.0
- //===== Description: =========================================
- //= [Official Conversion]
- //= Defeat Buwaya in his cave.
- //= Part of the "Secret in the Woods" quest.
- //===== Additional Comments: =================================
- //= 1.0 First version. [Euphy]
- //============================================================
- 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;
- }
複製代碼 |
|