Дата: Понедельник, 22.08.2016, 11:28 | Сообщение # 1
Новичок
Сообщений: 6
Статус: Offline
Доброго времени суток, друзья. Решил показать Вам мой первый скрипт на AHK. В нём есть достаточно функций, которые мало у кого можно увидеть. Список предоставлен ниже:
Самой интересной функцией является авто-доклад с поста. Т.е. скрипт читает координаты игрока и если игрок на посту, то в чат идёт доклад с соответствующего поста. Из багов нашёл только 1, когда персонаж умирает, при спавне скрипт прописывает отыгровку бронежилета. Помощь: /helpmo Надеюсь кому-то пригодится! :)
; - Auto-МО by Dobryak v.1.0 - ; Все функции Вы сможете увидеть при вводе комманды "/helpmo" ; Удачного использования! #Persistent #ifwinactive GTA:SA:MP #include SAMP.ahk
lastarm:=getPlayerArmor() file = %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt msgbox, Auto-MO v.1.0 by Dobryak успешно запущен! Для получения справки введите в игре команду "/helpmo". Loop { ; Ники и прочее... Nick:= getUsername() RPNick:= getUsername() StringReplace, RPNick, RPNick,_,{SPACE}, All Fama:= getUsername() RegExMatch(Fama, "\Q_\E(.*)\Q\E", Fama) StringReplace, Fama, Fama,_,, All id:= getId() ; >> Броня arm:=getPlayerArmor() if ( arm > lastarm ) { Sendinput,{F6}/do Бронежилет в шкафчике.{ENTER} Sendinput,{F6}/me плавным движением открыл шкафчик{ENTER} Sendinput,{F6}/me плавным движением правой руки взял бронежилет и надел его{ENTER} } lastarm:=getPlayerArmor() ; >> Доклады if ( dokl = 1 ) { fileread, read, %file% if read contains Докладыва { filedelete, %file% fileappend,, %file% SendChat("/r Доклад(ы) приняты! Продолжайте в том же духе!") SendChat("/c 60") Sleep, 1000 SendInput, {F8} } } ; >> Еда fileread, read, %file% if read contains %Nick% взял(а) { filedelete, %file% fileappend,, %file% Sendinput,{F6}/eat{ENTER} } ; >> Металл fileread, read, %file% if read contains %Nick%[%id%] взял(а) на военном складе { filedelete, %file% fileappend,, %file% Sendinput,{F6}/do На спине у %Nick% рюкзак.{ENTER} Sendinput,{F6}/me положил металлическую заготовку в рюкзак{ENTER} } ; Анимка при входе в игру fileread, read, %file% if read contains Добро пожаловать на Advance Role Play { filedelete, %file% fileappend,, %file% Sleep, 20000 Sendinput,{F6}/anim{ENTER} ; РП имя if !RPNick { reload }
Numpad7:: Sendinput,{F6}/do Напротив %Nick% пульт управления КПП.{ENTER} Sendinput,{F6}/me ввёл секретный PIN-Code, тем самым открыв/закрыв КПП{ENTER} Sendinput,{F6}/gate{ENTER} return
Numpad0:: Sendinput, {F6}/me взглянул на золотые часы с гравировкой "%gravirovka%"{ENTER} Sendinput, {F6}/do Время на часах: %A_Hour%:%A_Min%.{ENTER} SendChat("/c 60") return
NumpadAdd:: GetPlayerPos(x,y,z) if ( x > -1546.098999 and x < -1515.402710 and y > 470.475830 and y < 508.089172 ) { Sendinput,{F6}/f %army% | Докладывает %zvanie% %Fama% | Пост: КПП(А) | Состояние: тихо{ENTER} } ; Посты СВ if ( x > 341.082642 and x < 348.967468 and y > 1786.131592 and y < 1809.139404 ) { Sendinput,{F6}/r [%tag%]: Докладывает %zvanie% %Fama% | Пост: КПП-1 | Состояние: тихо{ENTER} } if ( x > 313.566711 and x < 325.066895 and y > 1932.063965 and y < 1970.541748 ) { Sendinput,{F6}/r [%tag%]: Докладывает %zvanie% %Fama% | Пост: Склад | Состояние: тихо{ENTER} } if ( x > 259.746521 and x < 274.151611 and y > 1886.650269 and y < 1901.946045 ) { Sendinput,{F6}/r [%tag%]: Докладывает %zvanie% %Fama% | Пост: Вышка | Состояние: тихо{ENTER} } if ( x > 341.072357 and x < 372.049774 and y > 2012.942139 and y < 2045.680420 ) { Sendinput,{F6}/r [%tag%]: Докладывает %zvanie% %Fama% | Пост: ПВО | Состояние: тихо{ENTER} } if ( x > 306.399109 and x < 319.117126 and y > -169.907547 and y < -158.757004 ) { Sendinput,{F6}/r [%tag%]: Докладывает %zvanie% %Fama% | Пост: Склад(внутри) | Состояние: тихо{ENTER} } ; Посты ВМФ if ( x > -2256.786621 and x < -2238.514893 and y > 2379.674316 and y < 2385.826904 ) { Sendinput,{F6}/r [%tag%]: Докладывает %zvanie% %Fama% | Пост: Cклад | Состояние: тихо{ENTER} } if ( x > 217.408768 and x < 233.806213 and y > 1286.233276 and y < 1293.712280 ) { Sendinput,{F6}/r [%tag%]: Докладывает %zvanie% %Fama% | Пост: Cклад(Внутри) | Состояние: тихо{ENTER} } if ( x > -2275.697266 and x < -2272.282227 and y > 2336.769043 and y < 2365.652588 ) { Sendinput,{F6}/r [%tag%]: Докладывает %zvanie% %Fama% | Пост: КПП-1 | Состояние: тихо{ENTER} } if ( x > -2300.578857 and x < -2296.042969 and y > 2409.341309 and y < 2440.114502 ) { Sendinput,{F6}/r [%tag%]: Докладывает %zvanie% %Fama% | Пост: КПП-2 | Состояние: тихо{ENTER} } if ( x > -2244.083496 and x < -2228.643066 and y > 2335.114746 and y < 2353.569580 ) { Sendinput,{F6}/r [%tag%]: Докладывает %zvanie% %Fama% | Пост: Вышка | Состояние: тихо{ENTER} } if ( x > -2302.006348 and x < -2277.656006 and y > 2278.156250 and y < 2294.405762 ) { Sendinput,{F6}/r [%tag%]: Докладывает %zvanie% %Fama% | Пост: Склад торпед | Состояние: тихо{ENTER} } ; ВВС if ( x > 424.585052 and x < 441.646301 and y > 2553.743408 and y < 2580.151367 ) { Sendinput,{F6}/r [%tag%]: Докладывает %zvanie% %Fama% | Пост: КПП-1 | Состояние: тихо{ENTER} } if ( x > 413.421143 and x < 421.407745 and y > 2534.960205 and y < 2542.731201 ) { Sendinput,{F6}/r [%tag%]: Докладывает %zvanie% %Fama% | Пост: Склад(внутри) | Состояние: тихо{ENTER} } if ( x > 422.246429 and x < 429.501465 and y > 2531.350586 and y < 2542.289063 ) { Sendinput,{F6}/r [%tag%]: Докладывает %zvanie% %Fama% | Пост: Склад | Состояние: тихо{ENTER} } if ( x > 280.125031 and x < 296.717407 and y > 2548.930420 and y < 2569.548584 ) { Sendinput,{F6}/r [%tag%]: Докладывает %zvanie% %Fama% | Пост: КПП-2 | Состояние: тихо{ENTER} } if ( x > 382.856995 and x < 392.867950 and y > 2549.834717 and y < 2559.676758 ) { Sendinput,{F6}/r [%tag%]: Докладывает %zvanie% %Fama% | Пост: Вышка | Состояние: тихо{ENTER} } return
:?:/helpmo:: KeyWait, Enter ;addchatmessage("{FFFFFF} - Auto-МО by {4000FF}Dobryak{FFFFFF} v.1.0 - ") ;addchatmessage("{FFFFFF} Cписок функций: ") ;addchatmessage("{FFFFFF} {4000FF}•{FFFFFF} Автоматическая отыгровка взятия бронежилета") ;addchatmessage("{FFFFFF} {4000FF}•{FFFFFF} Автоматическая отыгровка взятия металла") ;addchatmessage("{FFFFFF} {4000FF}•{FFFFFF} Автоматический ответ на доклад {E6E6E6}(для офицеров){FFFFFF} | Активация: {4000FF}Alt+1{FFFFFF}") ;addchatmessage("{FFFFFF} {4000FF}•{FFFFFF} Воинское приветствие | Активация: {4000FF}NumPad 1{FFFFFF}") ;addchatmessage("{FFFFFF} {4000FF}•{FFFFFF} Открытие КПП {E6E6E6}(/gate){FFFFFF} | Активация: {4000FF}NumPad 7{FFFFFF}") ;addchatmessage("{FFFFFF} {4000FF}•{FFFFFF} Часы {E6E6E6}(С временем в /do){FFFFFF} | Активация: {4000FF}NumPad 0{FFFFFF}") ;addchatmessage("{FFFFFF} {4000FF}•{FFFFFF} Открытие личного т/c {E6E6E6}(Без РП){FFFFFF} | Активация: {4000FF}NumPad 9{FFFFFF}") ;addchatmessage("{FFFFFF} {4000FF}•{FFFFFF} Ввод в рацию с тэгом {E6E6E6}(/r){FFFFFF} | Активация: {4000FF}NumPad 5{FFFFFF}") ;addchatmessage("{FFFFFF} {4000FF}•{FFFFFF} Ввод в рацию с тэгом армии {E6E6E6}(/f){FFFFFF} | Активация: {4000FF}NumPad 6{FFFFFF}") ;addchatmessage("{FFFFFF} {4000FF}•{FFFFFF} Доклад со своих постов {E6E6E6}(Надо настроить посты){FFFFFF} | Активация: {4000FF}NumPad /, NumPad *, NumPad -{FFFFFF}") ;addchatmessage("{FFFFFF} {4000FF}•{FFFFFF} Автоматических доклад с поста {E6E6E6}(Список постов - /moposts){FFFFFF} | Активация: {4000FF} NumPad +{FFFFFF}") ;addchatmessage("{FFFFFF} {4000FF}•{FFFFFF} Автоматическая запись армии и звания {E6E6E6}(В INI файл){FFFFFF} | Активация: {4000FF}/updatemo{FFFFFF}") ;addchatmessage("{FFFFFF} {4000FF}•{FFFFFF} Показ военного билета {E6E6E6}(Через /me,/do){FFFFFF} | Активация: {4000FF}/bilet{FFFFFF}") ;addchatmessage("{4000FF}[!]{FFFFFF} Перед использование настройте скрипт {E6E6E6}(В файле info.ini){FFFFFF}") ShowDialog("0", "{FFFFFF} - Auto-МО by {4000FF}Dobryak{FFFFFF} v.1.0 - ","{FFFFFF} Cписок функций: `n{FFFFFF} {4000FF}•{FFFFFF} Автоматическая отыгровка взятия бронежилета`n{FFFFFF} {4000FF}•{FFFFFF} Автоматическая отыгровка взятия металла`n{FFFFFF} {4000FF}•{FFFFFF} Автоматический ответ на доклад {E6E6E6}(для офицеров){FFFFFF} | Активация: {4000FF}Alt+1{FFFFFF}`n{FFFFFF} {4000FF}•{FFFFFF} Воинское приветствие | Активация: {4000FF}NumPad 1{FFFFFF}`n{FFFFFF} {4000FF}•{FFFFFF} Открытие КПП {E6E6E6}(/gate){FFFFFF} | Активация: {4000FF}NumPad 7{FFFFFF}`n{FFFFFF} {4000FF}•{FFFFFF} Часы {E6E6E6}(С временем в /do){FFFFFF} | Активация: {4000FF}NumPad 0{FFFFFF}`n{FFFFFF} {4000FF}•{FFFFFF} Открытие личного т/c {E6E6E6}(Без РП){FFFFFF} | Активация: {4000FF}NumPad 9{FFFFFF}`n{FFFFFF} {4000FF}•{FFFFFF} Ввод в рацию с тэгом {E6E6E6}(/r){FFFFFF} | Активация: {4000FF}NumPad 5{FFFFFF}`n{FFFFFF} {4000FF}•{FFFFFF} Ввод в рацию с тэгом армии {E6E6E6}(/f){FFFFFF} | Активация: {4000FF}NumPad 6{FFFFFF}`n{FFFFFF} {4000FF}•{FFFFFF} Доклад со своих постов {E6E6E6}(Надо настроить посты){FFFFFF} | Активация: {4000FF}NumPad /, NumPad *, NumPad -{FFFFFF}`n{FFFFFF} {4000FF}•{FFFFFF} Автоматических доклад с поста {E6E6E6}(Список постов - /moposts){FFFFFF} | Активация: {4000FF} NumPad +{FFFFFF}`n{FFFFFF} {4000FF}•{FFFFFF} Автоматическая запись армии и звания {E6E6E6}(В INI файл){FFFFFF} | Активация: {4000FF}/updatemo{FFFFFF}`n{FFFFFF} {4000FF}•{FFFFFF} Показ военного билета {E6E6E6}(Через /me,/do){FFFFFF} | Активация: {4000FF}/bilet{FFFFFF}`n`n{4000FF}[!]{FFFFFF} Перед использование настройте скрипт {E6E6E6}(В файле info.ini){FFFFFF}", "Закрыть") return
:?:/moposts:: KeyWait, Enter addchatmessage("{FFFFFF} Cписок постов, стоя на кототорых, нажимая кнопку NumPad + автоматически пишет пост: ") addchatmessage("{FFFFFF} {4000FF}>{FFFFFF} Авианосец {E6E6E6}(Доклад в /f){FFFFFF}") addchatmessage("{FFFFFF} {4000FF}>{FFFFFF} Сухопутные войска:") addchatmessage("{FFFFFF} {4000FF}>{FFFFFF} КПП-1, Склад, Склад(внутри), Вышка, ПВО") addchatmessage("{FFFFFF} {4000FF}>{FFFFFF} Военно-морской флот:") addchatmessage("{FFFFFF} {4000FF}>{FFFFFF} КПП-1, КПП-2, Вышка, Склад торпед, Склад, Склад(внутри)") addchatmessage("{FFFFFF} {4000FF}>{FFFFFF} Военно-воздушные силы:") addchatmessage("{FFFFFF} {4000FF}>{FFFFFF} КПП-1, КПП-2, Вышка, Склад, Склад(внутри)") addchatmessage("{4000FF}[!]{FFFFFF} Если Вы считаете, что тут не хватает какого-либо поста напишите мне в ВК {E6E6E6}(vk.com/kesik.dobryak){FFFFFF}") return
:?:/bilet:: KeyWait, Enter Sendinput,{F6}/me достал из внутреннего кармана формы военное билет{ENTER} Sendinput,{F6}/me показал билет. На нём написано...{ENTER} Sendinput,{F6}/do "%zvanie% %Fama% | Армия: %army% | Отряд: %tag%"{ENTER} Sendinput,{F6}/me cпрятал билет обратно{ENTER} return
:?:/updatemo:: KeyWait, Enter Sendinput,{F6}/pass %id%{ENTER} Sleep, 1000 fileread, read, %file% RegExMatch(read, "\QРабота: \E(.*)\Q | Организация и подразделение: \E", zvanie) RegExMatch(read, "\Q | Организация и подразделение: Министерство обороны / \E(.*)\Q`n\E", army) if ( army = Военно-морской флот ) { army = ВМФ } if ( army = Военно-воздушные силы ) { army = ВВС } if ( army = Сухопутные войска ) { army = СВ } StringReplace, zvanie, zvanie,Работа:%A_SPACE%,, All StringReplace, zvanie, zvanie,%A_SPACE%%A_SPACE%| Организация и подразделение: ,, All ;StringReplace, zvanie, zvanie,%A_SPACE%,, All IniWrite,%zvanie%,info.ini,INFO,zvanie IniWrite,%army%,info.ini,INFO,army filedelete, %file% fileappend,, %file% addchatmessage("{4000FF}[!]{FFFFFF} Информация о фракции успешно обновлена!") return
!2:: SendInput, {F6}/n %Nick%[%id%] взял(а) на военном складе{ENTER} return
Мои темы: [ARP] AHK для МО (Auto-MO) - http://cheat-master.ru/forum/150-637186-1 [AHK] Проверка AHK на стиллер - http://cheat-master.ru/forum/150-640817-1
VK - http://vk.com/kesik.dobryak Работаю с ФШ, обращатся в вк.
Сообщение отредактировал ZHENYADOBRYAK - Понедельник, 22.08.2016, 11:32