OK論壇

 找回密碼
 註冊
查看: 1274|回復: 7

好像有關點數和死亡的腳本出錯?map有警告 !

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

    2017-4-5 06:13 PM
  • 簽到天數: 139 天

    連續簽到: 2 天

    [LV.7]常住居民III

    發表於 2014-4-6 02:47:02 | 顯示全部樓層 |閱讀模式
    EA
    私服版號: 13091
    問題內容: 腳本問題
    本帖最後由 hiphopiove 於 2014-4-6 03:22 PM 編輯



    一直有這個報錯

    大概知道是有關點數和死亡的腳本出錯

    可是找不到原因在哪裡?

    請大大們幫忙看看 !!

    這是我目前正在使用的兩個有關的點數和死亡的npc
    1. -        script        OnNPCKillEvent        -1,{
    2. OnNPCKillEvent:
    3. if ( killedrid == 1038 || killedrid == 1039 || killedrid == 1046 || killedrid == 1059 || killedrid == 1086 || killedrid == 1087 || killedrid == 1096 || killedrid == 1112 || killedrid == 1115 || killedrid == 1120 || killedrid == 1147 || killedrid == 1150 || killedrid == 1157 || killedrid == 1159 || killedrid == 1190 || killedrid == 1251 || killedrid == 1252 || killedrid == 1272 || killedrid == 1312 || killedrid == 1373 || killedrid == 1388 || killedrid == 1389 || killedrid == 1418 || killedrid == 1492 || killedrid == 1511 || killedrid == 1582 || killedrid == 1583 || killedrid == 1623 || killedrid == 1630 || killedrid == 1658 || killedrid == 1685 || killedrid == 1688 || killedrid == 1708 || killedrid == 1719 || killedrid == 1734 || killedrid == 1751 || killedrid == 1768 ||
    4. killedrid == 1779 || killedrid == 1785 || killedrid == 1832 || killedrid == 1871 || killedrid == 1873 || killedrid == 1874 || killedrid == 1885 || killedrid == 1917 || killedrid == 1956 || killedrid == 1957) {
    5.         dispbottom "恭喜擊敗MVP 【CASH點數已累積 " + #CASHPOINTS+ " 點。】";
    6.         set #CASHPOINTS,#CASHPOINTS +rand(25,50);
    7. }
    8. }
    複製代碼
    1. -        script        PointRun        -1,{
    2. OnInit:
    3. /*
    4. ?????????????????????????????????????
    5. ? 【獎勵任務系列】 │ 點數累積兌換腳本 │版本:v1.3│作者: Yayeshaleio?
    6. ?????????????????????????????????????
    7. ?修改變數│$@GM_LVL        最小管理GM等級(預設:90)                     ?
    8. ?    │$@Point_PMaxLVL 伺服器玩家最高等級(預設:99)                 ?
    9. ?    │$@Point_Cart  是否開放手推車積點(0:是 1:否,預設:1)    ?
    10. ?    │$@Point_NU_AT   是否使用舊版計時器(0:是 1:否,預設:1)    ?
    11. ?    │        新版計時器可以在玩家與 NPC對話時持續記時,但?
    12. ?    │        時間一長可能會有誤差,測試約 900秒(約15分鐘)?
    13. ?    │        後將慢 1秒。誤差依各人伺服器配備而有所差異。?
    14. ?    │        注意:當使用新版計時器,且GM用 @reloadscript?
    15. ?    │           重置腳本時,玩家將會停止記時!    ?
    16. ?????????????????????????????????????
    17. ?基本介紹│  答應別人寫腳本,不能食言囉∼反正最近蠻多空閒時間......誰?
    18. ?    │知道這麼一個簡單的腳本,卻被弄得這麼複雜><,這絕對不是我的初?
    19. ?    │衷,我發誓!(指!根本是存心讓別人看不懂)(有嗎?)      ?
    20. ?    │  其實是因為托我寫此腳本的人不會自己弄兌換用的 NPC,只好寫?
    21. ?    │得複雜一點,能一勞永逸囉∼                 ?
    22. ?    │  本 NPC預設位於amatsu地圖(座標:125,144),大家應該會自己修?
    23. ?    │改 NPC所在地圖吧?本腳本不知道還會不會再更新呢?會?不會!??
    24. ?    │  累積點數的變數為 ##Point_NB ,若伺服器已有相似的紀錄點數?
    25. ?    │用的變數,可以用取代功能,將本壓縮檔兩個腳本中的 ##Point_NB ?
    26. ?    │改為您的紀錄點數用變數喔!(可以為腳色變數)         ?
    27. ?????????????????????????????????????
    28. ?更新履歷│版本:v1.3                                                  ?
    29. ?    ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─?
    30. ?    │增加 物品換物品功能。                   ?
    31. ?    │   (感謝 meayer1205 提出此建議,讓腳本功能更加完善)   ?
    32. ?    │   新版計時器,點擊 NPC將不會停止記時,若欲改回舊版計時器?
    33. ?    │   請將 $@Point_NU_AT 變數修改為 0 即可。        ?
    34. ?    │    (感謝 jo35k6 提出此建議,讓腳本功能更加完善)    ?
    35. ?    ├──────────────────────────────?
    36. ?    │版本:v1.2                                                  ?
    37. ?    ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─?
    38. ?    │修正 掛網積點狀態,登入後第一次增點需花雙被時間 BUG。   ?
    39. ?    │修改 使不允許移動的掛網積點模式中,腳色移動後便停止計時器。?
    40. ?    ├──────────────────────────────?
    41. ?    │版本:v1.1                                                  ?
    42. ?    ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─?
    43. ?    │增加 積點告知:當有累積到點數時,將會告知增加多少點數!  ?
    44. ?    │   移動積點:GM"修改間隔時間增加點數"中,新增[必須移動]選?
    45. ?    │   項,此選項使掛網者無法累積點數。           ?
    46. ?    │修正 部分伺服器提供"離線商店"功能,導致商人系列可以開商店掛?
    47. ?    │   網累積點數,已修正為有手推車無法累積點數。      ?
    48. ?    │   運算時分母可能為零,導致伺服器錯誤的 BUG之錯誤。   ?
    49. ?    │ (感謝 笨夢是也 與 snowchat 報錯,讓伺服器能夠修正錯誤!) ?
    50. ?    │修改 部分伺服器版本將會與"登入控制平台"產生衝突,導致偵測登?
    51. ?    │   入的計時器無法啟動,請登入後點選"點數換物品人員"即可開?
    52. ?    │   始計時。                       ?
    53. ?????????????????????????????????????
    54. */
    55. // ==============================修改變數區==============================
    56.         set $@GM_LVL,90;
    57.         set $@Point_PlayerMaxLVL,98;
    58.         set $@Point_Cart,0;
    59.         set $@Point_NU_AT,1;
    60. // ======================================================================
    61.         end;
    62. OnNPCKillEvent:
    63.         if(BaseLevel<$Point_MobLVL)end;
    64.         if($Point_MobNB)
    65.         {
    66.                 set @Point_KillMobNB,@Point_KillMobNB%$Point_MobNB;
    67.                 set @Point_KillMobNB,@Point_KillMobNB+1;
    68.                 set ##Point_NB,##Point_NB+(@Point_KillMobNB/$Point_MobNB)*$Point_MobP;
    69.                 if((@Point_KillMobNB/$Point_MobNB))announce "點數換物品人員 : 點數已增加 "+((@Point_KillMobNB/$Point_MobNB)*$Point_MobP)+" 點!",bc_blue|bc_self;
    70.         }
    71.         end;
    72. OnPCLoginEvent:
    73.         getmapxy(@Point_Map_D$,@Point_X_D,@Point_Y_D,0);
    74.         if(!$@Point_NU_AT)addtimer ($Point_SenNB*1000),"PointRun::OnAddTimer";
    75.         for(set @Point_Addtimer2,1;$@Point_NU_AT;set @Point_Addtimer2,@Point_Addtimer2+1)
    76.         {
    77.                 sleep2 1000;
    78.         OnAddTimer:
    79.                 getmapxy(@Point_Map_N$,@Point_X_N,@Point_Y_N,0);
    80.                 if($Point_SenW != 1)set @Point_Start,1;
    81.                 if($Point_SenNB)set @Point_Addtimer2,(@Point_Addtimer2%$Point_SenNB)*@Point_Start;
    82.                 if(@Point_Addtimer2 && $@Point_NU_AT || !@Point_Start)continue;
    83.                 if(BaseLevel>=$Point_SenLVL)if(!$Point_SenW || $Point_SenW == 1 && @Point_Map_N$ == @Point_Map_D$ && @Point_X_N == @Point_X_D && @Point_Y_N == @Point_Y_D && !($@Point_Cart?checkcart():0) || $Point_SenW == 2 && ((@Point_Map_N$ == @Point_Map_D$?0:1) + (@Point_X_N == @Point_X_D?0:1) + (@Point_Y_N == @Point_Y_D?0:1)))
    84.                 {
    85.                         announce "點數換物品人員 : 點數已增加 "+$Point_SenP+" 點!",bc_blue|bc_self;
    86.                         set ##Point_NB,##Point_NB+$Point_SenP;
    87.                 }
    88.                 else if($Point_SenW == 1) set @Point_Start,0;
    89.                 else if($Point_SenW == 2) set @Point_Addtimer2,$Point_SenNB-1;
    90.                 getmapxy(@Point_Map_D$,@Point_X_D,@Point_Y_D,0);
    91.         }
    92.         if(@Point_Start && $Point_SenNB)addtimer ($Point_SenNB*1000),"PointRun::OnAddTimer";
    93. }}
    複製代碼
    將打王取得點數加入點數腳本後已修正不會有報錯(以下是修正過的)
    1. -        script        PointRun        -1,{
    2. OnInit:
    3. /*
    4. ?????????????????????????????????????
    5. ? 【獎勵任務系列】 │ 點數累積兌換腳本 │版本:v1.3│作者: Yayeshaleio?
    6. ?????????????????????????????????????
    7. ?修改變數│$@GM_LVL        最小管理GM等級(預設:90)                     ?
    8. ?    │$@Point_PMaxLVL 伺服器玩家最高等級(預設:99)                 ?
    9. ?    │$@Point_Cart  是否開放手推車積點(0:是 1:否,預設:1)    ?
    10. ?    │$@Point_NU_AT   是否使用舊版計時器(0:是 1:否,預設:1)    ?
    11. ?    │        新版計時器可以在玩家與 NPC對話時持續記時,但?
    12. ?    │        時間一長可能會有誤差,測試約 900秒(約15分鐘)?
    13. ?    │        後將慢 1秒。誤差依各人伺服器配備而有所差異。?
    14. ?    │        注意:當使用新版計時器,且GM用 @reloadscript?
    15. ?    │           重置腳本時,玩家將會停止記時!    ?
    16. ?????????????????????????????????????
    17. ?基本介紹│  答應別人寫腳本,不能食言囉∼反正最近蠻多空閒時間......誰?
    18. ?    │知道這麼一個簡單的腳本,卻被弄得這麼複雜><,這絕對不是我的初?
    19. ?    │衷,我發誓!(指!根本是存心讓別人看不懂)(有嗎?)      ?
    20. ?    │  其實是因為托我寫此腳本的人不會自己弄兌換用的 NPC,只好寫?
    21. ?    │得複雜一點,能一勞永逸囉∼                 ?
    22. ?    │  本 NPC預設位於amatsu地圖(座標:125,144),大家應該會自己修?
    23. ?    │改 NPC所在地圖吧?本腳本不知道還會不會再更新呢?會?不會!??
    24. ?    │  累積點數的變數為 ##Point_NB ,若伺服器已有相似的紀錄點數?
    25. ?    │用的變數,可以用取代功能,將本壓縮檔兩個腳本中的 ##Point_NB ?
    26. ?    │改為您的紀錄點數用變數喔!(可以為腳色變數)         ?
    27. ?????????????????????????????????????
    28. ?更新履歷│版本:v1.3                                                  ?
    29. ?    ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─?
    30. ?    │增加 物品換物品功能。                   ?
    31. ?    │   (感謝 meayer1205 提出此建議,讓腳本功能更加完善)   ?
    32. ?    │   新版計時器,點擊 NPC將不會停止記時,若欲改回舊版計時器?
    33. ?    │   請將 $@Point_NU_AT 變數修改為 0 即可。        ?
    34. ?    │    (感謝 jo35k6 提出此建議,讓腳本功能更加完善)    ?
    35. ?    ├──────────────────────────────?
    36. ?    │版本:v1.2                                                  ?
    37. ?    ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─?
    38. ?    │修正 掛網積點狀態,登入後第一次增點需花雙被時間 BUG。   ?
    39. ?    │修改 使不允許移動的掛網積點模式中,腳色移動後便停止計時器。?
    40. ?    ├──────────────────────────────?
    41. ?    │版本:v1.1                                                  ?
    42. ?    ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─?
    43. ?    │增加 積點告知:當有累積到點數時,將會告知增加多少點數!  ?
    44. ?    │   移動積點:GM"修改間隔時間增加點數"中,新增[必須移動]選?
    45. ?    │   項,此選項使掛網者無法累積點數。           ?
    46. ?    │修正 部分伺服器提供"離線商店"功能,導致商人系列可以開商店掛?
    47. ?    │   網累積點數,已修正為有手推車無法累積點數。      ?
    48. ?    │   運算時分母可能為零,導致伺服器錯誤的 BUG之錯誤。   ?
    49. ?    │ (感謝 笨夢是也 與 snowchat 報錯,讓伺服器能夠修正錯誤!) ?
    50. ?    │修改 部分伺服器版本將會與"登入控制平台"產生衝突,導致偵測登?
    51. ?    │   入的計時器無法啟動,請登入後點選"點數換物品人員"即可開?
    52. ?    │   始計時。                       ?
    53. ?????????????????????????????????????
    54. */
    55. // ==============================修改變數區==============================
    56.         set $@GM_LVL,90;
    57.         set $@Point_PlayerMaxLVL,98;
    58.         set $@Point_Cart,0;
    59.         set $@Point_NU_AT,1;
    60. // ======================================================================
    61.         end;
    62. OnNPCKillEvent:
    63. if ( killedrid == 1038 || killedrid == 1039 || killedrid == 1046 || killedrid == 1059 || killedrid == 1086 || killedrid == 1087 || killedrid == 1096 || killedrid == 1112 || killedrid == 1115 || killedrid == 1120 || killedrid == 1147 || killedrid == 1150 || killedrid == 1157 || killedrid == 1159 || killedrid == 1190 || killedrid == 1251 || killedrid == 1252 || killedrid == 1272 || killedrid == 1312 || killedrid == 1373 || killedrid == 1388 || killedrid == 1389 || killedrid == 1418 || killedrid == 1492 || killedrid == 1511 || killedrid == 1582 || killedrid == 1583 || killedrid == 1623 || killedrid == 1630 || killedrid == 1658 || killedrid == 1685 || killedrid == 1688 || killedrid == 1708 || killedrid == 1719 || killedrid == 1734 || killedrid == 1751 || killedrid == 1768 ||
    64. killedrid == 1779 || killedrid == 1785 || killedrid == 1832 || killedrid == 1871 || killedrid == 1873 || killedrid == 1874 || killedrid == 1885 || killedrid == 1917 || killedrid == 1956 || killedrid == 1957) {
    65.         dispbottom "恭喜擊敗MVP 【CASH點數已累積 " + #CASHPOINTS+ " 點。】";
    66.         set #CASHPOINTS,#CASHPOINTS +rand(25,50);
    67.         }
    68.         if(BaseLevel<$Point_MobLVL)end;
    69.         if($Point_MobNB)
    70.         {
    71.                 set @Point_KillMobNB,@Point_KillMobNB%$Point_MobNB;
    72.                 set @Point_KillMobNB,@Point_KillMobNB+1;
    73.                 set ##Point_NB,##Point_NB+(@Point_KillMobNB/$Point_MobNB)*$Point_MobP;
    74.                 if((@Point_KillMobNB/$Point_MobNB))announce "點數換物品人員 : 點數已增加 "+((@Point_KillMobNB/$Point_MobNB)*$Point_MobP)+" 點!",bc_blue|bc_self;
    75.         }
    76.         end;
    77. OnPCLoginEvent:
    78.         getmapxy(@Point_Map_D$,@Point_X_D,@Point_Y_D,0);
    79.         if(!$@Point_NU_AT)addtimer ($Point_SenNB*1000),"PointRun::OnAddTimer";
    80.         for(set @Point_Addtimer2,1;$@Point_NU_AT;set @Point_Addtimer2,@Point_Addtimer2+1)
    81.         {
    82.                 sleep2 1000;
    83.         OnAddTimer:
    84.                 getmapxy(@Point_Map_N$,@Point_X_N,@Point_Y_N,0);
    85.                 if($Point_SenW != 1)set @Point_Start,1;
    86.                 if($Point_SenNB)set @Point_Addtimer2,(@Point_Addtimer2%$Point_SenNB)*@Point_Start;
    87.                 if(@Point_Addtimer2 && $@Point_NU_AT || !@Point_Start)continue;
    88.                 if(BaseLevel>=$Point_SenLVL)if(!$Point_SenW || $Point_SenW == 1 && @Point_Map_N$ == @Point_Map_D$ && @Point_X_N == @Point_X_D && @Point_Y_N == @Point_Y_D && !($@Point_Cart?checkcart():0) || $Point_SenW == 2 && ((@Point_Map_N$ == @Point_Map_D$?0:1) + (@Point_X_N == @Point_X_D?0:1) + (@Point_Y_N == @Point_Y_D?0:1)))
    89.                 {
    90.                         announce "點數換物品人員 : 點數已增加 "+$Point_SenP+" 點!",bc_blue|bc_self;
    91.                         set ##Point_NB,##Point_NB+$Point_SenP;
    92.                 }
    93.                 else if($Point_SenW == 1) set @Point_Start,0;
    94.                 else if($Point_SenW == 2) set @Point_Addtimer2,$Point_SenNB-1;
    95.                 getmapxy(@Point_Map_D$,@Point_X_D,@Point_Y_D,0);
    96.         }
    97.         if(@Point_Start && $Point_SenNB)addtimer ($Point_SenNB*1000),"PointRun::OnAddTimer";
    98. }
    複製代碼

    本帖子中包含更多資源

    您需要 登錄 才可以下載或查看,沒有帳號?註冊

    x
    回復

    使用道具 舉報

  • TA的每日心情

    2018-3-5 10:28 PM
  • 簽到天數: 140 天

    連續簽到: 1 天

    [LV.7]常住居民III

    發表於 2014-4-6 03:12:04 | 顯示全部樓層
    雖然我沒學過腳本~
    但是單看著個警告~~
    應該是某個腳本函數寫錯 單給警告~其他大大應該也沒辦法給妳回復吧!
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    慵懶
    2014-4-18 09:37 AM
  • 簽到天數: 48 天

    連續簽到: 5 天

    [LV.5]常住居民I

    發表於 2014-4-6 10:04:58 | 顯示全部樓層
    要發問腳本相關問題,建議你把腳本貼出來

    不然大部份的人,實在有點懶得理會,這種發問方式
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2017-4-5 06:13 PM
  • 簽到天數: 139 天

    連續簽到: 2 天

    [LV.7]常住居民III

     樓主| 發表於 2014-4-6 10:13:35 | 顯示全部樓層
    lancelotassthx 發表於 2014-4-6 10:04 AM
    要發問腳本相關問題,建議你把腳本貼出來

    不然大部份的人,實在有點懶得理會,這種發問方式

    已貼出來~麻煩大大過目 !!

    但也不確定是不是就這兩個其中一個有問題 !!

    請大大們幫我看看了 !!
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    慵懶
    2020-5-9 12:35 PM
  • 簽到天數: 987 天

    連續簽到: 1 天

    [LV.10]以壇為家III

    發表於 2014-4-6 10:48:38 | 顯示全部樓層
    https://github.com/rathena/rathena/blob/master/src/map/map.h#L43
    1. #define MAX_EVENTQUEUE 2      <---- 增加數值
    複製代碼
    或者在腳本
    1. OnNPCKillEvent:
    2. sleep 1;   // <--- 添加
    複製代碼
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2017-4-5 06:13 PM
  • 簽到天數: 139 天

    連續簽到: 2 天

    [LV.7]常住居民III

     樓主| 發表於 2014-4-6 11:06:47 | 顯示全部樓層
    emistry 發表於 2014-4-6 10:48 AM
    https://github.com/rathena/rathena/blob/master/src/map/map.h#L43或者在腳本

    請問能說那些語法要放在哪個語法上面或裡面嗎

    這樣我看不懂耶 .. 不好意思
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    慵懶
    2014-4-18 09:37 AM
  • 簽到天數: 48 天

    連續簽到: 5 天

    [LV.5]常住居民I

    發表於 2014-4-6 14:27:38 | 顯示全部樓層
    hiphopiove 發表於 2014-4-6 10:13 AM
    已貼出來~麻煩大大過目 !!

    但也不確定是不是就這兩個其中一個有問題 !!

    我印象中,這個問題和上次的一樣,都是同時觸發事件

    殺死怪物觸發事件,你同時用二個,解決方法有二種方式


    1,合併一起,只使用一個殺死怪物觸發事件

    2,捨棄其中一個腳本,你若想要全部腳本功能,就使用1



    補充: 另外你上次的腳本問題,大家回答你之後

    你卻把標題直接改【已解決】,卻不把答案貼出來

    這樣你上次所發的問題,只解決了,你個人腳本問題

    有空時看一下版規吧,不然等等有人檢舉,你就又被扣分了
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2017-4-5 06:13 PM
  • 簽到天數: 139 天

    連續簽到: 2 天

    [LV.7]常住居民III

     樓主| 發表於 2014-4-6 15:23:44 | 顯示全部樓層
    lancelotassthx 發表於 2014-4-6 02:27 PM
    我印象中,這個問題和上次的一樣,都是同時觸發事件

    殺死怪物觸發事件,你同時用二個,解決方法有二種 ...

    感謝指導

    已經將腳本合併

    沒有出現報錯了

    也將改正過的腳本貼上來了 !!

    謝謝提醒
    回復 支持 反對

    使用道具 舉報

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

    本版積分規則

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

    GMT+8, 2024-4-26 03:40 PM , Processed in 0.057057 second(s), 22 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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