Здравствуйте, гость ( Вход | Регистрация )

11 страниц V « < 7 8 9 10 11 >  
Ответить в эту темуОткрыть новую тему
> Lua
DarkMaster
сообщение 24.9.2017, 18:06
Сообщение #161


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



Дополнительное обертывание пути в кавычки позволяет использовать адреса содержащие пробелы, однако маску равную nil все равно принимать отказывается.
Код
options.symbolsDir.path = '"'..options.symbolsDir.path..'"'


Цитата
path='"i:\\!sandboxie\\Crossout\\drive\\I\\Crossout\\bin\\" "*exe "'

Кхе пока писал - уже твой пост прилетел.
Маску в путь я бы все-таки не пихал. Она вполне нормально работает отдельным параметром. Просто не следует передавать ее равной nil.

Сообщение отредактировал DarkMaster - 24.9.2017, 18:07


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 24.9.2017, 18:25
Сообщение #162


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26745
Пользователь №: 16.971
Возраст: 29



Цитата
Дополнительное обертывание пути в кавычки позволяет использовать адреса содержащие пробелы

Или использовать string.format.
Код
str = [[C:\Users\abc\Desktop\123.txt]]
log (string.format("%q", str))  -- вернёт строку в двойных кавычках, \ будут заменены на \\
str2 = "C:\\Users\\abc\\Desktop\\123.txt"
log (string.format("%q", str2))  -- вернёт строку в двойных кавычках

Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 26.9.2017, 16:07
Сообщение #163


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



table.unpack() не пашет. Типа анпака нет. В 5.1 должен быть еще просто unpack(), но его тоже нет. Привет кристаллуа?


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 27.9.2017, 2:03
Сообщение #164


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26745
Пользователь №: 16.971
Возраст: 29



Цитата
В 5.1 должен быть еще просто unpack(), но его тоже нет.

http://uopilot.tati.pro/index.php?title=Unpack_(Lua)
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 27.9.2017, 11:02
Сообщение #165


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



эмм.. у меня просто орет, что его не существует....


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.10.2017, 6:52
Сообщение #166


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



В чем прикол?
Код
function t (options)
   log(options)
end
t{crds={1,2,3,4}}


Код
t={}
function t.f (options)
   log(options)
end
t.f(123)


Не работает:
Код
t={}
function t.f (options)
   log(options)
end
t.f{crds={1,2,3,4}}


Работает:
Код
t={}
function t.f (options)
   log(options)
end
t:f{crds={1,2,3,4}}

В чем фишка? Вообще насколько я понял : передает в качестве параметра саму же функцию. Как связаны эти проблемы убей не пойму.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.10.2017, 7:58
Сообщение #167


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



В интерпретаторе таблицу возвращает, там где пилот nil. Что за бред? Или это только у меня, как с unpack?


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.10.2017, 19:54
Сообщение #168


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



Неужели никаких идей? Хотя бы воспроизводится у вас?


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 4.10.2017, 2:08
Сообщение #169


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26745
Пользователь №: 16.971
Возраст: 29



Для меня это тёмный лес, знаний нет.
Цитата
--Не работает:
t={}
function t.f (options)
log(options)
end
t.f{crds={1,2,3,4}}

Типа так должно быть?
Код
--lua
t={}
function t.f(options)
   log(options)
end
t.f( {crds={1,2,3,4}} )


Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 4.10.2017, 2:37
Сообщение #170


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



Список допустимых упрощенных записей:
Цитата
Код
  f{...}             f({...})
  f('...')           f'...'
  f("")              f""
  f([[...]])         f[[...]]
  x:f(...)           x.f(x, ...)

Так же хочу обратить внимание, что подобная упрощенная запись нормально воспринимается при:
function f(options)
но не воспринимается при:
f = {}
function f.v (options)

Если этот код запихать в интерпретатор луа - все работает. Беру дллку от этого интерпретатора, засовываю в пилот не работает. Ничего не понимаю.

Сообщение отредактировал DarkMaster - 4.10.2017, 2:38


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 4.10.2017, 5:48
Сообщение #171


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



Цирк продолжается:
Код
function print(val)
    log(val)
end

function g (v)
    if v == nil then v = 0 end
    return 100 + v
end

do
    local default = {}
    default.crds = function (b) print(b) return g(b) end
    function f (b)
        return default.crds(b)
    end
end
print(f(3))

Орет про то, что данные переданы таблицей. Таблицы там нет и в помине. При этом мой table.show даже развернуть ее не смог ибо там какой-то бред.

Берем этот же самый код и пихаем в интерпретатор луа - все шуршит.

Если функцию объявлять, как:
Код
function default.crds (b)

то все опять начинает работать.

Открываем любой справочник, маны, доки. Функция является базовым типом и запись полностью корректна.
-- Functions are first-class, may be local/global.
-- These are the same:
function f(x) return x * x end
f = function (x) return x * x end

Сообщение отредактировал DarkMaster - 4.10.2017, 6:02


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 4.10.2017, 6:22
Сообщение #172


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



Продолжаем развлекаться:
Код
    default = {}
    function default.crds (window)
        get ("windowpos ".. window .. " #x #y #w #h")
        x, y, w, h = "#x", "#y", "#w", "#h"
        log (x, y, w, h, 197)
        return {x, y, w, h, abs=0}
    end

    options = {}
    options.crds = default.crds("workwindow")
    table.show(options.crds)
    log(options.crds[1])

Вывод в лог просто не может оставить равнодушным. Полная солянка из значений, имен переменных.
При этом:
options.crds[1] = options.crds[1] + 1
выбьет ошибку, что производятся арифметические действия со стрингом
options.crds[1] = tonumber(options.crds[1]) + 1
сообщит, что арифметические действия производятся с nil. Видимо tonumber() так же в options.crds[1] видит не значение, а имя переменной и соответственно возвращает nil.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 4.10.2017, 15:41
Сообщение #173


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26745
Пользователь №: 16.971
Возраст: 29



А ничего что первый символ # (IMG:style_emoticons/default/smile.gif)
Код
--lua
get ("windowpos ".. workwindow .. " #x #y #w #h")
x, y, w, h = "#x", "#y", "#w", "#h"
log (x.byte(), y.byte())
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 4.10.2017, 19:27
Сообщение #174


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



Цитата
А ничего что первый символ # smile.gif

Так а что он там делает?


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 5.10.2017, 2:10
Сообщение #175


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26745
Пользователь №: 16.971
Возраст: 29



Цитата
Так а что он там делает?

Не происходит присваивания значения переменной, присваивается имя.
Код
x = "#x"

Т. е. x - это строка, содержащая #x (по сути текст), а не значение #x. Поэтому не возможны арифметические операции, перевод в число через tonumber. Оттуда же и nil, т. к. #x нельзя перевести в число.
Каким образом лог выводит число не совсем понятно.

код
Код
--lua
function print(val)
    log(val)
end

function g (v)
    if v == nil then v = 0 end
    return 100 + v
end

do
    local default = {}
    default.crds = function (b) print(b) return g(b) end
    function f (b)
        return default["crds"](b)      -- вместо default.crds(b) тогда работает
    end
end
print(f(3))
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 5.10.2017, 9:18
Сообщение #176


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



cirus, сделай чудо? writemem бы заставить работать. Я уже какими окольными не придумывал - не выходит...

getimage возвращает размер и lenght. Что есть lenght? Сначала думал размер в байтах. Оказалось, что lenght всегда равен или больше длина * 3. При этом больше не более чем на 3 байта. Это выравнивание или что?


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 5.10.2017, 11:56
Сообщение #177


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26745
Пользователь №: 16.971
Возраст: 29



Цитата
writemem бы заставить работать.

Пробовал уже, не получилось.
Цитата
getimage возвращает размер и lenght. Что есть lenght? Сначала думал размер в байтах. Оказалось, что lenght всегда равен или больше длина * 3. При этом больше не более чем на 3 байта. Это выравнивание или что?

Да, это длина строки в байтах с выравниваем.
Код
length = width * 3 + width % 4
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 6.10.2017, 10:07
Сообщение #178


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



Цитата
И что это ?

пс : инглиш продвинутого уровня )

Получил точно тот же еррор когда попытался подсунуть LuaJIT, а так же когда потом криво переименовывал.
В дллках точно уверен?


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 6.10.2017, 11:27
Сообщение #179


********

Master
Сообщений: 1.395
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 21064
Пользователь №: 16.156



В каких именно ? Самого луа ? Качал с сайта кнайта. Не работает. Собирал сам. Не работает. Длл плагина не причем, т.к. скрипт не может запуститься из-за краша.

На вин 10 работает. На 7 ни в какую. Обе х64. Оба админы.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 7.10.2017, 2:27
Сообщение #180


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



Цитата
Длл плагина не причем, т.к. скрипт не может запуститься из-за краша.

Там не скрипт не запускается, а машина. При кривой длл получаешь точно ту же ошибку.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

11 страниц V « < 7 8 9 10 11 >
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 27.4.2024, 15:07
Designed by Nickostyle