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

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

 
 

ian98 Сформулируй вопрос...

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


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

Да ладно вам, что никогда не сталкивались в играх с большими инвентаряси? В таких игра часто есть функция маркировки важных предметов, чтобы случайно их не продать или выкинуть - добавить в избранное


76561198152189716.png

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


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

ian98 ты про какие-то особые рпг? Да и зачем это? Люди не складируют тонну предметов в рюкзачке.

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


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

Hunter в сталкере-то? По-моему, именно в этой игре появилась такая дисциплина как трупотаскание, и это единственная игра, где я вообще видел такое. Не из-за огромного ли количества предметов это? Это по теме особых рпг.  И, что, никто по ошибке никогда не терял нужный предмет из-за не очень удобного и откровенно забаганного инвентаря? Хотя бы скрипт, который бы запрещал проводить любое действие над предмет, пока не вытащить его из активного слота. Хоть я и не знаю точно как его написать, но подозреваю, что хотя бы так можно было бы сделать. Можно?


76561198152189716.png

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


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

нажал на звездочку

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

35 минут назад, ian98 сказал:

Хотя бы скрипт, который бы запрещал проводить любое действие над предмет, пока не вытащить его из активного слота

можно попробовать запоминать предметы в слотах, и в коллбеке actor_binder:on_item_drop возвращать их обратно в инвентарь. На огср движке в external.ltx можно включить подсветку предметов, находящихся в слотах и на поясе (и запретить их продавать)

Изменено пользователем vader_33
  • Спасибо 1

В беге за рассветом приближаешь свой закат

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


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

vader_33 Движок у меня самый обычный, не думал я об этом, а переносить уже не хочется.

возвращать обратно в инвентарь это как будет выглядеть? И как это можно сделать)

Вот у меня есть скрипт, полностью рабочий, но считает и забирает в итоге все предметы, даже, возможно, необходимые, что в слотах активных. Конечно, можно нужный предмет выложить из инвентаря перед активацией скрипта, но можно ли просто внести предметы в активных слотах в список исключений? Я даже примерно представляю как можно попробовать, хотя нет не очень, в общем я попытался так. Попытался в строке, где написано ВОТ ЗДЕСЬ..

-- 10 Предметов обычной редкости меняем на 1 предмет необычной редкости.
function remove_random_common_final(npc, npz)
  local first_wpn_slot = 1
  local second_wpn_slot = 2
  local outfit_slot = 5
--  local sys_ini = system_ini() эти две строки, по-моему, вообще лишние 
--  local current_weapon_id = nil
  local important_objects = {  -- Предметы, которые нужно сплавить. Их редкость "Обычный"
    [ "harmonica_a" ] = true,
    [ "guitar_a" ] = true,...
  }
  local tbl = {}
	  db.actor:iterate_inventory(
		function( dummy, obj )
		  if (important_objects[ obj:section() ] and not db.actor:item_in_slot(first_wpn_slot) and db.actor:item_in_slot(second_wpn_slot) and db.actor:item_in_slot(outfit_slot)) then -- ВОТ ЗДЕСЬ Я ПОПЫТАЛСЯ УКАЗАТЬ НУЖНЫЕ УСЛОВИЯ, но неправильно. Работает не так как мне мечталось бы.
			table.insert( tbl, obj:id() )
		  end
		end
	  )
	if table.getn(tbl) < 10 then return end
	if table.getn(tbl) >= 10 then
	for i=1,10 do
		local rnd = math.random(1,#tbl)
		local sobj = alife():object(tbl[rnd])
			if sobj then
					news_manager.relocate_item( db.actor, "out", sobj:section_name() )
					alife():release( sobj, true )
					table.remove(tbl, rnd)
	db.actor:give_info_portion("trade_completed")
				end
		end
	end
local chance_weapon = 0.5
local chance_some = 0.5
if (math.random() < chance_weapon) then
	local reward_item_weapon = math.random(1,2) -- 1 случайный предмет, редкость которого Необычный
	if reward_item_weapon == 1 then
		dialogs.relocate_item_section(npc, "wpn_bm16_6", "in")
	end
	if reward_item_weapon == 2 then
		dialogs.relocate_item_section(npc, "wpn_bm16_7", "in")
	end
if (math.random() > chance_some) then
	local reward_item_some = math.random(1,2) -- 1 случайный предмет, редкость которого Необычный
	if reward_item_some == 1 then
		dialogs.relocate_item_section(npc, "ammo_12x70_buck", "in")
	end
	if reward_item == 2 then
		dialogs.relocate_item_section(npc, "ammo_11.43x23_fmj", "in")
	end
      end
   end
end

 


76561198152189716.png

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


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

а переносить уже не хочется

перенести будет быстрее и проще, чем все эти изобретения костылей и велосипедов. Реально большинство проблем, которые вы тут за всё время писали, решаются огср движком, лучше потратить время и пересесть на него, а не жевать кактус. В коллбек on_item_drop уже передается объект, который убирается из инвентаря актора, не нужно инвентарь перебирать. Сохранить иды объектов в слотах, сравнить с идом предмета с коллбека, и если ид совпадает - или переносить или спавнить новый, смотря как он пропадает из инвентаря

Изменено пользователем vader_33
  • Печаль 1

В беге за рассветом приближаешь свой закат

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


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

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

Спойлер

local level_vertexes={
l01_escape = {lvid=595499, gvid=1},
l02_garbage = {lvid=382663, gvid=252},
l03_agroprom = {lvid=437420, gvid=416},
l03u_agr_underground = {lvid=-1, gvid=703},
l04_darkvalley = {lvid=390124, gvid=811},
l04u_labx18 = {lvid=-1, gvid=1109},
l05_bar = {lvid=99538, gvid=1168},
l06_rostok = {lvid=67712, gvid=1308},
l07_military = {lvid=418267, gvid=1545},
l08_yantar = {lvid=141470, gvid=1438},
l08u_brainlab = {lvid=1, gvid=1529},
l10_radar = {lvid=227188, gvid=1862},
l10u_bunker = {lvid=-1, gvid=2661},
l11_pripyat = {lvid=261218, gvid=2117},
l12_stancia = {lvid=477922, gvid=2273},
l12_stancia_2 = {lvid=-1, gvid=2517},
l12u_sarcofag = {lvid=-1, gvid=2402},
l12u_control_monolith ={lvid=-1, gvid=2467}
}

local npc = {
"mil_freedom_respawn_sniper",
"agr_stalker_veteran",
"agr_soldier_veteran",
"agr_bandit_respawn_1",
"pri_monolith_respawn_1",
"gar_dolg_respawn_1",
"rad_zombied_respawn_1",
"yan_ecolog_respawn_1",
"cit_killer_respawn_1",
"agr_stalker_veteran",
"agr_soldier_veteran",
"agr_bandit_respawn_1",
"pri_monolith_respawn_1",
"gar_dolg_respawn_1",
"rad_zombied_respawn_1",
"yan_ecolog_respawn_1",
"cit_killer_respawn_1",
"snork_arena",
"snork_indoor",
"snork_outdoor",
"snork_jumper",
"psy_dog_radar",
"psy_dog",
"pseudodog_arena",
"pseudodog_strong",
"pseudodog_normal",
"gigant_normal",
"gigant_strong",
"flesh_strong",
"flesh_normal",
"flesh_weak",
"dog_strong",
"dog_normal",
"dog_weak",
"boar_strong",
"boar_normal",
"boar_weak",
"bloodsucker_mil",
"bloodsucker_arena",
"bloodsucker_strong",
"bloodsucker_normal",
"bloodsucker_weak"
}

function random_npc_spawn()
local count = 1
local section = npc[math.random(table.getn(npc))] -- выбираем секцию моба
local lv = math.random(level_vertexes[level.name()]["lvid"]) --выбираем левел вертекс
local gv = level_vertexes[level.name()]["gvid"] --выбираем гэйм вертекс
for ind = 1, count do
    alife():create(section, level.vertex_position(lv), lv, gv)--\\level.vertex_position(lv) - позиция левел вертекса
   end
end

 

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

76561198152189716.png

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


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

При попытке скомпилировать в СДК геометрию локации получаю вылет. Использую СДК 0.4. от Yara. Лог прикладываю.

Спойлер

 

[09/29/21 19:32:37]    * Detected CPU: AuthenticAMD AMD Ryzen 5 2600 Six-Core Processor            , F143/M8/S2
[09/29/21 19:32:37]    * CPU Features: RDTSC, MMX, SSE, SSE2, SSE3, SSE4.1, SSE4.2
[09/29/21 19:32:37]    
[09/29/21 19:32:37]    Initializing File System...
[09/29/21 19:32:37]     
[09/29/21 19:32:37]    !WARNING: not found file!
[09/29/21 19:32:37]    using fs-ltx fsgame.ltx
[09/29/21 19:32:37]    FS: 32870 files cached, 6273Kb memory used.
[09/29/21 19:32:37]    Init FileSystem 0.928224 sec
[29.09.21 19:32:37.866] 'xrCore' build 7723, Mar 30 2020
[29.09.21 19:32:37.866] 
[29.09.21 19:32:37.885] Startup time: 19:32:37
[29.09.21 19:32:38.105]  
[29.09.21 19:32:38.105] * New phase started: Reading project [escape_1935]...
[29.09.21 19:32:38.105]     |    | version: 17
[29.09.21 19:32:38.118]  
[29.09.21 19:32:38.118] * New phase started: Converting data structures...
[29.09.21 19:32:38.118]     | Vertices...
[29.09.21 19:32:38.154]     |    | *         vertices: 373696
[29.09.21 19:32:38.154]     | Faces...
[29.09.21 19:32:38.330]     |    | *            faces: 663894
[29.09.21 19:32:38.330]     | Models and References
[29.09.21 19:32:38.331]     |    | * Loading model: 'levels\escape_1935\escape_1935_lod0000' - v(312/312), f(505/505)
[29.09.21 19:32:38.344] DEBUG CONTEXT DUMP:
[29.09.21 19:32:38.344]  
[29.09.21 19:32:38.344]  
[29.09.21 19:32:38.344]  
[29.09.21 19:32:38.344]  
[29.09.21 19:32:38.344]  
[29.09.21 19:32:38.344]  
[29.09.21 19:32:38.344]  
[29.09.21 19:32:38.344]  
[29.09.21 19:32:38.344]  
[29.09.21 19:32:38.344]  
[29.09.21 19:32:38.344]  
[29.09.21 19:32:38.344]  
[29.09.21 19:32:38.344]  
[29.09.21 19:32:38.344]  
[29.09.21 19:32:38.344]  
[29.09.21 19:32:38.344] Unhandled exception stack trace:
[29.09.21 19:32:38.344] 
[29.09.21 19:32:38.344] , memmove()
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.344] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.345] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.345] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.345] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.345] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.345] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.345] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.345] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.345] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.345] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.345] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.345] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.345] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.345] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.345] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.345] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe
[29.09.21 19:32:38.345] 0x00000000006F0073 (0x00000000 0x00000000 0x00000000 0x00000000) xrLC.exe


 

 

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


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

ian98 вертексы можно посмотреть, например, в программе GraphViewer (там и схематично можно их посмотреть)

  • Хабар 1

В беге за рассветом приближаешь свой закат

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


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

ian98 

Спойлер

-- Здесь перечислены все интервалы game_vertex для каждого
-- уровня. Можно не запуская игру смотреть, на каком уровне спавнится
-- объект
local game_vertexes = {
  l01_escape            = {    0, 251  },
  l02_garbage           = {  252, 415  },
  l03_agroprom          = {  416, 702  },
  l03u_agr_underground  = {  703, 810  },
  l04_darkvalley        = {  811, 1108 },
  l04u_labx18           = { 1109, 1167 },
  l05_bar               = { 1168, 1307 },
  l06_rostok            = { 1308, 1437 },
  l08_yantar            = { 1438, 1528 },
  l08u_brainlab         = { 1529, 1544 },
  l07_military          = { 1545, 1861 },
  l10_radar             = { 1862, 2116 },
  l11_pripyat           = { 2117, 2272 },
  l12_stancia           = { 2273, 2401 },
  l12u_sarcofag         = { 2402, 2466 },
  l12u_control_monolith = { 2467, 2516 },
  l12_stancia_2         = { 2517, 2660 },
  l10u_bunker           = { 2661, 2791 },
}

-- кол-во левел вертексов на локации
level_vertexes = {
  l01_escape            =  595499,
  l02_garbage           =  382663,
  l03_agroprom          =  437421,
  l03u_agr_underground  =    4932,
  l04_darkvalley        =  390125,
  l04u_labx18           =    7581,
  l05_bar               =   99539,
  l06_rostok            =   67713,
  l07_military          =  418268,
  l08_yantar            =  141471,
  l08u_brainlab         =    8008,
  l10_radar             =  227189,
  l10u_bunker           =    8821,
  l11_pripyat           =  261219,
  l12_stancia           =  477923,
  l12_stancia_2         =  264577,
  l12u_control_monolith =    3982,
  l12u_sarcofag         =   10672,
}


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

но можно ли просто внести предметы в активных слотах в список исключений

Делаешь проверку что это тот самый предмет и что этот предмет активен.

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

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


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

vader_33 Будем посмотреть, что там за программка

.I am dead ух,  чую с этой простой проверкой придется пыхтеть будет завтра пару часов не меньше ?


76561198152189716.png

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


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

придется пыхтеть

Думаешь? А мне кажется ты не прав...

 

Спойлер

    local gun = db.actor:active_item()
    if gun and (gun:section() == "wpn_psy" or gun:section() == "wpn_laser") then

тырыпыр и что должно произойти если активный предмет wpn_psy или wpn_laser

end

 

 

  • Спасибо 1

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


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

I am dead пришлось. Не лезет она в тот скрипт, ну куда я ее не пихал. И с поршнями, и без, и в самый вверх, и по серединке, и вообще везде) 

Дошло уже до такого, когда понял, что все. Отчаялся пытаться.

Спойлер

-- переписать
-- За предоставленный скрипт спасибо добрым людям (AP-PRO)
-- 10 Предметов обычной редкости меняем на 1 предмет необычной редкости.
function remove_random_common_final(npc, npz)
  local gun = db.actor:active_item()
     if db.actor and has_alife_info("trade_alert") then
     db.actor:disable_info_portion("trade_alert") end
        if gun and (gun:section() == "wpn_pm" or
        gun:section() == "wpn_pb" or
        gun:section() == "wpn_fort" or
        gun:section() == "wpn_pm_6" or
        gun:section() == "wpn_pm_7" or
        gun:section() == "wpn_pm_8" or
        gun:section() == "wpn_pm_9" or
        gun:section() == "wpn_pm_10" or
        gun:section() == "wpn_pm_11" or
        gun:section() == "wpn_pm_12" or
        gun:section() == "wpn_pm_13" or
        gun:section() == "wpn_pm_14" or
        gun:section() == "wpn_pb_6" or
        gun:section() == "wpn_pb_7" or
        gun:section() == "wpn_pb_8" or
        gun:section() == "wpn_pb_9" or
        gun:section() == "wpn_pb_10" or
        gun:section() == "wpn_pb_11" or
        gun:section() == "wpn_pb_12" or
        gun:section() == "wpn_pb_13" or
        gun:section() == "wpn_pb_14" or
        gun:section() == "wpn_fort_6" or
        gun:section() == "wpn_fort_7" or
        gun:section() == "wpn_fort_8" or
        gun:section() == "wpn_fort_9" or
        gun:section() == "wpn_fort_10" or
        gun:section() == "wpn_fort_12" or
        gun:section() == "wpn_fort_13" or
        gun:section() == "wpn_fort_11" or
        gun:section() == "wpn_fort_14") then db.actor:give_info_portion("trade_alert")
  local important_objects = {  -- Предметы, которые нужно сплавить. Их редкость "Обычный"
    [ "harmonica_a" ] = true,
    [ "guitar_a" ] = true,
    [ "wpn_pm" ] = true,
    [ "wpn_pb" ] = true,
    [ "wpn_fort" ] = true,
    [ "wpn_pm_6" ] = true,
    [ "wpn_pm_7" ] = true,
    [ "wpn_pm_8" ] = true,
    [ "wpn_pm_9" ] = true,
    [ "wpn_pm_10" ] = true,
    [ "wpn_pm_11" ] = true,
    [ "wpn_pm_12" ] = true,
    [ "wpn_pm_13" ] = true,
    [ "wpn_pm_14" ] = true,
    [ "wpn_pb_6" ] = true,
    [ "wpn_pb_7" ] = true,
    [ "wpn_pb_8" ] = true,
    [ "wpn_pb_9" ] = true,
    [ "wpn_pb_10" ] = true,
    [ "wpn_pb_11" ] = true,
    [ "wpn_pb_12" ] = true,
    [ "wpn_pb_13" ] = true,
    [ "wpn_pb_14" ] = true,
    [ "wpn_fort_6" ] = true,
    [ "wpn_fort_7" ] = true,
    [ "wpn_fort_8" ] = true,
    [ "wpn_fort_9" ] = true,
    [ "wpn_fort_10" ] = true,
    [ "wpn_fort_12" ] = true,
    [ "wpn_fort_13" ] = true,
    [ "wpn_fort_14" ] = true,
    [ "wpn_fort_11" ] = true,
    [ "bread" ] = true,
    [ "kolbasa" ] = true,
    [ "conserva" ] = true,
    [ "vodka" ] = true,
    [ "bandage" ] = true
  }
  local tbl = {}
      db.actor:iterate_inventory(
        function( dummy, obj )
          if (important_objects[ obj:section() ]) then
            table.insert( tbl, obj:id() )
          end
        end
      )
    if table.getn(tbl) < 10 then return end
    if table.getn(tbl) >= 10 and db.actor and has_alife_info("trade_alert") then return end
    if table.getn(tbl) >= 10 then
    for i=1,10 do
        local rnd = math.random(1,#tbl)
        local sobj = alife():object(tbl[rnd])
            if sobj then
                    news_manager.relocate_item( db.actor, "out", sobj:section_name() )
                    alife():release( sobj, true )
                    table.remove(tbl, rnd)
    db.actor:give_info_portion("trade_completed")
                end
        end
    end
local chance_weapon = 0.5
local chance_some = 0.5
if (math.random() < chance_weapon) then
    local reward_item_weapon = math.random(1,41) -- 1 случайный предмет, редкость которого Необычный
    if reward_item_weapon == 1 then
        dialogs.relocate_item_section(npc, "wpn_bm16_6", "in")
    end
    if reward_item_weapon == 2 then
        dialogs.relocate_item_section(npc, "wpn_bm16_7", "in")
    end
    if reward_item_weapon == 3 then
        dialogs.relocate_item_section(npc, "wpn_bm16_8", "in")
    end
    if reward_item_weapon == 4 then
        dialogs.relocate_item_section(npc, "wpn_bm16_9", "in")
    end
    if reward_item_weapon == 5 then
        dialogs.relocate_item_section(npc, "wpn_bm16_10", "in")
    end
    if reward_item_weapon == 6 then
        dialogs.relocate_item_section(npc, "wpn_bm16_11", "in")
    end
    if reward_item_weapon == 7 then
        dialogs.relocate_item_section(npc, "wpn_bm16_12", "in")
    end
    if reward_item_weapon == 8 then
        dialogs.relocate_item_section(npc, "wpn_bm16_13", "in")
    end
    if reward_item_weapon == 9 then
        dialogs.relocate_item_section(npc, "wpn_bm16_14", "in")
    end
    if reward_item_weapon == 10 then
        dialogs.relocate_item_section(npc, "wpn_bm16", "in")
    end
    if reward_item_weapon == 11 then
        dialogs.relocate_item_section(npc, "wpn_beretta", "in")
    end
    if reward_item_weapon == 12 then
        dialogs.relocate_item_section(npc, "wpn_beretta_6", "in")
    end
    if reward_item_weapon == 13 then
        dialogs.relocate_item_section(npc, "wpn_beretta_7", "in")
    end
    if reward_item_weapon == 14 then
        dialogs.relocate_item_section(npc, "wpn_beretta_8", "in")
    end
    if reward_item_weapon == 15 then
        dialogs.relocate_item_section(npc, "wpn_beretta_9", "in")
    end
    if reward_item_weapon == 16 then
        dialogs.relocate_item_section(npc, "wpn_beretta_10", "in")
    end
    if reward_item_weapon == 17 then
        dialogs.relocate_item_section(npc, "wpn_beretta_11", "in")
    end
    if reward_item_weapon == 18 then
        dialogs.relocate_item_section(npc, "wpn_beretta_12", "in")
    end
    if reward_item_weapon == 19 then
        dialogs.relocate_item_section(npc, "wpn_beretta_13", "in")
    end
    if reward_item_weapon == 20 then
        dialogs.relocate_item_section(npc, "wpn_beretta_14", "in")
    end
    if reward_item_weapon == 21 then
        dialogs.relocate_item_section(npc, "wpn_mp5", "in")
    end
    if reward_item_weapon == 22 then
        dialogs.relocate_item_section(npc, "wpn_mp5_6", "in")
    end
    if reward_item_weapon == 23 then
        dialogs.relocate_item_section(npc, "wpn_mp5_7", "in")
    end
    if reward_item_weapon == 24 then
        dialogs.relocate_item_section(npc, "wpn_mp5_8", "in")
    end
    if reward_item_weapon == 25 then
        dialogs.relocate_item_section(npc, "wpn_mp5_9", "in")
    end
    if reward_item_weapon == 26 then
        dialogs.relocate_item_section(npc, "wpn_mp5_10", "in")
    end
    if reward_item_weapon == 27 then
        dialogs.relocate_item_section(npc, "wpn_mp5_11", "in")
    end
    if reward_item_weapon == 28 then
        dialogs.relocate_item_section(npc, "wpn_mp5_12", "in")
    end
    if reward_item_weapon == 29 then
        dialogs.relocate_item_section(npc, "wpn_mp5_13", "in")
    end
    if reward_item_weapon == 30 then
        dialogs.relocate_item_section(npc, "wpn_mp5_14", "in")
    end
    if reward_item_weapon == 31 then
        dialogs.relocate_item_section(npc, "grenade_rgd5", "in")
    end
    if reward_item_weapon == 32 then
        dialogs.relocate_item_section(npc, "wpn_walther", "in")
    end
    if reward_item_weapon == 33 then
        dialogs.relocate_item_section(npc, "wpn_walther_6", "in")
    end
    if reward_item_weapon == 34 then
        dialogs.relocate_item_section(npc, "wpn_walther_7", "in")
    end
    if reward_item_weapon == 35 then
        dialogs.relocate_item_section(npc, "wpn_walther_8", "in")
    end
    if reward_item_weapon == 36 then
        dialogs.relocate_item_section(npc, "wpn_walther_9", "in")
    end
    if reward_item_weapon == 37 then
        dialogs.relocate_item_section(npc, "wpn_walther_10", "in")
    end
    if reward_item_weapon == 38 then
        dialogs.relocate_item_section(npc, "wpn_walther_11", "in")
    end
    if reward_item_weapon == 39 then
        dialogs.relocate_item_section(npc, "wpn_walther_12", "in")
    end
    if reward_item_weapon == 40 then
        dialogs.relocate_item_section(npc, "wpn_walther_13", "in")
    end
    if reward_item_weapon == 41 then
        dialogs.relocate_item_section(npc, "wpn_walther_14", "in")
    end
if (math.random() >= chance_some) then
    local reward_item_some = math.random(1,5) -- 1 случайный предмет, редкость которого Необычный
    if reward_item_some == 1 then
        dialogs.relocate_item_section(npc, "ammo_12x70_buck", "in")
    end
    if reward_item == 2 then
        dialogs.relocate_item_section(npc, "ammo_11.43x23_fmj", "in")
    end
    if reward_item == 3 then
        dialogs.relocate_item_section(npc, "energy_drink", "in")
    end
    if reward_item == 4 then
        dialogs.relocate_item_section(npc, "medkit", "in")
    end
    if reward_item == 5 then
        dialogs.relocate_item_section(npc, "antirad", "in")
     end
    db.actor:disable_info_portion("trade_alert")
     end
      end
   end
end

 


76561198152189716.png

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


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

ian98 омг, твой код сводится к нулю, ниже цитирую из за чего

2 часа назад, ian98 сказал:

if table.getn(tbl) >= 10 and db.actor and has_alife_info("trade_alert") then return end

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


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

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


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

    if gun and (gun:section() == "wpn_pm" or
        gun:section() == "wpn_pb" or
        gun:section() == "wpn_fort" or
        gun:section() == "wpn_pm_6" or
        gun:section() == "wpn_pm_7" or
        gun:section() == "wpn_pm_8" or
        gun:section() == "wpn_pm_9" or
        gun:section() == "wpn_pm_10" or
        gun:section() == "wpn_pm_11" or
        gun:section() == "wpn_pm_12" or
        gun:section() == "wpn_pm_13" or
        gun:section() == "wpn_pm_14" or
        gun:section() == "wpn_pb_6" or
        gun:section() == "wpn_pb_7" or
        gun:section() == "wpn_pb_8" or
        gun:section() == "wpn_pb_9" or
        gun:section() == "wpn_pb_10" or
        gun:section() == "wpn_pb_11" or
        gun:section() == "wpn_pb_12" or
        gun:section() == "wpn_pb_13" or
        gun:section() == "wpn_pb_14" or
        gun:section() == "wpn_fort_6" or
        gun:section() == "wpn_fort_7" or
        gun:section() == "wpn_fort_8" or
        gun:section() == "wpn_fort_9" or
        gun:section() == "wpn_fort_10" or
        gun:section() == "wpn_fort_12" or
        gun:section() == "wpn_fort_13" or
        gun:section() == "wpn_fort_11" or
        gun:section() == "wpn_fort_14") then

Это вообще какой то страшный сон, почему бы просто не составить таблицу?

Изменено пользователем I am dead

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


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

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

    if gun and (gun:section() == "wpn_pm" or
        gun:section() == "wpn_pb" or
        gun:section() == "wpn_fort" or
        gun:section() == "wpn_pm_6" or
        gun:section() == "wpn_pm_7" or
        gun:section() == "wpn_pm_8" or
        gun:section() == "wpn_pm_9" or
        gun:section() == "wpn_pm_10" or
        gun:section() == "wpn_pm_11" or
        gun:section() == "wpn_pm_12" or
        gun:section() == "wpn_pm_13" or
        gun:section() == "wpn_pm_14" or
        gun:section() == "wpn_pb_6" or
        gun:section() == "wpn_pb_7" or
        gun:section() == "wpn_pb_8" or
        gun:section() == "wpn_pb_9" or
        gun:section() == "wpn_pb_10" or
        gun:section() == "wpn_pb_11" or
        gun:section() == "wpn_pb_12" or
        gun:section() == "wpn_pb_13" or
        gun:section() == "wpn_pb_14" or
        gun:section() == "wpn_fort_6" or
        gun:section() == "wpn_fort_7" or
        gun:section() == "wpn_fort_8" or
        gun:section() == "wpn_fort_9" or
        gun:section() == "wpn_fort_10" or
        gun:section() == "wpn_fort_12" or
        gun:section() == "wpn_fort_13" or
        gun:section() == "wpn_fort_11" or
        gun:section() == "wpn_fort_14") then return end

    перед if table.getn(tbl) < 10 then return end

Насчет таблицы не заморачивался особо, потому что скрипт не мой, мне его подарили, и работает он, и ладно в общем. Если речь, речь вообще о какой таблице? С удаляемыми предметами? Или эта проверка стала быть похожа уже на таблицу? Мне нужно все обьяснять в этих делах очень понятно, такое) 


76561198152189716.png

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


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

ian98 Такую таблицу лучше составить - 

Спойлер

local wpn_tbl = {
  [ "wpn_pm" ] = true,
  [ "wpn_pb" ] = true,
  -- продолжить таблицу...
}
 if gun and wpn_tbl[ gun:section() ] then return end

 

 

13 минут назад, ian98 сказал:

через классы отсеивать

Вообще, такое действительно лучше по классам проверять

  • Мастер! 1
  • Спасибо 1

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


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

При компиляции геометрии локации на средних настройках (драфт проходит нормально), на этапе Build UV mapping компилятор слетает. Использую x64 компилятор, СДК 0.4. от Policai. Фрагмент лога прячу под спойлер. 

Спойлер

[30.09.21 23:23:38.385]     |    | ::compact:: 90 verts removed
[30.09.21 23:23:38.390]     |    | ::compact:: 24 verts removed
[30.09.21 23:23:38.396]     |    | ::compact:: 1660 verts removed
[30.09.21 23:23:38.400]     |    | ::compact:: 288 verts removed
[30.09.21 23:23:38.405]     |    | ::compact:: 32 verts removed
[30.09.21 23:23:38.409]     |    | ::compact:: 8 verts removed
[30.09.21 23:23:38.413]     |    | ::compact:: 8 verts removed
[30.09.21 23:23:38.417]     |    | ::compact:: 112 verts removed
[30.09.21 23:23:38.422]     |    | ::compact:: 224 verts removed
[30.09.21 23:23:38.427]     |    | ::compact:: 212 verts removed
[30.09.21 23:23:38.431]     |    | ::compact:: 317 verts removed
[30.09.21 23:23:38.436]     |    | ::compact:: 194 verts removed
[30.09.21 23:23:38.440]     |    | ::compact:: 171 verts removed
[30.09.21 23:23:38.444]     |    | ::compact:: 188 verts removed
[30.09.21 23:23:38.449]     |    | ::compact:: 80 verts removed
[30.09.21 23:23:38.453]     |    | ::compact:: 296 verts removed
[30.09.21 23:23:38.457]     |    | ::compact:: 146 verts removed
[30.09.21 23:23:38.462]     |    | ::compact:: 647 verts removed
[30.09.21 23:23:38.467]     |    | ::compact:: 258 verts removed
[30.09.21 23:23:38.471]     |    | ::compact:: 6 verts removed
[30.09.21 23:23:38.475]     |    | ::compact:: 14 verts removed
[30.09.21 23:23:38.480]     |    | ::compact:: 384 verts removed
[30.09.21 23:23:38.485]     |    | ::compact:: 1010 verts removed
[30.09.21 23:23:38.491]     |    | model 'levels\escape_1935\escape_1935_lod0031' - REF_lighted.
[30.09.21 23:23:38.491]     |    | model 'levels\escape_1935\escape_1935_lod0032' - 2 subdivisions
[30.09.21 23:23:38.491]     |    | ...model 'levels\escape_1935\escape_1935_lod0032' - building collision
[30.09.21 23:23:38.491]     |    | ::compact:: 834 verts removed
[30.09.21 23:23:38.492]     |    | ...model 'levels\escape_1935\escape_1935_lod0032' - lighting
[30.09.21 23:23:38.539]     |    | ::compact:: 7946 verts removed
[30.09.21 23:23:38.548]     |    | ::compact:: 316 verts removed
[30.09.21 23:23:38.552]     |    | ::compact:: 24 verts removed

 

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


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

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

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


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

