Здравствуйте, люди.
Вот кто знает игру Project IGI? Кто помнит систему лечения там? Берем в руки шприц и вкалываем.
Я подумал, почему бы не сделать такое же в Сталкере, к тому же я уже видел "Бухать в реальном времени" - бутылка в руке и пошел пить.
Реализация:
1) создаем новое оружие и делаем ему нулевые урон и дистанцию.
2) пишем скрипт, который отслеживает выстрел из оружия, и при этом выстреле спавнит и применяет аптечку (или легче - сразу повышает уровень здоровья).
3) рисуем анимацию вкалывания шприца.
Проблемы:
1) можно ли сделать и приделать анимацию к оружию (ну, раз бухло сделали, то и тут, скорее всего, можно).
2) как проверить наличие факта выстрела? Никто мне не говорит.
Раз так, то будем делать из того, что есть:
Функция get_ammo_in_magazine() (или как-то так) - есть ли такая ( в смысле, рабочая ли)?
Тогда делаем так: присваиваем переменной А кол-во пуль в стволе, а потом каждый раз (каждый апдейт) проверяем кол-во пуль; а если их разница == 1, то применяем аптечку, а переменную А = кол-во_пуль_в_стволе.
Может и криво, но кто даст более "прямой" способ - через проверку выстрела?
3) отслеживаем факт выстрела из ОПРЕДЕЛЕННОГО оружия - как?
Сообщение было успешно отредактировано vhodnoylogin (05-06-2010 14:31 GMT3 часа, назад)
Xray23, а ты знаешь об этих модах: вот этом или вот этом, например.
Это же графические моды, почему они могут не идти на v1.0006?
Лично я когда-то ставил "Сталкер: Ядерная Зима" (диск принесли) и патчил его - играл вроде бы.
добавлено спустя 3 минут
Сменил визуал аптечки, неважно на что и зачем - проблема не в этом.
А проблема в том, что если я выкидываю аптечку из инвентаря, то она выглядит как и должна - новая форма, но, если я вижу стандартную аптечку (те, что разбросаны по миру - например, рядом с Толиком), то они такие как и были до изменения. НЕ очень мне это нравится - как исправить?
PS: Ну и еще у меня остался тот вопрос, что выше.
Сообщение было успешно отредактировано vhodnoylogin (05-06-2010 14:44 GMT3 часа, назад)
vhodnoylogin по апт, ты визуал точно у стандартной(ых) заменил?
Код:
Реализация:
1) создаем новое оружие и делаем ему нулевые урон и дистанцию.
2) пишем скрипт, который отслеживает выстрел из оружия, и при этом выстреле спавнит и применяет аптечку (или легче - сразу повышает уровень здоровья).
3) рисуем анимацию вкалывания шприца.
Круто...ты сделай сначала, а потом я тебе скажу твои следующие вопросы, короче забудь, анимацией ты нормально никогда не выведешь, только если текстуру возить по экрану как надо
по проблемам теперь
1 можно...заменить, новую думаю нет, вопрос - зачем?
2 вот тебе самому чтоли лень проверить?...что за народ пошел, всё расскажи да покажи(одно скажу, к отслежке выстрела она тооочно не относится)
3 определяешь секцию ствола в слоте и вперёд
Struck с чего это эффект камеры будет анимой? Эта тема должна быть записана в конфигах по любому.
Просто у меня почему то появилась встряска при взрыве дымовой гранаты, которой (встряски) раньше не было. Вот мне и надо узнать от какого пораметра зависит.
Здравствуйте люди добрые, подскажите пожалуйста я сделал зависимость от сигарет, как это дело проверить, отредактировать время, сделать чтоб когда хочешь курить иконка на худе высвечивалась,
И при долгом беге хотелось курить?
Цитата - вы можете задавать вопросы, только непосредственно касающиеся создания модификаций и редактирования файлов игры
blackraven6
(ИМХО) Иногда конечно проще ответить на вопрос не по теме, но не стОит создавать прецендентов, дабы самим не потакать оффтопику! Подобное 'потакание' дает сиюминутную пользу 'единице', но для всех читающих топик - только 'размазывает' полезную информацию по оффтопику.
Ты уже не новечок в модмейкерстве, но упорно пытаешься переложить рутинную работу на 'негров'. Что мешает тебе самому перепроверять свои же предполагалки?
Что сложного для тебя же самому прверить на работоспособность той же функции get_ammo_in_magazine()?
Прекрасно знаешь моды, в которых используется эффект "тряски" (при том же выбросе АМК).
Как уже предположил Struck , 'встряска' - это анимация камеры (cam_effector) и 'строки' этого эффекта не сложно посмотреть в кодах, которыми сделаны эффекты при выбросах.
Взрыв же гранаты - во многом заложен в движок и врядли тебе будут полезны 'строки' ассемблера, даже если кто-то и декомпиллировал движок.
Твои вопросы по сути бессмыслены.
1. Тебе же самому прекрасно известно, что модмейкеры создают и новое оружие и к нему анимации. Зачем же вопрошать: "можно ли сделать и приделать анимацию к оружию", если сам же знаешь ответ?
2. О "факте" выстрела тебе уже давался ответ. В твоей постановке вопроса он 'бестолков'. Само ружие тебе никак не ответит, что выстрелило, да и стволов в игре, которые "должны ответить" - десятки-сотни-...
3. (вытекающий/дополняющий 2-й вопрос) Пока ты не определишь критерии для своего понятия "ОПРЕДЕЛЕННОЕ" оружие - тебе или никто не ответит или устроим чат в топике с гадалками/предполагалками.
И если ты думаешь, что из твоего пояснения о некоей системе лечения ("кто знает игру Project IGI? Кто помнит систему лечения там?" - я, например, и не помню и НЕ знаю), что-то понятно, то думаю что сильно заблуждаешься.
СтОит наверное достаточно внятно и полно пояснить что же ты хочешь сделать 'вообще', а не по неким малопонятным частностям?
Сообщение было успешно отредактировано Artos (05-06-2010 17:43 GMT3 часа, назад)
Artos про систему лечения писал vhodnoylogin так же как и про проверку оружки. =) Не забывай ники ставить а то я долго думал кто и кому что говорит.
ЦитатаКак уже предположил Struck , 'встряска' - это анимация камеры (cam_effector) и 'строки' этого эффекта не сложно посмотреть в кодах, которыми сделаны эффекты при выбросах.
Мда я в курсе. Я уже создавал выброс.
У меня вопрос конкретный:
1)В оригинальной игре есть гранаты РГД-5 и Ф-1.
2) У них так же как и у взрыва гранат ВОГ-25 ВОГ-25Р и ОГ-7 есть эффект камеры. При взрыве гранаты на определенном расстоянии "ощущается" ударная волна.
3) У гранаты ГД-5 (дымовой) в том же самом оригинальном сталкере нет такого эффекта.
4) Мне интересно какая из строчек у этой гранаты отвечает за отсутствие\силу(?) данного эффекта?
Про wallmarks
У тех же гранат и им подобных есть строчка wallmark_section = ****
Где регистрировать данные секции ибо незнаю как добавить новые волмарки.
vhodnoylogin
Пример отслеживания выстрела - (так как способ этот после релиза гравипушки malandrinus'a уже не секрет - так уж и быть раскрываю технологию - для своего газового ствола я примерно так же делал - только с большим числом патронов в магазине).
конфиг пушки - магазин 1 патрон
конфиг псевдопатронов - бак шот должен быть равен 0
визуал делаешь свой - в гравипушке от жекана поставили
функция должна быть на апдейте
Код:
function weapon()
--local magazin = system_ini():r_u32("wpn_pb", "ammo_mag_size") -- можно считать параметр магазина из конфига
local magazin = 1 -- но так проще будет - сразу пишем размер магазина
local activ_item = db.actor:active_item()
if activ_item and activ_item:section() =="wpn_pb" then -- указываешь имя секции ствола\девайса
local count_mag = activ_item:get_ammo_in_magazine() --число патронов в магазине изначально будет 1 (стволы всегда спавнятся заряжеными) и разряжать его не следует
if count_mag < magazin then -- если сделан выстрел, то число патронов стало меньше чем размер магазина - на этом и ловим момент выстрела
this.eat_medkit() -- вызываем функцию использования аптечки
count_mag = count_mag + 1 -- увеличиваем счетчик патронов на 1 уравнивая параметры
end
activ_item:set_ammo_elapsed(count_mag) -- заряжаем ствол заново - патроны кстати берутся из ниоткуда (то бишь просто спавнятся автоматом) - их даже в инвентаре иметь не нужно.
end
end
-- функция для кушания аптечки - аптечки будут расходоваться порангово - в первую очередь - обычные, если нет обычных, то армейские, если нет армейских - научные. А нет никаких - нет и действия.
function eat_medkit()
if db.actor:object("medkit") then
db.actor:eat(db.actor:object("medkit"))
break
elseif db.actor:object("medkit_army") then
db.actor:eat(db.actor:object("medkit_army"))
break
elseif db.actor:object("medkit_scientic") then
db.actor:eat(db.actor:object("medkit_scientic"))
end
end
если ствол разрядить в инвентаре - то при взятии в руки действие произойдет автоматом - поэтому разряжать его не следует.
Впрочем тут разные варианты можно написать - в зависимости от того нужна ли тебе ручная зарядка или нет - сколько зарядов должно быть в магазине, должен ли эффект вкалывания сразу срабатывать или с задержкой (у меня таймер стоит - сначала выстрел - потом эффект через пару секунд) и т.д.
PS: По поводу твоих новых аптечек - визуалы аптечкам нужно и в секциях allspawn менять. Визуалы для аптечек заспавненных через allspawn игра как я думаю оттуда и читает - там же тоже есть секция visual_name = equipments\item_aptechka
Отсюда и разброд такой.
blackraven6
как вариант на твой вопрос - в конфиге гранат есть параметр up_throw_factor - где то читал что если выставить там большое значение -( обычно там единичка с чем то стоит) - то это дает эффект сильного подбрасывания тела в в воздух (тела эктора или NPC - не знаю - сам не проверял).
Не знаю связано ли это как то с анимацией встряски (активацию анимации встряски камеры при взрыве я нигде не нашел - может из движка она запускается)
возможно что этот параметр учитывается при взрыве гранаты- и чем больше параметр тем сильнее встряска.
Попробуй поэкспериментировать.
Леня_Агитатор Ну так там же вроде как задается переменная к которой каждые 6 минут прибавлется по 1 единице "желания покурить" а курением мы "отнимаем" это самое желание, уменьшая тем самым значение переменной. Как вывести на ХУД иконку посмотри у singapur22 в журнале в теме "новый хит параметр вирус" Он там выводи иконку своего этого вируса.
Цитатаblackraven6: У тех же гранат и им подобных есть строчка wallmark_section = ****
Где регистрировать данные секции ибо незнаю как добавить новые волмарки.
Смотрим указанные тобою строки:
Код:
wallmark_section = explosion_marks ;--wallmarks
Даем поиск по "explosion_marks"
...
Находим в system.ltx - [explosion_marks]
Что сложного в том, чтобы предположить и попробовать создать аналогичную секцию [explosion_marks2] со своими параметрами и 'прикрутить' ее:
Код:
wallmark_section = explosion_marks2
что сложного поэкспериментировать с параметрами аналогичными световой гранате: blast = 0
blast_r = 0
blast_impulse = 0
Сообщение было успешно отредактировано Artos (05-06-2010 17:36 GMT3 часа, назад)
blackraven6
Советую (за)иметь инстумент, ежели занялся модмейкерством.
В соответствующем топике есть немало инструментария (ссылок).
Я пользуюсь УльтраЕдитом (UltraEdit+UltraCompare), многие Нотепадом++ (Notepad++), кто-то предпочитает "SciTE". Подбирай под себя сам.
Без инструментов (голыми руками и головой) ты будешь продолжать пытаться рутину перекладывать на 'негров', задавая банальные вопросы по каждому 'пустяку'.
P.S.
У всех у нас свои заботы проблемы ... Ты похоже из тех, кто свои заботы считает более важными ...
Если "экзамены и практика" - ну так и займись ими.
Уже говорил тут:
"Экономия времени на знаниях/навыках - вернется не раз простоями и потерей времени."
Это же относится и к "экономии" за счет других ...
Сообщение было успешно отредактировано Artos (05-06-2010 17:59 GMT3 часа, назад)
Artos Ну мое мнение - если вопрос мелкий (ответ на него занимает предложение), то от чего же его не задать. Понятное дело что если все уже разжевывали по 10 раз, то не стоит задавать в 11. Зачем дважды тратить время на изобретение колеса? Другое дело если вопрос большой. Я например ответы с форума у себя на сайте в FAQ превращаю. Если бы я задавал вопросы по каждому поводу тут бы от форума мой блог остался бы . Я конечно утрирую но всеравно. Я очень мало пишу, если учесть что у меня за два года на форуме всего 360 с копейками сообщений. Это же форум - тут никто никому ничего не должен. Есть свои проблемы - ну не отвечай. Никто же не говорит: Так метнулись все быстро мою проблему решать. На форуме тот у кого есть проблема пытается найти того у кого есть возможность ее решить.
добавлено спустя 3 минут
Леня_Агитатор Он свой журнал подчистил. Осталось только это http://www.stalker-portal.ru/plug.php?e=weblogs&m=page&id=7538 Не знаю есть там или нет. У него было две таких. Возможно он их объеденил.
добавлено спустя 38 секунд
Леня_Агитатор Получилось со временем то? Или не пробовал еще?
Сообщение было успешно отредактировано blackraven6 (05-06-2010 18:25 GMT3 часа, назад)
Совершенно не согласен с твоей точкой зрения по "мелким" вопросам!
Если на вопрос сам автор может ответить, потратив столько же времени, сколько на написание самого вопроса - то:
- а) если следовать правилу топика: "прежде чем задать вопрос, вы должны прочитать все предыдущие страницы темы." (в котором "все" явно лишнее, ИМХО), то ты, дабы не нарушать правил, должен потратить на пару порядков больше времени, чтобы удостовериться в недублировании вопроса.
- б) ты такой не один, задающий вопросы типа 2х2=? и если это будет делать каждый - читать топик мало кому из более опытных будет интересно. Топик скатится до ответов по таблице умножения.
- в) топик засоряется 'подобной', мало кому интересной из читающих, информацией и самому же автору(!) больше потребуется времени на поиск действительно нужной и полезной информации.
- г) нежелание многих отвечать на банальности уже на твоем же примере показывает, что ты же вынужден повторять эти банальности неоднократно! ... Желание же отвечать на них - падает, и только те, кто 'набивает посты' рад таким вопросам, отвечая такой же 'пустой' банальностью.
Все же топик - "Вопросы и Ответы", а не "Давайте решим вместе мою задачку/хотелку".
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.