[Код] Командный процессор (Активация скрипта командой) - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir, Phoenixxx_Czar  
[Код] Командный процессор (Активация скрипта командой)
vladua100 Дата: Воскресенье, 30.03.2014, 17:17 | Сообщение # 1
Боец
Сообщений: 104
Статус: Offline
AHKCMD v1:


AHKCMD v2:
В данном обновлении кол-во команд увеличено до бесконечности,инклуд был упрощен,как и его использование.

Функции:
OnPlayerCommandText(cmdtext, params) - "колбэк",который вызывается при введении команды пользователем.
cmdtext - содержит саму команду без параметров.
params - содержит параметры,если они были введены,иначе содержит саму команду

Пример использования:

Код

#include ahkcmd.ahk

OnPlayerCommandText(cmdtext, params)
{
    MsgBox,%cmdtext%`n%params%
}


Сам инклуд:
Код

#ifwinactive GTA:SA:MP

~t::
~F6::
Goto, GetCmd
return

GetCmd:
Input , chattext, V, {Enter}{ESC}
if ErrorLevel = EndKey:Enter
{
    if InStr(chattext, "/") = 1
    {
     if StrLen(chattext) > 0
     {
      StringSplit, params, chattext,%A_Space%
      params := RegExReplace(chattext, params1 . " ", "")
      sleep 100
      OnPlayerCommandText(params1, params)
     }
    }
}
return


Сообщение отредактировал vladua100 - Суббота, 07.06.2014, 23:38
Romka1337 Дата: Пятница, 04.04.2014, 00:17 | Сообщение # 2
Любитель
Сообщений: 41
Статус: Offline
Если ты про команду, которая мол активирует скрипт.
Я уже понял как это делается, но делал иным способом smile
Простая функция автозамены + #Hotstring B0 (Что-бы скрипт не срабатывал сразу после наведения команды, а после Enter или прочего)
Не знаю, что лучше, твой способ или мой, но не мне судить.
Плюс кинул
Kulibiaka Дата: Пятница, 04.04.2014, 21:02 | Сообщение # 3
I love DotA
Статус: Offline
Это типо активация скрипта по вводу команды в чат?

Продам группу в ВК 140k подписок!


[+] Skype: x.spacecrow.x
[+] ВКонтакте: id131508988
vladua100 Дата: Пятница, 04.04.2014, 21:58 | Сообщение # 4
Боец
Сообщений: 104
Статус: Offline
Kulibiaka, да.Но тут еще и можно извлекать параметры,введенные игроком.
Например
Код

/antiafktime 15000

где 15000 - первый параметр.
А извлечь его можно через
Код

StringSplit, cmdparams, params , %A_Space%

И тогда он будет записан в cmdparams1
Но если параметра нет,то в cmdparams1 попадет команда,введенная игроком.Если такое не нужно,то тогда в инклуде заменить
Код

GetCmd:
Input , chattext, V, {Enter}{ESC}
searchtext := Commands%A_Index%
if ErrorLevel = EndKey:Enter
{
  if InStr(chattext, "/") = 1
   {
    Loop, 10
    {
     searchtext := Commands%A_Index%
     if InStr(chattext, searchtext) = 1 AND StrLen(searchtext) > 0
     {
      Label := Labels%A_Index%
      global params
      params := RegExReplace(chattext, searchtext . " " , "")
      sleep 100
      Goto, %Label%
      break
     }
    }
   }
}
return


на

Код

GetCmd:
Input , chattext, V, {Enter}{ESC}
searchtext := Commands%A_Index%
if ErrorLevel = EndKey:Enter
{
  if InStr(chattext, "/") = 1
   {
    Loop, 10
    {
     searchtext := Commands%A_Index%
     if InStr(chattext, searchtext) = 1 AND StrLen(searchtext) > 0
     {
      Label := Labels%A_Index%
      global params
      params := RegExReplace(chattext, searchtext . " " , "")
      params := RegExReplace(chattext, searchtext, "")
      sleep 100
      Goto, %Label%
      break
     }
    }
   }
}
return


Сообщение отредактировал vladua100 - Пятница, 04.04.2014, 22:00
Romka1337 Дата: Среда, 09.04.2014, 18:25 | Сообщение # 5
Любитель
Сообщений: 41
Статус: Offline
Слушай, не мог ли ты в подробностях описать как работает штука
"где 15000 - первый параметр.
А извлечь его можно через "
А то я сейчас использую копирование, потом в переменную, потом в буфер обмена то что было до копирования.
vladua100 Дата: Среда, 09.04.2014, 21:01 | Сообщение # 6
Боец
Сообщений: 104
Статус: Offline
Romka1337, ну...Параметры - всё,что после команды.Их можно использовать в разных целях.Крч вот тебе пример:
Код

SetTimer, OnScriptInit, 100
#include ahkcmd.ahk
Return

OnScriptInit:
SetTimer, OnScriptInit, Off
AddCmd("/fstart", "FloodLabel")
AddCmd("/ftext", "FloodLabel1")
Return

FloodLabel:
SoundBeep  
StringSplit, cmdparams, params , %A_Space%
if StrLen(cmdparams1) > 0 AND cmdparams1 > 0
{
  Loop, %cmdparams1%
  {
   SendInput {t}%floodtext%{enter}
  }
}
return

FloodLabel1:
SoundBeep  
if StrLen(params) > 0
{
  floodtext := params
}
return

Это флудер.
Управляется он командами
/ftext [текст для флуда] - установить текст для флуда
/fstart [сколько раз флудить] - начать флудить.

Надеюсь,что данный пример тебе поможет.Просто я хреново объясняю smile
AlexRAzor Дата: Суббота, 12.04.2014, 18:24 | Сообщение # 7
Боец
Сообщений: 89
Статус: Offline
Помоги чтот не получается вот код:

SetTimer, OnScriptInit, 100
#include ahkcmd.ahk
Return

OnScriptInit:
SetTimer, OnScriptInit, Off
AddCmd("/heal", "1", "2", "3")
Return

1:
StringSplit, cmdparams, params , %A_Space%
Sendplay, {F6}/me осматривает пациента{ENTER}
Sleep 1500
Sendplay, {F6}/me достал таблетку "Аналгина"{ENTER}
Sleep 1500
Sendplay, {F6}/me передал таблетку{ENTER}
return

2:
StringSplit, cmdparams, params , %A_Space%
Sendplay, {F6}/me одел перчатки{ENTER}
Sleep 1500
Sendplay, {F6}/me достал фонарик и шпатель{ENTER}
Sleep 1500
Sendplay, {F6}/me достал фонендоскоп{ENTER}
Sleep 1500
Sendplay, {F6}Откройте рот,пожалуйста.{ENTER}
Sleep 8000
Sendplay, {F6}/me осматривает горло{ENTER}
Sleep 1500
Sendplay, {F6}/me передаёт лекарство больному{ENTER}
return

3:
StringSplit, cmdparams, params , %A_Space%
Sendplay, {F6}/me осматривает пациента{ENTER}
Sleep 1500
Sendplay, {F6}/me достает упаковку "Нош-па"{ENTER}
Sleep 1500
Sendplay, {F6}/me передал упаковку больному{ENTER}
Sleep 1500
Sendplay, {F6}Пить каждый день 3 таблетки в день!{ENTER}
return
Artem_Buero Дата: Суббота, 12.04.2014, 18:30 | Сообщение # 8
Сообщений: 4223
Статус: Offline
Цитата AlexRAzor ()
AddCmd("/heal", "1", "2", "3")

Нельзя указывать больше чем 1 метку
Так правильно:
Код
AddCmd("/heal", "1")


МОЙ ВК - https://vk.com/gospodin_buero
AlexRAzor Дата: Суббота, 12.04.2014, 18:34 | Сообщение # 9
Боец
Сообщений: 89
Статус: Offline
А как тогда юзать остальные метки?
Artem_Buero Дата: Суббота, 12.04.2014, 18:39 | Сообщение # 10
Сообщений: 4223
Статус: Offline
AlexRAzor,
1)Можно создать ещё команды
2)Сунуть всё в 1 метку
3)Использовать Goto
Выбор за тобой


МОЙ ВК - https://vk.com/gospodin_buero
vladua100 Дата: Суббота, 07.06.2014, 23:38 | Сообщение # 11
Боец
Сообщений: 104
Статус: Offline
Обновление:
В данном обновлении кол-во команд увеличено до бесконечности,инклуд был упрощен,как и его использование.
Artem_Buero Дата: Суббота, 07.06.2014, 23:50 | Сообщение # 12
Сообщений: 4223
Статус: Offline
vladua100, А вот как теперь задавать параметры?
Если их например 5


МОЙ ВК - https://vk.com/gospodin_buero
vladua100 Дата: Воскресенье, 08.06.2014, 09:51 | Сообщение # 13
Боец
Сообщений: 104
Статус: Offline
Artem_Buero, как и раньше,через StringSplit.Т.к. params содержит все,что было введено после команды,как и раньше
Potenza Дата: Среда, 18.06.2014, 21:15 | Сообщение # 14
Советник
Сообщений: 702
Статус: Offline
Как сделать, что бы при вводе ")" было написано в чат "/me улыбается"?





Дары
[CM]iMike Дата: Среда, 23.07.2014, 18:33 | Сообщение # 15
✝ Turka ✝
Сообщений: 421
Статус: Offline
Спасибо, можно и так)

посоны, набор в клан, ставьте все аниме на авки, а то не возьмут..
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума