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

dan1654

Новичок
16
0
В чем может быть трабл ?
Код:
!sc2F::
    if(isInChat())
        return
    Ids := NearPlayerInCar(90)
    CarName := getTargetVehicleModelNameById(ids)
    CarID := getTargetVehicleModelIdById(ids)
    If (Ids <= 0)
   {
   addChatMessage("{00FF00}[HELPER]{FFFFFF} - Рядом с вами нет транспорта.")
   }
    else
{
    goto, testcarc
}

testcarc:
if  (getTargetVehicleColor2ById(ids) == 0){
    CarColor := Black
}
else if (getTargetVehicleColor2ById(ids) == 1){
    CarColor := White
}
else if (getTargetVehicleColor2ById(ids) == 2) {
    CarColor := Blue
}
else if (getTargetVehicleColor2ById(ids) := 3) {
    CarColor := Red
}
else if (getTargetVehicleColor2ById(ids) := 4) {
    CarColor := Gray
}
else if (getTargetVehicleColor2ById(ids) := 5) {
    CarColor := Violet
}
else if (getTargetVehicleColor2ById(ids) := 6) {
    CarColor := Yellow
}
else if (getTargetVehicleColor2ById(ids) := 7) {
    CarColor := Gray-Blue
}
else if (getTargetVehicleColor2ById(ids) := 8) {
    CarColor := Light Gray
}
else if (getTargetVehicleColor2ById(ids) := 9) {
    CarColor := Gray
}
else if (getTargetVehicleColor2ById(ids) := 10) {
    CarColor := Gray-Blue
}
else if (getTargetVehicleColor2ById(ids) := 11) {
    CarColor := Gray
}
else if (getTargetVehicleColor2ById(ids) := 12) {
    CarColor := Gray-Blue
}
goto, test

test:
addChatMessage("{00FF00}[HELPER]{FFFFFF} - Ближайший к вам транспорт: " CarColor " " CarName " [" CarID "]")
return

Написать свою функцию. Чит Енджин в помощь
dwSAMP + 0x12D8F8

* dwSAMP - базовый адрес модуля samp.dll

ReadProcessMemory - Если ты EXE, в противном случае можно по другому.
 

Vlad Horii

Известный
Проверенный
310
171
В чем может быть трабл ?
Код:
!sc2F::
    if(isInChat())
        return
    Ids := NearPlayerInCar(90)
    CarName := getTargetVehicleModelNameById(ids)
    CarID := getTargetVehicleModelIdById(ids)
    If (Ids <= 0)
   {
   addChatMessage("{00FF00}[HELPER]{FFFFFF} - Рядом с вами нет транспорта.")
   }
    else
{
    goto, testcarc
}

testcarc:
if  (getTargetVehicleColor2ById(ids) == 0){
    CarColor := Black
}
else if (getTargetVehicleColor2ById(ids) == 1){
    CarColor := White
}
else if (getTargetVehicleColor2ById(ids) == 2) {
    CarColor := Blue
}
else if (getTargetVehicleColor2ById(ids) := 3) {
    CarColor := Red
}
else if (getTargetVehicleColor2ById(ids) := 4) {
    CarColor := Gray
}
else if (getTargetVehicleColor2ById(ids) := 5) {
    CarColor := Violet
}
else if (getTargetVehicleColor2ById(ids) := 6) {
    CarColor := Yellow
}
else if (getTargetVehicleColor2ById(ids) := 7) {
    CarColor := Gray-Blue
}
else if (getTargetVehicleColor2ById(ids) := 8) {
    CarColor := Light Gray
}
else if (getTargetVehicleColor2ById(ids) := 9) {
    CarColor := Gray
}
else if (getTargetVehicleColor2ById(ids) := 10) {
    CarColor := Gray-Blue
}
else if (getTargetVehicleColor2ById(ids) := 11) {
    CarColor := Gray
}
else if (getTargetVehicleColor2ById(ids) := 12) {
    CarColor := Gray-Blue
}
goto, test

test:
addChatMessage("{00FF00}[HELPER]{FFFFFF} - Ближайший к вам транспорт: " CarColor " " CarName " [" CarID "]")
return
CarColor = " Black"
И сравнивать свет нужно не :=
А ==
 

