UID14500
帖子
精華
主題
積分1350
現金
積極性
威望
違規
熱心
推廣次數
閱讀權限10
註冊時間2007-9-9
在線時間 小時
最後登錄1970-1-1
該用戶從未簽到
|

樓主 |
發表於 2008-4-6 01:12:43
|
顯示全部樓層
// NPC:EA-上線驗證系統
// 說明:上線時,執行驗證,若沒進行驗證者,則無法進行遊戲
// 驗證錯誤者,禁言10分鐘,扣除金錢數的50%.
// 好處:上線時,對玩家執行驗證,防止外掛登入.讓JA模擬器以外的EA也可以享受類似的權利.
// 腳本來源:完全由︴流浪者×夜∥大g自創之腳本.
// 日期:下午 06:27 2007/2/8
// ※注意※如要轉載,請勿刪除以上的說明,並且說明出處.
// NPC:線上魔物系統
// 說明:打怪有5%機率獲得大鋁/神金,配合驗證系統!打怪期間不定期作突擊檢查.
// 好處:防止上線驗證系統漏掉的外掛狗.
// NPC:線上PVP系統
// 說明:在PVP(GVG?!)裡打死人有5%機率獲得大鋁/神金
// NPC:經驗微調系統
// 說明:每一人上線經驗值+1.5倍 (可自行設定)
// 壞處:別使用@reloadscript更新腳本 易造成人數判斷錯誤
//驗證地圖屬性修正
job_soul.gat mapflag nosave prontera.gat,156,106 //可修改儲存點
job_soul.gat mapflag nopenalty dummy
job_soul.gat mapflag nobranch dummy
job_soul.gat mapflag nomemo dummy
job_soul.gat mapflag noteleport dummy
job_soul.gat mapflag noicewall dummy
job_soul.gat mapflag noskillall dummy
job_soul.gat mapflag noitemall dummy
- script Exp_change -1,{
end;
OnInit:
set $@add_exp, 150 ; //設置每個人提升多少exp倍率 實際值需除以100
set $@brate, 20000 ; //設置Base經驗值倍率 實際值需除以100
set $@jrate, 28000 ; //設置Job經驗值倍率 實際值需除以100
set $@sever_name$, "︴流浪者×夜∥"; //設置伺服器名稱
end;
}
- script PCLoginEvent -1,{
if(getmapxy(@mapname$,@mapx,@mapy,0,strcharinfo(0))!=0)
{
mes "[線上驗證系統]";
mes "偵測地圖位置失敗..";
mes "請重新登入遊戲";
atcommand strcharinfo(0)+" option 64 0 64";
close;
end;
}
//經驗微調系統
set $@brate,$@brate+$@add_exp;
set $@jrate,$@jrate+$@add_exp;
setbattleflag "base_exp_rate",$@brate;
setbattleflag "job_exp_rate",$@jrate;
if(getgmlevel(3)>80)
{
//廣播
announce "遊戲管理員 '"+strcharinfo(0)+"' 已登入 '"+$@sever_name$+"' 伺服器",15,0xFF4300;
}
else
{
//廣播
announce "玩家 '"+strcharinfo(0)+"' 已登入 '"+$@sever_name$+"' 伺服器",15,0xE419FF;
dispbottom "歡迎進入"+$@sever_name$+"線上防外掛驗證系統, 請將你所看到不同顏色的數字輸入進輸入框內.";
dispbottom "容許錯誤機會有兩次, 如果兩次都用光 將會扣取50%金額 以及禁言10分鐘, 請玩家特別注意!";
warp "job_soul.gat",30,30;
end;
}
}
job_soul.gat,30,30,0 script Login_Check 111,10,10,{
Relogin_check:
//驗證錯誤次數
set @login_check,@login_check+1;
//驗證系統主內容
set @mob_rand,rand(250,500);
set @checknum1,rand(1,9)*10000+rand(1,9)*1000+rand(1,9)*100+rand(1,9)*10+rand(0,9);
set @checknum2,rand(1,9)*10000+rand(1,9)*1000+rand(1,9)*100+rand(1,9)*10+rand(0,9);
set @checknum3,rand(1,9)*10000+rand(1,9)*1000+rand(1,9)*100+rand(1,9)*10+rand(0,9);
set @checknum4,rand(1,9)*10000+rand(1,9)*1000+rand(1,9)*100+rand(1,9)*10+rand(0,9);
set @checknum5,rand(1,9)*10000+rand(1,9)*1000+rand(1,9)*100+rand(1,9)*10+rand(0,9);
set @checknum6,rand(1,9)*10000+rand(1,9)*1000+rand(1,9)*100+rand(1,9)*10+rand(0,9);
set @rnd,rand(1,6);
mes "[線上驗證系統]";
mes "歡迎使用驗證系統";
mes "請輸入顏色不同的驗證碼.";
mes "輸入錯誤扣除金錢的50%,禁言10分鐘.";
mes "你尚有^FF0000 "+(3-@login_check)+" ^000000機會容許錯誤";
next;
mes "[線上驗證系統]";
if(@rnd==1)
{
mes "^0088FF"+@checknum1+"^000000";
set @rightnum,@checknum1;
}
else
{
mes @checknum1;
}
if(@rnd==2)
{
mes "^0088FF"+@checknum2+"^000000";
set @rightnum,@checknum2;
}
else
{
mes @checknum2;
}
if(@rnd==3)
{
mes "^0088FF"+@checknum3+"^000000";
set @rightnum,@checknum3;
}
else
{
mes @checknum3;
}
if(@rnd==4)
{
mes "^0088FF"+@checknum4+"^000000";
set @rightnum,@checknum4;
}
else
{
mes @checknum4;
}
if(@rnd==5)
{
mes "^0088FF"+@checknum5+"^000000";
set @rightnum,@checknum5;
}
else
{
mes @checknum5;
}
if(@rnd==6)
{
mes "^0088FF"+@checknum6+"^000000";
set @rightnum,@checknum6;
}
else
{
mes @checknum6;
}
next;
input @checknum;
mes "[線上驗證系統]";
mes "驗證中..";
mes "正確的驗證碼為:"+@rightnum;
mes "輸入的驗證碼為:"+@checknum;
next;
if(@checknum==@rightnum)
{
mes "[線上驗證系統]";
mes "驗證成功";
mes "祝你遊戲中愉快!";
atcommand strcharinfo(0)+" option 0 0 0";
if(getskilllv(63)>=1) setriding;
if(getskilllv(127)>=1) setfalcon;
if(getskilllv(39)>=1) setcart;
if((Online_Pass==0||Online_Pass2==0))
{
next;
goto SetPassing;
}
close2;
warp @mapname$,@mapx,@mapy;
end;
}
else
{
if(@login_check<=2)
{
mes "[線上驗證系統]";
mes "驗證失敗";
mes "請重新進行驗證";
next;
goto Relogin_check;
}
atcommand strcharinfo(0)+" mute 10 "+strcharinfo(0);
atcommand strcharinfo(0)+" option 64 0 64";
set zeny,zeny/2;
mes "[線上驗證系統]";
mes "驗證失敗";
mes "請重新登入進行遊戲";
close;
end;
}
SetPassing:
atcommand strcharinfo(0)+" option 64 0 64";
if((Online_Pass>0)&&(Online_Pass2==0))
{
goto ReSet;
}
mes "[線上驗證系統]";
mes "你尚未設置驗證密碼.";
mes "請設置驗證密碼,否則出現問題.";
mes "務必將密碼設置為自己知道的.";
next;
menu "設置密碼",SetPass;
SetPass:
mes "[線上驗證系統]";
mes "驗證密碼須在4碼以上7碼以下.";
mes "相當於1000以上9999999以下.";
mes "密碼僅可為數字,否則出現不明錯誤.";
mes "若設置錯誤,請提出修改.";
next;
input Online_Pass;
if((Online_Pass<1000)||(Online_Pass>9999999))
{
mes "[線上驗證系統]";
mes "密碼設置錯誤.";
mes "請重新設置";
next;
menu "重設",SetPass;
}
mes "[線上驗證系統]";
mes "你所設置的密碼為:";
mes "^FF0000" + Online_Pass + "^000000";
mes "確定為你所要的密碼嗎?";
next;
menu "確定",ReSet,"我要重設",SetPass;
ReSet:
mes "[線上驗證系統]";
mes "請設置密碼提示";
mes "密碼提示須在1000以上9999以下";
next;
input Online_Pass2;
if((Online_Pass2<1000)||(Online_Pass2>9999))
{
mes "[線上驗證系統]";
mes "密碼設置錯誤.";
mes "請重新設置";
next;
menu "重設",ReSet;
}
mes "[線上驗證系統]";
mes "你所設置的密碼提示為:";
mes "^FF0000" + Online_Pass2 + "^000000";
mes "確定為你所要的密碼提示嗎?";
next;
menu "確定",-,"我要重設",ReSet;
mes "[線上驗證系統]";
mes "謝謝你的配合!";
mes "祝你遊戲進行愉快!";
atcommand strcharinfo(0)+":@option 0 0 0";
if(getskilllv(63)>=1) setriding;
if(getskilllv(127)>=1) setfalcon;
if(getskilllv(39)>=1) setcart;
close2;
warp @mapname$,@mapx,@mapy;
end;
}
}
- script PCLogoutEvent -1,{
set $@brate,$@brate-$@add_exp;
set $@jrate,$@jrate-$@add_exp;
setbattleflag "base_exp_rate",$@brate;
setbattleflag "job_exp_rate",$@jrate;
}
}
//魔物神鋁系統
- script OnNPCKillEvent -1,{
set @mob_psck,@mob_psck+1;
set @mob_drop,rand(19);
set @mob_drops,rand(1,2);
set @mob_drop2,rand(1,1000);
if(@mob_drop2==500) getitem2 18120,1,1,0,0,254,0,getcharid(0)&0xffff,(getcharid(0)>>16)&0xffff;
if(@mob_drop==0)
{
if(@mob_drops==1)
{
getitem2 985,1,1,0,0,254,0,getcharid(0)&0xffff,(getcharid(0)>>16)&0xffff;
end;
}
else
{
getitem2 984,1,1,0,0,254,0,getcharid(0)&0xffff,(getcharid(0)>>16)&0xffff;
end;
}
}
if(@mob_psck==@mob_rand)
{
atcommand strcharinfo(0)+":@option 64 0 64";
mes "[線上驗證系統]";
mes "抱歉,花個幾秒鐘做突擊檢查";
mes "請輸入你的驗證密碼";
OnPsck:
next;
menu "輸入驗證密碼",-,"我忘了驗證密碼",Forget;
mes "[線上驗證系統]";
mes "如果輸入錯誤,將金錢-50%/禁言10分鐘.";
next;
input @Online_psck;
if(@Online_psck!=Online_Pass)
{
mes "[線上驗證系統]";
mes "輸入錯誤!";
set zeny,zeny/2;
atcommand strcharinfo(0)+":@mute 10 "+strcharinfo(0);
mes "請重新登入進遊戲.";
close;
end;
}
set @mob_psck,1;
set @mob_rand,rand(250,500);
mes "[線上驗證系統]";
mes "輸入正確!";
mes "祝你遊戲進行順利!";
atcommand strcharinfo(0)+":@option 0 0 0";
if(getskilllv(63)>=1) setriding;
if(getskilllv(127)>=1) setfalcon;
if(getskilllv(39)>=1) setcart;
close;
end;
Forget:
mes "[線上驗證系統]";
mes "請輸入你的密碼提示";
next;
input @Save_check;
if(@Save_check==Online_Pass2)
{
mes "[線上驗證系統]";
mes "這是你的驗證密碼:";
mes "^FF0000" + Online_Pass + "^000000";
goto OnPsck;
}
else
{
mes "[線上驗證系統]";
mes "輸入錯誤!";
set zeny,zeny/2;
atcommand strcharinfo(0)+":@mute 10 "+strcharinfo(0);
close;
end;
}
}
}
//PVP神鋁系統
- script OnPCKillEvent -1,{
set @pvp_drop,rand(19);
set @pvp_drops,rand(1,2);
if(@pvp_drop==0)
{
if(@pvp_drops==1)
{
getitem2 985,1,1,0,0,254,0,getcharid(0)&0xffff,(getcharid(0)>>16)&0xffff;
end;
}
else
{
getitem2 984,1,1,0,0,254,0,getcharid(0)&0xffff,(getcharid(0)>>16)&0xffff;
end;
}
}
} |
|