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

Скриптование


Svoboда

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

(изменено)

MIDERY

Ох ё... Конечно не так это будет.

Для story_id будет так

 

if object:story_id() == 1000 then
local h = object.health
object.health = 0.05 - h
end

для профиля так:
if object:profile_name() == "тот_что_тебе_нужен" then
local h = object.health
object.health = 0.05 - h
end

для секции так:
if object:section() == "секция_непися" then
local h = object.health
object.health = 0.05 - h
end

И раз уж оказалось непонятно, поясню подробнее: object здесь - это клиентский объект НПСа. тип данных *game_object.

 

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

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

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

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

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


Ссылка на сообщение

demover123

Удалить предмет из активного слота, заспавнить другой, который туда подходит.

 

Shadows

Не совсем понятно, что тебе требуется. заспавнить "ak74" ? или "wpn_" ?

 

AndreySol

Насколько знаю, напрямую никак. Только перебирать все элементы при чтении/записи и считать объем вручную.

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

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

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

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


Ссылка на сообщение

Real Wolf

Это как я понимаю, инфа вроде такой: СВД в инвентаре лежит вверху слева, под ним АК, под ним экза. Не припоминаю методов позволяющих узнать такое. К тому же это расположение может самопроизвольно меняться движком. Пример: переодели комбез. Тот что сняли - окажется в самом низу инвентаря. Закрыли-открыли инвентарь - он уже далеко не внизу.

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

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

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

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


Ссылка на сообщение
(изменено)

Artos

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

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

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

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

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

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

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


Ссылка на сообщение

Столкнулся с такой проблемой. Игра не сохраняет состояние артефакта, которое condition. Скриптом наношу артефакту повреждения, они на его полоске состояния видны, но стоит сделать save/load - у него опять шкала состояния полная.

Записывать в пстор актора сведения о всех артефактах - не вариант, не влезет туда такая прорва... А у самих артефактов если я правильно понял, пстора нет.

Существуют ли какие-нибудь способы сохранить состояние артефактов при s/L, без титанических затрат ресурсов?

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

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

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

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


Ссылка на сообщение
(изменено)

serega-gamer

Теперь такая проблема скажите пожалуйста кто в курсе можно ли через db.actor кровотечение отследить?? А то я что то только пси здоровье, радиацию, мораль и выносливость нашёл!

db.actor:get_bleeding()

возвращает float. причем не 0..1, у меня бывало и 2.4

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

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

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

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

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


Ссылка на сообщение
(изменено)

AndreySol

А зачем искать все секции? в вышепрозвучавшем вопросе вроде бы этого не требовалось

 

для произвольного инвентарного объекта:

function get_icon_coord(obj) --- передавать клиентский объект *game_object
if obj == nil then return nil end
local section = obj:section()
local ltx = system_ini()
local x = ltx:r_float(section, "inv_grid_x")
local y = ltx:r_float(section, "inv_grid_y")
local xsize = ltx:r_float(section, "inv_grid_width")
local ysize = ltx:r_float(section, "inv_grid_height")
return {x, y, xsize, ysize}
end

 

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

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

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

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

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


Ссылка на сообщение

panzyuza

Про режим прицеливания на форуме писали совсем-совсем недавно. Буквально на прошлой неделе, вроде как...

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

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

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

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


Ссылка на сообщение

Полтергейст

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

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

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

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

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

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


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

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

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

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

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

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


Ссылка на сообщение
(изменено)

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 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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


Ссылка на сообщение
(изменено)

serega-gamer

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

 

Вообще говоря - слоты в данном случае есть часть инвентаря. Функции итерации инвентаря считают и то что в слотах.

 

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

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

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

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

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

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


Ссылка на сообщение

serega-gamer

Хоть наверно я уже давно не первый, кто это советует, но по части гранат, и в общепознавательных целях...

Очень советую прочитать

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

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

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

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


Ссылка на сообщение
(изменено)
Такой вопрос:

 

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

 

function use_antirad()                                                                                               
if not db.actor:object("zgyt") then                                                                                
spawn_to_inventar("antirad")                                                                                      
news_manager.send_tip(db.actor, game.translate_string("У_вас_нет_жгута."))             
elseif db.actor:object("zgyt") then                                                                                
spawn_to_inventar("antirad_norm")                                                                              
del_zgyt()                                                                                                                                                                
db.actor:eat(db.actor:object("antirad_norm"))
end
end


-- Функция спавна в инвентарь.
function spawn_to_inventar(spawn_item, npc)
  if npc==nil then 
    npc=db.actor 
  end
  return alife():create(spawn_item, 
      npc:position(),
      npc:level_vertex_id(),  
      npc:game_vertex_id(),
      npc:id())
end

-- Функция удаления.
function del_zgyt()
local oItem = db.actor:object("zgyt")
if oItem then
db.actor:drop_item(oItem)
alife():release(alife():object(oItem:id()), true)
end
end

 

У тебя в одной и той же функции происходит спавн предмета в инвентарь и его съедание. Так нельзя)

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

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

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

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

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

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


Ссылка на сообщение
(изменено)
Ребят...помогите. столкнулся с такой проблемой. Вот хочу сделать чтобы еда и аптечки в ТЧ лечили как в ЗП.

Нашел мануал(он в спойлере) там всё подробно описывается. Делал точно так же как там написано. В итоге ловлю вылет с логом:

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

Expression : fatal error

Function : CScriptEngine::lua_error

File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp

Line : 73

Description : <no expression>

Arguments : LUA error: ...ow of chernobyl\gamedata\scripts\bind_stalker.script:233: attempt to index global 'heal_regen' (a nil value)

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

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

 

Столько шума из ничего... у вас лог ругается на синтаксическую ошибку в heal_regen.script. Указания строки лишь говорят, что из bind_stalker-а произошел вызов вашего, который уже с ошибкой.

А вы ошибку ищете, как я понял, в bind_stalker.script. Зачем? ее там нет, иначе лог был бы совсем другой.

 

Зачем столько цитировать? Достаточно передать суть...

ColR_iT

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

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

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

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

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


Ссылка на сообщение
(изменено)
3. Если из диалога вызываешь типа так: <action>my_script.change_item_loc</action> и ранее этот твой скрипт (my_script) не был где-либо в кодах инициализирован, т.е. не включен в глобальную метатаблицу _G, то удивляться вылету не стОит.

 

Варианты лечения:

а) включить свою функцию в заведомо используемый в игре скрипт и обращаться уже туда.

б) перед диалогом или даже в начале игры просто инициализируй свой скрипт типа: if my_script then return end , что занесет твой скрипт-файл вместе с функцией в глобальную таблицу _G ифункция станет доступной из диалогов.

 

Эмм, или я только что узнал ранее мне неведомое, или я чего-то не понял. Разве должен быть вылет при таком обращении к функции из диалога? У меня его не происходит.

Поясню ситуацию: в моде Жесть к примеру, существует такая штука как бартерная торговля. Диалог торговли генерируется скриптом, функция-генератор вписывает в диалог экшены и прекондишены... а функции для них лежат "отдельной кучкой" в некоторых файлах скриптов, которые никто нигде не помянул, только вот этот означенный генератор их в диалог вставляет. Запускаем игру и все работает. Аналогично устроена и система апгрейда оружия/брони в этом моде.

Если то, что вы сказали, правда, то почему у меня не происходит вылета?

Да кстати сам генератор диалога лежит в файле скрипта, первое упоминание о котором игра встречает, когда возникает надобность начать диалог с соответствующим НПС (я не в курсе когда именно происходит генерация - при нажатии "F - говорить" с НПС, или при его входе в онлайн)

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

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

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

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

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


Ссылка на сообщение

У вас нет желания разжевывать - ваше право.

Однако у меня есть желание вникать и разбираться...

 

Если я правильно понял, получается так:

Когда мы в xml-описании диалога обращаемся тем или иным тегом к функции - она должна находиться в одном из скриптов, подключенных (не уверен в правильности терминологии...) к метатаблице _G.

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

Имеются в виду методы AddAction, AddPrecondition.

 

Просто как бы в свое время изучал скриптовые диалоги по статьям malandrinus-a, упомянутые там факторы учел - в итоге получилась работающая система. Да, я понял что если работает у меня - еще ни о чем не говорит. По вашим словам выходит что тут есть еще некий "подводный камень" которого я избежал лишь благодаря везению и удаче. Мне то хочется знать о нем, чтобы и впредь избегать уже при помощи знания.

Верно или нет мое предположение... ?

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

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

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

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


Ссылка на сообщение

Ох опять я стал похож на потребителя, который хочет все готовое :)

Если я в посте прошу "разжевать" не упоминая при этом о собственных попытках разобраться - это еще не значит что я их не делал. Просто приберег результаты для дальнейшей полемики.

Итак

Не мудрствуя лукаво, взял за основу один из простеньких диалогов, прописанный Сидору. Добавил в него экшен:

    <dialog id="tutorial_barter">
        <phrase_list>
            <phrase id="0">
                <text>tutorial_barter_0</text>
                <next>1</next>
            </phrase>
            <phrase id="1">
                <text>tutorial_barter_1</text>
                <next>2</next>
            </phrase>
            <phrase id="2">
                <text>tutorial_barter_2</text>
        <action>blabla.tralala</action>
                <next>3</next>
            </phrase>
            <phrase id="3">
                <text>tutorial_barter_3</text>
                <next>4</next>
            </phrase>
            <phrase id="4">
                <text>tutorial_barter_4</text>
                <next>5</next>
            </phrase>
            <phrase id="5">
                <text>tutorial_barter_5</text>
                <next>6</next>
            </phrase>
            <phrase id="6">
                <text>tutorial_barter_6</text>
            </phrase>
        </phrase_list>
    </dialog>

Вон он, в фразе с id = "2".

 

 

Затем в папке scripts создал файл "blabla.script"

Вот все его содержимое:

function tralala()
news_manager.send_tip(db.actor, "Ох как нам повезло, мы не вылетаем!", nil, nil, 20000)
end

 

И, собственно, все. Запустил игру, поболтал с Сидором - результат:

Скриншот

 

 

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

Сейчас я добиваюсь получения вылета по вашим описаниям. Когда получится - приму на веру "вот так делать ненадо". Но пока не получилось.

Прошу прощения если чрезмерно надоедаю своими вопросами. И, да, если что - я тоже ни в коей мере не хотел вас задеть/обидеть.

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

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

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

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


Ссылка на сообщение

AndreySol

Перефразируя вышесказанное, я бы дал такой совет: СтОит почаще задумываться над тем, как вашему компьютеру приходится ПАХАТЬ порой, для выполнения вами написанного кода. И озадачиваться вопросом - а нужно ли так нагружать машину для достижения того, что вам надобно?

И утверждения вида "вот там и вон там сделали вот так! значит это истина!" приводят в ужас. На заборе тоже всегда только истину пишут?

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

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

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

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


Ссылка на сообщение
Проблема в том, что если запомнить ссылку на объект, скажем клиентский объект вертолёта, а потом удалить вертолёт или просто отправить его в оффлайн, то произойдёт следующее: движковый объект преспокойно удалится/уйдёт в оффлайн, а вот объект Lua вместе с ним не удалится, поскольку этого не даст сделать сборщик мусора из-за того, что на объект имеется ссылка. В итоге имеем объект, за которым уже нет реального движкового объекта. При попытке вызвать любой метод этого объекта будет вылет. Не помню точно, как именно этот вылет выглядит. Вроде как на нодвд это обычно вылет без лога.

А есть ли хоть какой то способ проверить клиентский объект на соответствие движковому? Я так понимаю стандартная проверка

if object then

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

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

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

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

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


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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

AMK-Team.ru

×
×
  • Создать...