Тема: AI скрипт
Показать сообщение отдельно
Непрочитано 22.08.2010, 15:33   #1
Пользователь

Автор темы (Топик Стартер) AI скрипт

У меня появилась задумка сделать лестничных мобов т.е. убил моба одного за место его появился моб с другим ид и т.д у меня такая проблема:
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 "";
	}
надеюсь у кого нибудь мысли будут
nikitawasa вне форума Ответить с цитированием