[Помощь] Объединение 2-ух скриптов
|
|
T1bro |
Дата: Суббота, 23.09.2017, 23:04 | Сообщение # 1
|
Любитель
Сообщений: 38
Статус: Offline
|
В общем проблема такая:
Вот код
Код EngineState := false SetTimer, RPEngine, 500 RPEngine: if (isPlayerDriver()) { if (getVehicleEngineState() == 1 and EngineState = false) { SendChat("/me вставил(а) ключ и завел(а) " getVehicleModelName()) EngineState := true }else if (getVehicleEngineState() == 0 and EngineState = true) { SendChat("/me заглушил(а) " getVehicleModelName() " и вытащил(а) ключи") EngineState := false } } Return
Если его вставить в пустой скрипт, то он работает отлично, но в моем случае у меня целая сборка и когда я его вставляю в свою сборку, то он начинает жутко флудит, а именно сюда. Как исправить? Так чтобы не флудило
Код GetNewLine(filename) { ;функция чтения последней строки, если файл изменен каждыее 100 мс static old static new if !old { FileGetSize, old, %filename% new := old } while old = new { sleep 100 FileGetSize, new, %filename%
EngineState := false SetTimer, RPEngine, 500 RPEngine: if (isPlayerDriver()) { if (getVehicleEngineState() == 1 and EngineState = false) { SendChat("/me вставил(а) ключ и завел(а) " getVehicleModelName()) EngineState := true }else if (getVehicleEngineState() == 0 and EngineState = true) { SendChat("/me заглушил(а) " getVehicleModelName() " и вытащил(а) ключи") EngineState := false } } Return
} old := new Loop, read, %filename% if A_LoopReadLine { global lastline11:= last ;предыдущая строка last := A_LoopReadLine ;последняя строка } return last }
MacD
Сообщение отредактировал T1bro - Суббота, 23.09.2017, 23:05 |
|
|
|
|
Ghost29 |
Дата: Воскресенье, 24.09.2017, 12:07 | Сообщение # 3
|
Новичок
Сообщений: 23
Статус: Offline
|
Код EngineState := false SetTimer, RPEngine, 500 return
GetNewLine(filename) { ;функция чтения последней строки, если файл изменен каждыее 100 мс static old static new if !old { FileGetSize, old, %filename% new := old } while old = new { sleep 100 FileGetSize, new, %filename% } old := new Loop, read, %filename% if A_LoopReadLine { global lastline11:= last ;предыдущая строка last := A_LoopReadLine ;последняя строка } return last }
RPEngine: if (isPlayerDriver()) { if (getVehicleEngineState() == 1 and EngineState = false) { SendChat("/me вставил(а) ключ и завел(а) " getVehicleModelName()) EngineState := true }else if (getVehicleEngineState() == 0 and EngineState = true) { SendChat("/me заглушил(а) " getVehicleModelName() " и вытащил(а) ключи") EngineState := false } } Return
Сообщение отредактировал Ghost29 - Воскресенье, 24.09.2017, 12:12 |
|
|
|
T1bro |
Дата: Воскресенье, 24.09.2017, 18:39 | Сообщение # 4
|
Любитель
Сообщений: 38
Статус: Offline
|
Phoenixxx_Czar, Если вынести его из лупа, то не работают все функции чатлога а если за пределы чатлога вообще не работает сам код
MacD
Сообщение отредактировал T1bro - Воскресенье, 24.09.2017, 18:42 |
|
|
|
Artur_iOS |
Дата: Воскресенье, 24.09.2017, 19:25 | Сообщение # 5
|
Боец
Сообщений: 94
Статус: Offline
|
Удали функу чтения последней строки чатлога, используй getChatLineEx()
Код Loop { lastline := getChatLineEx() ;тут твой код с действиями над строками, в регулярке удали timestamp if (isPlayerDriver()) { if (getVehicleEngineState() && !EngineState) { SendChat("/me вставил(а) ключ и завел(а) " getVehicleModelName()) EngineState := true }else if (!getVehicleEngineState() && EngineState) { SendChat("/me заглушил(а) " getVehicleModelName() " и вытащил(а) ключи") EngineState := false } } }
|
|
|
|
T1bro |
Дата: Воскресенье, 24.09.2017, 21:39 | Сообщение # 6
|
Любитель
Сообщений: 38
Статус: Offline
|
Artur_iOS, она мне нужна. Там много функций на ней висит
MacD
|
|
|
|
Godarck |
Дата: Воскресенье, 24.09.2017, 23:11 | Сообщение # 7
|
AHK Скриптер
Сообщений: 252
Статус: Offline
|
static EngineState
Бесплатный и новый бот рыбалки для GTA V RP GunList для GTA V RP - писать в ЛС Fake Time для GTA V RP
|
|
|
|
Artur_iOS |
Дата: Понедельник, 25.09.2017, 16:47 | Сообщение # 8
|
Боец
Сообщений: 94
Статус: Offline
|
Цитата T1bro ( ) Если его вставить в пустой скрипт, то он работает отлично, но в моем случае у меня целая сборка и когда я его вставляю в свою сборку, то он начинает жутко флудит, а именно сюда. Как исправить? Так чтобы не флудило
Код
GetNewLine(filename) { ;функция чтения последней строки, если файл изменен каждыее 100 мс static old static new if !old { FileGetSize, old, %filename% new := old } while old = new { sleep 100 FileGetSize, new, %filename%
EngineState := false SetTimer, RPEngine, 500 RPEngine: if (isPlayerDriver()) { if (getVehicleEngineState() == 1 and EngineState = false) { SendChat("/me вставил(а) ключ и завел(а) " getVehicleModelName()) EngineState := true }else if (getVehicleEngineState() == 0 and EngineState = true) { SendChat("/me заглушил(а) " getVehicleModelName() " и вытащил(а) ключи") EngineState := false } } Return
} old := new Loop, read, %filename% if A_LoopReadLine { global lastline11:= last ;предыдущая строка last := A_LoopReadLine ;последняя строка } return last } Ну если так, тогда нужно правильно ставить код или нет? И зачем вообще делать действие по изменению чатлога, если можно просто в loop где задается lastline := GetNewLine(ChatLog)?
Код GetNewLine(filename) { static old static new static EngineState if !old { FileGetSize, old, %filename% new := old } while old = new { sleep 100 FileGetSize, new, %filename% if (isPlayerDriver()) { if (getVehicleEngineState() && !EngineState) { SendChat("/me вставил(а) ключ и завел(а) " getVehicleModelName()) EngineState := true }else if (!getVehicleEngineState() && EngineState) { SendChat("/me заглушил(а) " getVehicleModelName() " и вытащил(а) ключи") EngineState := false } } } old := new Loop, read, %filename% if A_LoopReadLine { global lastline11 := last last := A_LoopReadLine } return last }
|
|
|
|
T1bro |
Дата: Вторник, 26.09.2017, 05:02 | Сообщение # 9
|
Любитель
Сообщений: 38
Статус: Offline
|
Artur_iOS, Признаюсь честно, большую часть функцию чатлога я вообще не понимаю. Я всего лишь навсего знаю как это можно использовать и то не всегда. За эту основу спасибо Godark'y
А теперь по поводу кода. Попытка отличная, все работает почти правильно и не флудит, но теперь, когда садишься и выходишь из машины он срабатывает автоматом, а должен по сути работать только при вкл/выкл двигателя
Цитата Artur_iOS ( ) GetNewLine(filename) { static old static new static EngineState if !old { FileGetSize, old, %filename% new := old } while old = new { sleep 100 FileGetSize, new, %filename% if (isPlayerDriver()) { if (getVehicleEngineState() && !EngineState) { SendChat("/me вставил(а) ключ и завел(а) " getVehicleModelName()) EngineState := true }else if (!getVehicleEngineState() && EngineState) { SendChat("/me заглушил(а) " getVehicleModelName() " и вытащил(а) ключи") EngineState := false } } } old := new Loop, read, %filename% if A_LoopReadLine { global lastline11 := last last := A_LoopReadLine } return last }
MacD
|
|
|
|
Artur_iOS |
Дата: Вторник, 26.09.2017, 20:45 | Сообщение # 10
|
Боец
Сообщений: 94
Статус: Offline
|
T1bro, Ясно... Поставь клавишу на которую заводится двигатель и прикрепи к ней проверки.
|
|
|
|