Пользователей: 0
Гостей: 364
Всего: 364

» Подробно
» Сегодня


Привет, Гость!

Ник


Пароль


Запомнить?




» Добавить в избранное

» Сделать стартовой

Главная
Форум
Обзор игры
Мир Зоны
Файлы
Галерея
Разное



...


Форумы > Архив > Склад > Вопросы и ответы (ТЧ по 11.09.10)

Страница 69 из 69Первая«66676869
Быстрый переход:


 

Автор Сообщение
АнархОПанк
[1] Странник
Онлайн статус=0  Профиль    




Посты: 998
Откуда:
Занятие:
Возраст:

10-09-2010 16:45 GMT3 часа #1342026   Split
Предисловие: Мастер Сяк(с)... Мастер Artos... Вас много


Все работает, спасибо!!!
Встреча с кровососом 95% смерть! (Прям как в книгах). Единственное что тебя спасет, (оставшиееся 5%) это если ты увидишь его зараннее и успеешь расстрелять...

Единственное то, что когда он присасывается то ГГ поворачивается к Кровососу спиной... Но это не суть, главное что захватывает...

А можно ли звук ему сделать, как в ЗП?


----------------------------------------------------------------------------------------------------------------

Сейчас установлю ЗП, распакую... Кину звук.


----------------------------------------------------------------------------------------------------------------

Почему сразу достал? Хмм... Ды я и не спрашивал

Сообщение было успешно отредактировано АнархОПанк (10-09-2010 16:45 GMT3 часа, назад)

Artos
[20] Сталкер
Онлайн статус=0  Профиль    




Посты: 4176
Откуда:
Занятие:
Возраст: 65

10-09-2010 16:58 GMT3 часа #1342034   Split
АнархОПанк
Выше дал немного поправленный вариант, то не подбирал пока параметры.
Чуток проверил - есть странность, кровосос меняет свой вектор через нек.время, хотя смотрит на жертву ... Нужно еще поковырять. Хотя ... разворот нужно делать иначе, а не готовыми простенькими методами.
По звуку: а как в ЗП? Дай звук (файл) - прикрутить не сложно.

P.S. Только кидай с исходными для ЗП назвааниями файла(ов)/путей, а то я уж ЗП подзабыл ...

Сообщение было успешно отредактировано Artos (10-09-2010 16:58 GMT3 часа, назад)

АнархОПанк
[1] Странник
Онлайн статус=0  Профиль    




Посты: 998
Откуда:
Занятие:
Возраст:

10-09-2010 17:02 GMT3 часа #1342052   Split
Artos новая версия получше, там ГГ не всегда спиной, а может боком, например. Вобщем все

А вот и сам звук. Narod.ru

А лежит по пути gamedata\sounds\monsters\bloodsucker


Artos
[20] Сталкер
Онлайн статус=0  Профиль    




Посты: 4176
Откуда:
Занятие:
Возраст: 65

10-09-2010 17:21 GMT3 часа #1342059   Split
АнархОПанк
Я ж в комментах приписал, что разворот нужно дорабатывать. Делать нужно НЕ скачком, а поплавнее ... Сделаю чуть позже.
Звук забрал, чудной какой-то (ИМХО).

Дык этот звук и ТЧ имеется ...

А убежать -??? Сделаю так, что в зависимости от дистанции захвата - хит 'всасывания' будет меняться и ежели всосал - то притягивать будет так, что не сбежишь/вырвешься.


АнархОПанк
[1] Странник
Онлайн статус=0  Профиль    




Посты: 998
Откуда:
Занятие:
Возраст:

10-09-2010 17:30 GMT3 часа #1342060   Split
Artos всмысле путь к звуку из ЗП?


Ну так я ничего и не говорю, и так все устраивает. Главное сама суть захвата и ничего нельзя делать.. НУ разве что попытаться убежать


Ахаха... Ну какой звук есть такой и дал


Нуу... Тогда "соска" будет шибко опасным, и тогда встреча с ним будет настоящим испытанием


В ТЧ звук другой немного... Хотя и такой бы подошел. Что то я сразу не подумал об ТЧ...


SkyLoader'у, скрипт из ЗП. Клац

Сообщение было успешно отредактировано АнархОПанк (10-09-2010 17:30 GMT3 часа, назад)

Artos
[20] Сталкер
Онлайн статус=0  Профиль    




Посты: 4176
Откуда:
Занятие:
Возраст: 65

