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

pwned

Участник
142
5
Как восстановить все значения персонажа по серверу, т.е. все его жизни, его скиллы,
CLEO:
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP 
0662: printstring "ebal_this_script" 

:start
8AFA:   not is_samp_available 
004D: jump_if_false @1
0001: wait 1337 ms 
0002: jump @start

:1
0B34: samp register_client_command "sskill" to_label @2

:LOL
0001: wait 0 ms 
0002: jump @LOL

:2
0B12: 1@ = 1@ XOR 1 
00D6: if 
0039:   1@ == 1 
004D: jump_if_false @3
0627: update_integer_stat 72 to 101.0 
0627: update_integer_stat 78 to 102.0 
0627: update_integer_stat 71 to 103.0 
0627: update_integer_stat 76 to 104.0 
0627: update_integer_stat 79 to 105.0 
0627: update_integer_stat 77 to 106.0 
0627: update_integer_stat 70 to 107.0 
0AF8: samp add_message_to_chat "{00FF00}[FakeSkill] {ffffff}Ñêðèïò{32CD32} âêëþ÷¸í." color 16777215 
0002: jump @4

:3
0AF8: samp add_message_to_chat "{00FF00}[FakeSkill] {ffffff}Ñêðèïò{32CD32} âûêëþ÷åí." color 16777215 
0627: update_integer_stat 101.0 to 72
0627: update_integer_stat 102.0 to 78
0627: update_integer_stat 103.0 to 71 
0627: update_integer_stat 104.0 to 76
0627: update_integer_stat 105.0 to 79
0627: update_integer_stat 106.0 to 77 
0627: update_integer_stat 107.0 to 70

:4
0B43: samp cmd_ret
Нужно где :3 сделать, что бы скиллы возвращались назад, пробовал вернуть значения назад, но не работает, пробовал еще opcode 0625, тоже не робит
Думаю если есть какой то opcode, который восстанавливает все характеристика перса по серверу как бы, то его туда запихнуть, так что вот, помогите

А возврат не хочешь прописать?
 

Guin

Новичок
23
0
CLEO:
{$CLEO}
0000:

repeat
wait 0
until 0AFA:  is_samp_available

0B34: samp register_client_command "cmd" to_label @cmd

WHILE TRUE
wait 0
    IF 0@ == 1
    THEN
        say "текст 1"
        wait 2000
        say "текст 2"
        wait 2000
        say "текст 3"
        wait 2000
        say "текст 4"
        wait 2000
        say "текст 5 %d" 3@
        0@ = 0
    END
END

:cmd                       
0B35: samp 1@ = get_last_command_params  
IF 0AD4: 2@ = scan_string 1@ format "%d" 3@
THEN
    0@ = 1                           
END
0B43: samp cmd_ret

Сделайте пжлст так, что бы в конце текста 3 и текста 5 писалась буква которую я укажу в команде
 
1,417
1,035
CLEO:
{$CLEO}
0000:

repeat
wait 0
until 0AFA:  is_samp_available

0B34: samp register_client_command "cmd" to_label @cmd

WHILE TRUE
wait 0
    IF 0@ == 1
    THEN
        say "текст 1"
        wait 2000
        say "текст 2"
        wait 2000
        say "текст 3"
        wait 2000
        say "текст 4"
        wait 2000
        say "текст 5 %d" 3@
        0@ = 0
    END
END

:cmd                      
0B35: samp 1@ = get_last_command_params 
IF 0AD4: 2@ = scan_string 1@ format "%d" 3@
THEN
    0@ = 1                          
END
0B43: samp cmd_ret

Сделайте пжлст так, что бы в конце текста 3 и текста 5 писалась буква которую я укажу в команде
CLEO:
{$CLEO}
0000:

repeat
wait 0
until 0AFA:  is_samp_available

0B34: samp register_client_command "cmd" to_label @cmd

WHILE TRUE
wait 0
    IF 0@ == 1
    THEN
        say "текст 1"
        wait 2000
        say "текст 2"
        wait 2000
        say "текст 3 %s" 3@
        wait 2000
        say "текст 4"
        wait 2000
        say "текст 5 %s" 3@
        0@ = 0
    END
END

:cmd                     
0B35: samp 1@ = get_last_command_params 
IF 0AD4: 2@ = scan_string 1@ format "%s" 3@v
THEN
    0@ = 1                         
END
0B43: samp cmd_ret
 

Guin

Новичок
23
0
CLEO:
{$CLEO}
0000:

repeat
wait 0
until 0AFA:  is_samp_available

0B34: samp register_client_command "cmd" to_label @cmd

