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

MISTER_GONWIK

Всефорумный гонщик
Всефорумный модератор
1,260
1,740
Hey,
How to write number from 0 to 999999 without string error?





When i open REC.ini, I see this:


[997]
TICK=1
[998]
TICK=1
[999]
TICK=1
[1000 ¥Œ–B„] // WTF?
TICK=1
[1001¥Œ–B„] // WTF?
TICK=1
[1002 ] // WTF?
TICK=1


[0] to [999] Works. If bigger>than 999 = bugged chars.
Howto fix this?

PHP:
call @numbers_to_text 2 2@ 2 return: 12@
:numbers_to_text
var
    0@: int
    1@: int
    4@: int
    5@: int
end
0AC8: 4@ = 1@
5@ = 1@
0C0D: struct 4@ offset 5@ size 1 = 0
5@--
1@--
for 3@ = 0 to 1@
0B14: 2@ = 0@ MOD 10
0@ /= 10
2@ += 0x30
0C0D: struct 4@ offset 5@ size 1 = 2@
5@--
end
ret 1 4@

i am noob :(
 

Opcode.eXe

Известный
84
112
I dont understand howto use that function. Can you give an example?

for 0@ = 0 to 5000
wait 0
call @numbers_to_text 2 0@ 2 return: 1@v
0AF1: write_int 0@ to_ini_file "cleo\REC.ini" section 1@v key "TICK"
end
 

_DK

Новичок
7
20
sprintf можно попробовать.
Код:
for 0@ = 0 to 5000
    wait 0
    0AA5: call 0x821BB5 num_params 3 pop 3 _val 0@ _format "%d" _outp 1@v
    0AF1: write_int 0@ to_ini_file "cleo\REC.ini" section 1@v key "TICK"
end
 

Vadik220v

Новичок
20
0
Что не так? Почему ничего не вставляется? Должно вставлять, текст, что находится в буфере.
Код:
{$CLEO .cs}
29@ = SAMP.Base()
:17
 
wait 400
SAMP.Available
jf @17
:4
 
wait 0
if
0ab0: 49
jf @4
wait 0
if
0AA2: 0@ = load_library "User32.dll"
jf @2
wait 0
if
0AA4: 1@ = get_proc_address "OpenClipboard" library 0@
jf @2
0AA5: call 1@ num_params 1 pop 0 0
wait 0
if
0AA4: 1@ = get_proc_address "GetClipboardData" library 0@
jf @2
0AA5: call 1@ num_params 1 pop 0 1
wait 0
if
0AA4: 1@ = get_proc_address "CloseClipboard" library 0@
jf @2
0AA5: call 1@ num_params 0 pop 0
0AF8: samp add_message_to_chat "Сработало" color 0xFF61BB
:1
wait 0
if
8ab0: 49
jf @1
:2
0AA3: free_library 0@
jump @4
 

SR_team

like pancake
BH Team
4,720
6,369
Что не так? Почему ничего не вставляется? Должно вставлять, текст, что находится в буфере.
Код:
{$CLEO .cs}
29@ = SAMP.Base()
:17
 
wait 400
SAMP.Available
jf @17
:4
 
wait 0
if
0ab0: 49
jf @4
wait 0
if
0AA2: 0@ = load_library "User32.dll"
jf @2
wait 0
if
0AA4: 1@ = get_proc_address "OpenClipboard" library 0@
jf @2
0AA5: call 1@ num_params 1 pop 0 0
wait 0
if
0AA4: 1@ = get_proc_address "GetClipboardData" library 0@
jf @2
0AA5: call 1@ num_params 1 pop 0 1
wait 0
if
0AA4: 1@ = get_proc_address "CloseClipboard" library 0@
jf @2
0AA5: call 1@ num_params 0 pop 0
0AF8: samp add_message_to_chat "Сработало" color 0xFF61BB
:1
wait 0
if
8ab0: 49
jf @1
:2
0AA3: free_library 0@
jump @4

Попробуй так:
PHP:
{$CLEO .cs}
29@ = SAMP.Base()
if
0AA2: 0@ = load_library "User32.dll"
jf @Pizda
if and
0AA4: 1@ = get_proc_address "OpenClipboard" library 0@
0AA4: 2@ = get_proc_address "GetClipboardData" library 0@
0AA4: 3@ = get_proc_address "CloseClipboard" library 0@
jf @Boroda
:17
wait 400
SAMP.Available
jf @17
 
:4
wait 0
if
0ab0: 49
jf @4
:1
wait 0
if
8ab0: 49
jf @1
0AA5: call 1@ num_params 1 pop 0 0
wait 30
0AA5: call 2@ num_params 1 pop 0 1
wait 30
0AA5: call 3@ num_params 0 pop 0
0AF8: samp add_message_to_chat "Сработало" color 0xFF61BB
jump @4
 
:Boroda
0AA3: free_library 0@
:Pizda
0A93: end_custom_thread
 

Chesko

Новичок
31
13
Каким-нибудь образом можно проверить SetPlayerTag? Конкретно нужно проверить в маскировке игрок или нет. Т.е есть ли над его головой ник или нет.
 

fonarik

Известный
206
3
Каким-нибудь образом можно проверить SetPlayerTag? Конкретно нужно проверить в маскировке игрок или нет. Т.е есть ли над его головой ник или нет.

Может проверить на существование 3d текста в координатах игрока
 

fonarik

Известный
206
3
Почему у меня не правильно работает?
8@ = Actor.Health($player_actor)
0ACD: show_text_highpriority "~r~%d" time 1500 8@ // отображает %d
А если
8@ = Actor.Health($player_actor)
0AF8: samp add_message_to_chat "%d" color 0xFF61BB 8@ // нормально
как исправить?
 

Sneyk_Next

Новичок
7
0
Добрый день, как правильно работать с Unoccupied dat'ой
У меня вот что получилось, думаю тут много неправильностей

Код:

Код:
:1
0b35: samp 30@ = get_last_command_params
if 0ad4: 29@ = scan_string 30@ format "%d" 31@
then
if
0AFF: samp 3@ = car_handle_from_samp_carid 31@
Actor.StorePos($PLAYER_ACTOR,1@,2@,4@)
0B2B: samp 3@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0B24: samp 3@ = get_player_ptr 3@
3@ += 177
0B3D: raknet 1@ = new_bit_stream
0B40: raknet bit_stream 1@ write PACKET_UNOCCUPIED_SYNC type BS_TYPE_BYTE size 1
0B42: raknet bit_stream 1@ priority PRIORITY_HIGH reliability RELIABLE_SEQUENCED ordering_channel 0
0B3E: raknet delete_bit_stream 1@
Car.PutAt(3@,1@,2@,4@)
0b43:
 

Opcode.eXe

Известный
84
112
sprintf можно попробовать.
Код:
for 0@ = 0 to 5000
    wait 0
    0AA5: call 0x821BB5 num_params 3 pop 3 _val 0@ _format "%d" _outp 1@v
    0AF1: write_int 0@ to_ini_file "cleo\REC.ini" section 1@v key "TICK"
end


Код:
{$CLEO .cs}
0000:
0662: NOP "#########################"
0662: NOP "___Made by Opcode.eXe___"
0662: NOP "Www.Youtube.Com/OpcodeXe"
0662: NOP "#########################"
 
31@ = 0
WHILE TRUE
WAIT 0
    if
    0ADC:  test_cheat "LOOP"
    then
        11@ = 1
        0ACD: show_text_highpriority "LOOP on." time 1337
        018C: play_sound 1083 at 0.0 0.0 0.0
        for 10@ = 1 to 9999
            WAIT 0
            11@ += 1
            0AD3: 1@v = format "VAL%d" 11@
            0AF1: write_int 10@ to_ini_file "cleo\LOOOGZ.ini" section 1@v key "intKey"
        end
    end
END
 
Open .ini:
[VAL1]
intKey=1

THIS WORKS. NO PROBLEM. NO ERRORS.

Now i want to store player angle and i get string error:

Код:
{$CLEO .cs}
0000:
0662: NOP "#########################"
0662: NOP "___Made by Opcode.eXe___"
0662: NOP "Www.Youtube.Com/OpcodeXe"
0662: NOP "#########################"
 
31@ = 0
WHILE TRUE
WAIT 0
    if
    0ADC:  test_cheat "R"
    then
        0ACD: show_text_highpriority "LOOP on." time 1337
        018C: play_sound 1083 at 0.0 0.0 0.0
        for 0@ = 1 to 9999
            WAIT 0
            0AD3: 1@v = format "VAL%d" 0@
            2@ = Actor.Angle($PLAYER_ACTOR)
            0AF3: write_float 2@ to_ini_file "cleo\LOOOGZ.ini" section  1@v key "intKey"
        end
    end
END
 
Open .ini:
[VAL1      Ïþ9]
intKey=256.0

Howto fix this?
 

schokk

Новичок
10
0
Вобщем, у меня такая проблема. Когда пытаюсь написать сообщение в чат
Код:
0AF9: samp say_msg "рандомная х*ня"
в чат отправляются только 2 варнинга и вместо "рандомная х*ня" пустая строка.
Не подскажете, как это исправить?
Кстати с 0AF8: samp add_message_to_chat такая же ситуация
 

SR_team

like pancake
BH Team
4,720
6,369
Код:
{$CLEO .cs}
0000:
0662: NOP "#########################"
0662: NOP "___Made by Opcode.eXe___"
0662: NOP "Www.Youtube.Com/OpcodeXe"
0662: NOP "#########################"
 
31@ = 0
WHILE TRUE
WAIT 0
    if
    0ADC:  test_cheat "LOOP"
    then
        11@ = 1
        0ACD: show_text_highpriority "LOOP on." time 1337
        018C: play_sound 1083 at 0.0 0.0 0.0
        for 10@ = 1 to 9999
            WAIT 0
            11@ += 1
            0AD3: 1@v = format "VAL%d" 11@
            0AF1: write_int 10@ to_ini_file "cleo\LOOOGZ.ini" section 1@v key "intKey"
        end
    end
END
 
Open .ini:
[VAL1]
intKey=1

THIS WORKS. NO PROBLEM. NO ERRORS.

Now i want to store player angle and i get string error:

Код:
{$CLEO .cs}
0000:
0662: NOP "#########################"
0662: NOP "___Made by Opcode.eXe___"
0662: NOP "Www.Youtube.Com/OpcodeXe"
0662: NOP "#########################"
 
31@ = 0
WHILE TRUE
WAIT 0
    if
    0ADC:  test_cheat "R"
    then
        0ACD: show_text_highpriority "LOOP on." time 1337
        018C: play_sound 1083 at 0.0 0.0 0.0
        for 0@ = 1 to 9999
            WAIT 0
            0AD3: 1@v = format "VAL%d" 0@
            2@ = Actor.Angle($PLAYER_ACTOR)
            0AF3: write_float 2@ to_ini_file "cleo\LOOOGZ.ini" section  1@v key "intKey"
        end
    end
END
 
Open .ini:
[VAL1      Ïþ9]
intKey=256.0

Howto fix this?

Use int.
Opcodes: 0AF0 and 0AF1