10-09-2010 18:03 GMT3 часа #1342077   Split
АнархОПанк
Держи вариант-3 со звуком:
Код:
    --/#+# 'засос кровососа' --------------------------------------------------
    if self.object:clsid() == clsid.bloodsucker_s and self.object.health > 0.25 then
      local oTarget = self.object:get_enemy()
      if oTarget and IsStalker(oTarget) and self.object:see(oTarget) then
        --/ если у кровососа есть враг/цель и кровосос его видит то ...
        local iDist = self.object:position():distance_to(oTarget:position())
        if iDist <= 3 then --/ дистанция для анимации 'засоса'
          local iTime = time_global()
          --/ таймер для анимации и хита ...
          if (self.timer_anim or 0) < iTime then
            self.timer_anim = iTime + 2000 --/ таймер анимации ~ 2 сек
            if self.object:animation_count() > 0 then
              self.object:clear_animations()
            end
            self.object:add_animation("vampire_0", true) --/ варианты: "vampire_0" | "idle"
            --/ озвучка 'засоса'
            local oSnd = sound_object("monsters\\bloodsucker\\vampire_sucking")
            oSnd:play_no_feedback(oTarget, sound_object.s2d, 0, vector(), 5.0)
          end
          --/ хит жертве (притягиваем)
          if (self.timer_hit or 0) < iTime and (self.timer_anim and self.timer_anim + 2000 >= iTime) then
            self.timer_hit = iTime + 500 --/ таймер хита ~ 0.5 сек
            local vDir = self.object:direction() --/ вектор кровососа
            local vDirHit = vector_rotate_y(vDir,179.0)
            local h = hit()
            h.draftsman = self.object
            h.direction = vDirHit --/ направление хита
            h:bone("bip01_spine") --/ для учета 'брони'
            h.power     = 1
            h.impulse   = 120/iDist --/ чем ближе - тем сильнее 'засос'
            h.type      = hit.wound --hit.strike
            oTarget:hit(h) --/ наносим хит жертве
            --/ разворот жертвы на кровососа. TODO: требует доработки/замены!
             if oTarget:id() == db.actor:id() then --/ жертва == актор? (а нужно?)
              oTarget:set_actor_direction(vDirHit:getH())
            end
          end
        end
      end
    end
    --/<-----------------------------------------------------------------------

P.S. Обновил, добавил зависимость от дистании: чем ближе - тем сильнее 'всасывает'.

Сообщение было успешно отредактировано Artos (10-09-2010 18:03 GMT3 часа, назад)

АнархОПанк
[1] Странник
Онлайн статус=0  Профиль    




Посты: 998
Откуда:
Занятие:
Возраст:

10-09-2010 18:04 GMT3 часа #1342092   Split
Artos спасибо огромнейшее!!! Мастер Artos...

Все работает, звук воспроизводится, ГГ шевелиться не может, камера поворачивается (Относительно, смотря как встать), хит усиленный, чем больше всасывается тем сильнее хит... Это шикарРрНо!!!!


Хорошо, добавим

Сообщение было успешно отредактировано АнархОПанк (10-09-2010 18:04 GMT3 часа, назад)

Artos
[20] Сталкер
Онлайн статус=0  Профиль    




Посты: 4176
Откуда:
Занятие:
Возраст: 65

10-09-2010 18:05 GMT3 часа #1342099   Split
АнархОПанк
Ну я не 'Мастер', а банальный ковыряльщик кодов ...

Погоняй кровососа в игре - как будет с неписями ...
Стоит скорее всего добавить проверку:
  if oTarget and IsStalker(oTarget) and self.object:see(oTarget) then

дабы не засасывал всех подряд, т.е. чтобы монстров не 'сосал' ...
(в варианте-3 подправил)


АнархОПанк
[1] Странник
Онлайн статус=0  Профиль    




Посты: 998
Откуда:
Занятие:
Возраст:

10-09-2010 18:08 GMT3 часа #1342102   Split
Artos кровососа я гонял, с НПС равно как и с ГГ
На счет остальных монстров (До исправленной версии) незнаю, гонял только в деревне. Во всяком случае эта проверка лишней не будет.


Cиноби
[10] Житель
Онлайн статус=0  Профиль    



Tensh~

Посты: 8908
Откуда: Akademia-city
Занятие: Хи-ми-цу!
Возраст: 31

12-07-2017
10-09-2010 18:14 GMT3 часа #1342106   Split
начал делать квест по инструкции уважаемого Stalk15 .
возник такой вопрос: предположим есть участок кода:
Код:
<dialog id="escape_af_jumper">
        <has_info>tutorial_end</has_info>
        <phrase_list>
     <phrase id="0">
                         <text>escape_af_jumper_0</text>
                            <next>1</next>
                     </phrase>
<phrase id="1">
                         <text>escape_af_jumper_1</text>
                            <next>2</next>
<next>3</next>
                     </phrase>
     <phrase id="2">
                                <text>escape_af_jumper_2</text>
                                <next>4</next>
                     </phrase>
     <phrase id="3">
                         <text>escape_af_jumper_3</text>
<action>dialogs.break_dialog</action>
                     </phrase>
     <phrase id="4">
<dont_has_info>kvest_jumper_started</dont_has_info>
                         <text>escape_af_jumper_4</text>
<give_info>kvest_jumper_started</give_info>
                            <next>5</next>   
                     </phrase>
     <phrase id="5">
                         <text>escape_af_jumper_5</text>
    <action>dialogs.break_dialog</action>
</phrase>
        </phrase_list>
    </dialog>

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


Madichi
[7] Выживший
Онлайн статус=0  Профиль    




Посты: 917
Откуда: Ижевск
Занятие: Всегда найдется
Возраст: 25

17-03-2020
10-09-2010 18:44 GMT3 часа #1342123   Split
Как прописать Сидору какие либо пушки? Например Грозу 5.45.


Cиноби
[10] Житель
Онлайн статус=0  Профиль    



Tensh~

Посты: 8908
Откуда: Akademia-city
Занятие: Хи-ми-цу!
Возраст: 31

12-07-2017
10-09-2010 18:49 GMT3 часа #1342127   Split
Moonlight18 клик
MRN$ я сам этим только со вчера занимаюсь, по этому мне нужен участок кода... иначе не разберусь к сожалению ><


SkyLoader
[7] Выживший
Онлайн статус=0  Профиль    




Посты: 755
Откуда: Москва
Занятие:
Возраст:

09-09-2011
10-09-2010 19:00 GMT3 часа #1342138   Split
АнархОПанк, за скрипт спс. Я там нашел функцию еще одного медленного поворота, но она пока не работает.
Artos, если кровосос делает засос неписю, то звук воспроизводится на акторе.


MRN$
[1] Странник
Онлайн статус=0  Профиль    




Посты: 114
Откуда:
Занятие:
Возраст: 16

11-09-2010 00:21 GMT3 часа #1342144   Split
Cиноби

Сам правда (пока) ни одного диалога не закодировал...
В месте, в которое надо войти только один раз, вставь конструкцию типа такой:

...
проверка на отсутствие "блокировка_входа"
выдача "блокировка_входа"
...

В кавычках "" - это инфопорция.

------------------------------------------------------------------------------

Вроде так:
...
<dialog id="escape_af_jumper">
<has_info>tutorial_end</has_info>
<dont_has_info>blocer_portion</dont_has_info>
<give_info>blocer_portion</give_info>
...
Подробней здесь и здесь

Сообщение было успешно отредактировано MRN$ (11-09-2010 00:21 GMT3 часа, назад)

АнархОПанк
[1] Странник
Онлайн статус=0  Профиль    




Посты: 998
Откуда:
Занятие:
Возраст:

10-09-2010 19:24 GMT3 часа #1342146   Split
Artos тут такая идея возникла. Можно ли сделать постэффект при засасывании?
PS При этом само сабой величить время засасывания путем уменьшением силы хита. Ну вот это я смогу, а вот постэффект пытался прикрутить, оно не вышло.


Подскажите, скрипто-знающие люди, если эту строку вставить куда пологается level.add_pp_effector("alcohol.ppe", 3000, false)

то будет отигрываться постэффект?

добавлено спустя 1 минуту

Stalk15 это для дистанции, т.е чем ближе тем сильнее засос (Кровопитие)

Отлично! Постэффект есть

Сообщение было успешно отредактировано АнархОПанк (10-09-2010 19:24 GMT3 часа, назад)

SkyLoader
[7] Выживший
Онлайн статус=0  Профиль    




Посты: 755
Откуда: Москва
Занятие:
Возраст:

09-09-2011
10-09-2010 19:22 GMT3 часа #1342159   Split
АнархОПанк,
Должен. Загляни к erlik'y в журнал.


