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

hnnssy

Известный
Друг
2,684
2,762
ставить хук на ClientMessage и сканировать строку на +, дальше получить ид отправителя и заюзать команду
 

kraft1k

Вынь х*й из головы и все получится © hnnssy
Друг
1,480
1,168
не так не робит, вот что у меня получилось, вроде так все пашет
CLEO:
while true
wait 0
    if
    00E1:   player 0 pressed_key 5
    then
       print "mwup" 50
    end

    if
    00E1:   player 0 pressed_key 7
    then
       print "mwdown" 50
    end
end
Я думал 5 и 7 это другие кнопки.
3bfd7c8f55b14b44bcb93bf655be4ef4.png
( Допер, ты используешь игровые клавиши)
bcc00e6d61be42b58d2b0fea1b013365.png
 

FunTan

Известный
31
0
Подскажите, как использовать 0B8C: samp is_cursor_active с циклом while?
Нужно, что бы цикл крутился, пока активен курсор. Как только курсор пропал (например, закрыли диалог) цикл заканчивается.

Дайте какой-нибудь самый тупой пример куском кода. Голова гудит, не могу допереть до самого простого.
 

FunTan

Известный
31
0

И еще вопрос. В этом цикле у меня обрабатываются значения в 4 переменных. Затем значения этих четырех переменных нужно представить номером другой переменной. Например, есть значение в переменной 1@ = 10, мне нужно, что бы в следующей команде 0BCA: samp send_click_textdraw у меня нажало на текстдрав с номером, занесенным переменную 10.



Надеюсь, понятно объяснил. Если есть варианты лучше - буду только рад идеям.
 

FunTan

Известный
31
0
If не вариант, если что. Гору IFов могу и так натыкать, задача как раз в минимизации.
 

iTz_WEEZY

Известный
298
88
Как правильно делать табуляцию?
Давно слышал о этом слове "Табуляция" но как делать я без понимания.
Часто пишу огромный код но где-то забываю прописать END и при компиляции редактор не подсвечивает место ошибки.
потом приходится около часа залипать в код и искать где же сцука нету End'a
 

FrediSaal

Известный
37
0
CLEO:
{$CLEO .cs}
0000: NOP

repeat
wait 0
until samp.Available()

0B34: samp register_client_command "null" to_label @hp // команда /null - включить/выключить скрипт

While True
wait 0
if 3@ == 1
then
if
0AD2: 0@ = player $PLAYER_CHAR targeted_actor
then
0B2B: samp 1@ = get_player_id_by_actor_handle 0@
0B25: samp 2@ = get_player_health 1@
if 2@ <= 0
then
0AF8: samp add_message_to_chat "У игрока ID[%d] %d ХП" -1 1@ 2@
wait 500
end
end
end
end
     
:hp
0B12: 3@ = 3@ XOR 1
if 3@ == 1
then
0acd: "~y~[~r~NULL HP~y~] ~y~ON" 1500
else
0acd: "~y~[~r~NULL HP~y~] ~y~OFF" 1500
end
SAMP.Cmdret()
Спасибо, все работает, а вот где написано "У игрока ID d ХП" можно как-то заменить на строку Наёмный убийца FarTa выполнил контракт на RAGE и забрал 15000$
 

Perojek)0

Известный
205
3
Как правильно делать табуляцию?
Давно слышал о этом слове "Табуляция" но как делать я без понимания.
Часто пишу огромный код но где-то забываю прописать END и при компиляции редактор не подсвечивает место ошибки.
потом приходится около часа залипать в код и искать где же сцука нету End'a
Tab
 

Dark_Knight

Me, me and me.
Друг
4,081
2,099
Регистрируешь хук и выполняешь хук как цыкл. Ставь на паузу и юзай правильный рет.
 
  • Нравится
Реакции: ishi