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

Levkas

Новичок
8
0
А можно сделать ограничение на выполнение скрипта по компьютерному времени с кд допустим в 1 час?
 

01EG

Известный
Проверенный
629
346
А можно сделать ограничение на выполнение скрипта по компьютерному времени с кд допустим в 1 час?
Можно, для этого получаешь время с компьютера(нужно работать с памятью) во время активации скрипта.
После этого добавляешь к переменной которая хранит в себе час, например 0@ += 1 (было 13 часов и когда будет 14 часов, + минуты сохраняются сами по себе с секундами). После этого придется каждую секунду проверять время компьютера и когда оно наступит, то скрипт выполнит работу.
Это практично, только в одном случаи ловить пэидеи на А-РП.
Для основы скачай скрипт от hnnssy в нем открыт исходник и играйся с этим всем. Попробуй выполнять скрипт на маленькие промежутки времени.
Надеюсь, хоть немного помог в твоем вопросе.
 
  • Нравится
Реакции: Сэнд

Perojek)0

Известный
205
3
С чем может быть связано некорректная работа опкода 0AD3?
Ибо когда я через него пытаюсь записать, что-то в переменную
В итоге там получается какой-то бред
 

Levkas

Новичок
8
0
Можно, для этого получаешь время с компьютера(нужно работать с памятью) во время активации скрипта.
После этого добавляешь к переменной которая хранит в себе час, например 0@ += 1 (было 13 часов и когда будет 14 часов, + минуты сохраняются сами по себе с секундами). После этого придется каждую секунду проверять время компьютера и когда оно наступит, то скрипт выполнит работу.
Это практично, только в одном случаи ловить пэидеи на А-РП.
Для основы скачай скрипт от hnnssy в нем открыт исходник и играйся с этим всем. Попробуй выполнять скрипт на маленькие промежутки времени.
Надеюсь, хоть немного помог в твоем вопросе.
Да помог, но я понял что такую идею не осуществить, просто обойти это кд можно будет выходом из игры или же на компе если время перевести
 

Perojek)0

Известный
205
3
слово - strstr https://www.blast.hk/wiki/opcodes:0c18
все, кроме строки - 0AD4:
Не очень понял :c
Можешь по подробнее объяснить?

CLEO:
{$CLEO}
{$INCLUDE SF}
0000:

repeat
    wait 10000
until 0AFA:  is_samp_available

while true
wait 0
if
0ADC:   test_cheat "5"
then
0AC8: 0@ = allocate_memory_size 128
0AD3: 0@ = format "А ты уверен? =)"
0C18: 1@ = strstr string1 0@ string2 "Ты"
0B78: log "strstr -> %s" 1@
0AC9: free_allocated_memory 0@
end
end
В консоль выводит "strstr -> (null)"
 
Последнее редактирование:

Mikha Mikhin

Новичок
131
4
Код должен показывать местоположение игрока на экране уже на нарисованной карте.
В чём-то ошибка. Ни 1 действие не выполняется, но текстура рисуется (не там где надо, конечно). Ошибка не в первых 4-ёх строках или загрузке текстуры (её я тут не показал).

ХЭЭЭЛП

P.S. 5-ая и 6-ая строка делят координаты игрока на масштаб карты, чтобы была возможность нарисовать метку на экране.
 
Последнее редактирование:

_[DrBadBoy]_

Новичок
1
0
Я пишу скрипт для сервера аризона РП, я сделал 2 такой же скрипт потому что в одном скрипте ни чего не работало, но теперь 2-й скрипт работает прекрастно, а вот первый вообще не телепортирует, а если и телепортирует, то не туда. Прошу помочь мне решить эту проблему. Т.к я начинающий CLEO скриптер, и не всегда сам могу понять суть проблемы.
Вот код 1 скрипта (странички)
CLEO:
{$CLEO}
0000:

repeat
wait 0
until samp.Available()
chatmsg "[{008000}Hospital-Exit{ffffff}] by {008000}DrBadBoy" 0xFFFFFF
0B34: samp register_client_command "he" to_label @2

