當前位置:首頁 » 操作系統 » war3源碼

war3源碼

發布時間: 2022-08-07 03:57:44

㈠ 我想利用校園網構建一個WAR3戰網,不知如何弄.

目前可以用於架設魔獸爭霸3的伺服器軟體主要有2種:PvPGN 1.1.6和WarForge Java 0.0.9.0

其中使用WarForge建立的伺服器需要Java語言解釋器和Mysql資料庫的支持,對一般的玩家計算機知識要求較高,所以主要以介紹如何安裝PvPGN戰網伺服器為主。

1、PVPGN軟體介紹
PvPGN,全名為Player-vs-Player Gaming Network Server,是一些業余愛好者在原來的伺服器軟體bnetd的源代碼的基礎上進行改進擴展而來。

PvPGN是目前唯一的支持多游戲的免費開放源代碼伺服器軟體,除了對暴雪的經典系列游戲--星際爭霸/Diablo2/魔獸爭霸2/魔獸爭霸3 的支持外,將來還會對對新出的其它公司的游戲如Dungeon Siege, Neverwinter Nights, Unreal Tournament 2003等游戲提供支持,前景非常看好。

2、系統需求
PvPGN安裝環境要求:
Windows 98/me/Nt/2000/XP

3、下載並安裝PvPGN

首先,我們要下載PvPGN軟體進行安裝,軟體可以在以下地址找到:
http://pvpgn.ostdb.com
http://www.trendecide.com/warcraft/downloads/
http://amadeus.trendecide.com/index.html(點左邊的FILEZ進入下載列表頁)
下載PvPGN1.1.6 rc1和PvPGN 1.1.6 rc2這兩個文件,下載完後先安裝前者,然後運行後者升級到1.1.6 rc2。

4、運行前的設置(可選,如果不作以下修改,伺服器可以用原來的默認設置正常運行)

我們先進入PvPGN的目錄,找到bnetd.conf文件,這個是PvPGN的設置文件。用記事本等文本編輯器打開它,修改如下部分以對伺服器進行設置:

versioncheck = true 如果你想讓伺服器支持1.09版的星際爭霸,請設為false

new_accounts = true 是否允許注冊新帳號,如果你不想在提供新用戶注冊功能,請設為false。

w3routeaddr="xxx.xxx.xxx.xxx:6200" 請將xxx.xxx.xxx.xxx設為你的外部IP號(如果在建內網用的伺服器可設內網IP)以使魔獸爭霸的Play Game生效

location = "USA"
description = "PvPGN Server"
url = "http://www.PvPGN.org";
contact_name = "PvPGN Server Admin"
contact_email = "PvPGN Server" 這五項分別是你的伺服器的位置,描述,網頁地址,聯系人姓名和聯系郵件,可自設。

其他選項保持默認即可,如果需要改變,請理解註解中說明的參數含義。

修改完畢後保存退出,然後我們再找到如下txt文件進行修改:

confnews.txt 這是PvPGN伺服器的消息文件,可以在用戶登錄時顯示一些消息,大家可以自己寫一些公告啊什麼的,也可以在伺服器運行期間修改,向玩家發送最新的消息。

confbnmotd.txt 這是伺服器登錄時的問候信息文件,當一個玩家登錄時向他發出的問候消息存放在這里,文本中的%l表示用戶名,%v表示版本號,%u,%g,%c分別表示在線的用戶數,游戲數和頻道數。

Filestermsofservice-default.txt
Filestermsofservice-default.txt 這兩個是注冊新帳號前顯示的terms of service,具體伺服器用哪個和登錄用戶的語言版本有關,要改就同時改。

Filesnewaccount-default.txt
Filesnewaccount-enUS.txt 這兩個是注冊新帳號時右邊顯示的信息,具體伺服器用哪個和登錄用戶的語言版本有關,要改就同時改。

Filestos.txt
Filestos_DEU.txt
Filestos_usa.txt
Filestos-unicode_USA.txt 這四個是登錄進伺服器後顯示在右邊的LEGAL NOTES和TERMS OF SERVICE,具體伺服器用哪個和登錄用戶的語言版本有關,要改就同時改。
如果要支持中文版的D2,請建立tos-unicode_CHI.txt,並填入Terms of service。

如果你需要支持最新的游戲版本1.02,你需要修改你的conf目錄下的versioncheck文件,http://pvpgn.ostdb.com/versioncheck102c.zip 這時已經修改好的文件,你可以直接下載並覆蓋原有文件。游戲的1.02升級補丁你可以在http://www.blizzard.com或http:...attle.net找到。

最後是修改ad000000?.mng,這些都是mng格式的banner文件(就是登錄伺服器後顯示在上方的橫幅),可以通過相關工具修改,本文不浪費篇幅介紹。

5、運行PvPGN程序

運行PvPGN Standard.exe即可開啟伺服器,你可以把它最小化到系統欄圖標。運行之後伺服器就處於激活狀態,別的玩家就可以通過網路連接PvPGN了。

6.PvPGN的界面操作

1)界面概覽
如圖上面是菜單,左邊是伺服器信息欄,顯示伺服器信息,右邊是在線用戶欄,顯示當前的在線用戶。

2)菜單
Server菜單下有Save Accounts(保存所有帳戶),Restart(重新啟動服務),Shutdown(關閉服務),Exit(退出)4個功能。
Admin Commands菜單下有Announce和Admin Control Panel兩個可用功能,Announce是用來向伺服器內的所有用戶發送公告的;Admin Control Panel的界面中,Kick表示把人踢出伺服器,Ban表示禁止登錄,Premote to Administrator表示設為管理員,Premote to Moderator表示設為頻道主持人,Give the rights to make announcements表示給予發送公告的權利,在左邊的輸入框輸入姓名,在右邊勾選好你要對這個用戶進行的操作,然後點擊Execute按鈕就可以執行相應的操作。
View菜單下有Clear Window(清空左邊的信息欄)和Update Userlist(立即更新在線用戶狀況)兩個功能。
Server Configuration菜單下只有一個功能,就是用寫字板打開confbnetd.conf文件進行修改,記得修改後要用Server菜單下的Restart來重啟伺服器以使設置修改生效。

善用操作界面的功能將可以讓你輕松地管理PvPGN伺服器。

7、修改游戲設置使其能連上伺服器
要連接你剛完成架設的魔獸爭霸3伺服器,你需要修改你的戰網連接地址,你可以在以下地址找到最新版的戰網地址修改器:
http://soar.l33t.ca/download/BNetEditor.zip 或
http://home.online.tj.cn/user/soar/.../BNetEditor.zip
下載後解開壓縮文件,你會得到
BNetEditor.exe
Gateway.list
ServerIntro
What『s new.txt
說明.txt
等5個文件

運行BNetEditor.exe畫面如下:
按下"添加」按鈕,在出現的對話框中添入 名稱:你自己取的伺服器名字;時區:伺服器所在時區(可以隨便添或者添8);地址:伺服器的IP地址,填寫完點擊確定,你的伺服器便出現在現有伺服器列表中。

該軟體還可以修改Diablo2、Starcraft等游戲的連接地址,具體操作方法可以看附帶的說明.txt,並且該軟體提供了其他幾個國內的私人伺服器地址可供選擇。

8、連接伺服器
你需要使用連接PvPGN專用的Loader才可以進入你的魔獸爭霸3游戲,該程序可以在這里找到:
http://pvpgn.ostdb.com/aCiD-War3_Adaptive_Loader.zip
解開壓縮文件,將其中的Loader文件復制到你的魔獸爭霸3安裝目錄,在war3.exe中加入-pvpgn參數,運行即可。進入游戲後點擊Battle.net右邊的放大鏡標記,選擇需要加入的伺服器,你可以看到我們剛才添加的伺服器My Server已經出現在列表中,選擇它,並點擊OK確定。

然後點擊Battle.net按鈕,如果上述伺服器操作都正確完成的話,你可以看到這樣的登陸畫面。

點擊New Account建立一個新的賬號,或者直接輸入用戶名和密碼使用一個已經存在的賬號。然後點擊Logon按鈕,然後你就進入了自己的Battle.net。
快點告訴你的朋友們吧,將他們都連接上你的伺服器開始一場激烈的戰斗。

