Error while creating lua virtual machine uopilot как исправить

Error while creating lua virtual machine uopilot ошибка Пожертвовать на дальнейшее развитие: Рубли: R849464451336Гривны: U145931779718Доллары: Z353114408274 410011422550405 Вынес на форму настроек окошко для задания размера файла логов. Добавил переменные, в которых содержится путь к текущему скрипту ‘scriptPath’ и имя скпирта ‘scriptName’. Добавил почти все переменные Ultima Online в Lua. Указывать со скобками, как функции. […]

Содержание

  1. Error while creating lua virtual machine uopilot ошибка
  2. Error while creating lua virtual machine uopilot ошибка
  3. Error while creating lua virtual machine uopilot ошибка

Error while creating lua virtual machine uopilot ошибка

Пожертвовать на дальнейшее развитие:

Рубли: R849464451336
Гривны: U145931779718
Доллары: Z353114408274

410011422550405

Вынес на форму настроек окошко для задания размера файла логов.

Добавил переменные, в которых содержится путь к текущему скрипту ‘scriptPath’ и имя скпирта ‘scriptName’.

Добавил почти все переменные Ultima Online в Lua. Указывать со скобками, как функции.

build 1
Добавил длл «lua5.1.dll» в ресурсы пилота. При запуске пилота проверяется ее наличие в папке, и если ее нет, то распаковываем.
В клики мышкой добавил параметр «nooffset», который позволяет игнорировать смещение, указанное в переменных «clickoffsetxy». ‘kleft 100 100 nooffset’

build 2
Исправил вывод сообщения об ошибке при форматировании скрипта, если пилот располагался поверх всех окон.
Исправил тип поиска 2 в ‘findimage’, сломанный пару билдов назад.

build 3
Исправил клики мышкой с модификаторами.

Надеюсь колесики не отвалились.

Error while creating Lua virtual mashine. При запуске любого скрипта.

Скачал lua5.1.dll положил в папку пилота. Что не так?

build 4
Исправил работу команды ‘set windowpos’, если не указан хендл рабочего окна.

На новой версии при запуске любого скрипта появляется ошибка:
«Error while creating lua virtual machine»
Длл и для 5.1 и просто луа.длл в папке есть(я даже в систем32 их скопировал.)

Так же перестал работать поиск картинки почему-то.
Запускаю один и тот же скрипт на 238 версии и на 240, 38-я всё находит, 40-я пишет что картинка не найдена.(потыкался с разными параметрами и картинками, вообще ни при каких условиях не ищет. Причём функция ошибок не возвращает — просто 0, тоесть картинок не найдено.

Винда 7-я pro со всеми обновлениями.

Вот код скрипта на котором я тестил если вдруг поможет:

В новой версии продолжает появляться ошибка с луа. Однако поиск по картинке у меня начал работать нормально.

Независимо от привязки к окнам и задаю ли я координаты через переменные или прямо в функцию их числами записываю.

При этом на версии 2.38 все работает штатно. (винда стоит седьмая, если что )

Пилот по прежнему косячит .ini ну или может что то еще сами судите..

Так вот.. в процессе разработки я периодически добавлял и убирал листы. Закрываю на крестик, автосейв при закрытии включен. Перезапускаю пилот — всё на своих местах, как должно быть. Привязываю окна к л2 запускую, и всё ок — играю. жму хоткеи для запуска скрипта 3, 4 и 6 и тут, на тебе ошибка в лог,
один хоткей не может быть назначен двум скриптам одновременно . Смотрю скрипт 3 теперь не БД, а свс, жму открыть выбираю скрипт бд для 3 листа, всё опять на местах. Запуск — всё ок. проходит время, БАЦ! свс творит что-то не то, теперь лист 4 с свс внезапно стал c ЕЕ скриптом. Опять жму открыть — выбираю нужный скипт опять всё ок и работает как надо.
Проходит время и опять эта мешанина происходит с одним из листов 3,4 или 6, прям на ходу, ужасно бесит..

Удалить .ini и по новой настроить помогает.
Но стоит мне что-нибудь переделать приходится удалять .ini и настраивать по новой.
Надеюсь в новой версии проблему удастся устранить

Выкладываю архив с пилотом в котором этот баг регулярно выстреливает.
ТЫК!

Кстати мой скрипт весьма крут и думаю будет востребован в мире л2, только там есть ошибка которую я не могу найти. Иногда.. оч редко.. хиллер промахивается по таргету и хилит не того. Если кто поймет в чём дело можно будет выложить в готовые скипты, а я буду благодарен.

А теперь немного вкусностей из ночной кухни
Вышла новая ночная сборка хоть и из нестабильной ветки, но весьма достойная внимания.

Теперь мы полностью избавились от проклятого Crystal Lua с его багами и фантазиями разработчика.
В связи с чем полноценно заработал require.Теперь не будет проблем с подключением сторонних плагинов и расширений.
Так же мы перешли с чистого Lua, на LuaJIT. Что это такое и чем нам грозит? Переписывать скрипты не придется. Они полностью совместимы. Разница в динамической компиляции, благодаря которой LuaJIT показывает очень существенный прирост в производительности.

Так же несколько приятных плюшек:
Wknight сделал нажатие по коду клавиши в командах ‘send*’ и ‘sendex*’. Коды указывается в качестве параметров в фигурных скобках. При указании нескольких клавиш, пробелы между скобками обязательны. «send <49><112>«

В старом синтаксисе исправлен ‘return’ в ‘for’ и ‘repeat’ из двойного ‘gosub’.

Поскольку работа кипит и сборка из нестабильной ветки есть и некоторые огрехи:
переменные пилота в луа пока не передаются.

Это конечно все здорово, но зачем новые фичи идут и в старый синтаксис ? Можно развернутый ответ ? Очень озадачен.

Скрипт даже не желает запускаться. Без ошибок. 0 реакции.

Расширил до 16к строку параметров передаваемую в команду ‘prompt’.

Исправил открытие формы параметров персонажа за пределами экрана, при наличии нескольких мониторов.

Сделал автоматическое определение ширины окна команды ‘prompt’.

Заменил «Lua 5.1» на «LuaJIT 2.0.5». Убрал сторонний компонент для связи с луа.

Сделал нажатие по коду клавиши в командах ‘send*’ и ‘sendex*’. Коды указывается в качестве параметров в фигурных скобках. При указании нескольких клавиш, пробелы между скобками обязательны. «send <49><112>«.

Исправил ‘return’ в ‘for’ и ‘repeat’ из двойного ‘gosub’.

Добавил вывод ошибки запуска скрипта Lua и несколько строк кода вокруг указанной.

Все переменные пилота, которые были доступны из Lua (17 штук), в Lua теперь функции. Те, которые доступны для изменения (9 штук), в качестве параметра принимают новое значение, возвращают старое (включая ‘workwindow()’).

Починил галочку «Отображать оставшееся время ожидания».

При приостановке скрипта, текущая команда типа ‘wait’ прерывается.

Во время задержек в скрипте, таймер на панели параметров персонажа продолжает обновляться.

Добавил еще несколько параметров в команду ‘hint (fontSize fontColor posX posY width height backColor fontStyle fontName (any text))’. Где
‘backColor’ — цвет фона;
‘fontStyle’ — «n» — normal, или комбинация следующих: «b» = bold, «i» = italic, «u» = underline, «s» = strikeout;
‘fontName’ — имя шрифта установленного в системе.

Добавил в меню по ПКМ того, чего там небыло.

Возвращаемое значение функции ‘color’ изменено на целочисленное.

Возвращаемое значение функции ‘readmem’ зависит от типа читаемого значения.

Исправил сломанные команды прокрутки колеса мыши.

Источник

Error while creating lua virtual machine uopilot ошибка

set linedelay 0
showwindow workwindow

set %coords [1 1] 819
set %coords [1 2] 1233
set %coords [2 1] 963
set %coords [2 2] 1275
set %coords [3 1] 1387
set %coords [3 2] 1279

while 1 = 1
call is_waiting_input %coords
if $is_waiting_input = 1
call loop_once
if $loop_once = 1
wait 250
else
wait 400
end_if
end_if
end_while

proc loop_once
set $result 1
call is_waiting_1_w
if $is_waiting_1_w = 0
call is_waiting_2_q
if $is_waiting_2_q = 0
call is_waiting_3_d
if $is_waiting_3_d = 0
call is_waiting_4_a
if $is_waiting_4_a = 0
call is_waiting_5_s
if $is_waiting_5_s = 0
call is_waiting_6_x
if $is_waiting_6_x = 0
call is_waiting_7_z
if $is_waiting_7_z = 0
call is_waiting_8_e
if $is_waiting_8_e = 0
call is_waiting_9_c
if $is_waiting_9_c = 9
set $result 0
end_if
end_if
end_if
end_if
end_if
end_if
end_if
end_if
end_if
end_proc

proc is_waiting_input %coords

set $result 1
set #i 1
while #i < 2
set #x %coords [#i 1]
set #y %coords [#i 2]

if_not #x, #y 16777215
set $result 0
break
end_if

set #i #i + 1
end_while
end_proc

proc is_waiting_1_w
if 2007, 1201 16777215
set $result 1
send217_down w
wait 150
send217_up w
else
set $result 0
end_if
end_proc

proc is_waiting_2_q
if 1980, 1234 16777215
set $result 1
send217_down q
wait 150
send217_up q
else
set $result 0
end_if
end_proc

proc is_waiting_3_d
if 1965, 1219 16777215
set $result 1
send217_down d
wait 150
send217_up d
else
set $result 0
end_if
end_proc

proc is_waiting_4_a
if 1977, 1300 16777215
set $result 1
send217_down a
wait 150
send217_up a
else
set $result 0
end_if
end_proc

proc is_waiting_5_s
if 1950, 1254 16777215
set $result 1
send217_down s
wait 150
send217_up s
else
set $result 0
end_if
end_proc

proc is_waiting_6_x
if 1926, 1260 16777215
set $result 1
send217_down x
wait 150
send217_up x
else
set $result 0
end_if
end_proc

proc is_waiting_7_z
if 1923, 1209 16777215
set $result 1
send217_down z
wait 150
send217_up z
else
set $result 0
end_if
end_proc

proc is_waiting_8_e
if 1915, 1236 16777215
set $result 1
send217_down e
wait 150
send217_up e
else
set $result 0
end_if
end_proc

proc is_waiting_9_c
if 1911, 1179 16777215
set $result 1
send217_down c
wait 150
send217_up c
else
set $result 0
end_if
end_proc

И да, еще одна проблема — пришлось отказаться от пилота и написать на Шарпах.

Это код для рыбалки для АРКи под мое разрешение. Рыбу 2.1 он еле вытягивает. В зависимости от тех клавиш, которые надо нажимать. Если попадаются последние, то — жопа. Написал свой из 21 секунды которая дается — осталось 10. То есть с режимом linedelay 0 — пилот нереально медленный. Слежение отпускал.

Тут просто нечему работать 21 секунду кроме непосредственных вэйтов. На чем время убивалось? linedelay через set прописывал? Логгирование было выключено?

Есть некоторые вопросы по поводу if x y color, т.к. он ждет синхронизации кадра и при низком фпс это может негативно сказываться на производительности. Чтобы этого избежать можно использовать findcolor.

// Если бы написал на Lua, который теперь встроен в пилот, то время выполнения непосредственно интерпретации было бы погрешностью и занимало бы значительно меньше секнуды.

Я вот зашел на сайт по пилоту и как-то там не нашел что теперь тут можно на луа писать. Возможно проблема в этом ))

