CLEO:{$CLEO} {$NOSOURCE} 0000: repeat wait 0 until SAMP.Available() 0B34: samp register_client_command "test" to_label @metka 23@ = 0 :SetServPos wait 0 if 23@ == 1 jf @SetServPos if 0B61: samp is_local_player_spawned jf @SetServPos 0B2B: samp 0@ = get_player_id_by_actor_handle $PLAYER_ACTOR 0AC8: 1@ = allocate_memory_size 68 0BBA: samp store_player 0@ onfoot_data 1@ 0C0D: struct 1@ offset 6 size 4 = -2169.3574 // X 0C0D: struct 1@ offset 10 size 4 = -2380.3093 // Y 0C0D: struct 1@ offset 14 size 4 = 30.6250 // Z 0BC0: samp send_onfoot_data 1@ say "/startfinance" 0AC9: free_allocated_memory 1@ jump @SetServPos 23@ = 0 :metka if 23@ == 1 then 23@ = 0 else 23@ = 1 end Samp.CmdRet()
Эта херь крашит.
Кто может подсказать, почему?
{$CLEO}
{$NOSOURCE}
0000:
repeat
wait 0
until SAMP.Available()
0B34: samp register_client_command "test" to_label @metka
23@ = 0
:SetServPos
wait 0
if 23@ == 1
jf @SetServPos
:1
wait 0
if
0B61: samp is_local_player_spawned
jf @1
0B2B: samp 0@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0AC8: 1@ = allocate_memory_size 68
0BBA: samp store_player 0@ onfoot_data 1@
0C0D: struct 1@ offset 6 size 4 = -2169.3574 // X
0C0D: struct 1@ offset 10 size 4 = -2380.3093 // Y
0C0D: struct 1@ offset 14 size 4 = 30.6250 // Z
0BC0: samp send_onfoot_data 1@
wait 0 \\ по сути здесь нужно указать задержку, так как не одновременно выполняется действие, сначало ты посылаешь синхру на корды
say "/startfinance"
0AC9: free_allocated_memory 1@
jump @1
\\ Это здесь не нужно, если ты прыгаешь после освобождения памяти, то просто напросто скрипт сюда не доходит 23@ = 0
:metka
if 23@ == 1
then
23@ = 0
else
23@ = 1
end
Samp.CmdRet()[
Приятно, что помог тебе, хотя ни разу не работал с синхрами:wall:. Удачи в CLEO:gamer:Большое спасибо :)
Репку поставил, но её почему-то не видно.
Не совсем понимаю, что тебе нужно, но все таки отвечу. Если тебе нужно узнать ид интерьера, как я подумал, то это делается так.Как можно узнать номер вирта, в котором находишься?
:reload
0ABA: end_custom_thread_named "01EGa.k.aDevil1606"
wait 50
0A92: create_custom_thread "01EGa.k.aDevil1606"
wait 50
print "Script was reloaded" 1000
wait 500
0B43: samp cmd_ret
Номер виртуального мира никак не узнать/изменить. Эти данные управляются сервером, а не клиентом.Не то мне нужно. Допустим, я отправляю онфут инфу, что нахожусь в инте, координаты есть. Но команда при этом не работает, т.к виртуальный мир не тот. Вот в чём проблема.
https://www.blast.hk/wiki/tutorials:sf_raknet?s[]=read&s[]=arrayА каким образом это делается? :)
Во первых в командах нельзя задержки ставить, а во вторых юзай 0A93.Не совсем понимаю, что тебе нужно, но все таки отвечу. Если тебе нужно узнать ид интерьера, как я подумал, то это делается так.
09E8: 0@ = actor $PLAYER_ACTOR active_interior
=====
Как правильно перезагружать свое CLEO ?
Когда дохожу до этой метки - игра крашится. Что нужно указывать в 0A92: и в 0ABA: ?Код::reload 0ABA: end_custom_thread_named "01EGa.k.aDevil1606" wait 50 0A92: create_custom_thread "01EGa.k.aDevil1606" wait 50 print "Script was reloaded" 1000 wait 500 0B43: samp cmd_ret
{$CLEO}
{$INCLUDE SF}
0001: wait 0 ms
while not SAMP.Available()
wait 6000
end
0BE3: raknet setup_incoming_rpc_hook @1
0BDE: pause_thread 0
:1
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID
if
0@ == RPC_SCRCLIENTMESSAGE
then
0BE5: raknet 1@ = get_hook_param PARAM_BITSTREAM
0AC8: 6@ = allocate_memory_size 512
0AC8: 7@ = allocate_memory_size 512
0AC8: 8@ = allocate_memory_size 512
0AC8: 9@ = allocate_memory_size 512
0BE7: raknet 6@ = bit_stream_read 1@ type BS_TYPE_SHORT
0BE7: raknet 7@ = bit_stream_read 1@ type BS_TYPE_INT
0BE7: raknet 8@ = bit_stream_read 1@ type BS_TYPE_BYTE
0BE8: raknet bit_stream 1@ read_array 9@ size 8@
0C1E: array 9@ element 8@ el_size 1 = 0
0AC9: free_allocated_memory 6@
0AC9: free_allocated_memory 7@
0AC9: free_allocated_memory 8@
0AC9: free_allocated_memory 9@
0AF8: samp add_message_to_chat 9@ color 7@
end
0BE0: raknet hook_ret true
0104: actor $PLAYER_ACTOR near_actor 1@ radius 15.0 15.0 15.0 sphere 0