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

123321123123321

Новичок
13
0
Wait не работает в callback функциях, выноси в беск. цикл.
я просто в этом деле совсем туговат, ну я ток джаву учил до этого, можешь объяснить как выносить в беск. цикл? типо еще один лейбл вызывать в этом и в нем уже выполнять все действия?
 

Musaigen

abobusnik
Проверенный
1,583
1,302
я просто в этом деле совсем туговат, ну я ток джаву учил до этого, можешь объяснить как выносить в беск. цикл? типо еще один лейбл вызывать в этом и в нем уже выполнять все действия?
while true
wait 0
if 0@ == 1 then
// code
0@ = 0
end
 

123321123123321

Новичок
13
0
Wait не работает в callback функциях, выноси в беск. цикл.
но конечно огромное спасибо за подсказку

while true
wait 0
if 0@ == 1 then
// code
0@ = 0
end
стой а куда его вставлять? у меня же обработчик команды это callback функция, а в коде что ты кинул есть wait, а wait на работает в callback функциях и куда

while true
wait 0
if 0@ == 1 then
// code
0@ = 0
end
всё, понял тебя братан, от души за помощь все получилось)
 

strngexit

Потрачен
30
12
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

D[a]ni1910

Новичок
38
0
если можно подпишись на даркпикселя и прежде чем задвать вопрос прочекай названия всех его видосов.
[C++] {$CLEO} {$NOSOURCE} 0000: 8028: not $707 >= 16 jf @1 0A93: вырубит - Pastebin.com(https://pastebin.com/a3hpdhnM)
вот код, в добавок могу сказать, если ты не разберешься или не удосужишься полностью посмотреть, то код работает так, что отправляет пули во всех в зоне стрима, но сама функа там есть и структра заполнена, т.е. можешь легко переделать под себя и вызывать через колскм так как тебе нужно


Ты вообще понимаешь что ты пишешь ? Почему мы должны разбираться за тебя в том, что ты хочешь сделать. Как я вообще понял это скрипт для админов на каком-то сервере для проведения МП. Окей, давайте разбираться со смыслом написанного кода.
1) Почему ты выводишь в чат онли для себя сообщения ? Я кажись понимаю для чего, типо затестить на левом сервере, а потом переделать на /o . Как бы понятно, но почему об этом не заявить для всех ? Почему ты колор 0 поставил ? разве тебе удобно будет тестить и смотреть на черно-черный шрифт в чат ? Ладно, это мелочь
2) Я надеюсь у тебя скрипт не должен тпшить всех кто тебе "+" в чат на пишит на мп, так как у тебя для этого нету вообще никакой функции
3) У тебя в хелп хуйне /mpk (id) - кикнуть игрока, а выводить должно строку, но как оно выведет строку с ником, если ты не получаешь ник игрока по ИДу
опкодом
CLEO:
0B36: samp 2@ = get_player_nickname 1@
Окей пройдемся по смыслу этой команды, как бы тут должен вестись /mpk 228 и игрок должен кикнуться и в /o написать что игрока кикнули, бо он лох нарушил правила МП..
4) в /mpwin та же хуйня, что и с предыдущим пунктом и да дополню к двум этим пунктам, что у тебя на сервере нихуя не напишет, а только выполнит первую команду(если там система антифлуда есть), по-этому тебе энивей надо создать цикл и там выполнять большинство действий будет, потому что задержку в кмд-лабеле(колбеке) нельзя поставить
5) /mprul должны выводить правила, но правила должны где-то быть написаны, откуда скипт их будет читать, либо проще сделать заготовленных 10 мпшек и просто на них назначить разную команду /mprulcs /mprulpryatki . Но что делает

Когда дописываю этот ответ замечаю, что уже 11, а сел писать его в 10, просто проебал на тебя, как минимум полчаса.
После этого напрочь отпало какое либо желания помогать тебе в будущем, дальше разбирайся сам, а если бы написал с первого раза, как я попросил нормально обьяснить, что тебе надо, то уже бы всё было готово. Закоментировал нерабочий код, что бы тебе было проще в будущем разобраться.

