После перезагрузки сервера все стало на свои места. Наверное с распределением ресурсов фейлы у них.
Проблемное железо на твоей машине. Либо ОЗУ косячит, либо жесткий диск тупит смертельно. Сколько ловил спинлоков, в своё время, так только от железа. Ну и пару раз (на другой машине) ловил их из-за ОС, тогда стояла 13-я убунта. На 12-й тоже ставил эксперименты, и тоже разок выхватил. С тех пор юзаю 10-ю. А на 14-й убунте у меня вылетал гс по разным причинам, даже не отображая в логах - почему :D, на ней тож поставил крест. у меня 14.04) но раньше такого не было оО Регулярно в iotop gamedbd и uniquenamed по 99.99% IO отжирают. И в этот момент в top'е wa до 20 прыгает. Мб в этих дебрях что то. Хотя с железом вроде бы все норм. Проблемы только с сервером пв наблюдаются, остальной софт ни разу никаких проблем не было. Попробовать дебиан что ли поставить.
Рано я запел. Падает и от дефолтного элемента. Базы вайпнуты, все конфиги и файлы стандартные. И забыл ошибку из логов указать: assert failed:"0 && "加锁的时间过长"" in file spinlock.c:119 Единственное что, при дропе мира со стандартным элементом в логе всего 3 таких ошибки, а с моим 4. Еще в сислоге такое есть: Jun 17 00:23:39 cloud-project kernel: [876304.792475] gs[23658]: segfault at 0 ip 0000000008329a30 sp 00000000e0bfb200 error 6 Jun 17 00:23:39 cloud-project kernel: [876304.792484] gs[23655]: segfault at 0 ip 0000000008329a30 sp 00000000e23fe240 error 6gs[23659]: segfault at 0 ip 0000000008329a30 sp 00000000e03fa200 error 6 Jun 17 00:23:39 cloud-project kernel: [876304.792661] in gs[8048000+f83000] Jun 17 00:23:39 cloud-project kernel: [876304.792869] in gs[8048000+f83000] Jun 17 00:23:39 cloud-project kernel: [876304.792878] in gs[8048000+f83000] --- добавлено: 17 июн 2016 в 00:48 --- А вообще скажи, что ты делаешь перед падением мира? Пинаю нипа на згд. Бью моба какого то. Стою в гм. Или никого нет на сервере.
Может сталкивался кто или есть догадки. Падает мир через ≈15мин после запуска. Сначала думал на тригеры и айполиси, заменил их на родные, но ничего не изменилось. Короче, виновник падениям elements.data. Ставлю родной - час без вылетов, ставлю свой - все плохо. Прикрепил свой елемент, мб где то очевидная ошибка.
Где то на форуме был 151 exe со спидстартом. Сравни его с обычным, найди где изменены байты. Полазь по этому оффсету в аиде. Найди функцию, где меняется значение. Потом найди подобное в своем exe и измени как было в 151. А, феил, не дочитал до конца)
К айди бонуса применяется битмаска, каждый бит в которой отвечает за определенную функцию (заточка, камень и т.д.) а подробней можно?
Подскажите, пожалуйста, как из адекватного айди дополнения получить то значение что в октете и наоборот: [ATTACH] И что за поле Флаги под ячейками?
ID создаётся в aipolicy.data и там же пишутся условия в зависимости от величины этой переменной. можно же и в самом таске создавать [ATTACH]
Подтверждаю, помню редактировал октет - не помогало, ограничение проф в елементе
1) Способ сложные и красивый. Качаем aipolicy deluxe editor который дезмонд фиксил ищем в процедурах broadcast message этот текст ищем моба с данным ai смотрим триггер который вызывает моба выключаем триггер пс триггер может вызываться через другой ai, тут уже искать какие мобы включают триггер и выключать эти цепочки. 2) Открываем aipolicy.data в хекс редакторе, ищем unicode string с флудом санты и перед началом строки $S меняем на 2 пробела. 3) Тоже самое что и 2, только удаляем $S, а int32 перед началом строки уменьшаем на 4. 4) Тоже самое что и 2, только делаем поиск и замену в deluxe editor'е.
Рей, ты божынька, все идеально, вот бы еще поиск по любому полю сделать, а то разные задачи бывают)
лол, только сейчас дошло что словосочетание "пустая строка" можно интерпретировать как перевод строки:D
окай, изменение адресов последующих функций и значений единственная проблема с которой придется столкнуться? Для дальности скилла - да я за таргет, имел ввиду что сдвиг же будет, если дописать иф
если по остальным примерам посмотреть - там еще пустая строка последним параметром
config.pck/instance.txt конфиг карты криво добавлен
поищу функцию с ренжой другой и перепишу адресс Точно, об этом я забыл. а по поводу каста только на мобов можешь подсказать что то? Я не сталкивался с этим типом предмета, но, если не ошибаюсь, то он активируется ПКМ и пуляет что-то в таргет? Если так, то в скилле ограничение на моба не поставить никак, поэтому нужно искать функцию, которая вызывается при активации предмета. int __cdecl skilltrigger2_item::OnUseWithTarget(skilltrigger2_item *const this, item::LOCATION l, int index, gactive_imp *obj, const XID *const target, char force_attack) Изменением пары байт ничего не добьешься, нужно дописывать условие. окай, изменение адресов последующих функций и значений единственная проблема с которой придется столкнуться? а то я плох в программировании на таком уровне
Указатель на эту функцию висит во многих местах? Видимо, шибко умный компилятор постарался. Тогда советую следующее: скопировать полностью код функции в новое место (найти такое место - это уже другая проблема), поменять float и в vtable (таблица виртуальных функций) конкретно этого скилла прописать указатель на новую вместо старой. поищу функцию с ренжой другой и перепишу адресс, с этим примерно разобрались. а по поводу каста только на мобов можешь подсказать что то?
Нужно подменить range? Если да, то просто внутри функции меняешь число, как и в ядре. Это таблица виртуальных функций, прописывается указателем в начало объекта при вызове конструктора. Это обычные функции по механике, но отличие лишь в способе вызова (по указателю). Можно посмотреть на эту же функцию в ядре, чтобы понять, что происходит. Гуглить по словам: виртуальные функции, позднее связывание проблема в том, что эта функция вызывается не только для этого скилла, заменю для этого - заменится для многих оО
Ладно, протупил... [ATTACH] где создаются все эти указатели через dd? на маленьком примере с++ кода, пожалуйста И как заменить вызов функции return_float_15_0? Я так понял это указатель на функцию и перед вызовом getpraydistance на вершине стека должны 4 байта нужной ренжи лежать. Как тогда подменить вызов, что бы сдвиг не нарушить?
Не могу в елементскилле ничего найти, ни единого намека на моих 15.0 ренжи. Единственное значение 15.0 флоата возвращает функция, которая нигде не вызывается.
Имена участников (разделяйте запятой).