Перейти к содержанию

LUA ToggleBox скрипт


ReWanet

Рекомендуемые сообщения

Не знаю какой заголовок написать.. Не могли бы вы мне помочь насчет ToggleBox.
Суть такова:
Делаю чит в CE на LUA ( Правильно написал? ). Делаю функцию телепорта по нажатию на кнопку. Так вот я написал скрипт ->
 

Скрытый текст

function CEToggleBox2Click(sender)
if UDF1.CEToggleBox2.Caption == "Teleport To Waypoint" then
UDF1.CEToggleBox2.Caption = "Teleported"
autoAssemble([[
--SCRIPT
]])
control_setEnabled(UDF1.CETimer1,true)
else
if UDF1.CEToggleBox2.Caption == "Teleported" then
UDF1.CEToggleBox2.Caption = "Teleport To Waypoint"
autoAssemble([[
--SCRIPT
]])
control_setEnabled(UDF1.CETimer1,false)
end
end
end
function CETimer1Timer(sender)
if UDF1.CEToggleBox2.Caption == "Teleported" then
writeInteger('TeleToWayp', 1)
UDF1.CEToggleBox2.Caption = "Teleport To Waypoint"
control_setEnabled(UDF1.CETimer1,false)
end
end

 

Скрипт работает но местами выдает ошибку а иногда нет ( Что меня удивило очень :) ). Хотел у вас проконсультироваться то как сделать скрипт более "чистым" и правильным.
Скрипт должен работать примерно так -> Жмем кнопку -> Проходит XX секунд -> Мы перемещаемся -> Скрипт не должен отключаться лишь переменная [TeleToWayp] смещаться на 0.

Видео:



Так же хочу узнать где можно найти книжки по LUA и по C#.

Ссылка на комментарий
Поделиться на другие сайты

16 минуту назад, 2zolo2 сказал:
  Показать содержимое

 

 

 

 

 

 

Поиск по сайту forum.cheatengine.org, "Access violation"

 

 

 

 

 

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

Конечно извините но сделайте уже предупреждение этому человеку он даже видео не посмотрел а уже пишет пост. В видео ясно видно что на первых секундах ошибки нету как только я открываю редактор и выполняю скрипт то ошибка появляется и так 50\50 либо будет либо не будет ее.

И да я все таки добавлю в ЧС тебя.

Изменено пользователем what228
  • Плюс 2
Ссылка на комментарий
Поделиться на другие сайты

15 час назад, what228 сказал:

К чему ты тут спамишь?

offtopic.gifВот сейчас я с тобой полностью согласен. Но своё взыскание всё же не сниму - у тебя в тех предыдущих сообщениях было оскорбление.

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

8 часов назад, Garik66 сказал:

offtopic.gifВот сейчас я с тобой полностью согласен. Но своё взыскание всё же не сниму - у тебя в тех предыдущих сообщениях было оскорбление.

Не отрицаю. Трудно общаться с тем человеком который не читает топик а сразу пишет.

Ссылка на комментарий
Поделиться на другие сайты

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

Для того чтобы писать на CE Lua желательно знать знать Delphi (именно работа VCL (визуальные компоненты)), ассемблер, Lua и самое важное main.lua. Без работы с main.lua особого не напишешь.

 

В 28.03.2017в18:48, what228 сказал:

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

Он привел цитаты на описание ошибки, которое есть у тебя на видео (видео он посмотрел). Связь с темой форума есть. Я не увидел нарушения правил форума.

Ссылка на комментарий
Поделиться на другие сайты

57 минут назад, MasterGH сказал:

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

Для того чтобы писать на CE Lua желательно знать знать Delphi (именно работа VCL (визуальные компоненты)), ассемблер, Lua и самое важное main.lua. Без работы с main.lua особого не напишешь.

 

Он привел цитаты на описание ошибки, которое есть у тебя на видео (видео он посмотрел). Связь с темой форума есть. Я не увидел нарушения правил форума.

Про нарушение ни кто не говорил. Я устал повторять уже често.. В видео видно что ошибки либо есть либо ее нет. Ошибка вылетает из-за таймера. Но ни как не из-за русских символов или из-за того что не от админа..

Спасибо за ответ. Попробую твой совет.

Изменено пользователем what228
Ссылка на комментарий
Поделиться на другие сайты

29 минуты назад, what228 сказал:

Про нарушение ни кто не говорил. Я устал повторять уже често..

 

Все устают. Все читают твою тему, все кто может отвечает. Иди ко всем на встречу. К администрации, к тем, кто тебе пишет. Ищи пути общих интересов.

Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, MasterGH сказал:

 

Все устают. Все читают твою тему, все кто может отвечает. Иди ко всем на встречу. К администрации, к тем, кто тебе пишет. Ищи пути общих интересов.

Просто в самом посте написано что ошибка вылетает местами при чем тут ссылки на "Запусти от админа, русские символы" если ошибка вылетает только в одной функции в которой таймер :)

 

Ссылка на комментарий
Поделиться на другие сайты

В идеале дебажить надо и предоставлять больше информации, но мне кажется тут проблема в том, что после телепорта, игра выделяет память для того чтобы подгрузить новую локацию и всякую инфу о ботах, карте и т.д, и затирает твои переменные используемые в скрипте, из-за этого ошибка не стабильна. У меня примерно  такое было в watch dogs 2, когда дампил оружие, игра просто затирала поток для текстового файла..

Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

16 минуту назад, partoftheworlD сказал:

В идеале дебажить надо и предоставлять больше информации, но мне кажется тут проблема в том, что после телепорта, игра выделяет память для того чтобы подгрузить новую локацию и всякую инфу о ботах, карте и т.д, и затирает твои переменные используемые в скрипте, из-за этого ошибка не стабильна. У меня примерно  такое было в watch dogs 2, когда дампил оружие, игра просто затирала поток для текстового файла..

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

Ссылка на комментарий
Поделиться на другие сайты

21 минуты назад, what228 сказал:

Проблема в таймере

 

Sleep(1000), вместо CE таймера?

Добавил ссылку в sleep.

 

Если лень лезть,то получится так:

local clock = os.clock
function sleep(n)  -- seconds
  local t0 = clock()
  while clock() - t0 <= n do end
end

По ссылке много реализаций, через что можно сделать функцию Sleep.

Есть конечно и извращение, но вроде как рабочее, использовать пинг определенное количество попыток/секунд.:D

 

function sleep(n)
  if n > 0 then os.execute("ping -n " .. tonumber(n+1) .. " localhost > NUL") end
end

 

Изменено пользователем partoftheworlD
  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

14 минуты назад, partoftheworlD сказал:

 

Sleep(1000), вместо CE таймера?

Добавил ссылку в sleep.

За ссылку спасибо. Почитаю как будет время. На счет Sleep(1000) не знаю почему не додумался до него но в голову ударил таймер и пошло поехало а время на часах позднее голова просто не варит :)
 

3 минуты назад, srg91 сказал:

Sleep предоставляется CE (из main.lua):


sleep(milliseconds): pauses for the number of specified milliseconds (1000= 1 sec...)

 

Да спасибо это более удобней будет. Но все еще буду смотреть то как правильно реализовать таймер.

И вопрос - смысл от таймера вообще есть? Просто на CE форуме его в основном пихают в скрипты из таблицы CE ( Правильно написал?). Так же на этом форуме в одном из видео или в посте прочитал что таймер может вызывать проблемы если его пихать в LUA скрипт.

Ссылка на комментарий
Поделиться на другие сайты

14 минуты назад, what228 сказал:

смысл от таймера вообще есть?

 

Если честно, то по твоему коду смысла в таймере нет, может какой-то скрытый смысл в нем есть, раз пихают( это уже надо спрашивать у тех, кто на CE трейнеры делает), типа как в C++ для оптимизации нагрузки процессора пишут  sleep(1) в циклах, Как вариант таймер использовать для того, чтобы после нажатия вернуть кнопке её первоначальное состояние.

Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

20 минуты назад, partoftheworlD сказал:

вернуть кнопке её первоначальное состояние.

Ну по коду да там смысла в нем нет. Это я понял только сейчас :) 
Спасибо всем за ответы.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

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