[CLEO] Вопрос - Ответ
|
|
[CM]Рафаэль |
Дата: Суббота, 05.09.2015, 20:19 | Сообщение # 1
|
Cheat-Master
Сообщений: 3080
Статус: Offline
|
В этой теме задаются вопросы по CLEO, конкретным опкодам (например, назначение того или иного опкода) и т.д.
Форма вопроса: Код [color=#1E90FF][b]Вопрос:[/b][/color] text
Форма ответа: Код [color=#1E90FF][b]Ответ:[/b][/color] text
Мой Shop Официальный гарант
Контактные данные: VK: vk.com/ali_benua Skype: lvinyipen Telegram: @AliBenua ICQ: 552-090-283
|
|
|
|
Rabix |
Дата: Воскресенье, 06.09.2015, 04:08 | Сообщение # 2746
|
Новичок
Сообщений: 11
Статус: Offline
|
Вопрос: помогите очень надо, как добавить функцию в диалог? Призывает диалог, а как сделать что бы каждая строчка что то делала(функцию), например ТП.Добавлено (13.12.2014, 21:31) ---------------------------------------------
Цитата Кoт (  ) добавить параметров Помоги, оч надо.
|
|
|
|
Dragar |
Дата: Воскресенье, 06.09.2015, 04:08 | Сообщение # 2747
|
Боец
Сообщений: 54
Статус: Offline
|
Цитата Призывает диалог, а как сделать что бы каждая строчка что то делала(функцию), например ТП. Код {$CLEO}
const DIALOG_STYLE_LIST = 2 end
0000:
repeat wait 400 until 0AFA: is_samp_available // Ожидаем инициализации структур SAMP'а
while true wait 0 if key_down 107 then 0AC8: 0@ = allocate_memory_size 64 // Выделяем память под список элементов(кол-во текста должно быть не больше 64 символов(пробелы и переходы на новую строку тоже равны 1 символу)) 0ad3: format_stirng 0@ = "Ballas%cGroove%cVagos%cRifa%cAztec" 0xA 0xA 0xA 0xA // Создаем список, 0xA - означает переход на новую строку, а %c указывается в самой строке 0B3B: samp show_dialog id 2 caption "Dialog list" text 0@ button_1 "Выбрать" button_2 "Закрыть" style DIALOG_STYLE_LIST 0AC9: free_allocated_memory 0@ // Освобождаем память, больше не нужна. end
if 0B3C: samp is_dialog_responded id 2 button 1@ list_item 3@ input_text 0 then if 1@ == 1 // Была нажата кнопка Выбрать then if 3@ == 0 // Был выбран пункт Ballas then 0AF8: samp add_message_to_chat "Пункт: Ballas" color -1 end
if 3@ == 1 // Был выбран пункт Groove then 0AF8: samp add_message_to_chat "Пункт: Groove" color -1 end
if 3@ == 2 // Был выбран пункт Vagos then 0AF8: samp add_message_to_chat "Пункт: Vagos" color -1 end
if 3@ == 3 // Был выбран пункт Rifa then 0AF8: samp add_message_to_chat "Пункт: Rifa" color -1 end
if 3@ == 4 // Был выбран пункт Aztec then 0AF8: samp add_message_to_chat "Пункт: Aztec" color -1 end else 0AF8: samp add_message_to_chat "Диалог был закрыть" color -1 // Была нажата кнопка Закрыть end end end Подробнее можешь посмотреть на cleowiki, там все хорошо расписано
Сообщение отредактировал Dragar - Суббота, 13.12.2014, 22:48 |
|
|
|
CleoMaster1337 |
Дата: Воскресенье, 06.09.2015, 04:09 | Сообщение # 2748
|
Новичок
Сообщений: 20
Статус: Offline
|
Цитата Rabix (  ) Вопрос: Что делать если пишет: ''Недостаточно параметров. Ожидалось 5 параметров.'' ?? Либо запятые убери, либо действительно параметров не хватает.
|
|
|
|
Rabix |
Дата: Воскресенье, 06.09.2015, 04:09 | Сообщение # 2749
|
Новичок
Сообщений: 11
Статус: Offline
|
Цитата Dragar (  ) Подробнее можешь посмотреть на cleowiki, там все хорошо расписано Спасибо + кинул.
|
|
|
|
Dragar |
Дата: Воскресенье, 06.09.2015, 04:09 | Сообщение # 2750
|
Боец
Сообщений: 54
Статус: Offline
|
Цитата Rabix (  ) Вопрос: Что делать если пишет: ''Недостаточно параметров. Ожидалось 5 параметров.'' ?? Ругался из-за того что DIALOG_STYLE_LIST не была объявлена.
В начале скрипта надо было подключить инклуд SF или же просто в начале скрипта добавить константы Код // SAMP Dialog Styles const DIALOG_STYLE_MSGBOX = 0 DIALOG_STYLE_INPUT = 1 DIALOG_STYLE_LIST = 2 DIALOG_STYLE_PASSWORD = 3 end Компилятор доходя до DIALOG_STYLE_LIST заменял ее на 2, а так как она не была объявлена выдавала ошибку. Как то так
|
|
|
|
Rabix |
Дата: Воскресенье, 06.09.2015, 04:09 | Сообщение # 2751
|
Новичок
Сообщений: 11
Статус: Offline
|
У меня 2 вопросика: 1. Как сделать открытие диалога на кнопку и на команду в одном скрипте, что бы было и так и так? 2. Как сделать что бы при ТП не сбивалась анимация? Вот я сделал тп по маркеру на шахте АРП и когда я ТП, тороняю коляску.
|
|
|
|
darkes |
Дата: Воскресенье, 06.09.2015, 04:09 | Сообщение # 2752
|
Боец
Сообщений: 188
Статус: Offline
|
Цитата Rabix (  ) 1. Как сделать открытие диалога на кнопку и на команду в одном скрипте, что бы было и так и так? 2. Как сделать что бы при ТП не сбивалась анимация? Вот я сделал тп по маркеру на шахте АРП и когда я ТП, тороняю коляску. 1. Переходи на один и тот же поток. 2. Работа с памятью Код 0A96: 1@ = actor $PLAYER_ACTOR struct 1@ += 20 0A8D: 2@ = read_memory 1@ size 4 virtual_protect 0 2@ += 48 0A8D: 3@ = read_memory 2@ size 4 virtual_protect 0 //x 2@ += 4 0A8D: 4@ = read_memory 2@ size 4 virtual_protect 0 //y 2@ += 4 0A8D: 5@ = read_memory 2@ size 4 virtual_protect 0 //z 0AF8: samp add_message_to_chat "X: %0.2f" color 0xF7FF00 4@ 0AF8: samp add_message_to_chat "Y: %0.2f" color 0xF7FF00 3@ 0AF8: samp add_message_to_chat "Z: %0.2f" color 0xF7FF00 5@
Сообщение отредактировал darkes - Понедельник, 15.12.2014, 10:51 |
|
|
|
CleoMaster1337 |
Дата: Воскресенье, 06.09.2015, 04:09 | Сообщение # 2753
|
Новичок
Сообщений: 20
Статус: Offline
|
Цитата Rabix (  ) 1. Как сделать открытие диалога на кнопку и на команду в одном скрипте, что бы было и так и так? Код {$CLEO } 0000: repeat wait 100 until samp.Available()
0B34: samp register_client_command "mycmd" to_label @cmd_mycmd
while true wait 0 if key_down 109 // then while key_down 109 wait 100 end // code end end :cmd_mycmd // code
samp.CmdRet()
Цитата Rabix (  ) 2. Как сделать что бы при ТП не сбивалась анимация? Вот я сделал тп по маркеру на шахте АРП и когда я ТП, тороняю коляску. Код {$CLEO } 0000: repeat wait 100 until samp.Available()
0B34: samp register_client_command "tp" to_label @tp
0B2E: 0@ = read_samp_memory offset 16864 size 2 0B2E: 1@ = read_samp_memory offset 81824 size 2
while true wait 0 if 2@ == 1 then 2@ = 0 0B2D: write_samp_memory offset 16864 value 50064 size 2 0B2D: write_samp_memory offset 81824 value 50064 size 2 0AB6: store_target_marker_coords_to x y z // IF and SET 00A1: put_actor $PLAYER_ACTOR at x y z wait 5 0AB6: store_target_marker_coords_to xyz // IF and SET 00A1: put_actor $PLAYER_ACTOR at xyz wait 1000 0B2D: write_samp_memory offset 16864 value 0@ size 2 0B2D: write_samp_memory offset 81824 value 1@ size 2
end
:tp if 0AB6: store_target_marker_coords_to xyz // IF and SET then 0006: 2@ = 1 end samp.CmdRet()
|
|
|
|
Axwell |
Дата: Воскресенье, 06.09.2015, 04:10 | Сообщение # 2754
|
Бывалый
Сообщений: 481
Статус: Offline
|
Цитата CleoMaster1337 (  ) Вот вообще сейчас не понял зачем нопить
Просто в место PutAt использовать 0AB1: call_scm_func @tp 3 x y z Код :tp // position offset = cped + 0x4 3@ = 0xB6F5F0 005A: 3@ += 4 0A8C: write_memory 3@ size 0x4 value 0@ virtual_protect 0 005A: 3@ += 4 0A8C: write_memory 3@ size 0x4 value 1@ virtual_protect 0 005A: 3@ += 4 0A8C: write_memory 3@ size 0x4 value 2@ virtual_protect 0 0AB2: ret 0
Сообщение отредактировал Axwell - Понедельник, 15.12.2014, 19:07 |
|
|
|
MICHELIN |
Дата: Воскресенье, 06.09.2015, 04:10 | Сообщение # 2755
|
Любитель
Сообщений: 33
Статус: Offline
|
Каким опкодом можно проверить какая анимация у игрока в данный момент ?
http://i.imgur.com/OSAxwVO.gif
|
|
|
|
CleoMaster1337 |
Дата: Воскресенье, 06.09.2015, 04:10 | Сообщение # 2756
|
Новичок
Сообщений: 20
Статус: Offline
|
Цитата MICHELIN (  ) Каким опкодом можно проверить какая анимация у игрока в данный момент ?
0B57: samp 2@ = player 1@ animation_id
|
|
|
|
slonoboyko |
Дата: Воскресенье, 06.09.2015, 04:10 | Сообщение # 2757
|
Боец
Сообщений: 254
Статус: Offline
|
Пацаны, хочу написать ГМ... Чтоб можно было выбирать от чего защищает ГМ... Диалог и т.д. я сделать могу. Но не могу сделать гм от чего то конкретного. Помогите.
Пишу на заказ CLEO скрипты, SF и ASI плагины, а так же модификации собейтов. Связь со мной:VK.COM
|
|
|
|
Dragar |
Дата: Воскресенье, 06.09.2015, 04:10 | Сообщение # 2758
|
Боец
Сообщений: 54
Статус: Offline
|
slonoboyko, Код 02AB: set_actor $PLAYER_ACTOR immunities BP 0 FP 0 EP 1 CP 1 MP 0 Код BP = Bulletproof (от пуль) FP = Fireproof (от огня) EP = Explosion-proof (от взрывов) CP = Collision-proof (от столкновений) MP = Melee-proof (от удара кулака) * Не будет работать на некоторых серверах, если стоит Anti-GM
Сообщение отредактировал Dragar - Четверг, 25.12.2014, 00:36 |
|
|
|
[CM]R1cci |
Дата: Воскресенье, 06.09.2015, 04:10 | Сообщение # 2759
|
Новичок
Сообщений: 19
Статус: Offline
|
Dell
Сообщение отредактировал [CM]R1cci - Пятница, 26.12.2014, 13:49 |
|
|
|
Colonhack[CM] |
Дата: Воскресенье, 06.09.2015, 04:11 | Сообщение # 2760
|
ТЫЖ ПРОГРОМИСТ
Сообщений: 128
Статус: Offline
|
У меня вопрос к Axwell. Через что ты записывал маршрут своего бота шахтера? Код const x_1 = -1812.4662 // (Добыча) y_1 = -1650.7052 // (Добыча) x_2 = -1855.5106 // (поворот) y_2 = -1629.3269 // (поворот) x_3 = -1867.4946 // (сдача) y_3 = -1612.4325 // (сдача) x_4 = -1839.3838 // Поворот на сбор ЗП y_4 = -1641.5730 // Поворот на сбор ЗП x_5 = -1839.0992 // Поворот на сбор ЗП 2 y_5 = -1595.0134 // Поворот на сбор ЗП 2 x_6 = -1864.7783 // Пикап y_6 = -1560.8333 // Пикап
Если кто-то другой знает, будьте добры ответьте.
Любой дурак сможет написать код, который поймет машина. Хорошие программисты пишут код, который сможет понять человек. ©Martin Fowler
|
|
|
|