Jump to content
Asterios

11222-11431


Abaddon

Recommended Posts

Стабильность:

Исправлена проблема приводившая к ненормально высоким лагам на эвентах TvT и Last Hero

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

Система авторестарта логина при потере соединения с геймом

Исправление проблемы нестабильности логина на онлайне 2к+

Скиллы:

Анимация паралича

Фикс рассчета МП на танцы/песни

Реализован Shadow Step, Painkiller, Vampiric Mist, Servitor Barrier

Корректно работают массовые суррендеры

Switch и подобные могут сбивать каст и таргет

Массовые скиллы саммона можно использовать без цели

Psycho Symphony, Demonic Blade Dance и Poison Blade Dance наносят немного дамага

Исправление всех скиллов типа NegateEffects, Bleed и Poison

При одевании вещи со скиллом задержка использования не больше 20 секунд

Скиллы инкрустации тоже не все можно использовать сразу после одевания

Петы:

Вещи надетые на пета при следующем вызове наденутся вновь

Фикс использования петами банок

Фикс анализа петом потребности в баффе

Осады:

Реализация новых фортов:  Southern, Narsell, Basin, White Sands, Floran, Cloud Mountain, Tanor, Monastic, Borderland

Корректное отображение времени владения крепостью

Исправлена кнопка Approve в осадах

Разное:

Эпик боссы еще сильнее

Любой лайфстоун можно вставить в любую вещь

Удаление чужих кубиков при заходе на олимпиаду

Конфиг на отображение поиска пути

Исправлен Dimensional Rift

Реализован квест Good Work's Reward

Переписан дроп с тыкв, теперь есть смысл брать большие

Фикс сообщения реюза Wondrous Cubic

В Руне, Годдарте и Шуттгарте меняют куски кубиков

Фикс прокачки SA

Клыки тиранозавров падают только с тиранозавров

Мультиселл обмена рыбы на пруфы безналоговый

Ночь начинается с 0 часов и кончается в 6

Link to comment
Share on other sites

Переписан дроп с тыкв, теперь есть смысл брать большие

дааа я знал! я знал что с ними что-то не так!!! поэтому и копил нектары)

кстати можно поподробнее о влиянии удачи на дроп с тыкв?

Link to comment
Share on other sites

Switch и подобные могут сбивать каст и таргет

Петы:

Вещи надетые на пета при следующем вызове наденутся вновь

Фикс использования петами банок

Фикс анализа петом потребности в баффе

за это спасибо большое )

Разное:

....

Исправлен Dimensional Rift

....

теперь мобы не агрятся со всей комнаты?

Link to comment
Share on other sites

Стабильность:

Система авторестарта логина при потере соединения с геймом

У меня вчера с вечера и по сегодняшнее утро неполучается войти в игру. Симтомы такие: При выборе персонажа появляется окно загрузски, после слышны шумы мира(чайки орут, море шумит). 2 - 3 минуты так продолжается и потом появляется место где я должен быть + сообщение: вас дисконектит. пинг шикарнейший, ниодного пакета не пропало, трасировка не хромает. Брадмаузер не работает, нод вроде не блочит. Я может быть не один такой, но прошлую мою тему удалили через 3 минуты...

Может объясните чего сделали то?

пысы: утром сразу после рестарта сумел пробиться на 1 минуту, далее снова дисконект и всё...

Link to comment
Share on other sites

теперь мобы не агрятся со всей комнаты?
нет, теперь мобов там очень много
У меня вчера с вечера и по сегодняшнее утро неполучается войти в игру.
это у тебя проблемы какие-то
Link to comment
Share on other sites

я вот и пытаюсь понять что за проблемы. Советом помогите то пожалуста :)

Link to comment
Share on other sites

Есть кстати ещё одна проблемка с агром...когда я Ппшкой бафаюсь, а кто то где то вне зоны моей видимости бьёт моба, этот моб агрится на баф...радиус агра великоват по моему...

Link to comment
Share on other sites

Есть кстати ещё одна проблемка с агром...когда я Ппшкой бафаюсь, а кто то где то вне зоны моей видимости бьёт моба, этот моб агрится на баф...радиус агра великоват по моему...

Это срабатывает, если ты в агролисте этого моба, и расстояние менее 2000. Все правильно.

Link to comment
Share on other sites

кстати не совсем так: тока появившейся моб сагрился на БД который танцевал, причем он небыл в моей пати. а моба пинал я...

Link to comment
Share on other sites

кстати не совсем так: тока появившейся моб сагрился на БД который танцевал, причем он небыл в моей пати. а моба пинал я...

Такого не может быть.

						for(L2NpcInstance monster : target.getHateList().keySet())
if(monster != null && !monster.isDead() && monster.isInRange(this, 2000) && monster.getAI().getIntention() == CtrlIntention.AI_INTENTION_ATTACK)
if(!skill.isHandler() && monster.ParalizeOnAttack(_owner))
{
if(Config.PARALIZE_ON_RAID_DIFF)
ParalizeMe(monster);
return;
}
else if(monster.hasAI())
{
monster.getAI().notifyEvent(CtrlEvent.EVT_SEE_SPELL, skill, this);
monster.getAI().notifyEvent(CtrlEvent.EVT_AGGRESSION, this, aggro);
}[/code]

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

Link to comment
Share on other sites

Это срабатывает, если ты в агролисте этого моба, и расстояние менее 2000. Все правильно.

Как я могу попасть в агролист моба если я его ППшкой уж точно не била...и если я бью моба обычно перед бафом я его добиваю...так что это явно не то

Ладно бы он агрился если рядом стоял, а то прибегает непонятно откуда =( и дерёца =(

Link to comment
Share on other sites

Баф тоже генерирует аггро. Если твои бафы имеют отношение к сопартийцу, который бьет моба в радиусе меньше 2000, будет приоритетное агро на тебя.

Поправь, если что-то не совпадает.

Не совпадает то что я бафаю свою гному исключительно когда она сидит на попе и никого не бьёт

Link to comment
Share on other sites

Незнаю как вы, а мне пришлось бежать через несколько комнат за монстром, который хз как увидел танец БД. Почему он раньше го не атаковал? а сагрился после того как я начал его пинать? Может всётаки есть где-то косяк то?

Link to comment
Share on other sites

Такого не может быть.

						for(L2NpcInstance monster : target.getHateList().keySet())

							if(monster != null && !monster.isDead() && monster.isInRange(this, 2000) && monster.getAI().getIntention() == CtrlIntention.AI_INTENTION_ATTACK)

								if(!skill.isHandler() && monster.ParalizeOnAttack(_owner))

								{

									if(Config.PARALIZE_ON_RAID_DIFF)

										ParalizeMe(monster);

									return;

								}

								else if(monster.hasAI())

								{

									monster.getAI().notifyEvent(CtrlEvent.EVT_SEE_SPELL, skill, this);

									monster.getAI().notifyEvent(CtrlEvent.EVT_AGGRESSION, this, aggro);

								}

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

Ну что-то понимаю в коде, но не всё.

Начнем с первого иф:

если (дальше определение условий) монстр не приравнен к классу нулл, монстр не труп(в вовке баги были в скритах, можно было и труп сагрить), монстр с рангом в 2000(хотя я писал =< 2000, но на каждую игру свой язык), и монстр что -то там сравнивает(как я понял - ИИ атаки).

так вот: смущает первое условие: monster != null

Разве не так должно быть: !monster == null ?

Link to comment
Share on other sites

Разве не так должно быть: !monster == null ?

И все-таки, лучше жевать :)

Неужели вы думаете, что написав несколько миллионов строчек кода, мы не знаем таких простых вещей? :D

Link to comment
Share on other sites

но дык: одно равно - присвоение, 2 знака равно - сравнение. Специфики языка незнаю, но всёже интересно) если нет 0 то почему?

Link to comment
Share on other sites

Ну можно конечно и !(monster==null) написать но зачем путаться в скобках?

Link to comment
Share on other sites

ещё можно monster == !null

А клоню я к тому, что когда я програмил, был спецэфический компилятор, где шаг влево, шаг вправо - хватает за яйца, орет и отказывается компилить. А компиляторы по С++ могут ошибку и не заметить. Я первый раз вижу чтоб писали знак отрицания перед знаком присвоения. Т.к. я повторюсь что у каждой игры свой язык програмирования - я незнаю тонкостей. Вот и спрашиваю. В спорах рождается истина, а не в жевании...

Link to comment
Share on other sites

ещё можно monster == !null

В спорах рождается истина, а не в жевании...

В спорах рождается коллективное заблуждение))) :D

Link to comment
Share on other sites

ясность процесса какраз и зависет от коректности кода.

Ведь нельзя же понять как работает двигатель машины смотря на капот. Надо разобрать, понять принцип :)

Link to comment
Share on other sites

ещё можно monster == !null

Нельзя. Хватит уже уродовать java синтаксис (он же С/С++ синтаксис).

А клоню я к тому, что когда я програмил, был спецэфический компилятор, где шаг влево, шаг вправо - хватает за яйца, орет и отказывается компилить. А компиляторы по С++ могут ошибку и не заметить.

Java компилятор (как и любой другой нормальный) пошлет куда подальше если синтаксис неверный.

Более того, мы пишем в IDE, которая еще до компиляции предупреждает обо всех возможных ошибках, и даже указывает на неоптимальный код.

Я первый раз вижу чтоб писали знак отрицания перед знаком присвоения.

Ни разу не видел Java, C/C++, PHP ? :o

Link to comment
Share on other sites

видел, С++. Даже писал скрипты) Я вроде уже писал, что писал скрипты к игре Готика. Так что маленькое представление всёже имею.

Link to comment
Share on other sites

Вообще, написание скриптов к играм никогда не научит языку.

Link to comment
Share on other sites

Это квест на вторую профу? Там надо вроде 3кк заплатить. :)

Это значит, что профы а деньги отменили?

Скоро отменим. Скорее всего.

Link to comment
Share on other sites

я и не спорю, но в данном случае мы имеем дело со скриптами :)

В данном случае скриптов в сервере вообще нет, все написано на чистой java. А это НЕ скрипты.

Link to comment
Share on other sites

Тогда это вот к чему относится:

instance Ukritie_1(C_INFO)

{

npc = vlk_506_bern;

nr = 1;

condition = Ukritie_1_condition;

information = Ukritie_1_info;

important = 0;

permanent = 0;

description = "Что вы тут делаете?";

};

Func int Ukritie_1_condition()

{

if (npc_GetDistToWP(vlk_506_bern,"OW_PATH_192") <= 300) && (!npc_knowsinfo(hero,ukritie_2))

{

return 1;

};

};

func void Ukritie_1_info()

{

ai_output(other,self,"Ukritie_1_1"); //Что вы тут делаете?

ai_output(self,other,"Ukritie_1_2"); //Тихо ты, не привлекай внимание других...

ai_output(self,other,"Ukritie_1_3"); //Мы здесь все любим поговорить о былых временах... Но мало кто может их оценить...

ai_output(self,other,"Ukritie_1_4"); //Многие тут без надежды на будущие... Они все СЛОМЛЕНЫ!

ai_output(other,self,"Ukritie_1_5"); //Ты о чем?

ai_output(self,other,"Ukritie_1_6"); //О-о-о... Я заговорился с тобой... А ведь мы вовсе не знакомы...

ukritie = TRUE;

};

instance znakomctvo(C_INFO)

{

npc = vlk_506_bern;

nr = 1;

condition = znakomctvo_condition;

information = znakomctvo_info;

important = 0;

permanent = 0;

description = "Может быть тогда есть смысл познакомиться?";

};

func int znakomctvo_condition()

{

if (ukritie == true) && (znakomstvo == false)

{

return 1;

};

};

func void znakomctvo_info()

{

ai_output(other,self,"znakomstvo_1"); //Может быть тогда есть смысл познакомиться?

ai_output(self,other,"znakomstvo_2"); //Меня зовут Берн, но имя мое тебе многого не скажет...

znakomstvo = TRUE;

ai_stopprocessinfos(self);

};

Небольшой отрывок моей писанины... А то уже совсем запутали, скрипты иль не скрипты писал?)

Ну а раз то джава - значит возможно я зря спорил, язык другой и тонкости свои есть...

Link to comment
Share on other sites

Чёт вы не туда ушли.

ППшки и БДшки не забывайте про мобов, которые реагируют на использование магии. Хоть сам себя хиляй в радиусе такого моба - он сагрится на тебя.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...