[Вопрос] Чекер людей в радиусе прорисовки
|
|
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 ( ![Ссылка на цитируемый текст](/.s/img/fr/ic/4/lastpost.gif) ) 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 ( ![Ссылка на цитируемый текст](/.s/img/fr/ic/4/lastpost.gif) ) Цикл от 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 ( ![Ссылка на цитируемый текст](/.s/img/fr/ic/4/lastpost.gif) ) 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 ( ![Ссылка на цитируемый текст](/.s/img/fr/ic/4/lastpost.gif) ) 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 раз нажми, он не сканирует игроков. Спасибо за то, что пытаешься помочь.
|
|
|
|
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 ( ![Ссылка на цитируемый текст](/.s/img/fr/ic/4/lastpost.gif) ) 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
У ТЕБЯ ЕСТЬ ИДЕЯ ДЛЯ ПРОГРАММЫ, НО САМ ТЫ НЕ МОЖЕШЬ НАПИСАТЬ КОД? ПИШИ МНЕ
|
|
|
|