Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Документация (https://forum.zone-game.info/forumdisplay.php?f=149)
-   -   Барьеры (https://forum.zone-game.info/showthread.php?t=12968)

akioharu 18.03.2011 22:58

Re: Барьеры
 
Цитата:

Сообщение от ALeKsIuS (Сообщение 113583)
Скажи где они лежать, и я попробую сделать их.

в ПМ.
если получится будет здорово :)

TAG 21.03.2011 04:12

Re: Барьеры
 
akioharu, Лучше бы в паблик кинул.
Так только больше вопросов и недопонимания будет

akioharu 21.03.2011 10:07

Re: Барьеры
 
это то что мне удалось найти по щитах в Бездне

Цитата:

Name="AbyssShield50" Pos="721.44769 2959.4202 2821.2832" staticid="112"
Name="AbyssShield_1011" Pos="2137.8767 1930.694 2320.9912" staticid="108"
Name="AbyssShield69" Pos="721.44769 2959.4202 2821.2832" staticid="64"
Name="AbyssShield_1131_3" Pos="3194.3784 2680.4648 1464.6316" staticid="62"
Name="AbyssShield_1221" Pos="2057.252 1274.3221 2962.1426" staticid="124"
Name="AbyssShield70" Pos="2137.877 1930.6941 2320.9912" staticid="61"
Name="AbyssShield_1131_2" Pos="2986.9631 2588.6985 1473.5813" staticid="60"
Name="Ab_fx_FloatIsland_30" Pos="2662.9165 788.01215 2825.7717" staticid="1085"
Name="AbyssShield_1141" Pos="1378.2087 1186.6694 1513.2682" staticid="56"
Name="AbyssShield_1132_2" Pos="2653.6978 3065.5557 1466.7205" staticid="47"
Name="AbyssShield_1131" Pos="2789.4099 2609.1375 1502.6682" staticid="1287"
Name="AbyssShield_1132_4" Pos="2624.9453 2957.0745 1488.9301" staticid="46"
Name="AbyssShield_1132_3" Pos="2801.7937 3216.1006 1455.9631" staticid="45"
Name="AbyssShield_1132" Pos="2606.967 2851.6667 1505.1196" staticid="44"
Name="AbyssShield_1231" Pos="2506.1191 2108.22 3048.5718" staticid="122"
Name="AbyssShield2" Pos="2593.626 758.56476 2886.7622" staticid="52"
Name="AbyssShield1" Pos="2734.6084 800.68066 2870.9817" staticid="48"

Horizon 21.03.2011 15:14

Re: Барьеры
 
вот с форума AXE. мб поможет

Код:

Index: src/gameserver/controllers/PlayerController.java
===================================================================
--- src/gameserver/controllers/PlayerController.java        (revision 149)
+++ /src/gameserver/controllers/PlayerController.java        (working copy)
@@ -25,6 +25,7 @@
 import gameserver.controllers.attack.AttackUtil;
 import gameserver.dataholders.DataManager;
 import gameserver.model.EmotionType;
+import gameserver.model.Race;
 import gameserver.model.TaskId;
 import gameserver.model.alliance.PlayerAllianceEvent;
 import gameserver.model.gameobjects.Creature;
@@ -85,6 +86,7 @@
 import gameserver.utils.ThreadPoolManager;
 import gameserver.world.World;
 import gameserver.world.zone.ZoneInstance;
+import gameserver.world.zone.ZoneName;
 
 /**
  * This class is for controlling players.
@@ -212,6 +214,7 @@
        public void onEnterZone(ZoneInstance zoneInstance)
        {
                QuestEngine.getInstance().onEnterZone(new QuestEnv(null, this.getOwner(), 0, 0), zoneInstance.getTemplate().getName());
+                checkAbyssMainFortress(zoneInstance);
        }
 
        /**
@@ -223,7 +226,41 @@
        {
 
        }
-
+        private void checkAbyssMainFortress(ZoneInstance zoneInstance)
+        {
+                Player player = getOwner();
+               
+                if(player.getLifeStats().isAlreadyDead() || player.isGM())
+                        return;
+               
+                // Prevent enemy players from entering the main Abyss fortress Zone.
+                // TODO: Instead of using zone, need to build a precise shield globe.
+                Race race = player.getCommonData().getRace();
+                ZoneName zone = zoneInstance.getTemplate().getName();
+               
+                boolean isAsmoBase = (zone == ZoneName.PRIMUM_TRAINING_CAMP_400010000 ||
+                        zone == ZoneName.PRIMUM_WHARF_400010000 ||
+                        zone == ZoneName.RUSSET_PLAZA_400010000 ||
+                        zone == ZoneName.PRIMUM_PLAZA_400010000 ||
+                        zone == ZoneName.NOBELIUM_FRAGMENT_400010000 ||
+                        zone == ZoneName.BROKEN_NOBELIUM_400010000 ||
+                        zone == ZoneName.PRIMUM_FORTRESS_400010000);
+                       
+                boolean isElyosBase = (zone == ZoneName.WAREHOUSE_CONSTRUCTION_SITE_400010000 ||
+                        zone == ZoneName.WEATHERED_CRAG_400010000 ||
+                        zone == ZoneName.TEMINON_WHARF_400010000 ||
+                        zone == ZoneName.LATIS_PLAZA_400010000 ||
+                        zone == ZoneName.TEMINON_FORTRESS_400010000 ||
+                        zone == ZoneName.TEMINONS_LEAP_400010000 ||
+                        zone == ZoneName.TEMINON_TRAINING_CAMP_400010000);
+                       
+                if ((race == Race.ELYOS && isAsmoBase) || (race == Race.ASMODIANS && isElyosBase))
+                {
+                        die();
+                }
+               
+        }
+
        /**
          * Set zone instance as null (Where no zones defined)
          */


xobotyi 22.03.2011 11:01

Re: Барьеры
 
Цитата:

Сообщение от Horizon (Сообщение 113948)
вот с форума AXE. мб поможет

Код:

Index: src/gameserver/controllers/PlayerController.java
===================================================================
--- src/gameserver/controllers/PlayerController.java        (revision 149)
+++ /src/gameserver/controllers/PlayerController.java        (working copy)
@@ -25,6 +25,7 @@
 import gameserver.controllers.attack.AttackUtil;
 import gameserver.dataholders.DataManager;
 import gameserver.model.EmotionType;
+import gameserver.model.Race;
 import gameserver.model.TaskId;
 import gameserver.model.alliance.PlayerAllianceEvent;
 import gameserver.model.gameobjects.Creature;
@@ -85,6 +86,7 @@
 import gameserver.utils.ThreadPoolManager;
 import gameserver.world.World;
 import gameserver.world.zone.ZoneInstance;
+import gameserver.world.zone.ZoneName;
 
 /**
  * This class is for controlling players.
@@ -212,6 +214,7 @@
        public void onEnterZone(ZoneInstance zoneInstance)
        {
                QuestEngine.getInstance().onEnterZone(new QuestEnv(null, this.getOwner(), 0, 0), zoneInstance.getTemplate().getName());
+                checkAbyssMainFortress(zoneInstance);
        }
 
        /**
@@ -223,7 +226,41 @@
        {
 
        }
-
+        private void checkAbyssMainFortress(ZoneInstance zoneInstance)
+        {
+                Player player = getOwner();
+               
+                if(player.getLifeStats().isAlreadyDead() || player.isGM())
+                        return;
+               
+                // Prevent enemy players from entering the main Abyss fortress Zone.
+                // TODO: Instead of using zone, need to build a precise shield globe.
+                Race race = player.getCommonData().getRace();
+                ZoneName zone = zoneInstance.getTemplate().getName();
+               
+                boolean isAsmoBase = (zone == ZoneName.PRIMUM_TRAINING_CAMP_400010000 ||
+                        zone == ZoneName.PRIMUM_WHARF_400010000 ||
+                        zone == ZoneName.RUSSET_PLAZA_400010000 ||
+                        zone == ZoneName.PRIMUM_PLAZA_400010000 ||
+                        zone == ZoneName.NOBELIUM_FRAGMENT_400010000 ||
+                        zone == ZoneName.BROKEN_NOBELIUM_400010000 ||
+                        zone == ZoneName.PRIMUM_FORTRESS_400010000);
+                       
+                boolean isElyosBase = (zone == ZoneName.WAREHOUSE_CONSTRUCTION_SITE_400010000 ||
+                        zone == ZoneName.WEATHERED_CRAG_400010000 ||
+                        zone == ZoneName.TEMINON_WHARF_400010000 ||
+                        zone == ZoneName.LATIS_PLAZA_400010000 ||
+                        zone == ZoneName.TEMINON_FORTRESS_400010000 ||
+                        zone == ZoneName.TEMINONS_LEAP_400010000 ||
+                        zone == ZoneName.TEMINON_TRAINING_CAMP_400010000);
+                       
+                if ((race == Race.ELYOS && isAsmoBase) || (race == Race.ASMODIANS && isElyosBase))
+                {
+                        die();
+                }
+               
+        }
+
        /**
          * Set zone instance as null (Where no zones defined)
          */


код построен неверно, точнее не так, код то верный но щиты будут убивать и тех кто пехом будет заходить в крепы..


Текущее время: 23:43. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot