Текущее время: 28 мар 2024 20:28

Часовой пояс: UTC + 3 часа


Правила форума


Внимание! Все права на материалы опубликованные в этом форуме принадлежат их авторам! Перепечатка туториалов и статей разрешена только со ссылкой на этот сайт! В противном случае факт перепечатки считается нарушением авторских прав!



Новая тема Ответить
Страница 6 из 6
[ Сообщений: 88 ]
На страницу Пред.  1, 2, 3, 4, 5, 6
Автор
Сообщение
Заголовок сообщения: GtkRadiant Speaker
СообщениеДобавлено: 22 авг 2015 07:24
Hi I have a questions about GtkRadiant,

How can I add to target_speaker for talk about soldiers?

Thanks. :)
Заголовок сообщения: Re: GtkRadiant Speaker
СообщениеДобавлено: 22 авг 2015 10:04
ShooterMan3466 писал(а):
Hi I have a questions about GtkRadiant,

How can I add to target_speaker for talk about soldiers?

Thanks. :)


Talking soldiers make better by scripts.
_________________
Как легко и приятно проходить через лес, распадаясь на пятна камуфляжа СС
Заголовок сообщения: Re: GtkRadiant Speaker
СообщениеДобавлено: 22 авг 2015 16:35
ShooterMan3466 писал(а):
Hi I have a questions about GtkRadiant,

How can I add to target_speaker for talk about soldiers?

Thanks. :)


Hello, ShooterMan, and welcome to the Wolf's Lair Forums. :2beer:

To answer your question, target_speakers are not used for soldier dialogues. Instead, you need to script them to talk. Check the original map's scripts to see how this task is done. Just open the pak0.pk3 file located in your Rtcw Main folder, and open the maps folder after that. You can open any of the .ai or .script files with a program like Notepad. :)
_________________
My Website: http://mikebwolf.wix.com/ronboyproductions

My Blogspot site with reviews of recent Rtcw Sp maps: http://ronboyreviews.blogspot.com/

Mod DB: https://www.moddb.com/members/ronboy
Заголовок сообщения: Re: GtkRadiant Speaker
СообщениеДобавлено: 26 авг 2015 15:29
Ron Boy писал(а):
ShooterMan3466 писал(а):
Hi I have a questions about GtkRadiant,

How can I add to target_speaker for talk about soldiers?

Thanks. :)


Hello, ShooterMan, and welcome to the Wolf's Lair Forums. :2beer:

To answer your question, target_speakers are not used for soldier dialogues. Instead, you need to script them to talk. Check the original map's scripts to see how this task is done. Just open the pak0.pk3 file located in your Rtcw Main folder, and open the maps folder after that. You can open any of the .ai or .script files with a program like Notepad. :)


Thanks, It's just with script file? Or Am I need to do something on GtkRadiant?
Заголовок сообщения: Re: GtkRadiant Speaker
СообщениеДобавлено: 26 авг 2015 21:40
ShooterMan3466 писал(а):

Thanks, It's just with script file? Or Am I need to do something on GtkRadiant?


In radiant only trigger that starts the script.Open AI & SCRIPT files to the example of ESCAPE2.There everything is clearly visible.
_________________
Как легко и приятно проходить через лес, распадаясь на пятна камуфляжа СС
Заголовок сообщения: Re: GtkRadiant Speaker
СообщениеДобавлено: 27 авг 2015 00:05
ShooterMan3466 писал(а):
Ron Boy писал(а):
ShooterMan3466 писал(а):
Hi I have a questions about GtkRadiant,

How can I add to target_speaker for talk about soldiers?

Thanks. :)


Hello, ShooterMan, and welcome to the Wolf's Lair Forums. :2beer:

To answer your question, target_speakers are not used for soldier dialogues. Instead, you need to script them to talk. Check the original map's scripts to see how this task is done. Just open the pak0.pk3 file located in your Rtcw Main folder, and open the maps folder after that. You can open any of the .ai or .script files with a program like Notepad. :)


Thanks, It's just with script file? Or Am I need to do something on GtkRadiant?


You don't need a trigger placed on Gtk Radiant, but you can if need be. It depends on what you want exactly. Like Horst said, check the .ai and .script files of the original maps. :)
_________________
My Website: http://mikebwolf.wix.com/ronboyproductions

My Blogspot site with reviews of recent Rtcw Sp maps: http://ronboyreviews.blogspot.com/

Mod DB: https://www.moddb.com/members/ronboy
Заголовок сообщения: [Мануалы] Операции с объектами
СообщениеДобавлено: 29 янв 2016 13:56
Хотел бы тут добавить кое-что по дверям (не знаю, если тут где-нибудь об этом).

