работать будет также как и твой вариант - только быстрее.
Так вроде нельзя указывать номер ключа через запятую... [1,5]
Может в Сталкере и нельзя, но в Luа можно. Этот язык позволяет устанавливать и ключам, и значениям абсолютно все типы данных. Николай Феникс
Это у меня телефон глюканул. При цитировании случайно пошла отправка.
Gun12
Так то что ключём и значением можно зделать всё, что захочешь - я знаю, но разговор о другом. Нельзя же через запятую перечислять ключи, и присваивать одно значение. Или можно, но как?
blackraven6: Вопрос как это обойти или как выкидывать фонарик? Слот выводить в инвентарь?
Вариантов три:
- а) изменить параметры слота, чтобы предмет был виден в рюкзаке.
- б) использовать некую функцю, которая при вызове 'по событию' викидывала бы предмет из слота.
- в) вывести в инвентори необходимый "невидимый слот" в виде кнопки и выкидывать.
а) - игроки периодически выкидывают/продают нужные предметы и позже "плачутся" по пропаже ...
б) - узкое и специальное применение. Не интерактивно для игрока.
в) - требует доп.скриптов/худов. (см. экспериментальный m_hud_slots.script в Симбионе)
всё-таки небольшой вопрос возник. Мои NPC ходят по путям, всё ништяк было. Начал я эксперементировать с анимациями. Прописаля NPC смотреть в бинокль, а потом ид**5001c54314580bda8be6**el_vertex_id = 13202
p0:links = p1(1)
custom_data = <
[smart_terrains]
mar_lager = true
END
НПС с этой фигней сидит возле костра и базарит всякое, причем бывает по разному, вобщем симуляция жизни, но если я у своего НПс тоже самое в спавне делаю то он почему то не хочет так же себя вести.
Николай ФеНиКс
ИМХО, то, над чем работаешь, страдает нелогичностью. Оттого и будут постоянно взаимоисключающие/взаимопересекающиеся условия и противоречия.
Ты вроде как детализируешь "куда попало", но ... смешав в кучу левое/правое, детализируешь аж фаланги пальцев.
ИМХО, тебе стОит отталкиваться не от каждой кости, которая имеется в модели, а сгруппировать кости по группам, выставить стОимость попадания по группам и уже этим оперировать в своих скриптах. Т.е. НЕ подстраиваться под то, что имеешь, а определив, что тебе требуется - брать из имеющегося.
Сейчас у тебя получается - индикатор попадания в каждую кость скелета. А для игры/игрока - это ли интересно?
sevitov_yura
Ты смешал в кучу статусы и анимацию. Анимация - частное состояние статуса (состояния объекта). Принудительно задав объекту выпольнение анимации ты ждешь что объект сам переключится в другое состояние? может быть стОит озаботиться тем, чтобы или возвращать ему требуемое тебе состояние после проигрыша анимации?
Условно - ты скомандовал неписи "Замри!" (точнее "Отыграй анимацию Замирания"). Непись это выполнила. Чего ты ждешь дальше?
Объекты в игре сами по себе ничего не делают, они выполняют только то, что им предписано. Mehanik Yar
"НПС с этой фигней" - получает работу в этом гулаге. А ты для своего НПС озаботился тем, чтобы он мог быть включенным в нужный тебе гулаг, да еще и зарезервировал ли для него работу в нем?
Artos
что значит по группам???
какие группы-то?
дай направление.
если только объединить все пальцы в "группу" рука а глаза отнести к группе "голова" (но тут уже вся фишка теряется...) и так же с предплечьями и кистью ... так что ли?
erlik
В общем так.
Я ещё не разбирался в подв**5001c54314580bda8be6**airs(t2) do
table.insert(t1,v)
end[/code]
но почему-то (тоже пока не исследовал) практикуют такой :
[code]mt = {
__concat = function (op1,op2)
-- защиту ставить пока не буду
for _,v in ipairs(op2) do
table.insert(op1,v)
end
return op1
end
}
setmetatable(t1,mt)
t1=t1..t2[/code] Darien Fx
Извини, отвечу позже. Дела-с... sevitov_yura
А я себе тихонько ухмылялся, и ждал - когда же эти неправильные знания вылезут тебе боком.:no)
Николай ФеНиКс
Вначале определи, о каких попаданиях ты будешь сообщать или учитывать в своих скриптах. Какова степень детализации.
Тут могут быть разные вариации и только твоя похачушка может выбрать нужное:
1. Голова, руги, ноги, туловище
2. Голова, левая рука, правая рука, грудина, живот, таз, левая нога, правая, ...
3. Глаза, голова, подбородак, шея, ....
Твоя "фишка" теряется тогда, когда отдельно выделяешь попадание в любую фалангу пальцев и в то же время не различаешь попадание в правую руку иль левую. Конечно бывают и левши, но ...
При необходимости детализировав и лев/прав плечи/предплечья/кисти, или наоборот скруппировав пальцы/кисти/предплечья - в руки, то это уже будет не индикатор попадания в кость, а информатор "степени тяжести попадания".
Кстати, мне пока не удалось найти значение 12-й кости. Мож кто знает? Прим: Пальцев (их 1-х фаланг) на руках - по 3 (22,25,28 например), и на каждом еще две фаланги (23,24, ...).
Artos
12 это не подбородок!
т.к. 16 - челюсть - не одно ли и то же?
2. Голова, левая рука, правая рука, грудина, живот, таз, левая нога, правая, ...
вот эта группа подходит, но как разобрать где лева где права?
это раз, и как сделать вывод этого лева\права в скрипт, а потом уже и в текст?
erlik, Gun12
ИМХО, однозначного ответа на "способа объединения двух таблиц?" не может быть.
- если массивы не одинаковы по структуре - их можно объединить только в третий массив, с лобъединенной структурой.
- если массивы имеют однотипные данные, то потребуется аннализатор коллизий, дабы неперезаписывать в массивах данные и не плодя дубли.
- ...
Т.е. найти некие стандартные методы объединения может и можно, но применять их только исходя из контекста.
Да и собственно все подобные стандартные методы - по сути не будут 'быстрее' чем самописные. Они позволяют сэкономить на 'строках кода'.
Николай ФеНиКс
Не люблю, когда безапеляционно заявляют "Это так или Это не так". Тем более пример с фалангами у тебя перед глазами.
Если уверен, что это не подбородок - приведи факт, а не погадалку! Тем более я и написал, что в моем случае - предполагаю.
И что тебе мешает для опредеоения лево-право самому потрудиться?!
Стрельни в игре в 'лево/право' - и посмотри на индекс кости ... Иль в Собственно в модели посмотри что к чему.
Ждешь, когда тебе до состояния пюре все доведут и в ротик положат? :-)
Gun12
ты знаешь все три варианта работают по скорости идентично(на двух таблицах - каждая примерно по сотне значений) - хотя с луашным os.clock() ожидать точности не приходится. Тут в наносекундах не померяешь :-)
твой первый вариант меня наиболее устраивает как наиболее элегантный и компактный - выходит что и простой перебор через for и перебор через функцию итератор ipairs(а я думал что все таки for быстрее) - работают одинаково быстро. хотя при серьезных объемах инфы (табличка эдак на 30 метров) разница наверно и будет видна.
Artos
просто в моем случае подходят все три способа. :-) в других же - согласен нужно исходить из контекста данных и возможных коллизий.
Хотя в том же C# в самих классах массивов\коллекций (в некоторых) уже стоит защита от перезаписи значений или записи дублирующих ключей - в этом случае вызывается исключение.
насчет profile_timer() я знаю.
но я в SCITE тестил. так как в игре теcтить особого резона нет - так как вся моя задача была лишь узнать доп. способы - за что и спасибо Gun'u12 .
---------------------------------------------------------------------------------- Николай ФеНиКс
а ту функцию и через диалог не проблема запустить.
отредактировал(а) erlik: 19-06-2010 20:40 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik
Что-то типа этого позволяет с достаточной точнос**5001c54314580bda8be6**мые операции
pt:stop()
log( string.format("%.2f",pt:time()*0.001) )
[/code]
pt:time() - выдает значение в милисекундах
Твое стремление получить все готовенькое я и называю - кормление с ложечки. Ты что такой 'маленький', что не можешь сам зачерпнуть ложкой то что тебе нужно и сколько хочется?
Можешь и 'от erlik'а' под себя доработать. Можешь и из иных модов взять готовенькое (АМК, Симбион, ...)!
Когда перестанешь нахлебничать?
вопрос такой, я заспавнил НПСа на вышку, но он оказывается под ней, я решил еще чуть высоту выше прописать но это не сработало. Как этого НПСа оставить на вышке?
добавлено спустя 1 минуту
companion_enabled = true (cвободноходящие сталкеры могут наниматься как компаньоны).
Если не вопрос то куда э
то писать чтоб заработало?
добавлено спустя 19 минут
[spawner]
cond = {+info -info =func !func} (можно не все условия)
Где +info - заспавнится если у нас есть инфопоршень (вместо info - имя инфопоршня), -info - заспавнится если у нас нет инфопоршня. =func - заспавнится если условие выполняется. !func - заспавнится если условие не выполняется
...........................
Я так в спавне написал но у меня игра вылетает при новой игре
custom_data = <
[spawner]
cond = {+marsh_76 =func}
END
ГДЕ
marsh_76 - мой инфопоршень.
отредактировал(а) Mehanik Yar: 19-06-2010 21:08 GMT3 час.
вопрос такой, я заспавнил НПСа на вышку, но он оказывается под ней, я решил еще чуть высоту выше прописать но это не сработало. Как этого НПСа оставить на вышке?
Значит на вышке нет аи сетки. заспавнить не получится там
добавлено 5 минут
Я так в спавне написал но у меня игра вылетает при новой игре
custom_data = <
[spawner]
cond = {+marsh_76 =func}
END
ГДЕ
marsh_76 - мой инфопоршень.
а функция 'func' в xr_effects.script у тебя есть? какая?
отредактировал(а) XrKamp: 19-06-2010 21:47 GMT3 час. Внимание! В подписи запрещены ссылки на любые внешние ресурсы! не смотри журнал
Люди.
(Прощу прощения если не правельно выскажусь)**5014c54314580bda8be6**_pm_mag_size]:wpn_pm
ammo_mag_size = 13
[/code]
Как правельно скажем произвести ограничение на увеличение магазина? Вот так это будет верно?
[code]
[wpn_pm_mag_size]:wpn_pm
ammo_mag_size = {+info} 13
[/code]
Т.е. когда у ГГ пистолет wpn_pm_mag_size и ему выдать поршень info включится увеличеный обьем магазина.
Или же как правельно произвести замену значения параметра (на примере замены обьема магазина) с 8 патронов на 13 патронов?
З.Ы.: Нужен конкретный ответ, потому что так как я делаю не работает. :-(
karavan
В файлах конфигураций объектов нельзя использовать ничего, кроме "ключ - значение", в отличии от конфигов логики.
Конфиги оружия и пр. НЕ обрабатываются скриптами типа "xr_logic.script", и в них должны быть только конкретные значения (строки, числа).
Используй какой-нибудь скрипт, который определив в руках ГГ нужный предмет, будет выдавать/удалять инфопоршень. По наличию которого другим скриптом - подменяй оружие.
Есть и иной вариант, но посложнее. Аналогично использовать определение требуемого оружия и нет-пакетами изменять оружию объем магазина.
Darien Fx
Посмотрел о чём вообще был разговор насчёт [1,5].
С телефона не докопался до сути. Теперь вижу что я неправильно всё расценил.
Действительно ключ [1,5] недопустим (на теле плохо видно, поэтому расценил как [1.5] -подумал что между 1 и 5 точка, что вполне возможно).
Artos Вобщем спасибо что обьяснил по поршням...
Что касается нет пакетов... Не в курсе этот ли мет**5005c54314580bda8be6**pn_pm]:identity_immunities,weapon_probability,default_weapon_params
...
ammo_mag_size = 8
[/code]
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.