repeat
    wait 0
    if
        0B3C: samp is_dialog_responded id 17 button 1@ list_item 3@ input_text 0
    then
  

            if 3@ == 0
            then
            077E: get_active_interior_to 4@
            if 4@ > 0
            then
            0972: put_actor $PLAYER_ACTOR at -2168.512 -927.5859 1701.086 no_offset                   //áàíê (íàâåðíîå)
            end
            end

            if 3@ == 2
            then
            077E: get_active_interior_to 4@
            if 4@ > 0
            then
            0972: put_actor $PLAYER_ACTOR at -2168.512 -927.5859 1701.086 no_offset
            wait 3500
            0972: put_actor $PLAYER_ACTOR at 1174.52 -1323.22 14.78 no_offset
            end
            end
        
            if 3@ == 3
            then
            077E: get_active_interior_to 4@
            if 4@ > 0
            then
            0972: put_actor $PLAYER_ACTOR at -2168.512 -927.5859 1701.086 no_offset
            wait 3500
            0972: put_actor $PLAYER_ACTOR at -2668.83 637.28 14.45 no_offset
            end
            end
        
            if 3@ == 4
            then
            077E: get_active_interior_to 4@
            if 4@ > 0
            then
            0972: put_actor $PLAYER_ACTOR at -2168.512 -927.5859 1701.086 no_offset
            wait 3500
            0972: put_actor $PLAYER_ACTOR at 1607.35 1817.38 10.82 no_offset
    
            end
            end
        
            if 3@ == 1
            then
            077E: get_active_interior_to 4@
            if 4@ > 0
            then
            0AB6: store_target_marker_coords_to 5@ 6@ 7@
            0972: put_actor $PLAYER_ACTOR at -2168.512 -927.5859 1701.086 no_offset
            wait 3500
            04E4: refresh_game_renderer_at 5@ 6@
            03CB: set_rendering_origin_at 5@ 6@ 7@                                                     //ìåòêà
            02CE: 12@ = ground_z_at 5@ 6@ 10000.0
            0972: put_actor $PLAYER_ACTOR at 5@ 6@ 7@ no_offset
            end
            end
  

        
    
end
until false     
                                                                              
:2
0AC8: 0@ = allocate_memory_size 296                                                                                                                 //Äèàëîã âûáîðà (êóäà âûéòè)
0ad3: format_stirng 0@ = "{ffffff}Áàíê%cÌåòêà%cÁîëüíèöà {ffdc33}LS%c{ffffff}Áîëüíèöà {002137}SF%c{ffffff}Áîëüíèöà {8a6642}LV%" 0xA 0xA 0xA 0xA 0xA 0xA
0B3B: samp show_dialog id 17 caption "{808080}Hospital {ff0000}Exit" text 0@ button_1 "Âûáðàòü" button_2 "Âûõîä" style 2
0AC9: free_allocated_memory 0@
samp.CmdRet()
]


А вот второй скрипт (вторая страничка)

CLEO:
{$CLEO}
0000:

repeat
wait 0
until samp.Available()
chatmsg "[{008000}Hospital-Exit{ffffff}] Page-2. By {008000}DrBadBoy" 0xFFFFFF
0B34: samp register_client_command "he2" to_label @1


repeat
    wait 0
    if
        0B3C: samp is_dialog_responded id 17 button 1@ list_item 3@ input_text 0
    then
  

            if 3@ == 0
            then
            077E: get_active_interior_to 4@
            if 4@ > 0
            then
            0972: put_actor $PLAYER_ACTOR at -2168.512 -927.5859 1701.086 no_offset
            wait 3500                                                                            // 1lvl
            0972: put_actor $PLAYER_ACTOR at 1763.8253 -1895.3142 13.562 no_offset
            end
            end
        
            if 3@ == 1
            then
            077E: get_active_interior_to 4@
            if 4@ > 0
            then
            0972: put_actor $PLAYER_ACTOR at -2168.512 -927.5859 1701.086 no_offset
            wait 3500
            0972: put_actor $PLAYER_ACTOR at 193.1556 -107.0034 1.548 no_offset                  // 4lvl
            end
            end
        
            if 3@ == 2
            then
            077E: get_active_interior_to 4@
            if 4@ > 0
            then
            0972: put_actor $PLAYER_ACTOR at -2168.512 -927.5859 1701.086 no_offset
            wait 3500                                                                            //8lvl
            0972: put_actor $PLAYER_ACTOR at 2846.5769 1290.4949 11.3906 no_offset
    
            end
            end
        

            
    
end
until false     
                                                                              
:1
0AC8: 0@ = allocate_memory_size 296                                                                                                                 //Äèàëîã âûáîðà (êóäà âûéòè)
0ad3: format_stirng 0@ = "{ffffff}Âîêçàë {ffdc33}LS%c{ffffff}Äåðåâóøêà {ffdc33}LS%c{ffffff}Âîêçàë {8a6642}LV%" 0xA 0xA 0xA 0xA 0xA 0xA
0B3B: samp show_dialog id 17 caption "{808080}Hospital {ff0000}Exit-2" text 0@ button_1 "Âûáðàòü" button_2 "Âûõîä" style 2
0AC9: free_allocated_memory 0@
samp.CmdRet()
]

Вот во втором скрипте всё работает а в первом перестало, хотя раньше работало. Прошу помочь.
 
Последнее редактирование:

MISTER_GONWIK

Всефорумный гонщик
Всефорумный модератор
1,260
1,742
Код должен показывать местоположение игрока на экране уже на нарисованной карте.
В чём-то ошибка. Ни 1 действие не выполняется, но текстура рисуется (не там где надо, конечно). Ошибка не в первых 4-ёх строках или загрузке текстуры (её я тут не показал).

ХЭЭЭЛП

P.S. 5-ая и 6-ая строка делят координаты игрока на масштаб карты, чтобы была возможность нарисовать метку на экране.
почему вот ты не задебажил свой скрипт, почему ты ждёшь того, что это сделают за тебя? я вот смотрю на тебя, ты только тут и пишешь, и я уверен более чем, что ты сам толком то и не старался как-то найти причину неправильных расчётов, завязывай с этим. "Вопросы по скриптингу", это не "Найдите ошибку за меня, потому что мне лень, если не найдете, я буду флудить", и не нужно писать, что ты занимаешься скриптингом совсем мало, раз начал изучать его, то и учись искать ошибки и исправлять их сам

CLEO:
Actor.StorePos($PLAYER_ACTOR, 3@, 4@, 5@)
0092: 3@ = float 3@ to_integer
0092: 4@ = float 4@ to_integer
0092: 5@ = float 5@ to_integer

0B5A: get_screen_resolution 1@ 2@
1@ /= 2
2@ /= 2
3@ /= 21
4@ /= 21
005A: 3@ += 1@
005A: 4@ += 2@
3@ -= 1
4@ -= 1
24d2913cda.png
 
Последнее редактирование:

Maksim_Kuzeev

Новичок
2
0
Не знал в какую тему отписать, напишу сюда скачал Killer от нико http://rghost.ru/8f8XcTNwL после загрузки окна сампа сразу крашит игра, наверное это из-за того что клео закриптовано от криптора ворона, можно это как-то исправить?
 

Mikha Mikhin

Новичок
131
4
почему вот ты не задебажил свой скрипт, почему ты ждёшь того, что это сделают за тебя? я вот смотрю на тебя, ты только тут и пишешь, и я уверен более чем, что ты сам толком то и не старался как-то найти причину неправильных расчётов, завязывай с этим. "Вопросы по скриптингу", это не "Найдите ошибку за меня, потому что мне лень, если не найдете, я буду флудить", и не нужно писать, что ты занимаешься скриптингом совсем мало, раз начал изучать его, то и учись искать ошибки и исправлять их сам

CLEO:
Actor.StorePos($PLAYER_ACTOR, 3@, 4@, 5@)
0092: 3@ = float 3@ to_integer
0092: 4@ = float 4@ to_integer
0092: 5@ = float 5@ to_integer

0B5A: get_screen_resolution 1@ 2@
1@ /= 2
2@ /= 2
3@ /= 21
4@ /= 21
005A: 3@ += 1@
005A: 4@ += 2@
3@ -= 1
4@ -= 1
24d2913cda.png
Спасибо, но почему не делятся минусовые интеджеры?

Не знал в какую тему отписать, напишу сюда скачал Killer от нико http://rghost.ru/8f8XcTNwL после загрузки окна сампа сразу крашит игра, наверное это из-за того что клео закриптовано от криптора ворона, можно это как-то исправить?
Можно. Установить SAMPFUNCS ;-)
 
Последнее редактирование модератором:

MISTER_GONWIK

Всефорумный гонщик
Всефорумный модератор
1,260
1,742
Спасибо, но почему не делятся минусовые интеджеры?
я тебе даже скрин правильных расчётов предоставил, сам разбирайся где ты там косячишь, я тебе написал полноценно рабочий кусок кода
 

Perojek)0

Известный
205
3
CLEO:
{$CLEO}
{$INCLUDE SF}
0000:

repeat
    wait 10000
until 0AFA:  is_samp_available

while true
wait 0
    if
    0ADC:   test_cheat "5"
    then
        0AC8: 0@ = allocate_memory_size 128
        0AC8: 1@ = allocate_memory_size 128
        0AC8: 2@ = allocate_memory_size 128
        0AD3: 0@ = format "228 1337"
        0AD3: 1@ = format "228"
        0C18: 2@ = strstr string1 0@ string2 1@
                if
                0C14: strcmp string1 1@ string2 2@
                then
                0B78: log "%d" 2@
                end
        0AC9: free_allocated_memory 0@
        0AC9: free_allocated_memory 1@
        0AC9: free_allocated_memory 2@
    end
end
В чём ошибка?