Newbie Spellweaver
- Joined
- Mar 26, 2014
- Messages
- 10
- Reaction score
- 0
Hey Kevin,
Quick question what form of java do i need to run this java 6?
Quick question what form of java do i need to run this java 6?
Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!
Join Today!Hey Kevin,
Quick question what form of java do i need to run this java 6?
thank you man, much appreciatedI'd think by now he is using diamond operators so java 7 at least, but if he's using anything pertaining to java 8 then java 8. I'd take a guess and direct you to review his code to determine his java version.
Go for the latest version, java 8.thank you man, much appreciated
I feel that it's really cool to see how far the MapleStory section has come along these years.There's some neat stuff you've completely restructured that I like. Too bad it's all surrounded by other stuff. Would be a pain to rip if I was not lazy.
kevintjuh93
moopledev v116 MapleBuffStat is WIND_BREAKER_FINAL(64) buffstat plz
0x????
public static int EXP_RATE = 50;
public static int MESO_RATE = 50;
public static final byte DROP_RATE = 50;
sb.append("exprate").append(b).append("=").append(
Integer.parseInt(con.readLine(" Exp rate: "))).append("\r\n");
sb.append("droprate").append(b).append("=").append(
Integer.parseInt(con.readLine(" Drop rate: "))).append("\r\n");
sb.append("mesorate").append(b).append("=").append(
Integer.parseInt(con.readLine(" Meso rate: "))).append("\r\n");
sb.append("bossdroprate").append(b).append("=").append(
Integer.parseInt(con.readLine(" Boss drop rate: "))).append("\r\n");
The ServerConstants.java are missing the Exp/Meso/Drop rates, the INI data that the .BAT is creating isn't going to Server Info. So i had to insert this in ServerConstants.java to make the rates working again.
Code:public static int EXP_RATE = 50; public static int MESO_RATE = 50; public static final byte DROP_RATE = 50;
I guess, it's better to remove them from Moople.ini because some people gonna think it's gonna be selected from there, when it's not working. It can be removed from :
NET.Server.CreateINI.java: remove the following code:
Code:sb.append("exprate").append(b).append("=").append( Integer.parseInt(con.readLine(" Exp rate: "))).append("\r\n"); sb.append("droprate").append(b).append("=").append( Integer.parseInt(con.readLine(" Drop rate: "))).append("\r\n"); sb.append("mesorate").append(b).append("=").append( Integer.parseInt(con.readLine(" Meso rate: "))).append("\r\n"); sb.append("bossdroprate").append(b).append("=").append( Integer.parseInt(con.readLine(" Boss drop rate: "))).append("\r\n");
Re-Run Create_Server.bat after compiling.
try {
for (int i = 0; i < Integer.parseInt(p.getProperty("worlds")); i++) {
System.out.println("Starting world " + i);
World world = new World(i,
Integer.parseInt(p.getProperty("flag" + i)),
p.getProperty("eventmessage" + i),
Integer.parseInt(p.getProperty("exprate" + i)),
Integer.parseInt(p.getProperty("droprate" + i)),
Integer.parseInt(p.getProperty("mesorate" + i)),
Integer.parseInt(p.getProperty("bossdroprate" + i)));//ohlol
worldRecommendedList.add(new Pair<>(i, p.getProperty("whyamirecommended" + i)));
worlds.add(world);
channels.add(new LinkedHashMap<Integer, String>());
for (int j = 0; j < Integer.parseInt(p.getProperty("channels" + i)); j++) {
int channelid = j + 1;
Channel channel = new Channel(i, channelid);
world.addChannel(channel);
channels.get(i).put(channelid, channel.getIP());
}
world.setServerMessage(p.getProperty("servermessage" + i));
System.out.println("Finished loading world " + i + "\r\n");
}
} catch (Exception e) {
System.out.println("Error in moople.ini, start CreateINI.bat to re-make the file.");
e.printStackTrace();//For those who get errors
System.exit(0);
}
Lolwut? It doesn't load the data from ServerConstants unless you change it to.
Code:try { for (int i = 0; i < Integer.parseInt(p.getProperty("worlds")); i++) { System.out.println("Starting world " + i); World world = new World(i, Integer.parseInt(p.getProperty("flag" + i)), p.getProperty("eventmessage" + i), Integer.parseInt(p.getProperty("exprate" + i)), Integer.parseInt(p.getProperty("droprate" + i)), Integer.parseInt(p.getProperty("mesorate" + i)), Integer.parseInt(p.getProperty("bossdroprate" + i)));//ohlol worldRecommendedList.add(new Pair<>(i, p.getProperty("whyamirecommended" + i))); worlds.add(world); channels.add(new LinkedHashMap<Integer, String>()); for (int j = 0; j < Integer.parseInt(p.getProperty("channels" + i)); j++) { int channelid = j + 1; Channel channel = new Channel(i, channelid); world.addChannel(channel); channels.get(i).put(channelid, channel.getIP()); } world.setServerMessage(p.getProperty("servermessage" + i)); System.out.println("Finished loading world " + i + "\r\n"); } } catch (Exception e) { System.out.println("Error in moople.ini, start CreateINI.bat to re-make the file."); e.printStackTrace();//For those who get errors System.exit(0); }
and Properties p = loading properties of moople.ini, so rates for exp, meso, drop, etc are loaded from the ini file initially. That would be why it's not loaded from ServerConstants.
I have the exact same code in Server.java and yet it's not loading from the moople.ini. It's loading from ServerConstants
I noticed you're refactoring pretty much everything, and you rewriting/revising the code, or are you just renaming it? Too add to that, where are you getting certain names, that you are naming your methods and classes with? Is it just to your liking or?
Also, why change the names in the first place? It's always been "MapleMap" and such in all Odin based sources, Imo it's classic. If this fork was coded from scratch It'd make more sense to rename everything. But anyways, good luck. Looking forward to see if you fixed memory leaks that were present in this fork.
Seriously? Now go to your ServerConstants and check if any of your added rates have a reference somewhere in the source. It's a no. You do know that beginners under lv 10 ALWAYS have an EXP rate of 1?The ServerConstants.java are missing the Exp/Meso/Drop rates, the INI data that the .BAT is creating isn't going to Server Info. So i had to insert this in ServerConstants.java to make the rates working again.
Code:public static int EXP_RATE = 50; public static int MESO_RATE = 50; public static final byte DROP_RATE = 50;
I guess, it's better to remove them from Moople.ini because some people gonna think it's gonna be selected from there, when it's not working. It can be removed from :
NET.Server.CreateINI.java: remove the following code:
Code:sb.append("exprate").append(b).append("=").append( Integer.parseInt(con.readLine(" Exp rate: "))).append("\r\n"); sb.append("droprate").append(b).append("=").append( Integer.parseInt(con.readLine(" Drop rate: "))).append("\r\n"); sb.append("mesorate").append(b).append("=").append( Integer.parseInt(con.readLine(" Meso rate: "))).append("\r\n"); sb.append("bossdroprate").append(b).append("=").append( Integer.parseInt(con.readLine(" Boss drop rate: "))).append("\r\n");
Re-Run Create_Server.bat after compiling.
Seriously? Now go to your ServerConstants and check if any of your added rates have a reference somewhere in the source. It's a no. You do know that beginners under lv 10 ALWAYS have an EXP rate of 1?
@JessVanity, I don't really like these names. It's a Maple project, why would you add Maple in front of it. And most of the names come directly from Wizet.
Seriously? Now go to your ServerConstants and check if any of your added rates have a reference somewhere in the source. It's a no. You do know that beginners under lv 10 ALWAYS have an EXP rate of 1?
JessVanity, I don't really like these names. It's a Maple project, why would you add Maple in front of it. And most of the names come directly from Wizet.
Not a revision issue. Somehow you fucked up the project. No idea how though :OBefore i added them lines at ServerConstants, i had 0 exp from any mob, at any level. After i added the lines, it worked somehow. And same for drops.
Not a revision issue. Somehow you fucked up the project. No idea how though :O
ps = con.prepareStatement("UPDATE characters SET level = ?, fame = ?, str = ?, dex = ?, luk = ?, `int` = ?, exp = ?, gachaexp = ?, hp = ?, mp = ?, mhp = ?,
mmp = ?, sp = ?, ap = ?, gm = ?, skincolor = ?, gender = ?, job = ?, hair = ?, face = ?, map = ?, meso = ?, hpMpUsed = ?, spawnpoint = ?, party = ?,
buddyCapacity = ?, messengerid = ?, messengerposition = ?, mountlevel = ?, mountexp = ?, mounttiredness= ?, equipslots = ?, useslots = ?, setupslots = ?,
etcslots = ?, monsterbookcover = ?, vanquisherStage = ?, dojoPoints = ?, lastDojoStage = ?, finishedDojoTutorial = ?, vanquisherKills = ?, matchcardwins = ?,
matchcardlosses = ?, matchcardties = ?, omokwins = ?, omoklosses = ?, omokties = ? WHERE id = ?", Statement.RETURN_GENERATED_KEYS);
ps = con.prepareStatement("UPDATE characters SET level = ?, fame = ?, str = ?, dex = ?, luk = ?, `int` = ?, exp = ?, gachaexp = ?, hp = ?, mp = ?, maxhp = ?,
maxmp = ?, sp = ?, ap = ?, gm = ?, skincolor = ?, gender = ?, job = ?, hair = ?, face = ?, map = ?, meso = ?, hpMpUsed = ?, spawnpoint = ?, party = ?,
buddyCapacity = ?, messengerid = ?, messengerposition = ?, mountlevel = ?, mountexp = ?, mounttiredness= ?, equipslots = ?, useslots = ?, setupslots = ?,
etcslots = ?, monsterbookcover = ?, vanquisherStage = ?, dojoPoints = ?, lastDojoStage = ?, finishedDojoTutorial = ?, vanquisherKills = ?, matchcardwins = ?,
matchcardlosses = ?, matchcardties = ?, omokwins = ?, omoklosses = ?, omokties = ? WHERE id = ?", Statement.RETURN_GENERATED_KEYS);
Yup lol.
Anyway according to revision 121. A problem within saveToDB function, You updated the UPDATE statement at the function but you didnt really actually update the SQL Query. And the problem with the insertNewChar issue aswell.
saveToDB function fix:
Go to client.user.User.java, and search for saveToDB, at the prepare statement REPLACE THIS:
PHP:ps = con.prepareStatement("UPDATE characters SET level = ?, fame = ?, str = ?, dex = ?, luk = ?, `int` = ?, exp = ?, gachaexp = ?, hp = ?, mp = ?, mhp = ?, mmp = ?, sp = ?, ap = ?, gm = ?, skincolor = ?, gender = ?, job = ?, hair = ?, face = ?, map = ?, meso = ?, hpMpUsed = ?, spawnpoint = ?, party = ?, buddyCapacity = ?, messengerid = ?, messengerposition = ?, mountlevel = ?, mountexp = ?, mounttiredness= ?, equipslots = ?, useslots = ?, setupslots = ?, etcslots = ?, monsterbookcover = ?, vanquisherStage = ?, dojoPoints = ?, lastDojoStage = ?, finishedDojoTutorial = ?, vanquisherKills = ?, matchcardwins = ?, matchcardlosses = ?, matchcardties = ?, omokwins = ?, omoklosses = ?, omokties = ? WHERE id = ?", Statement.RETURN_GENERATED_KEYS);
With this:
PHP:ps = con.prepareStatement("UPDATE characters SET level = ?, fame = ?, str = ?, dex = ?, luk = ?, `int` = ?, exp = ?, gachaexp = ?, hp = ?, mp = ?, maxhp = ?, maxmp = ?, sp = ?, ap = ?, gm = ?, skincolor = ?, gender = ?, job = ?, hair = ?, face = ?, map = ?, meso = ?, hpMpUsed = ?, spawnpoint = ?, party = ?, buddyCapacity = ?, messengerid = ?, messengerposition = ?, mountlevel = ?, mountexp = ?, mounttiredness= ?, equipslots = ?, useslots = ?, setupslots = ?, etcslots = ?, monsterbookcover = ?, vanquisherStage = ?, dojoPoints = ?, lastDojoStage = ?, finishedDojoTutorial = ?, vanquisherKills = ?, matchcardwins = ?, matchcardlosses = ?, matchcardties = ?, omokwins = ?, omoklosses = ?, omokties = ? WHERE id = ?", Statement.RETURN_GENERATED_KEYS);
That's the solution, and i added the whole Query to make easier to fix, but there is another way and it's in the database, by editing Character table the two columns : "MaxHP" & "MaxMP" rename them to "mhp" & "mmp". ONLY USE THIS IF YOU DIDNT EDIT THE saveToDB FUNCTION
insertNewChar function fix:
Go to your database, find "inventoryitems" and Expand then Expand the "Indexes", you gonna have like this :
Right click on "cashitemsn" then press Create Index, a Window like this should open:
At the Indexes in Table, Select "cashitemsn", then at the Top right corner, press "Drop Index"
And it should be fixed.