Kết quả 1 đến 10 của 45
-
07-01-10, 08:48 AM #1
- Ngày tham gia
- Mar 2007
- Đang ở
- Net4Viet Team
- Bài viết
- 1,453
- Thanks
- 40
- Thanked 302 Times in 108 Posts
How to add Support Exl + Ancient Item
Nhân ngày sinh nhật lần thứ 18 của tớ (7-1-1992 <=> 7/1/2010)....xjn release tutorial này để giúp các bạn thỏa mãn thêm trí tò mò của chính mình ^^....
Và happy new year
[CENTER]EDMT MuOnline Develop Team Present
Tutorial “How to add support Exl + Ancient Item + JOH” ?
Author : Eddy
Code : Eddy
GameServer sử dụng : 1.00.18 (Original – Not SCFMT)
Nhân dịp sinh nhật của mình và mình vừa tròn 18 tuổi vào ngày hôm nay (7/1/1992 – 7/1/2010) , mình post guide này mong giúp các bạn có them hiểu biết về MuServer . Và chúc các bạn một năm mới hạnh phúc !
Lời nói đầu :
- Chắc hẳn trong chúng ta , ai cũng đã từng một lần được chơi phiên bản MU 1.0L (nếu ai chưa chơi thì ... BÍ) ...... Và cũng đã tận hưởng được những tính năng khá hay và điển hình là : Exl + Ancient Item (Full Exl + Thần). – thong tin này nghe 1 người nào nói chứ khi xưa chơi MU Net Pro của tao4cs mình cũng k thấy item exl+ancient .
Và theo tôi biết thì ở VN có một người làm được...đó là LOP (LandOfPhi) . Tôi cũng đã quan tâm đến vấn đề này và có hỏi qua LOP nhưng chưa nhận được câu trả lời :p.
Vậy thì...tự lực cánh sinh thui ...Và cũng không khó lắm
Còn bây giờ , tôi sẽ chỉ cho các bạn cách làm nó . Khá đơn giản !
1. Cách sửa làm cho GameServer hiểu Item Exl + Ancient
Mặc định : GameServer chỉ hỗ trợ 1 loại item với 1 loại tính năng , nếu bạn cho Exl + Ancient thì nó sẽ “chỉ” hiểu là đó là Ancient và bỏ Option Exl đi ^^. Bây giờ ta sẽ bypass nó
Hàm cần thao tác : Citem::Conver
Offsets : 0x0050E556
0050E556 |. 74 1D JE SHORT GameServ.0050E575
Thay đổi thành
0050E556 EB 1D JMP SHORT GameServ.0050E575
Mặc định GS sẽ không hiểu item Ancient được add Gia Cường nên nó sẽ không cho Set Item được add gia cường...
Ta sẽ tiến hành bypass nó
Hàm cần thao tác : CjewelOfHamonySystem::StrengthenItemByJewelOfHarmo ny
Offsets : 0x005735DB
005735DB |. 75 44 JNZ SHORT GameServ.00573621
Thay đổi thành
005735DB EB 44 JMP SHORT GameServ.00573621
OK ! Save all và tested...Work 100%
Tiện đây ! Bổ túc cho các bạn ít thông tin về MU CODE:
1. Tìm hiểu tổng quan về gObj
Giá trị gObj của User sẽ được trả về qua công thức
gObjX = ObjectBase +(gObjSize*aIndex)+gObjId
gObjBase
gObjZen
gObjSize
aIndex
gObjBase = tạm hiểu cơ bản nó là “Đối tượng cơ bản”
gObjZen = nt “Đối tượng Zen”
gObjSize = nt “Kích Thước Đối Tượng”
aIndex = Giá trị của user (cái này cứ khai báo mặc định là aIndex , trong 1.00.18 nó sẽ giao động từ 6400 – 7400 -> nghĩa là server chịu tối đa 1000 user kết nối :”>)) – Người đầu tiên vào server sẽ được aIndex là 6400 , người thứ 2 là 6401...cứ thế!)
#define gObjBase 0x660F078
#define gObjSize 0x1968
#define gObjPlayer 0x1900
#define gObjMaxUsr 0x1CE7
#define gObj_isonline 0x4
#define gObjMapID 0x10D
#define gObjPosX 0x108
#define gObjPosY 0x10A
#define gObjPk 0x101
#define gObjClass 0x9E
#define gObjLupp 0xA4
#define gObjStr 0xB8
#define gObjDex 0xBA
#define gObjVit 0xBC
#define gObjEne 0xBE
#define gObjLead 0xDC
#define gObjLogin 0x68
#define gObjNick 0x73
#define gObjDir 0x10C
#define gObjExp 0xAC
#define gObjZen 0xB4
#define gObjLvl 0xA0
#define gObjCtl 0x1C4
Ta sẽ đặt một biến INT để nhận giá trị từ công thức:
Int Zen = gObjBase+(gObjSize*aIndex)+gObjZen
Biến Zen lúc này sẽ chứa số zen bạn đang có
Cách thức hoạt động của các lệnh
/post => Chúng ta đã biết nó là chat tòan server , nhưng tại sao nó lại hiển thị với tất cả và không hiển thị như chat bình thường
Đơn giản ! Nó được coder code cho 1 vòng lặp từ gObjPlayer ->gObjMaxUser để được hiển thị với all người chơi đang connect
(nghĩa là lặp từ 6400 tới 7400 nếu ai đó thỏa thì gửi mes)
/addx => Lệnh cộng điểm trực tuyến dựa vô Packet {0xC1,0x05,0xF3,0x06, CMD_STATS_TYPE};
Với CMD_STATS_TYPE có các giá trị
0 – cho str
1 – cho agi
2 – cho vit
3 – cho ene
4 – cho com
Và hàm CGLevelUpPointAdd để add point vào CSDL (thao tác với DataServer)
Đó là mã nguồn lệnh cộng điểm cơ bản của Source MU
/skin x : Lệnh này khá khó nếu bạn không rõ về gObj nhưng khá dễ nếu bạn rành ^^...
Nó tác động nhờ gObj_ChangeSkin (Cái này mình tạm gọi là thế ) với id là : 0x2F0 (ở 1.00.18)
Và nhờ hàm gObjViewportListProtocolCreate để hóa Player ra id quái
/pkclear : Lệnh này hoạt động cũng đơn giản , chỉ cần dùng hàm GCPKLevelSend gửi pk level tới aIndex là ok ! (Nếu thích cứ đặt điều kiện tùy ý)
/drop : Lệnh này cũng đơn giản ! Chỉ scan từ “msg” giá trị item và gián cho các biến của hàm ItemSerialCreateSend
Nếu các bạn hiểu những cái này thì từ từ sẽ có thể code riêng command theo ý mình
Hãy nhớ phương châm của anh Cườnglee “ Không có việc gì khó – Chỉ sợ không chịu mò”
Nếu các bạn rành rẽ rùi , thì có thể tự code riêng các command cho GM như EDMT chúng mình hay làm
Tutorial tới đây là hết .
Tác giả :
Eddy – [EDMT] Main Coder
gObj – thanks f1x
Source Command – thanks DSTeam
Chú ý : Tất cả những cái này mình hướng dẫn trên GameServer 1.00.18 . Còn nếu bạn nào đòi hỏi trên 1.00.90 thì hãy tự tìm hiểu...mình đã chỉ rõ hàm cần sửa. Mình không thể public thông tin của 1.00.90 cuz nó là <PRIVATE>.
Bật mí : Ở 1.00.90 có thể them được 1 item mới là Exl + Socket item + JOH ^^.[/CENTER]
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]
And Bonus : Custom item + Socket add
[Only registered and activated users can see links. ]
EDMT 2010 - We BACKLần sửa cuối bởi eddy, ngày 07-01-10 lúc 08:59 AM.
Khách viếng thăm hãy cùng eddy xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
Các thành viên gởi lời cảm ơn đến eddy vì bài viết này !
nh0xthien (09-04-14)
-
07-01-10, 08:53 AM #2
- Ngày tham gia
- Sep 2008
- Bài viết
- 1,278
- Thanks
- 217
- Thanked 635 Times in 212 Posts
Ðề: How to add Support Exl + Ancient Item
thêm 1 bài hướng dẫn hay ^_^ !
tks eddy ! chúc sinh nhật vui vẽKhách viếng thăm hãy cùng LHB_LOVE xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
07-01-10, 10:56 AM #3
Ðề: How to add Support Exl + Ancient Item
quá đỉnh. Eddy up thêm đc cái hướng dẫn bằng video nữa thì tốt quá. Những ai không biết làm thì phải làm sao nhỉ Mà eddy cho hỏi ở đây dùng phần mềm j` để làm vậy?
Khách viếng thăm hãy cùng hoangtu_eck94 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
07-01-10, 12:22 PM #4
Ðề: How to add Support Exl + Ancient Item
guide rất hay ^^.
PHP Code:gObjBase = tạm hiểu cơ bản nó là “Đối tượng cơ bản”
gObjZen = nt “Đối tượng Zen”
gObjSize = nt “Kích Thước Đối Tượng”
aIndex = Giá trị của user (cái này cứ khai báo mặc định là aIndex , trong 1.00.18 nó sẽ giao động từ 6400 – 7400 -> nghĩa là server chịu tối đa 1000 user kết nối :”>)) – Người đầu tiên vào server sẽ được aIndex là 6400 , người thứ 2 là 6401...cứ thế!)
aIndex: - cái này là ID Socket. nếu gameserver max 1000 CCU thì gameserver sẽ tạo 1000 socket trước rồi gán cho client connect tới gs.
/Post msg: gửi 1 string msg cho tất cả socket (aIndex) đang active.
sr spamKhách viếng thăm hãy cùng dh_notable xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
07-01-10, 01:22 PM #5
- Ngày tham gia
- Mar 2007
- Đang ở
- Net4Viet Team
- Bài viết
- 1,453
- Thanks
- 40
- Thanked 302 Times in 108 Posts
Ðề: How to add Support Exl + Ancient Item
Bạn có thể dùng OllyDBG để trace tới các offsets mình đã cho và replace nó ^^
Đây là kiến thức nhập môn hạ của Debug nhưng rất hữu dụng về sau
P/s : Có nhiều bạn pm Y!M mình hỏi vì sao mình biết rõ tên các hàm (có phải bịa k?)
Xin lỗi là KHÔNG ! - Mình dùng OllyDBG load chung với PDB file thì được tên các hàm
@dh_notable : Thanks anh ^^Khách viếng thăm hãy cùng eddy xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
07-01-10, 04:29 PM #6
- Ngày tham gia
- Jul 2006
- Đang ở
- void main()
- Bài viết
- 697
- Thanks
- 12
- Thanked 116 Times in 61 Posts
Ðề: How to add Support Exl + Ancient Item
nhân tiện có eddy post tôi cũng xin góp chút sức
gObj của GS 1.00.90 đã test và OK
Code:#define gObjBase (*(char**)0x7A5502C) #define gObj_isonline 0x4 #define gObjMapID 0x131 #define gObjPosX 0x12C #define gObjPosY 0x12E #define gObjPk 0x125 #define gObjClass 0xA2 #define gObjLupp 0xAC #define gObjStr 0xDC #define gObjDex 0xDE #define gObjVit 0xE0 #define gObjEne 0xE2 #define gObjLead 0x100 #define gObjLogin 0x6C #define gObjNick 0x77 #define gObjDir 0x130 #define gObjExp 0xB0 #define gObjNextExp 0xB8 #define gObjZen 0xD8 #define gObjLvl 0xAA //Edit by me #define gObjCtl 0x1F4 // 34 = GM
Excellent item + Socket (GS 90):
Offset: 54F06F
chuyển thành JMP và Save
-
07-01-10, 05:33 PM #7
Ðề: How to add Support Exl + Ancient Item
ùi. Muốn làm nhưng mà không biết làm. Ai làm đc rùi up cái video lên đi
Khách viếng thăm hãy cùng hoangtu_eck94 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
09-01-10, 09:43 PM #8
Ðề: How to add Support Exl + Ancient Item
EDDY ơi. up cái hd = video đi
Khách viếng thăm hãy cùng hoangtu_eck94 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
09-01-10, 11:20 PM #9
Ðề: How to add Support Exl + Ancient Item
Cho nó lên như thế vậy server nó có hiểu được tác dụng của vũ khí để mà tăng khả năng của nó không eddy ... Có khi nào thêm tính năng cho nó xong thử với cây set không có exl cũng = cây có exl + set .
Xin vui lòng gõ tiếng Việt có dấu - Cảm ơn
-
10-01-10, 12:01 AM #10
- Ngày tham gia
- Apr 2008
- Bài viết
- 1,169
- Thanks
- 818
- Thanked 815 Times in 331 Posts
Ðề: How to add Support Exl + Ancient Item
ý kiến của pro bachcotsau rất hay và bờm còn phát hiện ra 1 bug rất ác man.......bờm mò 3 ngày nay và chả thu được gì..............và đây là bug ác man xin được các pro giúp với.........
tạo Ring Ice hoặc Ring Wind Thần hoặc là FT cũng được sau đó vào game và cởi chuồng nhân vật ra ( nhớ là trụi húi nhé ) rồi đeo nên đợi khoảng 1 phút GS báo là đang hack rồi disconnect .......đúng là vãi hàng ko thể tả được...........
và nó chỉ xảy ra với 2 loại Ring là Ice và Wind, Các loại khác ko bị ( Khó hiểu là ở chỗ này )
nguyên nhân do chúng ta đã quá ham cái vụ đồ FT nên ta đã JMP offset kia đi nên gây ra hiện tượng này.......còn nếu ta để yên nó là JE thì ko bị.........
Rất mong được giải đáp.........Phát hiện này của Bờm đã test với 20 người và trên 2 GS là S4 JPN và S3 E2 Full và đều bị cả............( 100% ko phải nói phét nha )Lần sửa cuối bởi Van_Bom, ngày 10-01-10 lúc 07:45 AM.
Đã già yếu và bệnh tật
Các Chủ đề tương tự
-
[JX] Trung Tâm Giành Cho Newbie [Installation Support]
Bởi [B.M.W]Sports trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 318Bài viết cuối: 18-04-14, 11:53 PM -
[Support] Server TLBB version 0.81 chinese installed VMware!
Bởi Lovepw trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 120Bài viết cuối: 15-02-11, 10:09 AM -
[Release] CzF MuEditor v1.5a (support Wing 3) Việt hóa 20%
Bởi bachcotsau trong diễn đàn ReleasesTrả lời: 3Bài viết cuối: 05-11-07, 01:36 PM