Сообщений: 69
Тем: 5
Зарегистрирован: Feb 2010
Репутация:
0
Сборка AE 276, сейчас её как основу взяли AC!
Возникла проблема =( при захвате крепы или артефакта, гварды своей расы агряться, бьються и при том не хило отвечают! В npc_temlates.xml по ID NPC с такими параметрами npc_type="NON_ATTACKABLE" rank="HERO" race="ELYOS" tribe="GUARD"...я тоже Элиец!Если смотреть в tribe_relations.xml то все ровно должно быть, но нет! Может кто-нибудь знает решение проблемы или направление в котором нудно искать решение проблемы.
Сообщений: 320
Тем: 37
Зарегистрирован: Aug 2010
Репутация:
76
Код: Index: main/java/com/aionemu/gameserver/controllers/MonsterController.java
===================================================================
--- main/java/com/aionemu/gameserver/controllers/MonsterController.java (revision 267)
+++ main/java/com/aionemu/gameserver/controllers/MonsterController.java (working copy)
@@ -16,19 +16,8 @@
*/
package com.aionemu.gameserver.controllers;
-import com.aionemu.gameserver.model.alliance.PlayerAlliance;
-import com.aionemu.gameserver.model.gameobjects.AionObject;
import com.aionemu.gameserver.model.gameobjects.Monster;
-import com.aionemu.gameserver.model.gameobjects.player.Player;
-import com.aionemu.gameserver.model.group.PlayerGroup;
-import com.aionemu.gameserver.questEngine.QuestEngine;
-import com.aionemu.gameserver.questEngine.model.QuestEnv;
-import com.aionemu.gameserver.services.AllianceService;
import com.aionemu.gameserver.services.DropService;
-import com.aionemu.gameserver.services.GroupService;
-import com.aionemu.gameserver.utils.stats.StatFunctions;
-import com.aionemu.gameserver.world.World;
-import com.aionemu.gameserver.world.WorldType;
/**
* @author ATracer, Sarynth
@@ -36,58 +25,6 @@
public class MonsterController extends NpcController
{
@Override
- public void doReward()
- {
- AionObject winner = getOwner().getAggroList().getMostDamage();
-
- if(winner == null)
- return;
-
- // TODO: Split the EXP based on overall damage.
-
- if (winner instanceof PlayerAlliance)
- {
- AllianceService.getInstance().doReward((PlayerAlliance)winner, getOwner());
- }
- else if (winner instanceof PlayerGroup)
- {
- GroupService.getInstance().doReward((PlayerGroup)winner, getOwner());
- }
- else if (((Player)winner).isInGroup())
- {
- GroupService.getInstance().doReward(((Player)winner).getPlayerGroup(), getOwner());
- }
- else
- {
- super.doReward();
-
- Player player = (Player)winner;
-
- // Exp reward
- long expReward = StatFunctions.calculateSoloExperienceReward(player, getOwner());
- player.getCommonData().addExp(expReward);
-
- // DP reward
- int currentDp = player.getCommonData().getDp();
- int dpReward = StatFunctions.calculateSoloDPReward(player, getOwner());
- player.getCommonData().setDp(dpReward + currentDp);
-
- // AP reward
- WorldType worldType = World.getInstance().getWorldMap(player.getWorldId()).getWorldType();
- if(worldType == WorldType.ABYSS)
- {
- int apReward = StatFunctions.calculateSoloAPReward(player, getOwner());
- player.getCommonData().addAp(apReward);
- }
-
- QuestEngine.getInstance().onKill(new QuestEnv(getOwner(), player, 0 , 0));
-
- // Give Drop
- DropService.getInstance().registerDrop(getOwner() , player, player.getLevel());
- }
- }
-
- @Override
public void onRespawn()
{
super.onRespawn();
Index: main/java/com/aionemu/gameserver/controllers/NpcController.java
===================================================================
--- main/java/com/aionemu/gameserver/controllers/NpcController.java (revision 267)
+++ main/java/com/aionemu/gameserver/controllers/NpcController.java (working copy)
@@ -30,6 +30,8 @@
import com.aionemu.gameserver.model.ChatType;
import com.aionemu.gameserver.model.EmotionType;
import com.aionemu.gameserver.model.TaskId;
+import com.aionemu.gameserver.model.alliance.PlayerAlliance;
+import com.aionemu.gameserver.model.gameobjects.AionObject;
import com.aionemu.gameserver.model.gameobjects.Creature;
import com.aionemu.gameserver.model.gameobjects.Npc;
import com.aionemu.gameserver.model.gameobjects.Summon;
@@ -38,6 +40,7 @@
import com.aionemu.gameserver.model.gameobjects.player.RequestResponseHandler;
import com.aionemu.gameserver.model.gameobjects.state.CreatureState;
import com.aionemu.gameserver.model.gameobjects.stats.NpcGameStats;
+import com.aionemu.gameserver.model.group.PlayerGroup;
import com.aionemu.gameserver.model.templates.TradeListTemplate;
import com.aionemu.gameserver.network.aion.serverpackets.SM_ATTACK;
import com.aionemu.gameserver.network.aion.serverpackets.SM_ATTACK_STATUS;
@@ -53,8 +56,11 @@
import com.aionemu.gameserver.questEngine.QuestEngine;
import com.aionemu.gameserver.questEngine.model.QuestEnv;
import com.aionemu.gameserver.restrictions.RestrictionsManager;
+import com.aionemu.gameserver.services.AllianceService;
import com.aionemu.gameserver.services.CraftSkillUpdateService;
import com.aionemu.gameserver.services.CubeExpandService;
+import com.aionemu.gameserver.services.DropService;
+import com.aionemu.gameserver.services.GroupService;
import com.aionemu.gameserver.services.ItemService;
import com.aionemu.gameserver.services.LegionService;
import com.aionemu.gameserver.services.RespawnService;
@@ -63,7 +69,9 @@
import com.aionemu.gameserver.services.WarehouseService;
import com.aionemu.gameserver.utils.MathUtil;
import com.aionemu.gameserver.utils.PacketSendUtility;
+import com.aionemu.gameserver.utils.stats.StatFunctions;
import com.aionemu.gameserver.world.World;
+import com.aionemu.gameserver.world.WorldType;
/**
* This class is for controlling Npc's
@@ -103,6 +111,58 @@
}
@Override
+ public void doReward()
+ {
+ AionObject winner = getOwner().getAggroList().getMostDamage();
+
+ if(winner == null)
+ return;
+
+ // TODO: Split the EXP based on overall damage.
+
+ if (winner instanceof PlayerAlliance)
+ {
+ AllianceService.getInstance().doReward((PlayerAlliance)winner, getOwner());
+ }
+ else if (winner instanceof PlayerGroup)
+ {
+ GroupService.getInstance().doReward((PlayerGroup)winner, getOwner());
+ }
+ else if (((Player)winner).isInGroup())
+ {
+ GroupService.getInstance().doReward(((Player)winner).getPlayerGroup(), getOwner());
+ }
+ else
+ {
+ super.doReward();
+
+ Player player = (Player)winner;
+
+ // Exp reward
+ long expReward = StatFunctions.calculateSoloExperienceReward(player, getOwner());
+ player.getCommonData().addExp(expReward);
+
+ // DP reward
+ int currentDp = player.getCommonData().getDp();
+ int dpReward = StatFunctions.calculateSoloDPReward(player, getOwner());
+ player.getCommonData().setDp(dpReward + currentDp);
+
+ // AP reward
+ WorldType worldType = World.getInstance().getWorldMap(player.getWorldId()).getWorldType();
+ if(worldType == WorldType.ABYSS)
+ {
+ int apReward = StatFunctions.calculateSoloAPReward(player, getOwner());
+ player.getCommonData().addAp(apReward);
+ }
+
+ QuestEngine.getInstance().onKill(new QuestEnv(getOwner(), player, 0 , 0));
+
+ // Give Drop
+ DropService.getInstance().registerDrop(getOwner() , player, player.getLevel());
+ }
+ }
+
+ @Override
public void onRespawn()
{
super.onRespawn();
Index: main/java/com/aionemu/gameserver/services/AllianceService.java
===================================================================
--- main/java/com/aionemu/gameserver/services/AllianceService.java (revision 267)
+++ main/java/com/aionemu/gameserver/services/AllianceService.java (working copy)
@@ -29,7 +29,7 @@
import com.aionemu.gameserver.model.alliance.PlayerAllianceEvent;
import com.aionemu.gameserver.model.alliance.PlayerAllianceMember;
import com.aionemu.gameserver.model.gameobjects.Creature;
-import com.aionemu.gameserver.model.gameobjects.Monster;
+import com.aionemu.gameserver.model.gameobjects.Npc;
import com.aionemu.gameserver.model.gameobjects.player.Player;
import com.aionemu.gameserver.model.gameobjects.player.RequestResponseHandler;
import com.aionemu.gameserver.model.group.PlayerGroup;
@@ -580,7 +580,7 @@
* @param winner
* @param owner
*/
- public void doReward(PlayerAlliance alliance, Monster owner)
+ public void doReward(PlayerAlliance alliance, Npc owner)
{
// TODO: Merge with group type do-reward. (Near identical to GroupService doReward code.)
// Plus complete rewrite of drop system and exp system.
Index: main/java/com/aionemu/gameserver/services/GroupService.java
===================================================================
--- main/java/com/aionemu/gameserver/services/GroupService.java (revision 267)
+++ main/java/com/aionemu/gameserver/services/GroupService.java (working copy)
@@ -259,7 +259,7 @@
*
* @param player
*/
- public void doReward(PlayerGroup group, Monster owner)
+ public void doReward(PlayerGroup group, Npc owner)
{
// Find Group Members and Determine Highest Level
List<Player> players = new ArrayList<Player>();
Index: main/java/com/aionemu/gameserver/world/WorldMapType.java
===================================================================
--- main/java/com/aionemu/gameserver/world/WorldMapType.java (revision 267)
+++ main/java/com/aionemu/gameserver/world/WorldMapType.java (working copy)
@@ -20,6 +20,7 @@
{
// Asmodea
PANDAEMONIUM(120010000),
+ MARCHUTAN(120020000),
ISHALGEN(220010000),
MORHEIM(220020000),
ALTGARD(220030000),
@@ -28,14 +29,21 @@
// Elysia
SANCTUM(110010000),
+ KAISINEL(110020000),
POETA(210010000),
VERTERON(210030000),
ELTNEN(210020000),
HEIRON(210040000),
THEOMOBOS(210060000),
+
+ // Balaurea
+ INGGISON(210050000),
+ GELKMAROS(220070000),
+ SILENTERA_CANYON(600010000),
// Prison
PRISON(510010000),
+ DF_PRISON(520010000),
RESHANTA(400010000),
@@ -60,7 +68,27 @@
DRAUPNIR_CAVE(320080000),
FIRE_TEMPLE(320100000),
ALQUIMIA(320110000),
- ADMA_STRONGHOLD(320130000);
+ ADMA_STRONGHOLD(320130000),
+ TEMPLE_UP(300150000),
+ TEMPLE_LOW (300160000),
+ CATACOMBS(300170000),
+ ELIM (300190000),
+ NOVICE(300200000),
+ DREDGION_02(300210000),
+ DEBRIS_OF_ABYSS(300220000),
+ CROMEDE(300230000),
+ ABPROD3(320140000),
+ DF1B(320060000),
+ SPACE(320070000),
+ DC1_ARENA(320090000),
+ DC1_ARENA_3F(320120000),
+
+ //Test Map
+ TEST_BASIC(900020000),
+ TEST_SERVER(900030000),
+ TEST_GIANTMONSTER(900100000),
+ HOUSING_BARRACK(900110000);
+
private final int worldId;
Index: main/java/com/aionemu/gameserver/world/WorldType.java
===================================================================
--- main/java/com/aionemu/gameserver/world/WorldType.java (revision 267)
+++ main/java/com/aionemu/gameserver/world/WorldType.java (working copy)
@@ -24,6 +24,7 @@
{
ASMODAE,
ELYSEA,
+ BALAUREA,
ABYSS,
PRISON,
NONE
Вот капайте, объясню взять и применить нельзя, патч не для этой сборки..
Но разобрать можно
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Сообщений: 29
Тем: 3
Зарегистрирован: Jan 2011
Репутация:
7
Спасибо Wolfas за информацию.
Благодаря вашему посту, внес изменения в AE276. Однако как агрились гварды так и агрятся.
Брал уже npc_temlates.xml и tribe_relations.xml от сборок где все нормально, но все безуспешно.
Буду очень признателен, если укажите направления куда теперь копать.
Сообщений: 202
Тем: 7
Зарегистрирован: Dec 2010
Репутация:
54
Дело не в ядре, а в файле спавна осад, там прописывается спавн для двух режимов в которых может находится крепость:
- осада возможна (тег в файле siege_guard)
- осада невозможна ( тег в файле peace_guard)
Плюс ко всему, все мобы которые спавняться в обоих режимах должны имень тип NON_ATTACKABLE в файле npc_templates.xml, кроме мобов(гвардов) которые спавняться если крепость пренадлежит баллаурам, все гварды баллауров должны быть ATTACKABLE, иначе крепость на захватить.
Как определить кто для какой рассы спавнится:
- тег npcid_dr - спавн гвардов для баллауров
- тег npcid_da - спавн гвардов для асмо
- тег npcid_li - спавн гвардов для элийцев
А также не все мобы подходят для спавна в определённых режимах (хз почему), тут надо опытным путём определить какие мобы подходят.
Вот можете попробовать:
часть кода для крепы Серного дерева
PHP код: <?php
<!-- Крепость серного дерева -->
<siege_spawn location_id="1141">
<!--Forteresse de Souffre-->
<guards>
<!-- OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO -->
<!-- Spawned when Fortress is under Siege -->
<!-- OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO -->
<!-- Danorum / Kiniras, Guerisseur d'ame, Elite, level 45-->
<siege_guard npcid_dr="264721" npcid_da="264720" npcid_li="264719">
<loc x="1383.3" y="1221.0" z="1514.7" h="101"/>
</siege_guard>
<!-- Soert / Tidides, Proprietaire d'entrepot, normal, level 40-->
<siege_guard npcid_dr="0" npcid_da="264717" npcid_li="264715">
<loc x="1412.0" y="1178.4" z="1514.7" h="41"/>
</siege_guard>
<!-- Naun / Proserpine, Quartier-maitre de la Forteresse abyssale, normal, level 40-->
<siege_guard npcid_dr="263514" npcid_da="264767" npcid_li="264766">
<loc x="1372.0" y="1152.1" z="1514.7" h="41"/>
</siege_guard>
<!-- Sygfuson / Chrisotemis, Teleporteur de la forteresse, Elite, level 40-->
<siege_guard npcid_dr="264724" npcid_da="264723" npcid_li="264722">
<loc x="1342.8" y="1194.3" z="1514.7" h="101"/>
</siege_guard>
<!-- Gudharten / Pontus, Officier d'etat-major, normal, level 40-->
<siege_guard npcid_dr="0" npcid_da="264769" npcid_li="264768">
<loc x="1354.1" y="1170.3" z="1507.4" h="11"/>
</siege_guard>
<!-- Aulen / Thestios, Responsable du Nid de l'Arbre de Soufre, normal, level 40-->
<siege_guard npcid_dr="0" npcid_da="264798" npcid_li="264797">
<loc x="1343.3" y="1241.3" z="1496.6" h="73"/>
</siege_guard>
<!-- Lasario / Forbin, Entrepot des Legions, normal, level 40-->
<siege_guard npcid_dr="263514" npcid_da="264718" npcid_li="264716">
<loc x="1331.5" y="1242.1" z="1497.0" h="100"/>
</siege_guard>
<siege_guard npcid_dr="253671" npcid_da="253668" npcid_li="253665">
<loc x="1516.4153" y="1468.9309" z="1545.625" h="75"/>
<loc x="1535.625" y="1576.625" z="1548.625" h="90"/>
<loc x="1538.75" y="1448.75" z="1545.625" h="30"/>
<loc x="1558.5582" y="1513.4441" z="1545.625" h="75"/>
<loc x="1545.625" y="1407" z="1539.25" h="75"/>
<loc x="1539.375" y="1602" z="1551.875" h="0"/>
<loc x="1597.875" y="1525.125" z="1544.25" h="75"/>
<loc x="1485.0699" y="1591.2552" z="1558.25" h="15"/>
<loc x="1556" y="1547.375" z="1545.625" h="0"/>
<loc x="1599" y="1454.125" z="1539.25" h="75"/>
<loc x="1504.3312" y="1510.5634" z="1545.625" h="97"/>
<loc x="1489.5" y="1497.125" z="1550" h="75"/>
<loc x="1549.625" y="1478.5" z="1545.625" h="90"/>
<loc x="1552.125" y="1400" z="1539.25" h="75"/>
<loc x="1462" y="1554.25" z="1558.25" h="75"/>
<loc x="1578.25" y="1370.75" z="1539.25" h="0"/>
<loc x="1588.0135" y="1392.8732" z="1539.25" h="75"/>
</siege_guard>
<siege_guard npcid_dr="264545" npcid_da="264540" npcid_li="264535">
<loc x="1332.8721" y="1201.2318" z="1530.669" h="53"/>
<loc x="1421.6354" y="1216.975" z="1529.427" h="13"/>
<loc x="1431.9983" y="1217.0814" z="1526.9526" h="13"/>
<loc x="1314.9027" y="1225.5251" z="1446.6151" h="30"/>
<loc x="1307.0927" y="1227.0422" z="1446.6151" h="45"/>
<loc x="1425.5439" y="1226.1681" z="1527.0428" h="13"/>
<loc x="1326.3546" y="1185.3975" z="1527.0764" h="53"/>
<loc x="1295.9673" y="1182.2212" z="1462.2762" h="45"/>
<loc x="1411.9114" y="1143.9728" z="1532.6819" h="103"/>
<loc x="1302.2092" y="1186.2495" z="1462.2762" h="30"/>
<loc x="1309.0438" y="1214.4165" z="1446.6151" h="93"/>
<loc x="1358.3098" y="1138.7268" z="1527.027" h="83"/>
<loc x="1397.6354" y="1234.725" z="1527.927" h="25"/>
<loc x="1304.9171" y="1173.3638" z="1462.2762" h="93"/>
<loc x="1350.0548" y="1233.0474" z="1532.686" h="43"/>
<loc x="1421.8302" y="1172.928" z="1531.6671" h="115"/>
<loc x="1371.4456" y="1234.7545" z="1531.4905" h="30"/>
<loc x="1330.5475" y="1147.0215" z="1527.0868" h="72"/>
<loc x="1430.0778" y="1188.1866" z="1527.3635" h="115"/>
<loc x="1357.1354" y="1217.725" z="1531.7247" h="103"/>
<loc x="1324.2587" y="1156.1975" z="1526.9564" h="72"/>
<loc x="1375.2323" y="1139.298" z="1534.4769" h="83"/>
<loc x="1303.3601" y="1219.5789" z="1446.6151" h="65"/>
<loc x="1392.3271" y="1203.209" z="1467.3636" h="27"/>
<loc x="1401.8655" y="1201.3394" z="1467.3636" h="27"/>
<loc x="1399.0104" y="1156.225" z="1534.2583" h="43"/>
<loc x="1338.7252" y="1211.6003" z="1497.7999" h="17"/>
<loc x="1297.8805" y="1174.3344" z="1462.2762" h="70"/>
</siege_guard>
<siege_guard npcid_dr="275417" npcid_da="275413" npcid_li="275409">
<loc x="1317.7181" y="1208.0804" z="1511.9186" h="60"/>
<loc x="1375.8285" y="1115.5779" z="1515.0422" h="80"/>
<loc x="1376.6493" y="1255.7566" z="1512.6686" h="40"/>
<loc x="1316.7645" y="1096.7095" z="1509.2745" h="75"/>
<loc x="1436.5087" y="1140.5394" z="1513.1892" h="0"/>
<loc x="1300.2662" y="1110.6628" z="1508.7654" h="75"/>
<loc x="1457.2384" y="1261.4532" z="1509.9077" h="10"/>
</siege_guard>
<siege_guard npcid_dr="264714" npcid_da="0" npcid_li="0">
<loc x="1331.5537" y="1242.067" z="1497.7002" h="100"/>
<loc x="1411.8854" y="1178.35" z="1516.177" h="40"/>
<loc x="1372.0132" y="1152.0894" z="1515.6284" h="40"/>
</siege_guard>
<siege_guard npcid_dr="264530" npcid_da="264525" npcid_li="264520">
<loc x="1322.8817" y="1148.892" z="1512.1241" h="73"/>
<loc x="1362.4752" y="1218.1003" z="1494.7623" h="103"/>
<loc x="1433.7468" y="1225.8188" z="1513.6843" h="13"/>
<loc x="1317.5482" y="1152.2761" z="1511.6411" h="70"/>
<loc x="1438.3782" y="1221.3956" z="1512.349" h="10"/>
<loc x="1324.9764" y="1142.0092" z="1511.3505" h="70"/>
<loc x="1431.682" y="1231.4208" z="1512.0818" h="10"/>
</siege_guard>
<siege_guard npcid_dr="253653" npcid_da="253650" npcid_li="253647">
<loc x="1545.625" y="1407" z="1540.875" h="75"/>
<loc x="1552.125" y="1400" z="1540.875" h="75"/>
<loc x="1599" y="1454.125" z="1544.25" h="75"/>
<loc x="1504.3312" y="1510.5634" z="1550.625" h="97"/>
<loc x="1556" y="1547.375" z="1550.625" h="105"/>
<loc x="1514.3381" y="1510.8472" z="1550.625" h="97"/>
</siege_guard>
<siege_guard npcid_dr="264721" npcid_da="0" npcid_li="0">
<loc x="1383.3854" y="1220.975" z="1515.6284" h="97"/>
</siege_guard>
<siege_guard npcid_dr="0" npcid_da="0" npcid_li="0">
<loc x="1309.1754" y="1094.8853" z="1514.5398" h="75"/>
<loc x="1301.4418" y="1101.4568" z="1514.5398" h="75"/>
</siege_guard>
<siege_guard npcid_dr="253680" npcid_da="253677" npcid_li="253674">
<loc x="1514.3381" y="1510.8472" z="1545.625" h="97"/>
<loc x="1511.375" y="1609.375" z="1558.25" h="75"/>
<loc x="1539.4536" y="1528.111" z="1545.625" h="30"/>
<loc x="1581.25" y="1473.75" z="1539.25" h="30"/>
<loc x="1565.25" y="1398.625" z="1539.25" h="60"/>
<loc x="1473.125" y="1532.875" z="1558.25" h="75"/>
<loc x="1614.5" y="1430.25" z="1544.25" h="75"/>
</siege_guard>
<siege_guard npcid_dr="275416" npcid_da="275412" npcid_li="275408">
<loc x="1304.501" y="1165.9121" z="1445.707" h="90"/>
<loc x="1297.626" y="1206.4121" z="1466.582" h="75"/>
<loc x="1288.876" y="1159.9121" z="1461.707" h="83"/>
<loc x="1312.251" y="1206.6621" z="1430.332" h="75"/>
<loc x="1282.126" y="1195.9121" z="1461.582" h="60"/>
</siege_guard>
<siege_guard npcid_dr="275414" npcid_da="275410" npcid_li="275406">
<loc x="1310.251" y="1223.1621" z="1461.207" h="60"/>
<loc x="1303.126" y="1239.4121" z="1454.582" h="50"/>
<loc x="1284.376" y="1178.5371" z="1461.082" h="60"/>
<loc x="1323.251" y="1233.1621" z="1446.582" h="30"/>
</siege_guard>
<siege_guard npcid_dr="264741" npcid_da="264736" npcid_li="264731">
<loc x="1463.0406" y="1252.6617" z="1509.8079" h="10"/>
<loc x="1308.5646" y="1102.4808" z="1508.8545" h="75"/>
</siege_guard>
<siege_guard npcid_dr="253662" npcid_da="253659" npcid_li="253656">
<loc x="1581.25" y="1473.75" z="1544.25" h="75"/>
</siege_guard>
<siege_guard npcid_dr="0" npcid_da="0" npcid_li="0">
<loc x="1355.6611" y="1177.475" z="1507.9337" h="103"/>
</siege_guard>
<siege_guard npcid_dr="0" npcid_da="0" npcid_li="0">
<loc x="1398.1935" y="1188.8375" z="1470.1241" h="27"/>
<loc x="1392.0831" y="1190.1953" z="1470.1241" h="27"/>
</siege_guard>
<siege_guard npcid_dr="264762" npcid_da="264761" npcid_li="264760">
<loc x="1353.9907" y="1210.1887" z="1497.6973" h="45"/>
</siege_guard>
<!-- Captured Elyos Prisoner (NPC Normal lvl:28)-->
<siege_guard npcid_dr="253623" npcid_da="253623" npcid_li="253626">
<loc x="1583.9425" y="1420.9829" z="1538.0168" h="108"/>
<loc x="1581.059" y="1429.4629" z="1538.0168" h="36"/>
<loc x="1565.3157" y="1442.2593" z="1537.654" h="96"/>
<loc x="1568.526" y="1425.0121" z="1538.0168" h="88"/>
<loc x="1589.4976" y="1436.0986" z="1537.654" h="56"/>
</siege_guard>
<!-- OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO -->
<!-- Spawned when Fortress is invulnerable (Only for Fortresses) -->
<!-- OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO -->
<!-- Rodeur de la Forteresse, normal, level 40-->
<peace_guard npcid_dr="260257" npcid_da="260256" npcid_li="260255">
<loc x="1446.4" y="1266.4" z="1509.6" h="19"/>
<loc x="1437.0" y="1150.1" z="1513.0" h="75"/>
<loc x="1437.4" y="1077.4" z="1516.4" h="85"/>
<loc x="1407.7" y="1074.8" z="1516.2" h="39"/>
<loc x="1327.7" y="1233.1" z="1512.0" h="83"/>
<loc x="1354.7" y="1274.0" z="1510.8" h="64"/>
</peace_guard>
<!-- Defenseur de la Forteresse, normal, level 40-->
<peace_guard npcid_dr="260254" npcid_da="260253" npcid_li="260252">
<loc x="1431.6" y="1231.3" z="1512.1" h="13"/>
<loc x="1438.5" y="1221.4" z="1512.3" h="10"/>
<loc x="1417.3" y="1245.1" z="1512.4" h="5"/>
<loc x="1450.6" y="1195.1" z="1512.9" h="88"/>
<loc x="1349.8" y="1121.6" z="1511.3" h="97"/>
<loc x="1325.0" y="1142.0" z="1511.6" h="72"/>
<loc x="1317.4" y="1152.3" z="1511.6" h="69"/>
<loc x="1313.5" y="1174.2" z="1511.7" h="25"/>
</peace_guard>
<!-- Mercenaire de la Forteresse, Elite, level 40-->
<peace_guard npcid_dr="260197" npcid_da="260196" npcid_li="260195">
<loc x="1367.1" y="1252.2" z="1512.0" h="92"/>
<loc x="1406.0" y="1203.2" z="1514.3" h="102"/>
<loc x="1365.3" y="1205.3" z="1514.3" h="45"/>
<loc x="1390.6" y="1166.2" z="1514.3" h="56"/>
<loc x="1351.0" y="1171.9" z="1514.3" h="74"/>
<loc x="1362.7" y="1218.1" z="1495.5" h="88"/>
<loc x="1399.0" y="1237.5" z="1484.4" h="94"/>
<loc x="1429.9" y="1223.1" z="1475.5" h="47"/>
</peace_guard>
<!-- Tireur d'elite de la Forteresse, Elite, level 40-->
<peace_guard npcid_dr="266981" npcid_da="260199" npcid_li="266979">
<loc x="1429.8" y="1188.2" z="1527.4" h="113"/>
<loc x="1432.1" y="1217.2" z="1526.7" h="11"/>
<loc x="1421.3" y="1216.8" z="1528.3" h="12"/>
<loc x="1426.0" y="1226.1" z="1526.7" h="4"/>
<loc x="1397.9" y="1235.0" z="1527.4" h="31"/>
<loc x="1371.9" y="1234.9" z="1531.5" h="26"/>
<loc x="1349.7" y="1233.1" z="1532.7" h="41"/>
<loc x="1356.9" y="1217.6" z="1531.8" h="101"/>
<loc x="1333.1" y="1201.0" z="1531.2" h="57"/>
<loc x="1326.7" y="1185.3" z="1526.7" h="50"/>
<loc x="1324.3" y="1156.3" z="1526.7" h="71"/>
<loc x="1330.7" y="1147.0" z="1526.7" h="69"/>
<loc x="1358.2" y="1139.3" z="1526.7" h="91"/>
<loc x="1375.2" y="1139.2" z="1531.2" h="85"/>
<loc x="1398.8" y="1156.9" z="1531.6" h="40"/>
<loc x="1411.9" y="1144.1" z="1532.7" h="100"/>
<loc x="1423.0" y="1173.0" z="1531.5" h="116"/>
<loc x="1375.7" y="1184.7" z="1536.0" h="11"/>
<loc x="1373.3" y="1178.1" z="1507.4" h="58"/>
<loc x="1368.2" y="1186.0" z="1507.4" h="9"/>
<loc x="1338.7" y="1211.6" z="1497.8" h="0"/>
<loc x="1322.0" y="1197.4" z="1488.0" h="41"/>
<loc x="1315.8" y="1179.8" z="1483.7" h="28"/>
<loc x="1292.0" y="1190.4" z="1480.3" h="46"/>
<loc x="1293.7" y="1192.8" z="1480.3" h="55"/>
<loc x="1401.9" y="1201.3" z="1467.4" h="21"/>
<loc x="1392.4" y="1203.2" z="1467.4" h="30"/>
</peace_guard>
<!-- Arcaniste de la Forteresse, normal, level 40-->
<peace_guard npcid_dr="260260" npcid_da="260259" npcid_li="260258">
<loc x="1473.2" y="1249.1" z="1509.8" h="68"/>
<loc x="1462.1" y="1145.9" z="1511.5" h="39"/>
<loc x="1380.5" y="1106.6" z="1515.6" h="68"/>
<loc x="1302.7" y="1111.4" z="1508.9" h="18"/>
<loc x="1280.9" y="1167.3" z="1507.9" h="34"/>
</peace_guard>
<!-- Danorum / Kiniras, Guerisseur d'ame, Elite, level 45-->
<peace_guard npcid_dr="264721" npcid_da="264720" npcid_li="264719">
<loc x="1383.3" y="1221.0" z="1514.7" h="101"/>
</peace_guard>
<!-- Soert / Tidides, Proprietaire d'entrepot, normal, level 40-->
<peace_guard npcid_dr="0" npcid_da="264717" npcid_li="264715">
<loc x="1412.0" y="1178.4" z="1514.7" h="41"/>
</peace_guard>
<!-- Naun / Proserpine, Quartier-maitre de la Forteresse abyssale, normal, level 40-->
<peace_guard npcid_dr="263514" npcid_da="264767" npcid_li="264766">
<loc x="1372.0" y="1152.1" z="1514.7" h="41"/>
</peace_guard>
<!-- Sygfuson / Chrisotemis, Teleporteur de la forteresse, Elite, level 40-->
<peace_guard npcid_dr="264724" npcid_da="264723" npcid_li="264722">
<loc x="1342.8" y="1194.3" z="1514.7" h="101"/>
</peace_guard>
<!-- Gudharten / Pontus, Officier d'etat-major, normal, level 40-->
<peace_guard npcid_dr="0" npcid_da="264769" npcid_li="264768">
<loc x="1354.1" y="1170.3" z="1507.4" h="11"/>
</peace_guard>
<!-- Aulen / Thestios, Responsable du Nid de l'Arbre de Soufre, normal, level 40-->
<peace_guard npcid_dr="0" npcid_da="264798" npcid_li="264797">
<loc x="1343.3" y="1241.3" z="1496.6" h="73"/>
</peace_guard>
<!-- Lasario / Forbin, Entrepot des Legions, normal, level 40-->
<peace_guard npcid_dr="263514" npcid_da="264718" npcid_li="264716">
<loc x="1331.5" y="1242.1" z="1497.0" h="100"/>
</peace_guard>
<!-- Captured Elyos Prisoner (NPC Normal lvl:28)-->
<peace_guard npcid_dr="253623" npcid_da="253623" npcid_li="253626">
<loc x="1583.9425" y="1420.9829" z="1538.0168" h="108"/>
<loc x="1581.059" y="1429.4629" z="1538.0168" h="36"/>
<loc x="1565.3157" y="1442.2593" z="1537.654" h="96"/>
<loc x="1568.526" y="1425.0121" z="1538.0168" h="88"/>
<loc x="1589.4976" y="1436.0986" z="1537.654" h="56"/>
</peace_guard>
</guards>
<!-- Fortress General -->
<fortress_general>
<baseinfo npcid_dr="264515" npcid_da="264510" npcid_li="264505" x="1393.3375" y="1180.9839" z="1468.8658" h="27"/>
</fortress_general>
<!--Artefact - Aura de guerison-->
<artifact>
<baseinfo npcid_dr="277050" npcid_da="277049" npcid_li="277048" x="1334.7935" y="1236.0947" z="1490.6266" h="100"/>
<artifact_effect skillid="12072" range="WORLD"/>
</artifact>
<!--<aetheric_field>
<generator>
<baseinfo npcid_dr="0" npcid_da="0" npcid_li="0" x="0" y="0" z="0" h="0"/>
</generator>
<aetheric_shield>
<baseinfo npcid_dr="0" npcid_da="0" npcid_li="0" x="0" y="0" z="0" h="0"/>
</aetheric_shield>
</aetheric_field>-->
</siege_spawn>
Для проверки сделайте резрвную копию своего файла, потом по id крепы найдите в файле siege_spawns.xml ( gameserver\data\static_data\siege) и замените на код. Да и что бы всё работало необходимо как я уже говорил чтобы все гварды кроме гвардов баллауров имели тип NON_ATTACKABLE.
|