Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- geffen.gat,156,80,1 script Login_Looks_OnInit#555 -1,{
- OnInit:
- //----- 是否開啟線上驗證 (預設 開啟) -----
- set $@OnlineBotTest,1;
- //----- 是否開啟系統提示 (預設 開啟) On/Off -----
- set $@NpcShowOnOff,1;
- //====================================================//
- //--- Script 執行時的相關設定 , 請各伺服器依情況斟酌 ---
- //----- 不需驗證的最小GM權限 (預設 40 等) -----
- set $@GameManagement,100;
- //----- 線上驗證可錯誤次數 (預設 3 次) -----
- set $@KickOnlineWrong,2;
- //----- 線上驗證的驗證碼長度 (預設 6 碼) -----
- set $@OnlineNumber,6;
- //----- 線上驗證的限制時間 (請用 5的倍數) -----
- set $@Totaltime,10;
- //====================================================//
- //----- 反外掛程式的驗證碼主函式 -----
- // setarray $@BotName$[1],"1","1","2","3","4","5","6","7","8","9"
- // ,"1","2","3","4","5","6","7","8","9"
- // ,"A","B","C","D","E","F","G","H","I"
- // ,"J","K","L","M","N","O","P","Q","R"
- // ,"S","T","U","V","W","X","Y","Z"
- // ,"a","b","c","d","e","f","g","h","i"
- // ,"j","k","l","m","n","o","p","q","r"
- // ,"s","t","u","v","w","x","y","z";
- setarray $@BotName$[1],"1","1","2","3","4","5","6","7","8","9"
- ,"1","2","3","4","5","6","7","8","9"
- ,"1","2","3","4","5","6","7","8","9"
- ,"1","2","3","4","5","6","7","8","9"
- ,"1","2","3","4","5","6","7","8"
- ,"1","2","3","4","5","6","7","8","9"
- ,"1","2","3","4","5","6","7","8","9"
- ,"1","2","3","4","5","6","7","8";
- }
- //====================================================//
- - script OnNPCKillEvent -1,{
- OnNPCKillEvent:
- if ( $@OnlineBotTest != 1 ) { end; }
- set @KillMod,@KillMod+1;
- //線上驗證部份
- if ( @KillMod >= 1 ) {
- if ( @KillMod >= 100 ) {
- if ( getgmlevel() >= $@GameManagement ) {
- mes "[反外掛程式]";
- mes "GM大大不需驗證偵測!!";
- mes "請您按下 Enter 鍵,繼續遊戲吧。";
- set @KillMod,0;
- close;
- }
- set @CheckCRF,callfunc("CheckCRF_Event");
- atcommand "@option 02 00 64 ";
- Online_Bot_Test:
- set @OnlineWrong,@OnlineWrong+1;
- set @OnlineBot1$,"";
- for ( set @i,0; @i < $@OnlineNumber; set @i,@i + 1 ) {
- set @OnlineBot1$,@OnlineBot1$+$@BotName$[rand(70)]; }
- mes "[反外掛程式]";
- mes "您好!為了降低外掛對伺服器的侵擾,";
- mes "我們需要驗證才能讓您繼續遊戲,";
- mes "請您正確輸入下面的驗證碼。";
- mes "╔════╦═══╗";
- mes "║驗證碼:║^FF0000"+@OnlineBot1$+"^000000║";
- mes "╚════╩═══╝";
- initnpctimer "OnTimerDelay",getcharid(3);
- announce "║ 反外掛程式 ║ : 請輸入對話框內的驗證碼,您有"+$@Totaltime+"秒的輸入時間.",bc_self,0xB41E3C;
- set @check,1;
- set @time,0;
- next;
- input @OnlineBot2$;
- if(@OnlineBot2$==@OnlineBot1$) goto ite;
- if(@OnlineBot2$!=@OnlineBot1$) {
- //驗證輸入錯誤
- if(@OnlineWrong == $@KickOnlineWrong) {
- callfunc "SetCRF_Event";
- atcommand "@kick "+strcharinfo(0);
- close;
- }
- //驗證輸入剩餘次數
- mes "[反外掛程式]";
- mes "重新輸入次數:^FF0000剩餘 "+($@KickOnlineWrong-@OnlineWrong)+" 次^000000";
- next;
- set @time,-1;
- goto Online_Bot_Test;
- }
- ite:
- callfunc "SetCRF_Event";
- mes "[反外掛程式]";
- mes "您已偵測完畢,並非外掛程式!!";
- mes "請您按下 Enter 鍵,繼續遊戲謝謝。";
- set @CheckCRF,0;
- set @KillMod,0;
- set @OnlineWrong,0;
- set @time,-1;
- set @check,0;
- close; } }
- if ( @KillMod == 1 ) dispbottom "您再繼續屠殺 5 隻怪物系統將會對您進行線上驗證。";
- end;
- }
- //====================================================//
- - script OnTimerDelay -1,{
- OnTimer5000:
- set @time,@time+5;
- set @total,$@Totaltime - @time;
- if( @time == $@Totaltime )
- {
- announce "║ 反外掛程式 ║ : 驗證失敗,剔除下限.",bc_self,0x6666FF;
- callfunc "SetCRF_Event";
- atcommand "@kick "+strcharinfo(0);
- end;
- }
- if( @check == 1 )
- {
- announce "║ 反外掛程式 ║ : 您剩餘"+@total+"秒可輸入對話框內的數字.",bc_self,0x3399FF;
- }
- if( @time > 0 )
- {
- initnpctimer "OnTimerDelay",getcharid(3);
- }
- else { set @time,0; }
- end;
- }
- //====================================================//
- function script CheckCRF_Event {
- set @CheckCRF,0;
- if ( checkfalcon() || checkcart() || checkriding() ) set @CheckCRF,1;
- if ( checkoption(0x80) ) set @CheckCRF,2;
- if ( checkoption(0x100) ) set @CheckCRF,3;
- if ( checkoption(0x200) ) set @CheckCRF,4;
- if ( checkoption(0x400) ) set @CheckCRF,5;
- return @CheckCRF; }
- //====================================================//
- function script SetCRF_Event {
- atcommand "@option 00 00 00 ";
- if ( @CheckCRF == 1 ) {
- if ( getskilllv(39) >=1 ) setcart;
- if ( getskilllv(63) >= 1 ) setriding;
- if ( getskilllv(127) >= 1 ) setfalcon; }
- if ( @CheckCRF == 2 ) setcart 2;
- if ( @CheckCRF == 3 ) setcart 3;
- if ( @CheckCRF == 4 ) setcart 4;
- if ( @CheckCRF == 5 ) setcart 5;
- return; }
- //====================================================//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement