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

AWRage

Активный
642
141
В чат пишет кракозябры какие-то. Что здесь не так?
CLEO:
{$CLEO}
0000:
wait 2000
alloc 10@ 256
alloc 11@ 256
alloc 12@ 256
alloc 15@ 256
0AD3: 10@ = format "[R] Rage_Wrek[6]: /kek 228 10 Prost"

0AA5: call 0x8220AD num_params 8 pop 8 params 11@ 0@v 1@v 12@ 2@v 13@ "[R] %s[%i]: %s %i %i %s" 10@
0AD3: 15@ = format "-> %s %i %i %s" 12@ 1@ 0@ 11@
0AF8: 15@ color -1
0A93: end_custom_thread
 
Последнее редактирование:

Bogach

Активный
558
27
Ребята, подскажите пожалуйста, допустим мне нужно в информационный диалог вывести 30 строк.
Например:
1. строка
2. строка
3. строка
.......
30. строка
ну т.е в этих строках будет некая информация, как мне быть?
 

Woofing Giraffe

Активный
402
49
Конечно хз, но вроде как ник читается в одну строку, а ты его пытаешься разделить
 

AWRage

Активный
642
141
А как мене в строку записать %s %i %i %s? Пробовал уже и так:
CLEO:
{$CLEO}
0000:

repeat
wait 0
until samp.available

