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

Wa3riX

Новичок
53
0
О, великие гуру cleo скриптинга! Обращаюсь к вам с последней надеждой. Имею файл я созданный диво-программой sanny builder с расширением .ver . Могу ли я создать сей чудо-скрипт, который перезапишет код из .ver в .txt . Знаю что такое возможно, но не догадываюсь как.....
 

Wa3riX

Новичок
53
0
Тебе походу вообще похрен, что просто берешь и вставляешь код. На:
Код:
{$CLEO}
 
wait 0
 
while not SAMP.Available()
    wait 400
end
 
while true
    wait 0
    0A8D: 29@ = read_memory 0xB74490 size 4 virtual_protect 0
    000A: 29@ += 0x4
    0A8D: 29@ = read_memory 29@ size 4 virtual_protect 0
    for 30@ = 0 to 35584 step 0x100
        0A8D: 31@ = read_memory 29@ size 1 virtual_protect 0
        000A: 29@ += 0x1
        if and
            0029: 31@ >= 0x00
            001B: 0x80 > 31@
        then
            005A: 31@ += 30@
            if 056D: actor 31@ defined
            then
                if 0ab1: call @checkDistBetweenPlayers 3 players $PLAYER_ACTOR 31@ max_dist 10.0
                then
                    0@ = SAMP.GetSAMPPlayerIDByActorHandle(31@)
                    0af9: say "/sellpizza %d 999" 0@
                end
            end
        end
    end
end
 
:checkDistBetweenPlayers                                   
// call @checkDistBetweenPlayers 3 players 0@ 1@ max_dist 2@
var
    2@ : float
    9@ : float
end
Actor.StorePos(0@, 3@, 4@, 5@)
Actor.StorePos(1@, 6@, 7@, 8@)
0509: 9@ = distance_between_XY 3@ 4@ and_XY 6@ 7@
if 9@ <= 2@
then 0ab2: ret 0 1
end
0ab2: ret 0

Не работает, игроков в радиусе не ищет, пишет комманду /sellpizza id 999 по 10 раз в сек...
 

san0

Известный
Друг
411
268
О, великие гуру cleo скриптинга! Обращаюсь к вам с последней надеждой. Имею файл я созданный диво-программой sanny builder с расширением .ver . Могу ли я создать сей чудо-скрипт, который перезапишет код из .ver в .txt . Знаю что такое возможно, но не догадываюсь как.....

Перезаписать опкодами - так
Код:
{$CLEO}
 
0000:
 
while true
    wait 0
    if 0ab0: 0x31
    then
        repeat
            wait 0
        until 8ab0: 0x31
        if and
        0A9A: 0@ = openfile "CLEO\set\car.ver" mode "rt"  // IF and SET
        0A9A: 1@ = openfile "CLEO\set\newfile.txt" mode "wt+"  // IF and SET
        then
            message "Копирование начато" -1
            alloc 3@ 256
            2@ = 0
            while 8AD6: end_of_file 0@ reached
                wait 0
                0AD7: read_string_from_file 0@ to 3@ size 256
                0AD8: write_string_to_file 1@ from 3@ //IF and SET
                2@ ++
            end
            message "Копирование законченно | всего строк %d" -1  2@
            0A9B: closefile 0@
            0A9B: closefile 1@
            free 3@
        end         
    end
end

В противном случае нужно юзать это http://msdn.microsoft.com/en-us/library/windows/desktop/aa365239(v=vs.85).aspx
 

Wa3riX

Новичок
53
0
Перезаписать опкодами - так
Код:
{$CLEO}
 
0000:
 
while true
    wait 0
    if 0ab0: 0x31
    then
        repeat
            wait 0
        until 8ab0: 0x31
        if and
        0A9A: 0@ = openfile "CLEO\set\car.ver" mode "rt"  // IF and SET
        0A9A: 1@ = openfile "CLEO\set\newfile.txt" mode "wt+"  // IF and SET
        then
            message "Копирование начато" -1
            alloc 3@ 256
            2@ = 0
            while 8AD6: end_of_file 0@ reached
                wait 0
                0AD7: read_string_from_file 0@ to 3@ size 256
                0AD8: write_string_to_file 1@ from 3@ //IF and SET
                2@ ++
            end
            message "Копирование законченно | всего строк %d" -1  2@
            0A9B: closefile 0@
            0A9B: closefile 1@
            free 3@
        end       
    end
end

В противном случае нужно юзать это http://msdn.microsoft.com/en-us/library/windows/desktop/aa365239(v=vs.85).aspx

Сенк :) Ты какой то старой закалки кодер :blink: Можно ведь писать key_down вместо 0ab0: 0x31 и т.д
 

Wa3riX

Новичок
53
0
Перезаписать опкодами - так
Код:
{$CLEO}
 
0000:
 
while true
    wait 0
    if 0ab0: 0x31
    then
        repeat
            wait 0
        until 8ab0: 0x31
        if and
        0A9A: 0@ = openfile "CLEO\set\car.ver" mode "rt"  // IF and SET
        0A9A: 1@ = openfile "CLEO\set\newfile.txt" mode "wt+"  // IF and SET
        then
            message "Копирование начато" -1
            alloc 3@ 256
            2@ = 0
            while 8AD6: end_of_file 0@ reached
                wait 0
                0AD7: read_string_from_file 0@ to 3@ size 256
                0AD8: write_string_to_file 1@ from 3@ //IF and SET
                2@ ++
            end
            message "Копирование законченно | всего строк %d" -1  2@
            0A9B: closefile 0@
            0A9B: closefile 1@
            free 3@
        end       
    end
end

В противном случае нужно юзать это http://msdn.microsoft.com/en-us/library/windows/desktop/aa365239(v=vs.85).aspx

Какую кнопку жать?
 

san0

Известный
Друг
411
268
Какую кнопку жать?
Забудь, вот как просто это сделать
0B04: copy_file "CLEO\1.txt" to "CLEO\2.txt" //IF and SET

Сенк :) Ты какой то старой закалки кодер :blink: Можно ведь писать key_down вместо 0ab0: 0x31 и т.д
Кейворд же
 

АндрейЧотак

Известный
80
10
Как сделать проверку на диалог открыт ли он или нет желательно вместе с проверкой что написано в этом диалоге.
 

SR_team

like pancake
BH Team
4,815
6,515
Как сделать проверку на диалог открыт ли он или нет желательно вместе с проверкой что написано в этом диалоге.


PHP:
if 0B4C:  samp is_dialog_active 1@
    then
    0B4D: samp 1@ = get_current_dialog_type
    if or
    1@ == 1
    1@ == 3
        then
        0B4A: samp 1@ = get_current_dialog_editbox_text
        0C17: 1@ = strlen 1@
        if 1@ >= 1
            then 0af8: "true" -1
            else 0af8: "false" -1
            end
        end
    end