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

hnnssy

Известный
Друг
2,684
2,769
како опкод делает нажатие клавишы ?
Нужен MogAikaFUNCS http://blasthack.net/threads/cleo-plugin-mogaikafuncs.867/#post-10032
Код:
0D23: emulate key 14 state 0x0080 in gta
//Эмулирует нажатие клавиши в гта (Клавиши смотреть здесь: Sanny Builder->Помощь->Документация по SCM->GTA SA->Номера клавиш
//state: 0 - не нажата; 0x0080 - нажата, либо джоустик вверх; 0xFF80 - джоустик вниз
 

Избранный

Новичок
198
30
сделайте кто-нибудь урок, как клео скрипты в виде функций оформлять, ну там then end, вся хуйня. а то я как нуб через метки оформляю и через жопу все работает.
 

Dark_Knight

Me, me and me.
Друг
4,083
2,110
сделайте кто-нибудь урок, как клео скрипты в виде функций оформлять, ну там then end, вся хуйня. а то я как нуб через метки оформляю и через жопу все работает.
Зачем копировать справку СБ? Иногда я тоже метки юзаю)
 

alfazlo

Потрачен
128
36
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
А я всегда их юзаю =C
Это нормально, использую функции, если часто пользуюсь одним и тем же куском кода. Только если 1000 раз в цикле вызывать функцию, то сразу увидишь громадную задержку в скорости, по сравнению с использованием тех же опкодов в цикле.
 

Fjord

Новичок
2
0
Вот есть данное меню. Помогите сделать допустим вместо "/help" Чтобы вбивало команду: "/find"
Суть в том чтоб при выборе команды вылазило диалоговое окно с вводом id Код
{$CLEO .cs}

const // Все диалоги SA:MP .
DIALOG_STYLE_MSGBOX = 0 // Диалог с сообщением.
DIALOG_STYLE_INPUT = 1 // Диалог с вводом цифр/букв
DIALOG_STYLE_LIST = 2 // Диалог с выбором функции.
DIALOG_STYLE_PASSWORD = 3 // Не отличается от 1-ого стиля,но тут цифры/буквы заменяются *.
end // Конец видов диалогов.

if 8AF7: get_samp_base_to 0@ // Вызываем SFC - SAMPFUNCS
then 0A93: end_custom_thread
end
repeat
wait 400
until 0AFA: is_samp_structures_available
wait 2000

0AF8: samp add_message_to_chat "> | KpK mod by Shiroganes [Activated.] | <" color 0xFF66FFAA // < пишем свой текст.
0AC8: 4@ = allocate_memory_size 128 // Количество 120 максимальное.
while true
wait 0
if and
0ab0: key_pressed 57
0ab0: key_pressed 56
then
0AD3: string 4@ format "KpK%cПлеер%cHelp" 10 10 // %c означает новую строку.
0B3B: samp show_dialog id 2 caption "[CLEO] kpk by Shiroganes " text 4@ button_1 "Ок" button_2 "Отмена" style DIALOG_STYLE_LIST
while 0AB0: key_pressed 79
wait 20
end
end
if 0B3C: samp dialog_respond 0@ button 1@ list_item 2@ input_text 0 // проверим, был ли закрыт любой диалог, созданный этим CLEO
then
if 0@ == 2
then
if 1@ == 1
then
if 2@ == 0
then
0AF9: samp say_msg "/kpk"
end
if 2@ == 1
then
0AF9: samp say_msg "/player"
end
if 2@ == 2
then
0AF9: samp say_msg "/help" 25@v
end
end
end
if 0@ == 3
then
0ACD: "~R~Samp-Rp Menu [CLOSED]" 1000 // сообщение красного цвета
end
if 0@ == 4
then
0ACD: "~G~DM Hack's Menu [CLOSED]" 1000 // сообщение зелёного цвета
end
if 0@ == 5
then
0ACD: "~B~Advance RP Menu [CLOSED]" 1000 // сообщение синего цвета
end
end
end
 

Избранный

Новичок
198
30
Вот есть данное меню. Помогите сделать допустим вместо "/help" Чтобы вбивало команду: "/find"
Суть в том чтоб при выборе команды вылазило диалоговое окно с вводом id Код
хз что тебе надо, но вот как надо сделать, чтоб при нажатии кнопки появлялся диалог, в который вводишь ид, а потом пишется /find id
Код:
:xyi
if
0ab0: 90
jf @xyi
0AC8: 3@ = allocate_memory_size 128
0B3B: samp show_dialog id 1 caption "Example" text "Message box example." button_1 "Ok" button_2 "" style 1
 
:xyi_2
if
0B3C: samp dialog_respond 0@ button 1@ list_item 2@ input_text 3@ // проверим, был ли закрыт любой диалог, созданный этим CLEO
jf @xyi_2
0AD4: 5@ 3@ format "%d" 4@
0AF9: samp say_msg "/find %d" 4@
jump @xyi

 

Избранный

Новичок
198
30
Теперь от меня вопрос, как сделать чтобы через 0B34: samp register_client_command можно было дробные числа записывать, ну типа float.
А то я так вот делаю и число целое получается, несмотря на то, что в начале пишу
var
1@ :float
end
Код:
0B34: samp register_client_command "cmd" to_label @samp_30
 
:samp_30
wait 0
if
0B35: samp 28@ = get_last_command_params
jf @samp
0AD4: 27@ 28@ format "%d" 1@
0AD1: show_formatted_text_highpriority "sdfdga = %d" time 1200 1@
 

Dark_Knight

Me, me and me.
Друг
4,083
2,110
Сканируй строку get_last_command_params на дробные числа.
Код:
0B35: samp 28@ = get_last_command_params
 0AD4: 1@ = scan_string 28@ format "%f" 0@
 
  • Нравится
Реакции: Избранный

Fjord

Новичок
2
0
Привет Самогон :D

Ээээээ не пали меня :D


хз что тебе надо, но вот как надо сделать, чтоб при нажатии кнопки появлялся диалог, в который вводишь ид, а потом пишется /find id
Код:
:xyi
if
0ab0: 90
jf @xyi
0AC8: 3@ = allocate_memory_size 128
0B3B: samp show_dialog id 1 caption "Example" text "Message box example." button_1 "Ok" button_2 "" style 1
 
:xyi_2
if
0B3C: samp dialog_respond 0@ button 1@ list_item 2@ input_text 3@ // проверим, был ли закрыт любой диалог, созданный этим CLEO
jf @xyi_2
0AD4: 5@ 3@ format "%d" 4@
0AF9: samp say_msg "/find %d" 4@
jump @xyi
Спасибо большое. ;)O:-)
 

alfazlo

Потрачен
128
36
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
  • Нравится
Реакции: Избранный