Запомни: если пару дней проучился на механика в колледже, не нужно лезть собирать машину с нуля, а лучше постараться брать другие ненужные тебе поломанные машины и менять в них свечи и еще какую-то хуйню.

ебать просто обидно после такого, когда человек, которому нужна помощь тратит меньше времени на само дело, даже пример в том, что ты поленился даже описать проблему, а просто в тупую ктрл+с ктрл+в код и ушел.
Бля сори, просто кабель инета порвался и не мог в инет заходить и что то написать, Спасибо огромное
 

H.e.a.v.e.n.l.y

Участник
98
4
скрипт который при запуске игры меняет на тот скин который мы указали в ини плизз скиньте
 

123321123123321

Новичок
13
0
хелп проблема с эмуляцией нажатия клавиш!
wait 5000 ms
0C72: set_virtual_key 40 down true
wait 150
0C72: set_virtual_key 40 down false
wait 500
0C72: set_virtual_key 40 down true
wait 150
0C72: set_virtual_key 40 down false
wait 500
0C72: set_virtual_key 13 down true
wait 500
0C72: set_virtual_key 13 down false
wait 3000
0AC8: 4@ = allocate_memory_size 512
wait 500
0BD7: samp get_dialog_text 4@
есть такой код который считывает информацию из меню, ну типо к примеру возьмем drp, там меню это статистика, вопрос админам и все такое, мой скрипт работает так, проходит несколько пунктов жмёт ENTER, но почему то после нажатия ENTER, окно диалога просто исчезает!, что делать? я ставил задержку самую разную, и пока вариантов как сделать скрипт по другому нет

Ребят хелп! Оч. сложное мне кажется действие в исполнение, но я надеюсь тут не пальцем деланные люди, вообщем, сам в скриптинге я не долго, и пока не сильно знаю про массивы тут, вот есть такой опкод который получает весь текст с диалога (серверного ну или своего) и заносит в строковый массив 0@ (буфер типо), мне нужно найти допустим в диалоге слово "админ", вот я получил весь текст диалога занес в буфер, и как дальше? ну типо как найти в массиве нужное слово? if 0@ == "админ"? или как?
 

Ivanffd

Потрачен
15
1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Меня уже давно интересует вопрос автоматизации действий в SA-MP, т.е перенос интеллекта обычных PED-ов: полицейских, интеллект банд, и прочее. Например, постом выше я писал скрипт позволяющий автоматически ходить по карте, всё это для беспалевности в связке с Анти-Афк. Хотелось бы очень сделать скрипт погони за определённым игроком, используя интеллект копов в одиночке. Что думаете на этот счёт?
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
хелп проблема с эмуляцией нажатия клавиш!
wait 5000 ms
0C72: set_virtual_key 40 down true
wait 150
0C72: set_virtual_key 40 down false
wait 500
0C72: set_virtual_key 40 down true
wait 150
0C72: set_virtual_key 40 down false
wait 500
0C72: set_virtual_key 13 down true
wait 500
0C72: set_virtual_key 13 down false
wait 3000
0AC8: 4@ = allocate_memory_size 512
wait 500
0BD7: samp get_dialog_text 4@
есть такой код который считывает информацию из меню, ну типо к примеру возьмем drp, там меню это статистика, вопрос админам и все такое, мой скрипт работает так, проходит несколько пунктов жмёт ENTER, но почему то после нажатия ENTER, окно диалога просто исчезает!, что делать? я ставил задержку самую разную, и пока вариантов как сделать скрипт по другому нет