PS как быстро вытаскивать изображение? У меня пока такой код (самый медленный, как я понял):

GetDIBBits(). В шарпах это по другому именуется.

Это если снимается окно «сверху», забыл добавить. PrintWindow() если перекрыто.

Источник

Error while creating lua virtual machine uopilot ошибка

Neophyte
Сообщений: 19
Регистрация: 22.10.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.088
Возраст: 23

Привет всем! Во-первых, я хотел извиниться за ошибки, я использую переводчика для общения на вашем языке, надеюсь, вы понимаете! Ну, я новичок в кодах, так или иначе, я прочитал несколько тем, но я до сих пор не понимаю его здесь.

Что это за 4 первых числа? И что это стоит $arr 1? не могли бы вы поговорить со мной на менее формальном языке?

то же самое я вижу в этом коде vvv

и тем, что есть еще те координаты $ arr (1 1) $ arr (1 2), которые я также не понимаю

и, например, у меня есть 2 отпечатка жизни и мана-бар моего персонажа, как исцелить его магией / зельем и использовать что-то, чтобы восстановить ману? все это с использованием x%, не так ли?

Neophyte
Сообщений: 19
Регистрация: 22.10.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.088
Возраст: 23

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

Be careful. If you type «» before path its mean disk root. Example:
You have uopilot in folder d:Uopilot
If you type path:
«MyFolder»
Its:
d:UopilotMyFolder
But if you type path:
«MyFolder»
its:
d:MyFolder

%arr its array for save result.

1 — its type of search
Types:
1 — slow (dont use that if you other type work fine)
2 — fast (i know only one program where it dont work — ultima online)
handle — it handle of window, usually its «workwindow». That method can get image from covered (not minimized) window. Work not always, some time you need use handle of parent window for it can be work.

Neophyte
Сообщений: 19
Регистрация: 22.10.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.088
Возраст: 23

Can you write on english? It can be some more easy.
1033, 25, 1360, 768 — its area for find. Coordinates in pixels.
startX startY endX endY

Be careful. If you type «» before path its mean disk root. Example:
You have uopilot in folder d:Uopilot
If you type path:
«MyFolder»
Its:
d:UopilotMyFolder
But if you type path:
«MyFolder»
its:
d:MyFolder

%arr its array for save result.

1 — its type of search
Types:
1 — slow (dont use that if you other type work fine)
2 — fast (i know only one program where it dont work — ultima online)
handle — it handle of window, usually its «workwindow». That method can get image from covered (not minimized) window. Work not always, some time you need use handle of parent window for it can be work.
Just download new stable night version
http://uopilot.uokit.com/dlnight.php
Its error. not (), but []
Its indexes of array.
%arr[1 1] — first image X
%arr[1 2] — first image Y
%arr[2 1] — second image X
%arr[2 2] — second image Y
.

and how do I find startX startY endX endY? I tried to make the markup, but the mouse will go the opposite direction.

I put an original battle image in the c: image target. And seeing the 2 markings on the minimap? I wanted him to look for the photo of these markings and click with the left button and go looking for the others (it’s 20, I have the photos)

Эскизы прикрепленных изображений

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

You need activate uopilot window, after that move mouse to start position (up and left) and press ctrl+a. You need dont change focus from uopilot in that moment. After that you can see crds in uopilot interface. It have two pairs x and y coordinates. Left its crds from left and up angle of window (use that like startX and startY) and right from left and up angle of _screen_. For use screen coordinates uopilot have «abs» flag in some functions. Repeat that action for right and down angle (endX and endY).

Neophyte
Сообщений: 19
Регистрация: 22.10.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.088
Возраст: 23

I still can not solve this mystery hahah, I do not think I’m explaining myself right or I can not do it.
Do you know what is the photo I sent? so there is no upper right corner is the game map, and I wanted to make my name walk and clicks on these marks, there are 18 more markings and they are present in my state mark, that is, They change position where I want my character walk. So I saved the 20 possible markings in a part (c: image wp1.bmp) and I want to make a code that searches those markings and clicks on the map, so that my character would walk through them

I tried to do what you told me, the script runs, but it does not perform any function
Sorry to be boring, I’m new to all this.

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

You need some more wait in function, it must be individual for each image.

When you press on minimap charters start run?
Try to emulate click without finds.
left x, y
or
kleft x, y
Its work?

Источник

5 методов решения ошибок LUA в World of Warcraft

Многие игроки World of Warcraft жалуются на появление ошибок LUA при запуске игры. В сообщении таких ошибок обычно указывается, что некоторые из аддонов работают не совсем корректно. Ошибки не препятствуют игровому процессу, однако их постоянное появление в чат-боксе может изрядно раздражать. Windows 7, 8 и 10 — от этих ошибок страдают пользователи всех современных версий ОС Майкрософт.

Что такое LUA?

Прежде чем мы двинемся дальше, важно понять, что такое LUA и с чем его едят.

LUA — это скриптовый язык программирования, который привносит модулярность в самые разные приложения посредством эмбеддинга. LUA — излюбленный язык моддерского сообщества WoW, а все потому, что он относительно прост в освоении и с его помощью можно разрабатывать действительно впечатляющие модификации.

Ознакомившись с проблемой поближе, мы пришли к выводу, что LUA-ошибки в World of Warcraft могут возникать по следующему ряду причин:

Решить Не удалось создать виртуальную машину Java | Fix Java Virtual Machine Launcher Error

  • Глитч/баг в работе аддона/файла интерфейса. Зачастую ошибки LUA возникают в результате некорректно работающих аддонов или файлов, относящихся к игровому интерфейсу WoW. Происходит это из-за «кривого» или неактуального кода модификаций. Начиная от перезагрузки интерфейса и заканчивая обновлением версии мода — решения самые разные.
  • «Битые» файлы аддон-менеджера. Если элементарная перезагрузка файлов не помогла, то можно попробовать осуществить полный сброс интерфейса WoW.
  • Остаточные переменные кастомной консоли. LUA-ошибку можно ожидать в том случае, если игрок запускает WoW с переменными кастомной консоли, относящимися с аддону, который давно был удален. Чтобы разрешить ситуацию, достаточно избавиться от этих переменных.
  • В WoW установлены устаревшие или более не поддерживаемые аддоны. Тут все довольно просто: в актуальной версии WoW установлены модификации, которые давно не обновлялись своими разработчиками или которые более не поддерживаются текущей версией игры. Либо обновляем аддоны, либо полностью удаляем их.

Как исправить LUA-ошибку в World of Warcraft

Метод №1 Перезагрузка игрового интерфейса WoW

Если ошибка возникла в результате бага или ситуации, когда не все аддоны загрузились вместе с WoW, вы должны легко избавиться от нее, выполнив перезагрузку интерфейса посредством консольной команды. Впрочем, стоит сразу предупредить, что ошибка практически наверняка является симптомом какой-то иной проблемы, например, устаревшего аддона, который отказывается нормально работать с текущей сборкой WoW.

Итак, чтобы перезагрузить интерфейс WoW, вам нужно просто открыть игровой чат (чат-бокс) и выполнить в нем следующую команду:

/reload

Заметка: этот метод не работает на самых последних версиях WoW, однако он должен сработать на «ванильной» версии.

Метод №2 Полный сброс интерфейса WoW и удаление аддон-менеджера

Если элементарная перезагрузка интерфейса не устранила ошибку LUA, то мы рекомендуем заняться полным сбросом интерфейса WoW, чтобы избавиться от всего ненужного кода, который мог остаться в вашей игре от ранее удаленного аддона или аддон-менеджера.

Крашится Майнкрафт Что делать и как исправить (2022) + баг Could not create the java virtual machine

Также очень важно избавиться от используемого вами в данный момент (!) аддон-менеджера и файлов аддонов, расположенных в трех основных папках WoW.

  • Полностью закройте WoW и ее лаунчер (обязательно проверьте, не осталось ли процессов игры в диспетчере задач);
  • нажмите Win+R и выполните appwiz.cpl;
  • найдите в списке установленных программ аддон-менеджер WoW;
  • кликните ПКМ на менеджер и выберите «Удалить»;
  • выполняйте все инструкции перед вами, чтобы избавиться от аддон-менеджера;
  • перезагрузите компьютер;
  • перейдите в корневую папку World of Warcraft;
  • переименуйте следующие три папки:
  • Cache→Cache.Damaged
  • Interface→Interface.Damaged
  • WTF→WTF.Damaged

Проверьте, перестала ли появляться ошибка LUA или нет.

Метод №3 Сброс переменных кастомной консоли

Перезагрузка/сброс основного интерфейса не произвел желаемого эффекта? Тогда вы должны попробовать осуществить сброс всех переменных кастомной консоли WoW. Подобная процедура сработает только в том случае, если вы ранее устанавливали и играли с аддонами, которые имели параметры, потенциально входящие друг с другом в конфликт.

Вот как производиться сброс переменных консоли WoW:

  • запустите WoW и откройте чат-бокс, когда это будет возможно;
  • выполните в чат-боксе следующие команды:
  • /console Cvar_reset
  • /console cvar_defaut

Заметка: игнорируйте любые ошибки о правах после ввода этих команд — все нормально.

Метод №4 Удаление аддона Cartographer (или любого другого устаревшего аддона)

Оказывается, LUA-ошибки можно получить в том случае, если вы запускаете WoW с устаревшими аддонами, которые больше не могут работать с текущей версией игры. Вам необходимо избавиться от всех устаревших аддонов, после чего снова зайти в игру и проверить, была ли решена проблема. Сразу хочется отметить, что каждый аддон удаляется по разному, а поэтому мы не сможем помочь вам с процессом деинсталляции. Интересный факт: зачастую ошибки LUA возникают из-за аддона Cartographer.

