Форум - Скриптинг в GTA
27 Июля 2017, 02:02:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
   Начало   Помощь Поиск Календарь Войти Регистрация  
Страниц: 1 ... 6 7 [8] 9 10 ... 17   Вниз
  Печать  
Автор Тема: Помощь начинающим скриптерам  (Прочитано 99671 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Gadina
Пользователь
**
Офлайн Офлайн

Сообщений: 148


мастерство не пропьёш...


« Ответ #105 : 18 Июля 2008, 14:35:30 »

Вопрос второй:
Существует ли опкод подмены ID транспортным средствам?
Напрмер если я сел в машину с номером допустим ID 555 то можноли осуществить подмену настроек автомобиля с  другова ID? Например 401 или 405  пох не столь важно. Я вообще склонен считать, что такая возможность существует но вот есть ли она в варианте опкода.  Целующий
« Последнее редактирование: 18 Июля 2008, 14:39:42 от Gadina » Записан
Akmal
Пользователь
**
Офлайн Офлайн

Сообщений: 177


IronMan


« Ответ #106 : 21 Июля 2008, 20:30:56 »

Ох..наконец то вышел из бани..вот начал че та делать..и ПРОБЛЕМЫ Улыбающийся..
Код:
{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
03A4: name_thread 'JUMP'
04ED: load_animation "DAM_JUMP"
0001: wait 0 ms

:JUMP_29
0001: wait 0 ms
00D6: if and
04EE:   animation "DAM_JUMP" loaded
0AB0:   key_pressed 76
80DF:   not actor $PLAYER_ACTOR driving
004D: jump_if_false @JUMP_29
0615: define_AS_pack_begin $ACTSEQ
0605: actor -1 perform_animation_sequence "DAM_LAUNCH" IFP_file "DAM_JUMP" 4.0 loop 0 1 1 1 time -1 // versionA
0616: define_AS_pack_end $ACTSEQ
0618: assign_actor $PLAYER_ACTOR to_AS_pack $ACTSEQ
061B: remove_references_to_AS_pack $ACTSEQ
0001: wait 1500 ms
0002: jump @JUMP_29
почиму это не работает когда я прыгаю так в воду? скрипт отключается :cry:если просто прыгать то уходит под землю и еще как сделать чтоб действие (или анимация) действовала не при нажати на клавишу а при его удерживани? думаю не слишком много вопросов  Подмигивающий заранее спасибо=)
Записан
Gadina
Пользователь
**
Офлайн Офлайн

Сообщений: 148


мастерство не пропьёш...


« Ответ #107 : 22 Июля 2008, 15:12:02 »

0509: 17@ = distance_between_XY $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 and_XY 14@ 15@
Разжуй пожалуйста этот опкод.
$TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 Это что координаты Кого
14@ 15@  Это координаты Откуда или из чего

  
Записан
Akmal
Пользователь
**
Офлайн Офлайн

Сообщений: 177


IronMan


« Ответ #108 : 22 Июля 2008, 15:13:56 »

чёё?
Записан
Gadina
Пользователь
**
Офлайн Офлайн

Сообщений: 148


мастерство не пропьёш...


« Ответ #109 : 22 Июля 2008, 20:11:33 »

Yelmi Помоги! работает но иной раз вылетает при перемещении машин.
Смысл вот в чём. Садишься на гидру и летишь к точке там появятся 3 вертолёта которые нужно уничтожить.
Работает Но как то через раз.
Персонажи миссии:
0@ - Машина Игрока
1@ 2@ 3@ -Вертолёты которые нужно убить
7@ 8@ 9@ -Актёры пилоты вертолётов
13@ 14@ 15@ -Точки сравнения растояний между Гидрой и вертолётом  ;-X

Код:
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
Model.Load(#HYDRA)
038B: load_requested_models

:NONAME_9   //Ставлю Гидру возле дома сиджея чтобы Быстро проверить скрипт
wait 0
if and
   Player.Defined($PLAYER_CHAR)
  $ONMISSION == 0
   Model.Available(#HYDRA)
else_jump @NONAME_9
0@ = Car.Create(#HYDRA, 2491.422, -1669.651, 13.3359)
wait 1000
Model.Destroy(#HYDRA)
jump @NONAME_81

:NONAME_81 //Условие Для начала Миссии. Актёр находится на Гидре в условленной зоне.
wait 0     //Я поставил зону прямо возле дома сиджея потом перенесу.
if and                    
 0100:   actor $PLAYER_ACTOR in_sphere 2495.9976 -1672.7683 14.4302 radius 1000.0 1000.0 54.0 sphere 1 in_car
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
else_jump @NONAME_81
Car.RemoveReferences(0@)
wait 1000
03C0: 0@ = actor $PLAYER_ACTOR car
Model.Load(#UFOATAK)                  
Model.Load(#UFOATAK2)    
Model.Load(#UFOATAK3)
038B: load_requested_models
jump @NONAME_160

:NONAME_160          //Устанавливаем Актёров И Вертолёты по точкам
wait 0
if and
   Model.Available(#UFOATAK)
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
else_jump @NONAME_160
1@ = Car.Create(#UFOATAK, 1966.9822, -2386.3008, 13.5469)
2@ = Car.Create(#UFOATAK, 1974.1738, -2368.4277, 13.5469)
3@ = Car.Create(#UFOATAK, 1975.5345, -2341.5474, 13.5469)
wait 2000
0376: 7@ = create_random_actor_at 2671.345 -1308.516 76.0055  //Создаю случайного актёра
0376: 8@ = create_random_actor_at 2695.332 -1293.194 76.005
0376: 9@ = create_random_actor_at 2698.219 -1356.019 74.8979
wait 1000
05CB: AS_actor 7@ enter_car 1@ as_driver 1 ms  //Сажаю актёров по машинам
05CB: AS_actor 8@ enter_car 2@ as_driver 1 ms  
05CB: AS_actor 9@ enter_car 3@ as_driver 1 ms
084E: flying_vehicle 1@ use_primary_gun 1 //Ставлю Оружие на вертолёты, только там почемуто Одни ракеты Оказываются
084E: flying_vehicle 2@ use_primary_gun 1
084E: flying_vehicle 3@ use_primary_gun 1
0841: flying_vehicle 1@ use_secondary_gun 1
0841: flying_vehicle 2@ use_secondary_gun 1
0841: flying_vehicle 3@ use_secondary_gun 1
Model.Destroy(#UFOATAK)
Model.Destroy(#UFOATAK2)
Model.Destroy(#UFOATAK3)
marker.CreateAboveCar(27@,1@)
marker.CreateAboveCar(28@,2@)
marker.CreateAboveCar(29@,3@)
wait 5000
jump @GOTO_1

//=====Цикл проверок нахождения Актёров в вертолётах.
//Блок проверок номер 1

:GOTO_1   //Проверяем находится ли пилот Номер-1 в вертолёте
wait 0
if and
  Actor.Driving(7@)   //Является Водителем
  Actor.Driving($PLAYER_ACTOR)
  else_jump @GOTO_2
0407: store_coords_to 10@ 11@ 12@ from_car 0@ with_offset 0.0 0.0 0.0 //Записываю координаты
0407: store_coords_to 20@ 21@ 22@ from_car 1@ with_offset 0.0 0.0 0.0
wait 300
0509: 13@ = distance_between_XY 10@ 11@ and_XY 20@ 21@  //Делаю дистанцию между самолётами
jump @PUT_1

:GOTO_2 //Проверяем находится ли пилот Номер-2 в вертолёте
wait 0
if and
     Actor.Driving(8@)
  Actor.Driving($PLAYER_ACTOR)
  else_jump @GOTO_3
0407: store_coords_to 10@ 11@ 12@ from_car 0@ with_offset 0.0 0.0 0.0
0407: store_coords_to 20@ 21@ 22@ from_car 2@ with_offset 0.0 0.0 0.0
wait 300
0509: 14@ = distance_between_XY 10@ 11@ and_XY 20@ 21@
jump @PUT_2

:GOTO_3 //Проверяем находится ли пилот Номер-3 в вертолёте
wait 0
if and
   Actor.Driving(9@)
  Actor.Driving($PLAYER_ACTOR)
  else_jump @NONAME_810
0407: store_coords_to 10@ 11@ 12@ from_car 0@ with_offset 0.0 0.0 0.0
0407: store_coords_to 20@ 21@ 22@ from_car 3@ with_offset 0.0 0.0 0.0
wait 300
0509: 15@ = distance_between_XY 10@ 11@ and_XY 20@ 21@
jump @PUT_3

//--Блок Проверок номер 2--- Проверяю растояние между вертолётом и самолётом

:PUT_1  //Сравниваю растояние между Вертолётом и Гидрой
wait 0
if
  0020:   13@ > 500.0
else_jump @GOTO_2
04C4: store_coords_to 10@ 11@ 12@ from_actor $PLAYER_ACTOR with_offset 0.0 100.6 20.0
car.PutAt(1@, 10@, 11@, 12@)
0724: flying_vehicle 1@ follow_and_attack_player $PLAYER_CHAR radius 10.0
jump @NONAME_810

:PUT_2 //Сравниваю растояние между Вертолётом и Гидрой
wait 0
if
  0020:   14@ > 500.0
else_jump @GOTO_3
04C4: store_coords_to 10@ 11@ 12@ from_actor $PLAYER_ACTOR with_offset -50.0 100.6 20.0
car.PutAt(2@, 10@, 11@, 12@)
0724: flying_vehicle 2@ follow_and_attack_player $PLAYER_CHAR radius 10.0
jump @NONAME_810

:PUT_3 //Сравниваю растояние между Вертолётом и Гидрой
wait 0
if
  0020:   15@ > 500.0
else_jump @NONAME_810
04C4: store_coords_to 10@ 11@ 12@ from_actor $PLAYER_ACTOR with_offset 50.0 100.6 20.0
car.PutAt(3@, 10@, 11@, 12@)
0724: flying_vehicle 3@ follow_and_attack_player $PLAYER_CHAR radius 10.0
jump @NONAME_810

//-----Блок проверок номер-3 --

:NONAME_810 //Код провала миссии
wait 0
if or
   not Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
   Actor.Dead($PLAYER_ACTOR)
else_jump @NONAME_900
marker.Disable(27@)
marker.Disable(28@)
marker.Disable(29@)
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1  // ~r~MЃCCЃ• ’POBA‚EHA!
0394: play_music 2
Actor.DestroyInstantly(7@)
Actor.DestroyInstantly(8@)
Actor.DestroyInstantly(9@)
Car.RemoveReferences(1@)
Car.RemoveReferences(2@)
Car.RemoveReferences(3@)
wait 3000
jump @NONAME_81

:NONAME_900 //Код победы
wait 0
if and
   0119: car 1@ wrecked
   0119: car 2@ wrecked
   0119: car 3@ wrecked
  // Actor.Dead(7@)
  // Actor.Dead(8@)
  // Actor.Dead(9@)
else_jump @GOTO_1
marker.Disable(27@)
marker.Disable(28@)
marker.Disable(29@)
01E3: show_text_1number_styled GXT 'M_PASSD' number 0 time 5000 style 1  // MЃCCЃ• Bѓ’O‚HEHA!
0394: play_music 1
Actor.DestroyInstantly(7@)
Actor.DestroyInstantly(8@)
Actor.DestroyInstantly(9@)
car.Destroy(1@)
car.Destroy(2@)
car.Destroy(3@)
Car.RemoveReferences(1@)
Car.RemoveReferences(2@)
Car.RemoveReferences(3@)
wait 10000
jump @NONAME_81
« Последнее редактирование: 23 Июля 2008, 07:23:32 от Gadina » Записан
yelmi
Администратор
*****
Офлайн Офлайн

Сообщений: 321



« Ответ #110 : 22 Июля 2008, 23:38:34 »

Akmal,Каждая анимация имеет свое время выполнения, поэтому пока она выполняется, жми или не жми на клавишу эффект будет один и тот же.
Так будет смотреться лучше:
Код:
{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
03A4: name_thread 'JUMP'

:JUMP_29
0001: wait 0 ms
00D6: if and
0AB0:   key_pressed 75
80DF:   not actor $PLAYER_ACTOR driving
004D: jump_if_false @JUMP_29
04ED: load_animation "DAM_JUMP"

:JUMP_30
0001: wait 0 ms
if
04EE:   animation "DAM_JUMP" loaded
jf @JUMP_30
 
0615: define_AS_pack_begin 0@
0605: actor -1 perform_animation_sequence "DAM_LAUNCH" IFP_file "DAM_JUMP" 4.0 loop 0 1 1 0 time -1 // versionA
0616: define_AS_pack_end 0@
0618: assign_actor $PLAYER_ACTOR to_AS_pack 0@
061B: remove_references_to_AS_pack 0@
0001: wait 1600 ms
0812: AS_actor $PLAYER_ACTOR perform_animation "DAM_DIVE_LOOP" IFP_file "DAM_JUMP" 1000.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1 // versionB
0001: wait 2500 ms
04EF: release_animation "DAM_JUMP"
0687: clear_actor $PLAYER_ACTOR task
0002: jump @JUMP_29

Gadina,
0509: 17@ = distance_between_XY $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 and_XY 14@ 15@

$TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 – XY первого автомобиля/актера
14@ 15@ – XY второго автомобиля/актера

В переменную 17@ будет записана дистанция между ними.
Твой скрипт посмотрю завтра, сегодня уже голофа не фурычит.  ;-X
Записан
Akmal
Пользователь
**
Офлайн Офлайн

Сообщений: 177


IronMan


« Ответ #111 : 23 Июля 2008, 12:23:37 »

Спосибо Yelmi ;-X. Ты реально  Крутой
Записан
Gadina
Пользователь
**
Офлайн Офлайн

Сообщений: 148


мастерство не пропьёш...


« Ответ #112 : 23 Июля 2008, 13:12:39 »

Yelmi Насчёт проверок нахождения в нужной зоне.
Я делаю проверку что игрок находится в нужной Зоне и создаю Машины.

Код:
0100:   actor $PLAYER_ACTOR in_sphere 2469.2202 -1657.5549 13.3459 radius 40.0 40.0 4.0 sphere 0 in_car
 00FF:   actor $PLAYER_ACTOR sphere 0 in_sphere 2469.2202 -1657.5549 13.3459 radius 40.0 40.0 2.0 on_foot
Как сделать обратную проверку, что игрок покинул Зону и можно начинать проверку с начала.
Код:
{$CLEO .cs}

//-------------MAIN---------------
0000:nop
:NONAME_1
wait 0
if or
 0100:   actor $PLAYER_ACTOR in_sphere 2469.2202 -1657.5549 13.3459 radius 40.0 40.0 4.0 sphere 0 in_car
 00FF:   actor $PLAYER_ACTOR sphere 0 in_sphere 2469.2202 -1657.5549 13.3459 radius 40.0 40.0 2.0 on_foot
 else_jump @NONAME_1
Model.Load(#MOTOCICLE02)
Model.Load(#MOTOCICLE03)
038B: load_requested_models
jump @NONAME_72

:NONAME_72
wait 0
if and
   Player.Defined($PLAYER_CHAR)
  $ONMISSION == 0
   Model.Available(#MOTOCICLE02)
   Model.Available(#MOTOCICLE03)
else_jump @NONAME_72              
2@ = Car.Create(#MOTOCICLE02, 2469.2202, -1657.5549, 13.3459)
0407: create_coordinate 21@ 22@ 23@ from_car 2@ offset 2.0 0.0 0.0
3@ = Car.Create(#MOTOCICLE03, 21@, 22@, 23@)
Model.Destroy(#MOTOCICLE02)
Model.Destroy(#MOTOCICLE03)
wait 1000
Car.RemoveReferences(2@)
Car.RemoveReferences(3@)
jump @NONAME_3

:NONAME_3
wait 0
if and //Такое условие Хрен когда выполнится, Это не реально.
 0101:  not actor $PLAYER_ACTOR in_sphere 2469.2202 -1657.5549 13.3459 radius 40.0 40.0 4.0 sphere 0 stopped
 0100:  not actor $PLAYER_ACTOR in_sphere 2469.2202 -1657.5549 13.3459 radius 40.0 40.0 4.0 sphere 0 in_car
 00FF:  not actor $PLAYER_ACTOR sphere 0 in_sphere 2469.2202 -1657.5549 13.3459 radius 40.0 40.0 2.0 on_foot
 else_jump @NONAME_3
jump @NONAME_1
 Показывает язык
 ты только не думай что я совсем идиот. Я воттак ещё сделал, Но меня всёже интересует возможноли с Чекпоинтами
Код:
:NONAME_3
wait 0
actor.StorePos($PLAYER_ACTOR, 21@, 22@, 23@)
0509: 19@ = distance_between_XY 2469.2202 -1657.5549 and_XY 21@ 22@
if
 19@ >= 50.0
 else_jump @NONAME_3
jump @NONAME_1
« Последнее редактирование: 23 Июля 2008, 13:33:57 от Gadina » Записан
Akmal
Пользователь
**
Офлайн Офлайн

Сообщений: 177


IronMan


« Ответ #113 : 23 Июля 2008, 13:33:42 »

Извените если туплю..но как сделать чтоб анимация работала када нажал клаву и отключалась если нажать на него  еще раз?
Записан
yelmi
Администратор
*****
Офлайн Офлайн

Сообщений: 321



« Ответ #114 : 23 Июля 2008, 21:55:18 »

Akmal, 0687: clear_actor $PLAYER_ACTOR task
Gadina,
Код:
Model.Load(#UFOATAK) //Грузиш три модели                 
Model.Load(#UFOATAK2)     
Model.Load(#UFOATAK3)
038B: load_requested_models
jump @NONAME_160

:NONAME_160          //Устанавливаем Актёров И Вертолёты по точкам
wait 0
if and
   Model.Available(#UFOATAK) // проверяешь только одну
   Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
else_jump @NONAME_160


0020:   14@ > 500.0 Какой смысл ставить такое расстояние?
Вся карта СА 3000.0 на 3000.0.

00FF: // находится в нужной зоне
80FF: // не находится в нужной зоне
 0509:// записывает расстояние между двумя точками, без разницы как ты указываешь эти точки.
Записан
Gadina
Пользователь
**
Офлайн Офлайн

Сообщений: 148


мастерство не пропьёш...


« Ответ #115 : 23 Июля 2008, 22:20:33 »

Ну чёта нипамагло, да и использовал я только одну модель, потаму и проверял Одну.
Yelmi Слуш я чтото невсосал следующее, Опкод проверяет квадратную Зону?
:
Код:
NONAME_1217
wait 0
Actor.StorePos($PLAYER_ACTOR, 21@, 22@, 23@)
0509: 19@ = distance_between_XY 2051.685 -1904.022 and_XY 21@ 22@
if
  19@ > 200.0
else_jump @NONAME_1217
0394: play_music 1
wait 2000
jump @NONAME_2

У меня это растояние как то странно проверяется, ваапще НУ ни как не связанно с кругом.


Да ну нормальное растояние 500.  Я Звук ставил, чтобы знать когда начинается Загрузка моделей.
500 прямо для Аерапорта Отлично А лучше 1000.0.  Что правда чтоли 3000 растояние? А вместе с морем Скока? А?  Непонимающий
« Последнее редактирование: 23 Июля 2008, 22:33:37 от Gadina » Записан
yelmi
Администратор
*****
Офлайн Офлайн

Сообщений: 321



« Ответ #116 : 23 Июля 2008, 22:32:04 »

Расстояние между точкой А и точкой Б

ВСЕГО 3000.0х3000.0
Записан
Gadina
Пользователь
**
Офлайн Офлайн

Сообщений: 148


мастерство не пропьёш...


« Ответ #117 : 24 Июля 2008, 00:57:41 »

Yelmi просвети насчёт авиации и спецэфектов вообще неотображается что то не так делаю.
смотри
Код:
03C0: 0@ = actor $PLAYER_ACTOR car
0841: flying_vehicle 0@ use_secondary_gun 1
wait 1000
066C: 27@ = attach_particle "CEMENT" to_vehicle 0@ offset 0.0 -4.4 0.0 rotation 0.0 1.0 0.0 1
Ваапще не понимаю как Активировать Пулемёты для Вертолётов или самолётов, Почемуто стреляют исключительно ракетами. И ниодного спец эффекта так я и неувидел. Поясни поподробнее.
___________
   Рот на замке Yelmi вернись ужо, шо то ты зачастил, сопьёшься так



« Последнее редактирование: 24 Июля 2008, 20:06:27 от Gadina » Записан
yelmi
Администратор
*****
Офлайн Офлайн

Сообщений: 321



« Ответ #118 : 25 Июля 2008, 19:06:20 »

Попробуй 084E: flying_vehicle 1@ use_primary_gun 1

066C: 27@ = attach_particle "CEMENT" to_vehicle 0@ offset 0.0 -4.4 0.0 rotation 0.0 1.0 0.0 1
064C: make_particle 27@ visible
Записан
Gadina
Пользователь
**
Офлайн Офлайн

Сообщений: 148


мастерство не пропьёш...


« Ответ #119 : 27 Июля 2008, 06:29:35 »

Cлушай Yelmi А можно сделать какую либо часть модели не видимой? Был код который делал машины прозрачнми, видны были только водители,  можноли сделать опрделённую часть невидимой? Я делаю Гараж для Байков, сделал  Моднявую менюшку покраски двух цветов Тюинг заделал, но вот еслиб можно было поиграть с невидимостью тогдаб ваапще шедевр получился, настоящая мастерская Чоперов.
Записан
Страниц: 1 ... 6 7 [8] 9 10 ... 17   Вверх
  Печать  
 
Перейти в:  

Яндекс.Метрика Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!
Страница сгенерирована за 0.163 секунд. Запросов: 20.

Google visited last this page 22 Июня 2017, 13:44:16