Автор Тема: Помощь с CLEO  (Прочитано 47613 раз)

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Re: Помощь с CLEO
« Ответ #180 : Апрель 17, 2019, 10:02:19 pm »
Тогда я не понял вопрос

Оффлайн xanser

  • Главный Модератор
  • Постоялец
  • *****
  • Сообщений: 598
  • Репутация: +92/-0
  • Есть такая профессия - на работе сидеть
    • Просмотр профиля
Re: Помощь с CLEO
« Ответ #181 : Апрель 18, 2019, 05:39:54 am »
При телепортации машины происходит резкое изменение ее координат. Игра похоже вычисляет по ним огромный вектор ускорения, что может заколбасить машину. Поэтому я обнуляю эти вектора при телепорте, может в этом вопрос. Ну и надо на клео это переписать

Код: ASM
  1. 00000000 CPhysical       struc ; (sizeof=0x120, mappedto_13)
  2. .....
  3. 00000070 m_vecMoveSpeed  CVector
  4. 0000007C m_vTurnForce    CVector
  5.  

Оффлайн daniel_360

  • Прохожий
  • *
  • Сообщений: 100
  • Репутация: +4/-0
    • daniel360465
    • Просмотр профиля
Re: Помощь с CLEO
« Ответ #182 : Апрель 18, 2019, 08:11:11 pm »
Я вот про что спрашивал https://yadi.sk/i/x0dYdWi_rSSRUA

Оффлайн daniel_360

  • Прохожий
  • *
  • Сообщений: 100
  • Репутация: +4/-0
    • daniel360465
    • Просмотр профиля
Re: Помощь с CLEO
« Ответ #183 : Апрель 22, 2019, 05:44:47 pm »
Здравствуйте, хотел узнать, как убрать людей в определённой зоне, мне вот нужно, чтобы в киностудии не спавнились люди

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Re: Помощь с CLEO
« Ответ #184 : Апрель 22, 2019, 06:10:54 pm »
Я вот про что спрашивал https://yadi.sk/i/x0dYdWi_rSSRUA
Так я тебе и написал - поверни её:
Код: Text
  1. 0174: 1@ = car 0@ z_angle // записать поворот авто перед телепортацией
  2. 0175: set_car 0@ z_angle_to 1@ // установить поворот авто после телепортации

Здравствуйте, хотел узнать, как убрать людей в определённой зоне, мне вот нужно, чтобы в киностудии не спавнились люди
Если на постоянке - то редактированием data\maps\paths.ipl через специальные редакторы путей, если временно - то опкодом:
022B: create_forbidden_for_peds_cube x1 6.0 y1 15.0 z1 5.0 x2 12.0 y2 20.0 z2 15.0 - он временно сделает неактивными пути в заданном учатке
« Последнее редактирование: Апрель 22, 2019, 06:19:47 pm от Shagg_E »

Оффлайн daniel_360

  • Прохожий
  • *
  • Сообщений: 100
  • Репутация: +4/-0
    • daniel360465
    • Просмотр профиля
Re: Помощь с CLEO
« Ответ #185 : Апрель 22, 2019, 08:33:03 pm »
А как в paths.ipl найти нужное место?

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Re: Помощь с CLEO
« Ответ #186 : Апрель 22, 2019, 10:43:01 pm »
С помощью этой проги... или этой.
Еще пути вроде можно редачить в 3dsmax, но я не пробовал.

Оффлайн daniel_360

  • Прохожий
  • *
  • Сообщений: 100
  • Репутация: +4/-0
    • daniel360465
    • Просмотр профиля
Re: Помощь с CLEO
« Ответ #187 : Апрель 24, 2019, 05:54:13 pm »
Попробовал, не получается, зомби всё равно спавнятся в студии

:Cube
thread 'Cube'

:Cube_1
wait 0
0395: clear_area 1 at 10.1629 963.4605 range 9.8996 1.0
022A: remove_forbidden_for_peds_cube -112.495 920.349 0.0 9.705 1025.694 30.0
jump @Cube_1

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Re: Помощь с CLEO
« Ответ #188 : Апрель 24, 2019, 06:07:42 pm »
Ты спрашивал не о зомби, а о людях(задавай вопрос точнее). С людьми это работает. А тот скрипт зомби, который ты подразумеваешь, спавнит даже на неактивных путях. Поэтому в этом случае поможет лишь физическое удаление путей из paths.ipl

Оффлайн daniel_360

  • Прохожий
  • *
  • Сообщений: 100
  • Репутация: +4/-0
    • daniel360465
    • Просмотр профиля
Re: Помощь с CLEO
« Ответ #189 : Май 04, 2019, 07:50:44 pm »
Здравствуйте, хотел спросить, как правильно использовать опкод 00F5:   player $PLAYER_CHAR 0 -926.8099 -327.8378 13.3894 radius 4.0 4.0 4.0, просто когда я поставил координаты и выбрал радиус, бывает, что люди, спавнятся где-то в другом месте, а не в нужном

:Surv1
thread 'Surv1'

