Перейти к содержанию

Обсуждение и публикация Cleo-скриптов


Рекомендуемые сообщения

Народ, можете написать мелкий клео скрипт что бы использовать заправку в определенном месте карты? Я взял скрипт заправки а он не работает потому что стоит мод гта3 на движке гта са, и там заправка с другими координатами как я понимаю. и нужно как то заставить ее заправлять машины.

Изменено пользователем Емали
Ссылка на комментарий
Поделиться на другие сайты

Помогите найти нужный опкод: "Игрок за рулем *ID автомобиля*". Actor.DrivingVehicleType($PLAYER_ACTOR, ID) - это он?

Спасибо, уже нашел.

 

А как найти координаты одного (в котором сидит игрок) транспортного средства относительно другого?

Изменено пользователем Dimoman_93
Ссылка на комментарий
Поделиться на другие сайты

Помогите найти нужный опкод: "Игрок за рулем *ID автомобиля*". Actor.DrivingVehicleType($PLAYER_ACTOR, ID) - это он?

Спасибо, уже нашел.

 

А как найти координаты одного (в котором сидит игрок) транспортного средства относительно другого?

0407: create_coordinate $X1 $Y1 $Z1 from_car $Car offset 0.0 10.8 3.0

Мой форум http://bosikom.mybb.ru

Ссылка на комментарий
Поделиться на другие сайты

В общем решил доработать свой скрипт, а в гугле как обычно забанили. Как заставить полицию не реагировать на угон конкретного автомобиля?

Ссылка на комментарий
Поделиться на другие сайты

Перед самым вскрытием тс попробуй отключить реагирование на преступление, не помню был опкод, или например отключить спавн полиции 099E: enable_police_patrols 1
Ссылка на комментарий
Поделиться на другие сайты

Перед самым вскрытием тс попробуй отключить реагирование на преступление, не помню был опкод, или например отключить спавн полиции 099E: enable_police_patrols 1

 

Тоже пока думал такой костыль поставить, ладно, пока оставим как полумеру.

 

Тут вопрос посерьезней возник:

В общем добавил проверку

 

 

[spoiler=такую]

if

00E1: key_pressed 0 15
then
Player.CanMove($PLAYER_CHAR) = False
end

 
Чтобы игрок не выходил из машины раньше времени, но почему -то не работает, игрок все равно может передвигаться. Без опкода 00Е1: все нормально, но мне и без него не обойтись, и блокировать игрока надо только если нажата кнопка 15. 
 
0AB0:   key_pressed 29@ в данном случае не подходит, нужна проверка именно на нажатие кнопки выхода их авто, ибо ее в меню сменить можно. 
Изменено пользователем svyatogor2007
Ссылка на комментарий
Поделиться на другие сайты

Пацаны, может кто сможет помочь. Проблема такая: при одновременной установке мода на скейтборд "Skateboarding Mod by Linevariy" и First Person Mod by Ворон появляется вот такая гармошка с руками (только если переключиться на вид от 1-ого лица). Как-то можно исправить? 

post-141194-0-69139700-1534402893_thumb.jpg

Ссылка на комментарий
Поделиться на другие сайты

И так, скрипт обновился и поменял название. Теперь он называется "State Adder".

А где можно скачать скрипт? Ссылка нерабочая. В инете не нашёл.

Ссылка на комментарий
Поделиться на другие сайты

Ребята, кто-то может протестировать мой скрипт в предпоследней миссии? Что то он как-то не так работает, и понять не могу, ибо в остальных миссиях работает нормально. Суть скрипта: должен автоматом сохранить машину, если заедем на маркер на вокзале. 

 

Сам скрипт и сохранение в архиве https://yadi.sk/d/HLqZre9Oz415uA

Ссылка на комментарий
Поделиться на другие сайты

Возможно ли с помощью скрипта или плагина увеличить число отображающихся цветов в комбинациях для ТС?

 

Т.е. сейчас их можно 100500 прописать, а отображаться будут только первые 8. Чисто теоретически реально это преодолеть?

GTA III Soviet Cars Pack 

GCU forum
YouTube

SA 90's Сar Pack

Модест Матвеевич представлялся мне сейчас совсем в особом свете. Я был убежден, что стоило бы Модесту Матвеевичу появиться здесь и заорать на упыря: "Вы это прекратите, товарищ Выбегалло!" - как упырь немедленно бы прекратил.  