WHILE TRUE
wait 0
    IF 0@ == 1
    THEN
        say "текст 1"
        wait 2000
        say "текст 2"
        wait 2000
        say "текст 3 %s" 3@
        wait 2000
        say "текст 4"
        wait 2000
        say "текст 5 %s" 3@
        0@ = 0
    END
END

:cmd                
0B35: samp 1@ = get_last_command_params
IF 0AD4: 2@ = scan_string 1@ format "%s" 3@v
THEN
    0@ = 1                    
END
0B43: samp cmd_ret


Теперь самп зависает когда доходит до текста 3
И кажется я не полностью объяснил. Мне нужно было что бы когда я ввожу команду с id и буквой, в тексте 5 писался ид и буква, а в тексте 3 только та же буква
 
1,417
1,035
Теперь самп зависает когда доходит до текста 3
И кажется я не полностью объяснил. Мне нужно было что бы когда я ввожу команду с id и буквой, в тексте 5 писался ид и буква, а в тексте 3 только та же буква
CLEO:
{$CLEO}
0000:

repeat
wait 0
until 0AFA:  is_samp_available

0B34: samp register_client_command "cmd" to_label @cmd

WHILE TRUE
wait 0
    IF 0@ == 1
    THEN
        say "текст 1"
        wait 2000
        say "текст 2"
        wait 2000
        say "текст 3 %s" 3@
        wait 2000
        say "текст 4"
        wait 2000
        say "текст 5 %d %s" 4@ 3@
        0@ = 0
    END
END

:cmd                  
0B35: samp 1@ = get_last_command_params
IF 0AD4: 2@ = scan_string 1@ format "%d %s" 4@ 3@v
THEN
    0@ = 1                      
END
0B43: samp cmd_ret
 

Gnusmus_Cool

Известный
44
4
А возврат не хочешь прописать?
CLEO:
{$CLEO}

0662: printstring "ebal_this_script"
0B34: samp register_client_command "sskill" to_label @cmd

while true
wait 0
    IF AND 
    0256:   player $PLAYER_CHAR defined 
    0@ == 1
    THEN
        0627: update_integer_stat 72 to 1000.0 
        0627: update_integer_stat 78 to 1000.0 
        0627: update_integer_stat 71 to 1000.0 
        0627: update_integer_stat 76 to 1000.0 
        0627: update_integer_stat 79 to 1000.0 
        0627: update_integer_stat 77 to 1000.0 
        0627: update_integer_stat 70 to 1000.0 
    END
END

:cmd
0B12: 0@ = 0@ XOR 1
IF 0@ == 0
THEN
printf "Cleo skill ~r~off" 1000
ELSE
printf "Cleo skill ~g~on" 1000
END
cmdret
Так? Если да, то писал и он не робит, если нет, то как написать?
 

Guin

Новичок
23
0
CLEO:
{$CLEO}
0000:

repeat
wait 0
until 0AFA:  is_samp_available

0B34: samp register_client_command "cmd" to_label @cmd

WHILE TRUE
wait 0
    IF 0@ == 1
    THEN
        say "текст 1"
        wait 2000
        say "текст 2"
        wait 2000
        say "текст 3 %s" 3@
        wait 2000
        say "текст 4"
        wait 2000
        say "текст 5 %d %s" 4@ 3@
        0@ = 0
    END
END

:cmd                 
0B35: samp 1@ = get_last_command_params
IF 0AD4: 2@ = scan_string 1@ format "%d %s" 4@ 3@v
THEN
    0@ = 1                     
END
0B43: samp cmd_ret

Всё равно самп виснет на тексте 3,
ввожу к примеру /cmd 2 m
доходит очередь до третьего текста и самп зависает
 

BlackKnigga

Известный
BH Team
922
448
1,417
1,035
Всё равно самп виснет на тексте 3,
ввожу к примеру /cmd 2 m
доходит очередь до третьего текста и самп зависает
CLEO:
{$CLEO}
0000:

repeat
wait 0
until 0AFA:  is_samp_available

0B34: samp register_client_command "cmd" to_label @cmd

WHILE TRUE
wait 0
    IF 0@ == 1
    THEN
        say "text 1"
        wait 2000
        say "text 2"
        wait 2000
        say "text 3 %s" 3@v
        wait 2000
        say "text 4"
        wait 2000
        say "text 5 %d %s" 4@ 3@v
        0@ = 0
    END
END

:cmd                
0B35: samp 1@ = get_last_command_params
IF 0AD4: 2@ = scan_string 1@ format "%d %s" 4@ 3@v
THEN
    0@ = 1                    
END
0B43: samp cmd_ret
 

LaRossa

Потрачен
429
117
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Если опкод который проверяет что игрок выстрелил ? Не актер а именно игрок

02E0: actor $PLAYER_ACTOR firing_weapon