Метод №5 Отключение сообщений ошибок LUA

Если у вас не получается избавиться от надоедливых LUA-ошибок (или вы не можете определить причину их появления), то мы рекомендуем не заморачиваться и попросту отключить сообщения о них. Делается это следующим образом:

  • запустите WoW и откройте чат-бокс, когда появится такая возможность;
  • пропишите в чат-боксе команду /console scriptErrors 0 и нажмите Enter;
  • перезапустите WoW.

После этого вы гарантировано перестанете видеть ошибки LUA. Выполните команду /console scriptErrors 1, чтобы снова активировать функцию отображения сообщений об ошибках.

Источник: gamesqa.ru

«Не удалось инициализировать виртуальную машину Lua с помощью Passenger в Docker.

Я пытаюсь настроить среду разработки, использующую докер, но образ пассажирского докера снова и снова выдает мне эту ошибку.

[1] development-passenger-1 | 2022/04/28 10:17:53 [error] 148#148: failed to initialize Lua VM in /etc/nginx/nginx.conf:66 [1] development-passenger-1 | 2022/04/28 10:17:56 [error] 159#159: failed to initialize Lua VM in /etc/nginx/nginx.conf:66

Я использую Mac M1, и я новичок во всем этом Mac, поэтому не уверен, что не так. Наша установка работала без проблем на Linux, Windows и старых компьютерах Mac. Хотя я рад изменить свою настройку из ветки Master только для того, чтобы это заработало, но в идеале это должно работать на всех платформах.

Рабочий стол Docker выдает мне !amd64 предупреждение о пассажирском контейнере.

Я установил OpenResty и Rosetta, поменял платформы на пассажирские и вообще все, что смог найти. Лучшее, что я мог сделать, это избавиться от !amd64 предупреждения, но не от ошибки Lua VM.

При необходимости я могу приложить более подробную информацию, например, части нашей конфигурации docker-compose или пассажира, но я не думаю, что на данном этапе они будут слишком полезны.

Источник: www.stackfinder.ru

Если UOpilot не подхватывает окно

KainCq3 никому не известный тип

На некоторых ПК UOpilot не подхватывает клиент игры. Выявить закономерность почему такое происходит — не удалось. Например у меня из 5 ПК на 2ух не запускается. Причем компы абсолютно одинаковы по железу, ОС, софту. Вылечить Пилот нам поможет Касперский, или любой другой Антивирус с ф-ей Контроля программ. Итак, что же надо делать:

1 . Обязательно проверьте что вы запускаете пилот от администратора =) Иногда сам тупил и пытался без галки запускать ^^
2 . Устанавливить Kaspersky Internet Security 2012. На первый месяц сойдет и триал, дальше придется искать ключи, благо в инете их полно
3 . Заходим в Контроль программ и обязательно перемещаем UOpilot в доверенные. ( скрин

[ Ссылки могут видеть только зарегистрированные пользователи. ]
)
4 . launcher перемещаем в сильные ограничения ( скрин
[ Ссылки могут видеть только зарегистрированные пользователи. ]

)
5 . Этого должно хватить и Пилот будет подхватывать окна. Если пилот и после этого отказывается привязываться к окнам, то пробуйте последовательно перемещать в ограничения различные процессы фроста.

Все вышеописанное проверено на личном опыте. (Win 7, x64)

Источник: zhyk.org

Error while creating lua virtual machine uopilot ошибка

Registred
Сообщений: 3
Регистрация: 7.10.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.637

Ошибка при старте скрипта выскакивает сообщением. Как можно решить проблему создания этой VM?
11.10.2017, 10:40

Registred
Сообщений: 3
Регистрация: 7.10.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.637

Вроде, проблема решена. Стояла 2.39 night версия, скачал просто 2.39 — проблема исчезла сама собой.
11.10.2017, 12:38

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

Ошибка при старте скрипта выскакивает сообщением. Как можно решить проблему создания этой VM?

Дллку ему луа нужно — лежит рядом на сайте.
Скрипты под заказ.
Консультации по UOpilot 15$/час.
Disсоrd Kov#9948
13.11.2017, 18:31

Дллку ему луа нужно — лежит рядом на сайте.

файл Луа.длл ? а куда его закинуть? у меня такая же ошибка на версии 2.40.
13.11.2017, 21:12

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

рядом с exe пилота
Скрипты под заказ.
Консультации по UOpilot 15$/час.
Disсоrd Kov#9948
14.11.2017, 2:00

Почему бы вообще не добавить эту длл в экзешник? При запуске пилота проверять наличие длл в папке, если нет распаковать.
Или хоть напишите что длл обязательно нужна, в теме с новой версией и у Кнайта на странице.
Не то скоро это будет самый часто задаваемый вопрос.

14.11.2017, 14:07

Разработчик UO Pilot’а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Модераторы
Наличность: 1033
Пользователь №: 4.688

6.6.2018, 15:15
Не фиксед. Переодически появляется минуты через 3 работы скрипта.
v2.40d b010
6.6.2018, 20:06

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

Не фиксед. Переодически появляется минуты через 3 работы скрипта.
v2.40d b010

Нестабильную ночную сборку качал?
Код скрипта? У меня есть скрипт который работает 24/7, подобного поведения не замечено.

Скрипты под заказ.
Консультации по UOpilot 15$/час.
Disсоrd Kov#9948
7.6.2018, 11:15
На стабильной не работало что-то. Кажется кнопки или он тупо выбивал ошибку не помню.
Исходный код

set linedelay 0
showwindow workwindow

set %coords [1 1] 819
set %coords [1 2] 1233
set %coords [2 1] 963
set %coords [2 2] 1275
set %coords [3 1] 1387
set %coords [3 2] 1279

while 1 = 1
call is_waiting_input %coords
if $is_waiting_input = 1
call loop_once
if $loop_once = 1
wait 250
else
wait 400
end_if
end_if
end_while

proc loop_once
set $result 1
call is_waiting_1_w
if $is_waiting_1_w = 0
call is_waiting_2_q
if $is_waiting_2_q = 0
call is_waiting_3_d
if $is_waiting_3_d = 0
call is_waiting_4_a
if $is_waiting_4_a = 0
call is_waiting_5_s
if $is_waiting_5_s = 0
call is_waiting_6_x
if $is_waiting_6_x = 0
call is_waiting_7_z
if $is_waiting_7_z = 0
call is_waiting_8_e
if $is_waiting_8_e = 0
call is_waiting_9_c
if $is_waiting_9_c = 9
set $result 0
end_if
end_if
end_if
end_if
end_if
end_if
end_if
end_if
end_if
end_proc

proc is_waiting_input %coords

set $result 1
set #i 1
while #i < 2
set #x %coords [#i 1]
set #y %coords [#i 2]

if_not #x, #y 16777215
set $result 0
break
end_if

set #i #i + 1
end_while
end_proc

proc is_waiting_1_w
if 2007, 1201 16777215
set $result 1
send217_down w
wait 150
send217_up w
else
set $result 0
end_if
end_proc

proc is_waiting_2_q
if 1980, 1234 16777215
set $result 1
send217_down q
wait 150
send217_up q
else
set $result 0
end_if
end_proc

proc is_waiting_3_d
if 1965, 1219 16777215
set $result 1
send217_down d
wait 150
send217_up d
else
set $result 0
end_if
end_proc

proc is_waiting_4_a
if 1977, 1300 16777215
set $result 1
send217_down a
wait 150
send217_up a
else
set $result 0
end_if
end_proc

proc is_waiting_5_s
if 1950, 1254 16777215
set $result 1
send217_down s
wait 150
send217_up s
else
set $result 0
end_if
end_proc

proc is_waiting_6_x
if 1926, 1260 16777215
set $result 1
send217_down x
wait 150
send217_up x
else
set $result 0
end_if
end_proc

proc is_waiting_7_z
if 1923, 1209 16777215
set $result 1
send217_down z
wait 150
send217_up z
else
set $result 0
end_if
end_proc

proc is_waiting_8_e
if 1915, 1236 16777215
set $result 1
send217_down e
wait 150
send217_up e
else
set $result 0
end_if
end_proc

proc is_waiting_9_c
if 1911, 1179 16777215
set $result 1
send217_down c
wait 150
send217_up c
else
set $result 0
end_if
end_proc

И да, еще одна проблема — пришлось отказаться от пилота и написать на Шарпах.

Это код для рыбалки для АРКи под мое разрешение. Рыбу 2.1 он еле вытягивает. В зависимости от тех клавиш, которые надо нажимать. Если попадаются последние, то — жопа. Написал свой из 21 секунды которая дается — осталось 10.

То есть с режимом linedelay 0 — пилот нереально медленный. Слежение отпускал.

7.6.2018, 15:42

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

Тут просто нечему работать 21 секунду кроме непосредственных вэйтов. На чем время убивалось? linedelay через set прописывал? Логгирование было выключено?

Есть некоторые вопросы по поводу if x y color, т.к. он ждет синхронизации кадра и при низком фпс это может негативно сказываться на производительности. Чтобы этого избежать можно использовать findcolor.

// Если бы написал на Lua, который теперь встроен в пилот, то время выполнения непосредственно интерпретации было бы погрешностью и занимало бы значительно меньше секнуды.

Скрипты под заказ.
Консультации по UOpilot 15$/час.
Disсоrd Kov#9948
8.6.2018, 14:12

Тут просто нечему работать 21 секунду кроме непосредственных вэйтов. На чем время убивалось? linedelay через set прописывал? Логгирование было выключено?

Первая строчка-же.

Есть некоторые вопросы по поводу if x y color, т.к. он ждет синхронизации кадра и при низком фпс это может негативно сказываться на производительности. Чтобы этого избежать можно использовать findcolor.

Там есть лесенка из if’ов (OCR на коленке) вот она работает долго. То есть визуально видно что первая буква отрабатывает сильно быстрее. В своей проге я на этапе поиска надписи делаю постоянно скриншоты, а потом уже расшифровку надписи делаю на снятом изображении.

// Если бы написал на Lua, который теперь встроен в пилот, то время выполнения непосредственно интерпретации было бы погрешностью и занимало бы значительно меньше секнуды.

Я вот зашел на сайт по пилоту и как-то там не нашел что теперь тут можно на луа писать. Возможно проблема в этом ))

PS как быстро вытаскивать изображение? У меня пока такой код (самый медленный, как я понял):

private static void GetImage(IntPtr hwnd) Graphics memoryGraphics = Graphics.FromImage(bmp);
IntPtr dc = memoryGraphics.GetHdc();
PrintWindow(hwnd, dc, 0);
memoryGraphics.ReleaseHdc(dc);
>

Источник: forum.uokit.com

Отзывы

Иконка UoPilot

Гость

17.03.2019, 00:56

+

0

-

3

хрень

Недостатки

вы чо, я поставил макрос на бесконечный повтор, а кнопки остановки нет, да как так, я поставил макрос на повтор 5 раз и понял что криво записал а остановить не возможно

Итоги и комментарии

если вдруг окажется что у программы есть такие кнопок, все равно минус потому что я их искал и не нашел

Мойша

06.09.2018, 21:00

+

3

-

0

Глючная версия

Достоинства

Лучшая из прог-автокликеров. Точно не для нубов и ламеров хомячков, заполонивших интернеты.

Недостатки

При запуске любых, даже рабочих и проверенных скриптов вылезает error while creating lua virtual machineОтсутствуют необходимые dll. Скачал UOPilot b013. При запуске библиотеки установились в корень директории с прогой. Нет проблем ))

15.02.2016, 12:50

+

1

-

0

Смотреть отзыв отдельно

Достоинства

— Полноценный скриптовый язык.
— Цветовая индикация в редакторе скрипта.
— Можно написать бот к игре или автоматизировать рутинную работу.
— Горячие клавиши.
— Программа бесплатная и с русским меню. Установка не нужна.

Недостатки

— Примитивный интерфейс. Вдобавок, еще и не интуитивное. Управление неудобное.
— Сложное освоение. Нужно реально изучать язык написания скриптов. Новичку придется достаточно потрудиться и почитать, чтобы начать использовать эту программу.
— Единственная помощь при написании скрипта – ввод команд из контекстного меню. Ни о каком перетаскивании и визуальном программировании речи не идет.
— Записать макрос у меня так и не получилось. Программа просто висла. Возможно, дело просто в том, что я не смог разобраться в программе полностью.
— Кликер давно не обновлялся

Итоги и комментарии

UoPilot – автокликер. Судя по встроенным переменным, основное его назначение – писать скрипты для совершения однотипных действий и прокачки персонажей в играх.
Возможно, для кого-то такой кликер станет открытием. И этот кто-то не пожалеет времени, чтобы продраться через убогий интерфейс. И чтобы изучить скриптовый язык.
Я встречал кликеры намного лучше и проще. А макрос у меня просто не получилось записать. Пожалуй, короткого времени знакомства мне хватит и UoPilot отправится в корзину.
Рекомендовать не буду.

Добавить новый отзыв

Ваше имя:

Регистрация?

Достоинства:











Недостатки:











Итоги и комментарии:











Подробные оценки:

:
Удобство использования

:
Стабильность работы

:
Установка

:
Внешний вид

:
Функциональность

+ Фото

Captcha

Текст с картинки:

Отправить

  • краткие и малоинформативные отзывы;
  • написанные ПРОПИСНЫМИ буквами;
  • содержащие ненормативную лексику, оскорбления в любой форме;
  • не относящиеся к объекту отзыва;
  • «мотивированные» отзывы от авторов и пользователей;
  • содержащие ссылки на другие сайты, если это не Wikipedia;

Некоторые пользователи сталкиваются с ошибкой «Не удалось создать виртуальную машину Java» при попытке запустить приложение, использующее Java. Сообщается, что эта конкретная проблема возникает с Minecraft и несколькими другими приложениями, построенными на Java.

Не удалось создать виртуальную машину Java.  Ошибка. Произошло фатальное исключение.  Программа будет закрыта.

Что вызывает ошибку «Не удалось создать виртуальную машину Java»?

Мы исследовали эту конкретную проблему, изучив различные отчеты пользователей и стратегии устранения неполадок, которые они использовали для устранения одного и того же сообщения об ошибке. Основываясь на их выводах, существует несколько сценариев, которые могут вызвать данную проблему:

  • Java вызывается из-за неправильных аргументов или опций. Это может произойти, если вы запускаете самодельное приложение или пытаетесь открыть приложение с открытым исходным кодом, которое, как известно, вызывает нестабильность системы.
  • Глобальный максимальный размер кучи Java недостаточно высок. Одна из наиболее частых причин, по которой вы можете столкнуться с этой конкретной ошибкой, — это попытка запустить приложение Java с максимальным размером памяти кучи, превышающим тот, который задан как системная переменная .
  • Исполняемый файл Java и / или приложение требуют прав администратора — это может происходить с приложениями, которым для правильной работы требуется доступ администратора.

Если вы в настоящее время ищете способ устранить ошибку « Не удалось создать виртуальную машину Java» , эта статья предоставит вам несколько проверенных стратегий устранения неполадок. Ниже приведен набор методов, которые другие пользователи в аналогичной ситуации использовали для решения проблемы.

Чтобы обеспечить наилучшие результаты, следуйте приведенным ниже методам в том порядке, в котором они представлены, пока не найдете метод, эффективный для устранения ошибки для вашего конкретного сценария.

Метод 1: добавление _JAVA_OPTIONS в системные переменные

Наиболее затронутым пользователям удалось решить проблему, создав системную переменную для Java с именем _JAVA_OPTIONS и установив для нее значение Xmx512M . По сути, это устанавливает глобальный максимальный размер кучи для Java.

Это устранит любое сообщение об ошибке, возникающее из-за того, что максимальный размер кучи запущенного приложения Java больше, чем тот, который задан как системная переменная. Несколько пользователей, столкнувшихся с той же проблемой, сообщили, что проблема была полностью решена после того, как они выполнили указанные ниже действия.

Вот что вам нужно сделать, чтобы добавить запись _JAVA_OPTION S в системные переменные для увеличения глобального максимального размера кучи:

  1. Нажмите клавишу Windows + R, чтобы открыть диалоговое окно « Выполнить ». Затем введите « sysdm.cpl » и нажмите Enter, чтобы открыть экран « Свойства системы» .
  2. На экране « Свойства системы» перейдите на вкладку « Дополнительно » и нажмите « Переменные среды».
  3. В окне « Переменные среды» нажмите « Создать» (в разделе « Системные переменные» ).
  4. В окне « Новая системная переменная» установите для имени переменной значение _JAVA_OPTIONS и значение переменнойXmx512M и нажмите « ОК», чтобы сохранить изменения.
  5. Закройте ранее открытые окна и перезагрузите компьютер, чтобы изменения вступили в силу.
  6. При следующем запуске откройте приложение, которое ранее показывало ошибку « Не удалось создать виртуальную машину Java», и посмотрите, правильно ли работает.

Создание системной переменной с именем _JAVA_OPTIONS и присвоение ей значения Xmx512M

Если вы все еще видите то же сообщение об ошибке в начале приложения, попробуйте добавить путь Java Bin, который может быть похож на «% USER PATH Java jdk1.6.0_39 bin», к переменной среды, как указано в описанный выше метод и посмотрите, работает ли он.

Метод 2: открытие java.exe с правами администратора

Нескольким пользователям, пытающимся решить одну и ту же проблему, удалось решить проблему после принудительного открытия основного исполняемого файла Java (java.exe) с правами администратора.

Некоторые пользователи сообщили, что им удалось решить проблему после применения этого исправления как к основному исполняемому файлу Java, так и к исполняемому файлу приложения, в котором отображается сообщение об ошибке.

Вот краткое руководство по всему этому:

  1. Откройте проводник и перейдите к месту установки Java. Нам нужно будет добраться до места расположения основного исполняемого файла Java ( java.exe ). По умолчанию вы должны найти его в Program Files / Java / * JRE build version * / bin. Точное расположение будет отличаться в зависимости от того, какую среду выполнения Java вы используете.Перейдите к местоположению java.exe

    Примечание. Если вы установили Java в произвольном месте, перейдите в это место.

  2. Щелкните правой кнопкой мыши java.exe и выберите « Свойства» . Затем перейдите на вкладку « Совместимость » и установите флажок « Запускать эту программу от имени администратора» (в разделе «Настройки»). Нажмите Применить, чтобы сохранить изменения.перейдите на вкладку «Совместимость» и включите «Запускать эту программу от имени администратора».
  3. Щелкните правой кнопкой мыши исполняемый файл приложения (тот, который вызывает ошибку) и повторите ту же процедуру: Совместимость> Запустить эту программу от имени администратора> Применить .
  4. Запустите приложение и посмотрите, исчезнет ли сообщение об ошибке.

Метод 3: переустановка Java

В некоторых случаях ошибка возникает из-за того, что Java могла быть установлена ​​неправильно или ее установка могла быть повреждена с течением времени. Следовательно, на этом этапе мы переустановим Java после ее полного удаления. Для этого:

  1. Нажмите клавишу Windows + R, чтобы открыть окно «Выполнить», и введите «Appwiz.cpl».
  2. Нажмите «Enter», и откроется экран «Программы и компоненты».
  3. На экране « Программы и компоненты» прокрутите список установленных приложений, пока не найдете Java.
  4. Щелкните его правой кнопкой мыши и выберите «Удалить», чтобы полностью удалить его из системы.
  5. Сначала удалите основную установку Java, а позже вы также должны удалить все другие установки Java, такие как обновления и другие версии.
  6. После удаления всей установки перезагрузите компьютер.
  7. После загрузки перейдите по этой ссылке и загрузите последнюю версию JRE.
  8. Проверьте, сохраняется ли проблема.
  9. Если ошибка не исчезла, загрузите и установите последнюю версию JDK отсюда.

    Примечание. Если вы уже используете JDK, попробуйте изменить его версию или удалить JRE, установленную вместе с ним.

  10. Убедитесь, что проблема все еще существует.

Метод 4: исправление ошибок с помощью кода

У этой ошибки есть разные причины, и некоторые из них включают в себя определенные ошибки в вашем коде. Мы выделим некоторые из них ниже.

  • Удаление дефиса : некоторые пользователи отметили, что ошибка была исправлена ​​путем замены двойного дефиса «-» на одинарный «-» в их коде. Например:

    Измените код

    «Sony @ sony-VPCEH25EN: ~ $ java –версия

    Подобрал JAVA_TOOL_OPTIONS: -javaagent: /usr/share/java/jayatanaag.jar

    Нераспознанный вариант: –версия

    Ошибка: не удалось создать виртуальную машину Java.

    Ошибка: возникла фатальная исключительная ситуация. Программа будет закрыта.»

    Чтобы

    «Sony @ sony-VPCEH25EN: ~ $ java -version

    Подобрал JAVA_TOOL_OPTIONS: -javaagent: /usr/share/java/jayatanaag.jar

    Нераспознанный вариант: –версия

    Ошибка: не удалось создать виртуальную машину Java.

    Ошибка: возникла фатальная исключительная ситуация. Программа будет закрыта.»

  • Кроме того, попробуйте удалить следующую строку из своего аргумента

    -Djava.endorsed.dirs = «C: Program Files Apache Software Foundation Tomcat 8.5 endorsed»

  • Откройте файл eclipse.ini и убедитесь, что вы добавили запись «-vm» над аргументами vm, иначе JVM V6 будет выбран в переменных env.
  • Если вы используете Ubuntu, вы должны знать, что Java 8 — единственная поддерживаемая версия. Поэтому пользуемся третьим способом. Удалите Java и установите предыдущую версию.

Метод 5: редактирование файла Eclipse.ini

We can also tweak things inside the Eclipes.ini File to get rid of this issue. There might be a couple of issues with its configuration that need to be addressed therefore, we have divided it into separate issues. Follow the one which suits your scenario the best.

Lowering Memory Use

  1. Open the Eclipse.ini file inside the Eclipse folder with notepad.
  2. Find the line similar to “-Xmx256m” (It might be -Xmx1024m or -Xmx 512m).
  3. Now change the default value to a more reasonable figure depending upon the RAM installed on your computer and add the version number to it as well. For Example:
    -Xmx512m -Dosgi.requiredJavaVersion=1.6 OR -Xmx512m -Dosgi.requiredJavaVersion=1.7 OR -Xmx512m -Dosgi.requiredJavaVersion=1.8
  4. Also, try removing the “256m” value from the “-launcher.XXMaxPermSize” line.
  5. Check to see if the issue persists.

Tinkering Around

  1. Try to remove the following lines from your file.
    -vm P:Programsjdk1.6bin
  2. Also, change the following lines.
    set -Dosgi.requiredJavaVersion=1.5 TO set -Dosgi.requiredJavaVersion=1.6
  3. Also, try adding the following line above “-vmargs!” line.
    -vm C:Program Files (x86)Javajre6binjavaw.exe
  4. Also, point to JVM.dll using the following line.
    -vm C:Program FilesJavajre7binclientjvm.dll
  5. Open the Eclipse file and replace “-vmargs” with the path of javaw.exe. For Example:
    -startup plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813 -product com.android.ide.eclipse.adt.package.product --launcher.XXMaxPermSize 256M -showsplash com.android.ide.eclipse.adt.package.product --launcher.XXMaxPermSize 256m --launcher.defaultAction openFile **-vm “c:Program FilesJavajdk1.7.0_07binjavaw.exe”** -Dosgi.requiredJavaVersion=1.6 -Xms40m -Xmx768m -Declipse.buildId=v21.1.0-569685
  6. Also, you can place the following line at the end and check if that works.
    -vmargs -Xms40m -Xmx512m -XX:MaxPermSize=256m
  7. Furthermore, try removing the following lines from the eclipse.ini and check if that works.
    -XX:+UseStringDeduplication -XX:+UseG1GC
  8. Вы также можете попробовать удалить файл eclipse.ini, если проблема не устранена, поскольку, как сообщается, проблема была устранена для некоторых, но не забудьте сначала создать резервную копию на случай, если она вам понадобится. Кроме того, попробуйте закрыть все энергоемкие приложения перед запуском Java, чтобы убедиться в доступности необходимых ресурсов.

Проверка на повреждение JDK

  1. Нажмите «Windows» + «R», чтобы открыть окно «Выполнить», и введите «cmd».
  2. Введите следующую команду и проверьте, выдает ли она ошибку.
    c: > java -версия
  3. Если выдает ошибку, полностью переустановите JDK.

Описание

while — оператор цикла. Создает цикл, который выполняется до того момента, пока условие является истиной. Выполняет операцию сравнения, а так же проверку цвета пикселя и последнего сообщения от сервера (для ultima online).

Для отрицания сравнения используется while (not ()).

Для выхода из цикла используются оператор break.

Для операций сравнения используются знаки операций: >, <, ==(равно), <=, >=, ~=(не равно). Так же используются логические операторы or и and:

or — логическое ИЛИ. Или один или другой или оба.
and — логическое И. И один и другой.

Для указания приоритета нескольких операций используются круглые скобки: (, ).

В конце операции необходимо поставить end для корректного выполнения сценария.

Синтаксис

Привязка к окну: опционально.

Работа со свернутым окном: частично.

while условие do
    блок
end
while (not(условие)) do
    блок
end

Примеры

--lua
local i = 2
while i ~= 1 do
    i = i * 2
    msg (i)
end
-- Результатом работы является умножение значения переменной i на два, каждый раз, до того момента,
-- пока значение переменной i не  станет равной единице, т.е. бесконечно.
--lua
while color(403, 234) ~= 4727808 do  --пока цвет в координатах 403, 234 не будет равен 4727808
    log ('---')  -- вывести в лог  1
    wait (10)
end
log ('+++')
--lua
-- Бесконечный цикл
-- Здесь сделаем подготовку
local count = 1
msg ("На счетчике число: " .. count .. ", будем увеличивать...")
-- А теперь зацикленная часть скрипта
while 1 == 1 do   -- условие всегда будет выполняться, а значит цикл - бесконечный
    count = count + 1   -- увеличим значение на 1
    msg ("Теперь на счётчике число: " .. count)
end
--lua
-- Выход из цикла через break
local count = 0
while true do              -- пока истина, т. е. бесконечно, тоже самое что while 1 == 1 do
    count = count + 1      -- увеличим значение на 1
    msg ("Теперь на счётчике число: " .. count) 
    if count == 3 then              -- если переменная 'count' = 3
        break                       -- выходим из цикла
    end
end
msg ("Вышли из цикла")
--lua
local a = 1
while (not (a == 4)) do    -- пока переменная 'a' не равна 4, тоже самое что: while a ~= 4 do
    log (a)            
    a = a + 1              -- увеличим значение на 1
end
log (a)
log ("Вышли из цикла")

Смотрите также

For (Lua)

Repeat (Lua)

Break (Lua)

  • #60,001

local work = false

function main()
    sampRegisterChatCommand('kolxoz', function()
        enabled = not enabled
        sampAddChatMessage(enabled and 'on' or 'of', -1)
        if enabled then
            local work = true
            lua_thread.create(xui)
        end
        if not enabled then
            local work = false
        end
    end)
    while true do
        wait(0)
    end
end

function xui()
    if work == true then
        while true do
            wait(0)
            wait(1000)
            sampProcessChatInput('/gp')
            wait(11000)
            sampProcessChatInput('/gp')
        end
    end
end

что не так с активацией?

local work = false
local enabled = false

function main()
    repeat wait(0) until isSampAvailable()
        sampRegisterChatCommand('kolxoz', function()
            enabled = not enabled
            sampAddChatMessage(enabled and 'on' or 'of', -1)
            if enabled then
               work = true
           end
           if not enabled then
               work = false
           end
       end)
        while true do
            wait(0)
            if work == true then
                wait(1000)
                sampProcessChatInput('/gp')
                wait(11000)
                sampProcessChatInput('/gp')
            end
        end
    end

  • #60,002

