[Помощь] Объединение 2-ух скриптов - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir, Phoenixxx_Czar  
Форум » Программирование » AHK Программирование » [Помощь] Объединение 2-ух скриптов (Включение/Выключение автомобиля)
[Помощь] Объединение 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
CZAR Дата: Воскресенье, 24.09.2017, 03:34 | Сообщение # 2
Czar Of Scripts
Сообщений: 1373
Статус: Offline
T1bro, дак вынеси его из лупа.




Я в ВК
Ушел в веб.

• Ничего не покупаю.
• Способы не проверяю.


У меня теперь новый домен, если ссылка не работает - напишите.

Гарант Cheat-Master:
*тема*

AHK
[S-RP] House Finder / House Teleporter
[SAMP] Online Counter
[S-RP] [For Event] Show Star
[S-RP] AntiCasino
[S-RP] [BOT] Auto Fisher + Auto Find Worm + Auto Cook
[S-RP] [BOT] /dance
Winner | Делаем розыгрыши среди участников темы.
SAMP-UDF
[AHK Урок] Выбор в диалогах мышкой и enter`ом
[SAMP] Быстрый ответ на СМС
[ERP] Помощник для адвоката
[DRP] FakeTime

Достижения:
- 26.02.2017
- 03.01.2018
- 26.05.2018
- 22.09.2018
- 04.04.2019
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, Ясно... Поставь клавишу на которую заводится двигатель и прикрепи к ней проверки.
Форум » Программирование » AHK Программирование » [Помощь] Объединение 2-ух скриптов (Включение/Выключение автомобиля)
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума
Лучшие пользователи
Admin [39113]

GеNius [7209]

[CM]Russel [5557]

kenlo763 [4952]

[CM]AGRESSOR [4639]

Snake_Firm [4452]

Сэс [4416]

Artem_Buero [4223]

[CM]Durman [3204]

[CM]Рафаэль [3080]

iMaddy [2855]

sky_Woker [2854]

getrekt [2745]

Новые пользователи
123131312312314534 [13:41]

Pan40xxl [12:36]

chinazes000 [11:29]

donaldga2 [05:28]

rubenia18 [21:17]

pokotiloroman91 [18:24]

stephensh5 [12:00]

calliesv7 [06:11]

louqm16 [22:14]

artushak [16:32]

Kingpolker [15:42]

leeyv11 [15:12]

Trappa17 [01:00]