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

[SoC] Ковыряемся в файлах

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

Подскажите пожалуйста, если я создам в all.spawn новый файл "alife..." зарегистрирую в all, можно ли будет вносить в него все новые секции которые я создам рестрикторы, сталкеров и т. д. со всех локаций или нет, необходимо использовать именно те, на локакции которых будет происходить спавн???

Спасибо!

  • Спасибо 1

Жизнь следует измерять поступками, а не временем...

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

@losiara, Это вообще зачем такие желания ? Чтобы не легко и не радостно что-ли ?

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

 

Просто №№ добавленных секции обязаны быть больше, чем самый последний № секции в данном alife_ ДО добавления.

ACDC, всё равно при упаковке спавна запихнёт твои секции в нужный alife_ локации согласно game_vertex.

  • Согласен 1

"Кругом зомби.....у меня кончаются патроны...."

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

 

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

 

Жизнь следует измерять поступками, а не временем...

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

@dsh, если написать

local population = strn.gulag:get_population()

news_manager.send_tip(db.actor, population, nil, nil, 30000)

 

то ничего не возвращает, сообщение не выдается.

 

А если написать

 

if population == 0 then

news_manager.send_tip(db.actor, "любой текст", nil, nil, 30000)

end

 

то как раз "любой текст" и выдается на экран в теле сообщения.
 

Сталкер - наше всё!

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

 

 

сообщение не выдается

Ну вообще-то, send_tip ожидает строку, а get_population возвращает число. Попробуй так:

send_tip(db.actor, tostring(population), nil, nil, 30000)

 

У меня такой вопрос: есть ф-ция пространства game_object - character_name(). Она естественно только для клиентской части\он-лайна. А какой-то аналог для серверной части\офф-лайна имеется ?

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

@UnLoaded, функции нет, но можно прочитать через нетпакет.







function get_npc_name(obj)
	local m_s_name = ""
	if (obj) then
		if (isGameObject(obj)) then
			if (obj.character_name) then
				m_s_name = obj:character_name()
			end
		else
			local ob = get_obj(obj.id)
			if (ob and ob.character_name) then
				m_s_name = ob:character_name()
			else
				if (amk and amk.read_stalker_params and IsNpcStalker(obj)) then
					local tbl = amk.read_stalker_params(obj)
					if(tbl and tbl.charname) then
						m_s_name = tbl.charname
					end
				end
			end
		end
	end
	if (m_s_name == nil) then
		m_s_name = ""
	end
	if (m_s_name == "") then
		--m_s_name = get_npc_community(obj)
	end
	return m_s_name
end

 

 

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

Здрасти. Подскажите, что за беда. Играю на динамике. Все текстуры и бампы есть, прописаны, а вояка все равно с черными очками. В Зоне не так солнечно, чтоб черные очки примерять. :D

 

a9885b9994e41970e07384d869c5bd14.jpg

Работы butcher_512. Все ссылки пропали, поэтому ложу свои сюда, чтобы никогда не потерять:

Customization Pack 0.83 [Beta4] - SoC - Тема модификации.

Customization Pack CoP [Beta]   - CoP - Тема модификации.

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

 

 

send_tip(db.actor, tostring(population), nil, nil, 30000)

Так мне ж не сообщение выдать нужно, а именно число знать. И если конструкция

 

if population == 0 then

  news_manager.send_tip(db.actor, "любой текст", nil, nil, 30000)

end

 

работает, значит, population как раз и равна нулю, что не есть хорошо.


 

 

Попробуй так: send_tip(db.actor, tostring(population), nil, nil, 30000)

Пробовал, выдает 0.

Сталкер - наше всё!

Ссылка на комментарий
Функция есть - name, как, к слову, и ранг.

Ага, есть. Только возвращает совсем не то, что character_name...

 

Такое вот получилось, с использованием модуля нет-пакетов от Artos'а:

     local pk = m_netpk.get(серверный_объект)
     if pk:isOk() then
          local data = pk:get()
          if data then
               npc_name = tostring(data.checked_characters)
          end
     end
а именно число знать

Чтоб получить данные по смарту, находящемуся в офф-лайне, бессмысленно дергать методы "приписанного" к нему гулага - они работают только в он-лайне. Смотри в сторону smart_terrain.script, он как я понимаю обрабатывает смарт и в офф-лайне. Там кстати есть ф-ция se_smart_terrain:stat(), а в ней

local pop   = self.gulag:get_population()

может это то, что тебе нужно.

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

Для всех подобных функций предусмотрен севрерный аналог. Посмотри функционал серверных объектов.

 

