Перейти к содержанию

Рекомендуемые сообщения

 
 

Riplika , да, чисто один раз раскопать кое-что.

4 минуты назад, Riplika сказал:

А как он работает? Как биорадар с ОП?

Да, вроде из НарСоли выдирал, на пояс вешается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 минуту назад, Hicks сказал:

Riplika , да, чисто один раз раскопать кое-что.

Понятно. СПС


bffa70a0076a8122ca8fab46460e0d911111.png.7d1d21f88e8b7ff1045d3b92c1839dcb.png.820320d69b6beed069231160e32b91dd.png
= Mordor Tactical WAAAAAGH =

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
7 часов назад, Hicks сказал:

Но проблема с безлоговым вылетом осталась. Скажем, есть секция оружия, для которой стоит:

; UPGRADE
upgrade_allowed        = false

Попробуй

if cursor_over_window(self, v) then

заменить на

if v and cursor_over_window(self, v) then
  
-- а если не поможет, то на
if k and v and cursor_over_window(self, v) then

-- и напиши какой вариант помог (если помог)

 


Дополнено 2 минуты спустя
7 часов назад, Hicks сказал:

Апгрейд не работал, потому что блок вида:

Стоял в самом конце секции. Переместил выше - работает.

Это вообще никак не может влиять. От нахождения параметров в пределах одной секции ничего не меняется.

[section]
a = 1
b = 2

[section]
b = 2
a = 1

идентично.

P.S. У тебя скрипт отличается от оригинала - как минимум update_upgrade_cells другая логика условий - проверки upgrades_table вынесены почему-то выше и прочее :u1F914:

Изменено пользователем RayTwitty
  • Хабар 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

RayTwitty , как ни странно, но после переноса в конфиге блока заработало. Проверю ещё раз, отпишусь. Скрипт изменён, потому что я нейросеть начал вчера дёргать по поводу вылета. В итоге там всё по двум функциям перелопачено, но вылет остался, причём вызывается рандомным тыканьем по полю апгрейдов. Откачусь на версию без правок ИИ, попробую твоё решение, отпишусь. 


Дополнено 42 минуты спустя

@RayTwitty,

Невероятно, но факт. Вот так:
 

Спойлер

[detector_simple]:identity_immunities
GroupControlSection    = spawn_group
$spawn             = "devices\detector_simple"
$prefetch        = 64
cform            = skeleton
class            = SCRPTART
visual            = equipments\item_datchik1.ogf
description        = enc_equipment_devic_detect1
inv_name        = Detect1
inv_name_short        = Detect1
inv_weight        = 0.25
inv_grid_width        = 2
inv_grid_height        = 2
inv_grid_x        = 54
inv_grid_y        = 22

cost                    = 2000
jump_height        = 0
particles        = 
lights_enabled        = false
artefact_activation_seq = af_activation_bold
hud            = detector_simple_hud
animation_slot        = 11
allow_inertion        = true
slot            = 0
attach_angle_offset    = 0, 0, 270
attach_position_offset  = 0.0, 0.0, 0.08
attach_bone_name    = bone01
belt            = false
af_actor_properties    = on
actor_properties    = on
health_restore_speed    = 0.0
radiation_restore_speed = 0.0
satiety_restore_speed    = 0.0
power_restore_speed    = 0.0
bleeding_restore_speed  = 0.0
hit_absorbation_sect    = detector_simple_absorbation

[detector_simple_absorbation]
burn_immunity          = 1.0
strike_immunity        = 1.0
shock_immunity         = 1.0
wound_immunity         = 1.0
radiation_immunity     = 1.0
telepatic_immunity     = 1.0
chemical_burn_immunity = 1.0
explosion_immunity     = 1.0
fire_wound_immunity    = 1.0

[detector_simple_hud]
shell_point        = 0.0, 0.0, 0.0
fire_point          = 0.05, 0.0, 0.1
fire_bone           = wpn_body
orientation         = -0.5,1.0,0.0
position            = 0.0,-0.2,0.2
visual              = detector\detector_1_hud.ogf
zoom_offset        = -0.238600,0.153600,0.000000
zoom_rotate_x        = -0.014000
zoom_rotate_y        = 0.324000
anim_idle        = idle_bore
anim_idle_moving    = idle_moving
anim_idle_sprint    = idle_sprint
anim_hide        = holster
anim_show        = draw
anim_activate        = holster

;=================================================================================================
; UPGRADE
upgrade_allowed            = true
upgrades        = detectorsimple_upgr1, detectorsimple_upgr2, detectorsimple_upgr3
available_upgrades    = detectorsimple_upgr1
upgrade_scheme        = upgrade_scheme_detectorsimple
image            = ui_upgrade_rad
;=================================================================================================

Детектор вообще не появляется в списке слева в окне апгрейдов.

А вот так:

Спойлер

[detector_simple]:identity_immunities
GroupControlSection    = spawn_group
$spawn             = "devices\detector_simple"
$prefetch        = 64
cform            = skeleton
class            = SCRPTART
visual            = equipments\item_datchik1.ogf
description        = enc_equipment_devic_detect1
inv_name        = Detect1
inv_name_short        = Detect1
inv_weight        = 0.25
inv_grid_width        = 2
inv_grid_height        = 2
inv_grid_x        = 54
inv_grid_y        = 22

