Sanny Builder: Мои примеры №83 - Взрывы и полёты

preview_player
Показать описание
Возвращаемся к модификации Air & Land и смотрим три скрипта из неё.

Рекомендации по теме
Комментарии
Автор

Спасибо Вам за новое видео. Но cleo давно устарело, на lua писать гораздо удобнее.
Вот пример.
Скрипты для GTA San Andreas можно написать на cleo и lua.
В cleo У нас есть опкоды и лимит 32 локальных переменных.
В lua вместо опкодов, аналогом выступают функций, также все преимущества полноценного языка программирования. Отсутствие лимита локальных переменных, гибкость кода, многопоточность, таблицы, ОПП и многое другое.
Давайте напишем простой код на CLEO, который создает машину перед игроком.
{$CLEO}
0000:
:1
wait 0
if 0AB0: key_pressed 0x46 // f
jf @1
:2
wait 0
if 0AB0: key_pressed 0x46 // f
jf @2
:3
wait 0
0247: request_model #MESA
if 0248: model #MESA available
jf @3
04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset 0.0 10.0 0.0
00A5: 0@ = create_car #MESA at 1@ 2@ 3@
0249: release_model #MESA
jump @1
Теперь давайте напишем такой же код на lua
require "lib.moonloader"— модуль moonloader
function main()
while true do
wait(0)
if wasKeyPressed(VK_F) — клавиша F
then requestModel(500) — запрос модели
while isKeyDown(VK_F) do wait(0) end — ждать пока отпустим кнопку F
while not isModelAvailable(500) do wait(0) end — проверка на загруженность модели
x, y, z = getOffsetFromCharInWorldCoords(PLAYER_PED, 0.0, 10.0, 0.0) — 04C4: store_coords_to 1@ 2@ 3@ from_actor 215@ with_offset 1.0 3.0 1.0
mycar = createCar(500, x, y, z) — создать машину от 10 м от cj
— удалить модель и id из памяти
end end
end
Как видите код короче и понятнее, но есть один минус, нужно указывать номер модели. Это мы исправим путем подключения модуля.

require "lib.moonloader"— модуль moonloader
func = require 'module' — Модуль с функциями
local encoding = require 'encoding'
encoding.default = 'CP1251'
function main()
while true do
wait(0)
if wasKeyPressed(VK_F) — клавиша F
then while isKeyDown(VK_F) do wait(0) end — ждать пока отпустим кнопку F
x, y, z = getOffsetFromCharInWorldCoords(PLAYER_PED, 0.0, 10.0, 0.0) — 04C4: store_coords_to 1@ 2@ 3@ from_actor 215@ with_offset 1.0 3.0 1.0
car = func.createcar("MESA", x, y, z)
end end
end
Вот что у нас получилось. Пишем имя модели, и она создается в 10 метрах.

егорщербанов
Автор

а ты не знаешь как из гта са в юнити анимации перенести, просто там одна анимка танца угарная, просто мне реально щас анимки нужны для видоса с бомжами

ТанцевальщикчастушекНапохорона
Автор

Здравствуйте а че за эффект когда летишь на гидре? Как будто камера двигается

playgames
Автор

Каким опкодом можно очистить карту от "тумана войны"? Делаю карту(и 3д местность и 2д в радаре) с нуля, "туман войны" пока мешает. Или есть какой мод, или как найти это в main.scm от wmysterio c libertycity .ru? Просто в его main'e разведана вся карта сначала игры.

elmotoblock
Автор

Здравствуйте. Подскажи, пожалуйста. Возможно, ли в GTA SA с помощью КЛЕО скрипта сменить в игре текстуру? К примеру, есть объект созданий игрой, ну пусть это будит полицейский участок, расположенный в LS.
ID здания: 3976
Модель: policest02_lan
Модель берёт текстуру с файла lanbloke.txd который запакован в gta3.img
Название самой текстуры lasbevcit99
Можно ли, к примеру, в место этой текстуры lasbevcit99 заменить на другую с того же архива gta3.img или с папки КЛЕО заранее приготовленную текстуру ?

ДжонМнацаканян-чэ
Автор

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

говнокал
Автор

Помоги пожалуйста, у меня проблема с Sanny Builder, я когда написал скрипт ( в точности скопировал), сохраняю, кидаю в папку клео, захожу - у меня крашит. Захожу в одиночку через Sanny Builder, у меня вылетает. Скажи, что делать пожалуйста

twox
Автор

Будет ли рубрика отведенная Lua скриптингу?

graynell
Автор

у меня саня выдает ошибку "Неизвестная команда player.Defined(0)."

Konkomadero