- 135
- 13
- Версия MoonLoader
- .026-beta
Всем привет. Есть такая вот таблица, с ней всё норм, это не переменные.
Помогите сделать для каждой строки регулярное выражение. Разберём на примере первой строки. Первая цифра - 0. Это будет переменная 'on', она бывает только положительной и целой. Второе число - десятичная дробь, она может быть как отрицательным так и нет. Третье число тоже самое, что и второе, но нужно учесть, что после запятой есть пробел (его потом методом .gsub убираем), а третье число только целое, но может быть отрицательным и положительным, пробел после запятой тоже учесть. У меня получилась регулярка, вроде правильная, но не робит.
По задумке оно должно читать строку с определённым номером (выше пример с номером 0). Если она будет найдена, то будет считывать координаты X,Y,Z соответственно (числа по порядку в фигурных скобках) Потом по порядку сверху вниз новой строкой выводится номер и координаты x,y,z. А мне вот такую кашу (пример выше на фото) выдаёт, читает лишнее вообще.
help
Lua:
0 = {1982.40625, -1718.8854980469, 17}
1 = {1982.9914550781, -1682.8572998047, 17}
2 = {2015.8630371094, -1629.9202880859, 14}
Помогите сделать для каждой строки регулярное выражение. Разберём на примере первой строки. Первая цифра - 0. Это будет переменная 'on', она бывает только положительной и целой. Второе число - десятичная дробь, она может быть как отрицательным так и нет. Третье число тоже самое, что и второе, но нужно учесть, что после запятой есть пробел (его потом методом .gsub убираем), а третье число только целое, но может быть отрицательным и положительным, пробел после запятой тоже учесть. У меня получилась регулярка, вроде правильная, но не робит.
=:
if response:find(on .. '%s%=%s%{(.+%d+)%,(.+%d+)%,(.+%d+)%}') then
sampAddChatMessage(on, main_color)
cordxgs, cordygs, cordzgs = response:match(on .. '%s%=%s%{(.+%d+)%,(.+%d+)%,(.+%d+)%}')
cordx = string.gsub(cordxgs, " ", "")
cordy = string.gsub(cordygs, " ", "")
cordz = string.gsub(cordzgs, " ", "")
sampAddChatMessage(cordx, main_color)
sampAddChatMessage(cordy, main_color)
sampAddChatMessage(cordz, main_color)
end
По задумке оно должно читать строку с определённым номером (выше пример с номером 0). Если она будет найдена, то будет считывать координаты X,Y,Z соответственно (числа по порядку в фигурных скобках) Потом по порядку сверху вниз новой строкой выводится номер и координаты x,y,z. А мне вот такую кашу (пример выше на фото) выдаёт, читает лишнее вообще.
help
Последнее редактирование: