speczadanie 0 Опубликовано 10 Января 2011 Поделиться Опубликовано 10 Января 2011 подскажите, как можно сделать такую проверку: если у игрока в руках что-то есть (сейчас худ видно), и это оружие XXX - тогда вернём true Ссылка на комментарий
RvP 1 Опубликовано 10 Января 2011 Поделиться Опубликовано 10 Января 2011 local active_slot = db.actor:active_slot() local weapon = db.actor:item_in_slot(active_slot) if weapon and weapon:section() then if weapon:section() == "my_gun" then return true end return false end Vita sine libertate, nihil Vita sine litteris - mors est Ссылка на комментарий
Якут 0 Опубликовано 10 Января 2011 Поделиться Опубликовано 10 Января 2011 (изменено) Товарищи сталкеры помогите, создал НПС в ЗП и в логике у него написал следующие active = kamp@koster_marsh_baza01 combat_ignore = 10 [kamp@koster_marsh_baza01] center_point = kamp_center_marsh01 meet = meet_guide combat_ignore_cond = always в way написал points = p0 p0:name = wp00|a=sit_ass p0:position = -157.044052124023,0.613676309585571,-310.872619628906 p0:game_vertex_id = 1070 p0:level_vertex_id = 65989 подскажите пожайлуста как решить следующие проблемы 1)НПС стоит около костра, а не сидит 2)не хочет разговаривать 3)не как не реагирует если я в него выстрелю P.S. это моя первая логика Изменено 10 Января 2011 пользователем Якут Ссылка на комментарий
Stalk15 27 Опубликовано 10 Января 2011 Поделиться Опубликовано 10 Января 2011 (изменено) TRAMP14 А я вё время думаю завчем в етих скобках пишт локальные так ето что луа не взбеслся. В этих скобках пишут не локальные, а аргументы функции. Вот например в свою функцию: function item(obj) local obj = obj:section() if obj == "medkit" then alife():create("medkit", db.actor():position(), db.actor:level_vertex_id, db.actor:game_vertex_id(), db.actor:id()) end end ты можешь передать аргумент: item("medkit") Можно ли каким нибудь способом запретить использовать определённый тип аптечек? Выдай ГГ инфопоршень, которые якобы запрещает юзать аптечки, а потом определяй, если ГГ заюзал аптечку и выдан нужный инфопоршень, то вернуть эту аптечку ГГ обратно и восстановленое здоровье обратно уменьшить. Получится типа запрет. Изменено 10 Января 2011 пользователем Stalk15 Ссылка на комментарий
AKKK1 6 Опубликовано 10 Января 2011 Поделиться Опубликовано 10 Января 2011 Якут я не занимаюсь зп но по анологии с тч active = kamp@koster_marsh_baza01 combat_ignore = 10 незнаю что это наверно дистанция игнорирования боя [kamp@koster_marsh_baza01] center_point = kamp_center_marsh01 meet = meet_guide а разве в зп не такой формат meet = meet@..имя combat_ignore_cond = always а вот тут у тебя игнор боя в любом случае points = p0 p0:name = wp00|a=sit_ass это зачем схема камп сама усадит непися p0:position = -157.044052124023,0.613676309585571,-310.872619628906 p0:game_vertex_id = 1070 p0:level_vertex_id = 65989 пример из тч [esc2_bandit_les_kamp_1] points = p0 p0:name = name00 p0:position = 312.993621826172,3.61605930328369,117.678817749023 p0:game_vertex_id = 143 p0:level_vertex_id = 571664 Ссылка на комментарий
Garry_Galler 7 Опубликовано 10 Января 2011 Поделиться Опубликовано 10 Января 2011 (изменено) если у игрока в руках что-то есть (сейчас худ видно), и это оружие XXX - тогда вернём true function IsWeaponActive() local item = db.actor:active_item() return item and isWeapon(item ) end ------------------------------------------------------------------------------------------------------------- Кому нужно: аптечки на худе (универсальный скрипт под любую версию игры ТЧ или мод на ТЧ (состоит всего из одного файла), причем скрипт легко можно дополнить своими предметами) ссылка Изменено 10 Января 2011 пользователем Garry_Galler Ссылка на комментарий
antreg 178 Опубликовано 10 Января 2011 Поделиться Опубликовано 10 Января 2011 Garry_Galler, Полезная вещь, спасибо! А можно ли и по шкале "Y" сделать скриптовую привязку? Просто необходимо переместить отображение на худе аптечек в правый верхний угол. Заранее спасибо! "Тайные Тропы 2" техподдержка "Ф.О.Т.О.Г.Р.А.Ф" техподдержка Ссылка на комментарий
_Призрак_ 11 Опубликовано 10 Января 2011 Поделиться Опубликовано 10 Января 2011 Логики капм в зове припяти нет. Нужно создавать анимпоинт, и ставить НПС такую логику что бы он шел к этому анимпоинту. Точнее сказатт не могу, ищи в алл спавне и файлаХ с логикой слово анимпоинт Freedom Ссылка на комментарий
MustaNG 0 Опубликовано 10 Января 2011 Поделиться Опубликовано 10 Января 2011 А не легче написать в логику anim = sit_ass, это нужно в remark прописать, если же нпс будет находится под walker, то def_state_standing = sit_ass, пробуй Якут.. Ссылка на комментарий
_Призрак_ 11 Опубликовано 10 Января 2011 Поделиться Опубликовано 10 Января 2011 Ремарк не желательно использовать долгое время. Ремарк можно использовать для связки. Даже Архара это говорил Freedom Ссылка на комментарий
Garry_Galler 7 Опубликовано 10 Января 2011 Поделиться Опубликовано 10 Января 2011 (изменено) antreg Тут все просто: добавляешь в мой файл эту таблицу local tPosYItems ={ medkit =25, medkit_scientic =50, medkit_army =75, antirad =100 } затем в строчке for k, v in pairs(tPosXItems) do заменяешь имя таблицы на tPosYItems затем строчку st:Init(v, 725, 30, 25) комментируешь или удаляешь и вместо нее пишешь st:Init(990, v, 30, 25) (кстати размеры - ширина\высота - иконок определяют параметры 30, 25 - их можно увеличить\уменьшить - только пропорции стоит соблюдать, что иконка не сильно искажалась) теперь статики будут строиться по вертикали в правом верхнем углу - точка отсчета по x- 990 - можешь ее подкорректировать под себя. Шаг между статиками 25 пикселей - как и был - но это тоже можешь подправить в таблице tPosYItems - верхний статик будет рисоваться по координате Y равной 25, последующие по указанным - друг под другом. В итоге получается так: Изменено 10 Января 2011 пользователем Garry_Galler Ссылка на комментарий
Шинигами 0 Опубликовано 10 Января 2011 Поделиться Опубликовано 10 Января 2011 В общем, облазил весь инет, но так нигде никто мне внятного ответа не дал, поэтому, видимо, это где-то в скриптах и спрашивать надо у вас :ny_smile: Что необходимо: делаю мп мод. Нужно, чтобы аптеки, когда их выкидываешь из инвентаря, пропадали не через 30 секунд, а через 1.5, а рюкзак после смерти исчезал сразу. В лтх файлах есть команда remove_time = , но она подходит только для трупа, гранат, оружия. Облазили со СталкМеном исходник хрГейм от Ролана - там тоже есть упоминание о времени для оружия, гранат, трупов. Но нет рюкзаков и аптек. Кстати, если аптека пропадает через 30 секунд, то рюкзак - через 60. Поиск по числам не дал результатов (30000, 60000). В файле death_manager.script есть следующее: --' Функция вызывается для каждого предмета, если вернет false то предмет удалится. function keep_item(npc, item) local section = item:section() local ini = npc:spawn_ini() if ini and ini:section_exist("keep_items") and section ~= "guitar_a" and section ~= "harmonica_a" and section ~= "wpn_binoc" and section ~= "device_torch" and section ~= "device_pda" then return end if isArtefact(item) then return end -- printf("keep_item:item ["..item:name().."] npc_name ["..npc:name().."]") if section == "bolt" then return end if always_keep_item[section] == true then return end --printf("item name [%s]", item:name()) if isWeapon(item) and not(get_clsid(item)==clsid.wpn_grenade_rgd5_s or get_clsid(item)==clsid.wpn_grenade_f1_s) then set_weapon_drop_condition(item) return end Я вот думаю, что если подправить что-то в последнем абзаце, можно сделать, чтобы хотя бы рюкзак пропадал сразу ("...если вернет false то предмет удалится") Ну или, в крайнем случае, хотя бы сделать, чтобы все исчезало через 1.5 (аптеки, гранаты, оружие, рюкзак). Ведь есть команда sv_remove_weapon 0 в раадминке, отвечающая за мгновенное уничтожение предметов (исчезает все, что брошено, в том числе рюкзак после смерти) - эта команда должна же на что-то ссылаться, чтобы активировать все эти данные. Ссылка на комментарий
Garry_Galler 7 Опубликовано 10 Января 2011 Поделиться Опубликовано 10 Января 2011 antreg В общем сделал обновленный вариант - там можно самому настроить вывод статиков как по горизонтали, так и по вертикали просто поменяв логические значения двух параметров. Также заменил шрифт на более подходящий. И добавил вывод водки и бинтов скрин ссылка Ссылка на комментарий
Якут 0 Опубликовано 11 Января 2011 Поделиться Опубликовано 11 Января 2011 (изменено) AKKK1, MustaNG, _Призрак_ спасибо вам за помощь вот смотрите что получилось [logic] active = walker@coster_marsh_baza_01 danger = danger_ignore@coster_marsh_baza_01 anim = desk_idle [danger_ignore@coster_marsh_baza_01] ignore_distance = 5 [walker@coster_marsh_marsh_baza01] path_walk = koster01_stalker01_baza path_look = koster01_marsh_look meet = meet_guide@coster_marsh_baza_01 [meet_guide@coster_marsh_baza_01] close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 close_snd_distance = 3 abuse = false use = {=actor_enemy} false, true allow_break = false meet_on_talking = false meet_on_talking = false way [koster01_marsh_look] points = p0 p0:name = wp00|a=sit_knee p0:flags = 0x1 p0:position = -157.044052124023,0.613676309585571,-310.872619628906 p0:game_vertex_id = 1070 p0:level_vertex_id = 65989 [koster01_stalker01_baza] points = p0 p0:name = wp00|a=sit_knee p0:flags = 0x1 p0:position = -158.81573486328,0.60850393772125,-312.81994628906 p0:game_vertex_id = 1070 p0:level_vertex_id = 64634 сталкер как и нужно сидит около костра разговаривает и реагирует на стрельбу в его адрес. еще раз спасибо Изменено 11 Января 2011 пользователем Якут Ссылка на комментарий
Министр 4 Опубликовано 11 Января 2011 Поделиться Опубликовано 11 Января 2011 Вынужден вам напомнить, что тема не о рассуждениях нужности модов. TRAMP14, я конечно все понимаю, но об этом уже тысяча раз говорилось, так что используйте поиск. Ссылка на комментарий
Якут 0 Опубликовано 11 Января 2011 Поделиться Опубликовано 11 Января 2011 Товариши сталкеры, скажите пожайлуста кто знает. Как называется состояние тела НПС когда он сидит на стуле как медики в лагерях? Ссылка на комментарий
SkyLoader 53 Опубликовано 11 Января 2011 Поделиться Опубликовано 11 Января 2011 Министр, ок ____________________ Вопрос: у меня есть непись-таргет. Я пытаюсь сделать так: local panic=target_iter(target) get_console():execute(panic) Если непись имеет какую-либо пушку, то выдает true, иначе false. function target_iter(target) target:iterate_inventory( function(dummy,item) if string.find(item:section(),"wpn_") then return true else return false end end , target) end У меня получается какой-то бредовый вылет. У меня тут все правильно? Ссылка на комментарий
Garry_Galler 7 Опубликовано 11 Января 2011 Поделиться Опубликовано 11 Января 2011 (изменено) SkyLoader tostring() при выводе в консоль примени(кто ж в консоль значение переменной выводит без всякого форматирования и конвертации). Булевы значения нужно конвертировать в строку. Изменено 11 Января 2011 пользователем Garry_Galler Ссылка на комментарий
ФеНиКс 2 Опубликовано 11 Января 2011 Поделиться Опубликовано 11 Января 2011 Можно ли сделать перебор "н"-ого кол-ва предметов. ну допустим их у нас 6 и все они разные. Нам нужно сделать так: после троекратного(3 раза) использования любого из этих предметов повторное их использование блокируется на некоторое время. Просто не знаю с чего начать... Подзабыл всё Ссылка на комментарий
ColR_iT 171 Опубликовано 11 Января 2011 Поделиться Опубликовано 11 Января 2011 Якут, вот тебе скриншот всех сидячих анимаций на стуле в ЗП: Находятся они в файле stalker_smart_cover_animation.omf Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти