darksoor
Известный
- 679
- 355
АХК в ANSI-32 установи.Увы, но не работает, просто напросто ничего не происходит, когда появляется строка. Сам скрипт активировал.
Код рабочий, если ты правильную строку мне скинул, сам проверил.
АХК в ANSI-32 установи.Увы, но не работает, просто напросто ничего не происходит, когда появляется строка. Сам скрипт активировал.
Я конечно рад, помогает, но скрипт не доделан, смотри, я записываю один ник, потом второй, но переменная у меня одна, и в диалоге один ник а не два которые я записал, а в блокноте - два.AutoHotKey:SendInput,{F6}blabla{space}
Если хочешь, чтобы после перезапуска скрипта ники сохранялись, то сделать так:
AutoHotKey:$~NumpadEnter:: $~Enter:: if (isInChat() and !isDialogOpen()) { sleep 250 chatInput := readString(hGTA, dwSAMP + 0x12D8F8, 256) if (RegExMatch(chatInput, "^/add ([A-z_]+)", var)) { FileAppend, %var1%`n, %A_ScriptDir%\NickName.txt addChatMessageEx("{228B22}", "[AHK] {F5F5DC} Скрипт сохранил введённые данные - {FFFF00}" var1) Return } } return !3:: FileRead, NickName, %A_ScriptDir%\NickName.txt showDialog(2, "Диалог", NickName, "Cancel") return
Я конечно рад, помогает, но скрипт не доделан, смотри, я записываю один ник, потом второй, но переменная у меня одна, и в диалоге один ник а не два которые я записал, а в блокноте - два.
При выводе диалога скрипт считывает полностью весь файл, возможно его лучше прочитать построчно и из каждой строки доставать необходимые данные. Тебе подсказка, дерзай.
FileReadLine, NickName, %A_ScriptDir%\NickName.txt, %A_Index%. Дописал,Сейчас попробую.
Не получается :thinking:При выводе диалога скрипт считывает полностью весь файл, возможно его лучше прочитать построчно и из каждой строки доставать необходимые данные. Тебе подсказка, дерзай.
Код:FileReadLine, NickName, %A_ScriptDir%\NickName.txt, %A_Index%. Дописал,Сейчас попробую.
Не получается :thinking:
AutoHotKey:SendInput,{F6}blabla{space}
Если хочешь, чтобы после перезапуска скрипта ники сохранялись, то сделать так:
AutoHotKey:$~NumpadEnter:: $~Enter:: if (isInChat() and !isDialogOpen()) { sleep 250 chatInput := readString(hGTA, dwSAMP + 0x12D8F8, 256) if (RegExMatch(chatInput, "^/add ([A-z_]+)", var)) { FileAppend, %var1%`n, %A_ScriptDir%\NickName.txt addChatMessageEx("{228B22}", "[AHK] {F5F5DC} Скрипт сохранил введённые данные - {FFFF00}" var1) Return } } return !3:: FileRead, NickName, %A_ScriptDir%\NickName.txt showDialog(2, "Диалог", NickName, "Cancel") return
!3::
FileRead, NickName, %A_ScriptDir%\NickName.txt, %A_Index%
showDialog(2, "Диалог", NickName, "Cancel")
return
$~NumpadEnter::
$~Enter::
if (isInChat() and !isDialogOpen())
{
sleep 250
chatInput := readString(hGTA, dwSAMP + 0x12D8F8, 256)
if (RegExMatch(chatInput, "^/adnick ([A-z_]+)", var))
{
FileAppend, %var1%`n, %A_ScriptDir%\NickName.txt
addChatMessageEx("{228B22}", "[AHK] {F5F5DC} Скрипт сохранил введённые данные - {FFFF00}" var1)
Return
}
}
Надо чтобы он в диалог вводил все ники с блокнота которые я записал а не один последнийКод:!3:: FileRead, NickName, %A_ScriptDir%\NickName.txt, %A_Index% showDialog(2, "Диалог", NickName, "Cancel") return $~NumpadEnter:: $~Enter:: if (isInChat() and !isDialogOpen()) { sleep 250 chatInput := readString(hGTA, dwSAMP + 0x12D8F8, 256) if (RegExMatch(chatInput, "^/adnick ([A-z_]+)", var)) { FileAppend, %var1%`n, %A_ScriptDir%\NickName.txt addChatMessageEx("{228B22}", "[AHK] {F5F5DC} Скрипт сохранил введённые данные - {FFFF00}" var1) Return } }
FileRead, NickName, %A_ScriptDir%\NickName.txt, %A_Index%
; А должно быть FileRead, NickName, %A_ScriptDir%\NickName.txt
У меня там другие значения, вот и не поставил.Вот это что?
У меня и выводит все ники, как ты и хотел.AutoHotKey:FileRead, NickName, %A_ScriptDir%\NickName.txt, %A_Index% ; А должно быть FileRead, NickName, %A_ScriptDir%\NickName.txt
В конце после отработки клавиши Enter после блоков поставь return
Прошу мне добавить в этот же скрипт удаление информации из списка, если у меня там 2 ника:Вот это что?
У меня и выводит все ники, как ты и хотел.AutoHotKey:FileRead, NickName, %A_ScriptDir%\NickName.txt, %A_Index% ; А должно быть FileRead, NickName, %A_ScriptDir%\NickName.txt
В конце после отработки клавиши Enter после блоков поставь return
У меня там другие значения, вот и не поставил.
Прошу мне добавить в этот же скрипт удаление информации из списка, если у меня там 2 ника:
- Andy Safino
- Petka_Lindberg
Мне надо будет прописать - /delnick Petka_Linberg, после чего он удаляет
$~NumpadEnter::
$~Enter::
if (isInChat() and !isDialogOpen())
{
sleep 250
chatInput := readString(hGTA, dwSAMP + 0x12D8F8, 256)
if (RegExMatch(chatInput, "^/adnick ([A-z_]+)", var))
{
FileAppend, %var1%`n, %A_ScriptDir%\NickName.txt
addChatMessageEx("{228B22}", "[AHK] {F5F5DC}Скрипт сохранил введённые данные - {FFFF00}" var1)
Return
}
if (RegExMatch(chatInput, "^/delnick ([A-z_]+)", var))
{
FileRead, text, %A_ScriptDir%\NickName.txt
if (text not contains var1)
{
addChatMessageEx("{228B22}", "[AHK] {F5F5DC}Скрипт не нашёл данного ника в списках.")
return
}
Loop, read, %A_ScriptDir%\NickName.txt
{
if (A_LoopReadLine)
{
if (A_LoopReadLine == var1)
newfile := RegExReplace(text, A_LoopReadLine, "")
}
}
FileDelete, %A_ScriptDir%\NickName.txt
FileAppend, %newfile%, %A_ScriptDir%\NickName.txt
addChatMessageEx("{228B22}", "[AHK] {F5F5DC}Скрипт удалил ник из списка - {FFFF00}" var1)
Return
}
}
return
!3::
NickName := []
Loop, read, %A_ScriptDir%\NickName.txt
{
if (A_LoopReadLine) {
if (RegExMatch(A_LoopReadLine, "([A-z_]+)", vars))
{
NickName := NickName "`n" vars1 "`n"
}
}
}
showDialog(2, "Диалог", NickName, "Cancel")
return
На метку не отправляетесь при запуске, только в конце метки, она просто не запускаетьсяВобщем, написал я скрипт на авто-нажатие ЛКМ, но что-то не хочет работать, никаких ошибок ахк не выдаёт...
Код:#IfWinActive GTA:SA:MP !-:: POINK: IfWinActive, GTA:SA:MP Send, {LButton RButton} Sleep, 40 Send, {LButton LButton} Sleep, 40 Goto, POINK !=::Reload return