[JX] Hỏi cái đoạn C++ này
Hello & Welcome to our community. Is this your first visit? Đăng Ký
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Kết quả 1 đến 10 của 10
  1. #1
    Thành Viên
    Ngày tham gia
    Jan 2012
    Bài viết
    142
    Thanks
    18
    Thanked 467 Times in 43 Posts

    Hỏi cái đoạn C++ này

    Hôm nay sau một hồi mò mẫm trong source thì tui đã đạt được thành tựu là : Hiểu được cấu trúc file map (*_Region_S.dat), cách thêm Npc, Obj, Trap vào trong map.
    Rào cản cuối cùng là 1 hàm dùng để chuyển đổi từ script filename sang scriptId như sau :
    DWORD g_FileName2Id(LPSTR lpFileName)
    {
    DWORD Id = 0;
    char c = 0;
    for (int i = 0; lpFileName[i]; i++)
    {
    c = lpFileName[i];
    Id = (Id + (i + 1) * c) % 0x8000000b * 0xffffffef;
    }
    return (Id ^ 0x12345678);
    }
    Hàm này tui đã lấy 1 số script trap để test nhưng nó cho ra trapId khác với trong file map (Tui không rành về C++ và Visual Studio nên đã chuyển hàm này sang ngôn ngữ khác để dùng)
    Ai rành C++ cho hỏi chỗ vòng lặp for thì biến i chạy từ 0 đến mấy vậy ?
    Khách viếng thăm hãy cùng invalidpw 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 invalidpw vì bài viết này !

    thaihoa91 (03-02-12)

  3. #2
    Thành Viên
    Ngày tham gia
    Dec 2011
    Bài viết
    130
    Thanks
    9
    Thanked 169 Times in 23 Posts

    Ðề: Hỏi cái đoạn C++ này

    Chạy bằng dữ liệu được nạp vào var này lpFileName
    Khách viếng thăm hãy cùng DarkFoxIT xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  4. #3
    Thành Viên thachlong78's Avatar
    Ngày tham gia
    Dec 2008
    Bài viết
    577
    Thanks
    0
    Thanked 265 Times in 68 Posts

    Ðề: Hỏi cái đoạn C++ này

    for (int i = 0; lpFileName[i]; i++) <=> for (int i = 0; lpFileName[i] != 0; i++)
    VLTK, huyền thoại sẽ trở lại...

  5. #4
    Thành Viên
    Ngày tham gia
    Jan 2012
    Bài viết
    142
    Thanks
    18
    Thanked 467 Times in 43 Posts

    Ðề: Hỏi cái đoạn C++ này

    Cám ơn mọi người nhé tui đã giải quyết xong rồi. Bằng cách cài VC6 rồi build 1 cái dll chứa hàm này copy nguyên bản qua luôn. Sau đó gọi dll này ra xài.
    Khách viếng thăm hãy cùng invalidpw xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  6. #5
    Super Moderator thaihoa91's Avatar
    Ngày tham gia
    Apr 2008
    Bài viết
    12,110
    Thanks
    662
    Thanked 3,167 Times in 1,602 Posts

    Ðề: Hỏi cái đoạn C++ này

    Ghê Chúc ông sớm hoàn thành Hết tết rùi chuẩn bị dev JX lại
    Khách viếng thăm hãy cùng thaihoa91 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  7. #6
    Vi phạm quy định
    Ngày tham gia
    Jun 2011
    Bài viết
    102
    Thanks
    0
    Thanked 156 Times in 30 Posts

    Ðề: Hỏi cái đoạn C++ này

    định chơi c# hay vb,mà phải call dll.làm trap để làm cái gì vậy nhỉ qua cửa chăng
    Khách viếng thăm hãy cùng LeHuyetVoHon xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  8. #7
    Thành Viên
    Ngày tham gia
    Jan 2012
    Bài viết
    142
    Thanks
    18
    Thanked 467 Times in 43 Posts

    Ðề: Hỏi cái đoạn C++ này

    Trích dẫn Gửi bởi LeHuyetVoHon [Only registered and activated users can see links. ]
    định chơi c# hay vb,mà phải call dll.làm trap để làm cái gì vậy nhỉ qua cửa chăng
    Tui không biết xài VC (IDE), còn C++ thì khả năng tui chỉ biết đọc chứ không viết được vì tui là Delphi programmer (đã 10 năm)
    Đoạn code C đó chuyển mã qua Delphi mãi không chạy được đúng nên tui phải nhảy qua VC6 viết DLL cho nó chạy nguyên văn hàm đó, rồi qua Delphi gọi xài. KQ đã chạy đúng roài. Vậy cho nó nhanh vì đã mất hết 2 tiếng đồng hồ cái hàm này.

    Khi khởi động gameserver sẽ load tất cả script nằm dưới \\script, mỗi script_filename sẽ được hàm này chuyển thành script_id.
    Trong file map sẽ chỉ khai báo trap và script_id chứ không khai script_filename, bởi vậy không thể add trap mới hay chỉnh file script bằng edit file text hay hex lại được.

    Trích dẫn Gửi bởi LeHuyetVoHon [Only registered and activated users can see links. ]
    định chơi c# hay vb
    Ghét nhất .Net, đi đâu cũng phải đem netframework theo, 1.1, 2.0, 3.5, rồi 4.0 tùm lum. Làm Delphi không dùng tới netframework.
    Lần sửa cuối bởi invalidpw, ngày 03-02-12 lúc 11:58 PM.
    Khách viếng thăm hãy cùng invalidpw xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  9. The Following 2 Users Say Thank You to invalidpw For This Useful Post:

    DirectX (04-02-12), thaihoa91 (04-02-12)

  10. #8
    Vi phạm quy định
    Ngày tham gia
    Jun 2011
    Bài viết
    102
    Thanks
    0
    Thanked 156 Times in 30 Posts

    Ðề: Hỏi cái đoạn C++ này

    ôi lạy hồn,trình 10 năm depc mà không chuyển sang dùng vc đi,2 cái có hơn nhau máy đâu mà không viết code được
    vơi lại cái hàm kia toàn thành phân cơ bản của c,công cụ nào mà chả build được.
    mà sao bạn không làm cái obj map.hiện nay các map cũ bị thiếu hay lỗi cái này mà dẫn đến lag map
    Khách viếng thăm hãy cùng LeHuyetVoHon xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  11. #9
    Thành Viên thachlong78's Avatar
    Ngày tham gia
    Dec 2008
    Bài viết
    577
    Thanks
    0
    Thanked 265 Times in 68 Posts

    Ðề: Hỏi cái đoạn C++ này

    Delphi thất thế lâu rồi, nếu không vì công việc yêu cầu thì không nên đeo đuổi mãi, mấy ngôn ngừ đều tương tự nhau, học được 1 sẽ học được mấy ngôn ngữ khác không mấy khó khăn. Source game không đơn giản đâu, rất nhiều phần là hợp ngữ và những thư viện mở lẫn đóng, việc sử dụng tương thích là điều hết sức quan trọng, nên việc thay đổi phiên bản VS đã là điều tối kỵ rồi.
    VLTK, huyền thoại sẽ trở lại...

  12. #10
    Thành Viên
    Ngày tham gia
    Jan 2012
    Bài viết
    142
    Thanks
    18
    Thanked 467 Times in 43 Posts

    Ðề: Hỏi cái đoạn C++ này

    Tại không có thời gian học VC nên biết gì xài nấy thui.
    Với lại nếu cái nào cũng như nhau thì thôi xài cái nào cũng được.
    Khách viếng thăm hãy cùng invalidpw xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

 

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à 04:37 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ệ.