OK論壇

 找回密碼
 註冊
查看: 1373|回復: 8

打怪驗證 登出後 重新計算問題

 關閉 [複製鏈接]
  • TA的每日心情
    擦汗
    2021-1-6 02:09 AM
  • 簽到天數: 261 天

    連續簽到: 1 天

    [LV.8]以壇為家I

    發表於 2014-1-13 19:55:40 | 顯示全部樓層 |閱讀模式
    EA
    私服版號: SeArthena 1.9.27
    問題內容: 腳本問題
    本帖最後由 ☆雪月★ 於 2014-1-16 09:18 PM 編輯

    如題 !

    我設定擊殺 500 隻 mob 即出現驗證

    但 若殺死500隻以前 登出 ..

    進入遊戲後 500的數量 被重置了

    也就是 重新計算

    所以 應該增加甚麼語法 可以記錄數量 不會因為 斷線 登出 而重新計算?
    1. geffen.gat,156,80,1        script        Login_Looks_OnInit#555        -1,{       

    2. OnInit:
    3. //----- 是否開啟線上驗證 (預設 開啟) -----
    4.         set $@OnlineBotTest,1;

    5. //----- 是否開啟系統提示 (預設 開啟) On/Off -----
    6.         set $@NpcShowOnOff,1;

    7. //====================================================//

    8. //--- Script 執行時的相關設定 , 請各伺服器依情況斟酌 ---

    9. //----- 不需驗證的最小GM權限 (預設 40 等) -----
    10.         set $@GameManagement,99;

    11. //----- 線上驗證可錯誤次數 (預設 3 次) -----
    12.         set $@KickOnlineWrong,3;

    13. //----- 線上驗證的驗證碼長度 (預設 6 碼) -----
    14.         set $@OnlineNumber,6;

    15. //====================================================//

    16. //----- 反外掛程式的驗證碼主函式 -----
    17.         setarray $@BotName$[1],"1","1","2","3","4","5","6","7","8","9"
    18.                                 ,"1","2","3","4","5","6","7","8","9"
    19.                                 ,"1","2","3","4","5","6","7","8","9"
    20.                                 ,"1","2","3","4","5","6","7","8","9"
    21.                                 ,"1","2","3","4","5","6","7","8","9"
    22.                                 ,"1","2","3","4","5","6","7","8","9"
    23.                                 ,"1","2";        }

    24. //====================================================//

    25. -        script        OnNPCKillEvent        -1,{

    26. OnNPCKillEvent:
    27.         if ( $@OnlineBotTest != 1 ) {        end;        }
    28.         set @KillMod,@KillMod+1;

    29. //線上驗證部份
    30.         if ( @KillMod >= 1 ) {
    31.         if ( @KillMod >= 500 ) {
    32.         if ( getgmlevel() >= $@GameManagement ) {
    33.         mes "[反外掛程式]";
    34.         mes "GM大大不需驗證偵測!!";
    35.         mes "請您按下 Enter 鍵,繼續遊戲吧。";
    36.         set @KillMod,0;
    37.         close;        }
    38.         set @CheckCRF,callfunc("CheckCRF_Event");
    39.         atcommand strcharinfo(0)+":@option 02 00 64 ";

    40. Online_Bot_Test:
    41.         set @OnlineWrong,@OnlineWrong+1;
    42.         set @OnlineBot1$,"";
    43.         for ( set @i,0; @i < $@OnlineNumber; set @i,@i + 1 ) {
    44.         set @OnlineBot1$,@OnlineBot1$+$@BotName$[rand(61)];        }
    45.         mes "[反外掛程式]";
    46.         mes "您好!為了降低外掛對伺服器的侵擾,";
    47.         mes "我們需要驗證才能讓您繼續遊戲,";
    48.         mes "請您正確輸入下面的驗證碼。";
    49.         mes "??????????";
    50.         mes "?驗證碼:?^FF0000"+@OnlineBot1$+"^000000?";
    51.         mes "??????????";
    52.         next;
    53.         input @OnlineBot2$;
    54.         if(@OnlineBot2$==@OnlineBot1$) goto ite;
    55.         if(@OnlineBot2$!=@OnlineBot1$) {

    56. //驗證輸入錯誤
    57.         if(@OnlineWrong == $@KickOnlineWrong) {
    58.         callfunc "SetCRF_Event";
    59.         atcommand strcharinfo(0)+":@kick "+strcharinfo(0);
    60.         close;        }

    61. //驗證輸入剩餘次數
    62.         mes "[反外掛程式]";
    63.         mes "重新輸入次數:^FF0000剩餘 "+($@KickOnlineWrong-@OnlineWrong)+" 次^000000";
    64.         next;
    65.         goto Online_Bot_Test;        }


    66. ite:
    67.         callfunc "SetCRF_Event";
    68.         mes "[反外掛程式]";
    69.         mes "您已偵測完畢,並非外掛程式!!";
    70.         mes "請您按下 Enter 鍵,繼續遊戲謝謝。";
    71.         set @CheckCRF,0;
    72.         set @KillMod,0;
    73.         set @OnlineWrong,0;
    74.         close;        }        }
    75.         if ( @KillMod == 1 ) dispbottom "GM提醒: 您再繼續屠500 隻怪物系統將會對您進行線上驗證。";
    76.         end;
    77. }

    78. //====================================================//

    79. function        script        CheckCRF_Event        {
    80.         set @CheckCRF,0;
    81.         if ( checkfalcon() || checkcart() || checkriding() ) set @CheckCRF,1;
    82.         if ( checkoption(0x80) ) set @CheckCRF,2;
    83.         if ( checkoption(0x100) ) set @CheckCRF,3;
    84.         if ( checkoption(0x200) ) set @CheckCRF,4;
    85.         if ( checkoption(0x400) ) set @CheckCRF,5;
    86.         return @CheckCRF;        }

    87. //====================================================//

    88. function        script        SetCRF_Event        {
    89.         atcommand strcharinfo(0)+":@option 00 00 00 ";
    90.         if ( @CheckCRF == 1 ) {
    91.         if ( getskilllv(39) >=1 ) setcart;
    92.         if ( getskilllv(63) >= 1 ) setriding;
    93.         if ( getskilllv(127) >= 1 ) setfalcon;        }
    94.         if ( @CheckCRF == 2 ) setcart 2;
    95.         if ( @CheckCRF == 3 ) setcart 3;
    96.         if ( @CheckCRF == 4 ) setcart 4;
    97.         if ( @CheckCRF == 5 ) setcart 5;
    98.         return;        }

    99. //====================================================//
    複製代碼
    回復

    使用道具 舉報

  • TA的每日心情
    擦汗
    2018-9-15 03:18 PM
  • 簽到天數: 842 天

    連續簽到: 1 天

    [LV.10]以壇為家III

    發表於 2014-1-13 20:23:04 | 顯示全部樓層
    @KillMod -> KillMod
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2020-11-19 04:46 PM
  • 簽到天數: 2823 天

    連續簽到: 3 天

    [LV.Master]伴壇終老

    發表於 2014-1-13 20:24:08 | 顯示全部樓層
    http://okayro.com/thread-51733-1-3.html

    先看看Set怎麼應用吧
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2021-1-6 02:09 AM
  • 簽到天數: 261 天

    連續簽到: 1 天

    [LV.8]以壇為家I

     樓主| 發表於 2014-1-13 20:38:58 | 顯示全部樓層
    大致上 了解了

    謝謝兩位大大


    晚點測試一下  再來告知!
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2021-1-6 02:09 AM
  • 簽到天數: 261 天

    連續簽到: 1 天

    [LV.8]以壇為家I

     樓主| 發表於 2014-1-14 23:45:51 | 顯示全部樓層
    o03126 發表於 2014-1-13 08:23 PM
    @KillMod -> KillMod

    大大你好 我將 所有 @ del之後 進入遊戲  他就不用處發打怪驗證的效果了!
    回復 支持 反對

    使用道具 舉報

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

    連續簽到: 1 天

    [LV.10]以壇為家III

    發表於 2014-1-14 23:57:55 | 顯示全部樓層
    ☆雪月★ 發表於 2014-1-14 11:45 PM
    大大你好 我將 所有 @ del之後 進入遊戲  他就不用處發打怪驗證的效果了!

    顯示出你的腳本 好讓我們檢查
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2021-1-6 02:09 AM
  • 簽到天數: 261 天

    連續簽到: 1 天

    [LV.8]以壇為家I

     樓主| 發表於 2014-1-15 01:27:45 | 顯示全部樓層
    本帖最後由 ☆雪月★ 於 2014-1-15 01:29 AM 編輯

    依照 2樓 + 3樓 的用法 我將 @KILL 開頭的@ 消掉了  以下:


    emistry 發表於 2014-1-14 11:57 PM
    顯示出你的腳本 好讓我們檢查
    1. geffen.gat,156,80,1        script        Login_Looks_OnInit#555        -1,{        

    2. OnInit:
    3. //----- 是否開啟線上驗證 (預設 開啟) -----
    4.         set $@OnlineBotTest,1;

    5. //----- 是否開啟系統提示 (預設 開啟) On/Off -----
    6.         set $@NpcShowOnOff,1;

    7. //====================================================//

    8. //--- Script 執行時的相關設定 , 請各伺服器依情況斟酌 ---

    9. //----- 不需驗證的最小GM權限 (預設 40 等) -----
    10.         set $@GameManagement,99;

    11. //----- 線上驗證可錯誤次數 (預設 3 次) -----
    12.         set $@KickOnlineWrong,3;

    13. //----- 線上驗證的驗證碼長度 (預設 6 碼) -----
    14.         set $@OnlineNumber,6;

    15. //====================================================//

    16. //----- 反外掛程式的驗證碼主函式 -----
    17.         setarray $@BotName$[1],"1","1","2","3","4","5","6","7","8","9"
    18.                                 ,"1","2","3","4","5","6","7","8","9"
    19.                                 ,"1","2","3","4","5","6","7","8","9"
    20.                                 ,"1","2","3","4","5","6","7","8","9"
    21.                                 ,"1","2","3","4","5","6","7","8","9"
    22.                                 ,"1","2","3","4","5","6","7","8","9"
    23.                                 ,"1","2";        }

    24. //====================================================//

    25. -        script        OnNPCKillEvent        -1,{

    26. OnNPCKillEvent:
    27.         if ( $@OnlineBotTest != 1 ) {        end;        }
    28.         set KillMod,KillMod+1;

    29. //線上驗證部份
    30.         if ( KillMod >= 1 ) {
    31.         if ( KillMod >= 500 ) {
    32.         if ( getgmlevel() >= $@GameManagement ) {
    33.         mes "[反外掛程式]";
    34.         mes "GM大大不需驗證偵測!!";
    35.         mes "請您按下 Enter 鍵,繼續遊戲吧。";
    36.         set KillMod,0;
    37.         close;        }
    38.         set @CheckCRF,callfunc("CheckCRF_Event");
    39.         atcommand strcharinfo(0)+":@option 02 00 64 ";

    40. Online_Bot_Test:
    41.         set @OnlineWrong,@OnlineWrong+1;
    42.         set @OnlineBot1$,"";
    43.         for ( set @i,0; @i < $@OnlineNumber; set @i,@i + 1 ) {
    44.         set @OnlineBot1$,@OnlineBot1$+$@BotName$[rand(61)];        }
    45.         mes "[反外掛程式]";
    46.         mes "您好!為了降低外掛對伺服器的侵擾,";
    47.         mes "我們需要驗證才能讓您繼續遊戲,";
    48.         mes "請您正確輸入下面的驗證碼。";
    49.         mes "??????????";
    50.         mes "?驗證碼:?^FF0000"+@OnlineBot1$+"^000000?";
    51.         mes "??????????";
    52.         next;
    53.         input @OnlineBot2$;
    54.         if(@OnlineBot2$==@OnlineBot1$) goto ite;
    55.         if(@OnlineBot2$!=@OnlineBot1$) {

    56. //驗證輸入錯誤
    57.         if(@OnlineWrong == $@KickOnlineWrong) {
    58.         callfunc "SetCRF_Event";
    59.         atcommand strcharinfo(0)+":@kick "+strcharinfo(0);
    60.         close;        }

    61. //驗證輸入剩餘次數
    62.         mes "[反外掛程式]";
    63.         mes "重新輸入次數:^FF0000剩餘 "+($@KickOnlineWrong-@OnlineWrong)+" 次^000000";
    64.         next;
    65.         goto Online_Bot_Test;        }


    66. ite:
    67.         callfunc "SetCRF_Event";
    68.         mes "[反外掛程式]";
    69.         mes "您已偵測完畢,並非外掛程式!!";
    70.         mes "請您按下 Enter 鍵,繼續遊戲謝謝。";
    71.         set @CheckCRF,0;
    72.         set KillMod,0;
    73.         set @OnlineWrong,0;
    74.         close;        }        }
    75.         if ( KillMod == 1 ) dispbottom "GM提醒: 您再繼續屠500 隻怪物系統將會對您進行線上驗證。";
    76.         end;
    77. }

    78. //====================================================//

    79. function        script        CheckCRF_Event        {
    80.         set @CheckCRF,0;
    81.         if ( checkfalcon() || checkcart() || checkriding() ) set @CheckCRF,1;
    82.         if ( checkoption(0x80) ) set @CheckCRF,2;
    83.         if ( checkoption(0x100) ) set @CheckCRF,3;
    84.         if ( checkoption(0x200) ) set @CheckCRF,4;
    85.         if ( checkoption(0x400) ) set @CheckCRF,5;
    86.         return @CheckCRF;        }

    87. //====================================================//

    88. function        script        SetCRF_Event        {
    89.         atcommand strcharinfo(0)+":@option 00 00 00 ";
    90.         if ( @CheckCRF == 1 ) {
    91.         if ( getskilllv(39) >=1 ) setcart;
    92.         if ( getskilllv(63) >= 1 ) setriding;
    93.         if ( getskilllv(127) >= 1 ) setfalcon;        }
    94.         if ( @CheckCRF == 2 ) setcart 2;
    95.         if ( @CheckCRF == 3 ) setcart 3;
    96.         if ( @CheckCRF == 4 ) setcart 4;
    97.         if ( @CheckCRF == 5 ) setcart 5;
    98.         return;        }

    99. //====================================================//
    複製代碼
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2020-11-19 04:46 PM
  • 簽到天數: 2823 天

    連續簽到: 3 天

    [LV.Master]伴壇終老

    發表於 2014-1-15 18:00:33 | 顯示全部樓層
    ☆雪月★ 發表於 2014-1-15 01:27 AM
    依照 2樓 + 3樓 的用法 我將 @KILL 開頭的@ 消掉了  以下:

    ite:
            callfunc "SetCRF_Event";
            mes "[反外掛程式]";
            mes "您已偵測完畢,並非外掛程式!!";
            mes "請您按下 Enter 鍵,繼續遊戲謝謝。";
            set @CheckCRF,0;
            set KillMod,0; <- 你這樣不是每次重登驗證就會清除了嗎
            set @OnlineWrong,0;

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2021-1-6 02:09 AM
  • 簽到天數: 261 天

    連續簽到: 1 天

    [LV.8]以壇為家I

     樓主| 發表於 2014-1-16 21:17:53 | 顯示全部樓層
    謝謝各位大大!

    可以正常使用了^^
    回復 支持 反對

    使用道具 舉報

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

    本版積分規則

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

    GMT+8, 2024-5-15 06:49 PM , Processed in 0.057235 second(s), 22 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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