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

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Серверная часть (https://forum.zone-game.info/forumdisplay.php?f=148)
-   -   Баги в aion lightning (https://forum.zone-game.info/showthread.php?t=9550)

DSRClient 12.08.2010 01:14

Баги в aion lightning
 
В общем такая ситуация, после сдачи квеста некоторые квест итемы остаются в инвентаре. Хламом забиты мешки под завязку, выкинуть тоже нельзя. Что делать? Дропать из базы ручками не вариант.
Может в процессе сборки сервера можно где то это исправить?

Shamanidze 12.08.2010 02:40

Re: Баги в aion lightning
 
Поиск рулит. Еще на юниках на последних ревах это сделали.
4 файла поправить и компилить сервер.

DSRClient 12.08.2010 02:52

Re: Баги в aion lightning
 
нашел заплатку :)

Код:

Index: java/com/aionemu/gameserver/model/items/ItemMask.java
===================================================================
--- java/com/aionemu/gameserver/model/items/ItemMask.java        (revision 107)
+++ java/com/aionemu/gameserver/model/items/ItemMask.java        (working copy)
@@ -14,7 +14,7 @@
        public static final int TEMP_ITEM = (1 << 7);
        public static final int UNK9 = (1 << 8);
        public static final int STORABLE_IN_LEGION_WH = (1 << 9);
-        public static final int UNDELETABLE_QUEST_ITEMS = (1 << 10);
+        public static final int UNK11 = (1 << 10);
        public static final int UNK12 = (1 << 11);
        public static final int BLACK_CLOUD_TRADERS = (1 << 12);
        public static final int CAN_SPLIT = (1 << 13);
Index: java/com/aionemu/gameserver/model/templates/item/ItemTemplate.java
===================================================================
--- java/com/aionemu/gameserver/model/templates/item/ItemTemplate.java        (revision 107)
+++ java/com/aionemu/gameserver/model/templates/item/ItemTemplate.java        (working copy)
@@ -575,13 +575,4 @@
        {
                return (getMask() & ItemMask.SOUL_BOUND) == ItemMask.SOUL_BOUND;
        }
-       
-        /**
-        *
-        * @return
-        */
-        public boolean isUndeletableQuestItem()
-        {
-                return (getMask() & ItemMask.UNDELETABLE_QUEST_ITEMS) == ItemMask.UNDELETABLE_QUEST_ITEMS;
-        }
 }
Index: java/com/aionemu/gameserver/network/aion/clientpackets/CM_DELETE_ITEM.java
===================================================================
--- java/com/aionemu/gameserver/network/aion/clientpackets/CM_DELETE_ITEM.java        (revision 107)
+++ java/com/aionemu/gameserver/network/aion/clientpackets/CM_DELETE_ITEM.java        (working copy)
@@ -22,8 +22,6 @@
 import com.aionemu.gameserver.model.gameobjects.player.Storage;
 import com.aionemu.gameserver.network.aion.AionClientPacket;
 import com.aionemu.gameserver.network.aion.serverpackets.SM_DELETE_ITEM;
