OK論壇

 找回密碼
 註冊
查看: 1258|回復: 6

【EA10350】PvP排行榜腳本問題..

 關閉 [複製鏈接]
  • TA的每日心情
    擦汗
    2016-12-11 06:37 AM
  • 簽到天數: 4 天

    連續簽到: 1 天

    [LV.2]偶爾看看I

    發表於 2008-4-8 20:20:50 | 顯示全部樓層 |閱讀模式
    情況:選"更新排行">他沒辦法更新排行榜,但是正常可顯示自己紀錄的死亡次數跟殺人次數
    我貼上腳本請各位大大幫我看哪裡有錯。。
    //------------------------------------------//
    //名稱 : kill_place_system
    //版本 : v2.5a
    //製造日期 : 2007/11/07
    //完成日期 : 2007/11/07
    //版權 : Pluto Asterism
    //設定製作       by   Legend
    //                               以上請勿刪除
    //------------------------------------------//
    //BUG回報:
    [url=]//[email protected][/url]
    //------------------------------------------//
    //修正&更新:
    //修正變數,將#變數改為人物專用變數
    //簡化 腳本編排方式
    //刪除使用NPC來紀錄資料的方式
    //------------------------------------------//
    //注意事項:
    //假如原本就有殺人旁行榜之類的腳本
    //,那麼請刪除或是停用那個腳本
    //因為互相干擾的機率是100%
    //請將 OnPCDieEvent , OnPCKillEvent  事件空出來,以供此腳本運作
    //------------------------------------------//
    //地圖座標皆以測試伺服器為基準,
    //請自行更改成您要的地圖或是座標
    //(只需更改PVP排行榜的地圖座標)
    //------------------------------------------//
    //--------------------------------//
    //----------PVP排行----------//
    //--------------------------------//
    prontera.gat,164,160,4 script PVP排行榜 857,{
    mes "您【" + killmanname$ + "】親手解決了 " + killpoint + " 人,死亡次數:" + diepoint;
    next;
    menu "觀看排行",seeplace_all,"更新排行",newplacings_all;
    seeplace_all:
    callfunc "seeplace";
    end;
    newplacings_all:
    callfunc "newplacings";
    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 {
    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 (diepoint<=$place_die_point[(@num)]) {
    mes "第一名先生/小姐,您好!您尚未超越自己噢";
    close;
    end;
    }
    set $place_name$[1],killmanname$;
    set $place_kill_point[1],#killpoint;
    set $place_die_point[1],#diepoint;
    set @new,1;
    goto over_place;
    }
    set @ber,@num-1;
    if (killpoint<$place_kill_point[(@ber)]) {
    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<1;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_0>$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) {
    goto run_place;
    }
    goto check_place;
    run_place:
    for(set @num,15;@num<1;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;
    }
    }
    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;
    }
    //-------------------------------//
    //------被殺點增加---------//
    //-------------------------------//
    prontera.gat,0,0,0 script OnPCDieEvent -1,{
    callfunc "adddiepointsystem";
    }
    function script adddiepointsystem {
    set killmanname$,strcharinfo(0);
    set diepoint,diepoint+1;
    dispbottom "【逼機系統】死亡次數:" + diepoint;
    end;
    }
    //-------------------------------//
    //------殺人點增加---------//
    //-------------------------------//
    prontera.gat,0,0,0 script OnPCKillEvent -1,{
    callfunc "addkillpointsystem";
    }
    function script addkillpointsystem {
    set killmanname$,strcharinfo(0);
    set killpoint,killpoint+1;
    dispbottom "【逼機系統】殺敵次數:" + killpoint;
    end;
    }

    [ 本帖最後由 cow_ba_song 於 2008-4-12 12:10 PM 編輯 ]
  • TA的每日心情
    開心
    2014-5-17 12:43 PM
  • 簽到天數: 1 天

    連續簽到: 1 天

    [LV.1]初來乍到

    發表於 2008-4-8 23:01:54 | 顯示全部樓層
    只挑了幾句來說...
    你是怎樣不能更新

    你更新時..
    他有沒有執行這一句
    mes "第一名先生/小姐,您好!您尚未超越自己噢";
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2016-12-11 06:37 AM
  • 簽到天數: 4 天

    連續簽到: 1 天

    [LV.2]偶爾看看I

     樓主| 發表於 2008-4-9 18:56:21 | 顯示全部樓層
    並沒有=_=就是即使殺了好幾百個人,也更新不上去到排行榜上面。
    回復 支持 反對

    使用道具 舉報

    該用戶從未簽到

    發表於 2008-4-9 22:40:12 | 顯示全部樓層
    for(set @ber,@num-1;@ber<1;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;
    }
    for中間的判定是真的話才會執行循環(所以登記被直接跳過了)
    將紅色地方改為@ber!=0
    if (killpoint_0>$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;
    }
    這個變量啥時改了名?,還是另一個變量來的?(雖然根本沒放資料進去這"另一個"變量)
    刪掉_0就好
    run_place:
    for(set @num,15;@num<1;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;
    }
    問題同上(由大至小都錯了,反而由小至大沒問題?..作者真笨)
    再度改為@num!=0

    大概以上!!
    -----------------------------------------------------------------------------------------------------------
    題外話1:最討厭這些沒檢查邏輯錯誤就發佈腳本的人,要我看得半死,以為MAP-server沒出錯就一定正確嗎?改完之後幫我扁他就對了(還敢掛個pluto在前面,貶低了EA漢化團隊的名字[怒])

    題外話2:下次也把腳本放上來吧,沒排版看起來很辛苦"_o__

    [ 本帖最後由 Nieher 於 2008-4-9 10:53 PM 編輯 ]
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2014-5-17 12:43 PM
  • 簽到天數: 1 天

    連續簽到: 1 天

    [LV.1]初來乍到

    發表於 2008-4-10 09:17:26 | 顯示全部樓層

    回覆 4樓的 Nieher 的帖子

    你還真的有耐心看完=.=
    這類錯誤真的不應該在公開發佈的腳本出現

    如果 [ 真的 ] 是Pluto團隊的成員的話
    編寫水平未免太差了吧...
    不怕你語法用錯...最怕你邏輯用錯...
    回復 支持 反對

    使用道具 舉報

    該用戶從未簽到

    發表於 2008-4-10 11:25:30 | 顯示全部樓層
    因為他真的很乖巧把需要的資料放上來嘛-v-
    (盡管只是貼上腳本要我拿下來重新排版再看)
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2016-12-11 06:37 AM
  • 簽到天數: 4 天

    連續簽到: 1 天

    [LV.2]偶爾看看I

     樓主| 發表於 2008-4-12 12:10:05 | 顯示全部樓層
    感謝Nieher大大,腳本問題已經解決了=口=,如果能扁他,不知該有多好,摁摁!下次我會把腳本傳上來的。
    回復 支持 反對

    使用道具 舉報

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

    本版積分規則

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

    GMT+8, 2025-7-5 06:23 PM , Processed in 0.065780 second(s), 20 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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