Перейти к контенту

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

Возникла проблема в создании и движении вертолёта.

; cse_abstract properties

section_name = helicopter

name = jup_helicopter_1

position = 45.624580383301, 26.194580078125, 357.86947631836

direction = 0, 0.795600116252899, 0

version = 118

script_version = 6

 

; cse_alife_object properties

game_vertex_id = 3725

distance = 0

level_vertex_id = 792822

object_flags = 0xffffffb2

custom_data = <<END

[logic]

active = heli_move@idle

 

[heli_move@idle]

path_move = jup_heli_path_idle

engine_sound = false

on_info = {+jup_help_dragon_start} heli_move@move

 

[heli_move@move]

path_move = jup_heli_path_move

immortal = true

combat_ignore = true

END

 

; cse_visual properties

visual_name = physics\vehicles\mi24\veh_mi24_u_01

 

; cse_motion properties

 

; cse_ph_skeleton properties

skeleton_name = idle

 

; cse_alife_helicopter properties

cse_alife_helicopter__unk1_sz = idle

engine_sound = alexmx\helicopter

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

[jup_heli_path_idle]

points = p0

p0:name = wp00

p0:position = 45.624580383301, 26.194580078125, 357.86947631836

p0:game_vertex_id = 65535

p0:level_vertex_id = -1

 

[jup_heli_path_move]

points = p0,p1

p0:name = wp00

p0:position = 45.624580383301, 26.194580078125, 357.86947631836

p0:game_vertex_id = 3725

p0:level_vertex_id = 792822

p0:links = p1(1)

 

p1:name = wp01|die

p1:position = 366.868,58.605,-357.112

p1:game_vertex_id = 3745

p1:level_vertex_id = 1298092

 

Вертолёта не видно, и постоянно раздается звук работы двигателя.

 

Точки путей аналогично указаны в оригинале. Делал по примерам из игры.

Изменено пользователем Real Wolf
Ссылка на комментарий

Real Wolf

Довольно странно, тут такие варианты:

1) Либо у тебя сразу логика перепрыгивает на heli_move@move (что врятле, иначе бы вертолёт тогда летел)

2) Схема heli_move не работоспособна. Но это тоже отпадает, т.к в ЗП именно она юзается...

3) Хм, может схема не запускается, т.к ты не написал ещё path_look? Глянь логику ПЫСовских вертолётов в ЗП (папка evac)

 

И вообще желательно логику лучше в отдельные ltx файлы писать, мало ли каких проблем избежишь...

 

ЗЫ: level_vertex_id = -1

А так можно писать? М.б лучше на любую другу цифру заменить, для игры всё равно важны лишь координаты.

Изменено пользователем *Shoker*

Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О

Мастер аномалий на свою заднюю точку.

Ссылка на комментарий

Полтергейст

Как верно заметил Артос, способ твой, с "завязыванием глаз" - чреват неудобствами.

Есть другой: в function actor_binder:load(reader) в хвосте добавляем постановку своего ключа, а отключаем его, скажем, через 5 секунд, или тогда когда position() актора начнет меняться. И все действия, которые не нужно при загрузке делать, делаем/не делаем по этому ключу.

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий

abramcumner, или ты невнимателен или ... заболтался.

Все, что между тэгами <<END ... END - это кастомдата, в которой логика определяется/задается наличием секции [logic] и последующим контекстом.

Так что 'логика' со схемой 'heli_move' - как раз вертушке прописана ...

 

Real Wolf, вот хотел бы спросить, как по твоему поведет себя объект, которого посылают в точку: p0:game_vertex_id = 65535 ?

Можно игнорировать при наличии координат (p0:position) параметр p0:level_vertex_id = -1, но на какой логации искать эту точку с задаными координатами?

 

Добавлено через 6 мин.:

*Shoker*, просто для информации: в данном контексте '-1' будет прочитано как 4294967296 и подобное (заведомо отсутствующее значение) разрабами нередко применяется в путях, что при наличии координат позиции некритично.

Ну а path_look для вертушек как раз необязателен.

Да и по смыслу, глупо задавать движение в некоторую точку и обязывать 'смотреть' не в нее. 'Лица' у вертушки все одно нет, а боком иль еще как, она летать вроде как не умеет.

Смысл 'look' имеет при взлете/посадке, т.е. при только вертикальном перемещении или при зависании.

 

Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий
'Лица' у вертушки все одно нет, а боком иль еще как, она летать вроде как не умеет.

А ведь прискорбное упущение. В реальности-то очень даже умеет.

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий

Как снова включить выжигатель после его отключения? и как сделать так, что-бы те кто действительно попали под влияние пси-антен, потехоньку умирали, а не стояли живыми, ведь чушь. Я прошу разьеснить мне это, и, если можно привести пару строчек кода по воздействию пси-антен

 

Пишу свой мод, свой сюжет, если что

Ссылка на комментарий

AutoGnom, Сейчас не скажу не дома, но посмотри в логике выключателя выжигателя, и соответственно логику антенн(скорее всего рестриктор), и добавь код, чтобы получился период (скоко угодно включай выключай)

Ссылка на комментарий

AutoGnom, если посмотреть схему 'xr_detector', которая и за урон актору в зоне действия выжигателя работает - то видно, что эта схема расчитана на нанесение урона ТОЛЬКО для актора.

Считаешь это чушью - переписывай схему.

Ну и как уже сказал Старлей, посмотри логику антен (это обычные рестрикторы) и управляя инфопоршнями можешь опять в(от)ключать ..., хотя основной сюжет уже будет иным.

 

Добавлено через 61 мин.:

P.S. Сорри, немного упустил то, что "выжигатель" - это схема 'sr_psy_antenna.script', но суть ответа та же, т.е. обе схемы расчитаны на интерактивное взаимодействие только с актором, а не другими объектами.

Изменено пользователем Artos
Убрал ответ Trisу, поскольку нет вопроса, то и отвечать не на что.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Кое-чего выяснил в процессе копания в update-части нет-пакета оружия.

Нижеследующие параметры есть у любого оружия

1) upd:weapon_flags

Значения: 0 - оружие спрятано, 1 - оружие в руках

2) upd:ammo_elapsed

Остаток патронов в стволе

3) upd:addon_flags

Навешанные аддоны. Бинарный флаг по сути, но распишу подробней:

0 - нету

1 - прицел

2 - гранатомет

3 - прицел+подствольный гранатомет

4 - глушитель

5 - прицел + глушитель

6 - подствольный гранатомет + глушитель

7 - все сразу

4) upd:ammo_type

Тип патронов. 0 - обычные, 1 - бронебойные. Если есть еще - идут в порядке повышения убойности (так вроде)

Если не полностью расстрелять магазин и поменять тип патронов, upd:ammo_type изменится для всего магазина.

5) upd:weapon_state

Самое интересное. Это состояние оружия:

0 - в руках, idle

1 - стрельба выстрел пулей/дробью (или удар ножом)

2 - альтернативный удар (только нож)

3 - перезарядка

4 - достается

5 - убирается (или выбрасывается)

6 - спрятано

7 - заклинило

8 - ??? выстрел из подствольника (в режиме огня "А"-автомат)

9 - включение/выключение подствольного гранатомета

6) upd:weapon_zoom

Состояние зума оружия: 0 - обычное состояние, 1 - прицел (зажатая правая мышка).

 

Нижеследующие параметры есть у всего, кроме ножа

7) upd:current_fire_mode

Текущий режим огня. 0 - одиночными, 1 - два патрона, 2 - очередью. Если режима по 2 патрона у оружия нет, то режим очередью будет 1.

 

Нижеследующие параметры есть только у стволов с возможностью крепления подствольника

7) upd:grenade_mode

Режим подствольника. 0 - выключен, 1 - включен

 

Нижеследующие параметры есть только у дробовиков и ружей

8) upd:ammo_ids

Количество оставшихся патронов в стволе. Полностью дублирует upd:ammo_elapsed, зачем - непонятно.

Изменено пользователем Artos
  • Полезно 2
Ссылка на комментарий
Нижеследующие параметры есть только у дробовиков и ружей

8) upd:ammo_ids

Количество оставшихся патронов в стволе. Полностью дублирует upd:ammo_elapsed, зачем - непонятно.

Вообще-то не дублирует. После этого параметра должны прописываться типы заряженной дроби в количестве upd:ammo_ids

Типа можно дробовик зарядить дробью, жеканом и т. п. одновременно

 

4) upd:ammo_type

Тип патронов. 0 - обычные, 1 - бронебойные. Если есть еще - идут в порядке повышения убойности (так вроде)

Номера идут, как перечислены в конфиге оружия.

Изменено пользователем abramcumner
Ссылка на комментарий

KD87, abramcumner, внесу свои данные, которые и чуть дополнят и ... разнятся:

 

1. Параметр 'upd:ammo_type' (0,1,...) полностью соответствует параметру 'ammo_type' и соответствует порядку перечисления секций патронов ИЛИ гранат в строках конфиг-файла конкретного оружия (ammo_class/grenade_class). Тип 'патроны' или 'гранаты' - зависит от установленного режима стрельбы патронами или гранатами.

 

2. 'weapon_state' и 'upd:weapon_state' также идентичны.

Значение '1' соответствует моменту выстрела пулей/дробью, т.е. из основного ствола или удару ножом (ЛКМ).

Значение '8' соответствует моменту выстрела гранатой при режиме огня "А" (автомат). При стрелье в режиме "1" (одиночными) почему-то это значение не появляется, т.е. имеем 0->3->0 (момент выстрела гранатой не имеет своего значения).

 

3. 'upd.ammo_ids', как (ИМХО) правильно заметил abramcumner, сответствует кол-ву типов патронов в стволе/стволах ружей, хотя, как тоже правильно указал KD87, это кол-во всегда (вроде) соответствует кол-ву оставшихся патронов в стволе(ах).

После этого идет перечисление типов патронов, аналогичное 'ammo_type'. (в u8 прописаны 0/1/...)

 

P.S. KD87, похоже нужно подправить алгоритмы считывания/записи в ACDC, хотя в спавн врядли кто будет включать ружья с неполной зарядкой или заряженные разными патронами. ;-)

Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Всем привет народ! Помогите пожалуйста построить следующую функцию, в общем мне нужно сделать функцию на проверку патронов в инвентаре и в магазине активного оружия то есть если я к примеру стрелляю из АК-74 и у меня кончились патроны в инвентаре и в магазине автомата тогда должен воспроизвестись звуковой файл! Проблема в том что я не знаю как составить проверку на количество оставшихся патронов! Помогите пожалуйста кому не трудно...

Реклама любых модов бесплатно на моём

сайте писать в личку

Ссылка на комментарий
serega-gamer: Проблема в том что я не знаю как ...

Проблема не в том, что не знаешь, а в том, что НЕ хочешь узнавать (ИМХО), надеясь поскорее заполучить готовенькое ...

А может потрудишься немного сам? Заодно и узнаешь 'как' делать в дальнейшем!

Чтобы узнать кол-во патронов в оружии имеется метод: iCount_Ammo = oWeapon:get_ammo_in_magazine()

Чтобы узнать кол-во патронов в рюкзаке - пробежаться итерацией по рюкзаку актора и посчитать кол-во пачек и патронов в них. Это несколько посложнее, но взяв за исходный код мод "Dunnin_ammo" (перепаковка патронов), который встречается во многих модах, несложно получить желаемый результат.

Успехов в познании! :-) Ну а что не будет получаться - поможем доразобраться.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

KD87, есть неточности.

4) upd:ammo_type

Тип патронов. 0 - обычные, 1 - бронебойные. Если есть еще - идут в порядке повышения убойности (так вроде)

Если не полностью расстрелять магазин и поменять тип патронов, upd:ammo_type изменится для всего магазина.

Не в порядке убойности, а в том порядке, как они написаны в конфиге оружия. Если обычные записать скажем пятым номером - то и в нет-пакете будут соответственно отмечаться значением 4.

 

7) upd:current_fire_mode

Текущий режим огня. 0 - одиночными, 1 - два патрона, 2 - очередью. Если режима по 2 патрона у оружия нет, то режим очередью будет 1.

Опять же, тут идет в том порядке как режимы стрельбы записаны в конфиге. Есть примеры стволов у которых список доступных режимов выглядит так: 1, 2, 3, 5, -1. И в таком случае режим очереди - это 4 в нет-пакете.

 

А за информацию спасибо :)

 

serega-gamer

По всем подобным вопросам тебе сюда

Изменено пользователем Zander_driver

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий

abramcumner, ammo_ids всегда равен ammo_elapsed. Проверял для всех дробовиков, с разными типами патронов, с разным количеством патронов разных типов. Так в ТЧ, по крайней мере.

Artos, ну так они и должны соответствовать :) А что в ACDC надо поправить с твоей точки зрения?

Zander_driver, честно говоря, не знал, что режимы стрельбы можно добавить в конфигах :)

Ссылка на комментарий
abramcumner, ammo_ids всегда равен ammo_elapsed. Проверял для всех дробовиков, с разными типами патронов, с разным количеством патронов разных типов. Так в ТЧ, по крайней мере.

Он и должен быть равен ammo_elapsed, просто он задает размер массива идущего следом. Дальше идет массив байт - определяет тип заряженных патронов.

Ссылка на комментарий

У меня в сталкере, если подбираешь артефакт, то он наноси мне хит. Когда я выкидываю этот арт и подбираю, я сделал так чтиобы он мне не наносил хит повторно, но!!! но подобрав много артов и когда я произвожу рестарт игры меня тупо убивает.... как выполнить проверку на арты которые я уже подбирал.

 

local art_params = {

["af_ameba_mica"] = {0.4, 0.5, hit.shock},

["af_ameba_slime"] = {0.4, 0.8, hit.strike},

["af_ameba_slug"] = {0.6, 0.8, hit.fire_wound},

["af_blood"] = {0.8, 0.9, hit.shock},

["af_cristall"] = {0.9, 0.3, hit.strike},

["af_cristall_flower"] = {0.9, 0.7, hit.strike},

["af_drops"] = {0.1, 0.4, hit.explosion},

["af_dummy_pellicle"] = {0.7, 0.5, hit.burn},

["af_electra_flash "] = {0.8, 0.1, hit.telepatic},

["af_electra_moonlight"] = {0.4, 0.3, hit.wound},

["af_electra_sparkler"] = {0.7, 0.7, hit.strike},

["af_fireball"] = {0.4, 0.1, hit.radiation},

["af_fuzz_kolobok"] = {0.8, 0.6, hit.explosion},

["af_gold_fish"] = {0.8, 0.1, hit.radiation},

["af_gravi"] = {0.4, 0.3, hit.telepatic},

["af_medusa"] = {0.5, 0.7, hit.burn},

["af_mincer_meat"] = {0.5, 0.3, hit.radiation},

["af_night_star"] = {0.6, 0.7, hit.explosion},

["af_rusty_kristall"] = {0.1, 0.2, hit.telepatic},

["af_rusty_sea-urchin"] = {0.4, 0.3, hit.explosion},

["af_rusty_thorn"] = {0.5, 0.8, hit.strike},

["af_soul"] = {0.9, 0.9, hit.shock},

["af_vyvert"] = {0.4, 0.9, hit.telepatic}

}

 

local tbl_exists = {}

 

--- #$ Функция обновление рэндома хита радиактивного дождика

function artefacts_hit(object)

if object then

local section = object:section()

 

if section and art_params[section] then

-- Проверка на существование

if not tbl_exists[object:id()] then

-- Заполняем tbl_exists чтоб когда мы выбрасываем и подбираем его снова нам урон не наносился

table.insert(tbl_exists, object:id())

tbl_exists[object:id()] = section

 

local hit = hit()

 

hit.draftsman = db.actor

hit.direction = vector():set(0,0,0)

hit.impulse = art_params[section][2]

hit.type = art_params[section][3]

hit.power = art_params[section][1]

 

level.add_pp_effector("amk_shoot.ppe", 2011, false)

db.actor:hit(hit)

end

end

end

end

 

 

 

эту функцию я повесил на actor_binder:on_item_take

и при загрузке игры когда арты добавляются ко мне в рюкзак, мне снова наносится хит...

 

 

Народ, как это исправить?

Изменено пользователем AutoGnom
Ссылка на комментарий

abramcumner, KD87, нет вероятно смысла спорить/уточнять по поводу равен иль соответствует 'ammo_ids' кол-ву 'ammo_elapsed'.

Вот категоричность 'должен быть равен' я бы не употреблял. Если мы имеем уже и ammo_elapsed и ammo_type - это автоматом означает как минимум, что если патрон имеется в стволе - то его тип (1-го патрона) равен ammo_type. Т.о. уж для 1-го патрона в стволе вполне можно не задавать доп.поле описания его типа в ammo_ids.

Ну да раз сделали уже разработчики игры так как есть - то и исходим из этого.

 

KD87: А что в ACDC надо поправить с твоей точки зрения?

1. Чтобы не возникало путаницы для тех, кто читает код ACDC и использует как справочник по нет-пакетам, ИМХО стОит добавить опущенные параметры для ружей/дробовиков (cse_alife_item_weapon_shotgun).

Как минимум, я в читалке/изменялке нет-пакетов внес правки:

--/ ---------------------------------------------
--/ cse_alife_item_weapon_shotgun
--/ ---------------------------------------------
function Parse_Packet_cse_alife_item_weapon_shotgun(tP,oPs,oPu)
  Parse_Packet_cse_alife_item_weapon_magazined(tP,oPs,oPu)
  if oPu and tP.upd and Has_Left(oPu) then
    tP.upd.ammo_ids = oPu:r_u8()
    if tP.upd.ammo_ids ~= 0 then --/#+#
      --tP.upd.ammo_id = Get_LeftChunk({},oPu) --/#!# чтение остатка (вар.1)
      tP.upd.ammo_id = {}
      for i=1,tP.upd.ammo_ids do
        tP.upd.ammo_id[i] = oPu:r_u8()
      end
    end
  end
  return tP --/>
end
function Fill_Packet_cse_alife_item_weapon_shotgun(tP,oPs,oPu)
  Fill_Packet_cse_alife_item_weapon_magazined(tP,oPs,oPu)
  if oPu and next(tP.upd) then
    oPu:w_u8(tP.upd.ammo_ids or 0)
    if (tP.upd.ammo_ids or 0) ~= 0 and tP.upd.ammo_id then --/#+#
      --Set_LeftChunk(tP.upd.ammo_id,oPu) --/#!# запись остатка (вар.1)
      for i=1,tP.upd.ammo_ids do
        oPu:w_u8(tP.upd.ammo_id[i] or 0)
      end
    end
  end
end

- что позволяет считывать и изменять эти параметры (типы патронов в стволе).

2. Сейчас в ACDC невозможно заспавнить обрез/дробовик с иным чем 1-ым по порядку в конфиг-строке типом патронов, т.к. если даже указать ammo_type отличным от '0', то отсутствие параметров после upd.ammo_ids приведет к коллизии (несоответствие типов).

Пока не проверил критичность такой коллизии. Да и как ранее упомянул - врядли кому потребуется спавнить в алл.спавне такое оружие с недефолтными патронами.

Но если сделать, то добавить возможность указывать хотя бы общий тип для upd.ammo_id[N], соответствующий ammo_type.

P.S.S. Проверил возможность спавна с недефолтными патронами (тип не 0). Получактся то, что при отсутствии перечисления типов патронов после 'upd.ammo_ids' в ствол заряжаются те, которые заданы в 'upd:ammo_type' (если 1 - они и будут).

 

 

 

Добавлено через 12 мин.:

AutoGnom, тут уже чуть ранее проскакивали сообщения по коллбэкам при старте и/или завершении игры.

Чуть повторюсь.

Многими модмейкерами совершенно упускаются моменты старта игры (загрузка и инициализайия кодов/объектов) и завершения игры (отрегистрация/разрушение).

При старте игры актор появляется в игре первым и ГОЛЕНЬКИМ(!), т.е. не имея ничего. Уже далее, по мере спавна в игру его шмоток - эти шмотки попадают к нему в рюкзак/слоты/... Т.о. при старте происходит единомоментный вброс всего того, что было у ГГ перед созданием сэйва.

Применительно к твоему случаю происходит "повторный подбор" артов, которые уже были подобраны ГГ.

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

 

В твоем случае необходимо либо блокировать обработку коллбэка при старте игры до момента собственно начала 'жизни' (см. немного ранее в топике) или же метить уже 'поднятые' арты и уже не учитывать при хитовании. Второе вероятно предпочтительнее, т.к. выкладывая куда-нибудь в нычку подобранные арты твой ГГ будет каждый раз получать хиты при взятии своих артов из нычки ...

(пример как можно запоминать подобранные арты см. например в SIMBION'е)

 

Примечание: Просьба НЕ применять обращения к толпе (Народ/Люди/...). Мне, например, за весь 'народ' отвечать ну ни как не хочется ... так что от таких 'индивидуалистов' можешь и не дождаться в следующий раз ответа/совета.

 

 

Добавлено через 53 мин.:

=============================================================

(любителям головоломок) Вопрос в текущую тему (по параметрам оружия):

Столкнулся уже второй раз, с воспроизводимой ситуацией, когда при запуске сэйва игры (SINBION:SHOC-mod) при подъеме актором оружия около убитого НПС, поднятое оружие не отображается в инвентаре ГГ.

Различные проверки показали корректность заспавненного объекта (параметры/нет-пакеты/...).

Исчезновение поднятого оружия (конкретно был wpn_ak74) происходит при наличии у ГГ в автоматном слоте другого оружия. Лог показывает, что оружие оказывается в инвентаре ГГ и он становится его владельцем, но оружие ничем визуально себя не обнаруживает.

Если брать такой ствол при свободном под него слоте - оружие благополучно занимает свое место в слоте.

Если сделать сэйв с исчезнувшим оружием - после загрузки прежнее оружие исчезает, а в слоте оказывается поднятое и исчезнувшее ранее оружие. (на патче 1.0006 происходит вылет).

Вот никак не могу понять, отчего исчезает оружие, точнее почему оно пытается встать в уже занятый слот и при занятости слота - исчезает, появляясь после перезагрузки? Ну и соответственно поняв причину - исключить проявление подобного (а может быть и использовать подобную нештатку).

Валяющееся оружие имеет 'weapon_state' == 5 (было выброшено при гибели). Все параметры нет-пакета (не смотрел только cse_abstract) соответствуют обычным. Если нет-пакет переписать (изменив например weapon_state = 0) и отправить оружие в оффлайн и обратно - коллизия с исчезновением исчезает.

Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий
Artos ты не прав мне не лень мне очень интересно просто я не знаю как сделать проверку на патроны в инвентаре! Проверку на патроны в магазине я сделал пока только на 1 слот Изменено пользователем Artos

Реклама любых модов бесплатно на моём

сайте писать в личку

Ссылка на комментарий

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

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...