PDA

View Full Version : [TUT] - Hướng dẫn biên dịch game Maple Story server bằng Netbean



xfree123
27-07-11, 12:05 AM
For Newbie nhé :D

Đầu tiên cài netbean đã nhé. Tải ở đâu thì mời lên google. Đây là phần mềm miễn phí :D

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

duyen911007
27-07-11, 03:10 AM
mà cái này bạn có thể hướng dẫn cụ thể là nó có thể edit những gì trong sv k :-??

xfree123
27-07-11, 01:03 PM
mà cái này bạn có thể hướng dẫn cụ thể là nó có thể edit những gì trong sv k :-??
Bạn biết lập trình java thì có thể edit toàn bộ source theo ý mình!
Chủ yếu điều chỉnh game thì edit các file trong mục Client ấy: chỉnh Thông số ban đầu của character, chỉnh map, skill....

LeoK.Love
27-07-11, 04:41 PM
Nice :D rất good đó bạn ;) tks nè ;)

xfree123
27-07-11, 05:16 PM
You are welcome :D
^_%



:P ghét cái 30 char thế :))

LeoK.Love
27-07-11, 05:20 PM
xfree chỉ luôn cho các mem add lệnh hay gì đó đi :) Mình muốn MS đi vào lòng người í mà =))

xfree123
27-07-11, 05:36 PM
xfree chỉ luôn cho các mem add lệnh hay gì đó đi :) Mình muốn MS đi vào lòng người í mà =))
Muốn Add lệnh thì phải biết lập trình java để cho game thực hiện lệnh còn muốn đổi tên lệnh có sẵn thì mở file
PlayerCommand.java ra sửa thôi!

/*
This file is part of the OdinMS Maple Story Server
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License version 3
as published by the Free Software Foundation. You may not use, modify
or distribute this program under any other version of the
GNU Affero General Public License.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>>.
*/

package client.messages.commands;

import java.util.Arrays;

import client.MapleCharacterUtil;
import client.MapleClient;
import client.MapleStat;
import client.PlayerStats;
import client.messages.Command;
import client.messages.CommandDefinition;
import client.messages.IllegalCommandSyntaxException;
import java.rmi.RemoteException;
import scripting.NPCScriptManager;
import server.life.MapleMonster;
import server.maps.MapleMapObject;
import server.maps.MapleMapObjectType;
import tools.MaplePacketCreator;
import tools.StringUtil;

public class PlayerCommand implements Command {

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
public void execute(MapleClient c, String[] splitted) throws Exception, IllegalCommandSyntaxException {

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
int str = Integer.parseInt(splitted[1]);
final PlayerStats stat = c.getPlayer().getStat();

if (stat.getStr() + str > c.getPlayer().getMaxStats() || c.getPlayer().getRemainingAp() < str || c.getPlayer().getRemainingAp() < 0 || str < 0) {
c.getPlayer().dropMessage(5, "An error occured.");
} else {
stat.setStr(stat.getStr() + str);
c.getPlayer().setRemainingAp(c.getPlayer().getRema iningAp() - str);
c.getPlayer().updateSingleStat(MapleStat.AVAILABLE AP, c.getPlayer().getRemainingAp());
c.getPlayer().updateSingleStat(MapleStat.STR, stat.getStr());
}
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
int int_ = Integer.parseInt(splitted[1]);
final PlayerStats stat = c.getPlayer().getStat();

if (stat.getInt() + int_ > c.getPlayer().getMaxStats() || c.getPlayer().getRemainingAp() < int_ || c.getPlayer().getRemainingAp() < 0 || int_ < 0) {
c.getPlayer().dropMessage(5, "An error occured.");
} else {
stat.setInt(stat.getInt() + int_);
c.getPlayer().setRemainingAp(c.getPlayer().getRema iningAp() - int_);
c.getPlayer().updateSingleStat(MapleStat.AVAILABLE AP, c.getPlayer().getRemainingAp());
c.getPlayer().updateSingleStat(MapleStat.INT, stat.getInt());
}
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
int dex = Integer.parseInt(splitted[1]);
final PlayerStats stat = c.getPlayer().getStat();

if (stat.getDex() + dex > c.getPlayer().getMaxStats() || c.getPlayer().getRemainingAp() < dex || c.getPlayer().getRemainingAp() < 0 || dex < 0) {
c.getPlayer().dropMessage(5, "An error occured.");
} else {
stat.setDex(stat.getDex() + dex);
c.getPlayer().setRemainingAp(c.getPlayer().getRema iningAp() - dex);
c.getPlayer().updateSingleStat(MapleStat.AVAILABLE AP, c.getPlayer().getRemainingAp());
c.getPlayer().updateSingleStat(MapleStat.DEX, stat.getDex());
}
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
int luk = Integer.parseInt(splitted[1]);
final PlayerStats stat = c.getPlayer().getStat();

if (stat.getLuk() + luk > c.getPlayer().getMaxStats() || c.getPlayer().getRemainingAp() < luk || c.getPlayer().getRemainingAp() < 0 || luk < 0) {
c.getPlayer().dropMessage(5, "An error occured.");
} else {
stat.setLuk(stat.getLuk() + luk);
c.getPlayer().setRemainingAp(c.getPlayer().getRema iningAp() - luk);
c.getPlayer().updateSingleStat(MapleStat.AVAILABLE AP, c.getPlayer().getRemainingAp());
c.getPlayer().updateSingleStat(MapleStat.LUK, stat.getLuk());
}

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
c.getPlayer().dropMessage(5, "GameMaster list : Marat, ");

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
c.getPlayer().dropMessage(6, "Characters connected to channel " + c.getChannel() + ":");
c.getPlayer().dropMessage(6, c.getChannelServer().getPlayerStorage().getOnlineP layers(false));

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
MapleMonster mob;
for (final MapleMapObject monstermo : c.getPlayer().getMap().getMapObjectsInRange(c.getP layer().getPosition(), 250000, Arrays.asList(MapleMapObjectType.MONSTER))) {
mob = (MapleMonster) monstermo;
c.getPlayer().dropMessage(6, "Monster " + mob.toString());
}
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
c.getPlayer().setOnDMG(!c.getPlayer().isOnDMG());
c.getPlayer().dropMessage(6, "Damage displays set to " + c.getPlayer().isOnDMG());
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
NPCScriptManager.getInstance().start(c, 1052013);
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

NPCScriptManager.getInstance().start(c, 9010017);
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
if (c.getPlayer().getCSPoints(1) < 500) {
c.getPlayer().dropMessage(6, "You need 500 cash.");
return;
}
c.getPlayer().modifyCSPoints(1, -500, true);
final StringBuilder msg = new StringBuilder("[GM Call] ");
msg.append(c.getPlayer().getName());
msg.append(" has requested for help : ");
msg.append(StringUtil.joinStringFrom(splitted, 1));
try {
c.getChannelServer().getWorldInterface().broadcast GMMessage(MaplePacketCreator.serverNotice(5, msg.toString()).getBytes());
} catch(RemoteException e) {
c.getChannelServer().reconnectWorld();
}
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
NPCScriptManager.getInstance().dispose(c);

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
c.getSession().write(MaplePacketCreator.enableActi ons());

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
c.getPlayer().setSmega();

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
if (splitted[2].equals(splitted[3])) {
if (splitted[2].length() < 4 || splitted[2].length() > 16) {
c.getPlayer().dropMessage(5, "Your new password must not be length of below 4 or above 16.");
} else {
final int output = MapleCharacterUtil.Change_SecondPassword(c.getAccI D(), splitted[1], splitted[2]);

if (output == -2 || output == -1) {
c.getPlayer().dropMessage(1, "An unknown error occured");
} else if (output == 0) {
c.getPlayer().dropMessage(1, "You do not have a second password set currently, please set one at character selection.");
} else if (output == 1) {
c.getPlayer().dropMessage(1, "The old password which you have inputted is invalid.");
} else if (output == 2) {
c.getPlayer().dropMessage(1, "Password changed successfully!");
}
}
} else {
c.getPlayer().dropMessage(1, "Please confirm your new password again.");
}
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
c.getPlayer().dropMessage(5, "List of commands :");
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
}
}

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
public CommandDefinition[] getDefinition() {
return new CommandDefinition[]{
new CommandDefinition("onlineplayer", "", "List the players online.", 0),
new CommandDefinition("mobdebug", "", "Debug information on the closest monster.", 0),
new CommandDefinition("str", "", "Add your stats in one go.", 0),
new CommandDefinition("int", "", "Add your stats in one go.", 0),
new CommandDefinition("dex", "", "Add your stats in one go.", 0),
new CommandDefinition("luk", "", "Add your stats in one go.", 0),
new CommandDefinition("ea", "", "stuck", 0),
new CommandDefinition("dropcash", "", "stuck", 0),
new CommandDefinition("dmg", "", "stuck", 0),
new CommandDefinition("callgm", "", "stuck", 0),
new CommandDefinition("gmlist", "", "Current GMs", 0),
new CommandDefinition("tsmega", "", "Enable / Disable smega", 0),
new CommandDefinition("npc", "", "Npc index", 0),
new CommandDefinition("changesecondpass", "", "Change second password", 0),
new CommandDefinition("dispose", "", "Dispose if you are unable to talk to NPC", 0),
new CommandDefinition("help", "", "Lists player commands.", 0),};
}
}

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

LeoK.Love
27-07-11, 08:16 PM
Bạn guide rất tốt :) bạn biết game này từ khi nào :-? và tìm hiểu nó từ đâu :-? ragezone :-?

xfree123
27-07-11, 08:51 PM
Bạn guide rất tốt :) bạn biết game này từ khi nào :-? và tìm hiểu nó từ đâu :-? ragezone :-?
Mới thử dc 1 tuần thôi :D
Chủ yếu tìm hiểu bên ragezone

LeoK.Love
28-07-11, 01:06 PM
Bạn đúng là giỏi thật :) Mình tìm hiểu ms từ năm lớp 7 và vẫn không hiểu gì lắm nhưng h sắp lên lớp 9 oỳ =)) đầu óc nó to ra đc 1 chút :)

nguyenx9
28-07-11, 07:24 PM
Hay đấy tiếp tục phát huy cho những Noob như mình thanks cái :) :-??

anhphu
01-08-11, 07:37 PM
MS thì tùy vào người đó có bỏ công sức thôi chứ ... giống bác LeoK.Love ăn cắp ChaosMS EX thì tui cũng nản với maple.[-X
Xin Mọi Người hãy Học Tập Giống Bên RageZone xem họ rất bỏ nhiều thời gian và công sức và họ coi đây như một công việc vậy.Nên Server Private nước ngoài lúc nào cũng hay hơn Server VN(Ví dụ :RydadMS,Umaple,....)(*)
Đó là lý do tui bỏ Maple.....Xin lỗi tui không có ý súc phạm xin lỗi trước nha.:D
P/S:Sửa cái tên Topic kìa :Ðề: [TUT] - Hướng dẫn biên dịch game Maple Story server bằng NetbEAN
Chủ Topic cho tui bổ sung nha:
Video cho các bạn hiểu hơn


<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

Chúc Các Bạn thành công

LuuQuocThai
11-08-11, 10:57 AM
MS thì tùy vào người đó có bỏ công sức thôi chứ ... giống bác LeoK.Love ăn cắp ChaosMS EX thì tui cũng nản với maple.
Tem 30 char câu nèy câu này :)