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

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

 
 

На одном сайте нашел

Цитата

свойства: bleeding (кровотечение), satiety (сытость) и alcohol (алкоголь), скриптовому воздействию не поддаются поэтому изменять их нужно посредством соответствующих движковых параметров в конфигах предметов.

То есть эти параметры нельзя менять через скрипт?


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

Askar да, список продуктов и рандом из этого списка


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

Хотя можно попробовать и без списка, чисто на проверке что есть в рюкзаке

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


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

То есть эти параметры нельзя менять через скрипт?

да, только получать значение. Кровотечение по крайней мере (в зп можно), а вот про алкоголь не видел, чем его в тч считать скриптом? 

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

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

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


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

его в тч считать скриптом? 

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

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


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

Alex Kireev я наверно не так выразился, спрашивал, каким методом или свойством считать алкоголь скриптом. Не видел такого в тч. Знаю только, что алкоголь и сытость можно менять с ogsr движком, но не знаю насчет кровотечения. Попробуйте этот движок, может править в движке ничего не надо будет

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

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

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


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

спрашивал, каким методом или свойством считать алкоголь скриптом

А, понятно

27 минут назад, vader_33 сказал:

алкоголь и сытость можно менять с ogsr движком

Ох, до движка я ещё не дошел, далеко, только начал изучать скрипты

 

28 минут назад, vader_33 сказал:

 

 


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

Как виджеты, цитаты удалять из комментариев с мобильной версией сайта?


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

Про алкоголь так и не понял вопроса

Алкоголь ГГ какой скрипт должен обратывать или  какое свойство?

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


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

ребята подскажите пожалуйста 

как сделать чтобы гг после пробуждения сам что то случайным образом ел?

Еда есть в рюкзаке и выбирается случайным образом из того что в нем есть

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


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

Артефакты в игре спавнятся с самого начала. Часть из них прописана в файле all.spawn, но только часть. Так вот, интересно мне, а где же прописаны остальные? Знает кто? 


76561198152189716.png

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


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

но только часть

Интересно, как ты это вообще определил?

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


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

Nick Proxy вскрыл аллспавн


76561198152189716.png

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


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

Бред какой-то. Все арты спавнятся только через спавн. Однако, они могу отличаться по координатам (в ТЧ куча проблем с аи-сеткой, из-за чего, при компиляции спавна, некоторые спавн-элементы могу съехать).

  • Пост еще тот... 1

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


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

Nick Proxy Ну, вот у меня спавн, файл alife_l03_agroprom, где целые поля этих артов, ничего нет по запросу section_name = af


76561198152189716.png

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


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

Самый лёгкий способ проверить наличие какого-то спавн объекта на локации - просмотр level.spawn (в папке с уровнем)

У меня сразу нашёлся этот:

af_dummy_battery
agr_af_dummy_battery

 

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


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

Nick Proxy НО он единственный, а там целые поля. Ночные звезды, медузы и каменные цветки, но где они? 


76561198152189716.png

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


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

Блин, реально. Самому аж интересно стало...

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


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

Nick Proxy получается аномалии рожают)? Если да, то как управлять этим? Как я понял, вот аномальная зона, тут вроде радиация, а снизу что-то про количество артефактов, а что такое position_ofset могу только предположить по первому слову. Для меня это кракозябры. Я давно слышал, что арты из аномалий, но также давно я слышал, что это миф...

; cse_abstract properties
section_name = zone_radioactive_average
name = val_zone_radioactive_average_0001
position = -58.2888565063477, -1.92057704925537, -131.032012939453
direction = 0, 0, 0
id = 65535
version = 118
script_version = 6
spawn_id = 2536

; cse_alife_object properties
game_vertex_id = 880
distance = 23.799999
level_vertex_id = 108660
object_flags = 0xffffff3e

; cse_shape properties
shapes = 1
shape_0:type = sphere
shape_0:offset = 0,0,0
shape_0:radius = 4.41640090942383

; cse_alife_space_restrictor properties
restrictor_type = 3

; cse_alife_custom_zone properties
max_power = 0.0099999998

; cse_alife_anomalous_zone properties
offline_interactive_radius = 30
artefact_spawn_count = 32
artefact_position_offset = 0x3c32

 

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