Стругацкие «Понедельник начинается в субботу»

 

What can we say about this guy. The ancient Romans had a word for it: asshole.

The Sopranos

Ссылка на комментарий
Поделиться на другие сайты

Всем привет. Кто мне подскажет, кто расскажет где она, где она... Ладно шутки - шутками. Вопрос: Как добавить новые иконки на карту? И сделать так, чтобы при появлении персонажа на месте иконки она удалялась.

Ссылка на комментарий
Поделиться на другие сайты

Всем привет. Кто мне подскажет, кто расскажет где она, где она... Ладно шутки - шутками. Вопрос: Как добавить новые иконки на карту? И сделать так, чтобы при появлении персонажа на месте иконки она удалялась.

это вам сюда https://blast.hk/threads/13410/page-486#post-273322. Тут должны помочь.

Этот форум своё уже давно отжил. Не стоит пинать трупак ногами)

Ссылка на комментарий
Поделиться на другие сайты

Всем привет. Кто мне подскажет, кто расскажет где она, где она... Ладно шутки - шутками. Вопрос: Как добавить новые иконки на карту? И сделать так, чтобы при появлении персонажа на месте иконки она удалялась.

 

Добавить иконку: 

 

$MARKER_EMMETS_GUN = Marker.CreateIconWithoutSphere(18, 2447.364, -1974.496, 12.5469) В скобках первая цифра id иконки отальные координаты.

 

Удаляется командой 

 

Marker.Disable($MARKER_EMMETS_GUN)

 

В твоем случае примерно так:

 

$MARKER_EMMETS_GUN = Marker.CreateIconWithoutSphere(18, 2447.364, -1974.496, 12.5469)

if

00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 2447.364, -1974.496, 12.5469 radius 2.0 2.0 2.0

then

Marker.Disable($MARKER_EMMETS_GUN)

end

 

как только придешь к месту иконки она исчезнет. 

 

Важный момент:

обязательно добавляем команду 0A95: enable_thread_saving, иначе после добавления иконки и перезугрузке игры иконка останется и удалить ее будет проблематично. 

 

 

liaz6212 сказал(а) 05 Ноя 2018 - 17:12:

Возможно ли с помощью скрипта или плагина увеличить число отображающихся цветов в комбинациях для ТС?

 

Т.е. сейчас их можно 100500 прописать, а отображаться будут только первые 8. Чисто теоретически реально это преодолеть?

 

Имеются ввиду варианты прописанные carcols.dat?

В принципе можно, примерно так:

 

00A0: store_actor $PLAYER_ACTOR position_to 1@ 2@ 3@
073E: get_car_in_sphere 1@ 2@ 3@ radius 150.0 model #savanna handle_as 0@
if
056E: car 29@ defined
then
0099: 5@ = random_int_in_ranges_0_to_10
if
5@ == 0
then
0229: set_car 0@ primary_color_to 11 secondary_color_to 0
end
if
5@ == 1
then
0229: set_car 0@ primary_color_to 20 secondary_color_to 32
end
и т.д.
end
 
Изменено пользователем svyatogor2007
Ссылка на комментарий
Поделиться на другие сайты

Ребятки, помогите, плиз! Вот кусок кода для перемещения колес автомобиля по оси Y. Но мне нужно перемещение по оси Z. Работает перемещение по X, по Y, а по Z никак не хотят колеса двигаться!



:NONAME_12
wait 0
0A97: 1@ = car 0@ struct
0A97: 2@ = car 0@ struct
0A97: 3@ = car 0@ struct 
0A97: 4@ = car 0@ struct  
1@ += 0x650
0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0
1@ += 0x10
1@ += 52
2@ += 0x65C
0A8D: 2@ = read_memory 2@ size 4 virtual_protect 0
2@ += 0x10
2@ += 52
3@ += 0x658
0A8D: 3@ = read_memory 3@ size 4 virtual_protect 0
3@ += 0x10
3@ += 52
4@ += 0x664
0A8D: 4@ = read_memory 4@ size 4 virtual_protect 0
4@ += 0x10
4@ += 52
jump @NONAME_13
 
