How to add Support Exl + Ancient Item
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Trang 1 của 5 1 2 3 ... CuốiCuối
Kết quả 1 đến 10 của 45
  1. #1
    VTM Coder eddy's Avatar
    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
    2. Cách sửa làm cho GameServer hiểu Item Exl + Ancient + JOH (JewelOfHarmony)

    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
    Khá đơn giản !

    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
    VD Nếu bạn muốn lấy giá trị zen của 1 User nào đó , bạn cần có các điều kiện sau

    gObjBase
    gObjZen
    gObjSize
    aIndex
    Tôi sẽ giải thích từng cái
    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ế!)
    Bây giờ tôi xin chia sẻ 1 số gObj của GS 1.00.18



    #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
    OK ! Ở đây bạn đã có tất cả ! Bi giờ nếu muốn lấy zen của chính user bạn ta dùng CT sau
    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 BACK
    Lầ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é!

  2. 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)

  3. #2
    Thành Viên Tâm Huyết
    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é!

  4. #3
    Vi phạm quy định hoangtu_eck94's Avatar
    Ngày tham gia
    Jan 2010
    Bài viết
    1,371
    Thanks
    392
    Thanked 935 Times in 348 Posts

    Ðề: 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é!

  5. #4
    Thành Viên
    Ngày tham gia
    Jul 2007
    Bài viết
    229
    Thanks
    0
    Thanked 25 Times in 8 Posts

    Ðề: 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ế!) 
    gObj : 1 class chứa thông tin của người chơi, lấy ra từ database.
    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 spam
    Khách viếng thăm hãy cùng dh_notable xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  6. #5
    VTM Coder eddy's Avatar
    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

    Trích dẫn Gửi bởi hoangtu_eck94 [Only registered and activated users can see links. ]
    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?
    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é!

  7. #6
    Thành Viên xom1b's Avatar
    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
    aIndex: 8000~9000

    Excellent item + Socket (GS 90):

    Offset: 54F06F
    chuyển thành JMP và Save
    Lần sửa cuối bởi xom1b, ngày 07-01-10 lúc 04:43 PM.
    [Only registered and activated users can see links. ]

  8. #7
    Vi phạm quy định hoangtu_eck94's Avatar
    Ngày tham gia
    Jan 2010
    Bài viết
    1,371
    Thanks
    392
    Thanked 935 Times in 348 Posts

    Ðề: 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é!

  9. #8
    Vi phạm quy định hoangtu_eck94's Avatar
    Ngày tham gia
    Jan 2010
    Bài viết
    1,371
    Thanks
    392
    Thanked 935 Times in 348 Posts

    Ðề: 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é!

  10. #9
    Thành Viên
    Ngày tham gia
    Apr 2007
    Bài viết
    869
    Thanks
    3
    Thanked 59 Times in 19 Posts

    Ðề: 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

  11. #10
    Thành Viên Tâm Huyết Van_Bom's Avatar
    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à IceWind, 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

 

 
Trang 1 của 5 1 2 3 ... CuốiCuối

Các Chủ đề tương tự

  1. [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ầu
    Trả lời: 318
    Bài viết cuối: 18-04-14, 11:53 PM
  2. [Support] Server TLBB version 0.81 chinese installed VMware!
    Bởi Lovepw trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 120
    Bài viết cuối: 15-02-11, 10:09 AM
  3. [Release] CzF MuEditor v1.5a (support Wing 3) Việt hóa 20%
    Bởi bachcotsau trong diễn đàn Releases
    Trả lời: 3
    Bài viết cuối: 05-11-07, 01:36 PM

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 10:51 PM.
vBulletin®, Copyright ©2000-2011, Jelsoft Enterprises Ltd.
CLBGamesVN không chịu trách nhiệm về Luật Bản Quyền của các tài liệu, bài viết v.v...được đăng tải trên diễn đàn này.
Diễn đàn phát triển dưới sự đóng góp của tất cả thành viên. BQT chỉ là những người thành lập ra sân chơi, quản lý và duy trì về mặt kỹ thuật, nội dung khi hợp lệ.