Скрипт Фикшу красные строчки в NPС сервере. Нужна консультация.

Gregory

Интересующийся
Местный
Сообщения
171
Розыгрыши
0
Реакции
20
Репутация
55
Баллы
307
Всем привет!

Вот 1 ошибка:
Код:
06/19/2016 11:01:18.727, [oren21_tb2218_31] failed to increase total npc because of npc quota [28 / 16]
Достаём из NPCPOS эту территорию:
Код:
npcmaker_ex_begin    [oren21_tb2218_31]    name=[oren21_tb31_m1]    ai=[random_spawn]    maximum_npc=16      
npc_ex_begin    [treasure_box_36]    pos=anywhere    total=16    respawn=60sec    respawn_rand=10sec    npc_ex_end
npc_ex_begin    [treasure_box_39]    pos=anywhere    total=16    respawn=60sec    respawn_rand=10sec    npc_ex_end
npc_ex_begin    [mimic_36]    pos=anywhere    total=16    respawn=60sec    respawn_rand=10sec    npc_ex_end
npc_ex_begin    [mimic_39]    pos=anywhere    total=16    respawn=60sec    respawn_rand=10sec    npc_ex_end
Как я понимаю, что-бы эту ошибку купировать я должен изменить параметр maximum_npc на maximum_npc=32?
Но во всей npсpos таких не стыковок навалом, может есть инструмент какой-то который пробежится по ним и поправить? Или может у этих "не стыковок" есть особый смысл?
Ошибка 2:
Код:
06/19/2016 14:41:11.779, MakerLog(              godard08_2514_02)'s ( 179790, -117835,   -3616) [scarlet_stakato_noble_bs] is outsider.
06/19/2016 14:41:11.780, MakerLog(              godard08_2514_02)'s ( 179790, -117835,   -3616) [scarlet_stakato_noble_bs] is outsider.
06/19/2016 14:41:11.780, MakerLog(              godard08_2514_02)'s ( 179790, -117835,   -3616) [scarlet_stakato_noble_bs] is outsider.
06/19/2016 14:41:11.780, MakerLog(              godard08_2514_02)'s ( 179790, -117835,   -3616) [scarlet_stakato_noble_bs] is outsider.
06/19/2016 14:41:11.780, MakerLog(              godard08_2514_02)'s ( 179790, -117835,   -3616) [scarlet_stakato_noble_bs] is outsider.
06/19/2016 14:41:19.808, MakerLog(              godard08_2514_01)'s ( 179806, -117839,   -3616) [scarlet_stakato_noble_bs] is outsider.
06/19/2016 14:41:19.808, MakerLog(              godard08_2514_01)'s ( 179806, -117839,   -3616) [scarlet_stakato_noble_bs] is outsider.
06/19/2016 14:41:19.808, MakerLog(              godard08_2514_01)'s ( 179806, -117839,   -3616) [scarlet_stakato_noble_bs] is outsider.
06/19/2016 14:41:19.808, MakerLog(              godard08_2514_01)'s ( 179806, -117839,   -3616) [scarlet_stakato_noble_bs] is outsider.
06/19/2016 14:41:19.808, MakerLog(              godard08_2514_01)'s ( 179806, -117839,   -3616) [scarlet_stakato_noble_bs] is outsider.
06/19/2016 14:42:01.541, MakerLog(              godard08_2514_02)'s ( 179819, -117810,   -3624) [scarlet_stakato_noble_bs] is outsider.
06/19/2016 14:42:01.542, MakerLog(              godard08_2514_02)'s ( 179819, -117810,   -3624) [scarlet_stakato_noble_bs] is outsider.
06/19/2016 14:42:01.542, MakerLog(              godard08_2514_02)'s ( 179819, -117810,   -3624) [scarlet_stakato_noble_bs] is outsider.
06/19/2016 14:42:01.542, MakerLog(              godard08_2514_02)'s ( 179819, -117810,   -3624) [scarlet_stakato_noble_bs] is outsider.
06/19/2016 14:42:01.542, MakerLog(              godard08_2514_02)'s ( 179819, -117810,   -3624) [scarlet_stakato_noble_bs] is outsider.
Чисто интуитивно данную ошибку читаю как - нпс находится не в своей области? Какие причины могут быть? Нужно ли исправлять? Если нужно - то как. Бывали случаи, когда нпс проваливался в геодату например. Может это из этого разряда сообщения?

Ошибка 3:
Код:
06/19/2016 14:31:22.373, [.\NPC.cpp][6358] OwnItemCount(c=null) I'm [langk_lizardman]
06/19/2016 14:31:37.225, [.\NPC.cpp][6358] OwnItemCount(c=null) I'm [langk_lizardman]
Понятия не имею, про что это.

Можете поделиться своим опытом в данном вопросе?
 

Emphatic

Участник
Местный
Сообщения
103
Розыгрыши
0
Реакции
46
Репутация
5
Баллы
153
Попробуй воспользоваться, иногда помогает, а лучше брось это дело
 

Gaikotsu

яжпрограммист
Легенда
Сообщения
755
Розыгрыши
0
Реакции
1 459
Репутация
4 393
Баллы
1 058
ну по первой "ошибке"
это вроде как не ошибка, а такой трюк чтобы заспавнить несколько разных нпс так, чтобы каждый раз спавны были разные в плане сколько каких нпс на территории заспавнить и при этом суммарно заспавнилось не больше лимита.

второе: я так подозреваю из-за достаточно корявой геодаты точка спавна получилась вне заданной территории.

третье: тут вобще просто - объект у которого проверяется наличие какой-то вещи не существует. обычно так проверяются мобом при смерти квестовые вещи у того кто его убил/атаковал (или у тех кто в пати с ним - если квест для пати). так что тут как вариант просто игрок вышел/вылетел как раз в момент убийства моба к примеру и когда дошла очередь до того чтобы проверить наличие предметов - проверять оказалось уже не у кого. на птс такая ситуация вполне может быть, т.к. это все достаточно заторможено обрабатывается - это видо по случаям когда квествовые вещи прилетают только через несколько секунд после смерти моба.
починить ошибку можно, только вот ты думаю точно не будешь перекапывать все аи и втыкать везде где надо проверки на null.
 
Последнее редактирование:

Gregory

Интересующийся
Местный
Сообщения
171
Розыгрыши
0
Реакции
20
Репутация
55
Баллы
307
Спасибо!
 

Gregory

Интересующийся
Местный
Сообщения
171
Розыгрыши
0
Реакции
20
Репутация
55
Баллы
307
ну по первой "ошибке"
это вроде как не ошибка, а такой трюк чтобы заспавнить несколько разных нпс так, чтобы каждый раз спавны были разные в плане сколько каких нпс на территории заспавнить и при этом суммарно заспавнилось не больше лимита.

второе: я так подозреваю из-за достаточно корявой геодаты точка спавна получилась вне заданной территории.

третье: тут вобще просто - объект у которого проверяется наличие какой-то вещи не существует. обычно так проверяются мобом при смерти квестовые вещи у того кто его убил/атаковал (или у тех кто в пати с ним - если квест для пати). так что тут как вариант просто игрок вышел/вылетел как раз в момент убийства моба к примеру и когда дошла очередь до того чтобы проверить наличие предметов - проверять оказалось уже не у кого. на птс такая ситуация вполне может быть, т.к. это все достаточно заторможено обрабатывается - это видо по случаям когда квествовые вещи прилетают только через несколько секунд после смерти моба.
починить ошибку можно, только вот ты думаю точно не будешь перекапывать все аи и втыкать везде где надо проверки на null.
Плавно перешел к варнингам гейм сервера, в принципе в нем из непонятного только вот эти:
Снимок.PNG
Периодически высыпает пачку таких ворнингов. Не ясно, что за ID указан в ворнинге и ID ли это вообще.
 

Gaikotsu

яжпрограммист
Легенда
Сообщения
755
Розыгрыши
0
Реакции
1 459
Репутация
4 393
Баллы
1 058
уиды скиллов
смотри есть ли такие в том же skill_pch
возможно где-то запрашиваются несуществующие уровни скиллов или вобще несуществующие скиллы.
 

Gregory

Интересующийся
Местный
Сообщения
171
Розыгрыши
0
Реакции
20
Репутация
55
Баллы
307
уиды скиллов
смотри есть ли такие в том же skill_pch
возможно где-то запрашиваются несуществующие уровни скиллов или вобще несуществующие скиллы.
В том то и дело, что прогнал поискам по всем существующим скриптам и конфигам, таких ID нигде нет. Ну да ладно, вроде как негативного эффекта не наблюдается от этих сообщений.
 

Gaikotsu

яжпрограммист
Легенда
Сообщения
755
Розыгрыши
0
Реакции
1 459
Репутация
4 393
Баллы
1 058
ну вот выясни что за скилл это и дальше определяйся с причиной.
этот уид считается как id * 65536 + level
думаю из уида вычислить ид и левел тебе не составит труда.
 

webdes27

Phantom-Dev Team
Модератор
Сообщения
944
Розыгрыши
0
Реакции
478
Репутация
3 297
Баллы
764
Кто в курсе как исправить? Буду признателен за подсказку. А то не пойму что за ошибки.
 

MasterToma

Участник
Участник
Сообщения
26
Розыгрыши
0
Реакции
52
Репутация
99
Баллы
119
L2NPC общается с L2Server через Shared Memory (два разных процесса делят один кусок памяти), и индекс - это ключ монстра/игрока в этой Shared Memory . Если его уже нету, значит он умер, но индекс остался, и теперь по нему из скриптов пытаются найти монстра. Возможно, какой-то долгий таймер стрельнул, либо неверно получен индекс в скрипте
 
  • Мне нравится
Реакции: kick
Сверху Снизу