:NONAME_13
wait 50
if
00E1:   player 0 pressed_key 11
then
5@ += 0.01 
end
if
00E1:   player 0 pressed_key 10
then
5@ -= 0.01 
end
if or
1@ <> 0
2@ <> 0
3@ <> 0
4@ <> 0
then
0A8C: write_memory 1@ size 4 value 5@ virtual_protect 0
0A8C: write_memory 2@ size 4 value 5@ virtual_protect 0
0A8C: write_memory 3@ size 4 value 5@ virtual_protect 0
0A8C: write_memory 4@ size 4 value 5@ virtual_protect 0
end
jump @NONAME_13

Изменено пользователем Dimoman_93
Ссылка на комментарий
Поделиться на другие сайты

 

Добавить иконку: 

 

$MARKER_EMMETS_GUN = Marker.CreateIconWithoutSphere(18, 2447.364, -1974.496, 12.5469) В скобках первая цифра id иконки отальные координаты.

 

Удаляется командой 

 

Marker.Disable($MARKER_EMMETS_GUN)

 

В твоем случае примерно так:

 

$MARKER_EMMETS_GUN = Marker.CreateIconWithoutSphere(18, 2447.364, -1974.496, 12.5469)

if

00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 2447.364, -1974.496, 12.5469 radius 2.0 2.0 2.0

then

Marker.Disable($MARKER_EMMETS_GUN)

end

 

как только придешь к месту иконки она исчезнет. 

 

Важный момент:

обязательно добавляем команду 0A95: enable_thread_saving, иначе после добавления иконки и перезагрузке игры иконка останется и удалить ее будет проблематично. 

 

 

 Вообщем как и всегда. Иконку добавить получилось. Но при приближении в указанную точку, она не пропадает. 

                                  {$CLEO .cs}
:1
thread '1'
wait 0 
0A95: enable_thread_saving
if
056D: actor $Player_actor defined
   
$O1 = Marker.CreateIconWithoutSphere(56, 1969.6061, -1204.7977, 17.45)
:2
wait 0
 if
00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 1969.6061 -1204.7977 17.45 radius 2.0 2.0 2.0
then
Marker.Disable($O1)
end
0A93: end_thread

что не так?

Ссылка на комментарий
Поделиться на другие сайты

 Вообщем как и всегда. Иконку добавить получилось. Но при приближении в указанную точку, она не пропадает. 

...

что не так?

 

Ну так ты поток завершаешь раньше, чем игрок придет на точку, надо так:

 

[spoiler=спойлер] {$CLEO .cs}

thread '1'

wait 0

0A95: enable_thread_saving

$O1 = Marker.CreateIconWithoutSphere(56, 1969.6061, -1204.7977, 17.45)

 

:1_1

wait 0

if

056D: actor $Player_actor defined

jf @1_1

if

00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 1969.6061 -1204.7977 17.45 radius 2.0 2.0 2.0

then

Marker.Disable($O1)

0A93: end_thread

else

jump @1_1

end

 

Ссылка на комментарий
Поделиться на другие сайты

Понял. Спасибо. В общем иконка пропадает, но после сохранения и его загрузки иконка появляется вновь, но уже не пропадает. И думаю, я не то хотел получить. В общем надо чтобы иконка была, пока существует пикап, но как только игрок его взял, иконка пропадает. Остается вопрос где взять координаты пикапов игры? Опкода на поиск координат пикапа пока не нашел, сани предлагает только проверку на взятие пикапа, уничтожение и создание. Интересно, а можно ли написать скрипт на поиск объекта по id, и в случае нахождения его, чтобы создавалась иконка с его координатами, которые указывались бы в отдельном текстовом файле. Похоже нашел координаты пикапов. Возник другой вопрос. Как запустить проверку существования пикапа в указанных координатах, ну или просто указанного пикапа? Чтобы иконка создавалась, если пикап существует, если нет, то нет. Как дописать правильно чтобы игры в данном случае не создавала иконку, если объект не существует?

[spoiler=пример]{$CLEO .cs}
thread '1'
wait 0
0A95: enable_thread_saving
if
03CA: object $OBJ exists
then
$ico = Marker.CreateIconWithoutSphere(id, x,y,z)
'???'

:1_1
wait 0
if
056D: actor $Player_actor defined
jf @1_1
if
pickup.Picked_up($OBJ)
then
Marker.Disable($ico)
0A93: end_thread
else
jump @1_1
end

 

Изменено пользователем Constantines
Ссылка на комментарий
Поделиться на другие сайты

Понял. Спасибо. В общем иконка пропадает, но после сохранения и его загрузки иконка появляется вновь, но уже не пропадает. И думаю, я не то хотел получить. В общем надо чтобы иконка была, пока существует пикап, но как только игрок его взял, иконка пропадает. Остается вопрос где взять координаты пикапов игры? Опкода на поиск координат пикапа пока не нашел, сани предлагает только проверку на взятие пикапа, уничтожение и создание. Интересно, а можно ли написать скрипт на поиск объекта по id, и в случае нахождения его, чтобы создавалась иконка с его координатами, которые указывались бы в отдельном текстовом файле. Похоже нашел координаты пикапов. Возник другой вопрос. Как запустить проверку существования пикапа в указанных координатах, ну или просто указанного пикапа? Чтобы иконка создавалась, если пикап существует, если нет, то нет. Как дописать правильно чтобы игры в данном случае не создавала иконку, если объект не существует?

[spoiler=пример]{$CLEO .cs}

thread '1'

wait 0

0A95: enable_thread_saving

if

03CA: object $OBJ exists

then

$ico = Marker.CreateIconWithoutSphere(id, x,y,z)

'???'

 

:1_1

wait 0

if

056D: actor $Player_actor defined

jf @1_1

if

pickup.Picked_up($OBJ)

then

Marker.Disable($ico)

0A93: end_thread

else

jump @1_1

end

 

 

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

[spoiler=спойлер]if

075C: marker $1629 enabled

*проверка на существование маркера*

then

Marker.Disable($1629)

Pickup.Destroy($BUY_ASSET_PICKUPS[8])

end

*здесь уничтожаем маркер и пикап установленный игрой*

 

09B4: set_object_property_at $X_PROPERTY_TO_BUY[8] $Y_PROPERTY_TO_BUY[8] radius 10.0 bitmask 16384 flag 0

0518: $BUY_ASSET_PICKUPS[8] = create_available_asset_pickup 'PROP_3' at $X_PROPERTY_TO_BUY[8] $Y_PROPERTY_TO_BUY[8] $Z_PROPERTY_TO_BUY[8] price $1661 // a›m ~k~~PED_ANSWER_PHONE~, ™to˜« ky£t¬ ¦tot šom.

0570: $1629 = create_asset_radar_marker_with_icon 31 at $X_PROPERTY_TO_BUY[8] $Y_PROPERTY_TO_BUY[8] $Z_PROPERTY_TO_BUY[8]

018B: set_marker $1629 radar_mode 2

*ставим свой пикап и маркер с нужными параметрами*

 

if

Pickup.Picked_up($BUY_ASSET_PICKUPS[0])

then

Camera.SetPosition(2233.14, 152.5748, 33.5239, 0.0, 0.0, 0.0)

Camera.PointAt(2233.16, 153.5324, 33.2366, 2)

0623: add $1661 to_integer_stat 15

Marker.Disable($1629)

end

*удаляем маркер если пикап взят*

 

 

При таком варианте у тебя маркер будет только если существует пикап,как только пикап взят, маркер тоже удалится. В общем должно получиться нечто вроде:

 

[spoiler=пример]{$CLEO .cs}

thread '1'

wait 0

0A95: enable_thread_saving

if

075C: marker $ico  enabled

then

Marker.Disable($ico)

Pickup.Destroy($obj)

end

 

:1_1

09B4: set_object_property_at X Y Z radius 10.0 bitmask 16384 flag 0

0518: $obj = create_available_asset_pickup 'PROP_3' at X Y Z price //- В  общем создаешь нужный пикап, PROP_3 ссылка на подсказку в american.txd

0570: $ico = create_asset_radar_marker_with_icon 31 at X Y Z

018B: set_marker $ico radar_mode 2

jump @1_2

 

:1_2

wait 0

if

056D: actor $Player_actor defined

jf @1_2

if

Pickup.Picked_up($obj)

then

Marker.Disable($ico)

jump @1_1

else

jump @1_2

end

 

Цикл завершать не нужно, если хочешь что-бы пикап с иконкой вновь появлялись, просто дописываешь действия при которых пикап должен появляться и все. Ну и в идеале отойти от глобыльных переменных типа $ico в пользу локальных типа 1@. Хотя могут быть исключения, например если надо удалить иконку и пикап созданные main.scm, но тут тестировать надо тщательно, могут быть проблемы.

 

