1 (изменено: lishakoff, 2016-11-17 21:07:59)

Тема: Автоопределение машины

Помогите написать скрипт для GTA:SAMP.
Суть такая:
Есть бинд

!9::SendInput {F6}/m Водитель{!} Немедленно сбавьте скорость и остановите машину{!}{Enter}

Видел такую тему, как автоматическое определение модели машины.
В итоге выходило что-то типо такого:
Водитель машины *называние машины* с номерами *номера* Немедленно сбавьте скорость и остановите машину!
Хочется, но не понимаю, как сделать такое. Помогите пожалуйста, заранее благодарю!

2 (изменено: alekksss, 2016-11-18 08:00:35)

Re: Автоопределение машины

Это всё делаетя с помощью Samp-udf, но нсть проблема, машин рядом с тобой может быть куча, и какую именно тебе надо, скрипт не определит, разве что по иду делать команду.

3 (изменено: lishakoff, 2016-11-18 21:12:57)

Re: Автоопределение машины

alekksss, как правило погоня происходит за одной машиной. Эту проблему можно откинуть.

4

Re: Автоопределение машины

lishakoff как правило вокруг может быть куча машин, может и водитель просто рядом. Есть вариант написать команду по иду.

5

Re: Автоопределение машины

alekksss, можно на этот вариант посмотреть?

6

Re: Автоопределение машины

Код:

+ открыть спойлер

numpad9::
SendMessage, 0x50,, 0x4190419,, A
if (isPlayerDriverMod()==1)
   {
   NumberPre:=NumberPre+1
   if (NumberPre==2)
      {
      s := "0"
      p := getStreamedInPlayersInfo()
      For i, o in p
         {
         if(getTargetVehicleModelNameById(i)!="PoliceCar" and getTargetVehicleModelNameById(i)!="" and getTargetVehicleModelNameById(i)!="HPV1000" and getTargetVehicleModelNameById(i)!="Enforcer" getTargetVehicleModelNameById(i)!="Sultan" and isTargetInAnyVehiclebyIdMod(i)=="1" and i==IdInCar)
            {
            s:="1"
            ModelCar:=getTargetVehicleModelNameById(IdInCar)
            SendChat("/m Водитель " ModelCar "!")
            sleep 1200
            SendChat("/m Если вы сейчас же не остановитесь, мы будем стрелять!")
            NumberPre:=0
            }
         }
      if (s==0)
         NumberPre:="1"
      }
   if (NumberPre==1)
      {
      IdInCar:=getClosestPlayerIdCar()
      ModelCar:=getTargetVehicleModelNameById(IdInCar)
      if (IdInCar!=-1)
         {
         Random rand, 1, 4
         if (rand==1)
            {
            SendChat("/m Водитель " ModelCar "!")
            sleep 1200
            SendChat("/m Немедленно прижмитесь к обочине и остановитесь или откроем огонь!")
            }
         if (rand==2)
            {
            SendChat("/m Водитель " ModelCar " прижмитесь к обочине")
            sleep 1200
            SendChat("/m В противном случае нам придется открыть огонь!")
            }
         if (rand==3)
            {
            SendChat("/m Водитель " ModelCar " сбавьте скорость!")
            sleep 1200
            SendChat("/m Вам придется прижаться к обочине и остановится или начнем стрелять!")
            }
         if (rand==4)
            {
            SendChat("/m Водитель " ModelCar " остановитесь на обочине")
            sleep 1200
            SendChat("/m Или нам придется открыть по вам огонь!")
            }
         }
      else
         NumberPre:="0"
      }
   }
if (isPlayerDriverMod()==0)
   {
   NumberPre:=NumberPre+1
   if (NumberPre==2)
      {
      s := "0"
      p := getStreamedInPlayersInfo()
      For i, o in p
         {
         if(getTargetVehicleModelNameById(i)!="PoliceCar" and getTargetVehicleModelNameById(i)!="" and getTargetVehicleModelNameById(i)!="HPV1000" and getTargetVehicleModelNameById(i)!="Enforcer" and isTargetInAnyVehiclebyIdMod(i)=="1" and i==IdInCar)
            {
            s:=1
            ModelCar:=getTargetVehicleModelNameById(IdInCar)
            SendChat("/m Водитель " ModelCar "!")
            sleep 1200
            SendChat("/m Если вы сейчас же не остановитесь, мы будем стрелять!")
            NumberPre:=0
            }
         }
      if (s==0)
         NumberPre:="1"
      }
   if (NumberPre==1)
      {
      model:=[]
      name:=[]
      s := 0
      p := getStreamedInPlayersInfo()
      id :=[]
      MainMenu:=""
      For i, o in p
         {
         if(getTargetVehicleModelNameById(i)!="PoliceCar" and getTargetVehicleModelNameById(i)!="" and getTargetVehicleModelNameById(i)!="HPV1000" and getTargetVehicleModelNameById(i)!="Enforcer" and isTargetInAnyVehiclebyIdMod(i)=="1")
            {
            s:=s+1
            id[s] := i
            model[s]:=getTargetVehicleModelNameById(i)
            name[s]:=getPlayerNameById(i)
            MainMenu:= MainMenu "Водитель - " name[s] ", Марка машины -" model[s] ", Введите " s ".`n"
            }
         }
      MainMenu:= MainMenu "Для отмены операции введите 0."
      if (s==0)
         NumberPre:="0"
      if (s==1)
         {
         IdInCar:=id[1]
         ModelCar:=getTargetVehicleModelNameById(IdInCar)
         Random rand, 1, 4
         if (rand==1)
            {
            SendChat("/m Водитель " ModelCar "!")
            sleep 1200
            SendChat("/m Немедленно прижмитесь к обочине и остановитесь или откроем огонь!")
            }
         if (rand==2)
            {
            SendChat("/m Водитель " ModelCar " прижмитесь к обочине")
            sleep 1200
            SendChat("/m В противном случае нам придется открыть огонь!")
            }
         if (rand==3)
            {
            SendChat("/m Водитель " ModelCar " сбавьте скорость!")
            sleep 1200
            SendChat("/m Вам придется прижаться к обочине и остановится или начнем стрелять!")
            }
         if (rand==4)
            {
            SendChat("/m Водитель " ModelCar " остановитесь на обочине")
            sleep 1200
            SendChat("/m Или нам придется открыть по вам огонь!")
            }
         }
      if (s>1)
         {
         ShowDialog("1", "Выбор машины:", MainMenu, "Сообщить")
         Input,vi, V, {Enter}
         if (vi>=1 and vi<=s)
            {
            IdInCar:=id[vi]
            ModelCar:=getTargetVehicleModelNameById(IdInCar)
            Random rand, 1, 4
            if (rand==1)
               {
               SendChat("/m Водитель " ModelCar "!")
               sleep 1200
               SendChat("/m Немедленно прижмитесь к обочине и остановитесь или откроем огонь!")
               }
            if (rand==2)
               {
               SendChat("/m Водитель " ModelCar " прижмитесь к обочине")
               sleep 1200
               SendChat("/m В противном случае нам придется открыть огонь!")
               }
            if (rand==3)
               {
               SendChat("/m Водитель " ModelCar " сбавьте скорость!")
               sleep 1200
               SendChat("/m Вам придется прижаться к обочине и остановится или начнем стрелять!")
               }
            if (rand==4)
               {
               SendChat("/m Водитель " ModelCar " остановитесь на обочине")
               sleep 1200
               SendChat("/m Или нам придется открыть по вам огонь!")
               }
            }
         else
            NumberPre:="0"
         }
      }
   }
return

7

Re: Автоопределение машины

AlexanderKa, оформите код, как положено.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder