UID138629
帖子
精華
主題
積分299
現金
積極性
威望
違規
熱心
推廣次數
閱讀權限5
註冊時間2009-3-16
在線時間 小時
最後登錄1970-1-1
TA的每日心情 | 開心 2012-8-2 12:48 PM |
---|
簽到天數: 3 天 連續簽到: 1 天 [LV.2]偶爾看看I
|
本帖最後由 tophihi 於 2010-12-8 03:38 AM 編輯
- nyd_dun02,100,201,0 script 神秘之門 111,{
- if(Mr_Lasttime + $@Mr_Time_Cooldown > gettimetick(2) && Mr_Lasttime < gettimetick(2) && getgmlevel() < $@Mr_GM ){
- set .@lastTime,Mr_Lasttime + $@Mr_Time_Cooldown - gettimetick(2);
- set .@hoursTime,.@lastTime / 60 / 60;
- set .@minutesTime,.@lastTime / 60 % 60;
- set .@secondsTime,.@lastTime % 60;
- mes "[利亞得]";
- mes "根據進入規則,你現在無法進入守護聖地";
- mes "你現在還有, "+.@hoursTime+"小時 "+.@minutesTime+"分鐘 "+.@secondsTime+"秒才能進入";
- close;
- }
- if(BaseLevel<$@Mr_level){
- mes "[利亞得]";
- mes "你的等級還沒到"+$@Mr_level+".";
- close;
- }
- if(!isequipped(2782)){
- mes "[XYAN]";
- mes "YANGANGUAN;AOEAAFCMAGA,QANGAINAGHAAG.";
- close;
- }
- if(BaseLevel<$@Mr_level){
- mes "[利亞得]";
- mes "你的等級還沒到"+$@Mr_level+".";
- close;
- }
- getpartymember(getcharid(1));
- if(!getcharid(1) || $@partymembercount < $@Mr_team_players){
- mes "[利亞得]";
- mes "請加入一個超過"+$@Mr_team_players+"人的隊伍再來挑戰吧.";
- close;
- }
- mes "[利亞得]";
- mes "你在一支不錯的隊伍裏啊,請問你要做什麼呢";
- next;
- if (getcharid(0) != getpartyleader(getcharid(1),2)) {
- mes "[利亞得]";
- mes "我不能為你做任何事情, 人類... 只有組隊的隊長才能登記.";
- close;
- }
- mes "[利亞得]";
- mes "忠誠的守護著的侍從們啊....找我有什麼事?";
- next;
- switch (select("請批準進入:我要進去:我要離開")) {
- case 1:
- if(instance_id(1)){
- if(has_instance("1@nyd") == ""){
- mes "[利亞得]";
- mes "你的隊伍已經申請了另一個副本,請先完成,或者放棄?";
- close;
- }
- mes "[利亞得]";
- mes "你的隊伍已經申請過了尼德霍格的巢穴挑戰";
- mes "請在主界面選擇 ^0000FF進入尼德霍格的巢穴選項^000000 來開始你的挑戰吧。";
- close;
- }
- if(Mr_Lasttime + $@Mr_Time_Cooldown > gettimetick(2)&& getgmlevel() < $@Mr_GM) {
- mes "[利亞得]";
- mes "你的冷卻時間尚未結束";
- close;
- }
- mes "[利亞得]";
- mes "^0000FF尼德霍格的巢穴(^000000 - 正在準備中";
- mes "當尼德霍格的巢穴(準備完成後,請選擇進入守護聖地開始你的挑戰吧";
- close2;
- set .@instance_Mr_id,instance_create("尼德霍格的巢穴",getcharid(1));
- if(.@instance_Mr_id < 0){
- mes "[利亞得]";
- mes "創建副本失敗";
- mes "副本系統已經達到系統上限";
- mes "請通知GM或者管理員";
- close;
- }
- instance_attachmap("1@nyd",.@instance_Mr_id);
- instance_attachmap("2@nyd",.@instance_Mr_id);
- instance_set_timeout $@Mr_Time_All,$@Mr_Time_In,.@instance_Mr_id;
- instance_init .@instance_Mr_id;
- instance_attach .@instance_Mr_id;
- set 'Mr_Lasttime,gettimetick(2) + $@Mr_Time_All;
- end;
- case 2:
- if(!instance_id(1) || has_instance("1@nyd") == ""){
- mes "[利亞得]";
- mes "尼德霍格的巢穴副本不存在.";
- mes "請確定你的隊伍已經申請過尼德霍格的巢穴挑戰,並且你們的挑戰副本並沒有因為長時間沒有人參加而取消";
- close;
- }
- instance_attach instance_id(1);
- if(Mr_Lasttime + $@Mr_Time_Cooldown < gettimetick(2))
- set Mr_Lasttime,'Mr_Lasttime;
- mapannounce "nyd_dun02",getpartyname(getcharid(1))+"隊伍的"+strcharinfo(0)+" 進入了守護之地。",bc_map | bc_blue;
- warpparty has_instance("1@nyd"),33,44,getcharid(1);
- doevent instance_npcname("Mr_monster",instance_id(1))+"::Onmonster10";
- set 'over,0;
- end;
- case 3:
- close;
- end;
- }
- }
複製代碼
這段腳本,目前問題在於,當廣播廣出第92行的內容,也就是 "攻略副本隊伍的GM01進入了守護之地"後,對話室窗就卡住了,留在原地(nyd_dun02,99,200)的位置,並且在依序去除第96,95,94行後,問題並未改善,所以研判是紅色字體出問題,於是我將粉紅色,紅色字體另外拉出來做成一個NPC
- gonryun.gat,160,111,5 script 測試 757,{
- mapannounce "gonryun",getpartyname(getcharid(1))+"隊伍的"+strcharinfo(0)+" 進入了守護之地。",bc_map | bc_blue;
- warpparty has_instance("1@nyd"),33,44,getcharid(1);
- close;
- }
複製代碼
一樣卡住
- gonryun.gat,160,111,5 script 測試 757,{
- mapannounce "gonryun",getpartyname(getcharid(1))+"隊伍的"+strcharinfo(0)+" 進入了守護之地。",bc_map | bc_blue;
- warpparty "1@nyd",33,44,getcharid(1);
- close;
- }[/
複製代碼
成功,所以我又試著修改原腳本
-
- ...以上略過...
- instance_attach instance_id(1);
- if(Mr_Lasttime + $@Mr_Time_Cooldown < gettimetick(2))
- set Mr_Lasttime,'Mr_Lasttime;
- mapannounce "nyd_dun02",getpartyname(getcharid(1))+"隊伍的"+strcharinfo(0)+" 進入了守護之地。",bc_map | bc_blue;
- warpparty "1@nyd",33,44,getcharid(1);
- doevent instance_npcname("Mr_monster",instance_id(1))+"::Onmonster10";
- set 'over,0;
- end;
- case 3:
- close;
- end;
- }
- }
複製代碼
可是依然卡住,無法成功傳送
另外參考無限之塔腳本中
- e_tower,82,105,3 script 無限塔保護石 406,{
- if(ET_Lasttime + $ET_Cooldown > gettimetick(2) && ET_Lasttime < gettimetick(2) && getgmlevel() < $ET_GM){
- set .@last,ET_Lasttime + $ET_Cooldown - gettimetick(2);
- set .@hours,.@last / 60 / 60;
- set .@minutes,.@last / 60 % 60;
- set .@seconds,.@last % 60;
- mes "根據進入規則,你現在無法進入無限之塔";
- mes "你現在還有, "+.@hours+"小時 "+.@minutes+"分鐘 "+.@seconds+"秒才能進入";
- next;
- mes "這裡是很危險德地方,還是把你傳送到安全的地方吧";
- close2;
- warp "SavePoint",0,0;
- end;
- }
- getpartymember(getcharid(1));
- if(!getcharid(1) || $@partymembercount < $ET_Minparty){
- mes "請加入一個超過"+$ET_Minparty+"人的隊伍再來挑戰吧.";
- set ET_makeparty,1;
- close;
- }
- if(ET_makeparty){
- mes "你在一支不錯的隊伍裡啊,請問你要做什麼呢";
- set ET_makeparty,0;
- next;
- }
- mes "如果你有一個已經生成好的副本.那你現在就可以進去";
- next;
- if(getpartyleader(getcharid(1),2) == getcharid(0)){
- select("生成無限塔迷宮:進入無限之塔:返回艾爾貝塔:取消");
- } else {
- select(":進入無限之塔:返回重生點:取消");
- }
- switch(@menu){
- case 1:
- if(instance_id(1)){
- if(has_instance("1@tower") == ""){
- mes "你的隊伍已經申請了另一個副本,請先完成,或者放棄";
- close;
- }
- mes "你的隊伍已經申請過了無限之塔挑戰";
- mes "請在主界面選擇 ^0000FF進入無限之塔選項^000000 來開始你的挑戰吧。";
- close;
- }
- if(ET_Lasttime + $ET_Cooldown > gettimetick(2) && getgmlevel() < $ET_GM) {
- mes "你無限之塔的冷卻時間尚未結束";
- close;
- }
- mes "^0000FF無限之塔^000000 - 正在準備中";
- mes "當無限之塔準備完成後,請選擇進入無線之塔開始你的挑戰吧";
- close2;
- set .@instance_id,instance_create("Endless Tower",getcharid(1));
- if(.@instance_id < 0){
- mes "創建副本失敗";
- mes "副本系統已經達到系統上限";
- mes "請通知GM或者管理員";
- close;
- }
- // > Rev 14006
- instance_attachmap("1@tower",.@instance_id);
- instance_attachmap("2@tower",.@instance_id);
- instance_attachmap("3@tower",.@instance_id);
- instance_attachmap("4@tower",.@instance_id);
- instance_attachmap("5@tower",.@instance_id);
- instance_attachmap("6@tower",.@instance_id);
- instance_set_timeout $ET_Timelimit,300,.@instance_id;
- instance_init .@instance_id;
- instance_attach .@instance_id;
- set 'ET_Floor,1;
- set 'ET_Lasttime,gettimetick(2) + $ET_Timelimit;
- set 'ET_Leadertalk,ET_Talk;
- donpcevent instance_npcname("ET_Manager")+"::OnInstanceInit";
- end;
- case 2:
- if(!instance_id(1) || has_instance("1@tower") == ""){
- mes "無限之塔副本不存在.";
- mes "請確定你的隊伍已經申請過無限之塔挑戰,並且你們的挑戰副本並沒有因為長時間沒有人參加而取消";
- close;
- }
- instance_attach instance_id(1);
- if(ET_Lasttime + $ET_Cooldown < gettimetick(2))
- set ET_Lasttime,'ET_Lasttime;
- mapannounce "e_tower",getpartyname(getcharid(1))+"隊伍的"+strcharinfo(0)+" 進入了無限之塔。",bc_map | bc_blue;
- warp has_instance("1@tower"),53,355;
- end;
複製代碼
倒數第二行的 warp has_instance("1@tower"),53,355; 是可執行的
一直摸不著頭緒,希望有人可以幫忙解惑 |
|