如何在遊戲中實現穿牆功能

2021-07-03 06:45:44 字數 638 閱讀 5145

在遊戲中,很多地方都有障礙物,那麼怎麼才能越過障礙物快速進行行走呢?

我們可以逆向分析它的障礙物判斷函式,然後修改他的返回值或者直接jmp跳過檢測就可以實現障礙物的穿越了。

下面就來說說具體的思路:

.要怎麼尋找障礙物判斷call?

可以通過其他的方法來進行判斷,比如人物的座標來進行判斷,首先找到人物座標的位址,然後通過ce下訪問了這個地點的位址,然後就在沒有障礙的時候就會呼叫某些**,而在有障礙的時候就無法走路,就不會呼叫到那些**。所以在這附近就一定有關於障礙物判斷的函式。

.要怎麼修改**來實現穿過障礙物呢?

可以修改那個具體call的返回值,讓那個call返回值為沒有障礙物的返回值就可以實現了。

或者修改返回值後面的條件判斷,讓他jmp到指定的地點。

也可以在後面呼叫函式返回值的地方直接修改返回值的值就可以達到穿牆的效果了。

.那麼一般的障礙物判斷的**是怎麼樣的呢?

call ******

比較( test , cmp)等,比如test eax ,0x1

跳轉(jz jnz jmp)等。

只要在附近看到這樣的**,一般就是穿牆call的機率就比較大,就可以值得分析一下

以上就是穿牆分析的具體思路了~~具體思路還是要看具體遊戲來進行分析了

如何設計遊戲中的道具功能(三)

對於道具的交換,我原則上是鼓勵使用另乙個容器去實現。所有要交易的道具可以放在交易盒子中進行交換。ifndef itemdealbox h define itemdealbox h include bag.h 交易盒子 add by freeeyes define max dealbox count ...

如何從遊戲中建立指令碼!

在乙個網路遊戲中,插入乙個指令碼,能代替滑鼠的運動,檢測怪物和特定npc的位置。最好就是指定乙個座標,能讓自己的角色去到那兒,乙個通用的程式,而不是專門為這個遊戲設計的程式,而是通過指令碼就能把所有遊戲的這種功能實現。希望能有高手解釋一下。我不會程式設計,至少現在也還沒會,就我所知道的,遊戲可能是把...

遊戲中掉落效果的實現

1.計算運動引數 運動特徵 豎直方向受到重力作用,水平方向有空氣阻力作用 第一種情況 起拋點位置和掉落點位置處於同一水平面中。已知開始拋起的點位置和掉落目標位置,由此可以求出兩點之間的距離 distance 運動軌跡如下所示 根據rand 函式產生出 0,1 之間的數值,作為運動總的時間。並且hei...