Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*==========================================================================
- - 腳本名稱: 尋寶活動- Ver 0.4
- - 腳本作者: 貓薄荷
- - 測試環境:RAthenaCN
- - 更新內容:
- - Ver 0.1 2018-11-03 -初步完成
- - Ver 0.2 2018-11-03 -改用事件語法開關地圖pvp,並增加事件再次執行時移除上一輪事件中遺留的npc
- - Ver 0.3 2018-11-03 -增設多項獎勵設置,開關與否,隨機領取幾次物品
- - Ver 0.4 2018-11-05 -增加end結尾,每次執行'$@prt_map$'地圖調適問題已解決
- - 注意事項: 腳本僅供,程式語言研究,學術研究用途
- ============================================================================
- ============================================================================*/
- - script auto_ptr -1,{
- end;
- /* 這裡增設時間 */
- OnClock9000:
- OnClock1500:
- OnClock2100:
- hideonnpc "寶藏#"+$@prt_map$[$maprand]+"";
- if($openpvp) pvpoff ""+$@prt_map$[$maprand]+"";
- donpcevent "Explorer"+"::OnStart";
- end;
- Oninit:
- /* 如果有新增寶藏地點請在這裡增設地圖名稱 */
- setarray $@prt_map$[1],"prontera","morocc","geffen","payon","auda_city1";
- setarray $Chin_ap$[1],"普隆德拉","夢羅克","吉芬","斐陽","彩虹之都";
- set $mpaquantity,5; //地圖數量
- /* 這裡設定相關獎勵&次數 */
- set $all,5; //最多連續幾次尋寶事件
- set $item,38043; //獎品ID
- set $count,1; //獲得數量
- set $Tzeny,1; //是否可以領取Zeny
- set $gzeny,1500000; //可以領取多少Zeny
- set $opensecond,10; //開啟寶箱所需要的秒數
- set $openpvp,1; //開啟寶箱時是否開啟PK模式
- set $Buyintelligence,3000000; //購買情報所需要的zeny
- /* [多獎勵設置]多項獎勵的公告預設為當前寶藏地圖公告避免洗頻 */
- set $Mass,1; //是否開啟多獎品
- set $gifitem,3; //可以隨機領取幾次獎品
- /* 設置獎品 */
- setarray $@ReCardA[1],12817,12246,12264,12263,61008,61009,61010,12412,7650,38007,38008,38009,30060,61005,61006,38013,38014,38015,38016,38018,38019,984,985,6223,6224,38004,16263,16262,6228,6232,22687,22702,22703,22704,22705,22706,22707,7621,6438,6439,7776;
- set $Massreward,41; //多項獎勵的數量
- /* */
- end;
- }
- /* 如果你要增/減 寶藏地點請在這裡修改 新增完NPC請務必在這裡補上NPCID */
- prontera,0,0,4 script 寶藏#prontera 10005,{ callfunc "Treasure_Open"; end; Oninit: hideonnpc "寶藏#prontera"; end; }
- morocc,0,0,4 script 寶藏#morocc 10005,{ callfunc "Treasure_Open"; end; Oninit: hideonnpc "寶藏#morocc"; end; }
- geffen,0,0,4 script 寶藏#geffen 10005,{ callfunc "Treasure_Open"; end; Oninit: hideonnpc "寶藏#geffen"; end; }
- payon,0,0,4 script 寶藏#payon 10005,{ callfunc "Treasure_Open"; end; Oninit: hideonnpc "寶藏#payon"; end; }
- auda_city1,0,0,4 script 寶藏#auda_city1 10005,{ callfunc "Treasure_Open"; end; Oninit: hideonnpc "寶藏#auda_city1"; end; }
- /* 分 隔 線 */
- auda_city1,97,103,4 script 探險者協會 641,{
- set .@open,select(getgmlevel()>=90?" ^7700BB- GM - 開啟尋寶系統^000000 ":""
- ,$Start!=$all?" ^7700BB- GM - 直接到寶藏地點^000000 ":""
- ,$Start!=$all?" - 我要準確的'座標'!! ^7700BB["+$Buyintelligence+" Zeny]^000000 ":""
- ," - 請問探險者協會是幹甚麼的?");
- if(.@open==1){
- dispbottom "[ 書記官 ]: 收到!! 尋寶系統將在7秒後執行。";
- hideonnpc "寶藏#"+$@prt_map$[$maprand]+"";
- if($openpvp) pvpoff ""+$@prt_map$[$maprand]+"";
- donpcevent "Explorer"+"::OnStart";
- end;
- }
- else
- if(.@open==2){
- warp ""+$@prt_map$[$maprand]+"",$Treasure_x,$Treasure_y;
- end;
- }
- else
- if(.@open==3){
- if(zeny<=$Buyintelligence){ showscript " - Zeny 不足 !!"; end; }
- set zeny,zeny-$Buyintelligence;
- dispbottom "[ 書記官 ]: 地點在 "+$Chin_ap$[$maprand]+" , "+$Treasure_x+" , "+$Treasure_y+"";
- end;
- }
- else
- if(.@open==4){
- mes "^0088FF[ "+strnpcinfo(0)+" ]^000000";
- mes " ";
- mes "/*在此寫上自己的說明*/";
- end;
- }
- end;
- OnInit:
- waitingroom " 探險者協會",0;
- end;
- }
- function script Treasure_Open {
- if($openpvp) pvpon ""+$@prt_map$[$maprand]+"";
- if($openpvp) mapannounce ""+$@prt_map$[$maprand]+"","[ 探險者協會 公告 ]: 好像有人正在開啟寶箱,這個人"+$opensecond+"秒內肯定無法移動快去把他找出來!! -開啟PVP公告- [寶箱開啟前PK領域不會消失]",bc_map,"0xFFFF00";
- if(!$openpvp) mapannounce ""+$@prt_map$[$maprand]+"","[ 探險者協會 公告 ]: 有人正在觸碰寶箱 !! 形勢變的緊張起來了..",bc_map,"0xffff00";
- message strcharinfo(0),"開鎖中.."+$opensecond+"秒內請勿移動..";
- progressbar "ffff00",$opensecond;
- set $Start,$Start+1;
- if($Mass)
- {
- set .@Re,$gifitem;
- for(.@i=0; .@i<.@Re; .@i++){
- set .@RegA,rand(1,$Massreward);
- getitem $@ReCardA[.@RegA],1; mapannounce ""+$@prt_map$[$maprand]+"","[ 探險者協會 公告 ]: 恭喜玩家 [ "+strcharinfo(0)+" ] 找到了這次的寶藏,取得 "+getitemname($@ReCardA[.@RegA])+" x 1",bc_map,"0xFFFF00"; //if(.@RegA <= $Massreward){}
- }//for
- }
- getitem $item,$count;
- announce "[ 探險者協會 公告 ]: 恭喜玩家 [ "+strcharinfo(0)+" ] 找到了這次的寶藏,取得 "+getitemname($item)+" x "+$count+"",15;
- if($Tzeny) set Zeny,zeny+$gzeny; dispbottom "[ 寶藏 ]: 獲得了 "+$gzeny+" Zeny.";
- if($openpvp) pvpoff ""+$@prt_map$[$maprand]+"";
- hideonnpc "寶藏#"+$@prt_map$[$maprand]+"";
- if($Start>=$all) callsub OnOFF;
- else donpcevent "Explorer"+"::OnStart";
- end;
- OnOFF:
- announce "[ 探險者協會 公告 ]: 這次的尋寶結束了 感謝各位的參與。",15;
- end;
- }
- - script Explorer -1,{
- OnStart:
- if($Start==$all){ set $Start,rand(0,($all-1)); }
- $maprand=rand(1,$mpaquantity);
- do {
- set .@p,.@p+1;
- set .@g1,bg_monster (0,$@prt_map$[$maprand],0,0,"隨機座標",2328);
- sleep 7000;
- if(.@g1>0){
- getunitdata .@g1,.@array;
- MobRemove .@g1;
- }
- if(.@p>30) { announce "設置有誤 請通知GM",15; end; }
- } while (.@array[6]==0 && .@array[7]==0);
- $Treasure_x=.@array[6];
- $Treasure_y=.@array[7];
- hideoffnpc "寶藏#"+$@prt_map$[$maprand]+"";
- movenpc "寶藏#"+$@prt_map$[$maprand]+"",.@array[6],.@array[7];
- announce "[ 探險者協會 公告 ]: 在 "+$Chin_ap$[$maprand]+" 出現了寶藏的氣息,想尋寶的人請盡快前往 !!",15;
- /*啟用時砍這行*/
- //announce " [ Test公告 ] 地點: "+$@prt_map$[$maprand]+","+.@array[6]+","+.@array[7]+"",15;
- end;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement