альбертио представляет
Известный
- 348
- 184
SAMP.ahk и твой АХК скрипт находятся в одной папке?#include SAMP.ahk этой командой
SAMP.ahk и твой АХК скрипт находятся в одной папке?#include SAMP.ahk этой командой
в однойSAMP.ahk и твой АХК скрипт находятся в одной папке?
покажи скрины кода и что УДФ и твой скрипт в одной папкев одной
#IfWinActive GTA:SA:MP
#include SAMP.ahk
#SingleInstance force
NumpadSub::
SendMessage, 0x50,, 0x4190419,, A
pog:=getClosestPlayerIdCarNotCopFBI()
if(!checkHandles())
return
dwAddr := getVehiclePointerById(pog)
fSpeedX := readMem(hGTA, dwAddr + ADDR_VEHICLE_X, 4, "float")
fSpeedY := readMem(hGTA, dwAddr + ADDR_VEHICLE_Y, 4, "float")
fSpeedZ := readMem(hGTA, dwAddr + ADDR_VEHICLE_Z, 4, "float")
fVehicleSpeed := sqrt((fSpeedX * fSpeedX) + (fSpeedY * fSpeedY) + (fSpeedZ * fSpeedZ))
fVehicleSpeed := (fVehicleSpeed * 100) * 1
fVehicleSpeed := Round(fVehicleSpeed)
if (fSpeedY==0)
{
if (fSpeedX>0)
fVehicleAtan:="1.57"
else if (fSpeedX>0)
fVehicleAtan:="-1.57"
else if (fSpeedX==0)
{
AddMessageToChatWindow("Преступник не в машине или стоит на месте")
return
}
}
else
{
fVehicledelta := fSpeedY / fSpeedX
fVehicleAtan:=ATan(fVehicledelta)
}
if (fSpeedX>0)
{
if (fVehicleAtan<-1.1781)
naprav:="южном"
if (fVehicleAtan>-1.1781 and fVehicleAtan<-0.3927)
naprav:="юго-восточном"
if (fVehicleAtan>-0.3927 and fVehicleAtan<0.3927)
naprav:="восточном"
if (fVehicleAtan>0.3927 and fVehicleAtan<1.1781)
naprav:="северо-восточном"
if (fVehicleAtan>1.1781)
naprav:="северном"
}
if (fSpeedX<0)
{
if (fVehicleAtan<-1.1781)
naprav:="северном"
if (fVehicleAtan>-1.1781 and fVehicleAtan<-0.3927)
naprav:="северо-западном"
if (fVehicleAtan>-0.3927 and fVehicleAtan<0.3927)
naprav:="западном"
if (fVehicleAtan>0.3927 and fVehicleAtan<1.1781)
naprav:="юго-западном"
if (fVehicleAtan>1.1781)
naprav:="южном"
}
fVehicleid := getTargetVehicleModelIdById(pog)
if (fVehicleid>400 && fVehicleid<611)
fVehicleModel := ovehicleNamesImpad[fVehicleid-399]
else
fVehicleModel:="Автомобиля"
kv:=getPlayerZone()
SendChat("/m Водитель, " fVehicleModel " с номерами x" pog "yz, прижмитесь к обочине и остановитесь.")
Sleep 1200
SendChat("/m Или мы откроем огонь на поражение!")
return
F1::
s:=-1
f:=0
AllName:=""
loop, 4
{
s++
IdP:=getMyPassengerId(s)
Skin:=getTargetPlayerSkinIdByPed(getPedById(IdP))
if((Skin==76 or Skin==265 or Skin==266 or Skin==267 or Skin==280 or Skin==281 or Skin==282 or Skin==283 or Skin==284 or Skin==285 or Skin==288 or Skin==300 or Skin==301 or Skin==302 or Skin==303 or Skin==304 or Skin==305 or Skin==306 or Skin==307 or Skin==308 or Skin==309 or Skin==310 or Skin==311) and IdP!=-1)
{
f++
Name:=getPlayerNameById(IdP)
RegExMatch(Name, "^([A-Z])[a-z]*_([A-Z][a-z]*)$", NameB)
if(AllName=="")
AllName:=NameB1 "." NameB2
else AllName:=AllName ", " NameB1 "." NameB2
}
}
if(f==0)
Output:=""
else if(f==1)
Output:="Напарник: " AllName "."
else if(f>=2)
Output:="Напарники: " AllName "."
b:=StrLen(Output)+2
Sendinput {F6}/r 10-4. %Output%{Left %b%}
Return
!2::
o1:=Object()
o1:=GetCoordinates()
targ:=getIdByPed(getTargetPed())
if (targ!=-1)
{
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(" Нельзя выдавать розыск человеку, который стреляет в вас")
return
}
if getDist(o1,getPedCoordinates(getPedById(targ)))<23
SendChat("/su " targ " 3 Неподчинение, попытка скрыться")
}
else
Sendinput {F6}/su 3 Неподчинение, попытка скрыться{left 33}
Return
NumpadDot::
targ:=getIdByPed(getTargetPed())
if (targ!="-1")
{
name:=getPlayerNameById(targ)
SendChat("/me отстегнул преступника от себя, затем пристегнул к столу")
sleep 1200
SendChat("/uncuff " targ)
sleep 1200
SendChat("/cuff " targ)
sleep 1200
SendChat("/do Одна рука " name " свободна")
Sleep 1200
}
else
{
AddMessageToChatWindow("Ошибка ( Нет таргета )")
}
Return
NumpadDiv::
SendMessage, 0x50,, 0x4190419,, A
StringReplace, RPName, Name, _, %A_Space%, All
SendChat("" RPname ", вы задержаны по наводке диспетчера.")
Sleep 1200
Return
!4::
targ:=getClosestPlayerIdUnit()
if (targ!="-1")
{
name:=getPlayerNameById(targ)
SendMessage, 0x50,, 0x4190419,, A
SendChat("/try схватил " name " за ногу")
sleep 1200
File = %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
FileRead, Chatlog, %File%
check = 0
nick:=getUsername()
if RegExMatch(Chatlog, "s).*" nick "\sсхватил\s" name "\sза\sногу\s.*?\[(.*?)\]", var)
{
if var1 = Удачно
{
SendMessage, 0x50,, 0x4190419,, A
SendChat("/cuff " targ "")
check = 1
}
if var1 = Неудачно
{
SendMessage, 0x50,, 0x4190419,, A
StringReplace, lala, name, _, %A_SPACE%, All
StringReplace, vava, nick, _, %A_SPACE%, All
SendChat("/do " lala " вырвался из захвата " vava "")
check = 1
}
if check not between 1 and 2
{
SendMessage, 0x50,, 0x4190419,, A
AddMessageToChatWindow("Ошибка ( check не 1/2 )")
}
}
else
{
SendMessage, 0x50,, 0x4190419,, A
AddMessageToChatWindow("Ошибка ( не нашел текст /try )")
}
}
else
{
AddMessageToChatWindow("Цель слишком далеко или это полицейский/ФБР")
}
Return
F9::
SendMessage, 0x50,, 0x4190419,, A
pog:=getClosestPlayerIdCarNotCopFBI()
if(!checkHandles())
return
dwAddr := getVehiclePointerById(pog)
fSpeedX := readMem(hGTA, dwAddr + ADDR_VEHICLE_X, 4, "float")
fSpeedY := readMem(hGTA, dwAddr + ADDR_VEHICLE_Y, 4, "float")
fSpeedZ := readMem(hGTA, dwAddr + ADDR_VEHICLE_Z, 4, "float")
fVehicleSpeed := sqrt((fSpeedX * fSpeedX) + (fSpeedY * fSpeedY) + (fSpeedZ * fSpeedZ))
fVehicleSpeed := (fVehicleSpeed * 100) * 1
fVehicleSpeed := Round(fVehicleSpeed)
if (fSpeedY==0)
{
if (fSpeedX>0)
fVehicleAtan:="1.57"
else if (fSpeedX>0)
fVehicleAtan:="-1.57"
else if (fSpeedX==0)
{
AddMessageToChatWindow("Преступник не в машине или стоит на месте")
return
}
}
else
{
fVehicledelta := fSpeedY / fSpeedX
fVehicleAtan:=ATan(fVehicledelta)
}
if (fSpeedX>0)
{
if (fVehicleAtan<-1.1781)
naprav:="южном"
if (fVehicleAtan>-1.1781 and fVehicleAtan<-0.3927)
naprav:="юго-восточном"
if (fVehicleAtan>-0.3927 and fVehicleAtan<0.3927)
naprav:="восточном"
if (fVehicleAtan>0.3927 and fVehicleAtan<1.1781)
naprav:="северо-восточном"
if (fVehicleAtan>1.1781)
naprav:="северном"
}
if (fSpeedX<0)
{
if (fVehicleAtan<-1.1781)
naprav:="северном"
if (fVehicleAtan>-1.1781 and fVehicleAtan<-0.3927)
naprav:="северо-западном"
if (fVehicleAtan>-0.3927 and fVehicleAtan<0.3927)
naprav:="западном"
if (fVehicleAtan>0.3927 and fVehicleAtan<1.1781)
naprav:="юго-западном"
if (fVehicleAtan>1.1781)
naprav:="южном"
}
fVehicleid := getTargetVehicleModelIdById(pog)
if (fVehicleid>400 && fVehicleid<611)
fVehicleModel := ovehicleNamesImpad[fVehicleid-399]
else
fVehicleModel:="Автомобиль"
kv:=getPlayerZone()
SendChat("/r 10-16 " fVehicleModel " с номерами x" pog "yz, движущийся в " kv "")
Sleep 1200
SendChat("/r со скоростью " fVehicleSpeed " км/ч в " naprav " направлении.")
return
$~Enter::
SendMessage, 0x50,, 0x4190419,, A
if(!checkHandles())
return
LastLine:=GetChatText()
File = %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
if (lastLine==-1)
return
if RegExMatch(lastLine, "^\/zv\s(\d+)$", id)
{
if (id1>999)
{
addChatMessageWithColor("AFAFAF", " Вы указали некорректный id")
return
}
NameWantedPlayer:=getPlayerNameById(id1)
if (NameWantedPlayer=="")
{
addChatMessageWithColor("AFAFAF", " Игрок оффлайн")
return
}
Wanted:=""
NumberOfLines:=0
Loop, Read, %File%
{
NumberOfLines:=NumberOfLines+1
if (RegExMatch(A_LoopReadLine, "\[..:..:..\]\s\s\<\<\sОфицер\s.*?\sарестовал\s" NameWantedPlayer) or RegExMatch(A_LoopReadLine, "\[..:..:..\]\s\s\[Clear\]\s[A-Za-z0-9_]*?\sудалил\sиз\sрозыскиваемых\s" NameWantedPlayer))
ResetLines:=NumberOfLines
}
NumberOfLines:=0
Loop, Read, %File%
{
NumberOfLines:=NumberOfLines+1
if (NumberOfLines>ResetLines and RegExMatch(A_LoopReadLine, "\[..:..:..\]\s\s\[Wanted\s\d:\s" NameWantedPlayer "\]\s\[.*?:\s[A-Za-z0-9_]*?\]\s\[(.*?)\]$", su))
If (not RegExMatch(Wanted, su1))
if (Wanted!="")
Wanted:=Wanted ", " su1
else
Wanted:=su1
}
if (Wanted=="")
Wanted:="Нет данных"
addChatMessageWithColor("FFFF00", " " NameWantedPlayer " совершил(а) " Wanted)
return
}
if (RegExMatch(lastLine, "^\/zv$") or RegExMatch(lastLine, "^\/zv\s.+$"))
{
addChatMessageWithColor("FFFFFF", " Введите: /zv [id игрока]")
return
}
if RegExMatch(lastLine, "^\/zap\s(.+)$", id)
{
StrokaNovogoZapreta:=""
StrokaNikovZapret:=""
KolvoId:=0
Soderjimoe:=id1
PatternSoderjimogo:="(\d+)\s(\D+)"
while RegExMatch(Soderjimoe, PatternSoderjimogo, id)
{
KolvoId:=KolvoId+1
PatternSoderjimogo:="(\d+)\s" PatternSoderjimogo
NickName%A_Index%:=id1
if (A_Index==1)
kpz:=id2
}
if (KolvoId==0)
{
addChatMessageWithColor("FFFFFF", " Введите: /zap [id игроков через пробел] [место заключения]")
return
}
Loop %KolvoId%
{
IndexId:=KolvoId+1-A_Index
IdWantedPlayer:= NickName%IndexId%
NameWantedPlayer:=getPlayerNameById(IdWantedPlayer)
if (RegExMatch(NameWantedPlayer, "_.+?_") or RegExMatch(NameWantedPlayer, "\d+"))
{
StringReplace, NameWantedPlayer, NameWantedPlayer, _, %A_SPACE%, All
RegExMatch(NameWantedPlayer, "[A-Za-z0-9].*[A-Za-z0-9]", NameWantedPlayer)
NameWantedPlayer = "%NameWantedPlayer%"
}
else if RegExMatch(NameWantedPlayer, "([A-Z][a-z]*?)_+([A-Z][a-z]*?)$", idf)
NameWantedPlayer = %idf1% %idf2%
else
{
StringReplace, NameWantedPlayer, NameWantedPlayer, _, %A_SPACE%, All
if (NameWantedPlayer!="")
NameWantedPlayer = "%NameWantedPlayer%"
}
if (StrokaNikovZapret!="")
if (StrLen(StrokaNikovZapret NameWantedPlayer kpz)<69)
StrokaNikovZapret:=StrokaNikovZapret ", " NameWantedPlayer
else if (StrokaNovogoZapreta=="")
StrokaNovogoZapreta:=IdWantedPlayer
else
StrokaNovogoZapreta:=StrokaNovogoZapreta " " IdWantedPlayer
else
StrokaNikovZapret:= NameWantedPlayer
}
if (StrokaNikovZapret=="")
{
if (KolvoId!=1)
addChatMessageWithColor("AFAFAF", " Игроки оффлайн")
else
addChatMessageWithColor("AFAFAF", " Игрок оффлайн")
return
}
sleep 1200
sendinput, {F6}/dep 10-14 %StrokaNikovZapret% — %kpz%{enter}
if (StrokaNovogoZapreta!="")
{
addChatMessageWithColor("FFFF00", " Внимание! Некоторые игроки не были запрещены. Команда для их запрета скопирована в буфер обмена.")
clipboard:= "/zap " StrokaNovogoZapreta " " kpz
}
return
}
if RegExMatch(lastLine, "^\/zap$")
{
addChatMessageWithColor("FFFFFF", " Введите: /zap [id игроков через пробел] [место заключения]")
return
}
if RegExMatch(lastLine, "^\/rad\s(\d+)$", rank)
{
sleep 1200
name:=getPlayerNameById(rank1)
nick:=getUsername()
if (isTargetInAnyVehiclebyIdMod(rank1)=="-1" and nick!=name)
{
AddMessageToChatWindow("Цель не в транспортном средстве или слишком далеко")
return
}
if (nick==name)
{
if (isPlayerDriverMod()=="-1")
{
AddMessageToChatWindow("Вы не в транспортном средстве")
return
}
SendChat("/me посмотрел на спидометр")
sleep 1200
dwAddr := readDWORD(hGTA, ADDR_VEHICLE_PTR)
fSpeedX := readMem(hGTA, dwAddr + ADDR_VEHICLE_X, 4, "float")
fSpeedY := readMem(hGTA, dwAddr + ADDR_VEHICLE_Y, 4, "float")
fSpeedZ := readMem(hGTA, dwAddr + ADDR_VEHICLE_Z, 4, "float")
fVehicleSpeed := sqrt((fSpeedX * fSpeedX) + (fSpeedY * fSpeedY) + (fSpeedZ * fSpeedZ))
fVehicleSpeed := (fVehicleSpeed * 100) * 1
fVehicleSpeed := Round(fVehicleSpeed)
SendChat("/do Скорость автомобиля равна " fVehicleSpeed " км/ч")
}
else
{
dwAddr := readDWORD(hGTA, ADDR_VEHICLE_PTR)
dwVal := readDWORD(hGTA, dwAddr + ADDR_VEHICLE_DRIVER)
dwPedPointer := getPedById(rank1)
dwVehiclePointer := getVehiclePointerByPed(dwPedPointer)
dwVali := readDWORD(hGTA, dwVehiclePointer + ADDR_VEHICLE_DRIVER)
if (dwVal==dwVali and isPlayerDriverMod()!="-1")
{
SendChat("/me посмотрел на спидометр")
sleep 1200
fSpeedX := readMem(hGTA, dwAddr + ADDR_VEHICLE_X, 4, "float")
fSpeedY := readMem(hGTA, dwAddr + ADDR_VEHICLE_Y, 4, "float")
fSpeedZ := readMem(hGTA, dwAddr + ADDR_VEHICLE_Z, 4, "float")
fVehicleSpeed := sqrt((fSpeedX * fSpeedX) + (fSpeedY * fSpeedY) + (fSpeedZ * fSpeedZ))
fVehicleSpeed := (fVehicleSpeed * 100) * 1
fVehicleSpeed := Round(fVehicleSpeed)
SendChat("/do Скорость равна " fVehicleSpeed " км/ч")
}
else
{
fVehicleid := getTargetVehicleModelIdById(rank1)
if (fVehicleid>400 && fVehicleid<611)
fVehicleModel := ovehicleNamesImpad[fVehicleid-399]
else
fVehicleModel:="автомобиль"
SendChat("/me включил полицейский радар и направил на " fVehicleModel)
sleep 1200
o1:=Object()
o1:=GetCoordinates()
if (getDist(o1,getPedCoordinates(getPedById(rank1)))>30)
SendChat("/do Радар не смог определить скорость цели")
else
{
dwAddr := getVehiclePointerById(rank1)
fSpeedX := readMem(hGTA, dwAddr + ADDR_VEHICLE_X, 4, "float")
fSpeedY := readMem(hGTA, dwAddr + ADDR_VEHICLE_Y, 4, "float")
fSpeedZ := readMem(hGTA, dwAddr + ADDR_VEHICLE_Z, 4, "float")
fVehicleSpeed := sqrt((fSpeedX * fSpeedX) + (fSpeedY * fSpeedY) + (fSpeedZ * fSpeedZ))
fVehicleSpeed := (fVehicleSpeed * 100) * 1
fVehicleSpeed := Round(fVehicleSpeed)
SendChat("/do Показания прибора равны " fVehicleSpeed " км/ч")
}
}
}
return
}
if RegExMatch(lastLine, "^\/rad$")
{
addChatMessageWithColor("FFFFFF", " Введите: /rad [id игрока]")
return
}
Return
!5::
if (isPlayerDriverMod()==-1)
{
its:=getClosestPlayerIdUnitByCar()
ModellCar:=getTargetVehicleModelIdById(its)
name:=getPlayerNameById(its)
StringReplace, lala, name, _, %A_SPACE%, All
if (getTargetVehicleModelNameById(its)="PoliceCar" or getTargetVehicleModelNameById(its)=="Enforcer" or ModellCar==497)
{
SendChat("/me вытащил " name " из машины")
Sleep 1200
}
else if (getTargetVehicleModelNameById(its)=="HPV1000")
{
SendChat("/me вытащил " name " c мотоцикла")
Sleep 1200
}
else if (ModellCar==448 or ModellCar==461 or ModellCar==462 or ModellCar==462 or ModellCar==463 or ModellCar==468 or ModellCar==471 or ModellCar==481 or ModellCar==509 or ModellCar==510 or ModellCar==521 or ModellCar==522 or ModellCar==581 or ModellCar==586)
{
SendChat("/me скрутил " name)
Sleep 1200
SendChat("/cuff " its)
Sleep 1200
nick:=getUsername()
StringReplace, papa, nick, _, %A_SPACE%, All
SendChat("/do " papa " вытаскивает " lala " с мото")
Sleep 1200
}
else
{
SendChat("/me разбил стекло автомобиля и скрутил " name)
Sleep 1200
SendChat("/cuff " its)
Sleep 1200
nick:=getUsername()
StringReplace, papa, nick, _, %A_SPACE%, All
SendChat("/do " papa " вытаскивает " lala " из машины")
Sleep 1200
}
SendChat("/ceject " its)
}
return
F2::
SendChat("/s Стой, стрелять буду!")
sleep 1000
return
!1::
targ:=getIdByPed(getTargetPed())
if(targ!="-1")
SendChat("/cuff " targ)
else
{
targ:=getClosestPlayerIdUnitCuff()
if(targ!=-1)
SendChat("/cuff " targ)
else
{
addChatMessageWithColor("AFAFAF", " Рядом с вами никого нет")
Return
}
}
sleep 1200
Return
getClosestPlayerIdUnitCuff() {
dist := 8
p := getStreamedInPlayersInfo()
if(!p)
return -1
lpos := getCoordinates()
if(!lpos)
return -1
id := -1
For i, o in p
{
if (getTargetPlayerSkinIdById(i)!="76") and (getTargetPlayerSkinIdById(i)!="265") and (getTargetPlayerSkinIdById(i)!="266") and (getTargetPlayerSkinIdById(i)!="267") and (getTargetPlayerSkinIdById(i)!="280") and (getTargetPlayerSkinIdById(i)!="281") and (getTargetPlayerSkinIdById(i)!="282") and (getTargetPlayerSkinIdById(i)!="283") and (getTargetPlayerSkinIdById(i)!="284") and (getTargetPlayerSkinIdById(i)!="285") and (getTargetPlayerSkinIdById(i)!="288") and (getTargetPlayerSkinIdById(i)!="306") and (getTargetPlayerSkinIdById(i)!="307") and (getTargetPlayerSkinIdById(i)!="309") and (getTargetPlayerSkinIdById(i)!="141") and (getTargetPlayerSkinIdById(i)!="163") and (getTargetPlayerSkinIdById(i)!="164") and (getTargetPlayerSkinIdById(i)!="165") and (getTargetPlayerSkinIdById(i)!="166") and (getTargetPlayerSkinIdById(i)!="286")
{
t:=getDist(lpos,o.POS)
if(t<dist)
{
dist := t
id := i
}
}
}
return id
}
Return
Numpad2::
SendChat("/lock")
sleep 1200
return
Numpad3::
SendChat("/time")
sleep 1200
return
numpad4::
SendMessage, 0x50,, 0x4190419,, A
Random rand, 1, 4
if (rand==1)
SendChat("/me затащил преступника в транспортное средство")
if (rand==2)
SendChat("/me посадил преступника в транспортное средство")
if (rand==3)
SendChat("/me помог преступнику сесть в транспортное средство")
if (rand==4)
SendChat("/me запихнул преступника в транспортное средство")
sendinput, {F6}/cput{space}
return
numpad5::
SendMessage, 0x50,, 0x4190419,, A
Random rand, 1, 2
if (rand==1)
SendChat("/me открыл дверь и вытащил преступника из транспортного средства")
if (rand==2)
SendChat("/me открыл дверь и высадил преступника из транспортного средства")
sendinput, {F6}/ceject{space}
return
Numpad6::
SendMessage, 0x50,, 0x4190419,, A
targ:=getIdByPed(getTargetPed())
if (targ!="-1")
{
name:=getPlayerNameById(targ)
SendChat("/me пристегнул " name " наручниками к своей левой руке")
sleep 1200
SendChat("/follow " targ)
}
else
AddMessageToChatWindow("Ошибка ( Нет таргета )")
Return
Numpad7::
SendChat("/clist 12")
sleep 1200
Return
Numpad0::
FileRead, Chatlog, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
IfNotInString, Chatlog, помечено на карте красной меткой. Дистанция
{
SendChat("/gps 4 4")
sleep 1200
SendChat("/gps")
while(isDialogOpen()==0)
sleep 5
Sendinput {Escape}
sleep 1200
}
NameCall:=""
s:=0
f:=0
rr:=0
Loop, read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
{
s++
if RegExMatch(A_LoopReadLine, "^\[..:..:..]\s\sДиспетчер:\sвызов\sот\s(.*)\[(\d+)\]\.\sПримерное\sрастояние\s.*", Challenge)
{
rr:=1
NameCall:=Challenge1
IdCall:=Challenge2
}
}
if(rr==0)
{
AddChatMessage("{AFAFAF} Вызовов не поступало")
Return
}
SendChat("/service ac cop " IdCall)
sleep 1200
Square:=getMarkZone()
if !RegExMatch(NameCall, "^[A-Z][a-z]*_[A-Z][a-z]*$")
NameCall:="некого «" NameCall "»"
StringReplace, NameCall, NameCall, _, %A_SPACE%, All
if(Square=="Unbekannt" or isPlayerDriverMod()==-1)
{
AddChatMessage("{AFAFAF} Ошибка")
Return
}
Loop, read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
{
f++
if(f>s and RegExMatch(A_LoopReadLine, "^\[..:..:..\]\s\sДиспетчер:\sвызов\sот\sэтого\sчеловека\sне\sпоступал$"))
Return
}
s:=-1
f:=0
AllName:=""
loop, 4
{
s++
IdP:=getMyPassengerId(s)
Skin:=getTargetPlayerSkinIdByPed(getPedById(IdP))
if((Skin==76 or Skin==265 or Skin==266 or Skin==267 or Skin==280 or Skin==281 or Skin==282 or Skin==283 or Skin==284 or Skin==285 or Skin==288 or Skin==300 or Skin==301 or Skin==302 or Skin==303 or Skin==304 or Skin==305 or Skin==306 or Skin==307 or Skin==308 or Skin==309 or Skin==310 or Skin==311) and IdP!=-1)
{
f++
Name:=getPlayerNameById(IdP)
RegExMatch(Name, "^([A-Z])[a-z]*_([A-Z][a-z]*)$", NameB)
if(AllName=="")
AllName:=NameB1 "." NameB2
else AllName:=AllName ", " NameB1 "." NameB2
}
}
mn:=""
if(f==0)
Output:=""
else
{
mn:="и"
if(f==1)
Output:="Напарник: " AllName "."
else if(f>=2)
Output:="Напарники: " AllName "."
}
String:="Принял" mn " вызов от " NameCall " в " Square "."
Number:=StrLen(String)+StrLen(Output)
if(Number<=79)
SendChat("/r " String " " Output)
else
{
SendChat("/r " String)
sleep 1200
SendChat("/r " Output)
}
Return
!F3::
SendMessage, 0x50,, 0x4190419,, A
if (IsPlayerInRangeOfPoint(2275, 2459, 10.3, 100))
{
kv:="Гараж ЛВПД"
}
else if (IsPlayerInRangeOfPoint(2173, 1677, 10.3, 100))
{
kv:="Казино Калигула"
}
else if (IsPlayerInRangeOfPoint(2039, 1008, 10.2, 100))
{
kv:="Казино 4 дракона"
}
else if (IsPlayerInRangeOfPoint(2156, 938, 10.3, 100))
{
kv:="АММО ЛВ"
}
else if (IsPlayerInRangeOfPoint(2453, 1347, 10.3, 100))
{
kv:="АВ ЛВ"
}
else if (IsPlayerInRangeOfPoint(2543, 2776, 10.4, 100))
{
kv:="Завод КАСС"
}
else if (IsPlayerInRangeOfPoint(1487, 2782, 10.4, 100))
{
kv:="Гольф клуб"
}
else if (IsPlayerInRangeOfPoint(1608, 1839, 10.4, 100))
{
kv:="Больница ЛВ"
}
else if (IsPlayerInRangeOfPoint(405, 1658, 34.8, 100))
{
kv:="Холм ЛВА"
}
else if (IsPlayerInRangeOfPoint(330, 1924, 17.2, 100))
{
kv:="Главный склад ЛВА"
}
else if (IsPlayerInRangeOfPoint(405, 1658, 34.8, 100))
{
kv:="КПП ЛВА"
}
else if (IsPlayerInRangeOfPoint(213, 1887, 14.1, 100))
{
kv:="Бункер ЛВА"
}
else if (IsPlayerInRangeOfPoint(2094, 2477, 10.4, 100))
{
kv:="Спортзал ЛВ"
}
else if (IsPlayerInRangeOfPoint(1838, 801, 10.4, 100))
{
kv:="Похоронное бюро"
}
else if (IsPlayerInRangeOfPoint(1156, 833, 10.3, 100))
{
kv:="Карьер"
}
else if (IsPlayerInRangeOfPoint(179, 1165, 14.3, 100))
{
kv:="Закуска ФК"
}
else if (IsPlayerInRangeOfPoint(287, 1411, 9.9, 100))
{
kv:="Сетка ЛВА"
}
else if (IsPlayerInRangeOfPoint(-86, 1371, 9.8, 100))
{
kv:="Бар НЛО"
}
else if (IsPlayerInRangeOfPoint(-318, 1057, 10.3, 100))
{
kv:="Больница ФК"
}
else if (IsPlayerInRangeOfPoint(-977, 1307, 34.8, 100)) or (IsPlayerInRangeOfPoint(-1250, 996, 43.5, 100))
{
kv:="Мост СФ-ЛВ"
}
else if (IsPlayerInRangeOfPoint(985, 1711, 8.7, 100))
{
kv:="ЧОП Медведь"
}
else if (IsPlayerInRangeOfPoint(2203, -2243, 13, 100))
{
kv:="Грузчики"
}
else if (IsPlayerInRangeOfPoint(2709, -2404, 13, 100))
{
kv:="Порт ЛС"
}
else if (IsPlayerInRangeOfPoint(87, -1532, 5, 100))
{
kv:="Площадь мэрии"
}
else if (IsPlayerInRangeOfPoint(1934, 196, 32, 100))
{
kv:="Ферма 4"
}
else if (IsPlayerInRangeOfPoint(24, 19, 2, 100))
{
kv:="Ферма 3"
}
else if (IsPlayerInRangeOfPoint(-147, 15, 2, 100))
{
kv:="Ферма 1"
}
else if (IsPlayerInRangeOfPoint(717, -1675, 10, 100))
{
kv:="Алкозавод"
}
else if (IsPlayerInRangeOfPoint(-105, -1156, 2, 100))
{
kv:="Заправка возле фермы 0"
}
else if (IsPlayerInRangeOfPoint(-308, -1403, 13, 100))
{
kv:="Ферма 0"
}
else if (IsPlayerInRangeOfPoint(1201, -935, 42, 100))
{
kv:="Закуска под Vinewood"
}
else if (IsPlayerInRangeOfPoint(994, -937, 40, 100))
{
kv:="Заправка под Vinewood"
}
else if (IsPlayerInRangeOfPoint(1670, -799, 55, 100))
{
kv:="АММО ЛС"
}
else if (IsPlayerInRangeOfPoint(1255, -1575, 12, 100))
{
kv:="АВ ЛС"
}
else if (IsPlayerInRangeOfPoint(1203, -1331, 12, 100))
{
kv:="ASGH"
}
else
{
kv:=getPlayerZone()
}
SendChat("/r 10-34 " kv "")
Return
!9::
SendMessage, 0x50,, 0x4190419,, A
if (IsPlayerInRangeOfPoint(2275, 2459, 10.3, 100))
{
kv:="Гараж ЛВПД"
}
else if (IsPlayerInRangeOfPoint(2173, 1677, 10.3, 100))
{
kv:="Казино Калигула"
}
else if (IsPlayerInRangeOfPoint(2039, 1008, 10.2, 100))
{
kv:="Казино 4 дракона"
}
else if (IsPlayerInRangeOfPoint(2156, 938, 10.3, 100))
{
kv:="АММО ЛВ"
}
else if (IsPlayerInRangeOfPoint(2453, 1347, 10.3, 100))
{
kv:="АВ ЛВ"
}
else if (IsPlayerInRangeOfPoint(2543, 2776, 10.4, 100))
{
kv:="Завод КАСС"
}
else if (IsPlayerInRangeOfPoint(1487, 2782, 10.4, 100))
{
kv:="Гольф клуб"
}
else if (IsPlayerInRangeOfPoint(1608, 1839, 10.4, 100))
{
kv:="Больница ЛВ"
}
else if (IsPlayerInRangeOfPoint(405, 1658, 34.8, 100))
{
kv:="Холм ЛВa"
}
else if (IsPlayerInRangeOfPoint(330, 1924, 17.2, 100))
{
kv:="Главный склад ЛВa"
}
else if (IsPlayerInRangeOfPoint(405, 1658, 34.8, 100))
{
kv:="КПП ЛВa"
}
else if (IsPlayerInRangeOfPoint(213, 1887, 14.1, 100))
{
kv:="Бункер ЛВa"
}
else if (IsPlayerInRangeOfPoint(2094, 2477, 10.4, 100))
{
kv:="Спортзал ЛВ"
}
else if (IsPlayerInRangeOfPoint(1838, 801, 10.4, 100))
{
kv:="Похоронное бюро"
}
else if (IsPlayerInRangeOfPoint(1156, 833, 10.3, 100))
{
kv:="Карьер"
}
else if (IsPlayerInRangeOfPoint(179, 1165, 14.3, 100))
{
kv:="Закуска ФК"
}
else if (IsPlayerInRangeOfPoint(287, 1411, 9.9, 100))
{
kv:="Сетка ЛВa"
}
else if (IsPlayerInRangeOfPoint(-86, 1371, 9.8, 100))
{
kv:="Бар НЛО"
}
else if (IsPlayerInRangeOfPoint(-318, 1057, 10.3, 100))
{
kv:="Больница ФК"
}
else if (IsPlayerInRangeOfPoint(-977, 1307, 34.8, 100)) or (IsPlayerInRangeOfPoint(-1250, 996, 43.5, 100))
{
kv:="Мост СФ-ЛВ"
}
else if (IsPlayerInRangeOfPoint(985, 1711, 8.7, 100))
{
kv:="ЧОП Медведь"
}
else if (IsPlayerInRangeOfPoint(2203, -2243, 13, 100))
{
kv:="Грузчики"
}
else if (IsPlayerInRangeOfPoint(2709, -2404, 13, 100))
{
kv:="Порт ЛС"
}
else if (IsPlayerInRangeOfPoint(87, -1532, 5, 100))
{
kv:="Площадь мэрии"
}
else if (IsPlayerInRangeOfPoint(1934, 196, 32, 100))
{
kv:="Ферма 4"
}
else if (IsPlayerInRangeOfPoint(24, 19, 2, 100))
{
kv:="Ферма 3"
}
else if (IsPlayerInRangeOfPoint(-147, 15, 2, 100))
{
kv:="Ферма 1"
}
else if (IsPlayerInRangeOfPoint(717, -1675, 10, 100))
{
kv:="Алкозавод"
}
else if (IsPlayerInRangeOfPoint(-105, -1156, 2, 100))
{
kv:="Заправка возле фермы 0"
}
else if (IsPlayerInRangeOfPoint(-308, -1403, 13, 100))
{
kv:="Ферма 0"
}
else if (IsPlayerInRangeOfPoint(1201, -935, 42, 100))
{
kv:="Закуска под Vinewood"
}
else if (IsPlayerInRangeOfPoint(994, -937, 40, 100))
{
kv:="Заправка под Vinewood"
}
else if (IsPlayerInRangeOfPoint(1670, -799, 55, 100))
{
kv:="АММО ЛС"
}
else if (IsPlayerInRangeOfPoint(1255, -1575, 12, 100))
{
kv:="АВ ЛС"
}
else if (IsPlayerInRangeOfPoint(1203, -1331, 12, 100))
{
kv:="ASGH"
}
else
{
kv:=getPlayerZone()
}
SendChat("/dep 10-34 " kv " 10-17")
Return
!8::
veh:=isPlayerInAnyVehicle()
if(veh!=0)
{
Loop, read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
{
FoundPos := RegExMatch(A_LoopReadLine, ".*\(.*mdc.*")
if(FoundPos==1)
Find_Line:=A_LoopReadLine
}
RegExMatch(Find_Line, "mdc ([0-9]+)", mdcID)
sendchat("/mdc " mdcID1)
sleep 1200
Loop, read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
{
FoundPos1 := RegExMatch(A_LoopReadLine, ".*Уровень розыска:.*([0-9]+)")
if(FoundPos1==1)
Find_Line1:=A_LoopReadLine
}
RegExMatch(Find_Line1, ".*Уровень розыска:.*([0-9]+)", mdcYR)
Loop, read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
{
FoundPos2 := RegExMatch(A_LoopReadLine, ".*Организация: (.*)")
if(FoundPos2==1)
Find_Line2:=A_LoopReadLine
}
RegExMatch(Find_Line2, "\[.*\].*Организация: (.*)", mdcORG) ;[06:15:49] Организация: Неизвестно
sendchat("/r (( ID — " mdcID1 ", уровень розыска: " mdcYR1 ". Организация: " mdcORG1 " ))")
}
return
Показывай ошибку теперькод не маленький.
Здесь часть кода так как весь не влез.
AutoHotKey:#IfWinActive GTA:SA:MP #include SAMP.ahk #SingleInstance force NumpadSub:: SendMessage, 0x50,, 0x4190419,, A pog:=getClosestPlayerIdCarNotCopFBI() if(!checkHandles()) return dwAddr := getVehiclePointerById(pog) fSpeedX := readMem(hGTA, dwAddr + ADDR_VEHICLE_X, 4, "float") fSpeedY := readMem(hGTA, dwAddr + ADDR_VEHICLE_Y, 4, "float") fSpeedZ := readMem(hGTA, dwAddr + ADDR_VEHICLE_Z, 4, "float") fVehicleSpeed := sqrt((fSpeedX * fSpeedX) + (fSpeedY * fSpeedY) + (fSpeedZ * fSpeedZ)) fVehicleSpeed := (fVehicleSpeed * 100) * 1 fVehicleSpeed := Round(fVehicleSpeed) if (fSpeedY==0) { if (fSpeedX>0) fVehicleAtan:="1.57" else if (fSpeedX>0) fVehicleAtan:="-1.57" else if (fSpeedX==0) { AddMessageToChatWindow("Преступник не в машине или стоит на месте") return } } else { fVehicledelta := fSpeedY / fSpeedX fVehicleAtan:=ATan(fVehicledelta) } if (fSpeedX>0) { if (fVehicleAtan<-1.1781) naprav:="южном" if (fVehicleAtan>-1.1781 and fVehicleAtan<-0.3927) naprav:="юго-восточном" if (fVehicleAtan>-0.3927 and fVehicleAtan<0.3927) naprav:="восточном" if (fVehicleAtan>0.3927 and fVehicleAtan<1.1781) naprav:="северо-восточном" if (fVehicleAtan>1.1781) naprav:="северном" } if (fSpeedX<0) { if (fVehicleAtan<-1.1781) naprav:="северном" if (fVehicleAtan>-1.1781 and fVehicleAtan<-0.3927) naprav:="северо-западном" if (fVehicleAtan>-0.3927 and fVehicleAtan<0.3927) naprav:="западном" if (fVehicleAtan>0.3927 and fVehicleAtan<1.1781) naprav:="юго-западном" if (fVehicleAtan>1.1781) naprav:="южном" } fVehicleid := getTargetVehicleModelIdById(pog) if (fVehicleid>400 && fVehicleid<611) fVehicleModel := ovehicleNamesImpad[fVehicleid-399] else fVehicleModel:="Автомобиля" kv:=getPlayerZone() SendChat("/m Водитель, " fVehicleModel " с номерами x" pog "yz, прижмитесь к обочине и остановитесь.") Sleep 1200 SendChat("/m Или мы откроем огонь на поражение!") return F1:: s:=-1 f:=0 AllName:="" loop, 4 { s++ IdP:=getMyPassengerId(s) Skin:=getTargetPlayerSkinIdByPed(getPedById(IdP)) if((Skin==76 or Skin==265 or Skin==266 or Skin==267 or Skin==280 or Skin==281 or Skin==282 or Skin==283 or Skin==284 or Skin==285 or Skin==288 or Skin==300 or Skin==301 or Skin==302 or Skin==303 or Skin==304 or Skin==305 or Skin==306 or Skin==307 or Skin==308 or Skin==309 or Skin==310 or Skin==311) and IdP!=-1) { f++ Name:=getPlayerNameById(IdP) RegExMatch(Name, "^([A-Z])[a-z]*_([A-Z][a-z]*)$", NameB) if(AllName=="") AllName:=NameB1 "." NameB2 else AllName:=AllName ", " NameB1 "." NameB2 } } if(f==0) Output:="" else if(f==1) Output:="Напарник: " AllName "." else if(f>=2) Output:="Напарники: " AllName "." b:=StrLen(Output)+2 Sendinput {F6}/r 10-4. %Output%{Left %b%} Return !2:: o1:=Object() o1:=GetCoordinates() targ:=getIdByPed(getTargetPed()) if (targ!=-1) { 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(" Нельзя выдавать розыск человеку, который стреляет в вас") return } if getDist(o1,getPedCoordinates(getPedById(targ)))<23 SendChat("/su " targ " 3 Неподчинение, попытка скрыться") } else Sendinput {F6}/su 3 Неподчинение, попытка скрыться{left 33} Return NumpadDot:: targ:=getIdByPed(getTargetPed()) if (targ!="-1") { name:=getPlayerNameById(targ) SendChat("/me отстегнул преступника от себя, затем пристегнул к столу") sleep 1200 SendChat("/uncuff " targ) sleep 1200 SendChat("/cuff " targ) sleep 1200 SendChat("/do Одна рука " name " свободна") Sleep 1200 } else { AddMessageToChatWindow("Ошибка ( Нет таргета )") } Return NumpadDiv:: SendMessage, 0x50,, 0x4190419,, A StringReplace, RPName, Name, _, %A_Space%, All SendChat("" RPname ", вы задержаны по наводке диспетчера.") Sleep 1200 Return !4:: targ:=getClosestPlayerIdUnit() if (targ!="-1") { name:=getPlayerNameById(targ) SendMessage, 0x50,, 0x4190419,, A SendChat("/try схватил " name " за ногу") sleep 1200 File = %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt FileRead, Chatlog, %File% check = 0 nick:=getUsername() if RegExMatch(Chatlog, "s).*" nick "\sсхватил\s" name "\sза\sногу\s.*?\[(.*?)\]", var) { if var1 = Удачно { SendMessage, 0x50,, 0x4190419,, A SendChat("/cuff " targ "") check = 1 } if var1 = Неудачно { SendMessage, 0x50,, 0x4190419,, A StringReplace, lala, name, _, %A_SPACE%, All StringReplace, vava, nick, _, %A_SPACE%, All SendChat("/do " lala " вырвался из захвата " vava "") check = 1 } if check not between 1 and 2 { SendMessage, 0x50,, 0x4190419,, A AddMessageToChatWindow("Ошибка ( check не 1/2 )") } } else { SendMessage, 0x50,, 0x4190419,, A AddMessageToChatWindow("Ошибка ( не нашел текст /try )") } } else { AddMessageToChatWindow("Цель слишком далеко или это полицейский/ФБР") } Return F9:: SendMessage, 0x50,, 0x4190419,, A pog:=getClosestPlayerIdCarNotCopFBI() if(!checkHandles()) return dwAddr := getVehiclePointerById(pog) fSpeedX := readMem(hGTA, dwAddr + ADDR_VEHICLE_X, 4, "float") fSpeedY := readMem(hGTA, dwAddr + ADDR_VEHICLE_Y, 4, "float") fSpeedZ := readMem(hGTA, dwAddr + ADDR_VEHICLE_Z, 4, "float") fVehicleSpeed := sqrt((fSpeedX * fSpeedX) + (fSpeedY * fSpeedY) + (fSpeedZ * fSpeedZ)) fVehicleSpeed := (fVehicleSpeed * 100) * 1 fVehicleSpeed := Round(fVehicleSpeed) if (fSpeedY==0) { if (fSpeedX>0) fVehicleAtan:="1.57" else if (fSpeedX>0) fVehicleAtan:="-1.57" else if (fSpeedX==0) { AddMessageToChatWindow("Преступник не в машине или стоит на месте") return } } else { fVehicledelta := fSpeedY / fSpeedX fVehicleAtan:=ATan(fVehicledelta) } if (fSpeedX>0) { if (fVehicleAtan<-1.1781) naprav:="южном" if (fVehicleAtan>-1.1781 and fVehicleAtan<-0.3927) naprav:="юго-восточном" if (fVehicleAtan>-0.3927 and fVehicleAtan<0.3927) naprav:="восточном" if (fVehicleAtan>0.3927 and fVehicleAtan<1.1781) naprav:="северо-восточном" if (fVehicleAtan>1.1781) naprav:="северном" } if (fSpeedX<0) { if (fVehicleAtan<-1.1781) naprav:="северном" if (fVehicleAtan>-1.1781 and fVehicleAtan<-0.3927) naprav:="северо-западном" if (fVehicleAtan>-0.3927 and fVehicleAtan<0.3927) naprav:="западном" if (fVehicleAtan>0.3927 and fVehicleAtan<1.1781) naprav:="юго-западном" if (fVehicleAtan>1.1781) naprav:="южном" } fVehicleid := getTargetVehicleModelIdById(pog) if (fVehicleid>400 && fVehicleid<611) fVehicleModel := ovehicleNamesImpad[fVehicleid-399] else fVehicleModel:="Автомобиль" kv:=getPlayerZone() SendChat("/r 10-16 " fVehicleModel " с номерами x" pog "yz, движущийся в " kv "") Sleep 1200 SendChat("/r со скоростью " fVehicleSpeed " км/ч в " naprav " направлении.") return $~Enter:: SendMessage, 0x50,, 0x4190419,, A if(!checkHandles()) return LastLine:=GetChatText() File = %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt if (lastLine==-1) return if RegExMatch(lastLine, "^\/zv\s(\d+)$", id) { if (id1>999) { addChatMessageWithColor("AFAFAF", " Вы указали некорректный id") return } NameWantedPlayer:=getPlayerNameById(id1) if (NameWantedPlayer=="") { addChatMessageWithColor("AFAFAF", " Игрок оффлайн") return } Wanted:="" NumberOfLines:=0 Loop, Read, %File% { NumberOfLines:=NumberOfLines+1 if (RegExMatch(A_LoopReadLine, "\[..:..:..\]\s\s\<\<\sОфицер\s.*?\sарестовал\s" NameWantedPlayer) or RegExMatch(A_LoopReadLine, "\[..:..:..\]\s\s\[Clear\]\s[A-Za-z0-9_]*?\sудалил\sиз\sрозыскиваемых\s" NameWantedPlayer)) ResetLines:=NumberOfLines } NumberOfLines:=0 Loop, Read, %File% { NumberOfLines:=NumberOfLines+1 if (NumberOfLines>ResetLines and RegExMatch(A_LoopReadLine, "\[..:..:..\]\s\s\[Wanted\s\d:\s" NameWantedPlayer "\]\s\[.*?:\s[A-Za-z0-9_]*?\]\s\[(.*?)\]$", su)) If (not RegExMatch(Wanted, su1)) if (Wanted!="") Wanted:=Wanted ", " su1 else Wanted:=su1 } if (Wanted=="") Wanted:="Нет данных" addChatMessageWithColor("FFFF00", " " NameWantedPlayer " совершил(а) " Wanted) return } if (RegExMatch(lastLine, "^\/zv$") or RegExMatch(lastLine, "^\/zv\s.+$")) { addChatMessageWithColor("FFFFFF", " Введите: /zv [id игрока]") return } if RegExMatch(lastLine, "^\/zap\s(.+)$", id) { StrokaNovogoZapreta:="" StrokaNikovZapret:="" KolvoId:=0 Soderjimoe:=id1 PatternSoderjimogo:="(\d+)\s(\D+)" while RegExMatch(Soderjimoe, PatternSoderjimogo, id) { KolvoId:=KolvoId+1 PatternSoderjimogo:="(\d+)\s" PatternSoderjimogo NickName%A_Index%:=id1 if (A_Index==1) kpz:=id2 } if (KolvoId==0) { addChatMessageWithColor("FFFFFF", " Введите: /zap [id игроков через пробел] [место заключения]") return } Loop %KolvoId% { IndexId:=KolvoId+1-A_Index IdWantedPlayer:= NickName%IndexId% NameWantedPlayer:=getPlayerNameById(IdWantedPlayer) if (RegExMatch(NameWantedPlayer, "_.+?_") or RegExMatch(NameWantedPlayer, "\d+")) { StringReplace, NameWantedPlayer, NameWantedPlayer, _, %A_SPACE%, All RegExMatch(NameWantedPlayer, "[A-Za-z0-9].*[A-Za-z0-9]", NameWantedPlayer) NameWantedPlayer = "%NameWantedPlayer%" } else if RegExMatch(NameWantedPlayer, "([A-Z][a-z]*?)_+([A-Z][a-z]*?)$", idf) NameWantedPlayer = %idf1% %idf2% else { StringReplace, NameWantedPlayer, NameWantedPlayer, _, %A_SPACE%, All if (NameWantedPlayer!="") NameWantedPlayer = "%NameWantedPlayer%" } if (StrokaNikovZapret!="") if (StrLen(StrokaNikovZapret NameWantedPlayer kpz)<69) StrokaNikovZapret:=StrokaNikovZapret ", " NameWantedPlayer else if (StrokaNovogoZapreta=="") StrokaNovogoZapreta:=IdWantedPlayer else StrokaNovogoZapreta:=StrokaNovogoZapreta " " IdWantedPlayer else StrokaNikovZapret:= NameWantedPlayer } if (StrokaNikovZapret=="") { if (KolvoId!=1) addChatMessageWithColor("AFAFAF", " Игроки оффлайн") else addChatMessageWithColor("AFAFAF", " Игрок оффлайн") return } sleep 1200 sendinput, {F6}/dep 10-14 %StrokaNikovZapret% — %kpz%{enter} if (StrokaNovogoZapreta!="") { addChatMessageWithColor("FFFF00", " Внимание! Некоторые игроки не были запрещены. Команда для их запрета скопирована в буфер обмена.") clipboard:= "/zap " StrokaNovogoZapreta " " kpz } return } if RegExMatch(lastLine, "^\/zap$") { addChatMessageWithColor("FFFFFF", " Введите: /zap [id игроков через пробел] [место заключения]") return } if RegExMatch(lastLine, "^\/rad\s(\d+)$", rank) { sleep 1200 name:=getPlayerNameById(rank1) nick:=getUsername() if (isTargetInAnyVehiclebyIdMod(rank1)=="-1" and nick!=name) { AddMessageToChatWindow("Цель не в транспортном средстве или слишком далеко") return } if (nick==name) { if (isPlayerDriverMod()=="-1") { AddMessageToChatWindow("Вы не в транспортном средстве") return } SendChat("/me посмотрел на спидометр") sleep 1200 dwAddr := readDWORD(hGTA, ADDR_VEHICLE_PTR) fSpeedX := readMem(hGTA, dwAddr + ADDR_VEHICLE_X, 4, "float") fSpeedY := readMem(hGTA, dwAddr + ADDR_VEHICLE_Y, 4, "float") fSpeedZ := readMem(hGTA, dwAddr + ADDR_VEHICLE_Z, 4, "float") fVehicleSpeed := sqrt((fSpeedX * fSpeedX) + (fSpeedY * fSpeedY) + (fSpeedZ * fSpeedZ)) fVehicleSpeed := (fVehicleSpeed * 100) * 1 fVehicleSpeed := Round(fVehicleSpeed) SendChat("/do Скорость автомобиля равна " fVehicleSpeed " км/ч") } else { dwAddr := readDWORD(hGTA, ADDR_VEHICLE_PTR) dwVal := readDWORD(hGTA, dwAddr + ADDR_VEHICLE_DRIVER) dwPedPointer := getPedById(rank1) dwVehiclePointer := getVehiclePointerByPed(dwPedPointer) dwVali := readDWORD(hGTA, dwVehiclePointer + ADDR_VEHICLE_DRIVER) if (dwVal==dwVali and isPlayerDriverMod()!="-1") { SendChat("/me посмотрел на спидометр") sleep 1200 fSpeedX := readMem(hGTA, dwAddr + ADDR_VEHICLE_X, 4, "float") fSpeedY := readMem(hGTA, dwAddr + ADDR_VEHICLE_Y, 4, "float") fSpeedZ := readMem(hGTA, dwAddr + ADDR_VEHICLE_Z, 4, "float") fVehicleSpeed := sqrt((fSpeedX * fSpeedX) + (fSpeedY * fSpeedY) + (fSpeedZ * fSpeedZ)) fVehicleSpeed := (fVehicleSpeed * 100) * 1 fVehicleSpeed := Round(fVehicleSpeed) SendChat("/do Скорость равна " fVehicleSpeed " км/ч") } else { fVehicleid := getTargetVehicleModelIdById(rank1) if (fVehicleid>400 && fVehicleid<611) fVehicleModel := ovehicleNamesImpad[fVehicleid-399] else fVehicleModel:="автомобиль" SendChat("/me включил полицейский радар и направил на " fVehicleModel) sleep 1200 o1:=Object() o1:=GetCoordinates() if (getDist(o1,getPedCoordinates(getPedById(rank1)))>30) SendChat("/do Радар не смог определить скорость цели") else { dwAddr := getVehiclePointerById(rank1) fSpeedX := readMem(hGTA, dwAddr + ADDR_VEHICLE_X, 4, "float") fSpeedY := readMem(hGTA, dwAddr + ADDR_VEHICLE_Y, 4, "float") fSpeedZ := readMem(hGTA, dwAddr + ADDR_VEHICLE_Z, 4, "float") fVehicleSpeed := sqrt((fSpeedX * fSpeedX) + (fSpeedY * fSpeedY) + (fSpeedZ * fSpeedZ)) fVehicleSpeed := (fVehicleSpeed * 100) * 1 fVehicleSpeed := Round(fVehicleSpeed) SendChat("/do Показания прибора равны " fVehicleSpeed " км/ч") } } } return } if RegExMatch(lastLine, "^\/rad$") { addChatMessageWithColor("FFFFFF", " Введите: /rad [id игрока]") return } Return !5:: if (isPlayerDriverMod()==-1) { its:=getClosestPlayerIdUnitByCar() ModellCar:=getTargetVehicleModelIdById(its) name:=getPlayerNameById(its) StringReplace, lala, name, _, %A_SPACE%, All if (getTargetVehicleModelNameById(its)="PoliceCar" or getTargetVehicleModelNameById(its)=="Enforcer" or ModellCar==497) { SendChat("/me вытащил " name " из машины") Sleep 1200 } else if (getTargetVehicleModelNameById(its)=="HPV1000") { SendChat("/me вытащил " name " c мотоцикла") Sleep 1200 } else if (ModellCar==448 or ModellCar==461 or ModellCar==462 or ModellCar==462 or ModellCar==463 or ModellCar==468 or ModellCar==471 or ModellCar==481 or ModellCar==509 or ModellCar==510 or ModellCar==521 or ModellCar==522 or ModellCar==581 or ModellCar==586) { SendChat("/me скрутил " name) Sleep 1200 SendChat("/cuff " its) Sleep 1200 nick:=getUsername() StringReplace, papa, nick, _, %A_SPACE%, All SendChat("/do " papa " вытаскивает " lala " с мото") Sleep 1200 } else { SendChat("/me разбил стекло автомобиля и скрутил " name) Sleep 1200 SendChat("/cuff " its) Sleep 1200 nick:=getUsername() StringReplace, papa, nick, _, %A_SPACE%, All SendChat("/do " papa " вытаскивает " lala " из машины") Sleep 1200 } SendChat("/ceject " its) } return F2:: SendChat("/s Стой, стрелять буду!") sleep 1000 return !1:: targ:=getIdByPed(getTargetPed()) if(targ!="-1") SendChat("/cuff " targ) else { targ:=getClosestPlayerIdUnitCuff() if(targ!=-1) SendChat("/cuff " targ) else { addChatMessageWithColor("AFAFAF", " Рядом с вами никого нет") Return } } sleep 1200 Return getClosestPlayerIdUnitCuff() { dist := 8 p := getStreamedInPlayersInfo() if(!p) return -1 lpos := getCoordinates() if(!lpos) return -1 id := -1 For i, o in p { if (getTargetPlayerSkinIdById(i)!="76") and (getTargetPlayerSkinIdById(i)!="265") and (getTargetPlayerSkinIdById(i)!="266") and (getTargetPlayerSkinIdById(i)!="267") and (getTargetPlayerSkinIdById(i)!="280") and (getTargetPlayerSkinIdById(i)!="281") and (getTargetPlayerSkinIdById(i)!="282") and (getTargetPlayerSkinIdById(i)!="283") and (getTargetPlayerSkinIdById(i)!="284") and (getTargetPlayerSkinIdById(i)!="285") and (getTargetPlayerSkinIdById(i)!="288") and (getTargetPlayerSkinIdById(i)!="306") and (getTargetPlayerSkinIdById(i)!="307") and (getTargetPlayerSkinIdById(i)!="309") and (getTargetPlayerSkinIdById(i)!="141") and (getTargetPlayerSkinIdById(i)!="163") and (getTargetPlayerSkinIdById(i)!="164") and (getTargetPlayerSkinIdById(i)!="165") and (getTargetPlayerSkinIdById(i)!="166") and (getTargetPlayerSkinIdById(i)!="286") { t:=getDist(lpos,o.POS) if(t<dist) { dist := t id := i } } } return id } Return Numpad2:: SendChat("/lock") sleep 1200 return Numpad3:: SendChat("/time") sleep 1200 return numpad4:: SendMessage, 0x50,, 0x4190419,, A Random rand, 1, 4 if (rand==1) SendChat("/me затащил преступника в транспортное средство") if (rand==2) SendChat("/me посадил преступника в транспортное средство") if (rand==3) SendChat("/me помог преступнику сесть в транспортное средство") if (rand==4) SendChat("/me запихнул преступника в транспортное средство") sendinput, {F6}/cput{space} return numpad5:: SendMessage, 0x50,, 0x4190419,, A Random rand, 1, 2 if (rand==1) SendChat("/me открыл дверь и вытащил преступника из транспортного средства") if (rand==2) SendChat("/me открыл дверь и высадил преступника из транспортного средства") sendinput, {F6}/ceject{space} return Numpad6:: SendMessage, 0x50,, 0x4190419,, A targ:=getIdByPed(getTargetPed()) if (targ!="-1") { name:=getPlayerNameById(targ) SendChat("/me пристегнул " name " наручниками к своей левой руке") sleep 1200 SendChat("/follow " targ) } else AddMessageToChatWindow("Ошибка ( Нет таргета )") Return Numpad7:: SendChat("/clist 12") sleep 1200 Return Numpad0:: FileRead, Chatlog, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt IfNotInString, Chatlog, помечено на карте красной меткой. Дистанция { SendChat("/gps 4 4") sleep 1200 SendChat("/gps") while(isDialogOpen()==0) sleep 5 Sendinput {Escape} sleep 1200 } NameCall:="" s:=0 f:=0 rr:=0 Loop, read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt { s++ if RegExMatch(A_LoopReadLine, "^\[..:..:..]\s\sДиспетчер:\sвызов\sот\s(.*)\[(\d+)\]\.\sПримерное\sрастояние\s.*", Challenge) { rr:=1 NameCall:=Challenge1 IdCall:=Challenge2 } } if(rr==0) { AddChatMessage("{AFAFAF} Вызовов не поступало") Return } SendChat("/service ac cop " IdCall) sleep 1200 Square:=getMarkZone() if !RegExMatch(NameCall, "^[A-Z][a-z]*_[A-Z][a-z]*$") NameCall:="некого «" NameCall "»" StringReplace, NameCall, NameCall, _, %A_SPACE%, All if(Square=="Unbekannt" or isPlayerDriverMod()==-1) { AddChatMessage("{AFAFAF} Ошибка") Return } Loop, read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt { f++ if(f>s and RegExMatch(A_LoopReadLine, "^\[..:..:..\]\s\sДиспетчер:\sвызов\sот\sэтого\sчеловека\sне\sпоступал$")) Return } s:=-1 f:=0 AllName:="" loop, 4 { s++ IdP:=getMyPassengerId(s) Skin:=getTargetPlayerSkinIdByPed(getPedById(IdP)) if((Skin==76 or Skin==265 or Skin==266 or Skin==267 or Skin==280 or Skin==281 or Skin==282 or Skin==283 or Skin==284 or Skin==285 or Skin==288 or Skin==300 or Skin==301 or Skin==302 or Skin==303 or Skin==304 or Skin==305 or Skin==306 or Skin==307 or Skin==308 or Skin==309 or Skin==310 or Skin==311) and IdP!=-1) { f++ Name:=getPlayerNameById(IdP) RegExMatch(Name, "^([A-Z])[a-z]*_([A-Z][a-z]*)$", NameB) if(AllName=="") AllName:=NameB1 "." NameB2 else AllName:=AllName ", " NameB1 "." NameB2 } } mn:="" if(f==0) Output:="" else { mn:="и" if(f==1) Output:="Напарник: " AllName "." else if(f>=2) Output:="Напарники: " AllName "." } String:="Принял" mn " вызов от " NameCall " в " Square "." Number:=StrLen(String)+StrLen(Output) if(Number<=79) SendChat("/r " String " " Output) else { SendChat("/r " String) sleep 1200 SendChat("/r " Output) } Return !F3:: SendMessage, 0x50,, 0x4190419,, A if (IsPlayerInRangeOfPoint(2275, 2459, 10.3, 100)) { kv:="Гараж ЛВПД" } else if (IsPlayerInRangeOfPoint(2173, 1677, 10.3, 100)) { kv:="Казино Калигула" } else if (IsPlayerInRangeOfPoint(2039, 1008, 10.2, 100)) { kv:="Казино 4 дракона" } else if (IsPlayerInRangeOfPoint(2156, 938, 10.3, 100)) { kv:="АММО ЛВ" } else if (IsPlayerInRangeOfPoint(2453, 1347, 10.3, 100)) { kv:="АВ ЛВ" } else if (IsPlayerInRangeOfPoint(2543, 2776, 10.4, 100)) { kv:="Завод КАСС" } else if (IsPlayerInRangeOfPoint(1487, 2782, 10.4, 100)) { kv:="Гольф клуб" } else if (IsPlayerInRangeOfPoint(1608, 1839, 10.4, 100)) { kv:="Больница ЛВ" } else if (IsPlayerInRangeOfPoint(405, 1658, 34.8, 100)) { kv:="Холм ЛВА" } else if (IsPlayerInRangeOfPoint(330, 1924, 17.2, 100)) { kv:="Главный склад ЛВА" } else if (IsPlayerInRangeOfPoint(405, 1658, 34.8, 100)) { kv:="КПП ЛВА" } else if (IsPlayerInRangeOfPoint(213, 1887, 14.1, 100)) { kv:="Бункер ЛВА" } else if (IsPlayerInRangeOfPoint(2094, 2477, 10.4, 100)) { kv:="Спортзал ЛВ" } else if (IsPlayerInRangeOfPoint(1838, 801, 10.4, 100)) { kv:="Похоронное бюро" } else if (IsPlayerInRangeOfPoint(1156, 833, 10.3, 100)) { kv:="Карьер" } else if (IsPlayerInRangeOfPoint(179, 1165, 14.3, 100)) { kv:="Закуска ФК" } else if (IsPlayerInRangeOfPoint(287, 1411, 9.9, 100)) { kv:="Сетка ЛВА" } else if (IsPlayerInRangeOfPoint(-86, 1371, 9.8, 100)) { kv:="Бар НЛО" } else if (IsPlayerInRangeOfPoint(-318, 1057, 10.3, 100)) { kv:="Больница ФК" } else if (IsPlayerInRangeOfPoint(-977, 1307, 34.8, 100)) or (IsPlayerInRangeOfPoint(-1250, 996, 43.5, 100)) { kv:="Мост СФ-ЛВ" } else if (IsPlayerInRangeOfPoint(985, 1711, 8.7, 100)) { kv:="ЧОП Медведь" } else if (IsPlayerInRangeOfPoint(2203, -2243, 13, 100)) { kv:="Грузчики" } else if (IsPlayerInRangeOfPoint(2709, -2404, 13, 100)) { kv:="Порт ЛС" } else if (IsPlayerInRangeOfPoint(87, -1532, 5, 100)) { kv:="Площадь мэрии" } else if (IsPlayerInRangeOfPoint(1934, 196, 32, 100)) { kv:="Ферма 4" } else if (IsPlayerInRangeOfPoint(24, 19, 2, 100)) { kv:="Ферма 3" } else if (IsPlayerInRangeOfPoint(-147, 15, 2, 100)) { kv:="Ферма 1" } else if (IsPlayerInRangeOfPoint(717, -1675, 10, 100)) { kv:="Алкозавод" } else if (IsPlayerInRangeOfPoint(-105, -1156, 2, 100)) { kv:="Заправка возле фермы 0" } else if (IsPlayerInRangeOfPoint(-308, -1403, 13, 100)) { kv:="Ферма 0" } else if (IsPlayerInRangeOfPoint(1201, -935, 42, 100)) { kv:="Закуска под Vinewood" } else if (IsPlayerInRangeOfPoint(994, -937, 40, 100)) { kv:="Заправка под Vinewood" } else if (IsPlayerInRangeOfPoint(1670, -799, 55, 100)) { kv:="АММО ЛС" } else if (IsPlayerInRangeOfPoint(1255, -1575, 12, 100)) { kv:="АВ ЛС" } else if (IsPlayerInRangeOfPoint(1203, -1331, 12, 100)) { kv:="ASGH" } else { kv:=getPlayerZone() } SendChat("/r 10-34 " kv "") Return !9:: SendMessage, 0x50,, 0x4190419,, A if (IsPlayerInRangeOfPoint(2275, 2459, 10.3, 100)) { kv:="Гараж ЛВПД" } else if (IsPlayerInRangeOfPoint(2173, 1677, 10.3, 100)) { kv:="Казино Калигула" } else if (IsPlayerInRangeOfPoint(2039, 1008, 10.2, 100)) { kv:="Казино 4 дракона" } else if (IsPlayerInRangeOfPoint(2156, 938, 10.3, 100)) { kv:="АММО ЛВ" } else if (IsPlayerInRangeOfPoint(2453, 1347, 10.3, 100)) { kv:="АВ ЛВ" } else if (IsPlayerInRangeOfPoint(2543, 2776, 10.4, 100)) { kv:="Завод КАСС" } else if (IsPlayerInRangeOfPoint(1487, 2782, 10.4, 100)) { kv:="Гольф клуб" } else if (IsPlayerInRangeOfPoint(1608, 1839, 10.4, 100)) { kv:="Больница ЛВ" } else if (IsPlayerInRangeOfPoint(405, 1658, 34.8, 100)) { kv:="Холм ЛВa" } else if (IsPlayerInRangeOfPoint(330, 1924, 17.2, 100)) { kv:="Главный склад ЛВa" } else if (IsPlayerInRangeOfPoint(405, 1658, 34.8, 100)) { kv:="КПП ЛВa" } else if (IsPlayerInRangeOfPoint(213, 1887, 14.1, 100)) { kv:="Бункер ЛВa" } else if (IsPlayerInRangeOfPoint(2094, 2477, 10.4, 100)) { kv:="Спортзал ЛВ" } else if (IsPlayerInRangeOfPoint(1838, 801, 10.4, 100)) { kv:="Похоронное бюро" } else if (IsPlayerInRangeOfPoint(1156, 833, 10.3, 100)) { kv:="Карьер" } else if (IsPlayerInRangeOfPoint(179, 1165, 14.3, 100)) { kv:="Закуска ФК" } else if (IsPlayerInRangeOfPoint(287, 1411, 9.9, 100)) { kv:="Сетка ЛВa" } else if (IsPlayerInRangeOfPoint(-86, 1371, 9.8, 100)) { kv:="Бар НЛО" } else if (IsPlayerInRangeOfPoint(-318, 1057, 10.3, 100)) { kv:="Больница ФК" } else if (IsPlayerInRangeOfPoint(-977, 1307, 34.8, 100)) or (IsPlayerInRangeOfPoint(-1250, 996, 43.5, 100)) { kv:="Мост СФ-ЛВ" } else if (IsPlayerInRangeOfPoint(985, 1711, 8.7, 100)) { kv:="ЧОП Медведь" } else if (IsPlayerInRangeOfPoint(2203, -2243, 13, 100)) { kv:="Грузчики" } else if (IsPlayerInRangeOfPoint(2709, -2404, 13, 100)) { kv:="Порт ЛС" } else if (IsPlayerInRangeOfPoint(87, -1532, 5, 100)) { kv:="Площадь мэрии" } else if (IsPlayerInRangeOfPoint(1934, 196, 32, 100)) { kv:="Ферма 4" } else if (IsPlayerInRangeOfPoint(24, 19, 2, 100)) { kv:="Ферма 3" } else if (IsPlayerInRangeOfPoint(-147, 15, 2, 100)) { kv:="Ферма 1" } else if (IsPlayerInRangeOfPoint(717, -1675, 10, 100)) { kv:="Алкозавод" } else if (IsPlayerInRangeOfPoint(-105, -1156, 2, 100)) { kv:="Заправка возле фермы 0" } else if (IsPlayerInRangeOfPoint(-308, -1403, 13, 100)) { kv:="Ферма 0" } else if (IsPlayerInRangeOfPoint(1201, -935, 42, 100)) { kv:="Закуска под Vinewood" } else if (IsPlayerInRangeOfPoint(994, -937, 40, 100)) { kv:="Заправка под Vinewood" } else if (IsPlayerInRangeOfPoint(1670, -799, 55, 100)) { kv:="АММО ЛС" } else if (IsPlayerInRangeOfPoint(1255, -1575, 12, 100)) { kv:="АВ ЛС" } else if (IsPlayerInRangeOfPoint(1203, -1331, 12, 100)) { kv:="ASGH" } else { kv:=getPlayerZone() } SendChat("/dep 10-34 " kv " 10-17") Return !8:: veh:=isPlayerInAnyVehicle() if(veh!=0) { Loop, read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt { FoundPos := RegExMatch(A_LoopReadLine, ".*\(.*mdc.*") if(FoundPos==1) Find_Line:=A_LoopReadLine } RegExMatch(Find_Line, "mdc ([0-9]+)", mdcID) sendchat("/mdc " mdcID1) sleep 1200 Loop, read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt { FoundPos1 := RegExMatch(A_LoopReadLine, ".*Уровень розыска:.*([0-9]+)") if(FoundPos1==1) Find_Line1:=A_LoopReadLine } RegExMatch(Find_Line1, ".*Уровень розыска:.*([0-9]+)", mdcYR) Loop, read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt { FoundPos2 := RegExMatch(A_LoopReadLine, ".*Организация: (.*)") if(FoundPos2==1) Find_Line2:=A_LoopReadLine } RegExMatch(Find_Line2, "\[.*\].*Организация: (.*)", mdcORG) ;[06:15:49] Организация: Неизвестно sendchat("/r (( ID — " mdcID1 ", уровень розыска: " mdcYR1 ". Организация: " mdcORG1 " ))") } return
Ну, давай почитаем, что пишет компилятор:
Это означает, что даже в UDF такой функции нет.Вызов несуществующей функции -- getClosestPlayerIdCarNotCopFBI()
Поспрашиваю у друзей мб у них есть. Спасибо за помощь.Ну, давай почитаем, что пишет компилятор:
Это означает, что даже в UDF такой функции нет.
В свою очередь, это означает, что функция была сделана автором скрипта, а UDF'a от него у тебя нет.
Учись читать ошибки, в AHK это делать проще простого.
Пожалуйста.Поспрашиваю у друзей мб у них есть. Спасибо за помощь.
это да)Пожалуйста.
Если что - пиши в ЛС лучше, а то мы тут много флуда наделали)
dwAddress := dwSAMP + 0x13BEFC
dwAddress := readDWORD(hGTA, dwAddress)
gameText := readString(hGTA, dwAddress, 256)
Дам подсказку - дело в тебе, а не в редакторе.Дайте нормалькую ссылку на скачивание редактора SciTE4AutoHotKey, а то при запуске с редактора скрипт не запускается ( но сам скрипт рабочий )
Посмотреть вложение 40583
как сделать чтобы показывало ближайший ид или информацию о игроке наводишь потом нажмаешь и когда стрелка пишет в чат инфу а при зачитании к примеру ALt+z пишет /sms и id тот ? ahk
E::
}
Sleep 80
id := []
sleep 20
id := getIdByPed(getTargetPed())
if id > -1
{
nick := getPlayerNameById(id)
AntiCrash()
addchatmessage("{FFFFFF}Вы навели на: {FF8000}" nick "[" id "]")
}
Else
{
addChatMessageEx("{F6789A}", "{FFFFFF}Игрок не выбран.")
}
Return