damquangtrung
Mr & Ms Pac-Man
- 7/6/03
- 108
- 0
Hôm nay em ngồi mày mò C++ rồi vọc ra 1 số thứ trong server MS của Krystal's Pack. Thấy hay hay nên post thử cho bác nào chưa bít. Có gì mới phát hiện ra em sẽ update ngay
Đầu tiên muốn thay đổi source của server, bạn phải có Visual C++ 2008 Express (ko hỉu bản cũ có ổn ko nhưng em khá là thích cái bản mới này), link down trong topic [Tut] kia, bạn tự tìm nhé
. Có rồi thì bắt đầu thôi:
_ Chạy Visual C++ ---> Open ---> [Thư mục MS Server của Krystal (server của Odin chạy = java, cấu tạo khác) ]\MapleStory.sln
_ Bạn sẽ nhìn thấy có 3 mục chính bên tay phải: Connection, Decorder & MapleStoryServer. Chỉnh gì thì vào cái thứ 3 ấy
_BƯỚC NÀY RẤT QUAN TRỌNG NHÉ!!!! Sau khi edit xong bất cứ thứ gì, bạn bắt buộc phải rebuild lại toàn bộ project (menu Build -> Rebuild MapleStoryServer), sau đó copy toàn bộ các file trong thư mục Release của server đè lên các file cũ trong thư mục MapleStoryServer, sau đó game mới chạy được.
1/Thay đổi IP kết nối đến server
Đây là thứ bạn bắt buộc làm nếu muốn đưa server của mình lên mạng LAN hoặc WAN cho bạn bè chơi cùng.
+ Nếu dùng LAN, thì thật đơn giản. Start->Run->cmd. Gõ ipconfig để xem IP LAN của bạn là gì. Mở MapleStoryServer.sln trong C++ ra, trong mục MapleStoryServer, tìm Source Files -> Packets -> LoginPackets.cpp. Tiếp đó kéo cái LoginPackets xuống dưới cùng rồi kéo lên trên 1 tẹo, sẽ thấy 1 đoạn mã thế này
+Nếu đưa server lên mạng thì phức tạp hơn tẹo. Bạn phải mở cổng modem cho mọi người truy cập vào. 2 cổng cần mở là 80 (cho web) và 8484 (cho MS). Nếu ko biết mở thế nào thì vào http://portforward.com/ tra cứu theo loại modem mà bạn đang dùng. Sau đó vào http://whatismyip.com để xem IP wan của bạn. Xong đâu đấy thì sửa 127.0.0.1 thành IP WAN.
= Cả 2 bước trên là cho server, còn cho client, thì chỉ việc lấy client 0.53 của msglobal, tạo 1 cái short cut ra ngoài desktop, edit lại properties của cái shortcut đấy. Chuột phải vào shortcut -> properties -> shortcut. Chèn vào sau cùng của ô target là [IP của bạn][dấu cách]8484. Chỉ việc chạy server rồi chạy cái client shortcut vừa tạo là chơi ngon lành.
2/Thay đổi EXP cho mỗi lv
- Trong mục MapleStoryServer, chọn Source Files -> GameServer -> Levels.cpp
- Bạn sẽ thấy ngay ở trên cùng, phía dưới 1 đống cái #include là 1 đống các số. Đấy là số exp cho mỗi lv từ 1 -> 200. Nếu muốn thay đổi ở lv thì ... đếm đến số exp của lv đó rồi edit
- Đừng dại mà nghĩ là sửa int Levels::exps[200] là sửa số level giới hạn của game nhé! Client bình thường chưa làm đến lv 201 đâu
3/Thay đổi AP, SP sau mỗi lv
AP = Ability Point, SP = Skill Point
Cách này tức là bạn có thể chỉnh số điểm AP lẫn SP mỗi lần lên lv, ko còn là 5 AP và 3 SP như thường nữa.
Vẫn ở Levels.cpp, bạn tìm đến
Tìm đến:

Tìm tiếp:
Tương tự cái trên, bạn thay số SP mà bạn muốn, nhưng lần này áp dụng cho tất cả các job trừ Beginner!!!
Ảnh minh họa:
Trước....
....và sau
4/ Thay đổi Rate MESOS thưởng sau mỗi quest
Mục đích của cái này là để sửa meso rate sau khi làm quest cho nó giống với drop meso rate. Làm thế nó mới đồng đếu chứ nhẩy?
- Mở MapleStoryServer -> Source Files -> GameServer -> Quest.cpp
- Tìm đến
-Rebuild -> Copy -> Done!
Thế đã, ngoài các Tut mà người khác viết ra, em cũng phải viết tut của riêng tui chứ nhể
Khi nào phát hiện ra cái gì thì up tiếp. Có gì cứ hỏi trong topic này em sẽ cố gắng trả lời.
Have fun Mapling!
Đầu tiên muốn thay đổi source của server, bạn phải có Visual C++ 2008 Express (ko hỉu bản cũ có ổn ko nhưng em khá là thích cái bản mới này), link down trong topic [Tut] kia, bạn tự tìm nhé
. Có rồi thì bắt đầu thôi:_ Chạy Visual C++ ---> Open ---> [Thư mục MS Server của Krystal (server của Odin chạy = java, cấu tạo khác) ]\MapleStory.sln
_ Bạn sẽ nhìn thấy có 3 mục chính bên tay phải: Connection, Decorder & MapleStoryServer. Chỉnh gì thì vào cái thứ 3 ấy
_BƯỚC NÀY RẤT QUAN TRỌNG NHÉ!!!! Sau khi edit xong bất cứ thứ gì, bạn bắt buộc phải rebuild lại toàn bộ project (menu Build -> Rebuild MapleStoryServer), sau đó copy toàn bộ các file trong thư mục Release của server đè lên các file cũ trong thư mục MapleStoryServer, sau đó game mới chạy được.
1/Thay đổi IP kết nối đến server
Đây là thứ bạn bắt buộc làm nếu muốn đưa server của mình lên mạng LAN hoặc WAN cho bạn bè chơi cùng.
+ Nếu dùng LAN, thì thật đơn giản. Start->Run->cmd. Gõ ipconfig để xem IP LAN của bạn là gì. Mở MapleStoryServer.sln trong C++ ra, trong mục MapleStoryServer, tìm Source Files -> Packets -> LoginPackets.cpp. Tiếp đó kéo cái LoginPackets xuống dưới cùng rồi kéo lên trên 1 tẹo, sẽ thấy 1 đoạn mã thế này
4 dòng là 4 số trong dãy IP của bạn. Chắc ai cũng biết 127.0.0.1 là IP localhost. Bây giờ lấy cái IP LAN ban đầu vào để thay thế cho cái IP cũ này. vd IP LAN của bạn là 192.168.1.5 thì dòng đầu tiên sửa 127 -> 192, dòng 2 sửa 0->168, dòng 3 sửa 0->1, dòng cuối 1 -> 5. Xong! Nhớ rebuild rồi copy như đã nói lúc đầu.packet.addByte(127); // IP
packet.addByte(0);
packet.addByte(0);
packet.addByte(1);
+Nếu đưa server lên mạng thì phức tạp hơn tẹo. Bạn phải mở cổng modem cho mọi người truy cập vào. 2 cổng cần mở là 80 (cho web) và 8484 (cho MS). Nếu ko biết mở thế nào thì vào http://portforward.com/ tra cứu theo loại modem mà bạn đang dùng. Sau đó vào http://whatismyip.com để xem IP wan của bạn. Xong đâu đấy thì sửa 127.0.0.1 thành IP WAN.
= Cả 2 bước trên là cho server, còn cho client, thì chỉ việc lấy client 0.53 của msglobal, tạo 1 cái short cut ra ngoài desktop, edit lại properties của cái shortcut đấy. Chuột phải vào shortcut -> properties -> shortcut. Chèn vào sau cùng của ô target là [IP của bạn][dấu cách]8484. Chỉ việc chạy server rồi chạy cái client shortcut vừa tạo là chơi ngon lành.
2/Thay đổi EXP cho mỗi lv
- Trong mục MapleStoryServer, chọn Source Files -> GameServer -> Levels.cpp
- Bạn sẽ thấy ngay ở trên cùng, phía dưới 1 đống cái #include là 1 đống các số. Đấy là số exp cho mỗi lv từ 1 -> 200. Nếu muốn thay đổi ở lv thì ... đếm đến số exp của lv đó rồi edit
- Đừng dại mà nghĩ là sửa int Levels::exps[200] là sửa số level giới hạn của game nhé! Client bình thường chưa làm đến lv 201 đâu

3/Thay đổi AP, SP sau mỗi lv
AP = Ability Point, SP = Skill Point
Cách này tức là bạn có thể chỉnh số điểm AP lẫn SP mỗi lần lên lv, ko còn là 5 AP và 3 SP như thường nữa.
Vẫn ở Levels.cpp, bạn tìm đến
Ở dòng cuối có số 5, là số AP đạt được khi lên 1 lv, bạn sửa lại theo số bạn muốnif(cexp >= exps[player->getLevel()])
cexp = exps[player->getLevel()] - 1;
player->setExp(cexp, 0);
player->setLevel(player->getLevel()+1);
player->setAp(player->getAp()+5);
Tìm đến:
Sau getSP()+ là số SP bạn có được khi chưa có job (Beginner). Chỉnh cái này nếu bạn muốn, tui thấy ko cần thiết lắm nhưng cứ đưa lên thuiLevelsPacket::levelUP(player, Maps::info[player->getMap()].Players);
player->setHP(player->getMHP());
player->setMP(player->getMMP());
if(player->getJob() > 0){
player->setSp(player->getSp()+3);
}
}
}
//If you overlevel

Tìm tiếp:
LevelsPacket::levelUP(player, Maps::info[player->getMap()].Players);
player->setHP(player->getMHP());
player->setMP(player->getMMP());
if(player->getJob() > 0){
player->setSp(player->getSp()+3);
}
}
Levels::giveEXP(player, exp, 1);
Tương tự cái trên, bạn thay số SP mà bạn muốn, nhưng lần này áp dụng cho tất cả các job trừ Beginner!!!
Ảnh minh họa:
Trước....
....và sau
4/ Thay đổi Rate MESOS thưởng sau mỗi quest
Mục đích của cái này là để sửa meso rate sau khi làm quest cho nó giống với drop meso rate. Làm thế nó mới đồng đếu chứ nhẩy?
- Mở MapleStoryServer -> Source Files -> GameServer -> Quest.cpp
- Tìm đến
-Sửa getMesos()+amount) thành getMesos()+amount)*[rate mà bạn muốn]void Quests::giveMesos(Player* player, int amount){
player->inv->setMesos(player->inv->getMesos()+amount);
QuestsPacket::giveMesos(player, amount);
}
-Rebuild -> Copy -> Done!
Thế đã, ngoài các Tut mà người khác viết ra, em cũng phải viết tut của riêng tui chứ nhể
Khi nào phát hiện ra cái gì thì up tiếp. Có gì cứ hỏi trong topic này em sẽ cố gắng trả lời.Have fun Mapling!
có cách nào chỉnh để chơi được = patch 0.54 ko =.=! Lỡ up lên rồi, chẳng nhẽ đành để nó ở đấy 

.