Вопросы по CLEO-скриптингу

egor230

Участник
47
16
Подскажите, пожалуйста, уважаемые.
Как правильно пользоваться scm функцией с возвратом параметров? Ее использую, что сделать более компактным код. Делаю, скрипт меняющий оружия одного типа, по нажатию клавиши 1. В vc выбор оружия неудобный, нельзя нажать 6 и взять снайперку, как в других играх.
Решил исправить, для удобства использую SCM функция с возвратом параметров, но она не работает.
Не пойму в чем причина? Подскажите, пожалуйста.
Вот сделать часть для холодного оружия без SCM функции, она выглядит тогда слишком громоздкий код получится.
Приклепаю исходник скрипта с полным кодом, он содержит 119 строк, что очень много. С помощью SCM функции хочу сделать более удобный и читаемый код скрипта. Помогите, пожалуйста, мне.
Как правильно пользоваться scm функции с возвратом параметров? Ее использую, что сделать более компактным.

Мы передаем в call_scm_func @Fun params_count 3 параметра модель оружия, его тип, кол-во патронов, чтобы они записались в переменные 0@ 1@ 2@ и в дальнейшим их использовать в другой функции, где создается и выдается оружия игроку. Но я получаю вылет.
{$CLEO .cs}
0000:
0006: 1@ = 7
:1
wait 0
if
0AB0: key_pressed 0x31
jf @1
if
0039: 1@ == 7
jf @2
05F6: call_scm_func @Fun params_count 3 #cleaver 8 0 0@ 1@ 2@
gosub @Sab
jump @1
:2
if
0039: 1@ == 8
jf @1
05F6: call_scm_func @Fun params_count 3 #machete 9 0 0@ 1@ 2@
gosub @Sab
jump @1
:fun
repeat
wait 0
Model.Load(0@)
until Model.Available(0@)
01B2: give_actor $PLAYER_ACTOR weapon 1@ ammo 2@
Model.Destroy(0@)
0AB2: ret 3 0@ 1@ 2@
:sab
wait 900 // задержка между переключениями оружия
return
Если написать 0AB1: call_scm_func @Fun 3 0@ 1@ 2@ // var_ret 0 то переключения оружия не происходит, нужно вернуть значения переменной @1, чтоб переключить на следующее оружие.
 

Вложения

  • cold weapons.txt
    2.2 KB · Просмотры: 2

debil :))

Участник
86
19
Опкод 0С72 эмулирует нажатие клавиш на клавиатуре,но как можно сделать эмуляцию кнопок мышки?
 

DANIIL XPC

Известный
81
5
Hello, how can I do a cleo way to make me spam in 3 in 3 seconds on a section in a dialogue?
Example: on the server I order / buy and here comes buy credits, gas can, phone and more, I want when I type a buy / buy command to automatically select from / buy - buy credits or at / i give / i have info car, tow car and more, through an order I want to automatically select a car that spawes.
 

LUCHARE

Известный
Друг
545
701
Здрасте. Можно ли удалить строку, чтобы хук два раза её не чекал?
Проверяй добавление новой строки в чат, добавлена строка - продолжай работу хука. Еще можно сверять текст TimeStamp`a, и если он одинаковый не продолжать работу хука