По поводу гулагов смотрите xr_gulag, там есть функции и они подробно описаны. Корректную работу в оффлайне гарантируют отладочные системы многих модов.

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

Для смартов есть такой инструмент:

Автор: dez0wave

«Инструмент для смарт-террейнов и патрулей-вейпойнтов. Смарт-террейн дебаг утилита + отображение на КПК»

http://stalkerin.gameru.net/modules.php?name=Downloads&d_op=getit&lid=199 (24 Кб .zip)

Показывает много чего про них на карте

2fff8a9ee1e09d4579b26c2f758e0092.jpg

 

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

10.png

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

 

 

Чтоб получить данные по смарту, находящемуся в офф-лайне, бессмысленно дергать методы "приписанного" к нему гулага - они работают только в он-лайне.

Это я уже и сам понял...

 

 

 

Смотри в сторону smart_terrain.script, он как я понимаю обрабатывает смарт и в офф-лайне.

Спасибо, буду пробовать.

Сталкер - наше всё!

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

@Возрождённый, Если у тебя все по дефолту, то так сложились звезды :pardon:

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

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

Мы по аномалиям зону разберём!

Сидора повесим, а Бармена убьём!

Ну а вояк мы смоем в унитаз!

Пускай плывет в канализации спецназ!

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

 

 

кстати есть ф-ция se_smart_terrain:stat(), а в ней local pop = self.gulag:get_population()

Я так и не понял, как мне эту функцию вызвать, а примеров ее вызова не нашел.

Сталкер - наше всё!

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

Подскажите пожалуйста такой вопрос :

- вот создал я смарт-террейн. Поместил туда 3 кровососов. Побегал по локации, нащёлкал скринов с координатами точек путей для каждого. Ну точек по 4-5. Переписал их в вэй-файл.

 

Собственно меня интересует такая штука : вот сработал поршень, появились эти 3 сосыча. 

1. Где они появятся ? В координатах смарт-террейна ? А потом будут идти до своих путей ?

2. Или они появятся каждый на начальных точках своего пути ?

3. А как узнать какой из них на какой путь будет назначен ? Это случайное распределение ?

4. Насколько далеко ( в метрах ) можно делать пути мобов от центра смарт_террейна ? 

5. Если я в кастом_дате СТ, не буду ставить строку cond = {+поршень}, значит они у меня там будут прямо с НИ ?

Спасибо.

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

"Кругом зомби.....у меня кончаются патроны...."

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

как мне эту функцию вызвать

Ну чисто так, навскидку:

 - в smart_terrain.script добавь ф-цию типа:

function se_smart_terrain:get_capacity()
     return self.gulag.capacity
end

 - к примеру нам нужен смарт в Деревне новичков на Кордоне, обзывается он "esc_lager":

for a=1,65535 do
     local s_obj = alife():object(a)
     if s_obj then
          if s_obj:section_name() == "smart_terrain" and s_obj:name() == "esc_lager" then
               local text = "Население: "..tostring(s_obj:get_capacity()).." человек"
               news_manager.send_tip(db.actor, text, nil, nil, 30000)
               break
          end
     end
end

У меня выдает 14(у меня в нем действительно 14 душ), вызывал ф-цию на Свалке, т.е. Кордон стопудово офф-лайн, значит это вроде то что тебе нуно...

 

@BFG

"Где они появятся ? В координатах смарт-террейна ?" - появятся они в координатах своих точек спавна, которые им в all.spawn'е будут прописаны.

"Это случайное распределение ?" - если не будет в назначении работ предикатов(которые будут четко рулить кому куда), то естественно случайно.

"Насколько далеко ( в метрах ) можно делать пути мобов от центра смарт_террейна ? " - да хоть на другом конце локации.

"Или они появятся каждый на начальных точках своего пути ?" - тут много буков, будет под

Из того, что мне удалось понять\узнать: после спавна мобов и назначения их на какую-то работу в каком-то гулаге(иже смарте), движок переместит их на первые точки путей, даже если это будет в офф-лайне. После выхода в он-лайн, мобы начнут отрабатывать логику и пойдут к следующим точкам путей. Опять-же, есть работы для которых не предусмотрены четкие пути - mob_home к примеру, там моб будет работать в установленных радиусах от точки home. В таких случаях(тут могу быть не прав) мобы в офф-лайне будут сидеть на ближайшем к точке home граф-поинте(гейм-вертексе), а по выходу в он-лайн начнут работать вокруг указанной точки.

 

Изменено пользователем UnLoaded
  • Спасибо 1
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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