cost                    = 2000
jump_height        = 0
particles        = 
lights_enabled        = false
artefact_activation_seq = af_activation_bold
hud            = detector_simple_hud
animation_slot        = 11
allow_inertion        = true
slot            = 0
attach_angle_offset    = 0, 0, 270
attach_position_offset  = 0.0, 0.0, 0.08
attach_bone_name    = bone01
belt            = false
af_actor_properties    = on
actor_properties    = on
health_restore_speed    = 0.0
radiation_restore_speed = 0.0
satiety_restore_speed    = 0.0
power_restore_speed    = 0.0
bleeding_restore_speed  = 0.0
hit_absorbation_sect    = detector_simple_absorbation

;=================================================================================================
; UPGRADE
upgrade_allowed            = true
upgrades        = detectorsimple_upgr1, detectorsimple_upgr2, detectorsimple_upgr3
available_upgrades    = detectorsimple_upgr1
upgrade_scheme        = upgrade_scheme_detectorsimple
image            = ui_upgrade_rad
;=================================================================================================

[detector_simple_absorbation]
burn_immunity          = 1.0
strike_immunity        = 1.0
shock_immunity         = 1.0
wound_immunity         = 1.0
radiation_immunity     = 1.0
telepatic_immunity     = 1.0
chemical_burn_immunity = 1.0
explosion_immunity     = 1.0
fire_wound_immunity    = 1.0

[detector_simple_hud]
shell_point        = 0.0, 0.0, 0.0
fire_point          = 0.05, 0.0, 0.1
fire_bone           = wpn_body
orientation         = -0.5,1.0,0.0
position            = 0.0,-0.2,0.2
visual              = detector\detector_1_hud.ogf
zoom_offset        = -0.238600,0.153600,0.000000
zoom_rotate_x        = -0.014000
zoom_rotate_y        = 0.324000
anim_idle        = idle_bore
anim_idle_moving    = idle_moving
anim_idle_sprint    = idle_sprint
anim_hide        = holster
anim_show        = draw
anim_activate        = holster

Всё нормально - есть апгрейды.

15 часов назад, RayTwitty сказал:

-- и напиши какой вариант помог (если помог)

Оба варианта не помогли. Тыкал-тыкал и вылет поймал. Странно... Может, именно это заодно причина безлогоового вылета при загрузке любого сохранения, которое повторно затем грузится при перезаходе в игру нормально...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
8 часов назад, Hicks сказал:

Невероятно, но факт

Чел, тебя не смущает что ты параметры в другую (худовую) секцию загнал? Естественно, после того как ты переместил в нужную секцию, оно заработало.


Дополнено 7 минуты спустя
8 часов назад, Hicks сказал:

правок ИИ

if self.upgrade_allowed and self.upgrades_table then

"Могущественный ИИ" переставил условие выше, в итоге тот код который не зависел от self.upgrades_table стал от него зависеть...:4279_Durka:

(я даже могу предположить, что "оно" подумало, что тут конструкция if a then if b then ... end end, поэтому типа загоним ее в одно условие :f1d51c63-a88a-4caf-b5c7-13664c1887b5: //__-)

Изменено пользователем RayTwitty
  • Хабар 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, RayTwitty сказал:

в другую (худовую) секцию загнал?

вот мой косяк это, да.

В общем, всё равно натыкаюсь на вылет, ИИ тут не виноват, вот оригинальный скрипт с минимумом правок:
https://pastebin.com/JH1VMPbY

Всё равно ловлю вылет. Где-то что-то не рассчитано на добавление всего подряд для апгрейда, это я маньяк...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, Hicks сказал:

Всё равно ловлю вылет. Где-то что-то не рассчитано на добавление всего подряд для апгрейда, это я маньяк...

Так вылет возникает когда для предмета выключены апгрейды? Или всегда?

Человек проверил, в чистом SA проблема тоже есть. Ну это надо сидеть разбираться, у меня пока рабочего стенда нет чтобы самому посмотреть. Можно попробовать заменить строчку

clear_table(self.btn_upgrade_cells)

на

self.btn_upgrade_cells = {}

Если не поможет... По идее если внутри elseif dik == DIK_keys.MOUSE_1 then выпилить код, то вылетать не будет. Но тогда и иконки нажиматься не будут, для этого нужно разблокировать строчку 274 (self:AddCallback(v, .... )
Вообще, этот финт ушами был нужен, чтобы смотреть описание залоченных апгрейдов. Если это не критично, то можно оставить так...

ЗЫ

if obj:is_weapon_magazined() or obj:is_binoculars() or read_line(obj:section(), "upgrade_allowed", "bool") or obj:is_outfit() then

Бинокль уже входит в класс weapon_magazined, то есть его можно убрать. А если тебе еще нужны ножи в списке, то weapon_magazined замени на базовый класс weapon.

-- все оружие (включая бинокль и нож) и костюмы + все предметы у которых upgrade_allowed=true
if obj:is_weapon() or obj:is_outfit() or read_line(obj:section(), "upgrade_allowed", "bool") then

 

Изменено пользователем RayTwitty
  • Хабар 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

RayTwitty , фух, спасибо, будем пробовать.

Я уж думал это от моих добавлений вылет. Ха, осталось отловить багу с безлоговыми вылетами. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 16.05.2025 в 02:30, Hicks сказал:

Это я ещё аптечки не пробовал апгрейдить, а то были мысли

А какой в этом смысл?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

DarkFace ,  ты прав, с расходниками смысла нет извращаться.


Дополнено 15 минуты спустя

Между прочим. Психанул и перепаковал все текстуры в архивы заново, убрав дубли. Теперь грузятся влёт. Правда, остался несипользуемый мусор от GSC, но это уж как-нибудь потом.


Дополнено 44 минуты спустя

@RayTwitty, вылет вроде как ушёл с правкой self.btn_upgrade_cells = {}, я не смог его вызвать.

Ищу теперь причину безлоговых вылетов...

  • Мастер! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу