[Полезное] Командный процессор by Tumkin
|
|
tumkin |
Дата: Суббота, 15.04.2017, 02:32 | Сообщение # 1
|
Tumkin Project
Сообщений: 1186
Статус: Offline
|
Предоставляю вашему вниманию командный процессор основанный на классе для SAMP. Данный класс позволяет обрабатывать и регистрировать команды.
Первым делом подключаем файл к основному AHK скрипту. Обязательно в конец файла.
Код #include cmdProc_by_Tumkin.ahk
Как начать работу с классом. Для начала регистрируем класс.
Код CommandProcessor := new CommandProcessor()
После мы можем включать и отключать его. Для включение используем следующий метод. Передаваемый параметр true - включить, false - отключить.
Код CommandProcessor.SetStatusProcessor(true)
После мы можем зарегистрировать команды. Первый параметр название команды, второй - метка на которую скрипт перейдет (не функция).
Код CommandProcessor.RegisterCommand("/mycmd", "cmdMyCMD") CommandProcessor.RegisterCommand("/ahkhelp", "cmdAHKHelp")
Далее мы можем обработать то что ввел пользователь следующим способом.
Код Msgbox % "Текст после команды: " CommandProcessor.TempText Msgbox % "Команда которую мы ввели: "CommandProcessor.TempCmd
Так же мы можем удалить команду, если ее использование больше не требуется (строчки с кода не удаляются).
Код CommandProcessor.DeleteCommand("/mycmd")
Для использования процессора нужен SAMP UDF. Для корректной работы, не рекомендуется создавать бинды на Enter, так как он реализован в командном процессоре. Данный процессор может обновляться и актуальная ссылка всегда будет в этой теме. Если есть идеи по улучшению или оптимизации - пишите.
Разработчик tumkin Скачать файл: Яндекс.Диск
|
|
|
|
[CM]Coockie |
Дата: Суббота, 15.04.2017, 13:07 | Сообщение # 2
|
developer
Сообщений: 67
Статус: Offline
|
1) Чем он отличается от CMD-Proc от Demy? 2) Зачем так расписывать, если можно сократить до CMD? 3) Функции на подобии isChatActive не работают, так как у остальных их попросту нет. 4) Функции getChatText() нет в комплектующем UDF.
Сообщение отредактировал [CM]Coockie - Суббота, 15.04.2017, 13:25 |
|
|
|
aknqkzxlcs_4 |
Дата: Суббота, 15.04.2017, 22:20 | Сообщение # 3
|
Любитель
Сообщений: 40
Статус: Offline
|
Клиентские команды (например, /pagesize) отправляются серверу
|
|
|
|
tumkin |
Дата: Воскресенье, 16.04.2017, 02:02 | Сообщение # 4
|
Tumkin Project
Сообщений: 1186
Статус: Offline
|
Цитата aknqkzxlcs_4 ( ) Клиентские команды (например, /pagesize) отправляются серверу Мой командный процессор не отправляет команды сразу на сервер. Он их обрабатывает а потом только решает куда ее отправлять.
|
|
|
|
tumkin |
Дата: Воскресенье, 16.04.2017, 02:05 | Сообщение # 5
|
Tumkin Project
Сообщений: 1186
Статус: Offline
|
Цитата [CM]Coockie ( ) 1) Чем он отличается от CMD-Proc от Demy? 2) Зачем так расписывать, если можно сократить до CMD? 3) Функции на подобии isChatActive не работают, так как у остальных их попросту нет. 4) Функции getChatText() нет в комплектующем UDF. Добавил ссылку на свой самп УДФ
|
|
|
|
aknqkzxlcs_4 |
Дата: Воскресенье, 16.04.2017, 09:02 | Сообщение # 6
|
Любитель
Сообщений: 40
Статус: Offline
|
Цитата tumkin ( ) Мой командный процессор не отправляет команды сразу на сервер. Он их обрабатывает а потом только решает куда ее отправлять.
ты походу не понял, это баг твоего "процессора" /pagesize - клиентская команда и она не должна отправляться на сервер, твой же КП отправляет её серверу когда меняешь размер чата (кол-во строк), то сервер тебе отвечает "неизвестная команда", такого быть не должно (на РП такого не увидишь, там не уведомляет об этом)
Цитата tumkin ( ) Добавил ссылку на свой самп УДФ
зачем? есть стандарт, все им пользуются, вот тема - http://cheat-master.ru/forum/149-619860-1 а чтобы твой юзать, нужно самостоятельно туда запихивать все новые функции, которые могут понадобиться
Сообщение отредактировал aknqkzxlcs_4 - Воскресенье, 16.04.2017, 09:04 |
|
|
|
tumkin |
Дата: Воскресенье, 16.04.2017, 13:31 | Сообщение # 7
|
Tumkin Project
Сообщений: 1186
Статус: Offline
|
Цитата aknqkzxlcs_4 ( ) ты походу не понял, это баг твоего "процессора" /pagesize - клиентская команда и она не должна отправляться на сервер, твой же КП отправляет её серверу когда меняешь размер чата (кол-во строк), то сервер тебе отвечает "неизвестная команда", такого быть не должно (на РП такого не увидишь, там не уведомляет об этом) Хм... По поводу клиентской команды, такого быть не должно. Но на этой неделе посмотрю и подправлю его немного.
|
|
|
|
Bumbee |
Дата: Понедельник, 01.05.2017, 21:59 | Сообщение # 8
|
Новичок
Сообщений: 11
Статус: Offline
|
Обнову бы под клиентские команды
|
|
|
|
Omicida |
Дата: Воскресенье, 23.07.2017, 22:08 | Сообщение # 9
|
Любитель
Сообщений: 32
Статус: Offline
|
Если выводишь текст после команды, то он выводится вместе с командой.
|
|
|
|
Oleg_Rachinga |
Дата: Пятница, 28.07.2017, 12:42 | Сообщение # 10
|
Новичок
Сообщений: 9
Статус: Offline
|
Хотелось бы увидеть пример какого-нибудь скрипта, не разобрался, как использовать его.
|
|
|
|
Omicida |
Дата: Пятница, 28.07.2017, 13:31 | Сообщение # 11
|
Любитель
Сообщений: 32
Статус: Offline
|
#Include, подключаешь UDF, который дан в этой теме, либо же подстраиваешь новый под этот КП
CommandProcessor := new CommandProcessor() CommandProcessor.SetStatusProcessor(true)
CommandProcessor.RegisterCommand("/mycmd", "cmdMyCMD") CommandProcessor.RegisterCommand("/ahkhelp", "cmdAHKHelp") CommandProcessor.RegisterCommand("/cmd", "CMD") CommandProcessor.RegisterCommand("/bugtext", "Bugtext") Return
cmdMyCMD: addchatmessage("Ты ввел команду /mycmd") Return
cmdAHKHelp: addchatmessage("Ты ввел команду /ahkhelp") ; Return
CMD: addchatmessage(CommandProcessor.TempCmd) ; Вывод в чат команды, которую ты ввел Return
Bugtext: addchatmessage(CommandProcessor.TempText) ; Выводит команду и текст после команды одновременно Return
#include cmdProc_by_Tumkin.ahk
|
|
|
|
Staticho |
Дата: Пятница, 11.08.2017, 13:52 | Сообщение # 12
|
Новичок
Сообщений: 6
Статус: Offline
|
Цитата tumkin ( ) увидишь, там не уведомляет об этом)
Хм... По поводу клиентской команды, такого быть не должно. Но на этой неделе посмотрю и подправлю его немного.
Исправь пожалуйста
|
|
|
|
|
ToPro |
Дата: Понедельник, 14.08.2017, 23:54 | Сообщение # 14
|
Любитель
Сообщений: 30
Статус: Offline
|
У меня просто отказывается работать
Код #Include cmdProc_by_Tumkin.ahk #Include SAMP_by_Tumkin.ahk CommandProcessor := new CommandProcessor() CommandProcessor.SetStatusProcessor(true) CommandProcessor.RegisterCommand("/myrad", "myrad") myrad: { addChatMessage("{FFD700} ОНЖИВОЙ") return }
F3:: addChatMessage("{FFD700} ахк работает") return
добавил проверку работоспособности скрипта с твоим udf, вроде пашет текст выводит как надо, но командой не активируется:( подскажите может я где косякнул
Сообщение отредактировал ToPro - Вторник, 15.08.2017, 12:50 |
|
|
|
Omicida |
Дата: Вторник, 15.08.2017, 15:50 | Сообщение # 15
|
Любитель
Сообщений: 32
Статус: Offline
|
Цитата ToPro ( ) добавил проверку работоспособности скрипта с твоим udf, вроде пашет текст выводит как надо, но командой не активируется:( подскажите может я где косякнул
Должно работать
Код #Include cmdProc_by_Tumkin.ahk #Include SAMP_by_Tumkin.ahk
CommandProcessor := new CommandProcessor() CommandProcessor.SetStatusProcessor(true)
CommandProcessor.RegisterCommand("/myrad", "myrad") return
myrad: addChatMessageEx("FFD700", "ОНЖИВОЙ") return
F3:: addChatMessageEx("FFD700", "ахк работает") return
|
|
|
|