В чём ошибка?

KOHTOP

Участник
Автор темы
138
17
Версия MoonLoader
.027.0-preview
Написал небольшой скрипт, сделал систему улучшения, но она баганая. При shoping = shoping * 2 сначала покупается, а после уже выдаёт ошибку, что типо не хватает средств :(
При shoping = shoping - 30 вообще не покупается, просто выдает ошибку

Script:
script_author('Kohtop')
script_name('Clicker Game')

local click = 0
local shoping = 1
local tag = ('{91D500}[Clicker]: {FF7C00} ')

local imgui = require 'mimgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
local u8 = encoding.UTF8
local new = imgui.new

local WinState, shop, profile = new.bool(), new.bool(), new.bool()

imgui.OnFrame(function() return shop[0] and not isGamePaused() end,
function()
    imgui.SetNextWindowPos(imgui.ImVec2(300, 500), imgui.Cond.Always, imgui.ImVec2(1, 1))
    imgui.SetNextWindowSize(imgui.ImVec2(255, 90), imgui.Cond.Always)
    imgui.Begin('Window Two', show, imgui.WindowFlags.NoDecoration, imgui.WindowFlags.AlwaysAutoResize, imgui.WindowFlags.NoSavedSettings, imgui.WindowFlags.NoMove, imgui.WindowFlags.NoInputs)
    if imgui.Button(u8'Купить улучшение', imgui.ImVec2(85, 25)) then
        if click == 30 then
            click = click - 30
            shoping = shoping * 2
        else
            sampAddChatMessage(tag .. 'У вас недостаточно средств', -1)
        end
    end
    imgui.End()
end).HideCursor = false -- HideCursor отвечает за то, чтобы курсор не показывался

imgui.OnFrame(function() return WinState[0] end,
    function(player)
        imgui.SetNextWindowPos(imgui.ImVec2(500,500), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(245, 280), imgui.Cond.Always)
        imgui.Begin(u8'Основное', WinState, imgui.WindowFlags.NoDecoration, imgui.WindowFlags.AlwaysAutoResize, imgui.WindowFlags.NoSavedSettings, imgui.WindowFlags.NoMove, imgui.WindowFlags.NoInputs)
        if imgui.Button('Click', imgui.ImVec2(85, 25)) then
            click = click + shoping
        end
        imgui.Text(u8'У вас ' .. click .. u8' кликов', text_2)
        imgui.End()
    end
)

function main()
    sampRegisterChatCommand('cmd', function() WinState[0] = not WinState[0] end) -- команда по которой будет вызываться наше окно
    sampRegisterChatCommand('cmd2', function() shop[0] = not shop[0] end) -- команда по которой будет вызываться наше окно
    wait(-1)
end
 
  • Грустно
Реакции: Lance_Sterling

Lance_Sterling

Известный
992
354
ну во первых в начало main надо
while not isSampAvailable() do wait(0) end

вместо
if click == 30 then надо использовать
if click >= 30 then то есть больше или равняется, потому что в первом условии ты просто проверял равняется ли клики только 30

вообще задумка с кликером прикольная, но сделай поменьше улучшение а то пиздец как имбово, дохуя дается за 1 клик
1681985710992.png
 

KOHTOP

Участник
Автор темы
138
17
ну во первых в начало main надо
while not isSampAvailable() do wait(0) end

вместо
if click == 30 then надо использовать
if click >= 30 then то есть больше или равняется, потому что в первом условии ты просто проверял равняется ли клики только 30

вообще задумка с кликером прикольная, но сделай поменьше улучшение а то пиздец как имбово, дохуя дается за 1 клик
Посмотреть вложение 198371
Я уже исправил, при покупки улучшения стоимость умножается на 4, после будет другая система
 
  • Нравится
Реакции: Lance_Sterling

Похожие темы

    • Закрыта
    • Вопрос
    Ответы
    1
    Просмотры
    949
  1. Ответы
    3
    Просмотры
    1K