OK論壇

 找回密碼
 註冊
查看: 1141|回復: 4

NPC語法

 關閉 [複製鏈接]
  • TA的每日心情
    開心
    2012-6-20 12:30 AM
  • 簽到天數: 46 天

    連續簽到: 0 天

    [LV.5]常住居民I

    發表於 2008-12-17 22:54:36 | 顯示全部樓層 |閱讀模式
    這几天都是在寫npc
    但是發覺...寫來寫去都是有錯誤....
    我寫的這腳本
    是在npc 對話框里面可以顯示
    這玩家是否在線...
    但是....總是有錯誤....

    請哪位大大教教吧....!
    謝謝

    我參考的npc...

    //變數說明
    // $used[]  -- 使用者charid --全域變數
    // $message_name$[]-- 留言者姓名 --全域字串變數
    // $message$[] -- 留言  --全域字串變數
    // $aa$[]  -- 留言類型 --全域字串變數
    // $m_year[] -- 留言 年  --全域變數
    // $m_month[] --      月  --全域變數
    // $m_day[] --      日  --全域變數
    // $m_hour[] --      時  --全域變數
    // $m_min[] --      分  --全域變數
    // $m_num[] -- 第幾留言 --全域變數
    // @w  -- 第幾留言 --暫存腳色變數(迴圈用
    // @line[]  -- 留言者在線 --暫存腳色變數
    // $boardmax(1~127)-- 最大留言次數 --全域變數
    // $boardmoney -- 收費  --暫存全域變數
    // $gm_charid -- GM帳號ID --全域變數
    prontera.gat,164,89,5 script 留言板 857,{
    //----------------
    set $boardmax,30; //此修改最大留言數1~127
    set $boardmoney,1000; //此處修改收費價錢
    set $gm_charid,2000000; //此處修改GM帳號ID
    //----------------
    mes "===歡迎使用留言板===";
    mes "一、本板是公開的";
    mes "二、如果惡意使用將遭受處分";
    mes "三、一個帳號只能保存一筆留言";
    mes "四、每次留言酌收 " + $boardmoney + " Zeny";
    for ( set @w,1; @w<=$boardmax; set @w,@w+1 ){
    if (getcharid(3)==$gm_charid) {
      menu "觀看留言",look,"留言",MMM,"刪除我的留言",del,"刪除指定留言",delnum,"刪除全部留言",Alldel;
    } else if ($used[@w]==getcharid(3)) {
      menu "觀看留言",look,"刪除我的留言",del;
    } else {
      menu "觀看留言",look,"留言",MMM;
    }
    }
    //留言
    MMM:
    next;
    if( zeny < $boardmoney ){
      mes "你身上不夠錢噢";
      goto ok;
    }
    set zeny,zeny-$boardmoney;
    set @ty,select("買賣","隨意");
    set @t,1;
    for ( set @w,1; @w<=$boardmax; set @w,@w+1 ){
      if( $message_name$[@w] == ""){
         mes "請輸入留言";
       input $message$[@w];
         next;
         setarray $m_year[@w],gettime(7);
         setarray $m_month[@w],gettime(6);
         setarray $m_day[@w],gettime(5);
         setarray $m_hour[@w],gettime(3);
         setarray $m_min[@w],gettime(2);
         setarray $message_name$[@w],strcharinfo(0);
         setarray $m_num[@w],@w;
         if (@ty == 1) setarray $aa$[@w],"^339933買賣^000000]";
         if (@ty == 2) setarray $aa$[@w],"隨意]";
         mes "[留言" + $m_num[@w] + "]^3355FF[" + $message_name$[@w] + "]^000000";
         mes "[" + $aa$[@w] + $message$[@w];
         announce $message_name$[@w] + "新增了一筆留言",15;
         setarray $used[@w],getcharid(3);
         goto ok;
        }else{
         set @t,@t+1;
        }
    }
    if (@t >= $boardmax) mes "目前留言板已滿"; close;
    ok:
    close;
    //觀看留言
    look:
    next;
    set @t,0;
    for ( set @w,1; @w<=$boardmax; set @w,@w+1 ){
        if( $message_name$[@w] != ""){
       if (getcharid(3,$message_name$[@w]) <= 0){ //判斷在線?
          setarray @line$[@w],"^FF0000Offline^000000";
       }else{
          setarray @line$[@w],"^0000FFOnline^000000";
       }
         mes "[留言" + $m_num[@w] + "]^3355FF[" + $message_name$[@w] + "]^000000  " + @line$[@w] ;
         mes "[" + $aa$[@w] +$message$[@w];
         mes "^FF0000--" + $m_year[@w] + "/" + $m_month[@w] + "/" + $m_day[@w] + " " + $m_hour[@w] + ":" + $m_min[@w] + "--^000000";
       }else{
         set @t,@t+1;
      }
    }
    if ( @t >= $boardmax ) mes "目前無人留言"; close;

    close;
    回復

    使用道具 舉報

    該用戶從未簽到

    發表於 2008-12-18 14:10:09 | 顯示全部樓層
    你看一下這篇,可能就知道你錯哪邊

    還有...錯哪邊 請直接貼出 map-server 錯誤的地方

    http://www.okayro.com/thread-79706-1-3.html

    [ 本帖最後由 lendlice0001 於 2008-12-18 02:11 PM 編輯 ]
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    無聊
    2014-11-6 11:11 PM
  • 簽到天數: 19 天

    連續簽到: 1 天

    [LV.4]偶爾看看III

    發表於 2008-12-19 17:59:02 | 顯示全部樓層
    可以試試看爬文尋找

    或許會找到妳想要的答案
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2012-6-20 12:30 AM
  • 簽到天數: 46 天

    連續簽到: 0 天

    [LV.5]常住居民I

     樓主| 發表於 2008-12-20 10:32:53 | 顯示全部樓層

    回覆 2樓的 lendlice0001 的帖子

    好似誤解了我的意思...
    我是想...
    在npc 里面顯示這玩家有沒有上線..
    不是我重複了....
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2016-12-15 11:58 PM
  • 簽到天數: 379 天

    連續簽到: 1 天

    [LV.9]以壇為家II

    發表於 2008-12-20 11:30:31 | 顯示全部樓層
    參考  http://www.okayro.com/thread-64141-1-4.html
    輸入玩家ID    顯示在線上或不在線上  請自行研究。
    回復 支持 反對

    使用道具 舉報

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

    本版積分規則

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

    GMT+8, 2024-5-19 09:57 PM , Processed in 0.047291 second(s), 19 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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