Поломка скрипта

Toha22

Новичок
Автор темы
3
0
Версия MoonLoader
.026-beta
Решил исправить херню с тем, что бинды в скрипте нажимаются при написании слов в чат и присутствия диалога.
Но при вставлении в скрипт функций по типу:
isSampfuncsDialogActive()
isCursorActive()
sampIsChatInputActive()
sampIsDialogActive()
скрипт полностью прекращает работать.
Скрипт без этих функций
Lua:
local sampev = require 'samp.events'
local encoding = require 'encoding'
local vkeys = require 'vkeys'
encoding.default = 'CP1251'
local u8 = encoding.UTF8

local DIALOG_COLORS = {
    RED = "{FF0000}",
    GREEN = "{00FF00}",
    BLUE = "{0000FF}",
    YELLOW = "{FFFF00}",
    PURPLE = "{FF00FF}",
    ORANGE = "{FFA500}",
    CYAN = "{00FFFF}",
    WHITE = "{FFFFFF}"
}

local SCRIPT_NAME = "Fimoz Kirilla by Anticrips"
local VERSION = "1.4 DEVELOPER VERSION"
local COLOR_BLUE = 0xFF0000FF
local COLOR_RED = 0xFF0000
local COLOR_GREEN = 0x008000
local COLOR_YELLOW = 0xFFFF00
local COLOR_PURPLE = 0xFFC0CB
local COLOR_ORANGE = 0xFFBF00

local antistunActive = false
local scriptLoaded = false

function colorText(text, color)
    return color .. text .. DIALOG_COLORS.WHITE
end

function main()
    while not isSampAvailable() do 
        wait(100)
    end
    
    initScript()
    
    while true do
        wait(0)
        
        if wasKeyPressed(vkeys.VK_X) then
            toggleAntistun()
        end
        
        if wasKeyPressed(vkeys.VK_4) then
            giveDeagle()
        end
        
        if wasKeyPressed(vkeys.VK_5) then
            giveM4()
        end
        
        if wasKeyPressed(vkeys.VK_0) then
            executeSpecialCommand()
        end
        
        if wasKeyPressed(vkeys.VK_6) then
            giveRifle()
        end
        
        if wasKeyPressed(vkeys.VK_V) then
            executeSuperCommand()
        end
        
        if wasKeyPressed(vkeys.VK_L) then
            sendFlockCommand()
        end
        
        if wasKeyPressed(vkeys.VK_B) then
            useFood()
        end
        
        if wasKeyPressed(vkeys.VK_M) then
            useDrugs()
        end
    end
end

function initScript()
    if scriptLoaded then return end
    
    sampAddChatMessage(u8(SCRIPT_NAME .. " v" .. VERSION .. " [/fimoz]"), COLOR_BLUE)
    
    sampRegisterChatCommand("fimoz", cmdShowDialog)
    
    print(u8("Скрипт успешно загружен!"))
    scriptLoaded = true
end

function cmdShowDialog()
    local serverName = sampGetCurrentServerName() or "Неизвестный сервер"
    local dialogText = u8:decode(
        colorText("Лечение фимоза Инструкция\n\n", DIALOG_COLORS.WHITE) ..
        colorText("Antistun - X\n", DIALOG_COLORS.ORANGE) ..
        colorText("Поссать - 0 - ЭТО ЧИСЛО\n", DIALOG_COLORS.ORANGE) ..
        colorText("Подрочить - V\n", DIALOG_COLORS.ORANGE) ..
        colorText("Открыть/Закрыть семейный транспорт - L\n", DIALOG_COLORS.ORANGE) ..
        colorText("Поесть - B\n", DIALOG_COLORS.ORANGE) ..
        colorText("Употребить наркотики - M\n", DIALOG_COLORS.ORANGE) ..
        colorText("50 Патронов на Deagle - 4\n", DIALOG_COLORS.ORANGE) ..
        colorText("100 Патронов на M4 - 5\n", DIALOG_COLORS.ORANGE) ..
        colorText("100 Патронов на Rifle - 6\n\n", DIALOG_COLORS.ORANGE) ..
        colorText("!ВНИМАНИЕ!\n\n", DIALOG_COLORS.RED) ..
        colorText("Выдача пт безнаказано работает на данных серверах:\n", DIALOG_COLORS.WHITE) ..
        colorText("Mordor RP, Online RP, Training Sandbox, Samp RP, Evolve RP.\n\n", DIALOG_COLORS.WHITE) ..
        colorText("Примечание: Может кикать если в наличии нет от 1 и более пт.\n", DIALOG_COLORS.WHITE) ..
        colorText("Антистан работает на любых серверах.", DIALOG_COLORS.WHITE)
    )
    
    sampShowDialog(1000, colorText("Fimoz Kirilla by Anticrips", DIALOG_COLORS.GREEN), dialogText, "Close", "", 0)
end

function useFood()
    sampSendChat("/food")
    sampAddChatMessage(u8:decode("[FiK] Вы поели! Кирилл будет счастлив!"), COLOR_ORANGE)
end

function useDrugs()
    sampSendChat("/usedrugs 1")
    sampAddChatMessage(u8:decode("[FiK] НАРКОТИКИ ВРЕДНЫ ДЛЯ ЗДОРОВЬЯ! У ВАС РАЗВИЛСЯ ФИМОЗ"), COLOR_RED)
end

function sendFlockCommand()
    sampSendChat("/flock")
    sampAddChatMessage(u8:decode("[FiK] Команда активирована!"), COLOR_GREEN)
end

function toggleAntistun()
    antistunActive = not antistunActive
    if antistunActive then
        runSampfuncsConsoleCommand("op 0946:$player_actor 1")
        sampAddChatMessage(u8:decode("[FiK] Антистан Активен, Фимоз ратянут!"), COLOR_GREEN)
    else
        runSampfuncsConsoleCommand("op 0946:$player_actor 0")
        sampAddChatMessage(u8:decode("[FiK] Антистан Деактивирован, фимоз снова в силе!"), COLOR_RED)
    end
end

function giveDeagle()
    runSampfuncsConsoleCommand("01b2:$player_actor 24 50")
    sampAddChatMessage(u8:decode("[FiK] Выдано 50 пт на дигл! Фимоз прогрессировал!"), COLOR_RED)
end

function giveM4()
    runSampfuncsConsoleCommand("01b2:$player_actor 31 100")
    sampAddChatMessage(u8:decode("[FiK] Выдано 100 пт на арабку! Арабская сила поможет с фимозом!"), COLOR_GREEN)
end

function executeSpecialCommand()
    runSampfuncsConsoleCommand("0afd:68")
    sampAddChatMessage(u8:decode("[FiK] Вы начали ссать и ваша струя разделилась! Фимоз не ожидал такой тактики и начал отступать!"), COLOR_YELLOW)
end

function giveRifle()
    runSampfuncsConsoleCommand("01b2:$player_actor 33 100")
    sampAddChatMessage(u8:decode("[FiK] Выдано 100 пт на Rifle! Делай Cumshot метко!"), COLOR_PURPLE)
end

function executeSuperCommand()
    runSampfuncsConsoleCommand("0afd:8")
    sampAddChatMessage(u8:decode("[FiK] Вы начали дрочить и кончой пробили фимоз! Фимоз в шоке от вашей мощи!"), COLOR_PURPLE)
end

function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if dialogId == 1000 then
        return false
    end
end

function sampev.onServerMessage(color, text)
end

local ok, err = pcall(main)
if not ok then
    print("Ошибка в скрипте: " .. tostring(err))
end
 
  • Эм
Реакции: fsrxvdd

klaver1337

Участник
46
2
Решил исправить херню с тем, что бинды в скрипте нажимаются при написании слов в чат и присутствия диалога.
Но при вставлении в скрипт функций по типу:
isSampfuncsDialogActive()
isCursorActive()
sampIsChatInputActive()
sampIsDialogActive()
скрипт полностью прекращает работать.
Скрипт без этих функций
Lua:
local sampev = require 'samp.events'
local encoding = require 'encoding'
local vkeys = require 'vkeys'
encoding.default = 'CP1251'
local u8 = encoding.UTF8

local DIALOG_COLORS = {
    RED = "{FF0000}",
    GREEN = "{00FF00}",
    BLUE = "{0000FF}",
    YELLOW = "{FFFF00}",
    PURPLE = "{FF00FF}",
    ORANGE = "{FFA500}",
    CYAN = "{00FFFF}",
    WHITE = "{FFFFFF}"
}

local SCRIPT_NAME = "Fimoz Kirilla by Anticrips"
local VERSION = "1.4 DEVELOPER VERSION"
local COLOR_BLUE = 0xFF0000FF
local COLOR_RED = 0xFF0000
local COLOR_GREEN = 0x008000
local COLOR_YELLOW = 0xFFFF00
local COLOR_PURPLE = 0xFFC0CB
local COLOR_ORANGE = 0xFFBF00

local antistunActive = false
local scriptLoaded = false

function colorText(text, color)
    return color .. text .. DIALOG_COLORS.WHITE
end

function main()
    while not isSampAvailable() do
        wait(100)
    end
  
    initScript()
  
    while true do
        wait(0)
      
        if wasKeyPressed(vkeys.VK_X) then
            toggleAntistun()
        end
      
        if wasKeyPressed(vkeys.VK_4) then
            giveDeagle()
        end
      
        if wasKeyPressed(vkeys.VK_5) then
            giveM4()
        end
      
        if wasKeyPressed(vkeys.VK_0) then
            executeSpecialCommand()
        end
      
        if wasKeyPressed(vkeys.VK_6) then
            giveRifle()
        end
      
        if wasKeyPressed(vkeys.VK_V) then
            executeSuperCommand()
        end
      
        if wasKeyPressed(vkeys.VK_L) then
            sendFlockCommand()
        end
      
        if wasKeyPressed(vkeys.VK_B) then
            useFood()
        end
      
        if wasKeyPressed(vkeys.VK_M) then
            useDrugs()
        end
    end
end

function initScript()
    if scriptLoaded then return end
  
    sampAddChatMessage(u8(SCRIPT_NAME .. " v" .. VERSION .. " [/fimoz]"), COLOR_BLUE)
  
    sampRegisterChatCommand("fimoz", cmdShowDialog)
  
    print(u8("Скрипт успешно загружен!"))
    scriptLoaded = true
end

function cmdShowDialog()
    local serverName = sampGetCurrentServerName() or "Неизвестный сервер"
    local dialogText = u8:decode(
        colorText("Лечение фимоза Инструкция\n\n", DIALOG_COLORS.WHITE) ..
        colorText("Antistun - X\n", DIALOG_COLORS.ORANGE) ..
        colorText("Поссать - 0 - ЭТО ЧИСЛО\n", DIALOG_COLORS.ORANGE) ..
        colorText("Подрочить - V\n", DIALOG_COLORS.ORANGE) ..
        colorText("Открыть/Закрыть семейный транспорт - L\n", DIALOG_COLORS.ORANGE) ..
        colorText("Поесть - B\n", DIALOG_COLORS.ORANGE) ..
        colorText("Употребить наркотики - M\n", DIALOG_COLORS.ORANGE) ..
        colorText("50 Патронов на Deagle - 4\n", DIALOG_COLORS.ORANGE) ..
        colorText("100 Патронов на M4 - 5\n", DIALOG_COLORS.ORANGE) ..
        colorText("100 Патронов на Rifle - 6\n\n", DIALOG_COLORS.ORANGE) ..
        colorText("!ВНИМАНИЕ!\n\n", DIALOG_COLORS.RED) ..
        colorText("Выдача пт безнаказано работает на данных серверах:\n", DIALOG_COLORS.WHITE) ..
        colorText("Mordor RP, Online RP, Training Sandbox, Samp RP, Evolve RP.\n\n", DIALOG_COLORS.WHITE) ..
        colorText("Примечание: Может кикать если в наличии нет от 1 и более пт.\n", DIALOG_COLORS.WHITE) ..
        colorText("Антистан работает на любых серверах.", DIALOG_COLORS.WHITE)
    )
  
    sampShowDialog(1000, colorText("Fimoz Kirilla by Anticrips", DIALOG_COLORS.GREEN), dialogText, "Close", "", 0)
end

function useFood()
    sampSendChat("/food")
    sampAddChatMessage(u8:decode("[FiK] Вы поели! Кирилл будет счастлив!"), COLOR_ORANGE)
end

function useDrugs()
    sampSendChat("/usedrugs 1")
    sampAddChatMessage(u8:decode("[FiK] НАРКОТИКИ ВРЕДНЫ ДЛЯ ЗДОРОВЬЯ! У ВАС РАЗВИЛСЯ ФИМОЗ"), COLOR_RED)
end

function sendFlockCommand()
    sampSendChat("/flock")
    sampAddChatMessage(u8:decode("[FiK] Команда активирована!"), COLOR_GREEN)
end

function toggleAntistun()
    antistunActive = not antistunActive
    if antistunActive then
        runSampfuncsConsoleCommand("op 0946:$player_actor 1")
        sampAddChatMessage(u8:decode("[FiK] Антистан Активен, Фимоз ратянут!"), COLOR_GREEN)
    else
        runSampfuncsConsoleCommand("op 0946:$player_actor 0")
        sampAddChatMessage(u8:decode("[FiK] Антистан Деактивирован, фимоз снова в силе!"), COLOR_RED)
    end
end

function giveDeagle()
    runSampfuncsConsoleCommand("01b2:$player_actor 24 50")
    sampAddChatMessage(u8:decode("[FiK] Выдано 50 пт на дигл! Фимоз прогрессировал!"), COLOR_RED)
end

function giveM4()
    runSampfuncsConsoleCommand("01b2:$player_actor 31 100")
    sampAddChatMessage(u8:decode("[FiK] Выдано 100 пт на арабку! Арабская сила поможет с фимозом!"), COLOR_GREEN)
end

function executeSpecialCommand()
    runSampfuncsConsoleCommand("0afd:68")
    sampAddChatMessage(u8:decode("[FiK] Вы начали ссать и ваша струя разделилась! Фимоз не ожидал такой тактики и начал отступать!"), COLOR_YELLOW)
end

function giveRifle()
    runSampfuncsConsoleCommand("01b2:$player_actor 33 100")
    sampAddChatMessage(u8:decode("[FiK] Выдано 100 пт на Rifle! Делай Cumshot метко!"), COLOR_PURPLE)
end

function executeSuperCommand()
    runSampfuncsConsoleCommand("0afd:8")
    sampAddChatMessage(u8:decode("[FiK] Вы начали дрочить и кончой пробили фимоз! Фимоз в шоке от вашей мощи!"), COLOR_PURPLE)
end

function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if dialogId == 1000 then
        return false
    end
end

function sampev.onServerMessage(color, text)
end

local ok, err = pcall(main)
if not ok then
    print("Ошибка в скрипте: " .. tostring(err))
end
1744731830886.png

а эти строчки кода для кого? поменяй на другие кнопки просто