• SiteAnalyzer, технический и SEO-анализ сайтов

Aion 5.1 HotSpot Teleport Error!

Oliver67

Рядовой
Hi!
I want to develop Mobius AionEmu 5.1.
The following error could not be resolved:
Map teleport does not work (HotSpot teleport)
Error log:
java.lang.NullPointerException: null
at com.aionemu.gameserver.services.teleport.TeleportService2.sendLoc(TeleportService2.java:203)
at com.aionemu.gameserver.services.teleport.TeleportService2.teleportTo(TeleportService2.java:354)
at com.aionemu.gameserver.services.teleport.TeleportService2.teleportTo(TeleportService2.java:307)
at com.aionemu.gameserver.services.teleport.TeleportService2.teleportTo(TeleportService2.java:297)
at com.aionemu.gameserver.services.teleport.HotspotTeleportService$1$1.run(HotspotTeleportService.java:73)
at com.aionemu.commons.utils.concurrent.ExecuteWrapper.execute(ExecuteWrapper.java:48)
at com.aionemu.commons.utils.concurrent.RunnableWrapper.run(RunnableWrapper.java:41)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
2020-10-17 21:20:10,488 Exception in a Runnable execution:
Could you help me?
Thanks
 
Inappropriate Behavior
Одна из самых распространённых ошибок этого форума, обычно появляется в темах, где можно написать херню, к теме не относящуюся, что бы заработать себе репутацию на форуме среди не шарящих
 
Одна из самых распространённых ошибок этого форума, обычно появляется в темах, где можно написать херню, к теме не относящуюся, что бы заработать себе репутацию на форуме среди не шарящих

Ты хотя бы аргументировал, привел бы пример из другой темы, а не просто пытался вбрасывать, провоцировать и переходить на личности.
Напишу для таких как ты более понятными словами. В серверной static_data не совпадения с тем что в клиенте.

Где конкретно твой правильный ответ относящийся к теме?
 
тебе это время ?

N44Vv.png
 
Not good either. He won't let me in
My SM_VERSION_CHECK.java:

package com.aionemu.gameserver.network.aion.serverpackets;

import java.util.Calendar;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.aionemu.gameserver.GameServer;
import com.aionemu.gameserver.configs.main.EventsConfig;
import com.aionemu.gameserver.configs.main.GSConfig;
import com.aionemu.gameserver.configs.main.MembershipConfig;
import com.aionemu.gameserver.configs.network.IPConfig;
import com.aionemu.gameserver.configs.network.NetworkConfig;
import com.aionemu.gameserver.model.Race;
import com.aionemu.gameserver.network.NetworkController;
import com.aionemu.gameserver.network.aion.AionConnection;
import com.aionemu.gameserver.network.aion.AionServerPacket;

/**
* @author -Nemesiss- CC fix
* @modified by Novo, cura
*/
public class SM_VERSION_CHECK extends AionServerPacket
{
private static final Logger log = LoggerFactory.getLogger(SM_VERSION_CHECK.class);
private final int version;
private int characterLimitCount;
private final int characterCreateMode;
private final int characterFactionsMode;
private static int port = 10241;

public SM_VERSION_CHECK(int version)
{
this.version = version;
if ((MembershipConfig.CHARACTER_ADDITIONAL_ENABLE != 10) && (MembershipConfig.CHARACTER_ADDITIONAL_COUNT > GSConfig.CHARACTER_LIMIT_COUNT))
{
characterLimitCount = MembershipConfig.CHARACTER_ADDITIONAL_COUNT;
}
else
{
characterLimitCount = GSConfig.CHARACTER_LIMIT_COUNT;
}
characterLimitCount *= NetworkController.getInstance().getServerCount();
if ((GSConfig.CHARACTER_CREATION_MODE < 0) || (GSConfig.CHARACTER_CREATION_MODE > 2))
{
characterFactionsMode = 0;
}
else
{
characterFactionsMode = GSConfig.CHARACTER_CREATION_MODE;
}
if ((GSConfig.CHARACTER_FACTION_LIMITATION_MODE < 0) || (GSConfig.CHARACTER_FACTION_LIMITATION_MODE > 3))
{
characterCreateMode = 0;
}
else
{
characterCreateMode = GSConfig.CHARACTER_FACTION_LIMITATION_MODE * 0x04;
}
}

@Override
protected void writeImpl(AionConnection con)
{
// Aion 3.0 = 194
// Aion 3.5 = 196
// Aion 4.0 = 201
// Aion 4.5 = 203
// Aion 4.7 = 204
// Aion 4.7.5 = 206
// Aion 4.8 = 207
// Aion 4.9 = 208
// Aion 5.0 = 211
// Aion 5.1 = 212
if (version < 212)
{
// Send wrong client version
writeC(0x02);
return;
}
if (version == 212)
{
log.info("Authentication with client version 5.1");
}
else if (version < 212)
{
log.info("Authentication with client version lower than 5.0");
}
writeC(0x00);
writeC(NetworkConfig.GAMESERVER_ID);
writeB("417202003E720200000000003E720200A9E7F15600"); // 21 bytes
writeC(GSConfig.SERVER_COUNTRY_CODE);
writeC(0x00);
final int serverMode = (characterLimitCount * 0x10) | characterFactionsMode;
if (GSConfig.ENABLE_RATIO_LIMITATION)
{
if ((GameServer.getCountFor(Race.ELYOS) + GameServer.getCountFor(Race.ASMODIANS)) > GSConfig.RATIO_HIGH_PLAYER_COUNT_DISABLING)
{
writeC(serverMode | 0x0C);
}
else if (GameServer.getRatiosFor(Race.ELYOS) > GSConfig.RATIO_MIN_VALUE)
{
writeC(serverMode | 0x04);
}
else if (GameServer.getRatiosFor(Race.ASMODIANS) > GSConfig.RATIO_MIN_VALUE)
{
writeC(serverMode | 0x08);
}
else
{
writeC(serverMode);
}
}
else
{
writeC(serverMode | characterCreateMode);
}
writeD((int) (System.currentTimeMillis() / 1000));
writeB("5E010101010A053301010200"); // 12 bytes
writeC(GSConfig.CHARACTER_REENTRY_TIME);
switch (EventsConfig.ENABLE_DECOR)
{
case 1:
{
writeC(0x01); // Christmast.
break;
}
case 2:
{
writeC(0x02); // Halloween.
break;
}
case 3:
{
writeC(0x08); // Brax Cafe.
break;
}
case 4:
{
writeC(0x04); // Valentine.
break;
}
default:
{
writeC(EventsConfig.ENABLE_DECOR);
break;
}
}

// if (GSConfig.SERVER_COUNTRY_CODE == 1)
writeB("00000000808FFFFF0478916202010000000000000000B80B010001010000000001010000000000000000000000000000000000E8030000E8030000E8030000E8030000E8030000E8030000E8030000E8030000E8030000E8030000E80300000064000000E80300000000803F01130000000108"); // 115 bytes

writeH(0x01);
writeC(0x00);
writeB(IPConfig.getDefaultAddress());
writeH(port);
}
}
 
Назад
Сверху