Ребят хелп! Оч. сложное мне кажется действие в исполнение, но я надеюсь тут не пальцем деланные люди, вообщем, сам в скриптинге я не долго, и пока не сильно знаю про массивы тут, вот есть такой опкод который получает весь текст с диалога (серверного ну или своего) и заносит в строковый массив 0@ (буфер типо), мне нужно найти допустим в диалоге слово "админ", вот я получил весь текст диалога занес в буфер, и как дальше? ну типо как найти в массиве нужное слово? if 0@ == "админ"? или как?
пробуй не ентером закрывать а спец опкодом
strstr ищет подстроку в строке
Как можно использовать больше 8 условий не создавая новый лабел?
никак, скм ограничивает тебя в таком

Меня уже давно интересует вопрос автоматизации действий в SA-MP, т.е перенос интеллекта обычных PED-ов: полицейских, интеллект банд, и прочее. Например, постом выше я писал скрипт позволяющий автоматически ходить по карте, всё это для беспалевности в связке с Анти-Афк. Хотелось бы очень сделать скрипт погони за определённым игроком, используя интеллект копов в одиночке. Что думаете на этот счёт?
молодец дерзай я верю в тебя
 

123321123123321

Новичок
13
0
пробуй не ентером закрывать а спец опкодом
strstr ищет подстроку в строке

никак, скм ограничивает тебя в таком


молодец дерзай я верю в тебя
блять ты топ, от души за стр стр стр стр стр стрс стсрсстстрртсртс

пробуй не ентером закрывать а спец опкодом
strstr ищет подстроку в строке

никак, скм ограничивает тебя в таком


молодец дерзай я верю в тебя
бляяя куда тебя целовать два дня искал этот опкод и он работает как надо кайф!
 

san0

Известный
Друг
411
267
Если правильно понял
CLEO:
{$CLEO}

086A: NOP

:main_loop
while true
    wait 0
    if and
    0C89: key_just_pressed 0x71     // F2
    8B4C: samp is_dialog_active -1
    then
        0AF9: samp say_msg "/mn"  
        gosub @has_dialog_changed
       
        0BC9: samp send_dialog_response dialog 1@ button 1 listitem 2 input ""            
        gosub @has_dialog_changed
      
        0BB0: samp 0@ = get_dialog_info_ptr
        0@ += 0x34
        0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
        if 0C18: 2@ = strstr string1 0@ string2 "админ:"
        then
            0af8: "Sucessfully found" -1
        else
            0af8: "Could not find pattern" -1
        end     
    end
end

:has_dialog_changed
33@ = 0
0B4E: samp 0@ = get_current_dialog_id
while true
    wait 0
    if 33@ < 5000
    jf @main_loop
  
    0B4E: samp 1@ = get_current_dialog_id
    if 803B: 1@ == 0@  // (int)
    then
        0af8: "Dialog has changed from %u to %u" -1 0@ 1@
        break
    end
end
return
ny ok, а как записать в переменные координаты прицела?
Это куда пушка показывает
CLEO:
{$CLEO}
0000: NOP

const
    SIZE = 40
    SIZE_DIV = 20
end

while true
    wait 0
    if 056D: actor $PLAYER_ACTOR defined
    then
        0AA6: call_method 0x514970 struct 0xB6F028 num_params 6 pop 0 pVecEndPoint 0@v pVecCamera 3@v fSrc 3@v fRange 15.0
      
        SAMP.Convert3DCoordsToScreen(0@, 1@, 2@, 3@, 4@)
        3@ -= SIZE_DIV
        4@ -= SIZE_DIV
        Render.DrawBox(3@, 4@, SIZE, SIZE, 0xFF1A1A1A)
    end
end
Что думаете на этот счёт?
Очень крутая идея! Правда, мне кажется, через опкоды клео всю функциональность классов AI вызвать будет сложно (как минимум, поддержка callback'ов). Еще, насколько помню, некоторые из генераторов и прочие мелкие штучки AI запатчены в сампе (хотя, может и не повлиет на работу)
 

NookieONE

Участник
128
1
Hello.
Если скрипт без антикрашера вылетает - проблема в скрипте.
Или это нормально?