Перейти к содержимому


Фотография

(sfall) дополнения


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 1239

#1221 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 18 Май 2018 - 17:01

QUOTE
Не подумал сделать проверку значения ptr_check хотя бы через display_msg? ;)

не понял ваш сарказм) ptr_check — указатель криттера
Тоесть косяк в другом месте)? — в get_sfall_args откуда берется указатель. ахахаха....

Это сообщение отредактировано Fakeman - 18 мая 2018 | 17:09


#1222 Crafty

Crafty

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 423 сообщений

Отправлено 18 Май 2018 - 17:07

QUOTE (Fakeman)
не понял ваш сарказм) ptr_check — указатель криттера
Но если он равен NULL, то его нельзя найти в массиве персонажей. Значит причину (почему ptr_check, а конкретнее trader_ptr, равен 0) нужно искать "выше".


#1223 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 18 Май 2018 - 17:09

Получалось что для торговца указатель возвращается, а для партийца нет?


#1224 Crafty

Crafty

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 423 сообщений

Отправлено 18 Май 2018 - 17:16

QUOTE (Fakeman)
Получалось что для торговца указатель возвращается, а для партийца нет?
Да, потому как "if (not(dude_enter_barter))".
Никогда не использовал бы get_sfall_args.


#1225 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 18 Май 2018 - 17:22

QUOTE
Никогда не использовал бы get_sfall_args.

Ну я решил его проверить как оно работает))
Тем более он удобнее чем каждый параметр писать.

dude_enter_barter — сбрасывается каждый раз в false при выходе из диалога/торга.

Отправлено: 18 мая 18 17:40
Проверил оно и для торговца 0 возвращает, так что ты там в итоге поправил бартерный Хуук? или get_sfall :)

Это сообщение отредактировано Fakeman - 18 мая 2018 | 17:46


#1226 Crafty

Crafty

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 423 сообщений

Отправлено 18 Май 2018 - 23:03

QUOTE (Fakeman)
Можно починить скриптовой глюк с call ... when условие;
Когда в условии используется переменная аргумент процедуры.
Procedure ffff(var ggg)
Call ... when ggg == 1;
Этот саll всегда будет вызывать процедуру даже если ggg неравен единице.
CODE
variable g_var;

procedure start;
procedure procvar(variable var);
procedure procwhen;

procedure start begin
 if game_loaded then begin
  call procvar(X);
 end
end

procedure procvar(variable var) begin
 display_msg("procvar, var="+var);
 g_var := var;
 call procwhen when g_var == 1;
end

procedure procwhen begin
 display_msg("procwhen");
end

QUOTE (Fakeman)
или get_sfall :)
Только get_sfall_args.


#1227 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 19 Май 2018 - 00:00

CODE
variable g_var;

Те я так понимаю оно работает только с такими глообальными переменными?
Тогда такой аргумент не требуется если есть глобальная переменная.

Отправлено: 19 мая 18 05:07
QUOTE
Это функционал движка (загрузить игру, I, F10, Enter, снова загрузить) и фильтр работает не по событиям (вроде destroy_p_proc или аналогичным хуковым вроде HOOK_USEOBJON и т.п.), а по "временному" циклу (на который влияет используемый граф.режим и разрешение).

Я разобрался в чем проблема, оказывается там поменяли адрес хука для сброса и остановки сфалл скриптов., и теперь это точка хука находится на game_reset(у тебя незнаю как ты переделал), а была на main-menu-loop. Отсюда и имеем что скрип останавливается до того как вышли в главное меню.



#1228 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 19 Май 2018 - 12:25

Пару дней назад я ковырялся в движке чтобы добавить в 4ky новый функционал и что-то там глюкануло, что опции настройки/выбор персонажа/загрузка отрисовывались поверх картинки главного меню, хорошо смотрелось вместо чёрного задника, я думаю тебе можно поковырять двиг на эту тему чтобы выводилась картинка вместо черноты.


#1229 Crafty

Crafty

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 423 сообщений

Отправлено 21 Май 2018 - 22:26

QUOTE (Fakeman)
а была на main-menu-loop.
И это охренеть как было неправильно. Правильная реализация должны быть не через проверку изменения флага в цикле, а через что-то вроде HOOK_MODE с парочкой параметров:
CODE
int  arg1 - mode (режим - WORLDMAP, INVENTORY и т.п.)
bool arg2 - isSet (1 при установке, 0 при сбрасывании)

QUOTE (Fakeman)
чтобы выводилась картинка вместо черноты.
Актуально только с HRP.


#1230 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 22 Май 2018 - 20:32

QUOTE
И это охренеть как было неправильно.

Правильно, не правильно, фигня это все, главное что глюков не было)

QUOTE
Правильная реализация должны быть не через проверку изменения флага в цикле

Уже сделал для 4ки

У тебя есть баг подсветки, догадайся из-за чего.
QUOTE
Раньше не уловил зачем нужно это изменение и сейчас не улавливаю :-p


Кстати я опять у тебя крит баг нарыл связанный со взрывом, пока скриншот со шкафом делал.

Это сообщение отредактировано Fakeman - 22 мая 2018 | 22:45


#1231 Crafty

Crafty

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 423 сообщений

Отправлено 22 Май 2018 - 23:06

QUOTE (Fakeman)
У тебя есть баг подсветки, догадайся из-за чего.
item_type_misc с установленным objNoHighlight? Не баг, такой был план :-p
Но изменю, чтобы ты не волновался ;)

QUOTE (Fakeman)
Кстати я опять у тебя крит баг нарыл связанный со взрывом, пока скриншот со шкафом делал.
Все в машину!


#1232 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 23 Май 2018 - 00:08

Подожди не уежай, баг все рано будет тебя преследовать.)))


Отправлено: 23 мая 18 01:27
Даю орентировку на баг:
Поставить дверь у которой должен быть включен флаг WalkThru, привязать скрипт к двери в обработчике use_p прописать critter_dmg(dude_obj, 50, 6); с дамагом больше чем hp у dd.
И вперед бежим сквозь дверь)))
сразу может не сработать нужно пробовать несколько раз, до вылетов.

Кстати при таком способе смерти есть небольшой баг движка, анимация разрыва dd иногда может проигрываться 2 раза)
У меня получается вот такой прикольный Танец смерти у ГГ, я даже не знаю с чем связанно такое кидание в разные стороны тела ГГ, бывает еще по хлеще кидает аж гексов на 5)))

Это сообщение отредактировано Fakeman - 23 мая 2018 | 01:43


#1233 Crafty

Crafty

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 423 сообщений

Отправлено 23 Май 2018 - 13:46

QUOTE (Fakeman)
Поставить дверь у которой должен быть включен флаг WalkThru, привязать скрипт к двери в обработчике use_p прописать critter_dmg(dude_obj, 50, 6); с дамагом больше чем hp у dd.
И вперед бежим сквозь дверь)))
сразу может не сработать нужно пробовать несколько раз, до вылетов.
Как-то больно хлопотно пытаться воспроизвести такую гиморную странно-непонятную ситуацию. У дверей в pro'шнике уже должен быть установлен objWalkThru, причём тут use_p_proc? Вылеты какие? Если крашевые, то даже смещение ошибки даст больше информации.

PS. "И это всё пока скриншот со шкафом делал."? :-p


#1234 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 23 Май 2018 - 15:15

Use-p срабатывает при открывании дверей, а так как дверь открывается автоматически при пробегании при уст флаге, то обработчик тоже срабатывает.
Тут именно что-то связанно с анимаций когда игрок пробегает через такую дверь и дохнет.
Смещение: 0041772E

PS: Да чисто случайно через заминированную дверь пробежал))

Это сообщение отредактировано Fakeman - 23 мая 2018 | 19:41


#1235 Foxx

Foxx

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 120 сообщений

Отправлено 29 Июль 2018 - 17:42

Оживим темку)))

Crafty можно как-то поправить количество просматриваемых перков в F1.

Подробности:
В оригинальной игре можно взять максимум 7 перков (21 уровень) и они прекрасно вмещаются в окне характеристик. Но если через твою фишку увеличить максимальный уровень ГГ, то остальные перки туда уже не влезают. Может сделать, как в F2 особенности сверху, а перки снизу и добавить перемотку?
Вот скрин с семью перками: http://i3.imageban.r...bf92d25556a.jpg

Это сообщение отредактировано Foxx - 29 июля 2018 | 17:43


#1236 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 31 Июль 2018 - 13:42

CODE
HEX modification for BIS Mapper, to disable the automatic Protoype-list return to zero when exiting Game mode
(quite annoying to return to Tile number 1280 when mapping and testing ONE change) :

Offset (hex) : 8B9BC to 8B9C1
Original value : C7 06 00 00 00 00
New value : 90 90 90 90 90 90

Встрой это в sfall для маппера.
И снять бы ограничение на количество карт (которое сторонним патчем устанавливается в 255, в непатченном 160), можно бы увеличить до 999, думаю будет за глаза.
Есть еще M2OverridePatch, не помню что он конкретно делает но у меня стоит (что-то с pro связаное).

И еще есть ли возможность починить Edit Obj_Dude? очень нужная штука а не рабочая.

Это сообщение отредактировано Fakeman - 31 июля 2018 | 15:16


#1237 Crafty

Crafty

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 423 сообщений

Отправлено 04 Август 2018 - 14:16

QUOTE (Foxx)
Может сделать, как в F2 особенности сверху, а перки снизу и добавить перемотку?
Хлопотно по времени, а я недоступен (сам подбросил идею с дачей и я туда надолго отъехал).
И как обычно не время сейчас... ;)

QUOTE (Fakeman)
Встрой это в sfall для маппера.
Добавил (нормально).

QUOTE (Fakeman)
И снять бы ограничение на количество карт
Давно, и даже до 1000 (добавил валид ренж в .ini), но нужен непатченный на это exe'шник, а то log будет.

QUOTE (Fakeman)
И еще есть ли возможность починить Edit Obj_Dude?
Хз что там, дома набегами бываю как сегодня :-p


#1238 Foxx

Foxx

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 120 сообщений

Отправлено 04 Август 2018 - 14:29

QUOTE ("Crafty")
Хлопотно по времени, а я недоступен (сам подбросил идею с дачей и я туда надолго отъехал).

Ну будет время, может чего подшаманишь ;)

QUOTE ("Crafty")
Давно, и даже до 1000 (добавил валид ренж в .ini), но нужен непатченный на это exe'шник, а то log будет.

Теперь понятно, как у меня работало с больше чем 160 карт)))
Мы на NMA тут недавно обсуждали этот вопрос.

Это сообщение отредактировано Foxx - 4 августа 2018 | 14:40


#1239 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 12 Август 2018 - 21:32

Crafty Привет.
У тебя там есть опция smartAI, по каком алгоритму она работает?

Это сообщение отредактировано Fakeman - 22 августа 2018 | 05:10


#1240 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 13 Август 2018 - 20:56

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




Похожие темы Свернуть

  Название темы Форум Автор Статистика Последнее сообщение


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Рейтинг@Mail.ru