:Surv1_1
wait 0
if and
Player.Defined(0)
not wasted_or_busted
00F5:   player $PLAYER_CHAR 0 -150.3148 951.5107 14.4061 radius 200.0 200.0 200.0
jf @Surv1_1

:Surv1_2
Model.Load(#ARMY)
Model.Load(#MALE01)
Model.Load(#M4)
Model.Load(#SNIPER)
038B: load_requested_models

:Surv1_3
wait 0
if and
Model.Available(#ARMY)
Model.Available(#MALE01)
Model.Available(#M4)
Model.Available(#SNIPER)
jf @Surv1_3
Actor.Create($SUR1, CivMale, #ARMY, 2.6261, 956.7853, 11.1667)
Actor.Angle($SUR1) = 89.2999
Actor.Create($SUR2, CivMale, #MALE01, -76.1792, 941.3915, 10.9061)
Actor.Angle($SUR2) = 184.4517
Actor.Health($SUR1) = 300
Actor.Health($SUR2) = 300
01B2: give_actor $SUR1 weapon 26 ammo 320
02E2: set_actor $SUR1 weapon_accuracy_to 80
01ED: clear_actor $SUR1 threat_search
0350: set_actor $SUR1 maintain_position_when_attacked 1
01B2: give_actor $SUR2 weapon 28 ammo 90
02E2: set_actor $SUR2 weapon_accuracy_to 85
01ED: clear_actor $SUR2 threat_search
0350: set_actor $SUR2 maintain_position_when_attacked 1
Model.Destroy(#ARMY)
Model.Destroy(#MALE01)
Model.Destroy(#M4)
Model.Destroy(#SNIPER)

:Surv1_4
wait 0
if and
Actor.Dead($SUR1)
Actor.Dead($SUR2)
jf @Surv1_4
Actor.RemoveReferences($SUR1)
Actor.RemoveReferences($SUR2)
jump @Surv1_1
« Последнее редактирование: Май 04, 2019, 08:09:55 pm от daniel_360 »

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Re: Помощь с CLEO
« Ответ #190 : Май 04, 2019, 08:35:12 pm »
Этот опкод - просто проверка нахождения игрока в определенном радиусе от определенной точки. Тут никакой ошибки нет.
Проблема находится дальше - после спавна людей у тебя скрипт перезапускается, и люди спавнятся снова и снова каждую миллисекунду. Отсюда все глюки.
Чтобы так не происходило - в конце нужно проверять, что игрок ушел из того радиуса от той точки, и только потом перезапускать скрипт.

Оффлайн daniel_360

  • Прохожий
  • *
  • Сообщений: 100
  • Репутация: +4/-0
    • daniel360465
    • Просмотр профиля
Re: Помощь с CLEO
« Ответ #191 : Май 04, 2019, 08:55:12 pm »
Большое спасибо, а то очень давно мучаюсь с этой проблемой!

Оффлайн daniel_360

  • Прохожий
  • *
  • Сообщений: 100
  • Репутация: +4/-0
    • daniel360465
    • Просмотр профиля
Re: Помощь с CLEO
« Ответ #192 : Январь 07, 2020, 06:46:24 pm »
Здравствуйте, нужна помощь. Я вот создал код, он должен спавнить разные модели машин в радиусе 100 м. Всё работает, но спавнится одна и таже модель машины, пробовал разные методы исправления - не помголо. Не подскажете как исправить?
P.S. Код для main.scm

:Car
thread 'Car'

:Car_0
wait 0
if
Player.Defined(0)
jf @Car_0
0209: $ZC1 = random_int_in_ranges 130 236
if and
8038:  not $ZC1 == 136
8038:  not $ZC1 == 155
8038:  not $ZC1 == 160
8038:  not $ZC1 == 162
8038:  not $ZC1 == 176
8038:  not $ZC1 == 177
8038:  not $ZC1 == 182
8038:  not $ZC1 == 183
jf @Car_0
if and
8038:  not $ZC1 == 184
8038:  not $ZC1 == 187
8038:  not $ZC1 == 188
8038:  not $ZC1 == 189
8038:  not $ZC1 == 190
8038:  not $ZC1 == 199
8038:  not $ZC1 == 201
8038:  not $ZC1 == 202
jf @Car_0
if and
8038:  not $ZC1 == 203
8038:  not $ZC1 == 214
8038:  not $ZC1 == 215
8038:  not $ZC1 == 217
8038:  not $ZC1 == 218
8038:  not $ZC1 == 223
8038:  not $ZC1 == 224
8038:  not $ZC1 == 225
jf @Car_0
if and
8038:  not $ZC1 == 227
8038:  not $ZC1 == 232
8038:  not $ZC1 == 233
8038:  not $ZC1 == 234
8038:  not $ZC1 == 235
8038:  not $ZC1 == 171
8038:  not $ZC1 == 194
8038:  not $ZC1 == 195
jf @Car_0
if and
8038:  not $ZC1 == 231
8038:  not $ZC1 == 165
8038:  not $ZC1 == 180
8038:  not $ZC1 == 181
jf @Car_0
Model.Load($ZC1)
038B: load_requested_models
 
:Car_1
wait 0
if
Player.Defined(0)
jf @Car_3
if
Model.Available($ZC1)
jf @Car_0
04C4: create_coordinate $cX $cY $cZ from_actor $PLAYER_ACTOR offset 0.0 100.0 0.0
02C1: set $cX $cY $cZ to_car_path_coords_closest_to $cX $cY $cZ
if and
8AE1: not $ZC = random_actor_near_point $cX $cY $cZ in_radius 2.0 find_next 0 pass_deads 0
8AE2: not $ZC = random_vehicle_near_point $cX $cY $cZ in_radius 80.0 find_next 0 pass_wrecked 0
8AE3: not $ZC = random_object_near_point $cX $cY $cZ in_radius 2.0 find_next 0
jf @Car_1
0209: $CARH = random_int 250 1000
0209: $CARD = random_int 0 7

:Car_2
0208: $ANGLE = random_float 0.0 360.0
00A5: $CARZ = create_car $ZC1 at $cX $cY $cZ
020A: set_car $CARZ door_status_to $CARD
Car.Angle($CARZ) = $ANGLE
Car.Health($CARZ) = $CARH
Car.RemoveReferences($CARZ)
jump @Car_1
 
:Car_3
Model.Destroy($ZC1)
jump @Car_0

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Re: Помощь с CLEO
« Ответ #193 : Январь 08, 2020, 05:30:17 am »
Нужно в случае, если модель не найдена - перебрасывать на загрузку той же модели, а не новой(старая же не была выгружена!).
И еще убрать jump @Car_1 в конце:

:Car
thread 'Car'

:Car_0
wait 0
if
Player.Defined(0)
jf @Car_0
0209: $ZC1 = random_int_in_ranges 130 236
if and
8038:  not $ZC1 == 136
8038:  not $ZC1 == 155
8038:  not $ZC1 == 160
8038:  not $ZC1 == 162
8038:  not $ZC1 == 176
8038:  not $ZC1 == 177
8038:  not $ZC1 == 182
8038:  not $ZC1 == 183
jf @Car_0
if and
8038:  not $ZC1 == 184
8038:  not $ZC1 == 187
8038:  not $ZC1 == 188
8038:  not $ZC1 == 189
8038:  not $ZC1 == 190
8038:  not $ZC1 == 199
8038:  not $ZC1 == 201
8038:  not $ZC1 == 202
jf @Car_0
if and
8038:  not $ZC1 == 203
8038:  not $ZC1 == 214
8038:  not $ZC1 == 215
8038:  not $ZC1 == 217
8038:  not $ZC1 == 218
8038:  not $ZC1 == 223
8038:  not $ZC1 == 224
8038:  not $ZC1 == 225
jf @Car_0
if and
8038:  not $ZC1 == 227
8038:  not $ZC1 == 232
8038:  not $ZC1 == 233
8038:  not $ZC1 == 234
8038:  not $ZC1 == 235
8038:  not $ZC1 == 171
8038:  not $ZC1 == 194
8038:  not $ZC1 == 195
jf @Car_0
if and
8038:  not $ZC1 == 231
8038:  not $ZC1 == 165
8038:  not $ZC1 == 180
8038:  not $ZC1 == 181
jf @Car_0

:Car_0b
Model.Load($ZC1)
038B: load_requested_models
 
:Car_1
wait 0
if
Player.Defined(0)
jf @Car_3
if
Model.Available($ZC1)
jf @Car_0b
04C4: create_coordinate $cX $cY $cZ from_actor $PLAYER_ACTOR offset 0.0 100.0 0.0
02C1: set $cX $cY $cZ to_car_path_coords_closest_to $cX $cY $cZ
if and
8AE1: not $ZC = random_actor_near_point $cX $cY $cZ in_radius 2.0 find_next 0 pass_deads 0
8AE2: not $ZC = random_vehicle_near_point $cX $cY $cZ in_radius 80.0 find_next 0 pass_wrecked 0
8AE3: not $ZC = random_object_near_point $cX $cY $cZ in_radius 2.0 find_next 0
jf @Car_1
0209: $CARH = random_int 250 1000
0209: $CARD = random_int 0 7

:Car_2
0208: $ANGLE = random_float 0.0 360.0
00A5: $CARZ = create_car $ZC1 at $cX $cY $cZ
020A: set_car $CARZ door_status_to $CARD
Car.Angle($CARZ) = $ANGLE
Car.Health($CARZ) = $CARH
Car.RemoveReferences($CARZ)
 
:Car_3
Model.Destroy($ZC1)
jump @Car_0

Оффлайн daniel_360

  • Прохожий
  • *
  • Сообщений: 100
  • Репутация: +4/-0
    • daniel360465
    • Просмотр профиля
Re: Помощь с CLEO
« Ответ #194 : Январь 08, 2020, 02:05:10 pm »
Огромное спасибо, а то не хотелось бы видеть в моде одни и те же машины
UPD: Заметил небольшие фризы и лаги, походу опять что-то с моделями творится!
« Последнее редактирование: Январь 08, 2020, 03:12:33 pm от daniel_360 »