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

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Работа со скриптами (https://forum.zone-game.info/forumdisplay.php?f=37)
-   -   Ограничение наносимых татау, исчезает после релога (https://forum.zone-game.info/showthread.php?t=22280)

SkyMD 20.08.2012 23:31

Ограничение наносимых татау, исчезает после релога
 
Всем привет.
Ребят назрела такая проблема.

Когда хочу нанести краску то:

Первая ставится а дальше пишет нет свободных слотов.
Далее после релога , этой татушки что нанес, не видно, хотя
если хочу ее удалить то она там есть и удаляется нормально.

в таблицу character_henna добавляет только одну запись

сборка fw-tm.ru 2.1

как это поправить, подскажите плз?

finfan 21.08.2012 21:25

Re: Ограничение наносимых татау, исчезает после релога
 
Цитата:

Сообщение от SkyMD (Сообщение 218784)
Всем привет.
Ребят назрела такая проблема.

Когда хочу нанести краску то:

Первая ставится а дальше пишет нет свободных слотов.
Далее после релога , этой татушки что нанес, не видно, хотя
если хочу ее удалить то она там есть и удаляется нормально.

в таблицу character_henna добавляет только одну запись

сборка fw-tm.ru 2.1

как это поправить, подскажите плз?

А сама тату статы дает? когда уже поставленна.

SkyMD 21.08.2012 21:50

Re: Ограничение наносимых татау, исчезает после релога
 
Да дает! При чем когда пытаюсь поставить вторую и третью пишет типо нема свободных слотов, но краску забирать не забывает. Вот такая вот петрушка получается

[STIGMATED] 21.08.2012 22:09

Re: Ограничение наносимых татау, исчезает после релога
 
Может Вы обратитесь, непосредственно, к разработчику? Если, конечно, приобретали сборку.

SkyMD 22.08.2012 08:01

Re: Ограничение наносимых татау, исчезает после релога
 
Цитата:

Сообщение от [STIGMATED] (Сообщение 219211)
Может Вы обратитесь, непосредственно, к разработчику? Если, конечно, приобретали сборку.

Сборку не приобретал! Скачал исходные коды которые были в свободном доступе v 2.1; После этого команда ушла в приват.

Зачем мне к нему обращаться, если я пытаюсь сам допилить недостатки, и за одно учу структуру сервер ну и пытаюсь с плюсов на джаву... самообразование так сказать.

Думаю для этого и существует форум с таким разделом где люди могут спросить, попросить помощи, посоветоваться...

пс - это к слову для тех кто хочет сделать сам:)

Gubble 22.08.2012 23:21

Re: Ограничение наносимых татау, исчезает после релога
 
Ну, судя по всему, к вам не приходят пакеты с информацией о тату, либо приходят, но кривые.

И проверка корявая на количество слотов (хотя, может, еще в конфиге какой-нить приватно-сборочный треш на тему "макс_чар_хенна").

В общем, копать нужно по слову henna. Сделать полнотекстовый поиск по проекту и посмотреть, где там что и как коряво написано.

Darvin 23.08.2012 03:34

Re: Ограничение наносимых татау, исчезает после релога
 
могу намекнуть. проверь таблицу и проверь пакет. была такая же фигня. быстро устранили

SkyMD 23.08.2012 09:12

Re: Ограничение наносимых татау, исчезает после релога
 
Цитата:

Сообщение от Darvin (Сообщение 219774)
могу намекнуть. проверь таблицу и проверь пакет. была такая же фигня. быстро устранили

Дык в таблице сначала ругался на тип поля тини инт сменил на инт и дал размер 5 стало записываться. НО! только одну запись.



Далее изначально в сервере в хенна хмл не были прописаны древнии краски их тупо не было. Мне ребята тут дали файл хенна хмл. И тогда сервер стал ругатся на наличие в новый красках тега
PHP код:

scillid="номер скила"

далее мои действия.

открываю файл hennas.dtd

и модифицирую его добавляю поле skillId CDATA #REQUIRED>

Далее иду в исходы и и модифицирую файл:
PHP код:

l2p.gameserver.data.xml.parser.HennaParser 

добавляю в него поле
PHP код:

int iSkil  hennaElement.attributeValue("skillid"

но тут сразу вылазит 6 биллионов ошибок XD и я вспоминаю что нужно сделать реализацию в самом файле хена

так и делаю иду
PHP код:

l2p.gameserver.templates.Henna 

и добавляю переменную
PHP код:

private final int _statSkils

далее в конструктор

PHP код:

public Henna(int symbolIdint dyeIdlong pricelong drawCountint witint intAint conint strint dexint men,int skilTIntArrayList classes) {
        
_symbolId symbolId;
        
_dyeId dyeId;
        
_price price;
        
_drawCount drawCount;
        
_statINT intA;
        
_statSTR str;
        
_statCON con;
        
_statMEN men;
        
_statDEX dex;
        
_statWIT wit;
        
_statSkils skil;
        
_classes classes;
    } 

и в завершении метод

PHP код:

    public int getSkillid() {
        return 
_statSkils;        
    } 

после этих манипуляций сервер стал ругаться на старые тату типо для них не определен скиллид.

я не сдаюсь и возвращаюсь в файл

PHP код:

l2p.gameserver.data.xml.parser.HennaParser 

и модифицирую на предмет наличия поля скил ид следущее обьявление
было так
PHP код:

int iSkil  hennaElement.attributeValue("skillid"

стало так
PHP код:

int iSkil  hennaElement.attributeValue("skillid") == null ? -Integer.parseInt(hennaElement.attributeValue("skillid")); 


после этого сервер не перестал ругаться и меня осенило что нужно старым
тату добавить атрибут
PHP код:

skillId="-1"

вот теперь сервер стал видеть и новые и старые краски



далее по вопросу топика!
Кто то может точнее подсказать как исправить мою проблему? Боюсь напортачить необратимо :D

спс за понимание


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

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