HeroM2

HeroM2全名是HeroM2英雄引擎,是一款非常出色的2D遊戲引擎,是依賴於盛大熱血傳奇客戶端的傳奇私服類引擎。這款引擎由於功能強大,支持國戰系統,支持真彩素材,支持英雄合擊、連擊等,而且完全免費,所以在傳奇私服引擎中使用的最多。

基本信息

HeroM2是什麼?

HeroM2全名是HeroM2英雄引擎,是一款非常出色的2D遊戲引擎,是依賴於盛大熱血傳奇客戶端的傳奇私服類引擎 。這款引擎由於功能強大,支持國戰系統,支持真彩素材,支持英雄合擊、連擊等,而且完全免費,所以在傳奇私服引擎中使用的最多。
Hero(美音:['h?ro]) 英文指英雄的意思。M2是mir2的縮寫,在這裡是傳奇服務端的意思。
HeroM2引擎原名SKY引擎,後來被HeroM2收購,現在又改名為MainM2!在hero和main之間,有很多冒充hero的假冒引擎出現,但是因為沒有源碼,也逐漸倒閉。

經證實,main是原班SKY引擎的團隊,和hero是什麼關係,暫時還不清楚,但是的確是hero最後一版源碼更新過來的。連數據和通信都一模一樣。

HeroM2的歷史與演變

2006年3月12日SKY引擎開發團隊正式成立!
2006年12月10日正式發布第一款SKY引擎,使用SKYM2·com為引擎官方網站
2006年12月12日SKY引擎開始收費,以註冊碼的方式限制M2程式。
2007年12月29日SKY引擎正式倒閉。
2007年01月03日SKY引擎被HeroM2引擎收購。
2008年01月06日HeroM2正式發布HeroM2引擎,並把SKY改名為Hero。
  2008年06月03日HeroM2決定引擎完全免費。。
2010年12月02日HeroM2倒閉。
2014年05月19日hero引擎在次更新取名MainM2

HeroM2遊戲引擎程式介紹

HeroM2遊戲引擎是一款2DMMORGP角色扮演遊戲開發的引擎,可以用它開發熱血傳奇私服遊戲,也可以開發2DRGP網路遊戲。

引擎程式包括服務端程式

GameCenter.exe (服務端配置啟動器)
M2Server.exe (主控制程式,簡稱M2)
DBServer.exe (資料庫控制程式)
LogDataServer.exe (日誌伺服器)
LoginGate.exe (遊戲登入網關)
RunGate.exe (遊戲網關)
SelGate.exe (遊戲角色網關)
合區工具
資料庫 HeroM2遊戲引擎資料庫是採用DBC 2000 (DB Commander 2000)資料庫。支持Mysql資料庫和SQL sever 資料庫。(需要轉換和修改資料庫控制程式配置)
資料庫大家通常用DB Commander 2000漢化版和萬游網絡傳奇設定器3.2破解版等工具管理。也可以用GM2官方發布的管理工具和SQL Explorer資料庫軟體管理。
客戶端  HeroM2遊戲引擎主要是以盛大熱血傳奇客戶端為主,也可以自定義配置客戶端檔案。
主素材檔案在Data資料夾中,以.wil格式壓縮檔案和.wis格式壓縮檔案為主。可以使用官方提供的真彩wil編輯器編輯素材檔案,素材可以支持256色、8位像素、16位像素、24位像素、32位像素高清BMP圖片等。創建素材檔案後工具會自動生成.wix配置檔案。
地圖檔案放在map檔案夾中,格式為.map,可以使用官方的Map地圖編輯器(真彩32位)軟體開發製作2DRGP地圖,同樣支持256色、8位像素、16位像素、24位像素、32位像素高清地圖。.map格式地圖檔案素材是由ObjectsX.wil檔案支持,如果沒有ObjectsX.wil將無法查看地圖。
聲音素材在Wav資料夾中,格式為.Wav檔案。
另外GM2引擎還支持擴展素材,如Graphics資料夾中的角色人物外觀和武器外觀。Human是角色人物外觀Weapon是武器外觀,也是.wil格式檔案。
SKY_Config檔案是玩家數據配置檔案,主要是.sky檔案和.txt檔案組成。
GameLogin.exe 程式是GM2引擎專用遊戲登入器,要和引擎配套使用。登入器是要用SKY引擎提供的配置器配置使用。
(注意:以上工具在遊戲引擎官方網站上均可以下載。)

HeroM2程式語言

HeroM2引擎腳本,和lua有相似之處,語法上是借鑑與C語言和彙編語音的一種非常簡單易懂的腳本語言。HeroM2腳本語言數據類型簡單、代碼穩定、可讀性好、編譯速度快,但是HeroM2腳本語言語法結構非常嚴謹 ,區分大小寫,如果不注意就很容易出錯。後MainM2有對腳本增加了很多圖像控制和客戶端顯示控制。詳見請參照MainM2官方文檔

基本語法

[@main] ;開始,以[@格式開頭和]符號結尾,支持數字、字母、文字。
#IF ;起始判斷
CheckGuildMemberCount < 100 ;判斷函式和值 操作符 ><=
#SAY ;對話框輸出
行會成員還不夠100人.啊\ \ ;對話內容,換行必須用\符號表示
你要繼續努力招人啊\
#ELSEACT ;判斷非,然後執行函式
goto @herom2 ;程式跳轉
&#91;@herom2&#93;
#IF
#ACT ;執行函式
sendmsg 0 &#91;世界&#93;:%s的幫派人數已經達到了100以上!! ;全局輸出函式
MESSAGEBOX 你的行會已經超過了100人口,恭喜啊! ;彈出對話框並break

變數

變數分為自定義變數和系統變數,也可以分成全局變數和局部變數。

自定義變數

功能: 自定義變數功能,不再受固定幾個變數限制.
使用方法:
三個步驟:
1、首先要聲明變數
2、讀取變數
3、保存變數
該變數支持增加、減少、腳本查看、檢查大小等功能,該功能的開發突破了變數使用受限制,利用該變數可製作出超強功能腳本。
腳本樣例:
=========================================
<聲明變數/@newvarInteger> \
<查看變數/@viewvarInteger>\
<讀取變數/@loadvarInteger> \
<保存變數/@savevarInteger> \
<增加變數/@calcvarinc> <檢查變數是否大於5/@checklarage5>\
<減少變數/@calcvardec> <檢查變數是否小於5/@checksmall5>\
<檢查變數是否等於5/@checkequal5>
&#91;@calcvarinc&#93;
#IF
#ACT
CALCVAR HUMAN QQQQ + 5 ;腳本命令CALCVAR支持對變數進行+ - * / =五種操作
GOTO @varcontrol
&#91;@calcvardec&#93;
#IF
#ACT
CALCVAR HUMAN QQQQ - 5
GOTO @varcontrol
&#91;@checkequal5&#93;
#IF
CHECKVAR HUMAN QQQQ = 5
#ACT
SendMsg 7 等於5
GOTO @varcontrol
#ELSEACT
SendMsg 7 不等於5
GOTO @varcontrol
&#91;@checklarage5&#93;
#IF
CHECKVAR HUMAN QQQQ > 5
#ACT
sendmsg 7 大於5
goto @varcontrol
#ELSEACT
sendmsg 7 小於5
goto @varcontrol
&#91;@checksmall5&#93;
#IF
CHECKVAR HUMAN QQQQ < 5
#ACT
sendmsg 7 小於5
goto @varcontrol
#ELSEACT
sendmsg 7 大於5
goto @varcontrol&#91;@decInteger&#93;
#ACT
DEC QQQQ 1
sendmsg 7 <$HUMAN(QQQQ)>
goto @varcontrol
&#91;@addInteger&#93;
#ACT
INC QQQQ 1
sendmsg 7 <$HUMAN(QQQQ)>
goto @varcontrol
&#91;@loadvarInteger&#93;
#IF
#ACT
LOADVAR HUMAN QQQQ VarSave.txt
sendmsg 7 OK
GOTO @varcontrol
&#91;@savevarInteger&#93;
#IF
#ACT
SAVEVAR HUMAN QQQQ VarSave.txt
sendmsg 7 OK
GOTO @varcontrol
&#91;@viewvarInteger&#93;
#ACT
sendmsg 7 <$HUMAN(QQQQ)>
GOTO @varcontrol
&#91;@newvarInteger&#93;
#IF
#ACT
VAR Integer HUMAN QQQQ
sendmsg 7 OK
GOTO @varcontrol
&#91;@viewvarString&#93;
<$HUMAN(QQQS)>

系統定義腳本變數

人物信息

變數名稱 說明
<$USERNAME> 人物名稱
<$GUILDNAME> 行會名稱
<$RANKNAME> 行會職位名稱
<$LEVEL> 等級
<$HP> 生命值
<$AC> 防禦力
<$MAXAC> 最高防禦力
<$MAC> 魔法防禦力
<$MAXMAC> 最高魔法防禦力
<$DC> 物理攻擊力
<$MAXDC> 最高物理攻擊力
<$MC> 魔法力
<$MAXMC> 最高魔法力
<$SC> 道術
<$MAXSC> 最高道術
<$EXP> 當前經驗值
<$MAXEXP> 升級經驗值
<$PKPOINT> PK點數
<$CREDITPOINT> 聲望點數
<$GOLDCOUNT> 金幣數量
<$GAMEGOLD> 遊戲幣數
<$GAMEPOINT> 遊戲點數
<$HW> 腕力
<$MAXHW> 最高腕力
<$BW> 背包重量
<$MAXBW> 最高背包重量
<$WW> 負重力
<$MAXWW> 最高負重
<$HUNGER> 飢餓程度
<$LOGINTIME> 登錄時間
<$LOGINLONG> 登錄時長
<$DRESS> 衣服
<$WEAPON> 武器
<$RIGHTHAND> 蠟燭
<$helmet> 頭盔
<$necklace> 項鍊
<$RING_R> 右戒指
<$RING_L> 右戒指
<$ARMRING_R> 右手鐲
<$ARMRING_L> 左手鐲
<$BUJUK> 護身符
<$BELT> 腰帶
<$BOOTS> 鞋子
<$CHARM> 寶石
<$CASTLENAME> 沙城名稱
<$SFNAME> 師傅名字
<$TDNAME> 徒弟名字
<$FQNAME> 夫妻名字
<$HEROGENDER> 英雄性別
<$HEROJOB> 英雄職業
<$HEROLEVEL> 英雄級別
<$HERONAME> 英雄名字
<$KILLER> 殺人者名字
<$CREDIT> 國戰人物榮譽值
<$NATIONNAME> 國家名字
<$NATIONPEOPLE> 國家人數
<$NATIONKING> 國王名字
<$NATIONRANK> 國戰人物封號
<$ARM> 國家軍事力量
<$POLITICS> 國家政治能力
<$NATIONGOLD> 國庫資金
<$MAPS> 國家占領地圖
<$ITEMTIMEX> 限時物品時間,X=0-12
<$HEROSUCKDAMAGE> 英雄傷害吸收
<$MAPCODE> 地圖編號
<$SELFX> 人物當前坐標
<$SELFY> 人物當前坐標
<$SUCKDAMAGE> 人物傷害吸收
<$GAMEDIAMOND> 人物金剛石數量
<$GAMEGIRD> 人物靈符數量
<$QUERYYBDEALLOG> 顯示元寶交易記錄
<$CRYSTALEXP> 天地結晶中的經驗值
<$CRYSTALNGEXP> 天地結晶中的內力值
<$MAPNAME> 地圖名字
伺服器信息
變數名稱 說 明
<$SERVERNAME> 伺服器名字
<$SERVERIP> 伺服器IP位址
<$WEBSITE> 遊戲網址
<$BBSSITE> 論壇網址
<$CLIENTDOWNLOAD> 客戶端程式下載地址
<$QQ> 聯繫QQ號
<$PHONE> 聯繫電話號碼
<$BANKACCOUNT0> 銀行帳號信息
<$BANKACCOUNT1> 銀行帳號信息
<$BANKACCOUNT2> 銀行帳號信息
<$BANKACCOUNT3> 銀行帳號信息
<$BANKACCOUNT4> 銀行帳號信息
<$BANKACCOUNT5> 銀行帳號信息
<$BANKACCOUNT6> 銀行帳號信息
<$BANKACCOUNT7> 銀行帳號信息
<$BANKACCOUNT8> 銀行帳號信息
<$BANKACCOUNT9> 銀行帳號信息
<$GAMEGOLDNAME> 遊戲幣名稱
<$USERCOUNT> 線上人數
<$DATETIME> 當前日期時間
<$YEAR> 當前年份
<$MONTH> 當前月份
<$DAY> 當前日期
<$HOUR> 當前小時
<$MINUTE> 當前分鐘
<$SECOND> 當前秒
<$GAMEGOLDNAME> 遊戲幣名稱
<$HIGHLEVELINFO> 最高等人物信息
<$HIGHPKINFO> 最高PK點數人物信息
<$HIGHDCINFO> 最高攻擊力人物信息
<$HIGHMCINFO> 最高魔法力人物信息
<$HIGHSCINFO> 最高道術人物信息

相關詞條

相關搜尋

熱門詞條

聯絡我們