- 2,865
- 1,649
НУ если базу клея знаешь, на луа не сложно перейти, вики оч поможетжаль, блин, обидно, аааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааа. Я ни того, ни того не знаю ;(
НУ если базу клея знаешь, на луа не сложно перейти, вики оч поможетжаль, блин, обидно, аааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааа. Я ни того, ни того не знаю ;(
(есть все функции для работы с нуль-терминированными строками со string.h)в клео нельзя нормально распарсить строку
А вообще можно просто заюзать strstr и добавить 14 (длина 'текст:{XXXXXX}')
const
PATTERN = "Текст:"
SPACE = 0x20
end
0C3A: 0@ = string "абвгдеоывшвоasd Текст:{FF00} Нужный текст" ptr
0C18: 1@ = strstr string1 0@ string2 PATTERN
0C2A: 2@ = strchr 1@ char SPACE
2@ ++
0af8: 2@ -1
0BE3: raknet setup_incoming_rpc_hook @in_rpc
0BDE: pause_thread 0
:in_rpc
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID
if 0@ == 73
then
alloc 5@ 130
0BE5: raknet 1@ = get_hook_param PARAM_BITSTREAM
0BE7: raknet 2@ = bit_stream_read 1@ type BS_TYPE_SHORT
0BE7: raknet 3@ = bit_stream_read 1@ type BS_TYPE_INT
0BE7: raknet 4@ = bit_stream_read 1@ type BS_TYPE_BYTE
0BE7: raknet 5@ = bit_stream_read 1@ type BS_TYPE_ARRAY
chatmsg "text hooks: %d %d %d %s" -1 2@ 3@ 4@ 5@
free 5@
end
0BE0: raknet hook_ret true
Ку всем, как можно получить текст из gametext?
Не робит, посмотрел видосы даркпикселя, там про пакеты, а нужно про рпц.CLEO:0BE3: raknet setup_incoming_rpc_hook @in_rpc 0BDE: pause_thread 0 :in_rpc 0BE5: raknet 0@ = get_hook_param PARAM_PACKETID if 0@ == 73 then alloc 5@ 130 0BE5: raknet 1@ = get_hook_param PARAM_BITSTREAM 0BE7: raknet 2@ = bit_stream_read 1@ type BS_TYPE_SHORT 0BE7: raknet 3@ = bit_stream_read 1@ type BS_TYPE_INT 0BE7: raknet 4@ = bit_stream_read 1@ type BS_TYPE_BYTE 0BE7: raknet 5@ = bit_stream_read 1@ type BS_TYPE_ARRAY chatmsg "text hooks: %d %d %d %s" -1 2@ 3@ 4@ 5@ free 5@ end 0BE0: raknet hook_ret true
:iRPC
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID
IF 0@ == 73
THEN
0BE5: raknet 1@ = get_hook_param PARAM_BITSTREAM
0BE7: raknet 2@ = bit_stream_read 1@ type BS_TYPE_INT //style
0BE7: raknet 3@ = bit_stream_read 1@ type BS_TYPE_INT //time
0BE7: raknet 4@ = bit_stream_read 1@ type BS_TYPE_INT
0AC8: 5@ = allocate_memory_size 125
0BE8: raknet bit_stream 1@ read_array 5@ size 4@
0C1E: array 5@ element 4@ el_size 1 = 0
// 5@ - text
0AC9: free_allocated_memory 5@
END
0BE0: raknet hook_ret TRUE
Нет такого опкода. Нужно лезть в структуру handling'a.Возможно ли изменить занос машины? Дайте пожайлуста опкод, если такой есть
{$CLEO}
0000:
repeat
wait 0
until samp.Available()
0B34: samp register_client_command "cmd" to_label @on
0B34: samp register_client_command "cmdoff" to_label @off
while true
wait 0
if 0@ == 1
then
if and
actor.Driving()
00EE: actor $PLAYER_ACTOR sphere 0 near_point -2028.4377 155.0860 radius 6.0 6.0 in_car
then
03C0: 10@ = actor $PLAYER_ACTOR car
00A7: car 10@ drive_to 2562.1201 -1297.4176 1044.1250
end
end
end
:on
0@ = 1
samp.CmdRet()
:off
0@ = 0
samp.CmdRet()
{$CLEO}
0000:
repeat
wait 0
until 0afa:
WHILE TRUE
wait 0
if
call @is_cp_active_LS 0
then
31@ = 0
call @get_cp_pos_LS 0 0@ 1@ 2@
if and
0@ == 1554.532104
1@ == -1675.580688
2@ == 16.195313
then
31@ = 1
if
31@ == 1
then
31@ = 4
018C: play_sound 1052 at 0.0 0.0 0.0
chatmsg "text1" -1
end
end
if and
0@ == 2287.257813
1@ == 2431.447998
2@ == 10.820302
then
31@ = 2
if
31@ == 2
then
31@ = 4
018C: play_sound 1052 at 0.0 0.0 0.0
chatmsg "text2" -1
end
end
if and
0@ == -1605.046143
1@ == 711.501038
2@ == 13.867177
then
31@ = 3
if
31@ == 3
then
31@ = 4
018C: play_sound 1052 at 0.0 0.0 0.0
chatmsg "text2" -1
end
end
end
END // END WHILE TRUE
:is_cp_active_LS
0AA2: 0@ = loadlib "samp.dll"
0A8E: 1@ = 0@ + 0x21A10C
0A8D: 1@ = readMem 1@ sz 4 vp 0
1@ += 0x24
0A8D: 1@ = readMem 1@ sz 4 vp 0
IF 1@ == TRUE
THEN 0485: return_true
ELSE 059A: return_false
END
0AA3: freelib 0@
0AB2: ret 0
:get_cp_pos_LS
0AA2: 0@ = loadlib "samp.dll"
0A8E: 1@ = 0@ + 0x21A10C
0A8D: 1@ = readMem 1@ sz 4 vp 0
1@ += 0xC
0A8D: 2@ = readMem 1@ sz 4 vp 0
1@ += 0x4
0A8D: 3@ = readMem 1@ sz 4 vp 0
1@ += 0x4
0A8D: 4@ = readMem 1@ sz 4 vp 0
0AA3: freelib 0@
0AB2: ret 3 2@ 3@ 4@
Поставь задержку.Ребят, ну помогите мне пожалуйста )) Уже 2 недели прошло и я не имог решить проблему. Мне нужно чтобы текст сработал только один раз, вот код. Маркер статичный.
CLEO:{$CLEO} 0000: repeat wait 0 until 0afa: WHILE TRUE wait 0 if call @is_cp_active_LS 0 then 31@ = 0 call @get_cp_pos_LS 0 0@ 1@ 2@ if and 0@ == 1554.532104 1@ == -1675.580688 2@ == 16.195313 then 31@ = 1 if 31@ == 1 then 31@ = 4 018C: play_sound 1052 at 0.0 0.0 0.0 chatmsg "text1" -1 end end if and 0@ == 2287.257813 1@ == 2431.447998 2@ == 10.820302 then 31@ = 2 if 31@ == 2 then 31@ = 4 018C: play_sound 1052 at 0.0 0.0 0.0 chatmsg "text2" -1 end end if and 0@ == -1605.046143 1@ == 711.501038 2@ == 13.867177 then 31@ = 3 if 31@ == 3 then 31@ = 4 018C: play_sound 1052 at 0.0 0.0 0.0 chatmsg "text2" -1 end end end END // END WHILE TRUE :is_cp_active_LS 0AA2: 0@ = loadlib "samp.dll" 0A8E: 1@ = 0@ + 0x21A10C 0A8D: 1@ = readMem 1@ sz 4 vp 0 1@ += 0x24 0A8D: 1@ = readMem 1@ sz 4 vp 0 IF 1@ == TRUE THEN 0485: return_true ELSE 059A: return_false END 0AA3: freelib 0@ 0AB2: ret 0 :get_cp_pos_LS 0AA2: 0@ = loadlib "samp.dll" 0A8E: 1@ = 0@ + 0x21A10C 0A8D: 1@ = readMem 1@ sz 4 vp 0 1@ += 0xC 0A8D: 2@ = readMem 1@ sz 4 vp 0 1@ += 0x4 0A8D: 3@ = readMem 1@ sz 4 vp 0 1@ += 0x4 0A8D: 4@ = readMem 1@ sz 4 vp 0 0AA3: freelib 0@ 0AB2: ret 3 2@ 3@ 4@
спавн караДайте опкод, что бы добавить на машину нитро, если есть такой и на спавн машины. Спасибо
model.Load(0@) // прогружаем машину
car.Create(1@,0@, x y z) // хендл, ид машины, позиция x, y, z
038B: load_requested_models
09E9: car 34@ add_single_nitro