[AHK] AoP Master - скрипт для правительства.

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

• Adolf Bulkin •

Я не знаю что тут написать.
Пользователь
Сообщения
1,229
Реакции
1,192
Баллы
0
Возраст
18
Сервер
Ruby
Краткое описание: данный скрипт является помощником для всех сотрудников Мэрий/AoP. Тут есть множество функций, которые будут очень полезны именно для Вас.
Screenshot_1.png

Много функций и команд, которые вы видите на экране.
Посмотреть это список можно после скачки и прописки команды - /cmd.
В скрипте имеется возможность добавить свои отыгровки и так-же использовать данные скриптом.

Screenshot_2.png

Screenshot_3.png

За вопросами в ЛС VK: click
Ссылка на ахк: клик (.exe)
Ссылка на исходник+ библиотеку: клик (.ahk) (v.1.5)
ПАРОЛЬ К АРХИВАМ: 123
1.Исправлены некоторые ошибки скрипта.
2.Команда /name была изменена на /aname, в связи с багом при прописке /namestore
3.Добавлена команда /clic - продажа лицензии на рыболовлю.
4.Добавлена команда /xartsf - опрос городской хартии г.San-Fierro(Ruby)
5.Изменено авторство. Новый ник автора - Adolf Bulkin.
6./cam - обновлена отыгровка для тех, у кого отсутствует РП камера.
1.Теперь не нужно нажимать Enter после прописки /fte, пишем просто /fte [Текст], оно Вам автоматом выдаст с тегом в /f текст.
2.Теперь при команде /sobes нужно писать [ID], например: /sobes 228, так со всеми командами, например /uninvited [ID] [Причина], /post [название поста] и подобные этим команды, ознакомиться можно в /cmd!
3./rp - новая команда, подробнее как ей пользоваться можно узнать в меню при запуске скрипта.
4.Теперь при запуске скрипта пишется в чат что он запущен.
5.Теперь во всех /gnews тэг *AoP*,а не SFCH например.
1.Добавлена команда - /ztv - законотворчество, подробнее в /cmd.
2.Добавлена команда /cc - очистка чата(полностью очищает чат)
3.Убраны команды /gorod, /nomer, /aname, /teg, теперь они не нужны, всю информацию вы вводите в меню.
4.Полностью обновлено меню при запуске.
5.Теперь у нас не Mayor Master, а AoP Master, скрипт полностью подделан и для мэрий и для АoP, выбрать организацию можно в меню.
6.Теперь в меню можно сделать автоотыгровку /time, для этого в меню указываем галочку и клавишу, при нажатии на клавишу отыграется точное время.
СРОЧНЫЙ ФИКС БАГОВ.
1.Теперь при нажатии много раз Enter флуда не будет.(фиксанул)
2.Команда /cfindn [Ранг] - показывает кого из /find нету в зоне прорисовки(только Вам)
3.Команда /perevod - сообщить о переводе в свою мэрию в /f
4.Теперь при акценте можно писать смайлы, МГ не будет.
5.В меню при запуске появился пункт *Должность*, теперь некоторые бинды оптимизированы за счёт этого пункта.
6.Добавил пару фишек, теперь некоторым никам будет запрещено играть, скрипт будет выключаться...`n а если вы не нажмёте *Сохранить* после редакции меню - Вам будет флудить в чат.
7.Пофикшены некоторые баги, теперь меньше шанс, что скрипт будет крашить.
1.Теперь после того, как вы закрыли меню, его можно открыть в трее, правая кнопка мыши - Оpen.
2.Теперь можно отображать эмоции, будет без акцента. Пример: *смех*.
3.Теперь есть больше выбор фракции, *AoP*/*Мэрия*/*Муниципалитет*/*Администрация*
4.Команда /2olog - логи версии 2.0
5.Обновлена отыгровка команды /ya.
***

Скрипт будет обновляться, в нём присутствует автообновление при запуске.

Авторство - ABULKIN (Adolf_Bulkin)
Помогал - Adam_Rockwel
 

Вложения

  • Screenshot_1.png
    Screenshot_1.png
    22.2 KB · Просмотры: 304
  • Screenshot_2.png
    Screenshot_2.png
    28.3 KB · Просмотры: 343
  • Screenshot_3.png
    Screenshot_3.png
    166.9 KB · Просмотры: 365
Последнее редактирование:

Lucifer Melton

Пользователь
Сообщения
292
Реакции
166
Баллы
0
Сервер
Emerald
Думаю это лучше чем /fte
JavaScript:
TagRadioR := "Зам. Мэра"
TagRadioF := "LS | Зам. Мэра"

~$Enter::
if (isInChat() && !isDialogOpen()) {
    blockChatInput()
    Sleep, 170
    dwAddress := dwSAMP + 0x12D8F8
    chatInput := readString(hGTA, dwAddress, 256)
    unBlockChatInput()
    Sleep, 30
    if (regexmatch(chatInput, "i)^/f")) {
        if (regexmatch(chatInput, "i)^/f (.*)", f)) {
            sendChat("/f " TagRadioF " • " f1)
        } else addchatmessageex("cecfce", "Используйте: /f [текст]")
    }
    else if (regexmatch(chatInput, "i)^/r"))  {
        if (regexmatch(chatInput, "i)^/r (.*)", r)) {
            sendChat("/r " TagRadioR " • " r1)
        } else addchatmessageex("cecfce", "Используйте: /r [текст]")
    }
    else
    {
        if (chatInput != "") {
            sendChat(chatInput)
        } else
            return
    }
}
return
И не нужно ставить "SendMessage, 0x50,, 0x4190419,, A " перед sendChat()
__READSTRING(hGTA, dwAddress, [0x0], 256) не возвращает ERROR как я слышал :D
Таким UDF'ом мне кажется можно было по лучше сделать диалоговые окно
 
Последнее редактирование:

• Adolf Bulkin •

Я не знаю что тут написать.
Пользователь
Сообщения
1,229
Реакции
1,192
Баллы
0
Возраст
18
Сервер
Ruby
Думаю это лучше чем /fte
JavaScript:
TagRadioR := "Зам. Мэра"
TagRadioF := "LS | Зам. Мэра"

~$Enter::
if (isInChat() && !isDialogOpen()) {
    blockChatInput()
    Sleep, 170
    dwAddress := dwSAMP + 0x12D8F8
    chatInput := readString(hGTA, dwAddress, 256)
    unBlockChatInput()
    Sleep, 30
    if (regexmatch(chatInput, "i)^/f")) {
        if (regexmatch(chatInput, "i)^/f (.*)", f)) {
            sendChat("/f " TagRadioF " • " f1)
        } else addchatmessageex("cecfce", "Используйте: /f [текст]")
    }
    else if (regexmatch(chatInput, "i)^/r"))  {
        if (regexmatch(chatInput, "i)^/r (.*)", r)) {
            sendChat("/r " TagRadioR " • " r1)
        } else addchatmessageex("cecfce", "Используйте: /r [текст]")
    }
    else
    {
        if (chatInput != "") {
            sendChat(chatInput)
        } else
            return
    }
}
return
И не нужно ставить "SendMessage, 0x50,, 0x4190419,, A " перед sendChat()
__READSTRING(hGTA, dwAddress, [0x0], 256) не возвращает ERROR как я слышал :D
Таким UDF'ом мне кажется можно было по лучше сделать диалоговые окно
Я начал 9 дней назад, пока еще набираюсь опыта. Позже посмотрю код, может в обнове добавлю.
 

Khan Jungkook

twenty øne piløts
Пользователь
Сообщения
307
Реакции
302
Баллы
0
Возраст
19
Сервер
Ruby
Я конечно не профессионал в АНК, и т.п., но мне кажется, что ты мог бы улучшить вот это:

[Setting]
gn1=text
gn2=text
gn3=text
Вместо этого такой код:

JavaScript:
IniRead, strings, blanks.ini, setting
Array := outputStringsInArray(strings)
For i, string in Array
{
    SendMessage, 0x50,, 0x4190419,, A
    SendInput {F6}%string% {Enter}
    sleep 2100
}
return

// И в конце кода функцию: (это комментарий)

outputStringsInArray(strings)
{
    Array := []
    Loop, Parse, strings, `n, `r
        Array.Insert(A_LoopField)
    return Array
}
 

Khan Jungkook

twenty øne piløts
Пользователь
Сообщения
307
Реакции
302
Баллы
0
Возраст
19
Сервер
Ruby
Не совсем понимаю данный код, если можно поподробнее расскажите пожалуйста. Понимаю что делает, именно команды объясни пожалуйста.
Читает ини файл, который называется "blank.ini", где string хз, где секция "setting" читает из секции setting строки. Теперь когда все строки есть в blanks.ini можно запускать скрипт, он будет выводить не через SendChat (т.к. в ахк эта функция баганая, поэтому крашит иногда), а через SendInput, с задержкой между строк 2.1 секунд.
 

Dark Maserati

Пользователь
Сообщения
695
Реакции
792
Баллы
225
Возраст
22
Сервер
Trilliant
Зачем запрашивать ник в гуи, если его можно получить через удф и убрать _ через regexreplace?
 

• Adolf Bulkin •

Я не знаю что тут написать.
Пользователь
Сообщения
1,229
Реакции
1,192
Баллы
0
Возраст
18
Сервер
Ruby
Зачем запрашивать ник в гуи, если его можно получить через удф и убрать _ через regexreplace?
Я вчера вот через удф сделал, а потом решил убрать, пусть будет через гуи, мне нрав :D
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху