Не записываются значения в массив - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir, Phoenixxx_Czar  
Не записываются значения в массив
tawer13371cs Дата: Воскресенье, 22.11.2020, 03:20 | Сообщение # 1
Новичок
Сообщений: 18
Статус: Offline
У меня есть RegEx который записывает номера входящих сообщений, он работает нормально, но после записи их в массив, выводится только номер последнего сообщения. Вывод используется через for, сам массив объявлен пустым в начале скрипта

Код
smsTimer:
chatsms := GetNewLine(FileChatLog)
if (RegExMatch(chatsms, "Входящее СМС от (.*) \[(\d+)\]: (.*)", find)) {
    AddChatMessage("{7B68EE}[СМС] {FFFFFF}Входящее {FADC32}СМС {FFFFFF}от {FADC32}" find3 ". {FFFFFF}Нажмите {FADC32}\ {FFFFFF}для быстрого ответа.")
    arraySms[A_Index] := find4 ; запись номера в массив
}


Сообщение отредактировал tawer13371cs - Воскресенье, 22.11.2020, 03:29
CZAR Дата: Воскресенье, 22.11.2020, 12:38 | Сообщение # 2
Czar Of Scripts
Сообщений: 1373
Статус: Offline
Попробуй .Push()




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

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


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

Гарант 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
tawer13371cs Дата: Среда, 25.11.2020, 05:55 | Сообщение # 3
Новичок
Сообщений: 18
Статус: Offline
Цитата CZAR ()
Попробуй .Push()

Все равно тот же результат, выводится последнее записанное значение
MrGPro-new Дата: Среда, 25.11.2020, 21:47 | Сообщение # 4
Новичок
Сообщений: 1
Статус: Offline
Код
global arraySms := []
global i := 0
smsTimer:
if (RegExMatch(chatsms, "Входящее СМС от (?<name>.*) \[(?<id>\d+)\]: (?<sms>.*)", find_)) {
   AddChatMessage("{7B68EE}[СМС] {FFFFFF}Входящее {FADC32}СМС {FFFFFF}от {FADC32}" find_name ". {FFFFFF}Нажмите {FADC32}\ {FFFFFF}для быстрого ответа.")
    arraySms[i++] := [find_name, find_id, find_sms] ; запись номера в массив
}
return

Insert::
For index, key in arraySms
{
    MsgBox,,, % arraySms[index][1] . " - " . arraySms[index][2] . " - " . arraySms[index][3]
}
return
CZAR Дата: Среда, 25.11.2020, 23:19 | Сообщение # 5
Czar Of Scripts
Сообщений: 1373
Статус: Offline
MrGPro-new, зачем эта не нужна переменная i? Чем тебе Push не угодил? Что это у тебя за прикольный for такой бессмысленный biggrin
Код
for key, value in arraySms
{
; value[1] / value[2] / value[3]
}


Почему бы вообще не сделать объект? Проще же обращаться по имени, чем помнить какой номер за что отвечает, не?





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

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


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

Гарант 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
Godarck Дата: Понедельник, 30.11.2020, 20:40 | Сообщение # 6
AHK Скриптер
Сообщений: 252
Статус: Offline
Код
smsTimer:
chatsms := GetNewLine(FileChatLog)
if (RegExMatch(chatsms, "Входящее СМС от (.*) \[(\d+)\]: (.*)", find)) {

    AddChatMessage("{7B68EE}[СМС] {FFFFFF}Входящее {FADC32}СМС {FFFFFF}от {FADC32}" find1 ". {FFFFFF}Нажмите {FADC32}\ {FFFFFF}для быстрого ответа.")

   arraySms.Insert(find1)   ; запись номера в массив
  ;;; arraySms.Insert({Number:find2,Message:find3}) ;;; либо запись в массив, который после этого становится двумерным
}


Немного не понял. либо ты дал не работающий код, либо вырезал кусок. но у тебя до find4 не дойдет набор в оригинале твоем


Бесплатный и новый бот рыбалки для GTA V RP
GunList для GTA V RP - писать в ЛС
Fake Time для GTA V RP
tawer13371cs Дата: Пятница, 04.12.2020, 03:56 | Сообщение # 7
Новичок
Сообщений: 18
Статус: Offline
С массивом разобрался, но обнаружил другую проблему)
Если скопировать сообщение и отправить то получится такое:
Код
[СМС] Входящее СМС от Mark Tucson [660]: СМС от Maria Versetti . Нажмите \ для быстрого ответа.


Как остановить regex после первого раза?
Godarck Дата: Пятница, 18.06.2021, 19:10 | Сообщение # 8
AHK Скриптер
Сообщений: 252
Статус: Offline
Цитата tawer13371cs ()
Как остановить regex после первого раза?

В самой функции - Никак.
Можно скорректировать шаблон привязав к началу или к концу строки маркерами ^(начало) и (конец)$

У вас чатлог должен читаться постоянно, но выводится из цикла только тогда когда последняя строка отличается от предыдущей.


Бесплатный и новый бот рыбалки для GTA V RP
GunList для GTA V RP - писать в ЛС
Fake Time для GTA V RP


Сообщение отредактировал Godarck - Пятница, 18.06.2021, 19:14
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума