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

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

Можно проще

local is_running = get_actor_obj():is_actor_sprinting()

if is_running then

end

Spoiler

.def("is_actor_normal",                        &CActor::is_actor_normal)
.def("is_actor_crouch",                        &CActor::is_actor_crouch)
.def("is_actor_creep",                        &CActor::is_actor_creep)
.def("is_actor_climb",                        &CActor::is_actor_climb)
.def("is_actor_walking",                    &CActor::is_actor_walking)
.def("is_actor_running",                    &CActor::is_actor_running)
.def("is_actor_sprinting",                    &CActor::is_actor_sprinting)
.def("is_actor_crouching",                    &CActor::is_actor_crouching)
.def("is_actor_creeping",                    &CActor::is_actor_creeping)
.def("is_actor_climbing",                    &CActor::is_actor_climbing)
.def("is_actor_moving",                        &CActor::is_actor_moving)

 

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

Как можно заставить этот статик мигать -

Скрытый текст

	hud = get_hud()
	act = db.actor
	if act.health < 0.8 and act.health > 0.4 then
		hud:AddCustomStatic("hud_health_static", true):wnd():SetColor(GetARGB(255,0,255,0))
	else
		hud:RemoveCustomStatic("hud_health_static")
	end

 

 

Важнейшая задача цивилизации - научить человека мыслить.

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

21 минуту назад, Fenrir02 сказал:

заставить этот статик мигать

В xml-описании "hud_health_static" добавить соответствующие теги. Подсмотреть в оригинальных статиках как это сделать.

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

<text_on_screen_center x="212" y="300" width="600" height="68" complex_mode="1" light_anim="ui_slow_blinking_alpha">
	<text font="graffiti32"  r="240" g="217" b="182" a="255" align="c"/>
</text_on_screen_center>

Световая анимация ui_slow_blinking_alpha. Не знаю, есть ли она в ТЧ, если вопрос по этой платформе.

Ранее был известен под ником BoBaH_671.

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

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

function have_krots_flash(task, objective)
    if db.actor:object("krot_flash") ~= nil then
       db.actor:give_info_portion ("agr_krot_task_complete")
       return true
    end   
	return false
end

 

westwood.gif
Ссылка на комментарий
Поделиться на других сайтах

Имеется такая функция рандомного удаления предметов из инвентаря:

function release_random_item(num)
	local actor = db.actor
	local cnt = actor:object_count()
	if cnt < num then return end
	for i=1,num do
		local item = actor:object(math.random(0, cnt-1))
		local sobj = alife():object(item:id())
		if sobj then
			alife():release(sobj,true)
			cnt = actor:object_count()
		end
	end
end

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

Важнейшая задача цивилизации - научить человека мыслить.

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

Здравствуйте, подскажите как в момент спавна скриптом обьекта, задать ему направление?

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

@Fenrir02, Как предметы указывать будите? (ид, имя секции, .... ?)

 

@stalkergoshawk, Если x-ray extensions есть в движке, то у серверного объекта есть свойство angle, к нему нужно приравнять вектор, который укажет направление.

alife():create("stalker", vector():set(0,0,0,), 0, 0).angle = vector():set(0, 1.5, 0)

Если x-ray extensions нет, то нэт-пакетами.

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

x-ray extensions нет, про net_packet я уже думал но пока не смог разобраться. нет готовых вариантов как сделать с net_packet?

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

5 минут назад, Graff46 сказал:

Как предметы указывать будите? (ид, имя секции, .... ?)

Имя секции.

Важнейшая задача цивилизации - научить человека мыслить.

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

7 часов назад, dPlayer сказал:

как выдать поршень при подборе предмета в чистом поле без задания

Создай предмет на классе II_DOC и в его свойстве Info portion можешь указать нужный поршень.

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

@Charsi, а это на тч работает? Не нашел примера в оригинале. Вот так что-то нет, хотя предмет спавнится в трупе:

class = II_DOC

info_portion = info_1

 

Изменено пользователем dPlayer
westwood.gif
Ссылка на комментарий
Поделиться на других сайтах

@dPlayer, как вариант - событие on_item_take, дальнейший анализ взятого и выдача инфопорции при необходимости.

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

@Kirgudu, это надо вставлять проверку в бинд_сталкер на скрипт с выдачей поршня?

westwood.gif
Ссылка на комментарий
Поделиться на других сайтах

@dPlayer, ну конечно. Вот сюда: actor_binder:on_item_take (obj). А дальше через секцию объекта или по другим нужным критериям.

Возможно, метод @Charsi более оптимален, но это я подтвердить или опровергнуть не могу.

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

@stalkergoshawk

function set_dir(id, dir) -- установка дирекции (поворота) объекта через нэт-пакет (нужны правки скриптов с типами объектов)
local sobj = alife2:object(id) 
	if sobj then 
		local pk = get_netpk(sobj, 0) 
		if pk:isOk() then 
			return pk:setCallback( { direction = dir } )
		end
	end
	return false
end

Нужно подключить модуль m_netpk.script

 

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

@Fenrir02

Скрытый текст

function release_random_item(num)
	local Tabl = {["section"] = true, ["section2"] = true} -- таблица необрабатываемых предметов по их секциям
	
	local actor = db.actor
	local cnt = actor:object_count()
	if cnt < num then return end
	for i=1, num do
		local item = actor:object(math.random(0, cnt-1))
		local sobj = alife():object(item:id()) 
		if sobj and not Tabl[sobj:section_name()] then
			alife():release(sobj,true)
			cnt = actor:object_count()
		end
	end
end

 

Изменено пользователем Graff46
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

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

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

AMK-Team.ru

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