Stalk15
[1] Странник
Онлайн статус=0  Профиль    




Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Занятие: Модю сталкера, полегоньку юзаю Visual Basic и Visual С#.
Возраст: 30

19-11-2012
10-09-2010 19:49 GMT3 часа #1342162   Split
АнархОПанк
Да это я понял.Мне для интереса, каким образом это работает.Типа 120 делится на числовое значение дистанции от ГГ до сосыча и как-то так в зависимости от дистанции меняется импуль?Я правильно понял?
-------------------------------------------------------
АнархОПанк
Цитата
Я думаю это отвечает на твой вопрос:)

Да не, это тоже понятно...Я про другое, написанное выше.

Сообщение было успешно отредактировано Stalk15 (10-09-2010 19:49 GMT3 часа, назад)

Шалун
[20] Сталкер
Онлайн статус=0  Профиль    




Посты: 9577
Откуда: Берлин
Занятие: Пытаюсь учиться
Возраст: 28

10-09-2010 19:29 GMT3 часа #1342163   Split
Повторюсь кое с чем: НПС спаунится не в нужном мне месте, а фиг знает где.
Раньше, у меня проблем не было с этим - подходил к нужному месту, снимал координаты, создавал скрипт, указывал в нём снятые координаты, а дальнейший ход действий изложен в гайде портала.
Но сейчас не всё так глатко - НПС не спаунится там, где мне нужно. Я взял координаты снятые Синоби, но НПС спаунился в другом месте, а не в указанном координатами. Что за фигня, кто подскажет?


userbar
АнархОПанк
[1] Странник
Онлайн статус=0  Профиль    




Посты: 998
Откуда:
Занятие:
Возраст:

10-09-2010 19:42 GMT3 часа #1342174   Split
Stalk15
Цитата
local iDist = self.object:position():distance_to(oTarget:position())
if iDist <= 3 then --/ дистанция для анимации 'засоса'


Я думаю это отвечает на твой вопрос:)


АнархОПанк
[1] Странник
Онлайн статус=0  Профиль    




Посты: 998
Откуда:
Занятие:
Возраст:

10-09-2010 20:00 GMT3 часа #1342186   Split
Stalk15 тогда у Артоса надо спросить будет.. Как мне кажется это число (120) делится на Дистанцию которая сейчас есть на данный момент. Отсюда и идет просчет усиленного/ослабевающего хита.

добавлено спустя 47 секунд

Artemiy94 как бы помягче сказать... Это не тема по Зову Припяти. Это во-первых. А во-вторых по интернету уже год гуляет файл исправляющий этот вылет.

Сообщение было успешно отредактировано АнархОПанк (10-09-2010 20:00 GMT3 часа, назад)

Mehanik Yar
[1] Странник
Онлайн статус=0  Профиль    




Посты: 469
Откуда: Уфа
Занятие:
Возраст:

10-09-2010 20:03 GMT3 часа #1342190   Split
http://www.stalker-portal.ru/forums.php?m=posts&q=7380&d=1980
189 мой пост, я так и не понял почему новый звук НПС не говорит. ТУт наверняка кто-то прописывал новые звуки, подскажите.


Шалун
[20] Сталкер
Онлайн статус=0  Профиль    




Посты: 9577
Откуда: Берлин
Занятие: Пытаюсь учиться
Возраст: 28

10-09-2010 21:20 GMT3 часа #1342266   Split
Создал новую группировку.
Проблема с файлом death_manager. Я прописал там свою группировку на равне с остальными. Но вот беда:
Expression : assertion failed
Function : xrServer::Process_event_reject
File : E:\stalker\sources\trunk\xr_3da\xrGame\xrServer_process_event_reject.cpp
Line : 12
Description : e_parent && e_entity

Вылетает при Синхронизации.

Если файл убрать - игра заспускается, но при убийстве НПС игра вылетает.

добавлено спустя 6 минут

В xr_statistic тоже прописал по анологии с отсальными.

Сообщение было успешно отредактировано Шалун (10-09-2010 21:20 GMT3 часа, назад)

userbar
Artos
[20] Сталкер
Онлайн статус=0  Профиль    




Посты: 4176
Откуда:
Занятие:
Возраст: 65

10-09-2010 23:45 GMT3 часа #1342343   Split
SkyLoader
Звук при засосе крвососа в настоящий момент отыгрывается на жертве:
  oSnd:play_no_feedback(oTarget, sound_object.s2d, 0, vector(), 5.0)
То, что слышит и астор - это и громкостью (5.0->1.0) поиграться нужно и собственно звук должен иметь тэги 'затухания' по дистанции.
СтОит перенести отыгрыш звука на самого кровососа, понизив и громкость:
  oSnd:play_no_feedback(self.object, sound_object.s2d, 0, vector(), 2.0)

Stalk15
Даж не знаю как тебе еще пояснить ...
  h.impulse = 120/iDist --/ чем ближе - тем сильнее 'засос'
Простейшее деление величины импульса на расстояние до жерты. Как еще можно трактовать арифметическое действие деления?
при 3-х метрах - 40, при 2-х - 80, при 1-ом 120 ... Т.е. чем ближе - тем сильнее притягивает и сильнее 'сосет'.

АнархОПанк
По постэффекту: Думаем параллельно. Вижу ты уже разобрался как прикрутить ...
Но тут нужно и помозговать:
- эффект 'alcohol.ppe' может и не самый удачный, я прикрачивал 'total_recall.ppe'. можно и еще чего-нить добавить, но это уже не тут, а в коллбэки хита актора, дабы учитывать и силу хита и здоровье актора.
- постэффект стОит включать/отключать по флагу, дабы непереэффектить ... Глянь вариант 4 (озвучка на кровососе + постэффект):
Код:
    --/#+# 'засос кровососа' (v4.0) -------------------------------------------
    if self.object:clsid() == clsid.bloodsucker_s and self.object.health > 0.25 then
      local oTarget = self.object:get_enemy()
      if oTarget and IsStalker(oTarget) and self.object:see(oTarget) then
        --/ если у кровососа есть враг/цель и кровосос его видит то ...
        local iDist = self.object:position():distance_to(oTarget:position())
        if iDist <= 3 then --/ дистанция для анимации 'засоса'
          local iTime = time_global()
          --/ таймер для анимации и хита ...
          if (self.timer_anim or 0) < iTime then
            self.timer_anim = iTime + 2000 --/ таймер анимации ~ 2 сек
            if self.object:animation_count() > 0 then
              self.object:clear_animations()
            end
            self.object:add_animation("vampire_0", true) --/ варианты: "vampire_0" | "idle"
            --/ озвучка 'засоса' (отыгрыш на кровососе)
            local oSnd = sound_object("monsters\\bloodsucker\\vampire_sucking")
            oSnd:play_no_feedback(self.object, sound_object.s2d, 0, vector(), 2.0)
            self.pp_kiss = nil --/ сброс 'флага' постэффекта
          end
          --/ хит жертве
          if (self.timer_hit or 0) < iTime and (self.timer_anim and self.timer_anim + 2000 >= iTime) then
            self.timer_hit = iTime + 500 --/ таймер хита ~ 0.5 сек
            local vDir = self.object:direction() --/ вектор кровососа
            local vDirHit = vector_rotate_y(vDir,179.0)
            local h = hit()
            h.draftsman = self.object
            h.direction = vDirHit --/ направление хита (притягиваем)
            h:bone("bip01_spine") --/ для учета 'брони'
            h.power     = 1
            h.impulse   = 120/iDist --/ чем ближе - тем сильнее 'засос'
            h.type      = hit.wound --hit.strike
            oTarget:hit(h) --/ наносим хит жертве
            if oTarget:id() == db.actor:id() then --/ жертва == актор?
              --/ добавляем постэффект
              if not self.pp_kiss then
                self.pp_kiss = game.time() --/ флаг-индекс постэффекта
                level.add_pp_effector("total_recall.ppe", self.pp_kiss, false) --/или alcohol.ppe
              end
              --/ разворот актора на кровососа (а нужно?). TODO: требует доработки/замены!
              oTarget:set_actor_direction(vDirHit:getH())
            end
          end
        end
      end
    end
    --/<-----------------------------------------------------------------------


Sine
[1] Странник
Онлайн статус=0  Профиль    




Посты: 960
Откуда: Краснодар
Занятие: брейкданс, модмейкинг
Возраст: 29

09-01-2011
10-09-2010 23:42 GMT3 часа #1342345   Split
Шалун по какой статье делал группировку?




Форумы > Архив > Склад > Вопросы и ответы (ТЧ по 11.09.10)

Страница 69 из 69Первая«66676869


Эта тема закрыта, публикация новых сообщений недоступна.



???????@Mail.ru Rambler's Top100
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.

Использование материалов сайта возможно с разрешения администрации. Все права защищены. © 2004–2024 «Stalker-Portal.ru»