PS нашел проверку на существование пикапа:

if

048C: is_any_pickup_at_coords -2182.652 -247.3813 36.4

then
...
end
 
но не проверял на работоспособность.
Изменено пользователем svyatogor2007
Ссылка на комментарий
Поделиться на другие сайты

 Да, пикап взят из мейна, поэтому взята глобальная переменная. И вроде пикап, как бы тоже объект, думаю, это - 03CA: object $OBJ exists,  должно прокатить, пока тоже не проверял. А зачем удалять пикап установленный игрой? Пикап разовый, т.е. больше в игре не встретиться, значит можно не удалять скриптом. Спасибо за советы и опкоды. Будем проверять)

Ссылка на комментарий
Поделиться на другие сайты

 Да, пикап взят из мейна, поэтому взята глобальная переменная. И вроде пикап, как бы тоже объект, думаю, это - 03CA: object $OBJ exists,  должно прокатить, пока тоже не проверял. А зачем удалять пикап установленный игрой? Пикап разовый, т.е. больше в игре не встретиться, значит можно не удалять скриптом. Спасибо за советы и опкоды. Будем проверять)

 

Пикап есть смысл удалять если хочешь ему параметры изменить. Я например удалял пикапы покупки недвижимости, что бы свои цены проставить. Иначе может случиться так, что в одном месте будет сразу 2 пикапа. один из которых будет просто для вида, а второй рабочий. ИМХО лучше перебдеть, меньше глюков в последующем.

Ссылка на комментарий
Поделиться на другие сайты

Пикап есть смысл удалять если хочешь ему параметры изменить. Я например удалял пикапы покупки недвижимости, что бы свои цены проставить. Иначе может случиться так, что в одном месте будет сразу 2 пикапа. один из которых будет просто для вида, а второй рабочий. ИМХО лучше перебдеть, меньше глюков в последующем.

 

Вообщем опкод на проверку существования пикапа не работает, ну или не работает в моем случае. Иконка также пропадает после взятия объекта (пикапа), но после сохранения и его загрузки опять же появляется на карте. В чем проблема так и не пойму. Как вообще прорисовывается иконка через скрипт при том, что объект уже не существует. А нет. Работает опкод. Пропала иконка после загрузки. Скрипт работает и без проверки существования нашего персонажа.  Теперь возникает вопрос, как прописать код для нескольких пикапов? Т.е. взял пикап_1 пропала иконка_1, взял пикап_2 - пропала иконка_2 и т.д. И так сделал вторую иконку, пока пропадает. Но таких надо создать 50, а локальных переменных 32-33. Как тут быть? 

[spoiler=Сам скрипт]

{$CLEO .cs}
thread 'Oysters'
:1
wait 0
0A95: enable_thread_saving
if
048C: is_any_pickup_at_coords 1968.0 -1203.0 17.0
jf @1
1@ = Marker.CreateIconWithoutSphere(56, 1968.0, -1203.0, 17.0) 

:2
wait 0
if
pickup.Picked_up($2993)
then
Marker.Disable(1@)
else
jump @2
end     

:3
wait 0
0A95: enable_thread_saving
if
048C: is_any_pickup_at_coords 725.0 -1849.0 -5.0
jf @3
2@ = Marker.CreateIconWithoutSphere(56, 725.0, -1849.0, -5.0) 

:4
wait 0
if
pickup.Picked_up($2990)
then
Marker.Disable(2@)
0A93: end_thread
else
jump @4
end
end_thread   

 

 

Изменено пользователем Constantines
Ссылка на комментарий
Поделиться на другие сайты

И при таком подходе вторая иконка появляется лишь после того как пропадет первая. Соответственно третья, только после того как возьму второй пикап и пропадет вторая иконка.  А как сделать так, чтобы все иконки появились сразу?

Ссылка на комментарий
Поделиться на другие сайты

Ребята, кто-то может протестировать мой скрипт в предпоследней миссии? Что то он как-то не так работает, и понять не могу, ибо в остальных миссиях работает нормально. Суть скрипта: должен автоматом сохранить машину, если заедем на маркер на вокзале. 

 

Сам скрипт и сохранение в архиве https://yadi.sk/d/HLqZre9Oz415uA

не сохраняет кстати)

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...