76561198152189716.png

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


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

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

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


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

Alex Kireev Не понял, на какой карте? Аномалии рандомно все-таки рожают артефакты? И как этим управлять можно? 


Дополнено 30 минуты спустя
Спойлер

[zone_mosquito_bald]
GroupControlSection	= spawn_group_zone
$spawn 			= "zones\mosquito bald"
$prefetch 		= 16
class			= ZS_MBALD
hit_impulse_scale	= 0.3;0.5 ;0.1
effective_radius	= 0.85 ;размер радиуса в процентах от оригинального, где действует зона
actor_blowout_radius_percent	= 0.75

ef_anomaly_type			= 1
ef_weapon_type			= 13

sound			= zone_mosquito_bald

postprocess		= mosquito_bald


BirthProbability	= 0.1
hit_type			= strike

;----------- Anomaly settings -----------------------
min_start_power		= 0.99
max_start_power		= 1.00
attenuation			= 1
period				= 1
min_artefact_count	= 0
max_artefact_count	= 0

idle_particles		= anomaly2\bold_idle
blowout_particles	= anomaly2\gravity_blast_01

hit_small_particles			= hit_fx\hit_metal_02
hit_big_particles			= anomaly2\gravity_damage_02_blood2
idle_small_particles		= anomaly2\gravity_damage_01_smoke
idle_big_particles			= anomaly2\gravity_damage_02_smoke
entrance_small_particles	= anomaly2\gravity_entrance_small
entrance_big_particles		= anomaly2\gravity_entrance_big ;anomaly2\gravity_entrance_big

idle_sound			= anomaly\gravi_rumble1; ambient\fx2		;постоянный звук
blowout_sound		= anomaly\anomaly_gravy_blast1; anomaly_gravy_blast01	;во время выброса(удара) в центре аномалии	
hit_sound			= anomaly\anomaly_gravy_hit1								;на персонаже, когда тот получает хит
entrance_sound		= anomaly\anomaly_gravy_hit1								;при попадании объекта в аномалию


awaking_time		= 50;100
blowout_time		= 500	
accamulate_time		= 1000 ;10;200

blowout_light_time		= 200
blowout_explosion_time	= 200
blowout_particles_time	= 200
blowout_sound_time  	= 100

disable_time		= 5000		;время игнорирования неживого объекта в зоне (-1 если не нужно)
disable_time_small	= 5000		;время игнорирования маленького неживого объекта в зоне (-1 если не нужно)
disable_idle_time	= 100		;время отключения idle партиклов

ignore_nonalive		= false
ignore_small		= true
ignore_artefacts	= true

blowout_light		= on
light_color		    = 0.5,0.4,0.3
light_range		    = 30.0
light_time 		    = 0.9;0.35
light_height		= 1.5			;подъем источника света на высоту


idle_light			= off

visible_by_detector = on

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;рождение артефактов 

artefacts		= af_medusa,0.7, af_cristall_flower, 0.25,af_night_star, 0.05

;;во время срабатывания в online
spawn_blowout_artefacts = on

artefact_spawn_probability = 0.09				;вероятность, что во время срабатывания аномалии будет рожден артефакт
artefact_spawn_particles = anomaly2\pux_blast	;партиклы, которые отыграются на месте рождения артефакта (опционально)
artefact_born_sound =  anomaly\pux_blast		;звук, который отыграются на месте рождения артефакта (опционально)

throw_out_power = 50			;импульс с которым артефакт будет выброшен из зоны в произвольном направлении
artefact_spawn_height = 3		;(м) высота на центром зоны где будет рожден артефакт

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ветер
blowout_wind		= on

blowout_wind_time_start     = 0
blowout_wind_time_peak      = 300
blowout_wind_time_end		= 501; 899
blowout_wind_power			= 0.5			;сила поднимаего ветра (от 0 до 1), в момент blowout_wind_time_peak 



[zone_mosquito_bald_weak]:zone_mosquito_bald
$spawn 			= "zones\mosquito bald_weak"
awaking_time		= 80;100
blowout_time		= 500	

hit_impulse_scale	= 0.1
effective_radius	= 0.65 
actor_blowout_radius_percent= 0.6

artefacts		= af_medusa,0.8, af_cristall_flower, 0.2,af_night_star, 0.0
BirthProbability	= 0.1
spawn_blowout_artefacts = on

;----------- Anomaly settings -----------------------
min_start_power		= 0.49
max_start_power		= 0.5
attenuation			= 1
period				= 1
min_artefact_count	= 0
max_artefact_count	= 1
artefact_spawn_idle	= 24  ;насколько часто спонить артефакты в офлайне, в часах
artefact_spawn_rnd	= 50  ;вероятность заспавнить артефакт в процентах.

accamulate_time		= 1000 ;10;200
ignore_nonalive		= false
ignore_small		= false
ignore_artefacts	= true

blowout_wind_power			= 0.2


; Не производящая артефактов слабая аномалия
[zone_mosquito_bald_weak_noart]:zone_mosquito_bald_weak
$spawn 			= "zones\mosquito bald_weak_noart"
spawn_blowout_artefacts = off
min_artefact_count	= 0
max_artefact_count	= 0
artefact_spawn_idle	= 24  ;насколько часто спонить артефакты в офлайне, в часах

[zone_mosquito_bald_average]:zone_mosquito_bald
$spawn 			= "zones\mosquito bald_average"
awaking_time		= 50
blowout_time		= 500	

hit_impulse_scale	= 0.2
effective_radius	= 0.75 
actor_blowout_radius_percent= 0.8

artefacts		= af_medusa,0.6, af_cristall_flower, 0.4,af_night_star, 0.0
BirthProbability	= 0.1
spawn_blowout_artefacts = on

;----------- Anomaly settings -----------------------
min_start_power		= 1.19
max_start_power		= 1.20
attenuation			= 1
period				= 1
min_artefact_count	= 1
max_artefact_count	= 1
artefact_spawn_idle	= 24  ;насколько часто спонить артефакты в офлайне, в часах
artefact_spawn_rnd	= 70  ;вероятность заспавнить артефакт в процентах.

accamulate_time		= 1000 ;10;200
ignore_nonalive		= false
ignore_small		= false
ignore_artefacts	= true

blowout_wind_power			= 0.5


[zone_mosquito_bald_strong]:zone_mosquito_bald
$spawn 			= "zones\mosquito bald_strong"
awaking_time		= 30
blowout_time		= 500	
accamulate_time		= 49

hit_impulse_scale	= 0.2
effective_radius	= 0.8 
actor_blowout_radius_percent= 0.85

artefacts		= af_medusa,0.2, af_cristall_flower, 0.6,af_night_star, 0.2
BirthProbability	= 0.1
spawn_blowout_artefacts = on

;----------- Anomaly settings -----------------------
min_start_power		= 1.99
max_start_power		= 2.00
attenuation			= 1
period				= 1
min_artefact_count	= 1
max_artefact_count	= 2
artefact_spawn_idle	= 24  ;насколько часто спонить артефакты в офлайне, в часах
artefact_spawn_rnd	= 90  ;вероятность заспавнить артефакт в процентах.

accamulate_time		= 1000 ;10;200

blowout_wind_power			= 1


; Не производящая артефактов слабая аномалия
[zone_mosquito_bald_strong_noart]:zone_mosquito_bald_strong
$spawn 			= "zones\mosquito_bald_strong_noart"
spawn_blowout_artefacts = off
min_artefact_count	= 0
max_artefact_count	= 0
artefact_spawn_idle	= 24  ;насколько часто спонить артефакты в офлайне, в часах









[zone_sarcofag]
GroupControlSection	= spawn_group_zone
$spawn 			= "zones\sarcofag zone"
$prefetch 		= 16
class			= Z_MBALD
hit_impulse_scale	= 0.3;0.5 ;0.1
effective_radius	= 0.85 ;размер радиуса в процентах от оригинального, где действует зона
actor_blowout_radius_percent	= 0.75

ef_anomaly_type			= 1
ef_weapon_type			= 13

sound			= zone_mosquito_bald

postprocess		= mosquito_bald

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;рождение артефактов 
artefacts		= 
BirthProbability	= 0.0
spawn_blowout_artefacts = off

hit_type			= strike

;----------- Anomaly settings -----------------------
min_start_power		= 1.69
max_start_power		= 1.70
attenuation			= 1
period				= 1
min_artefact_count	= 0
max_artefact_count	= 0

idle_particles		= anomaly2\bold_idle_sarkofag
blowout_particles	= anomaly2\bold_sarkofag_blast

hit_small_particles			= hit_fx\hit_metal_02
hit_big_particles			= anomaly2\gravity_damage_02_blood2
idle_small_particles		= anomaly2\gravity_damage_01_smoke
idle_big_particles			= anomaly2\gravity_damage_02_smoke
entrance_small_particles	= anomaly2\gravity_entrance_small
entrance_big_particles		= anomaly2\gravity_entrance_big ;anomaly2\gravity_entrance_big

idle_sound			= anomaly\gravi_rumble1; ambient\fx2		;постоянный звук
blowout_sound		= anomaly\anomaly_gravy_blast1; anomaly_gravy_blast01	;во время выброса(удара) в центре аномалии	
hit_sound			= anomaly\anomaly_gravy_hit1								;на персонаже, когда тот получает хит
entrance_sound		= anomaly\anomaly_gravy_hit1								;при попадании объекта в аномалию


awaking_time		= 50;100
blowout_time		= 500	
accamulate_time		= 1000 ;10;200

blowout_light_time		= 200
blowout_explosion_time	= 200
blowout_particles_time	= 200
blowout_sound_time  	= 100

disable_time		= 5000		;время игнорирования неживого объекта в зоне (-1 если не нужно)
disable_time_small	= 5000		;время игнорирования маленького неживого объекта в зоне (-1 если не нужно)
disable_idle_time	= 100		;время отключения idle партиклов

ignore_nonalive		= false
ignore_small		= true
ignore_artefacts	= true

blowout_light		= on
light_color		    = 0.5,0.4,0.3
light_range		    = 30.0
light_time 		    = 0.9;0.35
light_height		= 1.5			;подъем источника света на высоту


idle_light			= off

visible_by_detector = on



artefact_spawn_probability = 0.00				;вероятность, что во время срабатывания аномалии будет рожден артефакт
artefact_spawn_particles = anomaly2\pux_blast	;партиклы, которые отыграются на месте рождения артефакта (опционально)
artefact_born_sound =  anomaly\pux_blast		;звук, который отыграются на месте рождения артефакта (опционально)

throw_out_power = 50			;импульс с которым артефакт будет выброшен из зоны в произвольном направлении
artefact_spawn_height = 3		;(м) высота на центром зоны где будет рожден артефакт

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ветер
blowout_wind		= off

blowout_wind_time_start     = 0
blowout_wind_time_peak      = 300
blowout_wind_time_end		= 501; 899
blowout_wind_power			= 0.5			;сила поднимаего ветра (от 0 до 1), в момент blowout_wind_time_peak 

 

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


76561198152189716.png

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


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

ian98 при распаковке оллспавна, есть такой файл section2.bin. Там прописаны координаты спавна артов (не сами арты), и по этим координатам уже спавнятся арты (в начале игры разовый спавн). Вроде редактируется только через sdk. Если память не изменяет, вот это в оллспавне у аномалий относится как раз к этому файлу 

12 часов назад, ian98 сказал:

artefact_spawn_count = 32

artefact_position_offset = 0x3c32

Это относительно полей артов на агро, не про респавн


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

как сделать чтобы гг после пробуждения сам что то случайным образом ел?

Еда есть в рюкзаке и выбирается случайным образом из того что в нем есть

в смысле, написать, куда надо что-то добавить, чтобы что-то сработало после пробуждения, и функция рандомного поедания уже есть, или именно функцию рандомного поедания еды?

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

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

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


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

или именно функцию рандомного поедания еды?

Да, не могу разобраться как её сделать, у меня есть таблица со списком продуктов, но что то не работает

function to_eat()
local medik_table = {   
[1] = "bread",
[2] = "conserva",
[3] = "kolbasa"
}

    for k, v in pairs(medik_table) do 
        local item = db.actor.object(v)
        if medic then
            db.actor:eat(item)
            return
        end
    end

end

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


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

Askar без рандома просто поесть? Ошибки небольшие, надо так:

Спойлер

 


local medik_table = {   
[1] = "bread",
[2] = "conserva",
[3] = "kolbasa"
}

    for k, v in pairs(medik_table) do 
        local item = db.actor:object(v)
			if item then
				db.actor:eat(item)
					break
			end
    end

 

 

 

можно в таблице не заморачиваться и не писать номера, вот так будет то же самое:

local medik_table = {   
                        "bread",
                        "conserva",
                        "kolbasa"
                    }

то же, что и 1= bread, 2 = conserva

А если нужно рандомное поедание - можно приспособить вот эту функцию  https://ap-pro.ru/forums/topic/93-soc-modostroy-voprosnica/?do=findComment&comment=82734

 

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

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

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


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

можно в таблице не заморачиваться и не писать номера

Я это делал для рандома

Спасибо попробую

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


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

ian98 уже vader_33  ответил, по поводу координат. Я могу только добавить что часть артефактов рандомно образуются в аномалиях в момент перехода актера на новую локацию, а затем выбрасываются оттуда. На некоторых модах артефакты в момент ухода с локации удаляются с карт. 

14 часов назад, ian98 сказал:

Не понял, на какой карте?

Я имел ввиду что в модах иногда используется так называемая карта артефактов. Это файл где вручную прописаны положения определенных артефактов. Его можно открыть блокнотом, но это только в модах, в игре сложнее и vader_33  уже ответил как и где это прописано

  • Жму руку 1

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


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

Ребята профаны в lua подскажите пожалуйста

Есть 3 функции: 1я срабатывает при достижении актера определенного порога здоровья и вызывает 2я функцию, 2я функции проверяет есть ли у актера медикаменты, если есть несколько типов медикаментов то вызывает 3ю функцию рандомного выбора медикаментов. 3я функция принимает 2 параметра 1й это секция предметов (в будущем будут не только медикаменты), 2й список пронумерованых аптечек и генерирует случайную аптечку, которую актер принимает вот как это я представляю

function eat_rand()
local medik_table = {   
[1] = "bread",
[2] = "conserva",
[3] = "kolbasa"
}

    for k, v in pairs(medik_table) do 
        local item = db.actor:object(v)
			if item then
				db.actor:eat(randome (medik_table))
			end
    end
end

function randome()
local section = medik_table
local variable = medik_table
local rnd = section [math.random(variable)]
return rnd
end

Делал на примере выше, функция eat_rand() вызывается из файла бинд Сталкер.


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

Забыл после 

db.actor:eat(randome (medik_table))

Стоит возврат результата

То есть вот так должно быть

db.actor:eat(randome (medik_table))

return


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

Функции рандом принимает 2 параметра 1й это название секции, артефакты, еда, медикаменты, 2й колличество

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


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

Alex Kireev нужно сначала перебрать предметы в инвентаре, потом уже рандомом выбирать (ссылку я скидывал). Иначе случится такая ситуация: рандомом выберется, например, консерва, а у актора её не будет, и игра вылетит. Поэтому через iterate_inventory сначала составить таблицу нужных предметов, которые есть у актора, и уже из неё рандомом выбирать. У вас в коде вот что происходит: есть просто таблица  medik_table, в которой секции предметов, которые могут не быть у актора. Дальше идёт перебор таблицы, секции проверяются на наличие у актора. Вот попалась секция, которая есть у актора-и вызывается функция с рандомом, которая может вернуть секцию, которой нет у актора. То есть, в переборе таблицы нашлась существующая секция, а потом рандомно выбирается что-то другое. Тут или без рандома есть то, что попалось в переборе, или через iterate inventory делать рабочий рандом.

Return нужен или если надо вернуть какую-то переменную или значение или оборвать исполнение функции, но у вас это конец функции, и обрывать нечего. Надо использовать break.

Насчёт функции рандома в коде. В math.random должно быть число, а в коде variable - это таблица.

Это на первый взгляд, с телефона вообще неудобно


Дополнено 1 минуту спустя
2 часа назад, Alex Kireev сказал:

Ребята профаны в lua подскажите

Не, я, конечно, не скриптер, но за профана обидно немного)


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

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


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

за профана обидно немного)

Извини, не хотел обидеть, просто мои знания по сравнению с вашими на нуле. Спасибо за ответ на днях попробуй разобраться

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


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

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

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

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

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

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

Войти

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

Войти

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

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