UID19910
帖子
精華
主題
積分757
現金
積極性
威望
違規
熱心
推廣次數
閱讀權限10
註冊時間2007-9-24
在線時間 小時
最後登錄1970-1-1
TA的每日心情 | 開心 2021-5-16 08:53 AM |
---|
簽到天數: 8 天 連續簽到: 1 天 [LV.3]偶爾看看II
|
誰可以幫我改一下
或是傳給我可以用的PVP排行榜腳本
我的檔案EA12336
//------------------------------------------//
//名稱 : kill_place_system
//版本 : v4.0a
//修改日期 : 2008/3/25
//版權 : Pluto Asterism
//設定製作 by Legend
// 以上請勿刪除
//------------------------------------------//
//BUG回報:
//請到神之實習ea腳本區發問
//並且詳細的留下問題
//------------------------------------------//
//更改NPC啟動方式[改為事件]
//洗白功能必須有gm權限
//新增"有效地圖" :pvp殺敵點數只在下列地圖有效
//
//------------------------------------------//
//注意事項:
//預設"notall"是全部地圖都無效
//想要全部地圖有效,就請把"notall"改成"all"
//,
//想在特定地圖有效就請把"notall"改成"other"
//並且在"other"後,加入想要有效果的"地圖名稱.gat"
//例: 想在普隆德拉啟動pvp殺敵排行(prontera是普隆德拉的地圖名稱)
// set $OnPvpMap$[0],"other","prontera.gat","第二個想要有效地圖名稱.gat","第三個想要有效地圖名稱.gat","...剩下一此類推","","";
//最多好像可以127個..一般,沒必要設置127以上吧....
//------------------------------------------//
//地圖座標皆以測試伺服器為基準,
//請自行更改成你要的地圖或是座標
//(只需更改"PVP排行榜"的地圖座標)
//------------------------------------------//
//--------------------------------//
//----------有效地圖---------//
//--------------------------------//
prontera.gat,0,0,0 script OnPvpMap -1,{
OnInit:
setarray $OnPvpMap$[0],"other","pvp_y_7-2.gat","pvp_y_8-3.gat","guild_vs3.gat","","","";
end;
}
//--------------------------------//
//----------PVP排行----------//
//--------------------------------//
ra_temple.gat,140,186,4 script PVP排行榜 1698,{
mes "您, " + killmanname$ + " 親手解決了 " + killpoint + " 人,死亡次數 : " + diepoint;
if (getgmlevel() > 0) {
menu "正常功能",-,"洗白排行",whiteplace_all;
}
next;
menu "觀看排行",seeplace_all,"更新排行",newplacings_all;
seeplace_all:
callfunc "seeplace";
end;
newplacings_all:
callfunc "newplacings";
end;
whiteplace_all:
callfunc "whiteplace";
end;
}
//--------------------------------//
//----------排行榜單---------//
//--------------------------------//
function script seeplace {
for(set @num,1;@num<16;set @num,@num+1){
mes "第" + @num + "名: ^ff0000" + $place_name$[(@num)] + "^000000,殺敵: ^0088FF" + $place_kill_point[(@num)] + "^000000,死亡數: ^0000FF" + $place_die_point[@num] + "^000000 . ";
mes "//-------------------------------//";
}
close;
end;
}
//--------------------------------//
//----------編排公式---------//
//--------------------------------//
function script newplacings {
sleep2 1000;//降低運作速度,看看會不會再發生重疊問題
mes "按下一頁,進行編排";
next;
set @num,16;
check_place:
set @num,@num-1;
if (killmanname$==$place_name$[(@num)]) {
if (killpoint>=$place_kill_point[(@num)]) {
if (@num==1) {
if (killpoint>$place_kill_point[1]) {
set $place_name$[1],killmanname$;
set $place_kill_point[1],killpoint;
set $place_die_point[1],diepoint;
set @new,1;
goto over_place;
}
if (diepoint<=$place_die_point[(@num)]) {
mes "第一名先生/小姐 您好,您尚未超越自己喔";
close;
end;
}
}
set @ber,@num-1;
if (killpoint<$place_kill_point[(@ber)] && killpoint>$place_kill_point[(@ber+1)]) {
set $place_kill_point[(@ber+1)],killpoint;
set $place_die_point[(@ber+1)],diepoint;
set @new,1;
}
if (killpoint==$place_kill_point[(@ber)] && diepoint>=$place_die_point[(@ber)]) {
set $place_kill_point[(@ber+1)],killpoint;
set $place_die_point[(@ber+1)],diepoint;
set @new,1;
}
for(set @ber,@num-1;@ber>0;set @ber,@ber-1) {
if (killpoint==$place_kill_point[(@ber)] && diepoint<$place_die_point[(@ber)]) {
set $place_name$[(@ber+1)],$place_name$[(@ber)];
set $place_kill_point[(@ber+1)],$place_kill_point[(@ber)];
set $place_die_point[(@ber+1)],$place_die_point[(@ber)];
set $place_name$[(@ber)],killmanname$;
set $place_kill_point[(@ber)],killpoint;
set $place_die_point[(@ber)],diepoint;
set @new,1;
}
if (killpoint>$place_kill_point[(@ber)]) {
set $place_name$[(@ber+1)],$place_name$[(@ber)];
set $place_kill_point[(@ber+1)],$place_kill_point[(@ber)];
set $place_die_point[(@ber+1)],$place_die_point[(@ber)];
set $place_name$[(@ber)],killmanname$;
set $place_kill_point[(@ber)],killpoint;
set $place_die_point[(@ber)],diepoint;
set @new,1;
}
}
goto over_place;
}
}
if (@num==1) {
set @num,16;
goto run_place;
}
goto check_place;
run_place:
if (@num<=1) {
goto over_place;
}
set @num,@num-1;
if (killpoint==$place_kill_point[(@num)] && diepoint<$place_die_point[(@num)]) {
set $place_name$[(@num+1)],$place_name$[(@num)];
set $place_name$[(@num)],killmanname$;
set $place_kill_point[(@num+1)],$place_kill_point[(@num)];
set $place_kill_point[(@num)],killpoint;
set $place_die_point[(@num+1)],$place_die_point[(@num)];
set $place_die_point[(@num)],diepoint;
set @new,1;
}
if (killpoint>$place_kill_point[(@num)]) {
set $place_name$[(@num+1)],$place_name$[(@num)];
set $place_name$[(@num)],killmanname$;
set $place_kill_point[(@num+1)],$place_kill_point[(@num)];
set $place_kill_point[(@num)],killpoint;
set $place_die_point[(@num+1)],$place_die_point[(@num)];
set $place_die_point[(@num)],diepoint;
set @new,1;
}
goto run_place;
over_place:
for(set @number,1;@number<16;set @number,@number+1) {
if (killmanname$==$place_name$[(@number)] && @new==1) {
announce $place_name$[(@number)] + " 晉升為,第" + @number + "名 ,殺敵: " + $place_kill_point[(@number)] + ",死亡數: " + $place_die_point[(@number)] + " . ",15,0x000000;
}
}
mes "編排完畢!!您可以看一下新的殺人排名";
close;
end;
}
//-------------------------------//
//---------排行洗白---------//
//-------------------------------//
function script whiteplace {
mes "洗白完畢!!";
for(set @number,1;@number<16;set @number,@number+1) {
set $place_name$[(@number)],"";
set $place_kill_point[(@number)],0;
set $place_die_point[(@number)],0;
}
close;
}
//-------------------------------//
//------被殺點增加---------//
//-------------------------------//
prontera.gat,0,0,0 script On_PCDieEvent -1,{
OnPCDieEvent:
set killmanname$,strcharinfo(0);
if (getmapxy(@umapname$,@umapx,@umapy,0,killmanname$)==0) {
for(set @p,0;@p<128;set @p,@p+1) {
if ($OnPvpMap$[0]=="all" || ($OnPvpMap$[0]=="other" && @umapname$==$OnPvpMap$[@p]) ) { callfunc "adddiepointsystem"; }
}
}
end;
}
function script adddiepointsystem {
set diepoint,diepoint+1;
dispbottom "【系統】死亡次數 : " + diepoint;
end;
}
//-------------------------------//
//------殺人點增加---------//
//-------------------------------//
prontera.gat,0,0,0 script On_PCKillEvent -1,{
OnPCKillEvent:
set killmanname$,strcharinfo(0);
if (getmapxy(@umapname$,@umapx,@umapy,0,killmanname$)==0) {
for(set @p,0;@p<128;set @p,@p+1) {
if ($OnPvpMap$[0]=="all" || ($OnPvpMap$[0]=="other" && @umapname$==$OnPvpMap$[@p]) ) { callfunc "addkillpointsystem"; }
}
}
end;
}
function script addkillpointsystem {
set killpoint,killpoint+1;
dispbottom "【系統】殺敵次數 : " + killpoint;
end;
} |
|