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

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


Halford

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

(изменено)

В сталкере действительно несовсем стандартный xml. Но "скриптового" конвертирования xml (и даже просто скриптового чтения xml-файла) нет.

 

Для работы с xml-файлами сейчас, наверное, наиболее актуальным будет пытаться пользоваться вот этим инструментом http://www.amk-team.ru/forum/index.php?showtopic=12814 (и заодно помочь авторам довести его до ума).

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

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


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

my_text_75

help.give_ammo_11.43x23_fmj

help.give_wpn_sig220

 

Текст выдается, который 75 ? А патроны ?

Хм... Кажется, надо еще один спойлер. ;) Который help.give_wpn_sig220()

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


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

Но вот это - <text>my_text_75</text> срабатывает, как надо ?

Значит, все-таки скрипт не рабочий. Показываем, не стесняемся. ;)

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


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

Странно это...

А если добавить вывод в лог или в ньюсы second_speaker:id() перед и после dialogs.relocate_item_section(second_speaker, "wpn_sig220", "in") ?

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


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

"Можно как-то получить имя гулага по убитому чуваку" -

 

xr_motivator.script:

 

function motivator_binder:death_callback( victim, who )

...

smart_terrain.on_death( npc:id() )

 

Ну и идем далее по тексту.

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

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


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

Все printf() сразу сносить нафиг.

 

Карлан, не надо создавать такие монструозные строки.

 

local strn, strn_id = false, 65535
if obj_id then obj = alife():object( obj_id ) end
if obj then
	if obj.smart_terrain_id then strn_id = obj:smart_terrain_id() or 65535 end
	if strn_id and strn_id ~= 65535 then strn = alife():object( strn_id ) end
	if strn then
		if strn:clsid() == clsid.smart_terrain then
			local g = strn.gulag
...

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


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

Мало ли что там идет... Видим printf() - сносим.

 

Впрочем, подозреваю, что у тебя еще где-то аналогичный вывод в лог типа get_console(): и т.д.

Так вот то, что выводится в консоль таким способом - это консольная команда. Их немного, осмысленных еще меньше.

Остальное будет как раз "! Unknown command: ..."

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


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

Карлан,

65535 - это значит, что покойник не под смартом. Если это было до того, как дернули smart_terrain.on_death( npc:id() ) - значит он там и не был.

 

Maxmanishe,

Так и есть. Аномалии артефакты не спавнят. Более того, попытка включить останки от этой роскоши даст вылеты.

 

Следует смотреть какой-либо из модов, где спавн артефактов реализован каким-либо другим путем.

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


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

Возможность, безусловно, есть. Либо на основе se_zones.script, либо на основе "превращения артефактов в аномалиях". И это когда-нибудь надо сделать.

Но объем работы - не маленький.

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


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

именно так:

 

function stat() end -- оставлено на случай, если кто-то зачем-то решит вызвать.

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


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

J.A.A., "по умолчанию" если кто-то видит врага, то срывается в бой.

Варианты - либо перенести "овражение" на самый последний момент, либо смотреть, как сделана сценка с бандитами на свалке в оригинале.

 

darklordveider, конфигами. В кофигах предметов - цена, в system.ltx - общие коэффициенты, в профилях неписей - файлы с коэффициентами "попредметно", которые перекрывают дефолтовые.

 

Считается - движком.

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


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

Идеек по торговому балансу - много... Включая перенести "серийные" квесты  (подай-принеси-пшел) на менюшку торговли. ;)

 

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

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


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

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

Впрочем, он и так считается, просто одним единственным навсегда гвоздями прибитым способом.

 

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

Это то, что можно. Большой задержки не будет, если не увлекаться.

 

Ну а для индивидуального пересчета цен от свойств предмета - да, только альтернативную торговлю ваять.

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


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

скорее gulag_garbage.ltx:

тут и стоящие нестреляющие, и стоящий стреляющий, и идущие в атаку.

 

xr_camper.script тоже изучаем.

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


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

При беглом просмотре увидел как минимум 3 "logic@predbannik_citi_kamper_night"

upd: "Да, ночью я их отправляю в камп." - но проблема не в них ?

 

on_actor_dist_le и иже с ними лучше для начала убрать, ибо непонятно, как оно срабатывает, и что делает.

 

Ну а дальше - ставить лог на что нибудь, с выводом: кто какую работу в данный момент занимает.

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


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

Поиск дубликатов по скрипту и ltx, и если ничего не найдется - таки распечатка занятых работ (по неписям, и по работам).

 

Кстати,

--[[ t = { section = "logic@predbannik_citi_post_three", -- день, постовой.

 

- это действительно то, что имелось в виду ?

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

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


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

Не, danger - это не то. Вообще не то.

 

npc:best_enemy() - это похоже на движковое (ну, по крайней мере я ни где не нашел), и рассчитывается синтетически.

Конфиги используются, но как - не очень понятно (надо экпериментировать)

 

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

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


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

AMK-Team.ru

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