Скомпилировал локацию на средних настройках. Добавил растительность из AN3 с официального пака. Шейдеры, отсутствующие в оригинале, заменил по аналогии со стандартными моделями растительности. В итоге, в игре у деревьев (ивы, например) виден только ствол, а камыши вообще не видны. При этом актер проходит мимо них, что подтверждается характерным звуком. В чем может быть проблема? Не те шейдеры? Скриншоты из СДК и игры прикрепляю.

Спойлер

 

scr1.thumb.JPG.9313fd863a4bf6766e6f70ad775029c9.JPG

ss-devro-10-03-21-23-21-59-escape-1935.jscr.thumb.JPG.adf58bc6d939b05ff20165e5e0fbdaae.JPG

 

 

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


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

xorda непрозрачные текстуры - DXT1, прозрачные - DXT5.

  • Спасибо 1

Внимание! Ищу любые фиксы/исправления для оригинального ТЧ.

Спойлер

Или людей, которые желают помочь с этим делом.

 

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


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

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

    if db.actor:item_in_slot(10) and db.actor:object("af_medusa") then

Но не сработало


76561198152189716.png

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


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

ian98 костылями только, в оригинале нет перебора пояса. Посмотрите в солянке, вроде скрипт называется inventory.script (щас солянок установленных нет, точно не подскажу). Если коротко - там используется особенность inventory_for_each, он не перебирает всё кучей как iterate_inventory, а по порядку рюкзак, пояс, слоты (или рюкзак, слоты, пояс, щас точно не вспомню). И там до перебора спавнится разделитель, по нему уже разграничивают. В общем, в скрипте увидите. А в огср движке добавили удобную функцию по перебору предметов на поясе iterate_belt и коллбек вешанья предмета на пояс, и никакие костыли с разделителем не нужны

Изменено пользователем vader_33
  • Спасибо 1

В беге за рассветом приближаешь свой закат

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


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

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


76561198152189716.png

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


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

на стим версию не ставится

Ставится. При запуске в св-вах ярлыка указать -steam.

  • Спасибо 1

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


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

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

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

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

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

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

Войти

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

Войти

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

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