OK論壇

 找回密碼
 註冊
查看: 774|回復: 5

pvp排行問題

 關閉 [複製鏈接]
  • TA的每日心情
    難過
    2011-5-29 12:43 AM
  • 簽到天數: 48 天

    連續簽到: 0 天

    [LV.5]常住居民I

    發表於 2008-6-2 00:31:18 | 顯示全部樓層 |閱讀模式
    請問一下為什麼我的排行在遊戲內看會是

    mes "您, " + killmanname$ + " 親手解決了 " + killpoint + " 人,死亡次數 : " + diepoint;
    看成是 您 !!ERROR!! 親手解決了 0人 死亡次數 0人  我的名字不是error的

    我是用JA的 如果killmanname$是不行的 有沒有其他可以代替 要改的話 要改什麼地方

    我的腳本:
    //------------------------------------------//
    //名稱 : kill_place_system
    //版本 : v4.0a
    //修改日期 : 2008/3/25
    //版權 : Pluto Asterism
    //設定製作       by   Legend
    //                               以上請勿刪除
    //------------------------------------------//
    //BUG回報:
    //請到神之實習ea腳本區發問
    //並且詳細的留下問題
    //------------------------------------------//
    //更改NPC啟動方式[改為事件]
    //洗白功能必須有gm權限
    //新增"有效地圖" :pvp殺敵點數只在下列地圖有效
    //
    //------------------------------------------//
    //注意事項:
    //預設"notall"是全部地圖都無效
    //想要全部地圖有效,就請把"notall"改成"all"
    //,
    //想在特定地圖有效就請把"notall"改成"other"
    //並且在"other"後,加入想要有效果的地圖名稱
    //例: 想在普隆德拉啟動pvp殺敵排行(prontera是普隆德拉的地圖名稱)
    // set $OnPvpMap$[0],"other","prontera","第二個想要有效地圖名稱","第三個想要有效地圖名稱","...剩下一此類推","","";
    //最多好像可以127個..一般,沒必要設置127以上吧....
    //------------------------------------------//
    //地圖座標皆以測試伺服器為基準,
    //請自行更改成你要的地圖或是座標
    //(只需更改"PVP排行榜"的地圖座標)
    //------------------------------------------//
    //--------------------------------//
    //----------有效地圖---------//
    //--------------------------------//
    guild_vs3.gat,0,0,0        script        OnPvpMap        -1,{
    OnInit:
    setarray $OnPvpMap$[0],"all","guild_vs3","hugel","","","","";
    end;
    }
    //--------------------------------//
    //----------PVP排行----------//
    //--------------------------------//
    hugel.gat,92,150,4        script        PVP排行榜        837,{

            mes "您, " + killmanname$ + " 親手解決了 " + killpoint + " 人,死亡次數 : " + diepoint;
            if ((getgmlevel(getcharid(0))) > 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;
    }
    //-------------------------------//
    //------被殺點增加---------//
    //-------------------------------//
    guild_vs3.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;
    }
    //-------------------------------//
    //------殺人點增加---------//
    //-------------------------------//
    guild_vs3.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;
    }

    [ 本帖最後由 2006079 於 2008-6-2 11:34 PM 編輯 ]
  • TA的每日心情
    開心
    2012-8-13 02:38 PM
  • 簽到天數: 3 天

    連續簽到: 2 天

    [LV.2]偶爾看看I

    發表於 2008-6-2 06:25:37 | 顯示全部樓層
    很簡單
    因為他語法有輸入錯誤
    "文字輸入"+killpoint+""....等
    有許多輸入方法
    按照初估  
    建議把killpoint放入""內會比較好~
    其他我放學回來再看!
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    難過
    2011-5-29 12:43 AM
  • 簽到天數: 48 天

    連續簽到: 0 天

    [LV.5]常住居民I

     樓主| 發表於 2008-6-2 18:58:48 | 顯示全部樓層
    即時 killmanname$ 的位置 改做+killpoint+  ??
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    難過
    2011-5-29 12:43 AM
  • 簽到天數: 48 天

    連續簽到: 0 天

    [LV.5]常住居民I

     樓主| 發表於 2008-6-2 19:03:03 | 顯示全部樓層
    是不是將有killmanname$的位置改做killpoint
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    難過
    2011-5-29 12:43 AM
  • 簽到天數: 48 天

    連續簽到: 0 天

    [LV.5]常住居民I

     樓主| 發表於 2008-6-2 19:03:27 | 顯示全部樓層
    是不是將有killmanname$的位置改做killpoint
    回復 支持 反對

    使用道具 舉報

    該用戶從未簽到

    發表於 2008-6-6 17:45:15 | 顯示全部樓層
    我想是了
    回復 支持 反對

    使用道具 舉報

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

    本版積分規則

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

    GMT+8, 2025-7-4 06:32 AM , Processed in 0.058899 second(s), 20 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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