OK論壇

 找回密碼
 註冊
查看: 1205|回復: 6

EA 12921 過一段時間後NPC才開放傳送 如何更改?

 關閉 [複製鏈接]
  • TA的每日心情

    2011-12-3 09:49 PM
  • 簽到天數: 4 天

    連續簽到: 0 天

    [LV.2]偶爾看看I

    發表於 2008-9-24 20:47:54 | 顯示全部樓層 |閱讀模式
    我想將這個腳本改成

    把『受傷夢羅克』殺死後 『傳送npc』將會『自動禁止傳送』   過了兩個小時後才『繼續開放傳送

    但是不知道怎麼修改說=.=

    -------------------------------------------------------------------------------------------------------------------------------


    ra_temsky.gat,119,92,3 script 夢羅克任務 935,{
    mes "[夢羅克任務解說員]";
    mes "本私服新增夢羅克任務";
    mes "怪物雖強 但是獎賞豐富";
    mes "請仔細看任務解說";
    mes "『將受傷的夢羅客殺死後』";
    mes "『請勿在moc_fild22地圖掛網』";
    mes "『否則被傳回城無法拿到獎品』";
    mes "『GM將不負責!!』";
            next;
    mes "[夢羅克任務解說員]";
    mes "進入後必須殺死^ff0000100隻夢羅克分身^000000後";
    mes "【魔王夢羅克】才會出現";
    mes "(注意:地圖中的機械兵所殺的夢羅克分身不列入計算中)";
    mes "當將他打倒後 他會退去另外一個空間";
    mes "進入另外一個空間後";
      mes "將【受傷的夢羅克】找出來並且殺死";
            next;
    mes "[夢羅克任務解說員]";
      mes "由於夢羅克受傷了";
      mes " 因此再與他打第二次時";
      mes " 他的能力會削減許多";
            next;
    mes "[夢羅克任務解說員]";
      mes " 解說完畢";
      mes " 您準備好要去了嗎?";
    menu
      "前往 夢羅克城外圍 ",gogo,
      "取  消",nono;
    gogo:
    mes " ";
    mes "祝你好運!";
            next;
    warp "moc_fild21.gat",25,198;
    end;
    nono:
    mes " ";
    mes "再會...";
    close;
    }

    //  ********************************************************************************************************************
    //               
    //       其他NPC        
    //               
    //  ********************************************************************************************************************
    moc_fild21.gat,31,197,5 script 守衛隊長#Morroc00 987,{ callfunc "MorrocHeadman"; }
    moc_fild21.gat,28,192,5 script 守衛兵#Morroc01 983,{ callfunc "MorrocGuardians"; }
    moc_fild21.gat,28,194,5 script 守衛兵#Morroc02 983,{ callfunc "MorrocGuardians"; }
    moc_fild21.gat,28,196,5 script 守衛兵#Morroc03 983,{ callfunc "MorrocGuardians"; }
    moc_fild21.gat,159,234,5 script 守衛隊長#Morroc0 987,{ callfunc "ShowHeadman"; }
    moc_fild21.gat,156,232,5 script 守衛兵#Morroc1 983,{ callfunc "ShowGuardians"; }
    moc_fild21.gat,156,234,5 script 守衛兵#Morroc2 983,{ callfunc "ShowGuardians"; }
    moc_fild21.gat,156,236,5 script 守衛兵#Morroc3 983,{ callfunc "ShowGuardians"; }
    moc_fild22.gat,35,197,5 script 守衛隊長#0Morroc 987,{ callfunc "Headman"; }
    moc_fild22.gat,32,199,5 script 守衛兵#1Morroc 983,{ callfunc "Guardians"; }
    moc_fild22.gat,32,197,5 script 守衛兵#2Morroc 983,{ callfunc "Guardians"; }
    moc_fild22.gat,32,195,5 script 守衛兵#3Morroc 983,{ callfunc "Guardians"; }

    moc_fild21.gat,163,219,5 script 控制 111,{
    set $KillMorrocShadow,0;
    set $MorrocAlive,0;
    set $MorrocTime,0;
    set $KillMorrocShadow,95;
    close;
    }

    //  隊長
    function script MorrocHeadman {
    mes " [ 守衛隊長 ]";
    mes " 這裡在以前就已經存在,";
    mes " 但是 ^ff0000夢羅克^000000 一直以來都被封印,";
    mes " 所以一直沒有與外界連通…";
    next;
    mes " [ 守衛隊長 ]";
    mes " 但是最近這裡很不穩定,";
    mes " 怪物越來越多,";
    mes " 好像在說明著什麼的…";
    next;
    mes " [ 守衛隊長 ]";
    mes " 目前已經有由 ^0000ff阿盧那貝茲^000000";
    mes " 所製造的機械傭兵,";
    mes " 再進怪物數量個控制了。";
    next;
    mes " [ 守衛隊長 ]";
    mes " 總而言之,";
    mes " 我們的工作就是看守這哩,";
    mes " 不知道還能撐多久…";
    close;
    }
    //  士兵
    function script MorrocGuardians {
    mes " [ 守衛兵 ]";
    mes " 在這裡是夢羅克附近的,";
    mes " 被 ^ff0000夢羅克^000000 製造的次元空間裂縫,";
    mes " 現在我們要做的就是解決這些魔物!";
    next;
    mes " [ 守衛兵 ]";
    mes " 但是似乎打也打不完,";
    mes " 只知道這裡已經被隔絕了,";
    mes " 需要特殊的方法才能進出。";
    next;
    mes " [ 守衛兵 ]";
    mes " 總而言之,";
    mes " 在外界的影響目前並不大吧?";
    mes " 那麼就可以了…";
    close;
    }
    //   ***** 魔王夢羅克復活 *****
    //  隊長
    function script ShowHeadman {
    if ( $MorrocAlive == 2 ){
    mes " [ 守衛隊長 ]";
    mes " 好險…";
    mes " 夢羅克暫時撤退了…";
    mes " 還需要進去另一個空間打敗他,";
    mes " 並且暫時封印他…";
    close;
    }
    mes " [ 守衛隊長 ]";
    mes " 可惡!";
    mes " 為什麼夢羅克還是復活了!";
    mes " 一定要想辦法打敗他啊!";
    close;
    }
    //  士兵
    function script ShowGuardians {
    if ( $MorrocAlive == 2 ){
    mes " [ 守衛兵 ]";
    mes " 好險…";
    mes " 夢羅克戰時撤退了…";
    mes " 但是不把他打敗還是會出現啊…";
    close;
    }
    mes " [ 守衛兵 ]";
    mes " ……………";
    mes " 沒想到,";
    mes " 夢羅克還是復活了…";
    close;
    }
    //   ***** 另一個空間 *****
    //  隊長
    function script Headman {
    if( $MorrocAlive == 0 ){
    mes " [ 守衛隊長 ]";
    mes " 太好了∼";
    mes " 夢羅克封印了,";
    mes " 雖然不知道能撐多久,";
    mes " 因為我們只是一般人。";
    next;
    mes " [ 守衛隊長 ]";
    mes " 不管怎樣,";
    mes " 真是太好了,";
    mes " 這是獎賞∼";
    mes " 我送你回去吧∼";
    next;
    getitem 671,10;
    getitem 607,50;
    getitem 5808,1;
    warp "ra_temsky",128,97;
    close;
    }
    mes " [ 守衛隊長 ]";
    mes " 再來,";
    mes " 魔王夢羅克就在這裡了…";
    mes " ^ff0000他位於靠近力量來源的核心^000000,";
    mes " 一定要想辦法封印他啊!";
    close;
    }
    //  士兵
    function script Guardians {
    if( $MorrocAlive == 0 ){
    mes " [ 守衛兵 ]";
    mes " 呵呵∼";
    mes " 夢羅克被封印了,";
    mes " 看來會和平一陣子∼";
    close;
    }
    mes " [ 守衛兵 ]";
    mes " 天啊!";
    mes " 魔王夢羅克就在這裡了…";
    mes " 氣氛感覺很怪異…";
    close;
    }
    //  ********************************************************************************************************************
    //               
    //       主要NPC        
    //               
    //  ********************************************************************************************************************
    - script #MorrocEvent -1,{
    OnKillMorrocShadow:
      specialeffect2 384;
      set $KillMorrocShadow,$KillMorrocShadow+1;
      if( $KillMorrocShadow == 50 ){
       announce " 轟 !  - 轟 !  - 轟 !  - ",bc_map,0xFF0000;
       specialeffect2 563;
       soundeffectall "earth_quake.wav",0;
      end;
    }
      if( $KillMorrocShadow == 100 ){
       set $MorrocAlive,1;
       announce " 轟 !  - 轟 !  - 轟 !  - ",bc_map,0xFF0000;
       specialeffect2 563;
       soundeffectall "earth_quake.wav",0;
       sleep2 2500;
       announce " 守衛隊長 : 中間的神秘光源有了變化!",bc_map,0x00FF00;
       sleep2 2500;
       announce " 守衛隊長 : …不…不好了!魔王夢羅克復活了!",bc_map,0x00FF00;
       sleep2 2500;
       announce " 守衛隊長 : 麻煩各位快速到中間支援!",bc_map,0x00FF00;
       enablenpc "守衛隊長#Morroc0";
       enablenpc "守衛兵#Morroc1";
       enablenpc "守衛兵#Morroc2";
       enablenpc "守衛兵#Morroc3";
       disablenpc "守衛隊長#Morroc00";
       disablenpc "守衛兵#Morroc01";
       disablenpc "守衛兵#Morroc02";
       disablenpc "守衛兵#Morroc03";
    end;
    }
    end;
    OnMorrocDeah:
    killmonsterall "moc_fild22";
    announce " 魔王夢羅克 : 呀啊啊啊啊啊啊啊啊啊啊 -  !!!!!!!!!!! ",bc_map,0xFF0000;
    sleep2 2500;
    announce " 魔王夢羅克 : 別以為會這麼簡單! ",bc_map,0xFF0000;
    sleep2 2500;
    announce " 魔王夢羅克 : 啊啊啊啊!!!!! ",bc_map,0xFF0000;
    sleep2 2500;
    announce " 守衛隊長 : 成功的封印夢羅克了!快回來找我吧!(請勿在本地圖逗留超過三分鐘)",bc_map,0x00FF00;
    set $KillMorrocShadow,0;
    set $MorrocAlive,0;
    set $MorrocTime,gettime(5);
    disablenpc "守衛隊長#Morroc0";
    disablenpc "守衛兵#Morroc1";
    disablenpc "守衛兵#Morroc2";
    disablenpc "守衛兵#Morroc3";
    enablenpc "守衛隊長#Morroc00";
    enablenpc "守衛兵#Morroc01";
    enablenpc "守衛兵#Morroc02";
    enablenpc "守衛兵#Morroc03";
    disablenpc "傳送點#Morroc";
    sleep2 7500;
    areawarp "moc_fild22.gat",0,0,300,300,"moc_fild22.gat",40,197;
    initnpctimer;
    OnTimer180000:
    areawarp "moc_fild22.gat",0,0,300,300,"ra_temsky.gat",128,97;
    end;
    OnInit:
    disablenpc "傳送點#Morroc";
    disablenpc "守衛隊長#Morroc0";
    disablenpc "守衛兵#Morroc1";
    disablenpc "守衛兵#Morroc2";
    disablenpc "守衛兵#Morroc3";
    enablenpc "守衛隊長#Morroc00";
    enablenpc "守衛兵#Morroc01";
    enablenpc "守衛兵#Morroc02";
    enablenpc "守衛兵#Morroc03";
    if ( $MorrocAlive != 2 ){
      if ( gettime(5) == $MorrocTime ){ end; }
      monster "moc_fild21",0,0,"夢羅克的分身",1918,45,"#MorrocEvent::OnKillMorrocShadow";
      monster "moc_fild21",0,0,"夢羅克的分身",1919,45,"#MorrocEvent::OnKillMorrocShadow";
      monster "moc_fild21",0,0,"夢羅克的分身",1920,45,"#MorrocEvent::OnKillMorrocShadow";
      monster "moc_fild21",0,0,"夢羅克的分身",1921,45,"#MorrocEvent::OnKillMorrocShadow";
    }
      if ( $MorrocAlive == 1 || $MorrocAlive == 2 ){
       enablenpc "守衛隊長#Morroc0";
       enablenpc "守衛兵#Morroc1";
       enablenpc "守衛兵#Morroc2";
       enablenpc "守衛兵#Morroc3";
       disablenpc "守衛隊長#Morroc00";
       disablenpc "守衛兵#Morroc01";
       disablenpc "守衛兵#Morroc02";
       disablenpc "守衛兵#Morroc03";
      if ( $MorrocAlive == 2 ){
       enablenpc "傳送點#Morroc";
      }
      end;
    }
    end;
    }
    moc_fild21.gat,177,239,5 script 神秘光源#Morroc 111,15,15,{
    if ( $MorrocAlive == 2 ){
      mes "     ";
      mes "  -   神秘的光源              - ";
      mes "  -   似乎是一個通道?        - ";
    }
    close;
    Ontouch:
    misceffect 247;
    if ( $MorrocAlive == 1 ){
      if ( [email=$@MorrocAlive]$@MorrocAlive[/email] == 1 ){ end; }
       set [email=$@MorrocAlive,1]$@MorrocAlive,1[/email];
       set [email=$@Morroc_type,1]$@Morroc_type,1[/email];
       set [email=$@Morroc_GID[$@Morroc_type],mobspawn]$@Morroc_GID[$@Morroc_type],mobspawn[/email]("魔王夢羅克",1916,"moc_fild21",178,225);
       sleep2 2500;
       announce " 魔王夢羅克 : 有種就儘管放馬過來吧!你們這些懦夫!",bc_map,0xFF0000;
       sleep2 2500;
       announce " 魔王夢羅克 : 我忠誠的僕人們啊!讓他們嘗嘗看死亡的痛苦!",bc_map,0xFF0000;
       callsub OnCheck;
       close;
    }
    if ( $MorrocAlive == 2 ){
      specialeffect2 247;
      specialeffect2 650;
      sleep2 5000;
      warp "moc_fild22",33,194;
      end;
    }
    end;
    OnCheck:
    getmobdata [email=$@Morroc_GID[$@Morroc_type],@array]$@Morroc_GID[$@Morroc_type],@array[/email];
    if ( $MorrocAlive == 1 ){
      if ( @array[2] <= @array[3]/2 ){
       set $MorrocAlive,2;
       specialeffect2 563;
       soundeffectall "earth_quake.wav",0;
       enablenpc "守衛隊長#Morroc0";
       enablenpc "守衛兵#Morroc1";
       enablenpc "守衛兵#Morroc2";
       enablenpc "守衛兵#Morroc3";
       disablenpc "守衛隊長#Morroc00";
       disablenpc "守衛兵#Morroc01";
       disablenpc "守衛兵#Morroc02";
       disablenpc "守衛兵#Morroc03";
       enablenpc "神秘光源#Morroc";
       disablenpc "神秘光源#Morroc";
       announce " 魔王夢羅克 : 呀啊啊啊啊啊啊啊啊啊啊 -  !!!!!!!!!!! ",bc_map,0xFF0000;
       sleep2 2500;
       announce " 魔王夢羅克 : 暫時先饒了你們!!!!!!! ",bc_map,0xFF0000;
       sleep2 2500;
       announce " 魔王夢羅克 : 懦弱的人類啊啊啊啊!!!!! ",bc_map,0xFF0000;
       killmonsterall "moc_fild21";
       sleep2 2500;
       announce " 守衛隊長 : 魔王夢羅克和所有怪物暫時退到另一個次元裂縫了…",bc_map,0x00FF00;
       enablenpc "傳送點#Morroc";
       end;
      }
    sleep2 500;
    callsub OnCheck;
    end;
    }
    end;
    }
    moc_fild21.gat,178,225,5 script 傳送點#Morroc 45,5,5,{
    if ( $MorrocAlive == 2 ){
      misceffect 247;
      specialeffect2 650;
      sleep2 5000;
      warp "moc_fild22",33,194;
      end;
    }
    end;
    }
    //  ********************************************************************************************************************
    //               
    //       魔物        
    //               
    //  ********************************************************************************************************************
    moc_fild21,0,0,0,0 monster 巨石怪  1040,30,0,0,0
    moc_fild21,0,0,0,0 monster 鐘乳巨石怪 1278,45,0,0,0
    moc_fild21,0,0,0,0 monster 熔岩巨石 1366,45,0,0,0
    moc_fild21,24,197,5,5 monster 劍士守衛兵 1829,1,0,0,8
    moc_fild21,24,197,5,5 monster 弓箭守衛兵 1830,1,0,0,8
    moc_fild21,0,0,0,0 monster 劍士守衛兵 1829,10,0,0,8
    moc_fild21,0,0,0,0 monster 弓箭守衛兵 1830,10,0,0,8
    moc_fild22,0,0,0,0 monster 夢羅克的分身 1918,25,36000000,36000000,0
    moc_fild22,0,0,0,0 monster 夢羅克的分身 1919,25,36000000,36000000,0
    moc_fild22,0,0,0,0 monster 夢羅克的分身 1920,25,36000000,36000000,0
    moc_fild22,0,0,0,0 monster 夢羅克的分身 1921,25,36000000,36000000,0
    moc_fild22,221,202,0,0 monster 受傷的夢羅克 1917,1,72000000,72000000,"#MorrocEvent::OnMorrocDeah"
    moc_fild21.gat mapflag nobranch
    moc_fild21.gat mapflag noloot
    moc_fild21.gat mapflag nomemo
    moc_fild21.gat mapflag nopenalty
    moc_fild21.gat mapflag nosave SavePoint
    moc_fild22.gat mapflag nobranch
    moc_fild22.gat mapflag noloot
    moc_fild22.gat mapflag nomemo
    moc_fild22.gat mapflag nopenalty
    moc_fild22.gat mapflag nosave SavePoint

    -------------------------------------------------------------------------------------------------------------------------------

    [ 本帖最後由 魂哥 於 2008-9-24 10:18 PM 編輯 ]
  • TA的每日心情

    2011-12-3 09:49 PM
  • 簽到天數: 4 天

    連續簽到: 0 天

    [LV.2]偶爾看看I

     樓主| 發表於 2008-9-24 22:17:07 | 顯示全部樓層
    原帖由 海神夜 於 2008-9-24 09:58 PM 發表
    我跟ea不熟
    但是應該是$MorrocAlive == 2

    你根本就沒說怎麼修改呀~"~ 只告訴指令碼有什麼用 :tk_02


    我是要『』成把『受傷夢羅克』殺死後 『傳送npc』將會『自動禁止傳送』   過了兩個小時後才『繼續開放傳送
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2019-8-18 04:57 PM
  • 簽到天數: 2148 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

    發表於 2008-9-25 17:39:39 | 顯示全部樓層
    ONPCKILL

    KILLID==X { hideonnpc }

    sleep2 T
    hideoffnpc

    沒 時 間 打 完 整
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2011-12-3 09:49 PM
  • 簽到天數: 4 天

    連續簽到: 0 天

    [LV.2]偶爾看看I

     樓主| 發表於 2008-9-25 20:28:29 | 顯示全部樓層
    我是想將他禁止傳送而已  並不是要把NPC隱藏2小時才出現  

    --------------------------------------------------------------------------------------------------------------
    ra_temsky.gat,119,92,3        script        夢羅克任務        935,{
            mes "[夢羅克任務解說員]";
            mes "本私服新增夢羅克任務";
            mes "怪物雖強 但是獎賞豐富";
            mes "請仔細看任務解說";
            mes "『將受傷的夢羅客殺死後』";
            mes "『請勿在moc_fild22地圖掛網』";
            mes "『否則被傳回城無法拿到獎品』";
            mes "『GM將不t責!!』";
            next;
            mes "[夢羅克任務解說員]";
            mes "進入後必須殺死^ff0000100隻夢羅克分身^000000後";
            mes "【魔王夢羅克】才會出現";
            mes "(注意:地圖中的機械兵所殺的夢羅克分身不列入計算中)";
            mes "當將他打倒後 他會退去另外一個空間";
            mes "進入另外一個空間後";
            mes "將【受傷的夢羅克】找出來並且殺死";
            next;
            mes "[夢羅克任務解說員]";
            mes "由於夢羅克受傷了";
            mes " 因此再與他打第二次時";
            mes " 他的能力會削減許多";
            mes "       解說完畢";
    next;"
            mes "[夢羅克任務解說員]";
            mes " 您準備好要去了嗎?";
            menu        
                    "前往 夢羅克城外圍 ",gogo,
                    "取  消",nono;
    gogo:        
            mes " ";
            mes "祝你好運!";
            next;
            warp "moc_fild21.gat",25,198;
            end;
    nono:
            mes " ";
            mes "再會...";
            close;
    }
    ----------------------------------------------------------------------------------------------------------

    我想讓在moc_fild22地圖中『受傷的夢羅克』被殺害後的兩小時內
    讓這個傳送npc不開放傳送
    我增加以下這幾句 是要在不開放傳送的時候
    有玩家點了npc後他所說的話  

    ****************************************************************
    npcnotiem:
                         next;
            mes "[夢羅克任務解說員]";
            mes " 夢羅克任務有人已完成";
            mes "暫時不開放傳送";
            mes "請2小時後再來";
            close;
    ****************************************************************
    這個應該放到哪呢??  
    還需要增加哪些指令呢??
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2019-8-18 04:57 PM
  • 簽到天數: 2148 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

    發表於 2008-9-26 06:55:16 | 顯示全部樓層
    ONPCKILL

    KILLID==X { set $warp,1; }

    sleep2 T
    set $warp,0;



    if( $warp ==0 ){ warp "X",w,q; }
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2011-12-3 09:49 PM
  • 簽到天數: 4 天

    連續簽到: 0 天

    [LV.2]偶爾看看I

     樓主| 發表於 2008-9-26 21:37:08 | 顯示全部樓層
    感謝囉^^

    呵呵  問題解決嚕 :tk_38
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2019-8-18 04:57 PM
  • 簽到天數: 2148 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

    發表於 2008-9-26 22:05:59 | 顯示全部樓層
    #6
    設 計 概 念
    利 用 伺 服 器 NPC 共 通 $變數
    回復 支持 反對

    使用道具 舉報

    您需要登錄後才可以回帖 登錄 | 註冊

    本版積分規則

    Archiver|手機版|小黑屋|OK討論區

    GMT+8, 2025-6-29 11:54 AM , Processed in 0.139155 second(s), 20 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回復 返回頂部 返回列表