也許你的伺服器架設沒有那麼順利進行,那麼請你仔細看看每一步的操作。多嘗試幾次,相信你會成功的。

註:PVPGN也可以使用MYSQL資料庫,使用MYSQL資料庫玩家的戰績資料會保存到資料庫中。 不用的話,以文本方式保存玩家資料,無法使用排行版功能。

暴雪小型伺服器的搭建及其配置

首先要明白的是這篇文章是關於Warcraft3,而不是WOW的。

-------------------------------------------------------------------------------------------------

暴雪憑借著Battle.net免費伺服器和暴雪公司的完美游戲讓全世界的玩家走到了一起。Battle.net支持暗黑破壞神、星際爭霸和魔獸爭霸,其完善的玩家匹配系統、積分排名系統和聊天系統使得成為世界上最大的免費游戲伺服器。

-------------------------------------------------------------------------------------------------

下面我來教大家搭建最基本的Battle.net(不包括WEB排名系統)
俗話說:「工欲善其事,必先利其器。」我們首先要如下幾款軟體:
1.PVPGN(Player-vs-Player Gaming Network Server)
我們這里使用1.80RC2版本,這個版本能完美支持WAR3 1.20c
2.Bnedit(編輯伺服器地址用)
3.wc3 loader(啟動魔獸進第三方戰網的軟體)
4.花生殼(動態IP解析用)

-------------------------------------------------------------------------------------------------

伺服器安裝方法:下載解壓縮後雙擊「安裝服務.bat」安裝基本控制服務

客戶端修改方法:下載解壓縮BNetEditor,雙擊運行,然後依照圖片所示依次進行

運行魔獸的方法:下載解壓縮w3l,雙擊運行即可

------------------------------------------------------------------------------------------------

下面根據你搭建伺服器的目的分為三種:
一、單機版
既然要架設伺服器,單機版假設出來也沒意思,搜索不到別人,只能自己鍛煉下。
此版本默認伺服器IP即為127.0.0.1,無需做修改就可以上戰網

二、區域網
首先確保你的防火牆軟體沒有阻止PVPGN和WAR3訪問網路,並且你也知道自己的IP地址(如果是自動獲得,點「開始」-「運行」-輸入「ipconfig」就可以知道自己的IP),在PVPGN文件夾下有個CONF文件夾
打開後會看到一堆文件,這些是伺服器的配置文件,我們找到其中的d2cs.conf、 d2dbs.conf 、bnetd.conf 、realm.conf,用記事本打開即可,然後運用查找替換把「127.0.0.1」全部替換成自己的IP地址,保存退出。
要注意的客戶端的修改,BNetEditor里的IP地址都要是你的IP(即伺服器IP)

三、外網
同樣首先是防火牆的問題。
根據上網方式又可以分幾種:
1、ADSL在電腦上撥號上網,這種上網方式都有公網的IP地址,所以你只需做的去下載個花生殼軟體
下載地址:http://www.oray.net/ 詳細配置請見http://www.oray.net/
這里伺服器IP就要改成你申請的二級域名,如www.turnjian.vicp.net 客戶端同樣如此
2、ADSL路由上網,這種方式你的IP一般為固定IP如192.168.1.5,這樣就需要在路由器上打開埠映射功能,詳細信息http://www.magicwinmail.com/technic_nat.htm http://bbs.leobbs.com/cgi-bin/topic.cgi?forum=68&topic=2854&show=0 (需注意魔獸埠)
3、小區寬頻、有線通等方式比較特殊,詳細請聯系當地ISP(請不要告訴他們你是要建設私服。。)

下面介紹下伺服器的配置:
我們先進入PvPGN的目錄,找到bnetd.conf文件,這個是PvPGN的設置文件。用記事本等文本編輯器打開它,修改如下部分以對伺服器進行設置:

versioncheck = true 伺服器&游戲版本版本檢查

new_accounts = true 是否允許注冊新帳號,如果你不想在提供新用戶注冊功能,請設為false。

w3routeaddr="xxx.xxx.xxx.xxx:6200" 請將xxx.xxx.xxx.xxx設為你的外部IP號(如果在建內網用的伺服器可設內網IP)以使魔獸爭霸的Play Game生效

location = "USA"
description = "PvPGN Server"
url = "http://www.PvPGN.org";
contact_name = "PvPGN Server Admin"
contact_email = "PvPGN Server" 這五項分別是你的伺服器的位置,描述,網頁地址,聯系人姓名和聯系郵件,可自設。

其他選項保持默認即可,如果需要改變,請理解註解中說明的參數含義。

修改完畢後保存退出,然後我們再找到如下txt文件進行修改:

confnews.txt 這是PvPGN伺服器的消息文件,可以在用戶登錄時顯示一些消息,大家可以自己寫一些公告啊什麼的,也可以在伺服器運行期間修改,向玩家發送最新的消息。

confbnmotd.txt 這是伺服器登錄時的問候信息文件,當一個玩家登錄時向他發出的問候消息存放在這里,文本中的%l表示用戶名,%v表示版本號,%u,%g,%c分別表示在線的用戶數,游戲數和頻道數。

Filestermsofservice-default.txt
Filestermsofservice-default.txt 這兩個是注冊新帳號前顯示的terms of service,具體伺服器用哪個和登錄用戶的語言版本有關,要改就同時改。

Filesnewaccount-default.txt
Filesnewaccount-enUS.txt 這兩個是注冊新帳號時右邊顯示的信息,具體伺服器用哪個和登錄用戶的語言版本有關,要改就同時改。

Filestos.txt
Filestos_DEU.txt
Filestos_usa.txt
Filestos-unicode_USA.txt 這四個是登錄進伺服器後顯示在右邊的LEGAL NOTES和TERMS OF SERVICE,具體伺服器用哪個和登錄用戶的語言版本有關,要改就同時改。
如果要支持中文版的,請建立tos-unicode_CHI.txt,並填入Terms of service。

如果你需要支持最新的游戲版本1.20,你需要修改你的conf目錄下的versioncheck文件。游戲的升級補丁你可以在http://www.blizzard.com找到。

最後是修改ad000000?.mng,這些都是mng格式的banner文件(就是登錄伺服器後顯示在上方的橫幅),可以通過相關工具修改。

最後再補充說明下為什麼不用WEB方式,WEB方式就是可以方便找回密碼,查看排名,我們建設這個伺服器的目的就是為了娛樂,現在大家大部分操作系統版本是XP,XP不是伺服器版,雖然也有IIS,但是只有10個並發連接。若要排名還要用SQL或MYSQL等資料庫,這樣增加了伺服器的負擔和危險性。
WAR3的免費伺服器現在大致分為兩種:
1.WarForge Java 0.0.9.0 。
2.PVPGN 1.1.5。
我們這里介紹的是PVPGN1.1.5 游戲戰網伺服器,我認為PVPGN1.1.5是目前免費戰網比較穩定和成熟的,幾乎沒有錯誤,所以大家用這個沒錯的(聽起來象廣告?),好!哪兒去找這個軟體呢?在 http://www.trendecide.com/warcraft/downloads/
可以找到這個軟體,如果你是用的WINDOWS操作系統就下載他最上面的那個PVPGN1.1.5-WIN32 就行了,如果你用的是LINUX,就下載PVPGN1.1.5-LINUX,文件都不大,5M多一點點。(國外網站,速度有點慢...)
OK,現在下載完了,用WINZIP打開一看,只有一個EXE文件,對了,運行他就開始安裝伺服器啦,安裝中幾乎什麼也不用選就完了,打開開始菜單一看,多了個PVPGN,裡面有PvPGN Standard Edition(PVPGN 標准版),PvPGN Elite Edition(PVPGN 精華版),標准版和精華版不同的地方在於對用戶名等數據存儲方式不同,標准版是用的文檔方式,而精華版用的是MYSQL方式存儲,MYSQL對數據存儲、查詢、管理都比文檔方式好得多,所以軟體作者和我都極力推薦使用精華版。
先講講標准版的配置方法:雙擊 PvPGN Standard Edition 圖標 ,出現的窗口會出現 「failed to initialize network (exiting)」的出錯提示,不要緊,我們選Server Configurationg選項,會打開一個叫bnetd.conf的文本文件,我們找到 w3routeaddr 這一行,把 「your ip here」改成你機器的IP地址,保存後關掉伺服器,然後再雙擊 PvPGN Standard Edition 圖標,把伺服器打開,如果沒有出錯信息那麼就恭喜你,你的伺服器已經架設通了,但是要注意哦,現在你的標准版的伺服器還不能保存賬號名和信息,要在你的PVPGN安裝目錄下面找到VAR目錄,再在裡面建立三個目錄:bnmail 、Reports、Users ,其中USERS目錄就是保存用戶信息的目錄。
然後講講精華版的配置方法:前面和標准版的配置方法一樣不同的是需要下載MYSQL的安裝文件了,下載地址為 http://www.mysql.com/Downloads/MySQ...3.23.52-win.zip
下完後用WINZIP打開雙擊就可以安裝了,安裝完後WIN2K系統運行 \MYSQL\BIN\mysqld-nt.exe 讓系統自動運行 MYSQL 資料庫,然後把這個目錄下的 libmySQL.dll 拷貝到 WINNT\SYSTEM32目錄下,再下載PVPGN的資料庫創建和更新軟體 http://www.nerdtopia.org/pvpgn/114b...vPGNDBAC206.zip 安裝好PvPGNDBA 後就開始創建魔獸爭霸的基本表,如果是第一次運行PvPGN DB Admin Console就會出現一個對話框讓你配置如何連接資料庫,在
HOSTNAME :locahost (MYSQL 主機的IP地址,一般不用修改)
MYSQL PORT: 3306 (MYSQL 的連接埠,不用修改)
MYSQL USERNAME:ROOT (MYSQL 的管理員賬號)
MYSQL PASSWORD: (ROOT 用戶的密碼,才安裝的不用填入)
GIVE DATABASE A NAME:(這是給將要創建的資料庫取個名字,可以隨便填入,比如 PVPGNDB)。
配置完後選中NEW DB INSTALL再按GO,如果出現了 You database has been created successfully 的對話框,就表示你的資料庫已經建立好了,最後就是在Server Configurationg配置中打開bnetd.conf文件,讓伺服器和MYSQL資料庫連接起來,修改bnetd.conf最下面的
mysql_host = "localhost"(MYSQL 主機的IP地址,一般不用修改)
mysql_account = "root" (MYSQL 的管理員賬號)
mysql_password = "root" (ROOT 用戶的密碼,和上面一樣)
mysql_sock = "3306" (MYSQL 的連接埠,不用修改)
mysql_dbname = "PVPGNDB"(就是你創建的資料庫的名字)
如果出現
You are currently Running PvPGN Version 1.1.5
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Make sure to visit:
http://www.pvpgn.org
We can also be found on: irc.pvpgn.org
Channel: #pvpgn
Server is now running.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
的字樣,那麼你的精華版就可以正常使用啦。
是如何把你的伺服器加到中國魔獸爭霸聯盟伺服器列表中:
_在bnetd.conf找到如下行並改為你自己的信息: (請注意PvPGN的設置必須含引號)
______location = "伺服器的地理位置"
______description = "伺服器描述"
______url = "伺服器主頁"
______contact_name = "聯系人"(本伺服器並不顯示該項信息)
______contact_email = "聯系郵件"
在bnetd.conf找到track開頭的一行並改為:
______track = 1(1-5都可以,太大不好)
______找到trackaddrs開頭的一行並改為:
______trackaddrs = "61.172.250.144"
完成以上步驟後,重啟你的伺服器,你的伺服器信息便會出現在中國魔獸爭霸聯盟伺服器列表中了。
客戶端連接方法:游戲方式:
下載http://uws.rpwt.org/download/war3_102.rar (1.02升級包)
安裝後桌面會出現三個圖標,選WARCRAFT III PVPGN 這個圖標 ,將來就用它運行你的游戲
然後下載http://bnet.ali213.net/W3/denglu/BNG...面的WARCRAFT III,添加一個GATEWAY,填入想要去的戰網IP再選為默認,最後進入游戲就可以連接上戰網啦。

㈡ 求魔獸爭霸3 的金錢和木材基址和偏移 1.24

具體請看天池做的修改器。開源。http://hi..com/tctianchi/blog/category/%D3%CE%CF%B7 下面 [tc]魔獸3 內存修改器 v8 程序員手冊
[tc]天馳 2011.3.2(地址以1.22.0.6328版本為例,數字全部是十六進制。)一、從選中單位的列表獲得單位ESI
0、也可以利用".?AUCUnitListNode@@",以下沒有用這個方法
1、[6FAA2FFC],參考sub_6F416AE0
2、[上面+58+4*a2],參考6f3a0564
其中a2=word ptr[上面+28],參考6F042B76
3、[上面+34]記為鏈表基地址,參考6f2cc0a8
這個地址還有一種獲得方法,用.\CPlayerWar3.cpp所在的段+90,我不知道是否准確
4、這個基地址的結構:
[基地址+1F0]:表頭
[基地址+1F4]:表尾
[基地址+1F8]:表長度
參考sub_6F415B70: 6f415b95 mov eax, [ebx+1f4]
5、展開當前地址(假設一開始等於表頭)。
即[表頭],其結構為:
[節點+0]:下一個節點
[節點+4]:not 下一個節點(二者為not關系,不知道為什麼要這樣)
[節點+8]:單位ESI
參考:6F412504 mov eax, [edi+0c](eax為節點位置)
參考:6f412518 mov edi, [esi+08](edi為選中的單位,夢寐以求的單位ESI)二、重要說明
1、ESI的使用
● ESI記為ThisUnit
● [ThisUnit + 1E4]記為UnitAttributes
● [ThisUnit + 1EC]記為HeroAttributes2、重要的內存提取演算法
演算法0(6F03F180):從GameMemory取得數據,需要索引號Index1和一個參考數ReferenceNumber1。注意Index1最高位不得為1,不然不是這個演算法。建議判一下正負。
(1)[6FAA4178]記為ThisGame
(2)[ThisGame + 0xC]計為ThisGameMemory
(3)[ThisGameMemory + Index1 * 8 + 4]計為Address1,返回之
(4)[Address1 + 0x18]應當等於ReferenceNumber1,不相等游戲會異常(訪問地址0),所以做修改器不用考慮這里演算法1(6F4634E0):也需要Index1
(1)用演算法0
(2)Address1 + 0x78輸出為地址演算法2(6F468A20):也需要Index1
(1)[ThisGameMemory + Index1 * 8 + 4],記為Address3
(2)[Address3 + 20]為零的前提下返回[Address + 54]的內容三、單位的修改
1、HP float
[HPMax地址-C]2、HPMax float
(1)ThisUnit + 98 // 參考sub_6F28A760
(2)[上面 + 8] // 參考sub_6F467710
(3)用演算法0解開上面
(4)解開後內容在[上面 + 84] // 參考6F46752F: fcompp, EDX3、MP float
[MPMax地址-C]4、MPMax float
(1)ThisUnit + 98 // 參考sub_6F28A760
(2)[上面 + 28] // 參考sub_6F467750
(3)用演算法0解開上面
(4)解開後內容在[上面 + 84] // 參考sub_6F4677505、經驗值:[HeroAttributes + 8C] int
源代碼:6F26DFF0
即:getHeroExp()6、力量初值:[HeroAttributes + 94] int
源代碼:6F353D06
即:int __thiscall DrawHeroProperty(int *GameContext, int **HeroAttributes, int *AttributeBias, unsigned int *GBuffer)7、敏捷初值:[HeroAttributes + A8] int
源代碼:同上8、智力初值:int
源代碼:6F0DA9D0
即:int __fastcall getHeroIntellect_NotSure(int pAttribute1)
[HeroAttributes + 7C + 2 * 4] 記為Index1
[HeroAttributes + 7C + 3 * 4] 記為ReferenceNumber1
用演算法1得到地址9、攻擊頻率:[UnitAttributes + 1B0] float
源代碼:6F0C64E0
即:int __thiscall getHeroROF_NotSure(int *this, int a2, int a3, int a4)
這是一個比值,對兩種武器均適用。10、武器射程
從UnitAttributes開始,參考:6F352CA3
公式為[UnitAttributes + 258 + index * 8],參考:6F0C61A5
其中index是指武器的編號,取0和111、其它攻擊相關:int
地址為 UnitAttributes + 下面的偏移量攻擊1 - 基礎1 A0
攻擊1 - 基礎2 AC
攻擊1 - 倍乘 94
攻擊1 - 骰子 88
攻擊1 - 種類 F4攻擊2 - 基礎1 A4
攻擊2 - 基礎2 B0
攻擊2 - 倍乘 98
攻擊2 - 骰子 8C
攻擊2 - 種類 F812、移動速度:[「參數」 + 70h] float 當前的移動速度
或者:[「參數」 + 78h] float 當前的移動速度的比值
源代碼:6F201190
即:void __thiscall sub_6F201190(int this, int a2, int a3)而「參數」的獲得:似乎是將某個指針壓入一系列(回調)函數中處理,但是大部分的處理函數是空白的,只有一個與移動速度有關。寫修改器,就是要依次檢索這些函數,直到發現這個函數後,代入這個函數的參數,計算出移動速度所需的「參數」整件事情是從6F077693開始
(1)[ThisUnit + 1D8]記為MoveAbilityIndex
參考:斷點下在6F0776F6
(2)演算法2(MoveAbilityIndex) 記為I
(3)此時,只要[I + 24] & [I + 28] != -1,那麼:
(4)檢驗[[I] + 2D4]是否等於6F201190(如果是6F052080,實際執行的函數只有ret指令)
(5)如果是相等的,那麼演算法結束,用[I + 70]或者[I + 78]得到移動速度
源代碼:6f2011a1: mov eax, [ecx+70] ecx=07c50094
(6)如果不相等,那麼下一個I = 演算法2([I + 24]13、防禦:[ThisUnit + E0] float
源代碼:6F353250
6F3532A2: mov eax, dword ptr [ebx+e0]
即:void __thiscall sub_6F353250(int this, int a2, int a3, int a4)14、防禦類型:[ThisUnit + E4] int15、坐標X:
[ThisUnit + 164],參考:6F2776C4
[上面+8]作為index,[上面+C]作為Refrence,用演算法0,參考:6F464685
[上面+78],參考:6F38A52C
[上面]為坐標X,參考:6f6de77516、[坐標Y] = [坐標X的地址 + 4]四、金錢的修改
參考:6F407220,看最後一段
即:signed int __thiscall sub_6F407220(int this, signed int a2, unsigned int a3, int a4, int a5, int a6)1、上16位
(1)[ThisGameMemory + 1 * 8 + 4]計為Address2
(2)Address2上16位,下16位見下一款2、下16位
1P 0190
2P 1410
3P 26a0
4P 3920
5P 4bb0
6P 5e30
7P 70c0
8P 8350
9P 95d0
10P a860
11P bae0
12P cd703、對每個玩家
金錢 0 int x10
木頭 + 80 int x10
最大人口 +180 int
當前人口 +200 int五、物品列表的獲取
1、GetAnItem (SelectedUnit, ItemIndex),其中ItemIndex = 0 - 5
源代碼:sub_6F26E0E0
過程為:
(1)[SelectedUnit + 1F4]記為List
(2)如果List為0,返回0
(3)否則判斷ItemIndex是否越界,我們就不判了
參考:6F0F04B0
即:GetListItem(List, ItemIndex)
(4)List + C * ItemIndex + 0x70,記為Index1,注意沒有解引用啊
(5)演算法0,地址[Index1],參考值[Index1 + 4],結果記為RawItem
(6)RawItem為0或者[RawItem+0x20]不為0,導致返回0
(7)[RawItem+0x54]作為物品基地址,即為CurrentItem六、物品修改
1、使用次數 [CurrentItem + 84]
2、名稱 [CurrentItem + 30]

㈢ war3.exe的毒會不會每個電腦都中

如果是有傳染的毒當然會影響其他的,用殺毒軟體針對這個盤殺一下毒,發現病毒的話選擇清除病毒,別選清除文件,如果清除文件的話你的游戲就玩不了啦.

㈣ 我CS1.6魔獸3商店插件的源碼編譯的時候出了問題了,不知道怎麼解決,以下給出我的編譯參數

假如感覺玩的不錯的話,你可以參加 全球 使命GM全面挑戰系列賽,狂送道具

㈤ 魔獸war3中ID鎖定功能如何實現

你說的是什麼意思 能具體一點嗎 為什麼要ID鎖定 改一個ID又不是很麻煩的事 難道別人用你war3玩游戲改了id讓你很不爽 在bn上面好像也是鎖定的

找你那麼說這應該是平台軟體開發的問題 這個平台是誰開發的 應該讓他設置
而且即便鎖定了ID也不好杜絕作弊 你說別人MH這本來就是很不好界定的事情 人家還說就是自己意識好咧

㈥ war3自動喊話是怎麼實現的

c語言 或c+語言都行

iPressState=0

setmousewatchex('mousehookfuncex')
setmousewatch('mousehookfunc')
setkeywatch('keyhookfunc')

function mousehookfuncex(msg, x, y)
if 0==iswar3front() then return 0 end
war3w = getwar3window()
win3wl,win3wr,win3wt,win3wb = getclientrect(war3w)
mx=(win3wr-win3wl)*0.195
my=(win3wb-win3wt)*0.761
mw=(win3wr-win3wl)*0.0265
mh=(win3wb-win3wt)*0.0325
mx,my = clienttoscreen(war3w, mx, my)
if x>mx and y>my and x<(mx+mw) and y<(my+mh) then
if msg==11 then
mouseup(0)
iPressState=1
return 1
end
end
end

function mousehookfunc(msg)
if 0==iswar3front() then return 0 end
if 0==isplaying() then return 0 end
if iPressState==1 then
if msg==11 then
talk(sTalkMsg,0)
iPressState=0
return 0
end
end
if (1==getcontrolkeystate(1) or 1==getcontrolkeystate(2)) and 11==msg then
keydown(18)
sleep(10)
mousedown(0)
sleep(10)
mouseup(0)
sleep(10)
keyup(18)
sleep(10)
talk(sTalkMsg,0)
return 1
end
end

function keyhookfunc(keycode, controlkeycode, downorup)
if 0==iswar3front() then return 0 end
if 0==isplaying() then return 0 end
if 71==keycode and (1==controlkeycode or 2==controlkeycode) and downorup==0 then
iPressState=1
return 0
end
end
編程工具好好琢磨吧!

㈦ War3的錄像文件ASPX怎麼觀看

aspx是網頁源代碼。。。你下錯了

㈧ 魔獸爭霸3冰封王座怎麼聯機

具體步驟:

1、首先,下載要安裝的地圖包並將其解壓縮。

㈨ 已知md5和原碼,能算出另一個用同種方法加密的md5嗎

md5並非加密方法,並且md5現實中已經被證實非唯一,war3的聯網地圖驗證就是靠md5,事實證明一些改圖可以通過技術手段使得和原圖的md5相同,這是1.20版本的漏洞,1.24修復了。這就是一個實際的例子,文件不同而md5相同,所以你從md5倒推原文件是不可能的。

熱點內容
oraclesql執行存儲過程 發布:2024-04-24 14:28:07 瀏覽:455
vos伺服器是什麼 發布:2024-04-24 14:17:50 瀏覽:826
冰菓資料庫 發布:2024-04-24 14:17:36 瀏覽:83
鴻蒙系統安卓系統蘋果系統哪個好 發布:2024-04-24 14:04:43 瀏覽:745
網上郵政儲蓄銀行如何修改密碼 發布:2024-04-24 13:57:57 瀏覽:28
sqlserverexistsin 發布:2024-04-24 13:23:13 瀏覽:321
壓縮包暴力破解器 發布:2024-04-24 13:21:46 瀏覽:280
微信對接配置要注意哪些 發布:2024-04-24 13:12:27 瀏覽:657
演算法推薦分類 發布:2024-04-24 13:11:46 瀏覽:804
思域十一代選哪個配置 發布:2024-04-24 13:11:46 瀏覽:369