You are not logged in.
Можно сказать методом тыка делаю скрипт на респ авто возле дома CJ по учебнику Alexsander'a.
Конечно я наверна не правильно постороил скрипт, но вот опкод 014B 014С Санни принимать не хочет и не даёт всё скомпильнуть. Вот такую ошибку выдаёт: Not enough actual parameters. Expected 13 params.
Если поставить опкод 013B (он не для транспорта), то Санни компилит.
Что делать? И есть мануал по написанию cleo скриптов от начала до конца? А то все мануалы про main.scm.
Last edited by ThisIsSparta (10-07-2009 16:07)
Offline
013B
:wow: Такого опкода не существует (как мне подсказывает Opcode Search)
А с 014B пишет: "Не достаточно данных. Ожидалось 13 параметров"
Проверь всё и попробуй снова.
-------------
Посмотрел картинку, там тебе ясно написанно что необходимо писать на одной строке
------------
И совсем забыл. Используй локальные переменные для клео
Last edited by Sw[ee]t (10-07-2009 15:51)
Offline
Во многих скриптах он есть. И по учебнику и по многим сайтам его ставят. вот тут например http://forums.playground.ru/gta_san_and … ng/164511/
А скажи плз каким поиском опкодов пользуешься. (У меня тока опеодник 2.0)
Last edited by ThisIsSparta (10-07-2009 15:52)
Offline
Во многих скриптах он есть. И по учебнику и по многим сайтам его ставят. вот тут например http://forums.playground.ru/gta_san_and … ng/164511/
--------------
Я не использую никакой опкодник. Учился здесь, так что пробегись по форуму, почитай темы и надеюсь всё поймёшь
Last edited by Sw[ee]t (10-07-2009 15:55)
Offline
ThisIsSparta wrote:013B
-------------
Посмотрел картинку, там тебе ясно написанно что необходимо писать на одной строке------------
И совсем забыл. Используй локальные переменные для клео
спс (я просто за весь день задолбался со скриптами, игру напрочь выбивают большинство).
А локальные переменные это как?
Offline
Глобальные переменные - $Chtonit
Локальные - @1 (Допускается только числовое значение)
Offline
вроде число потом собака 1@ ?
(Строки в скрипте цельные)
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
{$VERSION 3.1.0027}
{$CLEO .CS}
//-------------MAIN---------------
0000: NOP
wait 0
014B: 1@ = init_parked_car_generator #URANUS color 8 8 0 alarm 0 door_lock 0 0 40000 at 2488.74 -1670.0 13.34 angle 120.0
014C: set_parked_car_generator 1@ cars_to_generate_to 101
014B: 2@ = init_parked_car_generator #INFERNUS color 8 8 0 alarm 50 door_lock 0 0 40000 at 2479.71 -1671.72 13.4 angle 120.0
014C: set_parked_car_generator 2@ cars_to_generate_to 101
end_thread
X --> Загоужаю сэйв и чар стоит на месте и 0 эмоций. ниодна кнопка кроме Esc не работает. ((
----------------------------
+ ---> Заменил end_thread на 0A93: end_custom_thread и пошло поехало, чар бегает вышел из дома отъехал далеко приехал и стоит 2 тачик.
Кул.
Sw[ee]t спс
Last edited by ThisIsSparta (10-07-2009 16:23)
Offline
не надо делать генераторы тачек в клео. Ну или на крайняк надо использовать опкод 0A95, чтобы генератор не создавался новый с каждой загрузкой.
Offline
а куда его пихать 0A95: enable_thread_saving?
вместо 0А93?
А еще как добавить разные эффекты ??? (сразу включеные фары, иммунитет, гидравлику), пробовал разными способами - игра вылетает.
есть эти опкоды
067F: set_car $Car headlights 2
07FF: set_car $car1 hydraulics 0
Last edited by ThisIsSparta (10-07-2009 18:30)
Offline
а куда его пихать 0A95: enable_thread_saving?
В начало кода, после wait 0
А еще как добавить разные эффекты ??? (сразу включеные фары, иммунитет, гидравлику), пробовал разными способами - игра вылетает.
есть эти опкоды
067F: set_car $Car headlights 2
07FF: set_car $car1 hydraulics 0
Вместо $Car должна быть вписана переменная машины, к которой ты хочешь применить данные действия. Можно, например, записать в переменную машину CJ-я:
if 00DF: actor $PLAYER_ACTOR driving then 03C0: 0@ = actor $PLAYER_ACTOR car end
Вообще в СБ справке есть пример на эту тему - см. раздел Статьи -> Транспорт
Last edited by Den_spb (10-07-2009 19:54)
Offline
Несколько подсказок:
1) в SB есть русскоязычный интерфейс (см. опции - F10) и русскоязычная справка со множеством полезных статей (большая часть учебника Alexander'а там есть)
2) искать опкоды в SB Ctrl+Alt+2
3) если делать парковки через CLEO не используя опкод 0A95, то после сохранения игры и загрузки сейва, вместо одной парковки будет уже две, потом три, потом четыре и т.д. пока сейв не заглючит. Нужно обязательно использовать 0A95, чтобы скрипт не запускался повторно после сейва (т.е. он один раз отработает, парковка создастся, CLEO запомнит, что скрипт выполнен и завершен и больше не будет его запускать при старте игры).
Offline
Маленькое дополнение:
к машине, созданной опкодом 014b нельзя применять опкоды, используемые с транспортом (сразу включеные фары, иммунитет, гидравлику)- в абсолютном большинстве случаев последует вылет
Поправьте меня если я ошибаюсь
только вежливо :)
Offline
Народ объясните что за дела?
{$CLEO} 0000: NOP 0A95: enable_thread_saving if 0@ == 0 then 014B: 1@ = init_parked_car_generator #ADMIRAL color -1 -1 1 alarm 0 door_lock 0 1 10000 at 1317.798, -642.4794, 108.8323 angle 17.0 014C: set_parked_car_generator 1@ cars_to_generate_to 101 014B: 2@ = init_parked_car_generator #CHEETAH color -1 -1 1 alarm 0 door_lock 0 1 10000 at 1356.429, -614.5699, 108.8303 angle 90.0 014C: set_parked_car_generator 2@ cars_to_generate_to 101 0@ = 1 end 0A93: end_custom_thread
Смотрел на вашем форуме как всё правильно делать...просто скопировал похожий скрипт - компилировал работает, но стоит только изменить модель машины и её координаты - саннибайлдер ожидает 13 параметров(а именно опкод 014B) - объясните что я не так делаю?
Offline
Попробуй запятые убрать после параметров.
Чувак спасибо тебе!-и вправду заработало!
Offline
Народ объясните что за дела?
{$CLEO} 0000: NOP 0A95: enable_thread_saving if 0@ == 0 then 014B: 1@ = init_parked_car_generator 014C: set_parked_car_generator 1@ cars_to_generate_to 101 0@ = 1 end 0A93: end_custom_thread
У меня вопрос по поводу использования переменной для разовости выполнения скрипта - 0A95 недостаточно? и при загрузке игры переменные (особенно локальные) вроде нулевые или в сейвах их значения сохраняются?!
Offline
0A95: enable_thread_saving - этого достаточно, чтоб твой скрипт работал одноразово. Так как он дошёл до 0A93: end_custom_thread, он больше не будет идти сначала, так что эти переменные не имеют значения.
Не понял смысла вашего сообщения, зачем в простом коде по созданию пары машин нужен опкод 0A95:? данная команда нужна для сохранения значения переменных в файл: Доппустим в коде переменная 0@ стала равна 1, так вот это число и будет сохранено и после следующей загрузки игры или ещё чего, где переменные обнуляются, 0@ будет равна 1
Offline
0A95 делает так, что при сохранении игры значения локальных переменных, а также статус скрипта заносятся в сейв. Последнее означает, что если в момент сохранения скрипт уже был завершён командой 0A93, то при последующем запуске этого сохранения данный скрипт не будет запущен в работу.
Если скрипт создаёт объект (или пикап, или парковочный генератор), то при сохранении игры данный объект будет занесён в сейв. При последующем запуске этого сохранения скрипт сработает ещё раз и создаст второй объект в том же месте. Чтобы этого избежать, нужно добавлять в скрипт 0A95 и делать проверку переменной (если скрипт не завершается, а работает по бесконечному циклу).
Last edited by Den_spb (26-06-2010 12:34)
Offline
ХЕЛП ПАЦАНЫ!!!!
{$CLEO .cs}
04ED: load_animation "LOWRIDER"
// ÒÀÍÅÖ_1
:TEST
wait 0
00D6: if and
04EE: animation "LOWRIDER" loaded
00E1: player 0 pressed_key 0 10
004D: jump_if_false @TEST
:Rap
0605: actor $PLAYER_ACTOR perform_animation_sequence "RAP_A_loop" from_file "LOWRIDER" 4.0 loop 1 0 0 1 -1 ms
04EF: release_animation "LOWRIDER"
0A93: end_custom_thread
:FIN_1
wait 0
00D6: if and
8611: not actor $PLAYER_ACTOR performing_animation "RAP_A_loop"
80E1: not key_pressed 0 10
004D: jump_if_false @FIN_1
0687: clear_actor $PLAYER_ACTOR task
04EF: release_animation "LOWRIDER"
0A93: end_custom_thread
// ÒÀÍÅÖ_2
:TEST_0
wait 0
00D6: if and
04EE: animation "LOWRIDER" loaded
00E1: player 0 pressed_key 0 11
004D: jump_if_false @TEST_0
:Rap_0
0605: actor $PLAYER_ACTOR perform_animation_sequence "RAP_B_loop" from_file "LOWRIDER" 4.0 loop 1 0 0 1 -1 ms
04EF: release_animation "LOWRIDER"
0A93: end_custom_thread
:FIN_2
wait 0
00D6: if and
80E1: not key_pressed 0 11
8611: not actor $PLAYER_ACTOR performing_animation "RAP_B_loop"
004D: jump_if_false @FIN_2
0687: clear_actor $PLAYER_ACTOR task
04EF: release_animation "LOWRIDER"
0A93: end_custom_thread
// ÒÀÍÅÖ_3
:TEST_1
wait 0
00D6: if and
04EE: animation "LOWRIDER" loaded
00E1: player 0 pressed_key 0 19
004D: jump_if_false @TEST_1
:Rap_1
0605: actor $PLAYER_ACTOR perform_animation_sequence "RAP_C_loop" from_file "LOWRIDER" 4.0 loop 1 0 0 1 -1 ms
04EF: release_animation "LOWRIDER"
0A93: end_custom_thread
:FIN_3
wait 0
00D6: if and
80E1: not key_pressed 0 19
8611: not actor $PLAYER_ACTOR performing_animation "RAP_C_loop"
004D: jump_if_false @FIN_3
0687: clear_actor $PLAYER_ACTOR task
04EF: release_animation "LOWRIDER"
0A93: end_custom_thread
// ÌÓÇÛÊÀ
:TEST_R
wait 0
00D6: if and
04EE: animation "LOWRIDER" loaded
if or
00E1: key_pressed 0 10
00E1: key_pressed 0 11
00E1: key_pressed 0 19
004D: jump_if_false @TEST_R
create_thread @RADIO_0_R
:RADIO_0_R
041E: set_radio_station 0
0A93: end_custom_thread
:FIN_4
wait 0
if or
00E1: not key_pressed 0 10
00E1: not key_pressed 0 11
00E1: not key_pressed 0 19
004D: jump_if_false @FIN_4
041E: set_radio_station 12
// ÎÄÅÆÄÀ
:TEST_2
wait 0
00D6: if and
04EE: animation "LOWRIDER" loaded
if or
00E1: key_pressed 0 10
00E1: key_pressed 0 11
00E1: key_pressed 0 19
004D: jump_if_false @TEST_2
create_thread @CLOTHES_0
:CLOTHES_0
wait 0
Player.SetClothes($PLAYER_CHAR, "hoodyAblack", "hoodyA", 0) //Torso
Player.SetClothes($PLAYER_CHAR, "flattop", "flattop", 0) //Hair
Player.SetClothes($PLAYER_CHAR, "jeansdenim", "jeans", 0) //Legs
Player.SetClothes($PLAYER_CHAR, "skullyblk", "skullycap", 0) //Head
player.Build($PLAYER_CHAR)
end_thread
Ничего не происходит!!!!!
Я ЧУТЬ НЕ СОШЁЛ С УМА!!!!!ПОСЛЕ ВСЕГО ЧТО Я ПИСАЛ!!!!
Last edited by BoUnTy_xD (05-01-2011 13:10)
Offline
:Rap 0605: actor $PLAYER_ACTOR perform_animation_sequence "RAP_A_loop" from_file "LOWRIDER" 4.0 loop 1 0 0 1 -1 ms 04EF: release_animation "LOWRIDER" 0A93: end_custom_thread
1) Ты проигрываешь анимацию и сразу же выгружаешь её. Мне кажется, что надо дождаться конца анимы, хотя могу ошибаться.
2) Всё! На второй метке ты закончил поток. Дальше ничего не произойдёт.
3) Пожалуйста, оформляй код в теги [cоde][/codе]
Offline