Вот родилась идея.
Суть в том, что гмчеги обычно портуются к нашим персам командой, которая ставит их на наши координаты. Нужно выцепить пакет на появление любого нового объекта(актора, даже непонятного коре) и сравнить снашими координатами, если они одинаковы, то выполнять нужное нам действие, например дисконект на рендомное время.
Почему появление нового объекта? Потому что, ща гмы, особенно на офе, умудряются делать с собой что угодно и как угодно.
Будет кто заниматься?
Действие(плагин) - если актор появляется в твоих координатах
Модератор: 4epT
- piroJOKE
- Модератор
- Сообщения: 8204
- Зарегистрирован: Сб ноя 04, 2006 2:20 am
- Сервер RO:: localhost
- Откуда: Molvania
Где-то я подобное видел... не такое, но... сек.
Ага, вот-с, это древняя реакция на @disguise, когда бот начинал атаковать сам себя.
Это потому што дисгайз там выглядел как чар в хайде + моб по тем же координатам, что и чар, ну и с нашим именем, конешно.
Да, обработки нового объекта там не было, было "любого моба".
В конфиг:
removeMobsZeroDist 0
В misc.pm:
.\src\Misc.pm:
Plugins::callHook('changed_status',{actor => $actor, changed => $changed});
+ if ($config{removeMobsZeroDist}) {
+ if (distance(calcPosition($char), calcPosition($monsters{$ID})) == 0) {
+ binRemove(\@monstersID, $ID);
+ objectRemoved('monster', $ID, $monsters{$ID});
+ delete $monsters{$ID};
+ }
+ }
Это под 1.9.1, кажется.
Ага, вот-с, это древняя реакция на @disguise, когда бот начинал атаковать сам себя.
Это потому што дисгайз там выглядел как чар в хайде + моб по тем же координатам, что и чар, ну и с нашим именем, конешно.
Да, обработки нового объекта там не было, было "любого моба".
В конфиг:
removeMobsZeroDist 0
В misc.pm:
.\src\Misc.pm:
Plugins::callHook('changed_status',{actor => $actor, changed => $changed});
+ if ($config{removeMobsZeroDist}) {
+ if (distance(calcPosition($char), calcPosition($monsters{$ID})) == 0) {
+ binRemove(\@monstersID, $ID);
+ objectRemoved('monster', $ID, $monsters{$ID});
+ delete $monsters{$ID};
+ }
+ }
Это под 1.9.1, кажется.