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

p1cador

cerf
Проверенный
220
359
это там в клео строки вписывать надо ?
На сколько я помню, в pawn если тупо юзать анимку, то другие игроки будут видеть ее только в случае, если она лежит в ped.ifp. Насчет того, как работают опкоды в клео - хз, из ped.ifp почти уверен, что сработает. Но отправка ида анимации через синхру это железный вариант.

CLEO:
0BE2: raknet setup_outcoming_packet_hook @OUTC_PACKET_ON //установка хука(запихни куда-нибудь в начало/после команды/клавиши, но не в цикле
//---
:OUTC_PACKET_ON
0BE5: raknet 31@ = get_hook_param PARAM_PACKETID
if 0039: 31@ == PACKET_PLAYER_SYNC
then
0BE5: raknet 31@ = get_hook_param PARAM_BITSTREAM
0BF3: raknet 31@ = bit_stream 31@ get_data_ptr
0C0D: struct 31@ offset 65 size 2 = 30@ //uint16_t iCurrentAnimationID;+64 30@ - ид анимации
end
0BE0: raknet hook_ret true
 

01EG

Известный
Проверенный
631
345
Как сделать клео анимацию, чтобы ее видели другие игроки ? Возможно уже такой вопрос был, но мотать 260 страниц не очень хочется
Уже есть готовый опкод
https://www.blast.hk/wiki/opcodes:0afd
CLEO:
{$CLEO .cs}
0000: NOP
repeat
wait 1000
until 0afa:

while true
wait 0
if 0ab0: 49
then
0AFD: samp set_special_action 10 // например 10 поднять руки вверх, больше анимаций по ссылке.
wait 1000
end
end
 

VADE

Новичок
36
1
Почему если в опкоде 0C0D ставить за место -90 любое другое число, то глубина погружения под землю не меняется?
CLEO:
{$CLEO}
{$INCLUDE SF}
0000: NOP

repeat
wait 400
until 0AFA: is_samp_available

cmd "invisible" @invisible
0BDE: pause_thread 0

:invisible
0B12: 20@ = 20@ XOR 1
if 20@ == 1
then
msg "Invisible - {00ff00}On!" -1
0BE2: raknet setup_outcoming_packet_hook @out_packet // Подготавливаем хук
end
if 20@ == 0
then
msg "Invisible - {00ff00}Off!" -1
end
cmd_ret

:out_packet
if 20@ == 1
then
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID // Получаем ИД пакета
if 0@ == PACKET_PLAYER_SYNC // Сравниваем
then
0BE5: raknet 1@ = get_hook_param PARAM_BITSTREAM // Получаем битстрим

0AC8: alloc 2@ 69 // sizeof(onFootData) + packetId // выделяем память для хранения данных битстрима
0BE8: raknet bit_stream 1@ read_array 2@ size 69 // записываем в выделенную память(первый байт - ид пакета, всё остальное - синхронизация игрока(68 байт))

0C0D: struct 2@ offset 15 size 4 = -90.0 // в данные битстрима установим значение -90.0. Это будет координата Z в синхронизации.

0BEA: raknet bit_stream 1@ reset_write_pointer // сбрасываем указатель записи в битстриме
0B40: raknet bit_stream 1@ write 2@ type BS_TYPE_ARRAY size 69 // записываем новые данные

0AC9: free 2@ // освобождаем, т.к. выделенная память больше не нужна, все данные уже хранятся в перезаписанном битстриме
end
0BE0: raknet hook_ret 20@
end
cmd_ret
 

VADE

Новичок
36
1
Как это убрать?
ghAc9Ik.png

Код:
CLEO:
alloc 0@ 256
format 0@ "Паспорт%cМед.карта%cЛицензии%cВыписка%cПередать деньги%cПожать руку%cПодарить цветы%cУзнать номер%cИстория ников%cИнформация" 0xA 0xA 0xA 0xA 0xA 0xA 0xA 0xA 0xA
0B3B: samp show_dialog id 40 caption "My Menu by {ffff00}SNART" text 0@ button_1 "{ffff00}Выбрать" button_2 "{7b7b7b}Закрыть" style 2
free 0@
 

Trashmas

Новичок
40
0
Мне надо создать несколько иконок на радаре, как их всех записать в один массив что бы потом удалить одним опкодом?
 

Durules

Новичок
6
0
Уже есть готовый опкод
https://www.blast.hk/wiki/opcodes:0afd
CLEO:
{$CLEO .cs}
0000: NOP
repeat
wait 1000
until 0afa:

while true
wait 0
if 0ab0: 49
then
0AFD: samp set_special_action 10 // например 10 поднять руки вверх, больше анимаций по ссылке.
wait 1000
end
end
if 0ab0: 49 это активация ?