0AC8: 10@ = allocate_memory_size 256
0AD3: 10@ = format "%ci" 37
0AF8: "%s" color -1 10@
0A93: end_custom_thread
И так:
[
CLEO:
{$CLEO}
0000:

repeat
wait 0
until samp.available

0AC8: 10@ = allocate_memory_size 256
0AD3: 10@ = format "%%i"
0AF8: "%s" color -1 10@
0A93: end_custom_thread
Но толку никакого. В чате кракозябры, хотя на вики написано, что два процента "%%" при форматировании заменят один процент "%".
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,460
А как мене в строку записать %s %i %i %s? Пробовал уже и так:
CLEO:
{$CLEO}
0000:

repeat
wait 0
until samp.available

0AC8: 10@ = allocate_memory_size 256
0AD3: 10@ = format "%ci" 37
0AF8: "%s" color -1 10@
0A93: end_custom_thread
И так:
[
CLEO:
{$CLEO}
0000:

repeat
wait 0
until samp.available

0AC8: 10@ = allocate_memory_size 256
0AD3: 10@ = format "%%i"
0AF8: "%s" color -1 10@
0A93: end_custom_thread
Но толку никакого. В чате кракозябры, хотя на вики написано, что два процента "%%" при форматировании заменят один процент "%".
Вывод строки в чат преобразует ещё сам самп. В нём, возможно, баг.
Пробуй со стандартными опкодами вывода информации
 

Vovich

HOT
Проверенный
717
197
Но толку никакого. В чате кракозябры, хотя на вики написано, что два процента "%%" при форматировании заменят один процент "%".
хз, попробуй так я не проверял работоспособность.
Код:
{$CLEO}
0000:
repeat
wait 150
until 0afa:
alloc 1@ 128
alloc 2@ 128
alloc 3@ 128
alloc 4@ 128
alloc 5@ 128
alloc 6@ 128
alloc 15@ 128
0AD3: 10@ = format "[R] Rage_Wrek[6]: /kek 228 10 Prost"
0AA5: call 0x8220AD num_params 8 pop 8 params 1@ 2@v 3@v 4@ 5@v 6@ "[R] %[A-Za-z][%d]: %[^\r\n]%*1[\r\n] %d %d %[^\r\n]%*1[\r\n]" 10@
0AD3: 15@ = format "-> nick: %s | id: %d | cmd: %s | id2: %d | кол-во: %d | причина: %s" 6@ 5@ 4@ 3@ 2@ 1@
chatmsg 15@ color -1
0A93: end_custom_thread
 

AWRage

Активный
642
141
хз, попробуй так я не проверял работоспособность.
Код:
{$CLEO}
0000:
repeat
wait 150
until 0afa:
alloc 1@ 128
alloc 2@ 128
alloc 3@ 128
alloc 4@ 128
alloc 5@ 128
alloc 6@ 128
alloc 15@ 128
0AD3: 10@ = format "[R] Rage_Wrek[6]: /kek 228 10 Prost"
0AA5: call 0x8220AD num_params 8 pop 8 params 1@ 2@v 3@v 4@ 5@v 6@ "[R] %[A-Za-z][%d]: %[^\r\n]%*1[\r\n] %d %d %[^\r\n]%*1[\r\n]" 10@
0AD3: 15@ = format "-> nick: %s | id: %d | cmd: %s | id2: %d | кол-во: %d | причина: %s" 6@ 5@ 4@ 3@ 2@ 1@
chatmsg 15@ color -1
0A93: end_custom_thread
Не работает :(
 

AWRage

Активный
642
141
Как узнать сколько параметров в строке?

0AD4: 0@ = scan_string 1format "%i %i %i %i %i " | Не работает так как нельзя сканировать стринг на стринг.

P.S. Ответы на прошлын вопросы нашёл.
 

hnnssy

Известный
Друг
2,684
2,750
Как узнать сколько параметров в строке?

0AD4: 0@ = scan_string 1format "%i %i %i %i %i " | Не работает так как нельзя сканировать стринг на стринг.

P.S. Ответы на прошлын вопросы нашёл.
%i - не стринг.
Можно перебором побайтовым и считать пробелы.
 

Bogach

Активный
558
27
Ребята, подскажите пожалуйста, допустим мне нужно в информационный диалог вывести 30 строк.
Например:
1. строка
2. строка
3. строка
и т.д
ну т.е в этих строках будет некая информация, как мне быть?

 

Lightkiller

Известный
Всефорумный модератор
557
397
Ребята, подскажите пожалуйста, допустим мне нужно в информационный диалог вывести 30 строк.
Например:
1. строка
2. строка
3. строка
и т.д
ну т.е в этих строках будет некая информация, как мне быть?

{$CLEO}
{$INCLUDE SF}
0000:
repeat
wait 0
until samp.Available()

0b34: "cmd" @cmd
while true
wait 0
end

:cmd
0AC6: 0@ = label @label offset
0B3B: samp show_dialog id 123 caption "Название диалога" text 0@ button_1 "Закрыть" button_2 "" style 0
Samp.Cmdret()

:label
hex
"{FF0000}1. строка" A
"{FF0000}2. строка" A
"{FF0000}3. строка" 00

end
 
Последнее редактирование:

Bogach

Активный
558
27
Привет ещё разок.
Делал ГМ по уроку от Тарки, в общем - то, сделал вроде бы как точь в точь как у него, но при активации скрипта, начинаются дикие лаги, подскажите что не так в скрипте?
Код:
{$CLEO .cs}

{$NOSOURCE}
0000:

:GM_ON
wait 0 ms
0ADC:   test_cheat "GM" // êàê ÷èò êîä - íå â ÷àò
jf @GM_ON
02AB: set_actor 0@ immunities BP 1 FP 1 EP 1 CP 1 MP 1
0ACD: show_text_highpriority "GM ~G~ON" time 500

:GM_LOOP
wait 0 ms
8ADC:  not test_cheat "GM" // êàê ÷èò êîä - íå â ÷àò
jf @GM_OFF
02AB: set_actor 0@ immunities BP 1 FP 1 EP 1 CP 1 MP 1
jump @GM_LOOP

:GM_OFF
02AB: set_actor 0@ immunities BP 0 FP 0 EP 0 CP 0 MP 0
0ACD: show_text_highpriority "GM ~R~OFF" time 500
jump @GM_ON
 

DubStep_

Известный
292
52
Привет ещё разок.
Делал ГМ по уроку от Тарки, в общем - то, сделал вроде бы как точь в точь как у него, но при активации скрипта, начинаются дикие лаги, подскажите что не так в скрипте?
Код:
{$CLEO .cs}

{$NOSOURCE}
0000:

:GM_ON
wait 0 ms
0ADC:   test_cheat "GM" // êàê ÷èò êîä - íå â ÷àò
jf @GM_ON
02AB: set_actor 0@ immunities BP 1 FP 1 EP 1 CP 1 MP 1
0ACD: show_text_highpriority "GM ~G~ON" time 500

:GM_LOOP
wait 0 ms
8ADC:  not test_cheat "GM" // êàê ÷èò êîä - íå â ÷àò
jf @GM_OFF
02AB: set_actor 0@ immunities BP 1 FP 1 EP 1 CP 1 MP 1
jump @GM_LOOP

:GM_OFF
02AB: set_actor 0@ immunities BP 0 FP 0 EP 0 CP 0 MP 0
0ACD: show_text_highpriority "GM ~R~OFF" time 500
jump @GM_ON
Прекращай гавнокодить. (Сам таким был)

CLEO:
{$CLEO .cs}
0000:
repeat
    wait 707
until $707 > 15 //SF > 5.2.*

while true
    if
    0ADC:   test_cheat "GM"
    then                                                  
        02AB: set_actor $3 immunities BP 1 FP 1 EP 1 CP 1 MP 1 
        0ACD: show_text_highpriority "GM ~G~ON" time 500  
            wait 322
            while 8ADC:  not test_cheat "GM"
            wait 0
            end                
        02AB: set_actor $3 immunities BP 0 FP 0 EP 0 CP 0 MP 0 
        0ACD: show_text_highpriority "GM ~R~OFF" time 500
        wait 322
    end
wait 0
end
Не помню, $3 или $2 надо для гм
 
  • Нравится
Реакции: hnnssy

Bogach

Активный
558
27
Прекращай гавнокодить. (Сам таким был)

CLEO:
{$CLEO .cs}
0000:
repeat
    wait 707
until $707 > 15 //SF > 5.2.*

while true
    if
    0ADC:   test_cheat "GM"
    then                                                
        02AB: set_actor $3 immunities BP 1 FP 1 EP 1 CP 1 MP 1
        0ACD: show_text_highpriority "GM ~G~ON" time 500
            wait 322
            while 8ADC:  not test_cheat "GM"
            wait 0
            end              
        02AB: set_actor $3 immunities BP 0 FP 0 EP 0 CP 0 MP 0
        0ACD: show_text_highpriority "GM ~R~OFF" time 500
        wait 322
    end
wait 0
end
Не помню, $3 или $2 надо для гм
Скрипт написан, точь в точь как в видеоуроке у Таирки)
 
Последнее редактирование: