Firaun-Maplestory adalah kumpulan alat untuk Maplestory, yang berisi editor klien, browser file dan klien itu sendiri. Ini mendukung file .wz (termasuk gms kms cms ).
Logika bisnis ditulis oleh Lua.
| Windows10 | Yang lain |
|---|---|

Editor berisi maplestory-filesystem-browser, sehingga Anda dapat menggunakannya menemukan sumber daya dan menambahkannya ke dalam adegan game

Selain itu, itu mendukung pengikatan naskah seperti persatuan. Jadi, Anda dapat menyeret skrip Anda sendiri ke beberapa object tertentu

Jika Anda ingin menambahkan fungsi Anda sendiri, silakan baca lebih banyak NativeAPi untuk LUA di bawah dokumen.
Kode -kode itu dalam repositori ini adalah skrip LUA. Kode C ++ akan diperbarui di masa depan karena mereka sangat berantakan sekarang.
Mesin ini termasuk dua bagian, satu adalah LUA yang digunakan untuk menulis bisnis inti dan editor-plugin
Dalam kerangka asli, ini mendukung fungsi mesin dasar seperti audio, grafik, dll

Dalam Lua Framework, itu termasuk semua komponen mesin atas (GameObject, Scene, Sprite, Komponen UI Lainnya)


GameObject adalah wadah dan objek dasar yang dapat diperbarui, dapat ditarik, dapat diubah, dapat disampaikan, dapat dituliskan, serializable. itu adalah objek root di seluruh mesin. Ini memiliki koneksi yang kuat dengan mesin dan editor
Sprite adalah objek grafik 2D yang dapat mengubah warnanya, transformasi (skala rotasi postion, dll)

Adegan juga merupakan wadah, yang bertanggung jawab untuk mengelola seluruh logika bisnis game dan komponen lainnya seperti Sprite dan UI. Anda dapat membuatnya dengan menggunakan editor dan dapat beralih dengan mudah.
UI adalah antarmuka pengguna, ini adalah komponen seperti tombol TextView EditText .
Tombol mengimplementasikan logika tombol Maplestory asli, sehingga Anda dapat menambahkan tombol dari dengan mudah.
TextView mengimplementasikan teks kaya maplestory di asli.

| Platform | Windows | Mac | Linux | Android | iOS | Mengalihkan |
|---|---|---|---|---|---|---|
| Render dasar | Selesai (OpenGL 2.0) | - | - | Selesai (OpenGL ES 2.0) | Selesai (OpenGL ES 2.0) | - |
| Acara Asli | Selesai (GLFW3) | |||||
| Audio | Xaudio | - | - | Open | Openal | - |
| Sistem file | Selesai | - | - | - | - | - |
| Simd | Sse | Sse | Sse | NEON | NEON | NEON |
| Lua Wrapper | Progrssing | |||||
| Editor | Progrssing | |||||
| Skrip mengikat | Progrssing | |||||
| Fisika | Masa depan | |||||
| Sistem partikel | Masa depan | |||||
| Bisnis game | Masa depan |
Objek matriks dibuat oleh asli karena melibatkan sejumlah besar perhitungan.
-- create a zero matrix
local matrix = Matrix . new ()
-- or
local matrix = Matrix . new ({
1 , 0 , 0 , 0 ,
0 , 1 , 0 , 0 ,
0 , 0 , 1 , 0 ,
0 , 0 , 0 , 1
})
-- create an identity
local matrix = Matrix . identity ()
-- there are others apis for transform
function setTranslation ( x , y , z ) end
function setRotation ( Quaternion ) end
function setScale ( x , y , z ) end
function setOrthographic ( l , r , t , b , zNearPlane , zFarPlane ) end
-- get a inverse matrix
-- @ return a new matrix
function invert () end
-- matrix also support the mul operator
local m = Matrix . new () * Matrix . new ()
-- create a Quaternion
local q = Quaternion . new ()
-- or
local q = Quaternion . identity ()
-- set euler angle
function setEulerAngles ( x , y , z ) end
-- combine with matrix
local q = Quaternion . new ()
q : setEulerAngles ( x , y , z )
local rotationMatrix = Matrix . new ()
rotationMatrix : setRotation ( self . rotation ) -- get a wz-node under UI.wz/UIWindow.img/AdminClaim
-- @ return the WzNode which is a lua object
local node = WzFile . ui [ " UIWindow.img " ][ " AdminClaim " ][ " BtPClaim " ] local node = ......
-- create a sprite with given node
local sprite = Sprite . new ( node )
-- add into you scene
scene : addChild ( sprite )
-- parse the path resource
wz . flat ( string path ) -> table {
name -> WzNode ( lightuserdata ),
name2 -> WzNode ( lightuserdata )
.....
}
-- expand the rawPtr, get all sub node in it
wz . expand ( rawPtr ) -> table {
name -> WzNode ( lightuserdata ),
name2 -> WzNode ( lightuserdata )
.....
}
-- convert the current node into different data type
wz . toInt (@ lightuserdata rawPtr , default ) -> lua_number
wz . toReal (@ lightuserdata rawPtr , default ) -> lua_number
wz . toString (@ lightuserdata rawPtr , default ) -> lua_string
wz . toVector (@ lightuserdata rawPtr ) -> lua_number
Komponen audio adalah mesin asli yang dihilangkan untuk bermain musik dan efek.
--- @param nodePath string
audio . playBGM ( nodePath )
--- @param node string or id ( which is pre-defined )
audio . playEffect ( node )
-- there are all pre-defined audio effects
audio . BUTTONCLICK ,
audio . BUTTONOVER ,
audio . SELECTCHAR ,
audio . GAMESTART ,
audio . SCROLLUP ,
audio . ATTACK ,
audio . ALERT ,
audio . JUMP ,
audio . DROP ,
audio . PICKUP ,
audio . PORTAL ,
audio . LEVELUP ,
audio . DIED ,
audio . INVITE ,
audio . BUY_SHOP_ITEM ,
audio . USE ,
audio . TRANSFORM ,
audio . QUEST_ALERT ,
audio . QUEST_CLEAR ,
audio . ENCHANT_FAILURE ,
audio . ENCHANT_SUCCESS ,
This file is part of the PharaohStroy MMORPG client
Copyright ?2020-2022 Prime Zeng
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http:www.gnu.org/licenses/>.