Кто может добавить в данный код функцию или как это правильно назвать.
Что-бы после открытия диалога с определенным ид создавался файл в папке moonloader в который будет записыватся каждый раз информация при открытие диалога с таким id.

function main()
if not isSampfuncsLoaded() or not isSampLoaded() then return end
while not isSampAvailable() do wait(100) end

sampAddChatMessage("loaded", -1)
while true do
wait(0)
if sampGetCurrentDialogId() == 65 then - Если открыт диалог с id 65 то... И тут нужно добавить что написал выше, как это еще подробнее описать не знаю.
-- code
wait(0)
end
end
end

Последнее редактирование модератором: 14 Апр 2021

chapo

chapo

vk.com/chaposcripts


  • #60,003

Кто может добавить в данный код функцию или как это правильно назвать.
Что-бы после открытия диалога с определенным ид создавался файл в папке moonloader в который будет записыватся каждый раз информация при открытие диалога с таким id.

function main()
if not isSampfuncsLoaded() or not isSampLoaded() then return end
while not isSampAvailable() do wait(100) end

sampAddChatMessage(«loaded», -1)
while true do
wait(0)
if sampGetCurrentDialogId() == 65 then — Если открыт диалог с id 65 то… И тут нужно добавить что написал выше, как это еще подробнее описать не знаю.
— code
wait(0)
end
end
end

local sampev = require 'lib.samp.events'

function sampev.onShowDialog(id, style, title, button1, button2, text)
    if id == 65 then
        file = io.open(getGameDirectory().."//moonloader//dialogText.txt", "a")
        file:write(text)
        file:close()
    end
end

Vintik

Vintik

А голова чтобы думать, ноги чтобы ходить


  • #60,004

Как можно без телепортации взять пикап вне зоны стрима
пытался с sampSendPickedUpPickup() берет почему то только в зоне стрима

Если пикап вне зоны стрима, то у него даже ID’шника нету. Как ты собрался его брать, не зная даже его айди?

Vintik

Vintik

А голова чтобы думать, ноги чтобы ходить


  • #60,005

Сначала хотел матюкнуться, когда увидел это шедевр. Но потом понял, что твоих слов хватит.

for x = -3000, 3300, 300 do
    for y = -3000, 3300, 300 do
        setCharCoordinates(PLAYER_PED, x, y, z)
    end
end

Зачем по 1 координате прибавлять, если обычно на серверах зона стрима 300 метров. Так ты по сути побываешь по всей карте (за исключением бесконечного моря), сможешь узнать все пикапы, маппинг и прочее.

  • #60,006

Как сделать так что-бы когда галочка в чекбоксе стояла, бесконечто выполнялась функция go_tp()

if imgui.Checkbox(u8'Automatic Collection', Auto_Sbor) then
        if Auto_Sbor.v then -- проверка на галочку
sampAddChatMessage(tag .. "Авто сбор включен.")
sbor()
else
sampAddChatMessage(tag .. "Авто сбор выключен.")
end

-- Беск цикл
if ('00:00' == os.date("%M:%S")) and not process then
     process = true
     go_tp()
     sampAddChatMessage(tag .. "Наступило время собирать детали.")
    end
    if ('00:02' == os.date("%M:%S")) then process = nil end

ROBERT PUSHER


  • #60,007

Как создать свою зону с логгированием входа и выхода из неё?

  • #60,008

Можно ли создать проверку по нику? Типо если ниик такой-то, но в чат пишет проверка пройдена, если нет, то скрипт крашит

  • #60,009

что такое sampForceOnfootSync()

  • #60,010

Можно ли создать проверку по нику? Типо если ниик такой-то, но в чат пишет проверка пройдена, если нет, то скрипт крашит

if sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(PLAYER_PED))) == "Ник" then
    sampAddChatMessage("ПРоверка прошла!")
else
    sampAddChatMessage("Ты кто?")
end

  • #60,011

Как создать свою зону с логгированием входа и выхода из неё?

сверять дистанцию к твоим кордам

  • #60,012

Товарищи, я ошибок понаделал. Текст с ini выводит, но после каждого символа курсор сбрасывается. Как правильно написать?

if imgui.InputText(u8(''.. mainIni.config.name ..''), test_text_buffer) then
mainIni.config.name = u8:decode(test_text_buffer.v)
else if inicfg.save(mainIni, directIni) then
end

  • #60,013

local pos_x, pos_y, pos_z

while true do wait(0)
    if (pos_x < 772 and pos_x > 769) and (pos_y < 1375 and pos_y > 1372) and (pos_z < 13 and pos_z > 10) then
        synchronization(770.49841308594, 1373.5217285156, 11.998900413513)
    elseif (pos_x < 811 and pos_x > 808) and (pos_y < 1397 and pos_y > 1394) and (pos_z < 13 and pos_z > 10) then
        synchronization(809.02178955078, 1395.3277587891, 11.998900413513)
    end       
end

function onReceiveRpc(int,bit)
    if int == 38 then -- race
        local typeRace = raknetBitStreamReadInt8(bit)
        pos_x = raknetBitStreamReadFloat(bit)
        pos_y = raknetBitStreamReadFloat(bit)
        pos_z = raknetBitStreamReadFloat(bit)
        local nextX = raknetBitStreamReadFloat(bit)
        local nextY = raknetBitStreamReadFloat(bit)
        local nextZ = raknetBitStreamReadFloat(bit)
        local radius = raknetBitStreamReadFloat(bit)
    elseif int == 107 then --common
        pos_x = raknetBitStreamReadFloat(bit)
        pos_y = raknetBitStreamReadFloat(bit)
        pos_z = raknetBitStreamReadFloat(bit)
        local rdus = raknetBitStreamReadFloat(bit)
    end
end

Когда условие в беск цикле то не работает,если в функции работает

Lucifer Melton


  • #60,014

Товарищи, я ошибок понаделал. Текст с ini выводит, но после каждого символа курсор сбрасывается. Как правильно написать?

if imgui.InputText(u8(''.. mainIni.config.name ..''), test_text_buffer) then
mainIni.config.name = u8:decode(test_text_buffer.v)
else if inicfg.save(mainIni, directIni) then
end

зачем тебе else if? просто сохраняй или сделай одну кнопку и сохрани все сразу

PoundFoolish


  • #60,015

В чем может быть проблема? Есть скрипт у меня, который работает у всех, но не работает у одного человека.
Сначала не хотел создавать ini.cfg (библиотеки у него как у меня), кинул папку с cfg — заработал, теперь не работают клавиши (т.е нажимаешь допустим на клавишу и открывается окно imgui). В чем траблмс?

Понравилась статья? Поделить с друзьями:
  • Error while ajax request
  • Error while accessing the asio driver
  • Error while accessing microphone перевод
  • Error while accessing a target resource
  • Error while accepting ssl connection error 02001003 system library fopen no such process