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

CaJlaT

Активный
136
32
Как сделать так, чтобы пароль от диалога был 2712. Если пользователь ввёл неверный код, тогда "Ошибка! Вы ввели неверный пароль." Вот я начал код:
Ахк:
ShowDialog(1, "Профессиональный Отдел Центра Лицензирования", "Введите пароль от раздела:", "Подтвердить")
Input, Password, L4, {Enter}
sleep 100
if(Password)

Как? Что оно делает?
Актуально?
AutoHotKey:
Passdialog:
{
    ShowDialog(1, "Профессиональный Отдел Центра Лицензирования", "Введите пароль от раздела:", "Подтвердить")
    while (isDialogOpen())
    {
        if (GetKeyState("Escape", "P") or (isDialogButtonSelected(1) = true and GetKeyState("LButton", "P")))
        {
            Gosub, metka
            return
        }
    }
    inputText := readString(hGTA, dwSAMP + 0x12D8F8, 256)
    Password := inputText
    Gosub, metka
    Return
}
metka:
{
    if (Password == твой пароль)
    {
        AddChatMessageEx("800080", "[AHK] Доступ получен!")
        ;твой код
    }
    else
    {
        AddChatMessageEx("FF0000", "[AHK] Не верный пароль!")
        goto, Passdialog
    }
    Return
}
 
Последнее редактирование:
  • Нравится
Реакции: BASS_DEVSOFTWARE

Roman Grudov

Участник
73
15
AutoHotKey:
while(true)
{
cl = %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
    Words = ([Вв][Ыы].тут?|[Тт]ут?|[Бб]от?|[Bb]ot?|[Тт]ы.тут?);тут можешь менять ключевые фразы
    FileRead, clog, % cl
    if (RegExMatch(clog, "Администратор (.*)_(.*) \[(.*)\] для (.*)_(.*) \[(.*)\]\: " Words "", string))
    {
        FileDelete, % cl ;удаляется чатлог, чтобы не флудило
        sleep 4000
        SendChat("/n я тут")
    }
}
P.s: Не забудь подключть SAMP-udf
Лучше добавить рандомную вариацию ответа...
 

CaJlaT

Активный
136
32
Лучше добавить рандомную вариацию ответа...
тут уже как хочешь... он же не просил рандомить ответ, но если ты хочешь рандомить, то

AutoHotKey:
random, otvet, 1, 5 ;Меняй сколько угодно
if (otvet == 1)
    {
        sleep 5000 ; задержка, чтобы не палился сильно
        SendChat("/n Да, я тут")
    }
if (otvet == 2)
    {
        sleep 5000 ; задержка, чтобы не палился сильно
        SendChat("/n +")
    }
if (otvet == 3)
    {
        sleep 5000 ; задержка, чтобы не палился сильно
        SendChat("/n дадая")
    }
if (otvet == 4)
    {
        sleep 5000 ; задержка, чтобы не палился сильно
        SendChat("/n тут")
    }
if (otvet == 5)
    {
        sleep 5000 ; задержка, чтобы не палился сильно
        SendChat("/n да не бот я")
    }
 

BUTCH!

Известный
15
1
Приветствую.
Имеется такой скрипт. Пытался разобраться, но больше запутался.
Каким образом можно переделать, чтобы из чатлога брался конкретно IP адрес?

Пример
[08-11-2019 || 09:17:58.453] Администратор Nick_Name забанил игрока Nick_Name на 30 дней. Причина: test
[08-11-2019 || 09:17:58.453] {FFC300}* [A] Nick_Name[30] на 30 дней. Причина: test | IP: 123.123.123.123

Как сделать, чтобы при нажатии на alt+f2 (!F2) открывался чат и в нём появлялось "/banip 123.123.123.123"?
Пробовал менять всё, но так и не нашёл нужное, в связи с чем обращаюсь к вам.
Если есть какой-то конкретный гайд по данной теме - прикрепите ссыль, буду благодарен. Ну и за сам код.



ListLines Off
SetBatchLines -1

chatlog := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"
FileDelete, %chatlog%

Words = (kick|mute|jail|unmute|unjail|sban|ban|warn|skick|unban|unwarn|banip|offban|offwarn)

F2::
FileRead, Str, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
StringReplace, Str, Str, `r`n, `n, 1
StringReplace, Str, Str, `r, `n, 1

RegExMatch("`n" Str "`n", "i).*\n\[\d+:\d+:\d+]\s*\[A].*?\[.*?]:\s*(/`*" Words "\s.*?)\n", Match)
ToolTip % Clipboard := Match1
SendMessage, 0x50,, 0x4190419,, A
Sleep 150
SendInput,{F6}%match1%
clipboard =
ToolTip
FileDelete,%A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
Return
 
Последнее редактирование:

Degrando AHK

Активный
102
32
Приветствую.
Имеется такой скрипт. Пытался разобраться, но больше запутался.
Каким образом можно переделать, чтобы из чатлога брался конкретно IP адрес?

Пример
[08-11-2019 || 09:17:58.453] Администратор Nick_Name забанил игрока Nick_Name на 30 дней. Причина: test
[08-11-2019 || 09:17:58.453] {FFC300}* [A] Nick_Name[30] на 30 дней. Причина: test | IP: 123.123.123.123

Как сделать, чтобы при нажатии на alt+f2 (!F2) открывался чат и в нём появлялось "/banip 123.123.123.123"?
Пробовал менять всё, но так и не нашёл нужное, в связи с чем обращаюсь к вам.
Если есть какой-то конкретный гайд по данной теме - прикрепите ссыль, буду благодарен. Ну и за сам код.



ListLines Off
SetBatchLines -1

chatlog := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"
FileDelete, %chatlog%

Words = (kick|mute|jail|unmute|unjail|sban|ban|warn|skick|unban|unwarn|banip|offban|offwarn)

F2::
FileRead, Str, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
StringReplace, Str, Str, `r`n, `n, 1
StringReplace, Str, Str, `r, `n, 1

RegExMatch("`n" Str "`n", "i).*\n\[\d+:\d+:\d+]\s*\[A].*?\[.*?]:\s*(/`*" Words "\s.*?)\n", Match)
ToolTip % Clipboard := Match1
SendMessage, 0x50,, 0x4190419,, A
Sleep 150
SendInput,{F6}%match1%
clipboard =
ToolTip
FileDelete,%A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
Return
 

BUTCH!

Известный
15
1
Огонь.
Прочитал, попробовал - не сделал.

Строка с чатлога : [00:25:04] {FFC300}* [A] Nick_Name[915] на 30 дней. Причина: test | IP: 11.11.11.11
Как отсюда выдернуть IP, чтобы после появления данной строки открывался чат с командой и этим IP`ом?
Потому что
RegExMatch(var, "\Q[\E(.*):(.*):(.*)\Q]\E \Q{\FFC300\Q}\E\Q*\E \Q[\EA\Q]\E (.*)_(.*)\Q[\E(.*)\Q]\E (.*) (.*) (.*)\Q.\E (.*)\Q:\E (.*) \Q|\E IP\Q:\E (.*).(.*).(.*).(.*)", find)
Вот это вот - дичь, как я думаю.
 
  • Нравится
Реакции: ProstoTakChelik

Degrando AHK

Активный
102
32
Огонь.
Прочитал, попробовал - не сделал.

Строка с чатлога : [00:25:04] {FFC300}* [A] Nick_Name[915] на 30 дней. Причина: test | IP: 11.11.11.11
Как отсюда выдернуть IP, чтобы после появления данной строки открывался чат с командой и этим IP`ом?
Потому что
RegExMatch(var, "\Q[\E(.*):(.*):(.*)\Q]\E \Q{\FFC300\Q}\E\Q*\E \Q[\EA\Q]\E (.*)_(.*)\Q[\E(.*)\Q]\E (.*) (.*) (.*)\Q.\E (.*)\Q:\E (.*) \Q|\E IP\Q:\E (.*).(.*).(.*).(.*)", find)
Вот это вот - дичь, как я думаю.
Регулярку скину +- через час
 

Nail_Blade

Новичок
1
0
Пытался найти самостоятельно, но так и не раздобыл тут информацию которую мне нужно
Будьте добры пожалуйста помогите написать функцию которая будет получать ID ближайшего игрока который находится именно в транспорте
 

Degrando AHK

Активный
102
32
Пытался найти самостоятельно, но так и не раздобыл тут информацию которую мне нужно
Будьте добры пожалуйста помогите написать функцию которая будет получать ID ближайшего игрока который находится именно в транспорте
NearPlayerInCar(dist) - Определяет игрока в автомобиле рядом
 

Sampir)))

Участник
51
1
Всем хай. Мне нужно сделать скрипт, который по нажатию ф3 парсит строку из чата (последнюю, и именно которую я укажу) потом запускает таймер в 15673 миллисекунд и в итоге нажимает Enter. Потом завершает всю последовательность (типо ещё раз нажимаешь ф3 и всё по кругу) Помогите пожалуйста
 

Degrando AHK

Активный
102
32
Помогите пожалуйста. Как сделать в автоответчике в отдельном текстовом файле заготовки, которые в любой момент можно поменять
например

Если слово нашлось в чатлоге выдаёт ответ, что стоит после знака =

Очень надеюсь на вашу помощь, получается лишь вывести 1е слово, остальное не пашет.
Заказывай, просто так никто не сделает.
Ребят, можете скинуть aimbot AHK? Буду благодарен.
ты псих?
 
  • Нравится
Реакции: BASS_DEVSOFTWARE

OPD

Новичок
1
0
Нужна такая тема, чтобы при появлении в чате в новой строке слов "Vasya_Pupkin игроку" писалась какая-то статистика. Т.е для того, чтоб подсчитать, сколько ответов на репорт в сампе я сделал. Подскажите, как написать, пожалуйста.

Всё, что получилось:
#Include samp.ahk
#IfWinActive GTA:SA:MP

ChatLog = C:\Users\User\Documents\GTA San Andreas User Files\SAMP\chatlog.txt

loop
{
lastline := GetNewLine(ChatLog)
;Vasya_Pupkin игроку
If expression !=
{
 

Kolyahas

Новичок
6
0
АвтоХотГей:
#Include SAMP_UDF.ahk
#SingleInstance Force
#Persistent
#UseHook
#NoEnv

global position ; cоздание пустой глобальной переменной для хранение звания

IniRead, position, settings.ini, Basic, position ; читаем звание из настроек IniRead, название переменной которую ты будешь использовать, название файла, название раздела, название пункта


!1::
{
    position := ( position == "ERROR" ) ? "{FF3333}Установить." : "{228228}" position ; переменной с рангом назначаем значение - если перемення равна - ERROR(что значит что она пустая, файла настроек нет) то делаем ей значение "Установить", для красоты, если она не пустая, просто меняем ей цвет на зелёный
    ShowDialog(2, "Настройки", "Должность: " position, "Хорошо") ; Сам диалог в который просто передаёшь значение переменной, а значение появилось выше
    result := LineResult() ; даём возможность проверить какой пункт диалога мы выбрали
    if (result == 1) ; если первый
    {
        ShowDialog(1, "Настройка", "Введите новую должность", "Хорошо")  ; открываем диалог с изменением
        while (!GetKeyState("Enter", "P") && !GetKeyState("Esc", "P"))  ; если не нажат энтер и не нажат еск
            continue ; продолжаем
        if (GetKeyState("Enter", "P")) ; если нажимаем энтер
        {
            Sleep, 200
            chatInput := readString(hGTA, dwSAMP + 0x12D8F8, 256)  ; читаем содержимое диалога в который ввели новое звание( читаем с памяти )
            Sleep, 100
            IniWrite, %chatInput%, settings.ini, Basic, position ; записываем новое звание в отдельный файл настроек ( ини ) \\\ IniWrite, название переменной которую хочешь записать ( в процентах %test% ), название файла, название раздела, название пункта
            global position := chatInput ; глобальной переменной тоже ставим новое звание чтобы можно было видеть его в диалоге не перезапуская скрипт
            addChatMessageEx("FFFFFF", "Вы установили новую должность {e1eaea}" chatInput) ; оповещаем игрока
        }
    }
return
}
Вот код короче. Там мне человек написал. Тут когда вписываешь в диалог что-то, то потом можно использовать эту переменную в коде, а я хочу чтобы должности можно было выбирать. То есть при нажатии Алт+1 выходил диалог > Должности: Менеджер, Инструктор, Экзаментатор и т.д. Как сделать так? И потом короче когда выбираешь должность, это сохраняется в .ini файле и в переменной. Помогите прошу.
 

DaunVkvadrate

Новичок
1
0
Нужна такая тема, чтобы при появлении в чате в новой строке слов "Vasya_Pupkin игроку" писалась какая-то статистика. Т.е для того, чтоб подсчитать, сколько ответов на репорт в сампе я сделал. Подскажите, как написать, пожалуйста.

Всё, что получилось:
#Include samp.ahk
#IfWinActive GTA:SA:MP

ChatLog = C:\Users\User\Documents\GTA San Andreas User Files\SAMP\chatlog.txt

loop
{
lastline := GetNewLine(ChatLog)
;Vasya_Pupkin игроку
If expression !=
{
Всм "какая-то статистика" если на сервере нет статистики адм/хелпера то это никак не сделаешь