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

chixiro

Новичок
13
0
Сделай задержку на Timer, после отказа опять включи таймер и все

Вроде есть, где то видел

Не легче просто использовать SendChat("") ? Тогда язык даже переключать не прийдется)
А так я не понял твоего вопроса...
если использовать sendchat(), то сообщение отправится мнгновенно без возможности отредачить
 

Nagenbl4

Новичок
107
2
Ребят, подскажите пожалуйста, как сделать в АХК так, чтобы он работал только на твоём сервере?? Ну то есть привязка по IP-server.
И чтобы если это не тот сервер, писало бы "Error AHK".
 

dmitri4

Известный
452
79
Ребят, подскажите пожалуйста, как сделать в АХК так, чтобы он работал только на твоём сервере?? Ну то есть привязка по IP-server.
И чтобы если это не тот сервер, писало бы "Error AHK".
getServerIP() - Возвращает IP сервера и далее просто сравриваешь его со своим, если идентичны то работ если нет то нет
 

Nagenbl4

Новичок
107
2
getServerIP() - Возвращает IP сервера и далее просто сравриваешь его со своим, если идентичны то работ если нет то нет
Можешь примерно отписать как это сделать? А то я немного не вгоняю. Вот допустим мой IP сервера: 12.334.123.321:0228
 

Tenkara

Потрачен
380
171
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Можешь примерно отписать как это сделать? А то я немного не вгоняю. Вот допустим мой IP сервера: 12.334.123.321:0228
Вот мой, сам подставишь
Код:
;serv := getServerName()
;if(serv <> "Diamond Role Play | Emerald")
;ExitApp
 

Overseas

Новичок
16
1
Есть нижеприведенный код. Вопрос: как сделать так что бы он читал не последнюю строку в логе, а предпоследнюю? Нужно что бы он вытаскивал ник из предпоследней строки, или же искал совпадение по всему логу сразу.

Код:
SelectedFile = %A_MyDocuments%\Gta San Andreas User Files\samp\chatlog.txt
Loop
{
log = % A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"
id := NearCop()
lastline := GetNewLine(FileCLog)
if lastline contains  Подозреваемый, Арестованный
{
FileRead, info, %log%
RegExMatch(info, "\Q] \E(.*)\[FFFFFF\]\E(.*)\Q [269BD8]\E", out)
Sleep, 2200
SendMessage, 0x50,, 0x4190419,, A
SendInput, {F6}/r Дело закрыто. Подозреваемый %out2% пойман. | Напарник(и):  {Enter}
Sleep, 2200
SendInput, {F6}/time{Enter}
Sleep, 400
SendInput, {F2}
sleep, 1000
FileDelete %log%
sleep, 1000
FileAppend %log%
}
}
 
Последнее редактирование:

madrasso

Потрачен
883
324
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вот мой, сам подставишь
Код:
;serv := getServerName()
;if(serv <> "Diamond Role Play | Emerald")
;ExitApp
Мой. :monkey:
Есть нижеприведенный код. Вопрос: как сделать так что бы он читал не последнюю строку в логе, а предпоследнюю? Нужно что бы он вытаскивал ник из предпоследней строки, или же искал совпадение по всему логу сразу.

Код:
SelectedFile = %A_MyDocuments%\Gta San Andreas User Files\samp\chatlog.txt
Loop
{
log = % A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"
id := NearCop()
lastline := GetNewLine(FileCLog)
if lastline contains  Подозреваемый, Арестованный
{
FileRead, info, %log%
RegExMatch(info, "\Q] \E(.*)\[FFFFFF\]\E(.*)\Q [269BD8]\E", out)
Sleep, 2200
SendMessage, 0x50,, 0x4190419,, A
SendInput, {F6}/r Дело закрыто. Подозреваемый %out2% пойман. | Напарник(и):  {Enter}
Sleep, 2200
SendInput, {F6}/time{Enter}
Sleep, 400
SendInput, {F2}
sleep, 1000
FileDelete %log%
sleep, 1000
FileAppend %log%
}
}
Fileread юзай, а не getnewline()
 

Extraktoris

Новичок
5
1
Ребят, пожалуйста помогите. Я не могу сделать ахк которое сразу после пейдея напишет /capture . Я много уже пытаюсь - но не получается. Если кто-то знает как это сделать - то помогите. После пейдея выводиться текст
"Банковский чек"
"Счет в банке" и тд.
Если кто-то сделает буду очень благодарен.
 

Carlos Reyes

Новичок
14
0
Привет, снова я вас потревожу. Вот такой вопрос: как сделать автоответчик? Типо мне в смс написали определенный текст и скрипт на тот же номер отписал определенную смс. А то я шарю так по мелочи) Вот вместо "575888", чтобы был хоть другой номер, чтобы АХК читал тот номер, а потом на него же отправил смс и так же с ником, вот Shon Lachetti прислал смс и в смс, чтобы было "Shon", памагити xd
Код:
#SingleInstance force
#NoEnv
#IfWinActive GTA:SA:MP


SelectedFile = %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
start3:
Loop, Read, %SelectedFile%
{
    IfInString, A_LoopReadLine, {FF8C00}SMS: {FFFF00}Нет {FF8C00}| {FFFF00}Отправитель: Shon_Lachetti (тел. 575888)

    {
        Goto, start5
    }
}
goto, start3
start5:
filedelete, %SelectedFile%
fileappend, , %SelectedFile%
{
sendinput, {f6}/sms 575888 Shon, Да.{enter}
}
return
 
Последнее редактирование:

DeMoN3D

Известный
366
76
Привет, снова я вас потревожу. Вот такой вопрос: как сделать автоответчик? Типо мне в смс написали определенный текст и скрипт на тот же номер отписал определенную смс. А то я шарю так по мелочи) Вот вместо "575888", чтобы был хоть другой номер, чтобы АХК читал тот номер, а потом на него же отправил смс и так же с ником, вот Shon Lachetti прислал смс и в смс, чтобы было "Shon", памагити xd
Код:
#SingleInstance force
#NoEnv
#IfWinActive GTA:SA:MP


SelectedFile = %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
start3:
Loop, Read, %SelectedFile%
{
    IfInString, A_LoopReadLine, {FF8C00}SMS: {FFFF00}Нет {FF8C00}| {FFFF00}Отправитель: Shon_Lachetti (тел. 575888)

    {
        Goto, start5
    }
}
goto, start3
start5:
filedelete, %SelectedFile%
fileappend, , %SelectedFile%
{
sendinput, {f6}/sms 575888 Shon, Да.{enter}
}
return

попробуй вот так:
AutoHotKey:
#include SAMPDEV.ahk
#IfWinActive GTA:SA:MP
chatlog := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"
Loop {
    if (!active)
        Continue
    FileRead, chat, %chatlog%
    if (RegExMatch(chat, ".* Отправитель: (\d+)", number)) {
        SendChat("/sms " number1 "[автоответчик] я сейчас занят, напишите позже")
        FileDelete, %chatlog%
    }
}
!5:: ; Активация/ Деактивация
active := !active
addChatMessageEx("FFFFFF", "Автоответчик " (active ? "включен":"выключен"))
Return

AutoHotKey:
#include SAMPDEV.ahk
#IfWinActive GTA:SA:MP


p := 0
s := 0
z := 0
!F2::
addChatMessage("{ffffff} Счётчик {ff0000}активирован")
Loop,
{
    chatlog := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"
    FileRead, chatlog, %chatlog%
    if (regexmatch(chatlog, "Лас-Вентурас")) and (p = 0)
        p := 1
    if (regexmatch(chatlog, "Сан-Фиерро - Лос-Сантос")) and (p = 0)
        p := 2
    if (regexmatch(chatlog, "Лос-Сантос - Сан-Фиерро")) and (p = 0)
        p := 2
    if (p = 1) {
    IfInString, file, Высадка пассажиров ; Ищем в ЧатЛоге фразу
        { 
            Sleep 1500 ; Задержка
            s:=s+1
            z:=s*1449
            addChatMessage("{ffffff}Рейсов: {35bf4d}" s)
            addChatMessage("{ffffff}Зарплата: {35bf4d}~" z "{35bf4d}$" )
            FileDelete, %chatlog%  ; Удаляем ЧатЛог
        }
    } else if (p = 2) {
           IfInString, file, Высадка пассажиров ; Ищем в ЧатЛоге фразу
               { 
                    Sleep 1500 ; Задержка
                    s:=s+1
                    z:=s*1165.5
                    regexmatch(z, "(\d+).*", z)
                    addChatMessage("{ffffff}Рейсов: {35bf4d}" s)
                    addChatMessage("{ffffff}Зарплата: {35bf4d}~" z "{35bf4d}$" )
                    FileDelete, %chatlog%  ; Удаляем ЧатЛог
                }
    }
}
return

Вот код, подскажите почему он не работает. Задумка такая: сначала он должен найти одну из фраз (ЛС-ЛВ, ЛВ-СФ, СФ-ЛС) после того, как нашёл одно из, этот раздел выключается и переходим к следующей части: счетчик, который зависит от первой части скрипта. В общем, скрипт включается без ошибок, но в игре не работает так, как надо
 
Последнее редактирование модератором:

Carlos Reyes

Новичок
14
0
AutoHotKey:
#include SAMPDEV.ahk
#IfWinActive GTA:SA:MP


p := 0
s := 0
z := 0
!F2::
addChatMessage("{ffffff} Счётчик {ff0000}активирован")
Loop,
{
    chatlog := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"
    FileRead, chatlog, %chatlog%
    if (regexmatch(chatlog, "Лас-Вентурас")) and (p = 0)
        p := 1
    if (regexmatch(chatlog, "Сан-Фиерро - Лос-Сантос")) and (p = 0)
        p := 2
    if (regexmatch(chatlog, "Лос-Сантос - Сан-Фиерро")) and (p = 0)
        p := 2
    if (p = 1) {
    IfInString, file, Высадка пассажиров ; Ищем в ЧатЛоге фразу
        {
            Sleep 1500 ; Задержка
            s:=s+1
            z:=s*1449
            addChatMessage("{ffffff}Рейсов: {35bf4d}" s)
            addChatMessage("{ffffff}Зарплата: {35bf4d}~" z "{35bf4d}$" )
            FileDelete, %chatlog%  ; Удаляем ЧатЛог
        }
    } else if (p = 2) {
           IfInString, file, Высадка пассажиров ; Ищем в ЧатЛоге фразу
               {
                    Sleep 1500 ; Задержка
                    s:=s+1
                    z:=s*1165.5
                    regexmatch(z, "(\d+).*", z)
                    addChatMessage("{ffffff}Рейсов: {35bf4d}" s)
                    addChatMessage("{ffffff}Зарплата: {35bf4d}~" z "{35bf4d}$" )
                    FileDelete, %chatlog%  ; Удаляем ЧатЛог
                }
    }
}
return

Вот код, подскажите почему он не работает. Задумка такая: сначала он должен найти одну из фраз (ЛС-ЛВ, ЛВ-СФ, СФ-ЛС) после того, как нашёл одно из, этот раздел выключается и переходим к следующей части: счетчик, который зависит от первой части скрипта. В общем, скрипт включается без ошибок, но в игре не работает так, как надо
ошибку выдаёт.
 

NOOBPAndA

Участник
101
12
Ребят,допустим у меня скрип,то как мне сделат так что бы при каждом входе в игру писали команду активации в чат?