Newbie Spellweaver
- Joined
- Feb 2, 2016
- Messages
- 30
- Reaction score
- 0
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!Open World and MapleClient or some poop. In World, declare the expRate variable to a Final Constant (it should be set to "1", which isn't wrong, just leave it that way). Then in MapleClient (where the exp is actually calculated?) Look for the getExpRate, setExpRate, and gainExp methods. Not 100% sure here, and I don't feel like downloading anything, so just look around. The exp is set in 3 places (world, mapleclient, and the ini files). Good luck!but only I was there, nobody else... why?
Open World and MapleClient or some poop. In World, declare the expRate variable to a Final Constant (it should be set to "1", which isn't wrong, just leave it that way). Then in MapleClient (where the exp is actually calculated?) Look for the getExpRate, setExpRate, and gainExp methods. Not 100% sure here, and I don't feel like downloading anything, so just look around. The exp is set in 3 places (world, mapleclient, and the ini files). Good luck!
Edit: Is the exp rate also set in ServerConstants? I can't remember.
I think you have MapleClient and MapleCharacter confused. ;P
private void spawnAndAddRangedMapObject(MapleMapObject mapobject, DelayedPacketCreation packetbakery, SpawnCondition condition) {
chrRLock.lock();
objectWLock.lock();
try {
int curOID = getUsableOID();
mapobject.setObjectId(curOID);
this.mapobjects.put(curOID, mapobject);
for (MapleCharacter chr : characters) {
if (condition == null || condition.canSpawn(chr)) {
if (chr.getPosition().distanceSq(mapobject.getPosition()) <= 722500) {
packetbakery.sendPackets(chr.getClient());
chr.addVisibleMapObject(mapobject);
}
}
}
} finally {
chrRLock.unlock();
objectWLock.unlock();
}
}
private int getUsableOID() {
if (runningOid.incrementAndGet() > 2000000000) {
runningOid.set(1000);
}
objectRLock.lock();
try {
if (mapobjects.containsKey(runningOid.get())) {
while (mapobjects.containsKey(runningOid.incrementAndGet()));
}
} finally {
objectRLock.unlock();
}
return runningOid.get();
}
private void spawnAndAddRangedMapObject(MapleMapObject mapobject, DelayedPacketCreation packetbakery, SpawnCondition condition) {
chrRLock.lock();
try {
mapobject.setObjectId(runningOid);
for (MapleCharacter chr : characters) {
if (condition == null || condition.canSpawn(chr)) {
if (chr.getPosition().distanceSq(mapobject.getPosition()) <= 722500) {
packetbakery.sendPackets(chr.getClient());
chr.addVisibleMapObject(mapobject);
}
}
}
} finally {
chrRLock.unlock();
}
objectWLock.lock();
try {
this.mapObjects.put(runningOid, mapobject);
} finally {
objectWLock.unlock();
}
incrementRunningOid();
}
public void incrementRunningOid() {
runningOid++;
if (runningOid >= 30000) {
runningOid = 1000;
}
objectRLock.lock();
try {
if (!this.mapObjects.containsKey(runningOid)) {
return;
}
} finally {
objectRLock.unlock();
}
throw new RuntimeException("Out of OIDs on map " + mapid + " (channel: " + channel + ")");
}
That error says otherwise on setting it up properlyI dont know why i'm having this problem I set up another source and I can manage to boot it up but I don't manage to make solaxia source work for me Any idea on how i can fix my problem thanks you! :') Im having this problem with the db connection and I set up everything right on the configuration.ini
It should work fine. event/!event is only used for joining events. You need to use !scheduleevent first to set it up.Command !event don't working
For those of you asking for a fix for the TimerManager, let me just say this. I spent around 10 hours of debugging to track down what I knew about the TimerManager issue. In that time frame I was able to find out it came from the timer manager, that it was an issue with safe threading, and a few other smaller details. There is no quick and easy way to debug the TimerManager to find whats causing the issue. It's not a simple problem to fix, and I bet if anyone did fix it they wouldn't just release it.
It's an issue that affects all MoopleDev sources, and other sources I would think, I just haven't tried them.
That's the only way to debug it. It was a complete pain. Also, since it happened over time it was even harder to debug on a dev server. I was actually having to wait for the actual game server to have the issue and try debugging that. It made debugging iterations very slow and tedious.Would that mean you'd have to reproduce the error by either waiting for it to occur or prompting it to happen somehow? Sounds like the most annoying and inefficient bug to debug.
If you're talking about the MapleSolaxia text, it will be in net.server.Server.javaWhere i can edit this msg?
That's the only way to debug it. It was a complete pain. Also, since it happened over time it was even harder to debug on a dev server. I was actually having to wait for the actual game server to have the issue and try debugging that. It made debugging iterations very slow and tedious.
Having to wait for your bug to occur rather than being able to reproduce it on your own accord is probably the worst; it's just as I read in my textbook for game design. The most effective ways to create a game is to have a prototype that is easy to launch and allows you to reproduce what you need for testing. This bug is the antithesis to that.
Ip in configuration.ini is incorrect.After I put the pic, Its send me back again and again someone know what might be my problem ? Thanks You!
Ip in configuration.ini is incorrect.
Ip in configuration.ini is incorrect.