Урок первый - Worldbuilder: простейшие моды и их сохранение
Итак, давайте начнём.
Пожалуй, сначала мы запустим торибаш и зайдем в одиночную игру.
Теперь нам нужно загрузить ворлдбилдер, введите "/ls worldbuilder.lua". Если скрипт включился, земля станет серой.
Палитры
Перед тем, как мы создадим какой-либо объект, мы должны открыть палитры. Нажмите "C", "F" и "M".
Вы увидите это в левой части своего экрана:
Флаги (flag) будут менять свойства объекта, а у нас объектов сейчас нет, так что флаги не используются (посмотрите на страницу флагов внизу).
Масса (mass) изменяет массу выбранного объекта. Минимальная масса, которую вы можете задать для объекта немного велика, но пока нас это не волнует.
Палитра цветов меняет цвет объекта, белый переключатель отвечает за прозрачность.
Страница функций флагов (flag)
Static: Делает объект статичным. (он не двигается) Instagib: Объект расчленяет всё, к чему прикоснётся. NoGrab: Объект не может быть схвачен
Ты можешь соединить все эти своиства и получится что-то типа нехватаемого куба смерти, повисшего в воздухе.
Управление
Создание обьекта осуществляется с помощью клавиши "*".
Контроль ворлдбилдера осуществляется через num pad, так что когда я скажу нажать семь - не тыкайте эту кнопку над u.
Чтобы двигать объекты влево-вправо, нажимайте 4 и 6, вверх-вниз на 7 и 1, вперёд назад - 2 и 8.
Чтобы сделать объект большим - зажмите ноль, а потом нажмите 4 или 6 чтобы уменьшить\увеличить его по сторонам, 1 или 7 чтобы уменьшить\увеличить его высоту, 2 или 8 чтобы увеличить\уменьшить его длину.
Чтобы крутить объект зажмите "." , потом нажимайте 4 и 6 чтобы вращать по сторонам или 7 и 1 чтобы вращать вверх-вниз.
Нажмите 5, чтобы изменить тип предмета. Когда вы нажмёте пять, ваш куб станет сферой.
Нажав caps lock, вы сможете более детально контролировать перемещение обьектов и изменение их размера с поворотом. Иногда он не срабатывает, так что, возможно, вам придётся немного повозиться.
Альтернативное управление
Если вы имеете клавиатуру без нампада или же ноутбук, то управление будет осуществляться следующим образом:
Прежде всего, вам нужно будет нажать "K" (английскую) для переключения в альтернативный режим управления.
Для создания обьекта используйте клавишу "~".
Клавиши 2, 4, 6 и 8 заменятся на X, A, D и W.
Значения клавиш 1 и 7 примут Z и Q.
Вместо 0 нажимайте E, вместо 5 - S. Знак "." же заменяется на R.
Создание и изменение объектов
Нажмите "*" (Альт. "~") чтобы сделать новый объект; когда вы создадите его, в правой части экрана откроется панель предметов.
Поменяйте размер, цвет, наклон, и поставьте его туда, куда хотите.
Ну, один объект - не весело, давайте сделаем ещё один, создайте дупликат нажав на "Р"
Ставите его куда хотите, меняете цвет, размер, наклон, измените хоть форму, если хотите.
Вот что получилось у меня:
Запомните, что ворлдбилдер показывает лишь голограммы, игрок не может с ним взаимодействовать, и объекты становятся абстрактными.
Сохранение и тестирование
Пришло время сохранить мод. Торжественно тыкни "enter" (Альт. "2") дважды и введи его название.
Ты должен ввести название в белую полоску посреди экрана, а не в чат торибаша.
Ты должен сохранить свой мод с .tbm на конце. К примеру, можно назвать его tutorialmod.tbm.
Нажмите "enter" (Альт. "2") ещё раз, чтобы сохранить. Как только мод сохранится, он появится в папке со скриптом (torbiash/data/script); чтобы его испробовать, достань его из папки со скриптами и положи в папку с модами (toribash\data\mods).
Завершение
Как только мод попал в папку с модами, вы можете начать игру, но сначала выгрузите ворлбилдер. (/ls unloadscripts.lua)
Поиграй в свой мод. Вот что получилось у меня (поцелуй не пропустила цензура):
Перевод: Markmad
Урок второй - Редактирование с помощью блокнота
Начнем!
Запустите Торибаш и загрузите worldbuilder, откройте 3 палитры, нажав C, M, F.
Затем создайте новый объект (*).
Сделайте его каким хотите.
Я сделал фиолетовую доску, находящуюся под Юком на высоте 300.
Затем создайте еще один объект, нажав P. Я сделал его цилиндром и разместил под первым объектом так, как показано на изображении.
Вы можете создавать до 12 объектов, но я закончил и сохраняю мод.
Редактирование с помощью блокнота
Мод находится в папке со скриптами, перенесите его в папку с модами и откройте с помощью блокнота. Мой выглядит так:
Mod code:
# Environment exported by WorldBuilder
######################################
env_obj 1
shape box
pos 1 0.9375 1.6875
color 0.6 -0.1 0.5 1
rot 0 0 0
sides 1.8125 0.75 0.125
material steel
mass 0.2
flag 0
#END 1
env_obj 2
shape cylinder
pos 1 0.9375 1.5
color 0.6 -0.1 0.5 1
rot 90 0 0
sides 0.0625 1.125 0.5625
material steel
mass 0.1
flag 24
#END 2
Я не хочу, чтобы второй объект (цилиндр) был видимым во время игры, так что после Ћflag 24Л и перед Ћ#END 2Л я введу Ћvisible 0Л. Таким образом, код будет выглядеть так:
Mod code:
material steel
mass 0.1
flag 24
visible 0
#END 2
После этого цилиндр не виден в игре.
Теперь я хочу, чтобы мои ноги и руки были более тяжелыми, для этого я использую функцию изменения плотности.
Под основным кодом нужно ввести следующее, чтобы сделать руки и ноги более тяжелыми:
Mod code:
body l_foot
density 1
body r_foot
density 1
body l_hand
density 1
body r_hand
density 1
Ћ30Л делает ваши конечности неподъемными, а Ћ0,5Л - нормальными.
Это работает для каждой части тела, нужно лишь ввести название, используя тот же формат Ћсторона тела_названиеЛ
После введения названия в этом формате. Все что вы напишите ниже будет менять его свойства. Но мы углубимся в это в следующий раз.
Также можно сделать так, что мод будет автоматически настраивать условия игры при его открытии, для этого между Ћ#####Л и Ћobj 1Л впишите следующее:
Mod code:
gamerule
ed 200
eh 180
gravity 0 0 -30
dojosize 1
Вы можете использовать сокращения, как ed для engage distance или dt для dismember threshold и т.д.
Вот так выглядит финальная версия мода в игре:
Основные функции блокнотного редактирования
gamerule: после него пишутся настраиваемые условия и правила.
visible 0: делает объекты невидимыми.
(body side_part): информация, написанная после него будет изменять функции указанной части тела.
density: отвечает за вес части тела.
Перевод: Ishimura
Урок третий - Соединения и тяга
Итак, приступим.
Для начала запустим Toribash и откроем Worldbuilder.
Сегодня мы рассмотрим еще несколько дополнительных функций блокнота, включая соединения объектов окружения.
Я собираюсь сделать щит для моего персонажа с использованием основ Worldbuilder’а из первого урока; я буду использовать 3 объекта, а затем их скреплю с помощью соединений в блокноте.
Вот как это будет выглядеть:
Итак, этот щит должен быть использован, поэтому я поставлю несколько Ћшаров смертиЛ напротив.
Вот как это выглядит:
Без тяги эти шары будут просто падать, но её мы добавим позже.
Отлично, я закончил с Worldbuilder'ом, теперь сохраняю получившееся и затем открою мод в блокноте.
Базовое редактирование в блокноте
Я буду использовать функцию ЋgameruleЛ для установки персонажа в правильное положение, чтобы он мог держать щит. Gamerule code:
engagedistance 1000
Хорошо, теперь мне необходимо снизить массу щита и сфер, я снизил массу щита до .005, и шаров до .05
Для этого я добавил отскок шаров от моего щита, введя это в разделе object3: Shield code:
env_obj 3
shape box
pos -0.625 4.875 2.25
color 0.8 0.8 0.8 1
rot 0 0 0
sides 0.125 0.25 0.3125
material steel
mass 0.0005
flag 0
bounce 10
#END 3
Я могу добавить количество отскоков в большую или меньшую сторону в зависимости от ситуации.
Хорошо, я закончил с основными настройками в блокноте, время для нового материала.
Редактирование соединений объектов
Хорошо, сейчас мой щит – это три отдельных объекта, для того, чтобы их скрепить, мне нужно использовать соединения.
В нижней части мода, где ничего не написано, нужно написать следующее: Environment object code:
env_obj_joint 1 1 2
Данная строчка будет значить следующее:
env_obj_joint - cоединение объектов окружения
Первое значение (в нашем случае "1" - номер соединения
Следующие два значения ("1" и "2") - номера двух объектов, которые вы хотите соединить.
Хорошо, я соединил объекты 1 и 2, и мне все еще нужно соединить объект 3 со щитом ,поэтому я ввожу это: Environment object code:
env_obj_joint 2 2 3
Этой строкой мы по аналогии соединяем второй и третий объект.
Итак, теперь мы имеем следующее: Environment objects code:
env_obj_joint 1 1 2
env_obj_joint 2 2 3
Однако, сейчас связь из 2 объектов слаба, поэтому сейчас я укажу, как можно усилить её.
Так как объект 2 является серединой моего щита, я просто придам нашим соединениям его координаты. Environment objects code:
env_obj_joint 1 1 2
pos -0.5625 4.875 2.25
env_obj_joint 2 2 3
pos -0.5625 4.875 2.25
Есть множество других опций, которые можно поставить на них, такие как диапазон движения, вращение, и видимость. Но об этом мы поговорим не сейчас.
Итак, работа с соединениями завершена, теперь надо добавить тягу шарам так, чтобы они летели на нас.
Добавление тяги на объекты
Окей, сейчас наши шары просто падают на пол, но нам надо сделать их летящими на нас с помощью созданной тяги.
Чтобы это сделать, напишите следующее: Thrust code:
env_obj 8
shape sphere
pos 0.6875 -7.375 4.375
color -0.1 -0.1 -0.1 1
rot 0 0 0
sides 0.375 0.1875 0.3125
material steel
mass 0.05
flag 6
thrust 1 0 0 0
#END 8
Как вы могли понять, thrust отвечает за тягу. Первое значение данного параметра отвечает за частоту, последующие - за направленность тяги.
Таким образом, выставив 1 в начале, мы получим постоянную тягу. Но также нам нужно направление. Для примера вы можете выставить следующее: Thrust code:
thrust 1 0 .3 .4
Итак, мы имеем постоянную тягу, без сил на сторону х, положительная сила .3 в стороне y, и положительная сила .4 в стороне z - это значит, что шар будет стремиться к нашему игроку, забирая немного вверх.
Вы можете использовать любые числа, даже отрицательные. Но, к примеру, 5 – это очень быстро, поэтому обычно используются десятичные дроби для достижения нормальной скорости.
Я добавил нормальное значение тяги для каждого объекта, сейчас мячи стремятся к игроку и мне приходится защищаться от них своим щитом.
Вот как мод выглядит сейчас:
Ну и, собственно, сам код мода:
Мод
Mod code:
# Environment exported by WorldBuilder
######################################
gamerule
engagedistance 1000
env_obj 1
shape box
pos -0.5 4.875 2.25
color 0.6 0.4 1.3877787807814e-016 1
rot 0 0 0
sides 0.0625 0.75 0.9375
material steel
mass 0.0005
flag 0
#END 1
env_obj 2
shape box
pos -0.5625 4.875 2.25
color 0.4 0.4 0.4 1
rot 0 0 0
sides 0.0625 0.5625 0.75
material steel
mass 0.0005
flag 0
#END 2
env_obj 3
shape box
pos -0.625 4.875 2.25
color 0.8 0.8 0.8 1
rot 0 0 0
sides 0.125 0.25 0.3125
material steel
mass 0.0005
flag 0
bounce 10
#END 3
env_obj 4
shape sphere
pos 1.0625 -1.3125 2.75
color -0.1 -0.1 -0.1 1
rot 0 0 0
sides 0.375 0.1875 0.3125
material steel
mass 0.05
flag 6
thrust 1 0 .7 .4
#END 4
env_obj 5
shape sphere
pos 1.5625 -3.75 0.375
color -0.1 -0.1 -0.1 1
rot 0 0 0
sides 0.375 0.1875 0.3125
material steel
mass 0.05
flag 6
thrust 1 0 .6 .4
#END 5
env_obj 6
shape sphere
pos 1.625 1.25 4.625
color -0.1 -0.1 -0.1 1
rot 0 0 0
sides 0.375 0.1875 0.3125
material steel
mass 0.05
flag 6
thrust 1 0 .5 .4
#END 6
env_obj 7
shape sphere
pos 1 -4.25 4.125
color -0.1 -0.1 -0.1 1
rot 0 0 0
sides 0.375 0.1875 0.3125
material steel
mass 0.05
flag 6
thrust 1 0 .4 .4
#END 7
env_obj 8
shape sphere
pos 0.6875 -7.375 4.375
color -0.1 -0.1 -0.1 1
rot 0 0 0
sides 0.375 0.1875 0.3125
material steel
mass 0.05
flag 6
thrust 1 0 .3 .4
#END 8
env_obj_joint 1 1 2
pos -0.5625 4.875 2.25
env_obj_joint 2 2 3
pos -0.5625 4.875 2.25
Таким образом, этот туториал рассказывает, как соединять объекты вместе, как наложить силы на объект и направить эти силы в любом направлении.
Это полезно для создания модов с горками, оружием, автомобилями, и просто в чем-либо другом.
Перевод: Laninja
----
Урок пятый - Оружие
В этом уроке вы узнаете, как делать различные оружия в Торибаше
Прочитайте предыдущие туториалы, прежде чем приступить к этому!
Пятый урок, Оружие!
Кинжал: Легкий
Начнем
Хорошо, сначала мы должны сделать стандартный кинжал в Worldbuilder’e
У нас есть позиции “x” и “y” с как можно меньшим отрицательным значением (Стандартно оно положительное) и лезвие, разрубающее при первом попадании.
Сейчас мы должны сохранить это и открыть в блокноте, чтобы внести небольшие изменения.
Редактирование в блокноте
По умолчанию кинжал имеет массу “.1”, Мы уменьшим её значение до .001
dagger code:
material steel
mass 0.001
Такая масса подойдет для нашего кинжала, но сейчас мы отредактируем стороны x и y лезвия, чтобы сделаеть его более острым.
dagger code:
rot 0 0 0
sides 0.0325 0.0125 0.25
material steel
Итак, масса и размер установлены, теперь соединим оба объекта вместе, используя следующий способ:
В Worldbuilder’е мы сделаем другой объект - маленькую сферу и поместим ее между двумя частями кинжала, скопировав его для нашего env_obj_joint’а.
dagger code:
env_obj_joint 1 1 2
pos -.4375 .375 1.9375
На этом редактирование в блокноте завершено, мод готов к проверке!
Завершение
Теперь осталось только перенести мод в соответствующую папку и наслаждаться проделанной работой.
Кистень (шар на цепи):Средне
Начнем
Приступим к немного более сложному и веселому оружию - кистень.
Откроем worldbuilder и поместим объекты вниз. У нас есть рукоять, цепь из небольших параллелепипедов и сфера:
Теперь приступим к редактированию в блокноте. Сохраните ваш мод, а затем откройте его в блокноте, при этом worldbuilder оставьте открытым.
Редактирование в блокноте
Сначала мы уменьшим массу объектов до .0005, чтобы было легко раскачать булаву.
Самое главное, что мы должны сделать - соединить объекты вместе, Используем ту же технику, что и на кинжале.
Поместим небольшой объект между соединениями, а затем скопируем его координаты.
Затем запишем объект, соединяющий джоинты и его позицию:
knobstick code:
env_obj_joint 1 1 2
pos -.375 1.375 2.4375
Этот объект будет соединять рукоять с цепью, теперь сделаем то же самое для других соединений (звенья к звеньям, цепь к шару):
chain code:
env_obj_joint 1 1 2
pos -.375 1.375 2.4375
env_obj_joint 2 2 3
pos -.375 1.375 2.8125
env_obj_joint 3 3 4
pos -.375 1.375 3.125
и т.д.
Чтобы создать эффект цепи, мы должны создать для цепи диапазон движения.
2 -2 подойдет, на 5 -5 не будет ограничений (цепь будет поворачиваться на 360А)
Наша пила закончена, можно сделать ноги более устойчивыми для большего контроля над Тори:
Используя информацию из этого урока, вы можете сделать не менее опасные устройства. Удачи!
Перевод: Shellias
Урок шестой – Изменение тела
Этот урок ознакомит вас с изменением тела Тори, в основном, как сделать его сильнее/слабее.
Введение
Изменение тела Тори такое же, как и изменение объектов; только вместо объектов вы модифицируете свои куклы.
Изменение тела использует тот же самый ЋскобочныйЛ способ изменения, в котором вы сначала указываете, какой объект вы хотите модифицировать, а потом пишете информацию под названием объекта:
Body modifications code:
body r_hand
size x y z
density x
body l_hand
size x y z
density x
И так же для всех других объектов.
Тело имеет два типа модификации: модификация суставов (далее – джоинты) Тори, и модификация его тела (части, на которые вы не можете кликнуть).
Чтобы модифицировать часть тела, вам нужно написать:
Body modification code:
body [название части тела], (l_hand, head, r_foot, etc.)
У разных частей разные характеристики, которые можно модифицировать, вот их список:
Для частей тела:
Sides: Размер части тела
Pos: Позиция части тела
Density: Вес объекта
Shape: Sphere (круглая), cylinder (цилиндрическая), или box (прямоугольная)
Rot: На сколько объект повернут
Для джоинтов
Radius: Размер джоинта
Pos: Позиция джоинта
Velocity: Максимальная скорость, которую может достигнуть джоинт (далее – давление)
Strength: Чем больше число, тем быстрее джоинт достигнет своей максимальной скорости (далее – сила)
Range: Область действия джоинта
Axis: Ось, по которой двигается джоинт
Для джоинтов также есть ЋflagsЛ, но в этом гайде они нам не понадобятся.
Важно: Чем меньше вес части, тем быстрее она будет двигаться, но она также будет наносить меньше урона, более тяжелый объект будет наносить больше урона, пока джоинт имеет возможность двигаться.
Итак, сегодня мы должны будем сделать нашего Тори таким, чтобы он мог легко поломать юку все части его тела.
Сначала мы должны открыть чистый файл с расширением .tbm (вы можете открыть файл с информацией, удалить ее и потом переименовать его).
Так как Тори у нас под номером 0, мы будем писать player 0 вверху; все что внизу этой надписи, будет иметь отношение только к Тори.
Я начну с верхней части его тела, изменяя характеристики его туловища и рук.
Верхняя часть тела
Сначала я сделаю руки тяжелее для нанесения большего урона (по умолчанию вес 0.25):
Hands code:
player 0
body r_hand
density 0.5
body l_hand
density 0.5
Мои руки теперь могут нанести юку больше урона, но я хочу, чтобы они двигались немного быстрее, поэтому я изменю давление джоинтов лопаток.
Pecs code:
joint r_pecs
strength 3.0
velocity 30.0
joint l_pecs
strength 3.0
velocity 30.0
Я удвоил вес рук, поэтому я удвоил и давление лопаток, но я еще хочу, чтобы мои лопатки двигались эффективнее, поэтому я увеличу область их действия.
Pecs code:
joint r_pecs
strength 3.0
velocity 30.0
range 2 -0.7
joint l_pecs
strength 3.0
velocity 30.0
range 2 -0.7
Стандартная область действия была 1.5 -.7, теперь мои лопатки могут двигаться вперед быстрее.
Последний джоинт рук за который я могу волноваться – это локти, потому что у локтей уже было хорошее давление, поэтому я просто изменю силу, чтобы они могли двигаться быстрее.
Elbows code:
joint l_elbow
strength 4
velocity 40.0
joint r_elbow
strength 4
velocity 40.0
Теперь я должен изменить характеристики груди, чтобы я мог двигать мои руки еще быстрее. После этого можно считать, что мы закончили работу с верхней частью тела Тори.
Chest code:
joint chest
strength 6.0
velocity 70.0
Нижняя часть тела
Так как вся сила сосредоточена на верхней части тела, мои ноги не могут стоять на земле твердо, поэтому я увеличу вес ступней.
Feet code:
body r_foot
density 2
body l_foot
density 2
На этом мы закончим. Вот что у вас должно получиться в конце:
Финальная версия
Mod code:
player 0
body r_hand
density 0.5
body l_hand
density 0.5
joint r_pecs
strength 3.0
velocity 30.0
range 1.8 -0.7
joint l_pecs
strength 3.0
velocity 30.0
range 1.8 -0.7
joint l_elbow
strength 4
velocity 40.0
joint r_elbow
strength 4
velocity 40.0
joint chest
strength 6.0
velocity 70.0
body r_foot
density 2
body l_foot
density 2
Если у вас все правильно, то вы можете создать свой мод, используя полученный опыт. Например, вы можете написать мод с супер быстрым тори/юком, с супер слабым тори/юком и т.д. и т.п.