-import com.aionemu.gameserver.network.aion.serverpackets.SM_SYSTEM_MESSAGE;
-import com.aionemu.gameserver.utils.PacketSendUtility;
 /**
  *
  * @author Avol
@@ -52,12 +50,6 @@
                Player player = getConnection().getActivePlayer();
                Storage bag = player.getInventory();
                Item resultItem = bag.getItemByObjId(objId);
-                if (resultItem.getItemTemplate().isUndeletableQuestItem())
-                {
-                        PacketSendUtility.sendPacket(player, SM_SYSTEM_MESSAGE.STR_QUEST_GIVEUP_WHEN_DELETE_QUEST_ITEM_IMPOSSIBLE(new DescriptionId(Integer
-                                .parseInt(resultItem.getName())))); // TODO specify the quest name wich item belongs to
-                        return;
-                }
                if (resultItem != null)
                        bag.removeFromBag(resultItem, true);
                sendPacket(new SM_DELETE_ITEM(objId));
Index: java/com/aionemu/gameserver/network/aion/serverpackets/SM_SYSTEM_MESSAGE.java
===================================================================
--- java/com/aionemu/gameserver/network/aion/serverpackets/SM_SYSTEM_MESSAGE.java        (revision 107)
+++ java/com/aionemu/gameserver/network/aion/serverpackets/SM_SYSTEM_MESSAGE.java        (working copy)
@@ -1025,14 +1025,6 @@
        public static SM_SYSTEM_MESSAGE        STR_ITEM_CANT_USE_UNTIL_DELAY_TIME        = new SM_SYSTEM_MESSAGE(1300494);
       
        /**
-        * You cannot destroy %0 because it is used in the "%1" quest which cannot be abandoned once started.
-        */
-        public static SM_SYSTEM_MESSAGE        STR_QUEST_GIVEUP_WHEN_DELETE_QUEST_ITEM_IMPOSSIBLE(DescriptionId nameId)
-        {
-                return new SM_SYSTEM_MESSAGE(1300604, nameId);
-        }
-
-        /**
          * You cannot fly in this area.
          */
        public static SM_SYSTEM_MESSAGE        STR_FLYING_FORBIDDEN_HERE                        = new SM_SYSTEM_MESSAGE(1300960);


creative 12.08.2010 12:48

Re: Баги в aion lightning
 
Цитата:

Сообщение от Shamanidze (Сообщение 83343)
Поиск рулит. Еще на юниках на последних ревах это сделали.
4 файла поправить и компилить сервер.

файлы если не сложно можешь выложить ? или подскажи какие поправить.

undertrey 12.08.2010 13:16

Re: Баги в aion lightning
 
+1 еще лучше кинь его на форуме молнии, я попробую протолкнуть его в последнюю реву

DSRClient 12.08.2010 13:16

Re: Баги в aion lightning
 
Цитата:

Сообщение от creative (Сообщение 83376)
файлы если не сложно можешь выложить ? или подскажи какие поправить.

Если ты компилируешь сервер из SVN сам тогда:

тут все просто, копируешь в тектовый документ "заплатку"
сохраняешь ее под именем quest_fix.patch в принципе имя можно использовать любое :) расширение файла должно соответствовать.

Кидаешь файл quest_fix.patch в папку с репозиторием, на нее правой кнопкой мыши, в выпадающем меню "черепашки" (если всеже ты льешь сбоку из SVN) появится синий крест и что то там про заплатку. Нажимаешь на него. Дальше все интуитивно просто. в левой части экрана высвечивается список с 4-я файлами. Жамкаешь на них и выбираешь приметь ко всем. потом сейв и компилируешь сервер заново.

p.s прошу прощения не могу выложить скрины. так как сижу в баре с лаптопом, на нем нет нужных тузл. :) если не разберешься завтра с работы выложу скрины :)

undertrey 12.08.2010 13:42

Re: Баги в aion lightning
 
эм...качаешь чистую реву айон лайтнинг (последнюю) изменяешь эти 4 файла, пкм на папку, создать заплатку (креейт патч), и патч на форум молнии.

Они только так принимают, когда патч делан на последней реве.

п.с. мне конечно не трудно содрать патч отсюда но лучше будет если его выложит автор идеи))

Shamanidze 12.08.2010 13:55

Re: Баги в aion lightning
 
да я не могу уже кидать патчи туда
во в чем трабла
видимо лимит вложений
А то что он нашел это мой патч и он там уже лежит :)) в текстовом виде :)

http://www.aion-lightning.com/index.php?topic=561.0

DSRClient 12.08.2010 14:00

Re: Баги в aion lightning
 
Цитата:

Сообщение от Shamanidze (Сообщение 83387)
да я не могу уже кидать патчи туда
во в чем трабла
видимо лимит вложений
А то что он нашел это мой патч и он там уже лежит :)) в текстовом виде :)

Все верно, я и сказал что "нашел заплатку"

undertrey 12.08.2010 14:36

Re: Баги в aion lightning
 
кароче я там поспрашивал, они ядро копают, эта система будет работать чуть по другому, пока можете юзать свой патч, пока не пофиксят...


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

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