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

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


Halford

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

Мне какое дело?

А, вона как. Ты бы, что бы никого в заблуждение не вводить, так бы и сказал сразу, что мол "отстаньте мыши, я стратег". :)

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


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

@Struck, я просто пытаюсь понять, что же ты имел ввиду. Человек спросил, как ему быстро долететь из А в Б. Ты пытаешься доказать, что ему не надо садиться в самолет и лететь. А лучше пойти накопать алюминия и других деталей, собрать суперский и красивый самолет и парить, парить. Вот я и пытаюсь до тебя донести, что то, что ты предлагаешь, совершенно бессмысленно в контексте задачи. Задача, напомню, как я её понял, это что бы раненые сталкеры не оставались, в итоге, безоружными. Можно, конечно, навертеть супер-пупер навороченную систему искуственного интеллекта, которая будет следить за оружием сталкеров, одним запрещать его подбирать, других заставлять его подбирать, решать, кому что можно и т.д, проигрывать красивые анимации подбирания, такие, что у всех дух захватит. Вот только зачем? Задача-то не в том, а в том, что бы после лечения у сталкера по прежнему было его оружие. Так зачем все это наворачивать, тратить кучу времени на отладку и все равно все до конца не отладить, получить потом разные баги и глюки и в итоге получить тоже самое, что делает изменение в трех строках? Из любви к искусству? Но в задаче не было ничего об искусстве. Ты конечно можешь сказать, да фигня все это, надо-то дописать всего 4 строчки, скромно умолчав, что остальные 4000 у тебя уже написаны и отлажены. Да вот только ты забыл, что это у тебя оно написано и отлажено, а не у задавшего вопрос.

 

А к чему весь этот спор? Да просто не люблю некорректные ответы. Если уж взялся помогать, то не строй из себя сову с мышами, а помогай так, что бы спросившему это было полезно.

Изменено пользователем dsh
  • Нравится 2
  • Согласен 2

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


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

@FonSwong,  тебе вероятно для OGSE нужно? Там там есть

function relation_registry.get_goodwill(who_id, to_whom_id)
	return GetGoodwill(who_id, to_whom_id)
end

function relation_registry.set_goodwill(who_id, to_whom_id, goodwill)
	ASSERT(db.actor, "relation_registry.set_goodwill: cannot call function")
	return db.actor:set_goodwill_ex(who_id, to_whom_id, goodwill)
end

function relation_registry.change_goodwill(who_id, to_whom_id, goodwill_change)
	ASSERT(db.actor, "relation_registry.change_goodwill: cannot call function")
	return db.actor:change_goodwill_ex(who_id, to_whom_id, goodwill_change)
end

Посмотри в скриптах примеры использования.

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


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

 

 

а откуда цифры эти берутся?

 

Из движка я полагаю. Собственно вот: http://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page-47#entry910319

Под спойлером Рекомендации/relation_registry

 

 

 

вызвал функцию, получил 00 зелёным цветом

 

Что такое 00 зеленым цветом?

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


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

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

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


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

Кто разбирается в game_relations.ltx, подскажите пожалуйста, для чего используется секция communities_sympathy? Я вижу в движке, что на этот коэффициент умножается изменение репутация. Я не могу понять, для чего это кому-то может понадобиться? Для чего нужно, что бы репутация у группировки изменилась на меньшую величину, чем, скажем, friend_kill_goodwill? Ведь с таким же результатом можно просто в communities_sympathy поставить коэффициент 1, а friend_kill_goodwill уменьшить.

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


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

Перенеси combat_ignore = combat_ignore в секцию logic. Сама секция combat_ignore не нужна. Насколько я помню, ее наличие даже не проверяется.

  • Спасибо 1

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


Ссылка на сообщение
@HellRatz, как минимум, звук выстрелов их привлекает. Я в исходниках рассматривал кусок, если я правильно помню, то звук выстрела они слышат, и запоминают цель, на любом расстоянии, не зависимо от настроек дальности их слуха. Но имей ввиду, прошло время и в голове у меня уже что-то могло перепутаться. Т.ч. принимай эту информацию, как одна бабка сказала.
  • Спасибо 1

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


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

они пойдут в этот гулаг или нет

Если других свободных смартов не будет, то пойдут. Если будут, то определенно не сказать, в какой именно пойдут. Зависит от деталей. И даже в первом случае зависит от деталей. Может у тебя этот смарт настроен, что бы только слабых собак принимать, а ты создаешь сильных.

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

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


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

@AndrewMor,  сделай для проверки так. Вот ты заспаунил их

local sobj = alife():create()

на всякий случай потом сделай

sobj:brain():update()

и выведи в лог sobj:smart_terrain_id()

Вот и поймешь, взял их смарт или нет. А потом уже с остальным будешь разбираться.

 

Про distance и radius не скажу, не знаю. В smart_terrains.script я никакую обработку этих параметров не встречал. Возможно для смартов оно и не используется.

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


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

 

 

в функцию спавна, прямо в тело цикла?

 

Да, вот так вот

for s = 1, 3 do
  local sobj = alife():create(
    "dog_weak",
    vector():set( 128.0493927002, 16.724941253662, 63.131950378418 ),
    1144984,4025
  )
  sobj:brain():update()
  log2( "XXX: %s: smart_terrain_id = %s", sobj:name(), sobj:smart_terrain_id() )
end

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

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


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

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

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


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

 

 

xr_gulag.getGulagPopulation

 

Не знаю, что у тебя возвращает xr_gulag.getGulagPopulation, кол-во в гулаге или кол-во в гулаге пришедших к месту работы. Сдается мне, что второе, если принимать во внимание отладочный вывод. Значит по мнению xr_gulag, никто из собак на место работы не дошел. Дошедшими на работу считаются те, кто находится в радиусе job_position_threshold от первой точки пути работы. Если у тебя не переделанный каким-то образом xr_gulag.

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


Ссылка на сообщение
@AndrewMor, проще и надежнее всего в секции непися указать файл с custom_data. А в этом файле уже писать все, что нужно. Так, как было показано выше, smart_terrains прописать проблематично. У себя я наблюдал ситуации, когда немедленно после выполнения :create() смарт террейн уже был назначен. А это значит, что последующее переписывание нетпакета уже никакого смысла не имеет.

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


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

 

 

А если придется много разных НПС заспавнить с разными смартами - для каждого свою секцию создавать нужно, так выходит?

 

Да, нужны будут разные секции. Т.к. ты не программист, это будет самое лучшее решение. Что бы через нетпакет указать смарт, нужно "врезаться" в se_monster или se_stalker.script, в 

function se_monster:on_before_register()

И там уже либо вызывать что-то свое, либо генерировать сигнал, если используется сигнальная система. На этот этапе еще можно переписать нетпакет и указать там свою custom_data. Оно будет прочитано позже.

  • Спасибо 1

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


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

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

AMK-Team.ru

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