регулярка

Статус
В этой теме нельзя размещать новые ответы.

kotec

Участник
Автор темы
40
0
Можете помочь и сделать регулярное значение для обычных слов, типа: Стажёр, Младший агент, Директор и т.д.
 

darksoor

Известный
674
353
Можете помочь и сделать регулярное значение для обычных слов, типа: Стажёр, Младший агент, Директор и т.д.
Смотря откуда вытянуть нужно это значение. Предоставь скриншот диалога либо строку с чата.
 

kotec

Участник
Автор темы
40
0
Тут другая идея, смотри

PHP:
:?:/zvan::
{
    Zvan := 0
    ShowDialog( 1, "{3399FF}[FBI]: {FFFFFF}Звание", "{FFFFFF}Введите ваше звание. Пример:`n{3399FF}Агент", "Записать", "Закрыть")
    while (!GetKeyState("Enter", "P") && !GetKeyState("Esc", "P"))
    continue
    if (GetKeyState("Enter", "P"))
    {
        Sleep, 2000
        chatInput := readString(hGTA, dwSAMP + 0x12D8F8, 256)
        if (RegExMatch(chatInput, ".{3,24}\[\d+\]", Zvan))
        {
            input
            if (Zvan = 0)
            {
                addchatmessage("Не ввели")
            }
            else if (Zvan > 0)
            {
                addchatmessage("Ввели")
            }
        }
    }
    else if (GetKeyState("Esc", "P"))
    {
        addChatMessage("{3399FF}Вы не ввели своё звание! Повторите попытку.")
    }
}
return
 

darksoor

Известный
674
353
Можно так.
AutoHotKey:
$~NumpadEnter::
$~Enter::
if (!isInChat() || (isDialogOpen() && (getDialogStyle() == 1 || getDialogStyle() == 3))
   Return

Sleep 250
tempText := readString(hGTA, dwSAMP + 0x12D8F8, 256)
if (RegExMatch, (tempText, "/zvan"))
{
   ShowDialog( 1, "{3399FF}[FBI]: {FFFFFF}Звание", "{FFFFFF}Введите ваше звание. Пример:`n{3399FF}Агент", "Записать", "Закрыть")    
   while (!GetKeyState("Enter", "P") && !GetKeyState("Esc", "P"))    
      continue    
   if (GetKeyState("Enter", "P"))    
   {        
      Sleep, 2000        
      chatInput := readString(hGTA, dwSAMP + 0x12D8F8, 256)       
      if (RegExMatch(chatInput, "([А-я]{3,24})", Zvan))      
      {
         addchatmessage(zvan1)
      }
   }
}
Return
Ну или так регулярку использовать.
AutoHotKey:
if (RegExMatch(chatInput, "(Агент|Старший Агент)", Zvan))
 

kotec

Участник
Автор темы
40
0
Я тупой, что эти проверки делают?
Код:
 while (!GetKeyState("Enter", "P") && !GetKeyState("Esc", "P"))
      continue
и зачем ты ставишь $ перед NE и enter?
[/QUOTE]

Если дословно, то: "Если нажат Enter или Esc, то". И дальше два варианта, что будет происходить
 
Статус
В этой теме нельзя размещать новые ответы.