OK論壇

 找回密碼
 註冊
查看: 2710|回復: 10

人物金錢上限修改源碼

 關閉 [複製鏈接]
  • TA的每日心情
    無聊
    2012-8-14 03:54 AM
  • 簽到天數: 9 天

    連續簽到: 1 天

    [LV.3]偶爾看看II

    發表於 2012-8-3 15:14:45 | 顯示全部樓層 |閱讀模式
    本帖最後由 Mr.Serafim 於 2012-8-8 05:02 AM 編輯

    我使用Microsoft Visual C++ 2008 Express Edition程式
    建置&編譯源碼

    src/common/mmo.h
    修改
    1. MAX_ZENY 1000000000 -->
    2. MAX_ZENY 2147483647
    複製代碼
    改了建置編譯源碼後將以下三個檔案替換
    1. login-server_sql
    2. char-server_sql
    3. map-server_sql
    複製代碼
    結果登入選分流到人物那邊跳出以下視窗


    遊戲內打指令超越上限金錢數則map會出現以下錯誤訊息
    1. <div>[Error]: script:set_reg: failed to set param 'Zeny' to -1147475416.</div><div>[Debug]: Source (NPC): FAKE_NPC (invisible/not on a map)</div>
    複製代碼


    當金錢已滿2147483647 打開紅包Set Zeny指令則會出現警告訊息
    1. [Warning]: script:op_2num: overflow detected op=C_ADD i1=2147483647 i2=2083
    2. [Debug]: Source (NPC): FAKE_NPC (invisible/not on a map)
    複製代碼


    以上問題已嘗試各種方法也有爬文過 無解
    請不要說我沒有努力的去爬文之類的
    就是因為找不到才到這邊發帖苛求各位的幫忙。



    回復

    使用道具 舉報

  • TA的每日心情

    2017-1-18 12:17 AM
  • 簽到天數: 512 天

    連續簽到: 1 天

    [LV.9]以壇為家II

    發表於 2012-8-3 15:21:50 | 顯示全部樓層
    在紅包後面 增加 如果金錢大於多少, 不可使用

    就不用改原碼了

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    無聊
    2012-8-14 03:54 AM
  • 簽到天數: 9 天

    連續簽到: 1 天

    [LV.3]偶爾看看II

     樓主| 發表於 2012-8-3 15:26:58 | 顯示全部樓層
    grass0916 發表於 2012-8-3 03:21 PM
    在紅包後面 增加 如果金錢大於多少, 不可使用

    就不用改原碼了

    不只紅包呢, 紅包使用set zeny 相同的 NPC也會使用 那麼不就所有NPC都要加入IF..
    交易沒測試過  如果npc 也有set zeny 這樣也會有同樣的問題
    另外會登入會跳窗 size 136

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2017-1-18 12:17 AM
  • 簽到天數: 512 天

    連續簽到: 1 天

    [LV.9]以壇為家II

    發表於 2012-8-3 15:33:14 | 顯示全部樓層
    作一個銀行,

    玩家登入自動將 大多數的Zeny放入銀行中

    是有玩家知道BUG在鬧 ?
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    無聊
    2012-8-14 03:54 AM
  • 簽到天數: 9 天

    連續簽到: 1 天

    [LV.3]偶爾看看II

     樓主| 發表於 2012-8-3 15:42:03 | 顯示全部樓層
    grass0916 發表於 2012-8-3 03:33 PM
    作一個銀行,

    玩家登入自動將 大多數的Zeny放入銀行中

    只是在測試改源碼
    想說可以把金錢10億改成21億  我改登入版號成功了 金錢上限卻不能!!太悲劇
    做銀行那些太麻煩了 想要直接把這問題給KO掉 不然我只剩下一個方法了..兌換卷
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2014-8-13 07:23 AM
  • 簽到天數: 109 天

    連續簽到: 1 天

    [LV.6]常住居民II

    發表於 2012-8-3 16:07:28 | 顯示全部樓層
    mmo.h
    1. #define MAX_ZENY INT_MAX/2147483647
    複製代碼
    重新建置專案

    mmo.h 是在common所以每個端都要重新編譯才可以。



    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2023-12-30 04:16 AM
  • 簽到天數: 1322 天

    連續簽到: 1 天

    [LV.10]以壇為家III

    發表於 2012-8-3 16:50:23 | 顯示全部樓層
    Microsoft Visual C++ 2008  
                          &#8681;
    Microsoft Visual C++ 2010
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    無聊
    2012-8-14 03:54 AM
  • 簽到天數: 9 天

    連續簽到: 1 天

    [LV.3]偶爾看看II

     樓主| 發表於 2012-8-3 17:01:11 | 顯示全部樓層
    sense 發表於 2012-8-3 04:07 PM
    mmo.h重新建置專案

    mmo.h 是在common所以每個端都要重新編譯才可以。

    不知怎麼稿的用你說的重新建置專案結果變成這樣不知道怎麼改回編譯巨集了
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    無聊
    2012-8-14 03:54 AM
  • 簽到天數: 9 天

    連續簽到: 1 天

    [LV.3]偶爾看看II

     樓主| 發表於 2012-8-3 17:03:09 | 顯示全部樓層
    sinya 發表於 2012-8-3 04:50 PM
    Microsoft Visual C++ 2008  
                          &#8681;
    Microsoft Visual C++ 2010

    升級至C++ 2010
    rAthena-9
    改編譯
    rAthena-10是麼?
    C++也太困難了剛踏入還有好多要學習
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    無聊
    2012-8-14 03:54 AM
  • 簽到天數: 9 天

    連續簽到: 1 天

    [LV.3]偶爾看看II

     樓主| 發表於 2012-8-8 05:01:56 | 顯示全部樓層
    sinya 發表於 2012-8-3 04:50 PM
    Microsoft Visual C++ 2008  
                          &#8681;
    Microsoft Visual C++ 2010

    更換模擬端版本解決問題
    雖然失敗了改了2010版不能製作出map   char  login檔案
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    慵懶
    2012-10-4 02:22 AM
  • 簽到天數: 177 天

    連續簽到: 5 天

    [LV.7]常住居民III

    發表於 2012-8-8 17:47:02 | 顯示全部樓層
    出錯是因為athena本身的運算不夠嚴謹, 他是用加法去判斷是否超出最大值, 因此你改成這樣會出現溢位

    解決方法是把所有的金錢加減公式重寫
    回復 支持 反對

    使用道具 舉報

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

    本版積分規則

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

    GMT+8, 2024-4-29 11:01 PM , Processed in 0.053652 second(s), 19 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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