Pharaoh-Maplestory เป็นชุดของเครื่องมือสำหรับ Maplestory ซึ่งมีไคลเอนต์บรรณาธิการ, เบราว์เซอร์ไฟล์และไคลเอนต์เอง รองรับไฟล์ . WZ (รวม GMS KMS CMS )
ตรรกะทางธุรกิจเขียนโดย Lua
| Windows10 | คนอื่น |
|---|---|

ตัวแก้ไขมี Maplestory-Filesystem-Browser เพื่อให้คุณสามารถใช้มันหาทรัพยากรและเพิ่มลงในฉากเกม

นอกจากนี้ยังรองรับสคริปต์ที่มีผลผูกพันเหมือน Unity ดังนั้นคุณสามารถลากสคริปต์ของคุณเองไปยัง GameObject ที่เฉพาะเจาะจง

หากคุณต้องการเพิ่มฟังก์ชั่นของคุณเองโปรดอ่าน Nativeapi เพิ่มเติมสำหรับ Lua ภายใต้เอกสาร
รหัสเหล่านั้นในที่เก็บนี้คือสคริปต์ Lua รหัส C ++ จะได้รับการอัปเดตในอนาคตเพราะตอนนี้ยุ่งมาก
เอ็นจิ้นนี้มีสองส่วนหนึ่งคือ Lua ซึ่งใช้ในการเขียนธุรกิจหลักและบรรณาธิการ-Plugin
ในเฟรมเวิร์กดั้งเดิมรองรับฟังก์ชั่นเครื่องยนต์พื้นฐานเช่นเสียงกราฟิก ฯลฯ

ใน Lua Framework มันรวมส่วนประกอบเครื่องยนต์ส่วนบนทั้งหมด (GameObject, ฉาก, Sprite, ส่วนประกอบ UI อื่น ๆ )


GameObject เป็นคอนเทนเนอร์และอัพเดทขั้นพื้นฐานสามารถเปลี่ยนแปลงได้สามารถเปลี่ยนแปลงได้ มันเป็นวัตถุรากในเครื่องยนต์ทั้งหมด มีการเชื่อมต่อที่แข็งแกร่งกับเครื่องยนต์และตัวแก้ไข
Sprite เป็นวัตถุกราฟิก 2D ซึ่งสามารถเปลี่ยนสีแปลง (โพสต์การหมุนของสเกล ฯลฯ )

ฉากยังเป็นคอนเทนเนอร์ซึ่งเป็นความรับผิดชอบในการจัดการตรรกะทางธุรกิจของเกมทั้งหมดและส่วนประกอบอื่น ๆ เช่น Sprite และ UI คุณสามารถสร้างได้โดยใช้ตัวแก้ไขและสามารถสลับได้อย่างง่ายดาย
UI เป็นส่วนต่อประสานผู้ใช้เหล่านี้เป็นส่วนประกอบเช่น ปุ่ม TextView EditText
ปุ่ม ใช้ตรรกะปุ่ม Maplestory ดั้งเดิมเพื่อให้คุณสามารถเพิ่มปุ่มจากการยืนยันได้อย่างง่ายดาย
TextView ใช้ ข้อความที่เต็มไปด้วย maplestory ในดั้งเดิม

| แพลตฟอร์ม | หน้าต่าง | Mac | ลินเวกซ์ | Android | iOS | สวิตช์ |
|---|---|---|---|---|---|---|
| เรนเดอร์พื้นฐาน | เสร็จสิ้น (OpenGL 2.0) | - | - | เสร็จสิ้น (OpenGL ES 2.0) | เสร็จสิ้น (OpenGL ES 2.0) | - |
| เหตุการณ์พื้นเมือง | เสร็จสิ้น (glfw3) | |||||
| เสียง | Xaudio | - | - | ความโอ้อวด | เกี่ยวกับโอเพ่นซอร์ส | - |
| ระบบไฟล์ | เสร็จแล้ว | - | - | - | - | - |
| ซิมดี | SSE | SSE | SSE | นีออน | นีออน | นีออน |
| Lua Wrapper | โปรแกรม | |||||
| บรรณาธิการ | โปรแกรม | |||||
| การผูกสคริปต์ | โปรแกรม | |||||
| ฟิสิกส์ | อนาคต | |||||
| ระบบอนุภาค | อนาคต | |||||
| ธุรกิจเกม | อนาคต |
วัตถุเมทริกซ์ถูกสร้างขึ้นโดยดั้งเดิมเพราะมันเกี่ยวข้องกับการคำนวณจำนวนมาก
-- 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
Audio Component เป็นเอ็นจิ้นดั้งเดิมที่มีการกำหนดเพลงและเอฟเฟกต์
--- @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/>.