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

MogAika

Известный
Автор темы
Друг
237
441
Мне нужно в буфер текст записывать который не известен заранее.
В справке написано, что можно записать, но не написано как.
Или скажите как форматировать текст в hex.
Например
hex
"Count:" 20 "%d" 00
end
Как установить значение %d?

http://gtag.gtagaming.com/opcode-database/opcode/0AC8/
http://gtag.gtagaming.com/opcode-database/opcode/0AD3/
+Смотри новые опкоды последнего sampfuncs
 

Thomas_Johnson

Известный
Проверенный
183
21
Открыл исходник Dgun, появились вопросы:
Код:
:NONAME_3471
wait 0
5@ = SAMP.RegisterClientCommand()
0AD4: 4@ = 5@ format "%d%d" 1@ 2@ //запоминаем: оружее - 1@, патроны 2@
if or
  1@ == 24
  1@ == 25
  1@ == 29
  1@ == 30
  1@ == 31
  1@ == 33
jf @NONAME_3577
0AB1: call_scm_func @NONAME_3758 2 1@ 2@ //зачем это и что это делает?
jump @NONAME_3756
 
:NONAME_3577
0AF8: samp add_message_to_chat " *Ошибка синтаксиса команды! Правильный ввод '/givegun [ID gun] [patron]'" 16777215 
0AF8: samp add_message_to_chat " *ID доступных оружий - 24(Deagle), 25(Shotgun), 29(MP5), 30(AK-47), 31(M4), 33(Rifle)" 16777215 
 
:NONAME_3756
SAMP.CmdRet
 
:NONAME_3758
wait 0
2@ = SAMP.Base() //перезаписываем патроны в самп
2@ += 22112
0A8C: write_memory 2@ size 1 value 195 virtual_protect 1
SAMP.WriteModuleMemory("samp.dll", 23792, 12718080, 3)
Model.Load(#DESERT_EAGLE)
Model.Load(#CHROMEGUN)
Model.Load(#M4)
Model.Load(#AK47)
Model.Load(#MP5LNG)
Model.Load(#CUNTGUN)
wait 500
01B2: give_actor $PLAYER_ACTOR weapon 0@ ammo 1@ //патроны оказались в 1@, а оружее в 0@ - КАК?
 

spiceman

GOWNIK <3
104
35
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Как еще можно получить хэндл персонажа, убившего меня?
Мой способ:

Код:
0A96: 0@ = actor $player_actor struct
0@ += 0x764
0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0
0AEA: 2@ = actor_struct 1@ handle
 

DubStep_

Известный
292
52
Как повернуть перса в сторону координат, например: 0000.00, 0000.00 ?

И есть ли опкод который проверяет на то что диалог закрыт? Типо этого not SAMP.ChatInputOpened
 

spiceman

GOWNIK <3
104
35
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Как повернуть перса в сторону координат, например: 0000.00, 0000.00 ?

И есть ли опкод который проверяет на то что диалог закрыт? Типо этого not SAMP.ChatInputOpened
Код:
0604: get_Z_angle_for_point 0.0 0.0 store_to 6@
Actor.Angle($player_actor) = 6@

Код:
8B4C: samp is_dialog_active -1
 
  • Нравится
Реакции: Thomas_Johnson

Thomas_Johnson

Известный
Проверенный
183
21
Код:
{$CLEO}
{$Include includes\RakNetDefines.txt}
0000:
// GetSampBase
if not 0@ = SAMP.Base()
then 0A93: end_custom_thread
end
 
while not SAMP.Available()
    wait 100
end
 
wait 3000
0B2E: 4@ = read_module_memory "samp.dll" offset 0x14E20 size 2
 
while true
wait 0
    if 0ab0: 54
    then
    0AD1: show_formatted_text_highpriority "MOD ~g~ON" 4000
        repeat
        0B2D: write_module_memory "samp.dll" offset 0x14E20  value 0xC390 size 2 
        0B3D: raknet 1@ = new_bit_stream
        0B40: raknet bit_stream 1@ write 10 type BS_TYPE_INT size 4
        0B41: raknet send_rpc RPC_PICKEDUPPICKUP bit_stream 1@ priority PRIORITY_HIGH reliability RELIABLE_SEQUENCED ordering_channel 0 shift_timestamp false
        wait 1
        until 0ab0: 55
    0B2D: write_module_memory "samp.dll" offset 0x14E20  value 4@ size 2
    0AD1: show_formatted_text_highpriority "MOD ~r~OFF" 4000
    end
end
В чем ошибка? Крашит при активации
Что за ноп такой?
 

Избранный

Новичок
198
30
Можно ли не выходя из игры перезагрузить скрипт?
Код:
{$VERSION 3.1.0027}
{$CLEO .cs}
thread "REBOOT "
 
:REBOOT
wait 0   
if and
0AB0:  key_pressed 17
0AB0:  key_pressed 49   
        Player.Defined(0)
jf @REBOOT
0ABA: end_custom_thread_named 'TCLEO'
wait 50
0A92: create_custom_thread "TEST_CLEO.cs"
wait 1000
jump @REBOOT


И у меня вопрос, что прописать в скрипте чтобы улететь в такую загрузку? (именно чтоб появлялась надпись "загрузка")
sa-mp-335.png