classname func_door

toggle - дверь открывается/закрывается (и находится в этом состоянии) по событию (Напр. target_relay).

start_open - дверь находится в открытом состоянии с момена спауна (появления/рождения)

nomonster - монстры не трогают эту дверь

shoot-thru - не задерживает пули

key - ключ:
-1, если закрыт,
0, если открыт.
По умолчанию 0.

model2 - вместо двери можно вставить её модель, в Value нужно указать путь.

angle - Направление перемещения:
вправо → 0,
вперёд ↑ 90,
влево ← 180,
назад ↓ 270
(вдоль плоскости oXY).

Верх -1,
вниз -2
(вдоль оси Z).

targetname - имя двери для какого-либо события.

speed - скорость движения двери
По умолчанию 100.

closespeed - скорость закрытия двери.

wait - время ожидания/задержки после открытия

lip - расстояние, на которое перемещается дверь

Для рассчёта lip можно использовать следующую формулу:

Изображение

где grid - градуировка, текущий масштаб сетки в radiant, L - линейный размер двери в направлении движения (оценивается по градуировке radiant), X - расстояние на которое необходимо переместить дверь (оценивается по градуировке radiant).

Пример:
Нам нужно переместить дверь на 16 клеток вправо.

Изображение

Размер двери L=8, расстояние X=16.
Масштаб клетки grid=4

Изображение

Получается:
lip = 2^3*(8-16)+2
lip = -62

dmg - повреждение, наносит урон, если кто-то блокирует дверь
По умолчанию 2.

health - повреждения, которые нужно нанести двери, чтобы она открылась

team - имя группы, используется для того, чтобы открыть 2 двери одновременно (Назначается обеим дверям)

type - тип двери (назначает звук)
0 - без звука,
1 - метал,
2 - камни/булыжники,
3 - пневмозвук (как в лаборатории),
4 - скрип дерева (для вращающихся дверей),
5 - железная калитка,
6 - поднимающиеся ставни,
7 - скрип дерева.
Заголовок сообщения: Re: [Мануалы] Операции с объектами
СообщениеДобавлено: 27 авг 2016 01:03
Как создать лифт.
Создать лифт можно разными способами и сложностью. Приведу простейший вариант.
Для создания лифта, для начала, нам понадобятся 3 script_mover-а - это лифт, кнопки подъёма и спуска.

Напомню, что script_mover должен состоять из n-го количества брашей и одного браша, покрытого текстурой origen, который будет показывать центр объекта.

Кнопки можно создать из многогранных брашей. Назовём нижнюю кнопку button1, а верхнюю - button2

В свойствах пропишем:
key: scriptname, value: button1
key: targetname, value: button1

Изображение

для первой кнопки, и

key: scriptname, value: button2
key: targetname, value: button2

Изображение

для второй.

Мы делаем кнопки script_mover-ами потому как нам нужно показывать, что кнопка нажата или отпущена. Для этого нужно сделать для каждой кнопки 2 path_corner-а (нажат и отпущен), а для лифта 4 path_corner-а - вверху 2 и внизу 2. Распишу.
Назовём первый path_corner кнопки 1 bt1_on, а второй bt1_off. Первый будет отпущен, а второй нажат.

Изображение


Для того, чтобы можно было нажать на кнопку нам понадобится func_invisible_user.
У неё в свойствах нужно прописать:

key: cursorhint, value: hint_button
key: ainame, value: player
key: target, value: toggle_up

Изображение


Это нужно для того, чтобы при нажатии на кнопку, происходило обращение к ai файлу.

Всё то же самое нужно сделать и для второй кнопки. Только, соответственно, имя кнопки будет button2, path_corner-ы bt2_off и bt2_on.
В func_invisible_user-е:

key: cursorhint, value: hint_button
key: ainame, value: player
key: target, value: toggle_down

Изображение


Для лифта нужно прописать:
key: scriptname, value: lift
key: targetname, value: lift

Поставьте галку в solid для того, чтобы через лифт нельзя было пройти насквозь.

Изображение


И добавить 4 path_corner-а. Два сверху и два снизу. Пронумеровать с lift_p1 по lift_p4.

Изображение


path_corner-а не 2, а 4 для того, чтобы на подходах к верху/низу запускался звук старта/торможения.

С radiant-ом закончили. Теперь нужно прописать команды в скриптах. Приведу фрагмент аи файла.

Код:
player
{
   spawn
   {
   }

   trigger toggle_up      // Игрок нажал на кнопку 1
   {
      trigger button1 on   // Выполнение событий для кнопки 1 (Обращается в script файл к script_mover button1)
   }

   trigger toggle_down   // Игрок нажал на кнопку 2
   {
      trigger button2 on   // Выполнение событий для кнопки 2 (Обращается в script файл к script_mover button2)
   }
}