dan1654

Новичок
16
0
Так тоже не рабит, только название и id игрока показывает.
CarColor = " Black"
И сравнивать свет нужно не :=
А ==
Код:
!sc2F::
    if(isInChat())
        return
    Ids := NearPlayerInCar(90)
    CarName := getTargetVehicleModelNameById(ids)
    CarID := getTargetVehicleModelIdById(ids)
    If (Ids <= 0)
   {
   addChatMessage("{00FF00}[HELPER]{FFFFFF} - Рядом с вами нет транспорта.")
   }
    else
{
    goto, testcarc
}
return

testcarc:
if  (getTargetVehicleColor2ById(ids) == 0){
    CarColor = " Black "
}
else if (getTargetVehicleColor2ById(ids) == 1){
    CarColor = " White "
}
else if (getTargetVehicleColor2ById(ids) == 2) {
    CarColor = " Blue "
}
else if (getTargetVehicleColor2ById(ids) == 3) {
    CarColor = " Red "
}
else if (getTargetVehicleColor2ById(ids) == 4) {
    CarColor = " Gray "
}
else if (getTargetVehicleColor2ById(ids) == 5) {
    CarColor = " Violet "
}
else if (getTargetVehicleColor2ById(ids) == 6) {
    CarColor = " Yellow "
}
else if (getTargetVehicleColor2ById(ids) == 7) {
    CarColor = " Gray-Blue "
}
else if (getTargetVehicleColor2ById(ids) == 8) {
    CarColor = " Light Gray "
}
else if (getTargetVehicleColor2ById(ids) == 9) {
    CarColor = " Gray "
}
else if (getTargetVehicleColor2ById(ids) == 10) {
    CarColor = " Gray-Blue "
}
else if (getTargetVehicleColor2ById(ids) == 11) {
    CarColor = " Gray "
}
else if (getTargetVehicleColor2ById(ids) == 12) {
    CarColor = " Gray-Blue "
}
goto, test
return[code]

test:
addChatMessage("{00FF00}[HELPER]{FFFFFF} - Ближайший к вам транспорт: " CarColor " " CarName " [" CarID "]")
return
 

#Rin

Известный
Всефорумный модератор
1,214
1,036
Так тоже не рабит, только название и id игрока показывает.

Код:
!sc2F::
    if(isInChat())
        return
    Ids := NearPlayerInCar(90)
    CarName := getTargetVehicleModelNameById(ids)
    CarID := getTargetVehicleModelIdById(ids)
    If (Ids <= 0)
   {
   addChatMessage("{00FF00}[HELPER]{FFFFFF} - Рядом с вами нет транспорта.")
   }
    else
{
    goto, testcarc
}
return

testcarc:
if  (getTargetVehicleColor2ById(ids) == 0){
    CarColor = " Black "
}
else if (getTargetVehicleColor2ById(ids) == 1){
    CarColor = " White "
}
else if (getTargetVehicleColor2ById(ids) == 2) {
    CarColor = " Blue "
}
else if (getTargetVehicleColor2ById(ids) == 3) {
    CarColor = " Red "
}
else if (getTargetVehicleColor2ById(ids) == 4) {
    CarColor = " Gray "
}
else if (getTargetVehicleColor2ById(ids) == 5) {
    CarColor = " Violet "
}
else if (getTargetVehicleColor2ById(ids) == 6) {
    CarColor = " Yellow "
}
else if (getTargetVehicleColor2ById(ids) == 7) {
    CarColor = " Gray-Blue "
}
else if (getTargetVehicleColor2ById(ids) == 8) {
    CarColor = " Light Gray "
}
else if (getTargetVehicleColor2ById(ids) == 9) {
    CarColor = " Gray "
}
else if (getTargetVehicleColor2ById(ids) == 10) {
    CarColor = " Gray-Blue "
}
else if (getTargetVehicleColor2ById(ids) == 11) {
    CarColor = " Gray "
}
else if (getTargetVehicleColor2ById(ids) == 12) {
    CarColor = " Gray-Blue "
}
goto, test
return[code]

test:
addChatMessage("{00FF00}[HELPER]{FFFFFF} - Ближайший к вам транспорт: " CarColor " " CarName " [" CarID "]")
return
Присвоение текста:
AutoHotKey:
Var := "Text"
Или
AutoHotKey:
Var = Text

В данном случае лучше массив/обьект со значением и цветом, и функция которая возвращает цвет.
 

16166161616661

Новичок
5
0
Доброго времени суток. Столкнулся с такой проблемой ..
Создал ахк диалог для самп , так вот когда просто пишу в чат или открываю чат (F6) ни чего не написав нажимаю enter скрипт завершает работу что делать
 

crab1k

Известный
34
4
Доброго времени суток. Столкнулся с такой проблемой ..
Создал ахк диалог для самп , так вот когда просто пишу в чат или открываю чат (F6) ни чего не написав нажимаю enter скрипт завершает работу что делать
код кинь
 

TeOdooR

Новичок
24
1
Здравствуйте, такой проблем... у меня есть код, вот он
Код:
showDialog(2, "{FFD700}AHK for Bikers", "{FF1493}RolePlay отыгровка АЗС", "Выбрать")
Result := LineResult()
if (!Result)
return
Gosub, Label%Result%
return
Label1:
SendInput, {Esc}
addChatMessage("{7CFC00}[Подсказка]{FFFFFF} - Вы запустили RolePlay ограбления АЗС")
addChatMessage("{7CFC00}[Подсказка]{FFFFFF} - Чтобы закрыть отыгровку RolePlay нажмите F3")
name := getUsername()
usname := RegExReplace(name, "_", " ")
но по какой-то причине он выдаёт ошибку во 2-ой строке
Код:
Result := LineResult()
В чём может быть проблема и как это исправить? Заранее благодарен
 

Vlad Horii

Известный
Проверенный
310
171
Здравствуйте, такой проблем... у меня есть код, вот он
Код:
showDialog(2, "{FFD700}AHK for Bikers", "{FF1493}RolePlay отыгровка АЗС", "Выбрать")
Result := LineResult()
if (!Result)
return
Gosub, Label%Result%
return
Label1:
SendInput, {Esc}
addChatMessage("{7CFC00}[Подсказка]{FFFFFF} - Вы запустили RolePlay ограбления АЗС")
addChatMessage("{7CFC00}[Подсказка]{FFFFFF} - Чтобы закрыть отыгровку RolePlay нажмите F3")
name := getUsername()
usname := RegExReplace(name, "_", " ")
но по какой-то причине он выдаёт ошибку во 2-ой строке
Код:
Result := LineResult()
В чём может быть проблема и как это исправить? Заранее благодарен
какую ошибку?
 

crab1k

Известный
34
4
Код:
LineResult() {
    if (!isDialogOpen())
    return false
    if (getDialogStyle() = 0 || getDialogStyle() = 1 || getDialogStyle() = 3)
    return false
    while (!GetKeyState("LButton", "P") && !GetKeyState("Enter", "P") && !GetKeyState("Esc", "P"))
    continue
    if (GetKeyState("Enter", "P"))
    return getDialogLineNumber()
    else if (GetKeyState("Esc", "P"))
    return false
    else{
        KeyWait, LButton
        KeyWait, LButton, D T0.25
        if (ErrorLevel)
        return LineResult()
        else
        return getDialogLineNumber()
        }
    }
 
  • Нравится
Реакции: TeOdooR

Di3

Участник
432
20
test = Christopher_Dills
te:=getPlayerIdByName(test)
dwSAMP + 0x12D8F8

* dwSAMP - базовый адрес модуля samp.dll

ReadProcessMemory - Если ты EXE, в противном случае можно по другому.
хелп, после клео релога ид игрока выдает -1, поможешь?)
dwld:="Christopher_Dills"
test:=getPlayerNameById(dwId)
addchatmessage(test)
После обычного запуска гта все норм,если релогнуться через клео,ид равно -1, обновление таба не помогло,либо не так использую

updateScoreboardDataEx()
updateOScoreboardData()
dwld:="Christopher_Dills"
test:=getPlayerNameById(dwId)
addchatmessage(test)
 

Di3

Участник
432
20
Функция получения ника по иду, никогда не вернёт ник по нику.
getPlayerIdByName(wName) - Возвращает id игрока по нику не то туда кинул

T:
kmd = (warn|plveh|ban|kick|skick|banip|jail|slap|freeze|weap|apunish|pgetip|getip)
test = Имя_Фамилия
te:=getPlayerIdByName(test)
If ( te = -1 )
{
updateScoreboardDataEx()
sleep 3000
updateOScoreboardData()
goto t
}
If RegExMatch(OutPutFinder, "\Q[A] \E(.*)\Q[\E(.*)\Q]: /\E" kmd "\E(.*)\Q " te "", outa)
{
addChatMessage("{FF0000}ERROR")
goto t
}

все работает,до того момента пока я не релогнусь через клео,если релогаюсь, то ид -1
 
Последнее редактирование модератором:

RTD

Нестандартное звание
Модератор
391
414
Здравствуйте, такой проблем... у меня есть код, вот он
Код:
showDialog(2, "{FFD700}AHK for Bikers", "{FF1493}RolePlay отыгровка АЗС", "Выбрать")
Result := LineResult()
if (!Result)
return
Gosub, Label%Result%
return
Label1:
SendInput, {Esc}
addChatMessage("{7CFC00}[Подсказка]{FFFFFF} - Вы запустили RolePlay ограбления АЗС")
addChatMessage("{7CFC00}[Подсказка]{FFFFFF} - Чтобы закрыть отыгровку RolePlay нажмите F3")
name := getUsername()
usname := RegExReplace(name, "_", " ")
но по какой-то причине он выдаёт ошибку во 2-ой строке
Код:
Result := LineResult()
В чём может быть проблема и как это исправить? Заранее благодарен
Код:
LineResult() {
    if (!isDialogOpen())
    return false
    if (getDialogStyle() = 0 || getDialogStyle() = 1 || getDialogStyle() = 3)
    return false
    while (!GetKeyState("LButton", "P") && !GetKeyState("Enter", "P") && !GetKeyState("Esc", "P"))
    continue
    if (GetKeyState("Enter", "P"))
    return getDialogLineNumber()
    else if (GetKeyState("Esc", "P"))
    return false
    else{
        KeyWait, LButton
        KeyWait, LButton, D T0.25
        if (ErrorLevel)
        return LineResult()
        else
        return getDialogLineNumber()
        }
    }

Код:
LineResult() {
    if (!isDialogOpen() || getDialogStyle() = 0 || getDialogStyle() = 1 || getDialogStyle() = 3)
        return false
    while (isDialogOpen())
        continue
    if(GetKeyState("Esc", "P"))
        return false
    return getDialogLineNumber()
}
 

dan1654

Новичок
16
0
В чем проблема может быть ? Не выводиться в /m переменная " CarName ". При работе с 0-евым id, при работе с id 1 и выше все работает.
Код:
!sc9::
if(isInChat())
        return
Ids := NearPlayerInCar(90)
If (Ids != -1)
{
    CarCol := getTargetVehicleColor2NameById(ids)
    CarName := getTargetVehicleModelNameById(ids)
    Idschel := getPedById(ids)
    Gorad := getPlayerCity()
    Random, randt, 1, 2
    {
        if (randt == 1)
        {
            SendChat("/m - Говорит " Org3 ". Водитель автомобиля марки - '" CarName "' ")
            Sleep, 1500
            SendChat("/m - Прижмитесь к обочине и заглушите двигатель! В противном случае мы можем открыть огонь.")

        }
        else if (randt == 2)
            SendChat("/m - Говорит " Org1 "! Водитель '" CarName "'. Остановитесь у обочины, или мы откроем огонь!")

    }
}
else
    addChatMessage("{00FF00}[HELPER]{FFFFFF} - Рядом с вами нет транспорта. Подъедьте ближе.")
return
Функция получения ника по иду, никогда не вернёт ник по нику.

Функция получения ника по иду, никогда не вернёт ник по нику.
halp please.
 

Вложения

  • BaWkfEmR8GA.jpg
    BaWkfEmR8GA.jpg
    256.8 KB · Просмотры: 330
Последнее редактирование модератором: