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

Revalto

Известный
531
225
Какой хостинг для этого использовать не знаете?
Я вот смотрел видео на ютубе по привязке
Но с хостингом проблемы, ссылку вставляю, а она не работает.
Слабенькая привязка, если честно... Её обойти в пару сек можно...

Господа, почему код нормально не работает? У меня есть общий диалог, в нем 9 строка это RP обыск заложника. Вот код:

Код:
    if (line_num == 9)
    {
  showDialog(2, "RP обыск заложника", "{F4F6F7}[+] Паспорт в левом кармане штанов`n{F4F6F7}[+] Паспорт в правом кармане штанов", "Закрыть")
  menu := 3
    }
  
    if (menu == 3)
    {
        menu := 0
        line_num  := getDialogLineNumber()
        line_text  := getDialogLine(line_num)
    }
      
    if (line_num == 1)
    {
  SendMessage, 0x50,, 0x4190419,, A
  SendInput {F6}/me засунул руку в левый карман заложника и начал искать паспорт{enter}
    return
    }
  
    if (line_num == 2)
    {
  SendMessage, 0x50,, 0x4190419,, A
  SendInput {F6}/me засунул руку в правый карман заложника и начал искать паспорт{enter}
    return
    }

Проблема в том, что мне нужно чтобы текст выходил при выборе определенного пункта - первого или второго, но он сразу же выводится когда я выбираю 9-ый пункт из общего диалога. Так в чем проблема? Как сделать так, чтобы я открывал 9-ый пункт диалога, выбирал там 1-ую или 2-ую строку и только потом вводился текст? (/me засунул руку в левый карман ...)
Код неправильно составлен... Вы в независимости от меню, проверяете строку...


памагити, нужен код чтобы когда я прописывал команду например /house (открываеться диалог) и мне нужно чтобы АХК само опустило вниз и нажало ентер
Проверяешь название диалога через getDialogCaption(), потом юзаешь Send, {Down 9}
Где 9, это количество раз опустится вниз...
 

DolgorukovGTA

Известный
Проверенный
652
345
Код:
#Include SAMP.ahk
#IfWinActive GTA:SA:MP
vk69::
{
ID:=getClosestPlayerId()
sleep, 10
sendinput {F6}/crewin %ID% {Enter}
}
return

Помогите, данный AHK по сути, должен прописать команду человеку, стоящему рядом. Но почему-то он всё время выводит /crewin -1. Помогите.
 
  • Нравится
Реакции: skillpz

Andreykas1421

Новичок
47
0
Код:
!2::
ShowDialog(2, "Все для подачи в /news ", "*******************`nНачать МП ""прятки""`nЗакончить МП ""прятки""`n*******************`nНачать ""Приветы и Поздравления""`nЗакончить ""Приветы и Поздравления""`n*******************`nНачать МП ""Математик""`nЗакончить МП ""Математик""`n*******************`nНачать брать интервью.`nЗакончить брать интервью`n*******************", "Ок")
Result := LineResult()
if (!Result)
   return
gosub, OrgNames%Result%
return
OrgNames2:
SendChat("/d [РЛВ]-[СМИ] Занимаю новостную волну.")
sleep 4500
sendChat("/news ...:: Музыкальная заставка « Лас-Вентурас СМИ » ::...")
sleep 4500
sendChat("/news [Прятки]: Здравствуйте дорогие радиослушатели.")
sleep 4500
sendChat("/news [Прятки]: С вами я - Репорте Лас-Вентурас, NAMES.")
sleep 4500
sendChat("/news [Прятки]: Сейчас я проведу мероприятие ""Прятки"". Призовой фонд: 50.000.")
sleep 4500
sendChat("/news [Прятки]: Ваша задача найти меня и передать 1$.")
sleep 4500
sendChat("/news [Прятки]: Каждые 3 минуты я буду давать подсказки.")
sleep 4500
sendChat("/news [Прятки]: Начинаем. Подсказку дам через 3 минуты.")
sleep 4500
return
Возник вопрос, как сделать автозамену слов, к примеру что-бы NAMES, заменился на Andrey, заранее спасибо.

Код:
#Include SAMP.ahk
#IfWinActive GTA:SA:MP
vk69::
{
ID:=getClosestPlayerId()
sleep, 10
sendinput {F6}/crewin %ID% {Enter}
}
return

Помогите, данный AHK по сути, должен прописать команду человеку, стоящему рядом. Но почему-то он всё время выводит /crewin -1. Помогите.
NearId := getClosestPlayerId()
SendInput,{F6}/crewin %NearId%{Shift down}{Left 3}{Shift up}
 
Последнее редактирование модератором:

Skiefy

Известный
23
0
Код:
#Include SAMP.ahk
#IfWinActive GTA:SA:MP
vk69::
{
ID:=getClosestPlayerId()
sleep, 10
sendinput {F6}/crewin %ID% {Enter}
}
return

Помогите, данный AHK по сути, должен прописать команду человеку, стоящему рядом. Но почему-то он всё время выводит /crewin -1. Помогите.
Где GetClosestId(), в скобках ничего не должно стоять?
 

LZTD

Активный
129
25
нужен AHK скрипт, который телепортирует игрока в виртуальный мир / в интерьер.
Именно AHK
Вот cleo, которое это делает, а в AHK можно так ?
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
thread "Actor.Health($PLAYER_ACTOR) = 100"
if
29@ = SAMP.Base()
else_jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_57
0A93: end_custom_thread

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_57
not SAMP.Available
else_jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_77
wait 100
jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_57

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_77
chatmsg "Made by Toplivo" 2142890
chatmsg "Especially for Cheat-Master.ru" 2142890

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_142
wait 0
3@ = SAMP.GetGamestate()
if and
1@ == 1
3@ == 0
else_jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_193
1@ = 0
SAMP.WriteSAMPMemory(14032, 0@, 2)

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_193
if and
key_down 17
key_down 66
not SAMP.ChatInputOpened
else_jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_328
1@ = 1
SAMP.ReadSAMPMemory(0@, 14032, 2)
SAMP.WriteSAMPMemory(14032, 50064, 2)
SAMP.RequestClass(4)
wait 400
Camera.Restore_WithJumpCut
Actor.StorePos($PLAYER_ACTOR, 3@, 4@, 5@)
09BC: put_actor $PLAYER_ACTOR at 3@ 4@ 5@ no_offset_and_dont_warp_gang
print "ON" 3000

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_291
wait 0
if and
not key_down 17
not key_down 66
else_jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_321
jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_328

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_321
jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_291

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_328
if and
key_down 17
key_down 78
not SAMP.ChatInputOpened
1@ == 1
else_jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_422
1@ = 0
SAMP.WriteSAMPMemory(14032, 0@, 2)
SAMP.SendSpawn
print "OFF" 3000

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_385
wait 0
if and
not key_down 17
not key_down 78
else_jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_415
jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_422

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_415
jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_385

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_422
jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_142
 

Brian_Programs

Новичок
2
0
Здравствуйте,можно скрипт для автоматической рыбалки или взлома машины в самп\крмп. Надо что-бы скрипт распознавал цифры которая выдает игра numpud 4 или numpud 6 и автоматически нажимать на них.Заранее спасибо!
 

Skiefy

Известный
23
0
Код:
!2::
ShowDialog(2, "Все для подачи в /news ", "*******************`nНачать МП ""прятки""`nЗакончить МП ""прятки""`n*******************`nНачать ""Приветы и Поздравления""`nЗакончить ""Приветы и Поздравления""`n*******************`nНачать МП ""Математик""`nЗакончить МП ""Математик""`n*******************`nНачать брать интервью.`nЗакончить брать интервью`n*******************", "Ок")
Result := LineResult()
if (!Result)
   return
gosub, OrgNames%Result%
return
OrgNames2:
SendChat("/d [РЛВ]-[СМИ] Занимаю новостную волну.")
sleep 4500
sendChat("/news ...:: Музыкальная заставка « Лас-Вентурас СМИ » ::...")
sleep 4500
sendChat("/news [Прятки]: Здравствуйте дорогие радиослушатели.")
sleep 4500
sendChat("/news [Прятки]: С вами я - Репорте Лас-Вентурас, NAMES.")
sleep 4500
sendChat("/news [Прятки]: Сейчас я проведу мероприятие ""Прятки"". Призовой фонд: 50.000.")
sleep 4500
sendChat("/news [Прятки]: Ваша задача найти меня и передать 1$.")
sleep 4500
sendChat("/news [Прятки]: Каждые 3 минуты я буду давать подсказки.")
sleep 4500
sendChat("/news [Прятки]: Начинаем. Подсказку дам через 3 минуты.")
sleep 4500
return
Возник вопрос, как сделать автозамену слов, к примеру что-бы NAMES, заменился на Andrey, заранее спасибо.
Создай диалог куда надо ввести то слово, на которое надо заменить.
Например в начале сделай:
-------
ShowDialog("1", "название диалога", "Текст", "Х")
Input, Name, V, {Enter}
-------
И names (В: С вами реплртер - names) замени на %Name%
 

Andreykas1421

Новичок
47
0
Создай диалог куда надо ввести то слово, на которое надо заменить.
Например в начале сделай:
-------
ShowDialog("1", "название диалога", "Текст", "Х")
Input, Name, V, {Enter}
-------
И names (В: С вами реплртер - names) замени на %Name%
Не работает
 

Skiefy

Известный
23
0
Код:
Вариант number 1
!2::
{
Sleep, 250
ShowDialog("1", "{FFC900}Введите ваше имя", " ", "OK")
Input, Name, V, {enter}
Sleep, 250
ShowDialog(2, "Все для подачи в /news ", "*******************`nНачать МП ""прятки""`nЗакончить МП ""прятки""`n*******************`nНачать ""Приветы и Поздравления""`nЗакончить ""Приветы и Поздравления""`n*******************`nНачать МП ""Математик""`nЗакончить МП ""Математик""`n*******************`nНачать брать интервью.`nЗакончить брать интервью`n*******************", "Ок")
Result := LineResult()
if (!Result)
   return
gosub, OrgNames%Result%
return
OrgNames2:
SendChat("/d [РЛВ]-[СМИ] Занимаю новостную волну.")
sleep 4500
sendChat("/news ...:: Музыкальная заставка « Лас-Вентурас СМИ » ::...")
sleep 4500
sendChat("/news [Прятки]: Здравствуйте дорогие радиослушатели.")
sleep 4500
sendChat("/news [Прятки]: С вами я - Репорте Лас-Вентурас, %Name%.")
sleep 4500
sendChat("/news [Прятки]: Сейчас я проведу мероприятие ""Прятки"". Призовой фонд: 50.000.")
sleep 4500
sendChat("/news [Прятки]: Ваша задача найти меня и передать 1$.")
sleep 4500
sendChat("/news [Прятки]: Каждые 3 минуты я буду давать подсказки.")
sleep 4500
sendChat("/news [Прятки]: Начинаем. Подсказку дам через 3 минуты.")
sleep 4500
}
return
=======================
Вариант number 2
=======================
#include, SAMP-UDF.ahk
; Если еще не подключен, если подключен - убирай эту строчку. SAMP-UDF должен находится в той же папке, где и скрипт
Name := RegExReplace(getUserName(), "_", " ")
!2::
{
Sleep, 250
ShowDialog(2, "Все для подачи в /news ", "*******************`nНачать МП ""прятки""`nЗакончить МП ""прятки""`n*******************`nНачать ""Приветы и Поздравления""`nЗакончить ""Приветы и Поздравления""`n*******************`nНачать МП ""Математик""`nЗакончить МП ""Математик""`n*******************`nНачать брать интервью.`nЗакончить брать интервью`n*******************", "Ок")
Result := LineResult()
if (!Result)
   return
gosub, OrgNames%Result%
return
OrgNames2:
SendChat("/d [РЛВ]-[СМИ] Занимаю новостную волну.")
sleep 4500
sendChat("/news ...:: Музыкальная заставка « Лас-Вентурас СМИ » ::...")
sleep 4500
sendChat("/news [Прятки]: Здравствуйте дорогие радиослушатели.")
sleep 4500
sendChat("/news [Прятки]: С вами я - Репорте Лас-Вентурас, %Name%.")
sleep 4500
sendChat("/news [Прятки]: Сейчас я проведу мероприятие ""Прятки"". Призовой фонд: 50.000.")
sleep 4500
sendChat("/news [Прятки]: Ваша задача найти меня и передать 1$.")
sleep 4500
sendChat("/news [Прятки]: Каждые 3 минуты я буду давать подсказки.")
sleep 4500
sendChat("/news [Прятки]: Начинаем. Подсказку дам через 3 минуты.")
sleep 4500
}
return
 

Andreykas1421

Новичок
47
0
Код:
Вариант number 1
!2::
{
Sleep, 250
ShowDialog("1", "{FFC900}Введите ваше имя", " ", "OK")
Input, Name, V, {enter}
Sleep, 250
ShowDialog(2, "Все для подачи в /news ", "*******************`nНачать МП ""прятки""`nЗакончить МП ""прятки""`n*******************`nНачать ""Приветы и Поздравления""`nЗакончить ""Приветы и Поздравления""`n*******************`nНачать МП ""Математик""`nЗакончить МП ""Математик""`n*******************`nНачать брать интервью.`nЗакончить брать интервью`n*******************", "Ок")
Result := LineResult()
if (!Result)
   return
gosub, OrgNames%Result%
return
OrgNames2:
SendChat("/d [РЛВ]-[СМИ] Занимаю новостную волну.")
sleep 4500
sendChat("/news ...:: Музыкальная заставка « Лас-Вентурас СМИ » ::...")
sleep 4500
sendChat("/news [Прятки]: Здравствуйте дорогие радиослушатели.")
sleep 4500
sendChat("/news [Прятки]: С вами я - Репорте Лас-Вентурас, %Name%.")
sleep 4500
sendChat("/news [Прятки]: Сейчас я проведу мероприятие ""Прятки"". Призовой фонд: 50.000.")
sleep 4500
sendChat("/news [Прятки]: Ваша задача найти меня и передать 1$.")
sleep 4500
sendChat("/news [Прятки]: Каждые 3 минуты я буду давать подсказки.")
sleep 4500
sendChat("/news [Прятки]: Начинаем. Подсказку дам через 3 минуты.")
sleep 4500
}
return
=======================
Вариант number 2
=======================
#include, SAMP-UDF.ahk
; Если еще не подключен, если подключен - убирай эту строчку. SAMP-UDF должен находится в той же папке, где и скрипт
Name := RegExReplace(getUserName(), "_", " ")
!2::
{
Sleep, 250
ShowDialog(2, "Все для подачи в /news ", "*******************`nНачать МП ""прятки""`nЗакончить МП ""прятки""`n*******************`nНачать ""Приветы и Поздравления""`nЗакончить ""Приветы и Поздравления""`n*******************`nНачать МП ""Математик""`nЗакончить МП ""Математик""`n*******************`nНачать брать интервью.`nЗакончить брать интервью`n*******************", "Ок")
Result := LineResult()
if (!Result)
   return
gosub, OrgNames%Result%
return
OrgNames2:
SendChat("/d [РЛВ]-[СМИ] Занимаю новостную волну.")
sleep 4500
sendChat("/news ...:: Музыкальная заставка « Лас-Вентурас СМИ » ::...")
sleep 4500
sendChat("/news [Прятки]: Здравствуйте дорогие радиослушатели.")
sleep 4500
sendChat("/news [Прятки]: С вами я - Репорте Лас-Вентурас, %Name%.")
sleep 4500
sendChat("/news [Прятки]: Сейчас я проведу мероприятие ""Прятки"". Призовой фонд: 50.000.")
sleep 4500
sendChat("/news [Прятки]: Ваша задача найти меня и передать 1$.")
sleep 4500
sendChat("/news [Прятки]: Каждые 3 минуты я буду давать подсказки.")
sleep 4500
sendChat("/news [Прятки]: Начинаем. Подсказку дам через 3 минуты.")
sleep 4500
}
return
Не-а( все так же не работает
 

Skiefy

Известный
23
0
Не-а( все так же не работает
ну тогда ищи ошибку в своем коде, у меня все должно работать
UPD.: Понял в чем ошибка, ща изменю
21 и 55 строчка кода (sendChat("/news [Прятки]: С вами я - Репорте Лас-Вентурас, %Name%."))
sendChat("/news [Прятки]: С вами я - Репорте Лас-Вентурас, " name) - измени на это
 

Revalto

Известный
531
225
Код:
ShowDialog(1, "Проверка", "Введите данные:", "Закрыть")
while (isDialogOpen()) {
}
addChatMessageEx(0xBDBDBD, "{BDBDBD}Вы ввели: {FFFFFF}" readString(hGTA, dwSAMP + 0x12D8F8, 256))

ну тогда ищи ошибку в своем коде, у меня все должно работать
UPD.: Понял в чем ошибка, ща изменю
21 и 55 строчка кода (sendChat("/news [Прятки]: С вами я - Репорте Лас-Вентурас, %Name%."))
sendChat("/news [Прятки]: С вами я - Репорте Лас-Вентурас, " name) - измени на это
Если код запустился без ошибок и не пашет, мб AHK на ANSI32 надо поставить)
Ну а так, да. Грубая ошибка)


Здравствуйте,можно скрипт для автоматической рыбалки или взлома машины в самп\крмп. Надо что-бы скрипт распознавал цифры которая выдает игра numpud 4 или numpud 6 и автоматически нажимать на них.Заранее спасибо!
Ну вообще это к столу заказов надо идти. А делается очень просто, считываешь TextDraw ну либо проверкой, либо считываешь клавиши и жмякаешь)


нужен AHK скрипт, который телепортирует игрока в виртуальный мир / в интерьер.
Именно AHK
Вот cleo, которое это делает, а в AHK можно так ?
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
thread "Actor.Health($PLAYER_ACTOR) = 100"
if
29@ = SAMP.Base()
else_jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_57
0A93: end_custom_thread

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_57
not SAMP.Available
else_jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_77
wait 100
jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_57

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_77
chatmsg "Made by Toplivo" 2142890
chatmsg "Especially for Cheat-Master.ru" 2142890

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_142
wait 0
3@ = SAMP.GetGamestate()
if and
1@ == 1
3@ == 0
else_jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_193
1@ = 0
SAMP.WriteSAMPMemory(14032, 0@, 2)

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_193
if and
key_down 17
key_down 66
not SAMP.ChatInputOpened
else_jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_328
1@ = 1
SAMP.ReadSAMPMemory(0@, 14032, 2)
SAMP.WriteSAMPMemory(14032, 50064, 2)
SAMP.RequestClass(4)
wait 400
Camera.Restore_WithJumpCut
Actor.StorePos($PLAYER_ACTOR, 3@, 4@, 5@)
09BC: put_actor $PLAYER_ACTOR at 3@ 4@ 5@ no_offset_and_dont_warp_gang
print "ON" 3000

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_291
wait 0
if and
not key_down 17
not key_down 66
else_jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_321
jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_328

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_321
jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_291

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_328
if and
key_down 17
key_down 78
not SAMP.ChatInputOpened
1@ == 1
else_jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_422
1@ = 0
SAMP.WriteSAMPMemory(14032, 0@, 2)
SAMP.SendSpawn
print "OFF" 3000

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_385
wait 0
if and
not key_down 17
not key_down 78
else_jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_415
jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_422

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_415
jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_385

:ACTOR.HEALTH($PLAYER_ACTOR)_=_100_422
jump @ACTOR.HEALTH($PLAYER_ACTOR)_=_100_142
AHK тоже может тпхаться в интерьер и в виртуальный мир, функция с UDF setCoordinates(x, y, z, Interior)
 

Brian_Programs

Новичок
2
0
Код:
ShowDialog(1, "Проверка", "Введите данные:", "Закрыть")
while (isDialogOpen()) {
}
addChatMessageEx(0xBDBDBD, "{BDBDBD}Вы ввели: {FFFFFF}" readString(hGTA, dwSAMP + 0x12D8F8, 256))


Если код запустился без ошибок и не пашет, мб AHK на ANSI32 надо поставить)
Ну а так, да. Грубая ошибка)



Ну вообще это к столу заказов надо идти. А делается очень просто, считываешь TextDraw ну либо проверкой, либо считываешь клавиши и жмякаешь)



AHK тоже может тпхаться в интерьер и в виртуальный мир, функция с UDF setCoordinates(x, y, z, Interior)
Можно твой ВК?