В script файле

Код:
lift                  // Имя script_mover лифта
{

   spawn               // Действия при появлении/рождении
   {
      accum 0 bitreset 0         // Введём булеву переменную,
// где accum - номер ячейки, а bitset и bitreset - вкл/выкл или 1/0.
// Булева переменная задаётся здесь для того, чтобы хранить информацию о положении лифта. У нас bitreset будет "лифт внизу", а bitset "лифт наверху"

   }

   trigger toggle            // Введём триггер для определения состояния лифта
   {
// Здесь поочередно запускаются 2 триггера - события up - вверх и down - вниз.

      trigger lift up         // Ссылается на триггер up в lift
      wait 5            // Задержка в 5 милисекунд
      trigger lift down         // Ссылается на триггер down в lift
   }

   trigger soundloop            // звук во время движения лифта
   {
      playsound sound/movers/elevators/elev1_loop.wav looping      // запустить звук по адресу
   }

   trigger down                  // Триггер - событие "вниз"
   {
      accum 0 abort_if_not_bitset 0         // проверяет значение ячейки лифта - "внизу или вверху?".
// Можно перевести как "Отклонить, если не вверху". Если значение в данном случае bitreset (внизу), то команды в trigger down не исполняются.

      accum 0 bitreset 0               // задаёт значение ячейки bitreset "внизу".
// Это делается для того, чтобы нельзя было несколько ряз запускать лифт вниз, пока он опять не будет вверху.

      wait 5                  // Задержка в 5 милисекунд
      playsound sound/movers/elevators/elev1_start.wav   // запустить звук по адресу
      trigger lift soundloop            // запустить trigger soundloop у lift, см выше
      gotomarker lift_p2 50 wait            // двигаться к path-corner-у lift_p2
      gotomarker lift_p1 50 deccel wait         // двигаться к path-corner-у lift_p1
      stopsound               // остановить звук
      playsound sound/movers/elevators/elev1_end.wav   // запустить звук по адресу
      trigger button2 off               // запустить триггер - событие off (выкл) у button2 (кнопки 2)
      trigger button1 off               // запустить триггер - событие off (выкл) у button1 (кнопки 1)
   }

   trigger up                     // Триггер - событие "вверх"
   {
      accum 0 abort_if_bitset 0            // проверяет значение ячейки лифта - "внизу или вверху?".
// Можно перевести как "Отклонить, если вверху". Если значение в данном случае bitset (вверху), то команды в trigger up не исполняются.

      accum 0 bitset 0               // задаёт значение ячейки bitset "вверху"
// Это делается для того, чтобы нельзя было несколько ряз запускать лифт вверх, пока он опять не будет внизу.

      wait 5                  // Задержка в 5 милисекунд
      playsound sound/movers/elevators/elev1_start.wav   // запустить звук по адресу
      trigger lift soundloop            // запустить trigger soundloop у lift, см выше
      gotomarker lift_p3 50 wait            // двигаться к path-corner-у lift_p3
      gotomarker lift_p4 50 deccel wait         // двигаться к path-corner-у lift_p4
      stopsound               // остановить звук
      playsound sound/movers/elevators/elev1_end.wav   // запустить звук по адресу
      trigger button2 off               // запустить триггер - событие off (выкл) у button2 (кнопки 2)
      trigger button1 off               // запустить триггер - событие off (выкл) у button2 (кнопки 1)
   }
}

button1               // имя script_mover кнопки 1
{
   spawn            // Действия при появлении/рождении
   {
      accum 0 bitset 0      // Введём булеву переменную, она будет показывать можно нажать кнопку 1 или нет. bitset - отпущена, bitreset - нажата
// Булева переменная здесь никак не относится к переменной из лифта, так как это другой script_mover (переменная является внутренней и относится только к button1/ кнопки 1).

      wait 5         // Задержка в 5 милисекунд
      gotomarker bt1_off 10 wait   // двигаться к path-corner-у bt1_off
   }

   trigger on            // Триггер - событие "нажата"   
   {
      accum 0 abort_if_not_bitset 0   // проверяет значение ячейки кнопки 1 - "нажата или отпущена?".
// Можно перевести как "Отклонить, если не отпущена". Если значение в данном случае bitreset (нажата), то команды в trigger on не исполняются.

      accum 0 bitreset 0         // Это делается для того, чтобы нельзя было несколько ряз нажимать кнопку 1.
      playsound sound/movers/switches/switch.wav   // запустить звук по адресу
      gotomarker bt1_on 10 wait   // двигаться к path-corner-у bt1_on
      trigger lift toggle      // Обращение к триггеру лифта - определение состояния лифта
   }



   trigger off            // Триггер - событие "отпущена"
   {
      accum 0 abort_if_bitset 0   // проверяет значение ячейки кнопки 1 - "нажата или отпущена?".
// Можно перевести как "Отклонить, если отпущена". Если значение в данном случае bitset (отпущена), то команды в trigger off не исполняются.

      accum 0 bitset 0      // Это делается для того, чтобы нельзя было несколько ряз нажимать кнопку 1.
      playsound sound/movers/switches/switch.wav   // запустить звук по адресу

      gotomarker bt1_off 10 wait   // двигаться к path-corner-у bt1_off
   }
}

button2               // имя script_mover кнопки 2
{
   spawn
   {
      accum 0 bitset 0      // Введём булеву переменную, она будет показывать можно нажать кнопку 2 или нет (переменная тоже внутренняя)
      wait 5         // Задержка в 5 милисекунд
      gotomarker bt2_off 10 wait   // двигаться к path-corner-у bt2_off
   }

   trigger on                  // Триггер - событие "нажата"
   {
      accum 0 abort_if_not_bitset 0      // проверяет значение ячейки кнопки 2 - "нажата или отпущена?".
// Можно перевести как "Отклонить, если не отпущена". Если значение в данном случае bitreset (нажата), то команды в trigger on не исполняются.

      accum 0 bitreset 0            // Это делается для того, чтобы нельзя было несколько ряз нажимать кнопку 2.
      playsound sound/movers/switches/switch.wav   // запустить звук по адресу
      gotomarker bt2_on 10 wait         // двигаться к path-corner-у bt2_on
      trigger lift toggle            // Обращение к триггеру лифта - определения состояния лифта
   }

   trigger off                  // Триггер - событие "отпущена"
   {
      accum 0 abort_if_bitset 0         // проверяет значение ячейки кнопки 2 - "нажата или отпущена?".
// Можно перевести как "Отклонить, если отпущена". Если значение в данном случае bitset (отпущена), то команды в trigger off не исполняются.

      accum 0 bitset 0            // Это делается для того, чтобы нельзя было несколько ряз нажимать кнопку 2.
      playsound sound/movers/switches/switch.wav   // запустить звук по адресу
      gotomarker bt2_off 10 wait         // двигаться к path-corner-у bt2_off
   }
}


Более подробно по булевым переменным http://wolfmap.ru/forum/viewtopic.php?p=13131#p13131

Ниже представлен архив - учебная карта lift.map, состоящая из всех вышеперечисленных объектов + ai + script.


У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Depro777 28 авг 2016 11:09, всего редактировалось 1 раз.
Заголовок сообщения: Re: [Мануалы] Операции с объектами, свет, эффекты
СообщениеДобавлено: 27 авг 2016 04:15
Thanks for the tutorial on elevators and accums, Depro. With my return to mapping, I may need these to refresh my memory. :D
_________________
My Website: http://mikebwolf.wix.com/ronboyproductions

My Blogspot site with reviews of recent Rtcw Sp maps: http://ronboyreviews.blogspot.com/

Mod DB: https://www.moddb.com/members/ronboy
Заголовок сообщения: Re: [Мануалы] Операции с объектами, свет, эффекты
СообщениеДобавлено: 08 сен 2020 17:18
Подскажите пожалуйста, как создать дверь такую как в Х-Лабораториях?
Заголовок сообщения: Re: [Мануалы] Операции с объектами, свет, эффекты
СообщениеДобавлено: 12 сен 2020 10:49
Вот вам декомпилированная карта Хлаборатории там их валом просто скопируете и себе прикрутите.


У вас нет необходимых прав для просмотра вложений в этом сообщении.
_________________
Realization of your dreams and fantasies in the GTKradiant.
Let's create together.
Заголовок сообщения: Открыть дверь с помощью ключа
СообщениеДобавлено: 01 май 2023 01:36
Всем привет. Как сделать так, чтобы дверь открывалась с помощью ключа? Где его найти? Спасибо
Заголовок сообщения: Re: Открыть дверь с помощью ключа
СообщениеДобавлено: 10 май 2023 00:19
Maniac писал(а):
Всем привет. Как сделать так, чтобы дверь открывалась с помощью ключа? Где его найти? Спасибо

viewtopic.php?p=27935#p27935
Показать сообщения за:  Поле сортировки  
Страница 6 из 6
[ Сообщений: 88 ]

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Кто сегодня был на конференции за последние 24 часа

Пользователи смотревшие этот форум за последние 24 часа: нет зарегистрированных пользователей и 53 гостей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения
Перейти:  

Работает на phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB