[Вопрос] Чекер людей в радиусе прорисовки - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir, Phoenixxx_Czar  
[Вопрос] Чекер людей в радиусе прорисовки
FaNTaXo Дата: Пятница, 03.02.2017, 04:17 | Сообщение # 1
Любитель
Сообщений: 41
Статус: Offline
Приветствую, дорогие скриптёры!
.

Помогите реализовать такой скрипт, который будет чекать людей в радиусе прорисовки, кроме этих скинов (SkinID: 76, 285, 163, 164, 165, 166, 265, 266, 267, 280, 281, 282, 282, 283, 284, 285, 286, 307, 309)
А скрипт должен работать по принципу:
Сажусь в патрульный транспорт, нажимаю клавишу, допустим, Numpad1 и начинается проверка всех людей в радиусе прорисовки командой /mdc, но чекает он всех, кроме вышеуказанных идов скинов. При повторном нажатии на клавишу - скрипт останавливается
.


Сообщение отредактировал FaNTaXo - Пятница, 03.02.2017, 04:18
Demy Дата: Пятница, 03.02.2017, 11:09 | Сообщение # 2
Бывалый
Сообщений: 422
Статус: Offline
1) Активация
2) Проверка, активен ли уже скрипт. Если активен - выключаем и выходим
3) Цикл от 1 до 1000, где получаем скин каждого, проверяем, есть ли этот ID в массиве исключений, если нет, то добавляем этот ид в массив, иначе пропускаем.


AutoReporter / http://cheat-master.ru/forum/150-486717-1
Finder / http://cheat-master.ru/forum/160-497245-1
DLQ Binder / http://cheat-master.ru/forum/150-594163-1

У ТЕБЯ ЕСТЬ ИДЕЯ ДЛЯ ПРОГРАММЫ, НО САМ ТЫ НЕ МОЖЕШЬ НАПИСАТЬ КОД? ПИШИ МНЕ
FaNTaXo Дата: Суббота, 04.02.2017, 01:19 | Сообщение # 3
Любитель
Сообщений: 41
Статус: Offline
Цитата Demy ()
1) Активация
2) Проверка, активен ли уже скрипт. Если активен - выключаем и выходим
3) Цикл от 1 до 1000, где получаем скин каждого, проверяем, есть ли этот ID в массиве исключений, если нет, то добавляем этот ид в массив, иначе пропускаем.

Ты написать этот скрипт можешь? Я новичок, в этом ничего не понимаю.


Сообщение отредактировал FaNTaXo - Суббота, 04.02.2017, 01:19
Demy Дата: Суббота, 04.02.2017, 12:21 | Сообщение # 4
Бывалый
Сообщений: 422
Статус: Offline
Могу

AutoReporter / http://cheat-master.ru/forum/150-486717-1
Finder / http://cheat-master.ru/forum/160-497245-1
DLQ Binder / http://cheat-master.ru/forum/150-594163-1

У ТЕБЯ ЕСТЬ ИДЕЯ ДЛЯ ПРОГРАММЫ, НО САМ ТЫ НЕ МОЖЕШЬ НАПИСАТЬ КОД? ПИШИ МНЕ
aknqkzxlcs Дата: Суббота, 04.02.2017, 21:17 | Сообщение # 5
Любитель
Сообщений: 33
Статус: Offline
Цитата Demy ()
Цикл от 1 до 1000

чего? зачем?
Demy Дата: Суббота, 04.02.2017, 22:34 | Сообщение # 6
Бывалый
Сообщений: 422
Статус: Offline
aknqkzxlcs, ID := A_Index - 1

AutoReporter / http://cheat-master.ru/forum/150-486717-1
Finder / http://cheat-master.ru/forum/160-497245-1
DLQ Binder / http://cheat-master.ru/forum/150-594163-1

У ТЕБЯ ЕСТЬ ИДЕЯ ДЛЯ ПРОГРАММЫ, НО САМ ТЫ НЕ МОЖЕШЬ НАПИСАТЬ КОД? ПИШИ МНЕ
aknqkzxlcs Дата: Воскресенье, 05.02.2017, 11:35 | Сообщение # 7
Любитель
Сообщений: 33
Статус: Offline
не проверял, т.к. нет акка в пд
Код
Numpad1::
    if(!isPlayerInAnyVehicle())
    {
        addChatMessageEx(0xffffff, "Необходимо находиться в транспорте")
        return
    }
    SendChat("/mdc")
    while(true)
    {
        GetChatLine(0, output)
        if(RegExMatch(output, "Введите\: \/mdc \[id игрока\]")
            break
        if(RegExMatch(output, "Вам недоступна эта функция"))
            return
    }
    addChatMessageEx(0xffffff, "Запущено сканирование...")
    callFuncForAllStreamedInPlayers("CheckMdc", 250)
return

CheckMdc() {
    if getTargetPlayerSkinIdById(o.ID) not in 76, 285, 163, 164, 165, 166, 265, 266, 267, 280, 281, 282, 282, 283, 284, 285, 286, 307, 309
    {
        if(GetKeyState("Numpad1", "P") || !isPlayerInAnyVehicle())
        {
            addChatMessageEx(0xffffff, "Приостановлено")
            return
        }
        if(wait + 1200 < A_TickCount)
        {
            SendChat("/mdc " o.ID)
            wait := A_TickCount
        }
    }
}


Цитата Demy ()
ID := A_Index - 1

это глупо


Сообщение отредактировал aknqkzxlcs - Воскресенье, 05.02.2017, 12:10
Demy Дата: Воскресенье, 05.02.2017, 14:00 | Сообщение # 8
Бывалый
Сообщений: 422
Статус: Offline
aknqkzxlcs, сравни кол-во строк в коде ниже и в коде callFuncForAllStreamedInPlayer.
Код

Loop 1001
    If ( {273:1,265:1}[getSkin(A_Index-1)] ) ; как вариант проверки
       CheckMDC()


AutoReporter / http://cheat-master.ru/forum/150-486717-1
Finder / http://cheat-master.ru/forum/160-497245-1
DLQ Binder / http://cheat-master.ru/forum/150-594163-1

У ТЕБЯ ЕСТЬ ИДЕЯ ДЛЯ ПРОГРАММЫ, НО САМ ТЫ НЕ МОЖЕШЬ НАПИСАТЬ КОД? ПИШИ МНЕ
FaNTaXo Дата: Воскресенье, 05.02.2017, 15:06 | Сообщение # 9
Любитель
Сообщений: 41
Статус: Offline
Цитата aknqkzxlcs ()
Numpad1::
    if(!isPlayerInAnyVehicle())
    {
        addChatMessageEx(0xffffff, "Необходимо находиться в транспорте")
        return
    }
    SendChat("/mdc")
    while(true)
    {
        GetChatLine(0, output)
        if(RegExMatch(output, "Введите\: \/mdc \[id игрока\]"))
            break
        if(RegExMatch(output, "Вам недоступна эта функция"))
            return
    }
    addChatMessageEx(0xffffff, "Запущено сканирование...")
    callFuncForAllStreamedInPlayers("CheckMdc", 250)
return

CheckMdc() {
    if getTargetPlayerSkinIdById(o.ID) not in 76, 285, 163, 164, 165, 166, 265, 266, 267, 280, 281, 282, 282, 283, 284, 285, 286, 307, 309
    {
        if(GetKeyState("Numpad1", "P") || !isPlayerInAnyVehicle())
        {
            addChatMessageEx(0xffffff, "Приостановлено")
            return
        }
        if(wait + 1200 < A_TickCount)
        {
            SendChat("/mdc " o.ID)
            wait := A_TickCount
        }
    }
}


Сажусь в машину, нажимаю клавишу активации и пишет:
Код
Введите: /mdc [id игрока]
Запущено сканирование...

Но ничего при этом не происходит. То есть, хоть 20 раз нажми, он не сканирует игроков.
Спасибо за то, что пытаешься помочь.
biggrin
aknqkzxlcs Дата: Понедельник, 06.02.2017, 04:35 | Сообщение # 10
Любитель
Сообщений: 33
Статус: Offline
Для отключения удерживать Numpad1, пока не появится сообщение "Приостановлено", либо выйти из машины
Код
SendMode Input
SetWorkingDir %A_ScriptDir%
#UseHook
#NoEnv
#SingleInstance force
#include %A_ScriptDir%\inc\SAMP-UDF-Developer.ahk

Numpad1::
    Timeout := 1200, MaxPlayers := 1000
    if(!isPlayerInAnyVehicle())
    {
        addChatMessageEx(0xffffff, "Необходимо находиться в транспорте")
        return
    }
    SendChat("/mdc")
    while(true)
    {
        GetChatLine(0, output)
        if(RegExMatch(output, "Введите\: \/mdc \[id игрока\]"))
            break
    }
    addChatMessageEx(0xffffff, "Запущено сканирование...")
    Sleep, Timeout
    Loop, %MaxPlayers%
    {
        if(GetKeyState("Numpad1", "P") || !isPlayerInAnyVehicle())
        {
            addChatMessageEx(0xffffff, "Приостановлено")
            break
        }
        playerid := A_Index - 1
        skin := getTargetPlayerSkinIdById(playerid)
        if(skin == -1)
            continue
        if skin not in 76, 285, 163, 164, 165, 166, 265, 266, 267, 280, 281, 282, 282, 283, 284, 285, 286, 307, 309
        {
            SendChat("/mdc " playerid)
            Sleep, Timeout
        }
    }
    Sleep, Timeout
return


Цитата Demy ()
Loop 1001

в сампе последний ид 999, поэтому loop 1000


Сообщение отредактировал aknqkzxlcs - Понедельник, 06.02.2017, 05:01
Demy Дата: Понедельник, 06.02.2017, 16:40 | Сообщение # 11
Бывалый
Сообщений: 422
Статус: Offline
aknqkzxlcs, это мелочи, на которые при составлении плана на обращаю внимания

AutoReporter / http://cheat-master.ru/forum/150-486717-1
Finder / http://cheat-master.ru/forum/160-497245-1
DLQ Binder / http://cheat-master.ru/forum/150-594163-1

У ТЕБЯ ЕСТЬ ИДЕЯ ДЛЯ ПРОГРАММЫ, НО САМ ТЫ НЕ МОЖЕШЬ НАПИСАТЬ КОД? ПИШИ МНЕ
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума