Tìm hiểu dữ liệu Database Item - Trang 5
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Trang 5 của 5 Đầu tiênĐầu tiên ... 3 4 5
Kết quả 41 đến 46 của 46
  1. #41
    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

    Ðề: Tìm hiểu dữ liệu Database Item

    Trích dẫn Gửi bởi daodinhlong [Only registered and activated users can see links. ]
    Cái này dễ hiểu mừ, thanks bac phát, bác hãy nói rõ hơn về item trong thùng đồ và item mang theo như lọ thuốc và ngọc
    Lọ thuốc và ngọc bạn mua trong shop luôn có Serial = 0 mà server ko check Serial 0. đó là lí do mà dupe mấy thứ đó ko bị dis
    [Only registered and activated users can see links. ]

  2. #42
    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

    Ðề: Tìm hiểu dữ liệu Database Item

    hà hà hay vãi hàng nhỉ...vậy thế còn cái vụ mờ tớ nói là 1 cái kiếm rồng gốc...đúp ra 2 cái mới đó thì sao..

    tại sao 2 cái mới đó đặt gần nhau thì lại ko bị dis là sao nhỉ...vậy thì thế nào ta...chả hiểu cái này lắm..
    Đã già yếu và bệnh tật

  3. #43
    Vi phạm quy định
    Ngày tham gia
    Apr 2010
    Bài viết
    43
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Ðề: Tìm hiểu dữ liệu Database Item

    Trích dẫn Gửi bởi ViperMUHN [Only registered and activated users can see links. ]
    Qua bài viết này, bạn sẽ có thêm hiểu biết về cách tối ưu dữ liệu Item rất thông minh của webzen khi lưu vào Database. Giúp bạn có thêm kiến thức để tự bạn có thể viết được phần mềm tạo đồ hay trang webshop, Xay đồ online ...

    1. Đầu tiên, ta cần hiểu 1 số kiến thức cơ bản ^^
    1 Byte = 8bit, ở đây chúng ta sẽ dùng rất nhiều liên quan đến bit
    Giả sử, bạn có số 56 , OK máy sẽ ko hiểu là 56 mà nó hiểu là 111000
    56 ở cơ số 10 đã chuyển thành 111000 ở cơ số 2

    1.a Thuật toán dịch bit
    Dịch trái <<
    Code:
    BYTE bt=1; //00000001
    bt = bt<<2;//00000100
    lúc này bt sẽ có giá trị là 100 (cơ số 2) = 4 (cơ số 10)
    Dịch phải >>
    Code:
    BYTE bt=9; // 00001001
    bt = bt>>1; // 00000100
    lúc này bt sẽ có giá trị là 100 (cơ số 2) = 4 (cơ số 10)
    1.b phép tính về bit cơ bản
    AND (và): Trả kết quả bằng 1 khi cả 2 cùng bằng 1, còn lại trả về là 0
    VD: 11000110 & 10100010 = 10000010

    OR (hoặc): Trả về kết quả nằng 0 khi cả 2 cùng bằng không
    VD: 11000110 | 10100010 = 11100110


    e hèm, đến đây nhiều bạn sẽ thấy lằng nhằng, còn với những ai thông thạo về ASM chắc thấy đơn giản ^^, yên tâm, thử nhiều sẽ quen thôi, Dùng calc của window chuyền sang hệ Bin để thử nhé

    2. Xem 1 ví dụ cơ bản
    Giả sử, bạn có các giá trị quy định: Level item (0->13), Luck(có/không), Skill(có/không), Option(0/4/8/12/16)
    Tất cả nhưng giá trị đó được webzen lưu trữ chỉ với 1 byte !
    --------------------------
    OK, 1 byte của chúng ta như sau: 00000000
    Bây giờ chúng ta chia thành các khoảng: [0] [0000] [0] [00]
    Đánh số thứ tự cho dễ nhìn nhé: 1.[0] 2.[0000] 3.[0] 4.[00]
    Mỗi bit chỉ thể hiện được 2 giá trị 0 hoặc 1
    1. Có Skill hay không (0>1)
    2. Level của item (0000 -> 1111 tức 0->15, vì thế mới có level 14,15 ^^ mà không thể có level 16)
    3. Có luck hay không
    4. Option (00 -> 11 tức 0 -> 3) , thực ra Option được dặt trong 3 bit, còn bit thứ 3 đã được chuyển sang byte khác

    Câu hỏi đặt ra là: làm sao ta có thể chuyển dữ liệu Item trên vào 1 Byte
    Xem mã nguồn sau nhé: Giả sử ta có 1 item Luck+Skill+10+4op
    PHP Code:
    BYTE output=0;
    output |= 1<<7// Skill
    output |= (10&15)<<3// level
    output |= 1<<2;// Luck
    output |= 1&3// Option 
    Bây giờ là lấy dữ liệu ra khỏi 1 Byte
    PHP Code:
    // bạn đang có output;
    bool Skilloutput>>7;
    char level = (output>>3)&15;
    bool luck = (output>>2)&1;
    char option = (output)&3
    Xong rồi đó
    Bây h tìm hiểu dữ liệu SQL nhé
    Code:
    //------------------------------------------------------------------------
    //  ITEM DATABASE 
    // Các BYTE, tổng độ dài 16 BYTE
    // [01] [02] [03] [04 05 06 07] [08 09 10 11] [12 13 14 15 16]
    // [04 05 06 07] Serial        
    // [12 13 14 15 16]: SocketItem
    //
    //
    // [01]: Item Index (1[23456789])
    // [02]: [1] [2345] [6] [78]
    //  1  : Option1
    //  2345 : level
    //  6  : Option2
    //  78  : Option3 (1[23])
    // [03]: Durability
    // [08]: [1] [2] [345678]
    //  1  : Item Index ([1]23456789)
    //  2  : Option3 ([1]23)
    //  2345678 : NewOption
    // [09]: SetOption (HION ITEM) ??
    // [10] [1234] [5] 678
    //  1234 : Item Type
    //  5  : Is Item380
    // [11]: JewelOfHarmonyOption ??
    //  [1234] [5678]
    //  1234 : btOptionType
    //  5678: : btOptionLevel
    //
    //----------------------------------------------------------------------------
    2. Phần mềm tạo đồ cơ bản (Chưa hoàn thiện Socket Item), Mã nguồn đươc decode 85% từ GameServer 1.00.87
    [Only registered and activated users can see links. ]
    Chúc bạn thành công
    chà admin Mu gamethuvn đây à ..................
    Khách viếng thăm hãy cùng royal xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  4. #44
    Thành Viên
    Ngày tham gia
    Apr 2014
    Bài viết
    1
    Thanks
    0
    Thanked 1 Time in 1 Post

    Ðề: Tìm hiểu dữ liệu Database Item

    Trích dẫn Gửi bởi ViperMUHN [Only registered and activated users can see links. ]
    Xem kĩ hướng dẫn vừa rồi, chọn Dec, nhập 15 rồi ấn = ,chọn Bin !
    15 = 2^0 + 2^1 + 2^2 + 2^3 đó thím (1111 trong nhị phân quy đổi ra DEC ( hệ thập phân ) -> 15 )
    Khách viếng thăm hãy cùng cuteoteo xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  5. #45
    Thành Viên misago's Avatar
    Ngày tham gia
    Jun 2014
    Bài viết
    26
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Ðề: Tìm hiểu dữ liệu Database Item

    Trích dẫn Gửi bởi cuteoteo [Only registered and activated users can see links. ]
    15 = 2^0 + 2^1 + 2^2 + 2^3 đó thím (1111 trong nhị phân quy đổi ra DEC ( hệ thập phân ) -> 15 )
    hệ thập phân ra nhị phân nhé.
    15 ta đổi ra nhị phân như sau
    15 chia 2 = 7 dư 1
    7 chia 2 = 3 dư 1
    3 chia 2 = 1 dư 1
    1 chia 2 = 0 dư 1
    kết quả hệ nhị phân của 15 là 1111
    Lần sửa cuối bởi misago, ngày 27-06-14 lúc 09:44 AM.
    Khách viếng thăm hãy cùng misago xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  6. #46
    Thành Viên misago's Avatar
    Ngày tham gia
    Jun 2014
    Bài viết
    26
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Ðề: Tìm hiểu dữ liệu Database Item

    cũng như số 56 của VipPer
    56 chia 2 =28 dư 0
    28 chia 2 = 14 dư 0
    14 chia 2 = 7 dư 0
    7 chia 2 = 3 dư 1
    3 chia 2 = 1 dư 1
    1 chia 2 = 0 dư 1

    ra 111000. lấy số từ dưới lên trên
    Lần sửa cuối bởi misago, ngày 27-06-14 lúc 09:44 AM.
    Khách viếng thăm hãy cùng misago xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

 
Trang 5 của 5 Đầu tiênĐầu tiên ... 3 4 5

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

  1. release musever 1.04x+item dragonMu+new item+minimap...
    Bởi KhuongCK_Dev trong diễn đàn Releases
    Trả lời: 11
    Bài viết cuối: 23-04-08, 12:47 PM
  2. cần giúp đỡ về tạo database
    Bởi Máu Rồng trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 3
    Bài viết cuối: 21-03-08, 12:20 PM
  3. Cho hỏi database chút
    Bởi NhocWrom trong diễn đàn Lineage II
    Trả lời: 1
    Bài viết cuối: 02-11-07, 09:49 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à 07:00 AM.
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ệ.