Выговор

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

Magov1733

Новичок
Автор темы
20
0
Привет ребята. Помогите пожалуйста сделать систему выговоров AHK.
К примеру:
Код:
/vig ID Причина.
В чате пишется /r Nick Name получает выговор за "Причина"
Где-нибудь на компе создаётся файл Выговоры.txt
Туда записывается кому и за что был выдан выговор.
Дата: **.**.**** Время: **.**.**  || Nick Name получил выговор [*|3]. Причина: "Причина".
Только желательно что бы файл не стирался при повторной выдаче выговора.

И на запрос месторасположения.
Пример:
Код:
/где ID
/r Nick Name, ваше месторасположение?
Заранее спасибо :)
 

Kvisk

Известный
212
223
Вот держи, полностью рабочий. Сам проверил :3
Если что, текстовый документ будет создавать рядом с самим файлом ahk.
Так же, он предупредит если человек получил 3 выговор.
AutoHotKey:
#NoEnv
#include sampUDF.ahk

$~NumpadEnter::
$~Enter::
if (!isInChat()) || (isDialogOpen() && (getDialogStyle() == 1 || getDialogStyle() == 3))
    Return
sleep, 250
chatinput := readString(hGTA, dwSAMP + 0x12D8F8, 256)
if RegExMatch(chatinput, "^/vig (\d{1,3}) (.*)", var)
{
    name := RegExReplace(getPlayerNameById(var1), "_", " ")
    if name =
    {
        addChatMessage("{FFA500}[AHK Support]: {FFFFFF}Данный игрок не в игре.")
        return
    }
    sendchat("/r " name " получает выговор за " var2)
    FormatTime, time, , Дата: dd.MM.yyyy Время: HH.mm.ss  ||
    FileRead, text, Выговоры.txt
    StringSplit, linearr, text, `n
    number := linearr0 - 1
    loop
    {
        if (out1 <> "") or (number = 0) or (number = -1)
            Break
        RegExMatch(linearr%number%, "Дата: [0-9.]+ Время: [0-9.]+  \|\| " name " получил выговор \[(\d)\|3\]. Причина: (.*)", out)
        number --
    }
    if out1 =
        out1 = 1
    else
        if out1 = 2
        {
            out1 += 1
            addChatMessage("{FFA500}[AHK Support]: {FFFFFF}Игрок получил 3-й выговор!")
        }
    else
        out1 += 1
    newvigovor := time " " name " получил выговор [" out1 "|3]. Причина: " var2 ".`n"
    FileAppend, %newvigovor%, Выговоры.txt
    out1 := ""
    return
}
if RegExMatch(chatinput, "^/где (\d{1,3})", var)
{
    name := RegExReplace(getPlayerNameById(var1), "_", " ")
    if name =
    {
        addChatMessage("{FFA500}[AHK Support]: {FFFFFF}Данный игрок не в игре.")
        return
    }
    sendchat("/r " name ", ваше месторасположение?")
    return
}
return

Вот так будет выглядеть документ:
Безымянный.jpg
 
  • Нравится
Реакции: Magov1733
Статус
В этой теме нельзя размещать новые ответы.