08-22-2010, 03:33 PM
У меня появилась задумка сделать лестничных мобов т.е. убил моба одного за место его появился моб с другим ид и т.д у меня такая проблема:
1) значения в базе меняются т.е. скрипт работает но в игре при убийстве моба он респится снова со старых значений. Что надо добавить в скрипт, что бы значения из базы в игру обновлялись. (хз мб поможет думаю можно сделать по аналогу //respawnall, но у меня не получилось)
Сборка л2опен эпилог рева 900+(+ скока точно не помню)
Удаление из базы
Вставка в базу
onKill
надеюсь у кого нибудь мысли будут
1) значения в базе меняются т.е. скрипт работает но в игре при убийстве моба он респится снова со старых значений. Что надо добавить в скрипт, что бы значения из базы в игру обновлялись. (хз мб поможет думаю можно сделать по аналогу //respawnall, но у меня не получилось)
Сборка л2опен эпилог рева 900+(+ скока точно не помню)
Удаление из базы
Код:
public void DeleteHeader(int spawnId)
{
Connection con = null;
try
{
con = L2DatabaseFactory.getInstance().getConnection();
PreparedStatement statement = con.prepareStatement("DELETE FROM `spawnlist` WHERE (`id`=?)");
statement.setInt(1, spawnId);
statement.execute();
statement.close();
}
catch (Exception e)
{
_log.log(Level.WARNING, "SpawnTable: Could not store spawn in the DB:" + e.getMessage(), e);
}
finally
{
L2DatabaseFactory.close(con);
}
}
Вставка в базу
Код:
public void InsertHeader(int id, int spawnId)
{
Connection con = null;
try
{
con = L2DatabaseFactory.getInstance().getConnection();
PreparedStatement statement = con.prepareStatement("INSERT INTO `spawnlist` (`id`, `location`, `count`, `npc_templateid`, `locx`, `locy`, `locz`, `randomx`, `randomy`, `heading`, `respawn_delay`, `loc_id`, `periodOfDay`) VALUES (?, '', '1', ?, '-82155', '152749', '-3179', '0', '0', '64055', '10', '0', '0')");
statement.setInt(1, spawnId);
statement.setInt(2, id);
statement.execute();
statement.close();
}
catch (Exception e)
{
_log.log(Level.WARNING, "SpawnTable: Could not store spawn in the DB:" + e.getMessage(), e);
}
finally
{
L2DatabaseFactory.close(con);
}
}
onKill
Код:
public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
{
int npcId = npc.getNpcId();
int objId = npc.getObjectId();
if (npcId == LEADER0_1)
npc.broadcastPacket(new NpcSay(objId, 0, npcId, "I am very sad..."));
DeleteHeader(6000, 10000);
InsertHeader(6000, 10000);
return "";
}