[SAMP-RP] AHK /su

Статус
В этой теме нельзя размещать новые ответы.

Inside_Midas

Новичок
Автор темы
8
0
Вообщем, есть такой скрипт для PD на SAMP-RP, подающий в розыск с выбором причин подачи розыска. Проблема в том, что причины выбираются не из диалога, а просто идут по списку, то есть по нажатию ALT + СКМ выбирается следующая причина и все. Нужно, чтобы причины выбирались из диалога, так как это удобнее и не приходится прокручивать все ради того, чтобы найти нужную причину.

Кто может, помогите пожалуйста.


Код:
#IfWinActive GTA:SA:MP
#include samp.ahk
#SingleInstance force



MButton::
SendMessage, 0x50,, 0x4190419,, A
o1:=Object()
o1:=GetCoordinates()
targ:=getIdByPed(getTargetPed())
if (targ==-1)
   return
point:=readDWORD(hGTA, getTargetPed() + 0x79C)
slot:=readMem(hGTA, getTargetPed() + 0x718, 1, "byte")
if (point!=0 and getIdByPed(point)==-1 and slot>1 and slot<8)
   {
   AddMessageToChatWindow("{ff6347} Внимание: Нельзя выдавать розыск человеку, который стреляет в вас")
   return
   }
FilePath = roz.txt
IfNotExist, %FilePath%
   {
   AddMessageToChatWindow("{ff6347} Ошибка: Файл roz.txt в папке со скриптом не найден")
   return
   }
if (getDist(o1,getPedCoordinates(getPedById(targ)))<23)
   {
   kolvostrok:=0
   Loop, Read, %FilePath%
      {
      if RegExMatch(A_LoopReadLine, "\S")
         {
         kolvostrok:=kolvostrok+1
         if (kolvostrok==rejim)
            SendChat("/su " targ " " A_LoopReadLine)
         }
      }
   }
Return

!MButton::
SendMessage, 0x50,, 0x4190419,, A
rejim := rejim+1
kolvostrok:=0
FilePath = roz.txt
IfNotExist, %FilePath%
   {
   AddMessageToChatWindow("{ff6347} Ошибка: Файл roz.txt в папке со скриптом не найден")
   return
   }
Loop, Read, %FilePath%
   {
   if RegExMatch(A_LoopReadLine, "\S")
      kolvostrok:=kolvostrok+1
   }
if (kolvostrok<rejim)
   rejim:=1
kolvostrok:=0
Loop, Read, %FilePath%
   {
   if RegExMatch(A_LoopReadLine, "\S")
      {
      kolvostrok:=kolvostrok+1
      if (kolvostrok==rejim)
         if RegExMatch(A_LoopReadLine, "\d\s(.*?)$", strol)
            AddMessageToChatWindow("{FFFF00} Теперь, нажимая на кнопку розыска, вы будете подавать в розыск за " strol1)
      }
   }
Return

Также прикрепил текстовый файл, который относится к этому скрипту.
 

Вложения

  • roz.txt
    86 байт · Просмотры: 56

Teez

Известный
76
2
Код:
#NoEnv
#IfWinActive GTA:SA:MP
#include samp.ahk

Numpad1::
SendMessage, 0x50,, 0x4190419,, A
targ := getIdByPed(getTargetPed())
{
        SendInput, {f6}/su %targ%{Space}
}
return

!1::
{
      SendInput, Убийство гражданина
}
return
вставляешь причины кнопками
навёл пример тебе осталось дописать причины
 

FordeD

Участник
98
11
Код:
#NoEnv
#IfWinActive GTA:SA:MP
#include samp.ahk

Numpad1::
SendMessage, 0x50,, 0x4190419,, A
targ := getIdByPed(getTargetPed())
{
        SendInput, {f6}/su %targ%{Space}
}
return

!1::
{
      SendInput, Убийство гражданина
}
return
вставляешь причины кнопками
навёл пример тебе осталось дописать причины

Зачем делать через SendInput если ты подключил UDF?
правильней тогда уж сделать через
SendChat("/su " targ)
SendChat("Убийство гражданина")

и не нужны тут фигурные скобки, это не функция с ограниченной областью видимости, это часть общего кода от начала метки до return

Код:
#NoEnv
#IfWinActive GTA:SA:MP
#include samp.ahk

Numpad1::
   SendChat("/su " getIdByPed(getTargetPed()))
return

!1::
   SendChat("Убийство гражданина")
return
 

Teez

Известный
76
2
Зачем делать через SendInput если ты подключил UDF?
правильней тогда уж сделать через
SendChat("/su " targ)
SendChat("Убийство гражданина")

и не нужны тут фигурные скобки, это не функция с ограниченной областью видимости, это часть общего кода от начала метки до return

Код:
#NoEnv
#IfWinActive GTA:SA:MP
#include samp.ahk

Numpad1::
   SendChat("/su " getIdByPed(getTargetPed()))
return

!1::
   SendChat("Убийство гражданина")
return

Руки автоматом пишут SendInput :D
можешь скинуть самп.ахк с функцией таргета? getIdByPed(getTargetPed()))
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.