Урок по cleo №4

297 0 0
Добавил
Итак, начнем 

Теория: 

-С помощью определеных опкодов можно вызвать save меню 
-С помощью определеных опкодов можно сделать телепортацию и смену интерьера игроку 
-pawnokit.com/Ru/Interiors- тут можно найти id всех интерьеров(Мне не платили) 

Конец теории 

Практика: 
Эм... ну что же начнем 

Значит создаем новый скрипт-файл(ctrl+n) 
Жмем F6(компиляция, да и кстати после завершения работы надо делать компиляцию, что бы получить готовый файл иначе игра не распознает его) 

Путь сохранения (путь к GTA)/cleo// 
В графе название пишим "MyFirstHouse" 

Далее 

В скрипте пишим 
{$cleo .формат}(формат смотри в первом уроке) 
0000: 
thread 'MyFirstHouse' 
end_thread 


После thread 'MyFirstHouse' 
0518: 1@ = create_available_asset_pickup 'PROP_3' at 2498.5393 -1642.2543 14.1131 price 120000 // Пикап покупки 
Marker.CreateIconWithoutSphere(2@,31,2498.539, -1642.254, 0.0) 

Далее пишим условие 
if 
$MyFirstHouseBuy == 0 
jf @Buy1 

Сразу же после пишим :NotBuy1 
И :Buy1 
После :NotBuy1 
Пишим условие 
if and 
0214: pickup 1@ picked_up 
jf @NotBuy1 


Дальше сетим поворот и координаты игроку и ещё камеру 
Actor.PutAt($PLAYER_ACTOR,2498.4053, -1645.4764, 13.537) 
Actor.Angle($PLAYER_ACTOR) = 180.0 
Camera.SetBehindPlayer() 
$MyFirstHouseBuy = 1 


Потом уничтожаем на всякий случай прошлый пикап и на место него ставим другой пикап входа/выхода и убераем метку 

Pickup.Destroy(1@) 
0A40: 1@ = create_entrance_marker_at 2498.539 -1642.254 14.1131 color 14 
Marker.Disable(2@) 


Потом условие 
:1 
wait 0 
if 
00ED: actor $PLAYER_ACTOR sphere 0 near_point 2498.539 -1642.254 radius 1.0 1.0 on_foot 
jf @1 


Ииииииии... 
Телепортируем игрока, разворот ставим, камеру, интерьер, присоединяем игрока к интерьеру.... дальше делаем функционал сами 
!!!ПОСЛЕ ЗАВЕРШЕНИЯ РАБОТЫ КОМПИЛИРУЙТЕ СКРИПТ!!! 
!!!КООРДИНАТЫ ТУТ ТОЛЬКО ДЛЯ ПРИМЕРА! СТАВЬТЕ СВОИ И РАЗВОРОТ И ИНТЕРЬЕР ТОЖЕ СВОЙ!!! 
Actor.PutAt($PLAYER_ACTOR,-42.5258, 1408.2278, 1084.4297) 
Actor.Angle($PLAYER_ACTOR) = 0.0 
Camera.SetBehindPlayer() 
04BB: select_interior 8 
0860: link_actor $PLAYER_ACTOR to_interior 8 


После :Buy1 

0A40: 1@ = create_entrance_marker_at 2498.539 -1642.254 14.1131 color 14 
:2 
wait 0 
if 
00ED: actor $PLAYER_ACTOR sphere 0 near_point 2498.539 -1642.254 radius 1.0 1.0 on_foot 
jf @2 
Actor.PutAt($PLAYER_ACTOR,-42.5258, 1408.2278, 1084.4297) 
Actor.Angle($PLAYER_ACTOR) = 0.0 
Camera.SetBehindPlayer() 
04BB: select_interior 8 
0860: link_actor $PLAYER_ACTOR to_interior 8 

И тут тоже сами функционал... 
!!!ПОСЛЕ ЗАВЕРШЕНИЯ РАБОТЫ КОМПИЛИРУЙТЕ СКРИПТ!!! 
!!!КООРДИНАТЫ ТУТ ТОЛЬКО ДЛЯ ПРИМЕРА! СТАВЬТЕ СВОИ И РАЗВОРОТ И ИНТЕРЬЕР ТОЖЕ СВОЙ!!! 

Практика кончилась теперь бонус 

3@ = Pickup.Create(модель,коорд_x,коорд_y,коорд_z) 
:228 
wait 0 
if 
Pickup.picked_up 
jf @228 
03D8: show_save_screen 


!!!03D8-ой опкод показывает save меню!!! 

Итог: 

-Мы умеем телепортровать игрока 
-Мы умеем устанавлить игроку угол разворота 
-Менять интерьер 
-Присоединять актера к интерьеру 
-Делать сохранение 
-Устанавливать камеру за игроком 
-Делать проверки на поднятие пикапа 
-Делать маркеры входа/выхода 
-Создавать маркер для покупки имущества(не только дома, но и бизнесы можно сделать через это) 
-Все то что мы умели делать в прошлом уроке 

В следущем уроке: 

-Мы разберем объекты 
-Мы разберем анимации 
-Мы разберем активации на зоны 

Да и кстати, большое тебе спасибо, что прочитал это, потому что на этот мануал я убил один час своего сна :( 
КОНЕЦ






Реклама

Войдите на мсач