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

kizn

О КУ)))
Всефорумный модератор
2,405
2,054
как сделать рандом в ахк? нужно при нажатии клавиши P вставлять рандомно сгенерированные 100 цифр без пробелов
нашел функцию рандома, теперь как эти цифры вставлять как текст на сайте? ::з::%var1% не работает
 
Последнее редактирование:

sanders

Потрачен
253
126
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
как сделать рандом в ахк? нужно при нажатии клавиши P вставлять рандомно сгенерированные 100 цифр без пробелов
нашел функцию рандома, теперь как эти цифры вставлять как текст на сайте? ::з::%var1% не работает
\n используй и все
\n используй и все
Давно не юзал ахк, но мне кажется, что так
AHK:
P::
Loop 100 {
Random, var1, 1, 100
send, %var1%\n
}
 

edik06041

Участник
51
4
Как сделать чтобы ахк работало сразу на несколько окон сампа при активации, я сделал и оно работает только на активное окно
 

CaJlaT

Овощ
Модератор
2,806
2,603
Как сделать чтобы ахк работало сразу на несколько окон сампа при активации, я сделал и оно работает только на активное окно
Оно и не может работать на несколько окон, а будет только на активное.. Если хочешь чтобы работало на все окна - используй Lua
 

degrando

Известный
362
127
 

CaJlaT

Овощ
Модератор
2,806
2,603
Это же мультипоток в самом скрипте, а он хочет отправить действие на несколько запущенных гта
Я и говорю, что будет работать только на активном
 

Andy_White

Новичок
12
0
Приветствую, кто-нибудь в курсе как сделать проверку на диалоговое окно самого сервера?

т.е я зажимаю кнопку ALT и как только появляется диалоговое окно то сразу нажимается ENTER


Код:
#SingleInstance force
~LALT::
Send, {LALT}
return
 

degrando

Известный
362
127
Приветствую, кто-нибудь в курсе как сделать проверку на диалоговое окно самого сервера?

т.е я зажимаю кнопку ALT и как только появляется диалоговое окно то сразу нажимается ENTER


Код:
#SingleInstance force
~LALT::
Send, {LALT}
return
Isdialogopen
 

Adam_Rockwell

Активный
143
25
Это же мультипоток в самом скрипте, а он хочет отправить действие на несколько запущенных гта
Я и говорю, что будет работать только на активном
Ну а в чём проблема отправить сразу на несколько запущенных гта?) прост по очереди в каждый процесс отправляешь и всё
 

ALCAPONE2225

Известный
37
0
Помогите разобраться как использовать эту функцию. Мне нужно чтобы она выводила координаты по названию зоны но не могу понять что вводить после названия зоны ZName
Код:
- getZoneByName(zName, ByRef CurZone)       - Возвращает координаты зоны по имени 

getZoneByName(zName, ByRef CurZone ) {
    if ( bInitZaC == 0 )
    {
        initZonesAndCities()
        bInitZaC := 1
    }
    Loop % nZone-1
    {
        if (zone%A_Index%_name == zName)
        {
            ErrorLevel := ERROR_OK
            CurZone[1] := zone%A_Index%_name
            CurZone[2] := %A_Index%
            CurZone[3,1,1] := zone%A_Index%_x1
            CurZone[3,1,2] := zone%A_Index%_y1
            CurZone[3,1,3] := zone%A_Index%_z1
            CurZone[3,2,1] := zone%A_Index%_x2
            CurZone[3,2,2] := zone%A_Index%_y2
            CurZone[3,2,3] := zone%A_Index%_z2
            return true
        }   
    }
    ErrorLevel := ERROR_ZONE_NOT_FOUND
    return "Unknown"
}
 

Adam_Rockwell

Активный
143
25
@ALCAPONE2225

Функция чуток кривоватая.
А вообще, ByRef на переменную в функциях означает, что эта переменная после обработки в функции будет использоваться в коде дальше.

Два примера с byRef и без:

AutoHotKey:
x := 1

myFunc(byRef x)
{
   x := 5
}

msgbox % x

AutoHotKey:
x := 1

myFunc(x)
{
   x := 5
}

msgbox % x


Ну и исходник с поправленным косяком держи

AutoHotKey:
#SingleInstance Force
#Persistent
#NoEnv
#Include UDF.ahk

F4::
if (getZoneByName2("Los Santos", CurZone) <> "Unknown")
{
    addChatMessage(CurZone[1])
    addChatMessage(CurZone[2])
    addChatMessage(CurZone[3,1,1])
    addChatMessage(CurZone[3,1,2])
    addChatMessage(CurZone[3,1,3])
    addChatMessage(CurZone[3,2,1])
    addChatMessage(CurZone[3,2,2])
    addChatMessage(CurZone[3,2,3])
}
else addChatMessage("Unknown")
return


getZoneByName2(zName, ByRef CurZone ) {
    CurZone := []
    if ( bInitZaC == 0 )
    {
        initZonesAndCities()
        bInitZaC := 1
    }
    Loop % nZone-1
    {
        if (zone%A_Index%_name == zName)
        {
            ErrorLevel := ERROR_OK
            CurZone[1] := zone%A_Index%_name
            CurZone[2] := A_Index
            CurZone[3,1,1] := zone%A_Index%_x1
            CurZone[3,1,2] := zone%A_Index%_y1
            CurZone[3,1,3] := zone%A_Index%_z1
            CurZone[3,2,1] := zone%A_Index%_x2
            CurZone[3,2,2] := zone%A_Index%_y2
            CurZone[3,2,3] := zone%A_Index%_z2
            return true
        }
    }
    ErrorLevel := ERROR_ZONE_NOT_FOUND
    return "Unknown"
}
 
  • Нравится
Реакции: ALCAPONE2225