Нужно чуток переделать скрит

pabloescobar

Известный
Автор темы
59
4
Версия MoonLoader
Другое
Смотрите существует срикпт авто Y/N. Он работает, да. Но не до конца. Скрипт нажимает Y и если в мини-игре выскакивает опять Y то он еще раз уже не нажимает, а ждет что бы буква обновилась на другую. Можете пожалуйста помочь и сделать так, что бы он работал непрерывно, или подскажите в чём проблема и как пофиксить.
 

Вложения

  • ClickerTextDraw.lua
    1.1 KB · Просмотры: 8

Neon3333

Известный
181
71
Смотрите существует срикпт авто Y/N. Он работает, да. Но не до конца. Скрипт нажимает Y и если в мини-игре выскакивает опять Y то он еще раз уже не нажимает, а ждет что бы буква обновилась на другую. Можете пожалуйста помочь и сделать так, что бы он работал непрерывно, или подскажите в чём проблема и как пофиксить.
Попробуй так
 

Вложения

  • ClickerTextDraw.lua
    1.1 KB · Просмотры: 10

Neon3333

Известный
181
71
Проблема так-же осталась
Тогда нужно больше подробностей, что за мини игра, серер и тд. Ибо так проблему не выявить, возможно, сервер вообще не разрешает так часто слать синхру, причин может быть много.
 

7jizzle

Участник
238
14
Тогда нужно больше подробностей, что за мини игра, серер и тд. Ибо так проблему не выявить, возможно, сервер вообще не разрешает так часто слать синхру, причин может быть много.
Trinity gta. Пояляются тексдравы и нажимая на них перс выполняет дествия(пилит руку в морге, физические упражнения и т.п.). И есть ещё аналогичная игра используемая в приготовлении наркотиков. Там пробел - подтверждение действия, y - up, n - down вроде.
 

Neon3333

Известный
181
71
Не, не на тринити. На гамбите. Скрипт полностью бы работал если бы буквы были по очереди. То есть Y N Y N Y N. Тут же буквы появляются рандомно. Скрипт реагирует на появление Y, прижимает её и если показывается ещё раз Y то он не нажимает, а ждёт обновления буквы, поэтому приходится нажимать самому дабы буква обновилась.
Данный скрипт никаких обновлений не ждет, он работает по принципу проверки отображенного геймтекста, у проверки только 3 положительных результата, исходя из исходного кода - Y, N, H.
 

pabloescobar

Известный
Автор темы
59
4
есть варианты ещё?
посмотрите, может сможет кто-то починить
O58EVgj.gif
 
Последнее редактирование:

lazyman

Новичок
21
1
есть варианты ещё?
посмотрите, может сможет кто-то починить
O58EVgj.gif
скорее всего, дело в том, что событие onShowTextDraw не срабатывает, если буква не меняется, то тексдрав не перерисовывается.
попробуй вывести что-то в консоль, в начале события, если не будет выводить, значит я прав и события не срабатывает.
 

T1cKz

Известный
595
245
Если я не ошибаюсь, то как и говорил предыдущий коммент, буква не меняет. Хотя проверь textdrawsetstring еще хук. Если нет, то это смена на уровне серва, отслеживать такое можно только через цикл, типа получить id тд и его в цикле проверять с задержкой + пинг
Типа:
if tdActive and os.clock() < timer + (5+ myping) then
sampSendClickTextdraw(args)
timer = os.clock()
end
 

pabloescobar

Известный
Автор темы
59
4
Я особо в скрипте не силен, мб сделаете? Я только код скрипта могу открыть не более
Lua:
script_name("Universal Taper")
script_authors("Unknown")
script_moonloader(0.25)

require "lib.moonloader"
local hook = require 'lib.samp.events'

grogger = false


function main()
    repeat wait(0) until isSampAvailable()
    sampAddChatMessage("Universal Taper загрузился успешно. Введите /click", 0xc0c24e)
    sampRegisterChatCommand("click",
    function()
        grogger = not grogger
        if grogger then sampAddChatMessage("Universal Taper активирован", 0xc0c24e)
        else sampAddChatMessage("Universal Taper деактивирован", 0xc0c24e) end
    end)
    wait(-1)
end


function hook.onShowTextDraw(textdrawId, data)
    if grogger then
        if data.text:find("Y") then
            sendKey(64)
        elseif data.text:find("N") then
            sendKey(128)
        elseif data.text:find("H") then
            sendKey(192)
        end
    end
end

function sendKey(key)
    local _, myId = sampGetPlayerIdByCharHandle(PLAYER_PED)
    local data = allocateMemory(68)
    sampStorePlayerOnfootData(myId, data)
    setStructElement(data, 36, 1, key, false)
    sampSendOnfootData(data)
    freeMemory(data)
end
 
Последнее редактирование: