Технический форум Разные ошибки выдаёт скрипт
jasha6 18.11.2021 в 21:38

Пользователь

Репутация: 0 бал.

Замечания: 0 бал.

attempt to compare number with nil
i/server.lua:45: attempt to concatenate a nil value
attempt to compare number with nil
attempt to perform arithmetic on a nil
value
local loginbank = "RoyalStudio2019" -- логин от бд банка
local klyuch = "FaInAFaynaNAAhKakoeImya228" -- пароль от БД банкомата. от 4 до хз симв. передать пароль всем. гыгыгы
local msg1 = "#00BFFF[Банк] #FFFFFFВойдите или зарегистрируйтесь, чтобы пользоваться банкоматом."
local msg2 = "#00BFFF[Банк] #FFFFFFВведенный вами логин недействителен."
local msg3 = "#00BFFF[Банк] #FFFFFFВойдите или зарегистрируйтесь, чтобы оплачивать налоги."

local secBank = 60 --через Х секунд в банк прибавится У руб.
local moneyBank = 0 --не процент, а рубли

local secPlayer = 3600 -- через сколько секунд игроку поступил процент
local moneyPlayer = 0.0 -- Процент

function displayLoadedRes ( res )
local accountAdded = addAccount( loginbank, klyuch )
if ( accountAdded ) then
setAccountData (getAccount(loginbank), "bankDengi", 5000 )
setAccountData (getAccount(loginbank), "bankFond", 0 )

setAccountData (getAccount(loginbank), "bankTopIgrok", "нет инфо" )
setAccountData (getAccount(loginbank), "bankTopMoney", 0 )
outputChatBox("База данных банка создана.",root,255,255,255,true)
end
end
addEventHandler ( "onResourceStart", getRootElement(), displayLoadedRes )

function onPlayerLogin (_, playeraccount )
if ( playeraccount ) then
if not getAccountData (playeraccount, "schetBank2") then
setAccountData (playeraccount, "schetBank2",0)
outputChatBox("[Банк] Успешная регистрация, счет в налоговой инспекции создан.",source,255,255,255,true)
end

if not getAccountData (playeraccount, "kredit") then
setAccountData (playeraccount, "kredit","нет")
outputChatBox("[Банк] Задолженностей нет. Благодарим Вас за своевременную оплату налогов!.",source,255,255,255,true)
end

if not getAccountData (playeraccount, "kreditTime") then
setAccountData (playeraccount, "kreditTime",99999999)
end

if not getAccountData (playeraccount, "kreditDolg") then
setAccountData (playeraccount, "kreditDolg",0)
end

if not getAccountData (playeraccount, "shtrafov") then
setAccountData (playeraccount, "shtrafov",0)
end

if not getAccountData (playeraccount, "shtrafovSum") then
setAccountData (playeraccount, "shtrafovSum",0)
end

if not getAccountData (playeraccount, "shtraf") then
setAccountData (playeraccount, "shtraf","нет")
end

if not getAccountData (playeraccount, "kreditChas") then
setAccountData (playeraccount, "kreditChas",0)
end
end
end
addEventHandler ( "onPlayerLogin", getRootElement ( ), onPlayerLogin )

setTimer(function()
for k,player in ipairs(getElementsByType("player")) do
local playeraccount = getPlayerAccount ( player )
if ( playeraccount ) and not isGuestAccount ( playeraccount ) then
if getAccountData (playeraccount, "kredit") == "есть" then
if getAccountData (playeraccount, "kreditTime") > 0 then
--local procent = tonumber(getAccountData (playeraccount, "kreditChas")) / (tonumber(getAccountData (playeraccount, "kreditChas")) * 500)
--local x = ( tonumber(getAccountData (playeraccount, "kreditDolg")) * tonumber(procent) / 200 ) + tonumber(getAccountData (playeraccount, "kreditDolg"))
local x = ( tonumber(getAccountData (playeraccount, "kreditDolg")))
if tonumber(x) >= 99999999 then x = 99999999 end
setAccountData (playeraccount, "kreditDolg", math.floor(x))
setAccountData (playeraccount, "kreditTime",tonumber(getAccountData(playeraccount, "kreditTime")) - 1)
triggerClientEvent (player,"kreditShowTimer",player,player,getAccountData(playeraccount, "kreditTime"),getAccountData (playeraccount, "kreditDolg"))
else
setAccountData (playeraccount, "kredit", "ожидает")
setAccountData (playeraccount, "kreditDolg",getAccountData (playeraccount, "kreditDolg") * 1.5)
triggerClientEvent (player,"kreditShowTimer",player,player,"нет",getAccountData (playeraccount, "kreditDolg"))
end
elseif getAccountData (playeraccount, "kredit") == "ожидает" then
triggerClientEvent (player,"kreditShowTimer",player,player,"ожидает")
else
triggerClientEvent (player,"kreditShowTimer",player,player,"нет",getAccountData (playeraccount, "kreditDolg"))
end
end
end
end, 1000, 0)

setTimer(function()
local bablo = getAccountData (getAccount(loginbank), "bankDengi")
if tonumber(bablo) >= 99999999 then return end
setAccountData (getAccount(loginbank), "bankDengi", tonumber(getAccountData (getAccount(loginbank), "bankDengi")) + moneyBank )

end, secBank*1000, 0)

setTimer(function()
for k,player in ipairs(getElementsByType("player")) do
local playeraccount = getPlayerAccount ( player )
if ( playeraccount ) and not isGuestAccount ( playeraccount ) then
local playerbankmoney = getAccountData ( playeraccount, "schetBank2" )
if tonumber(playerbankmoney) >= 2000 and tonumber(playerbankmoney) < 1000000 then
local x = ( tonumber(playerbankmoney) * tonumber(moneyPlayer) / 100 ) + tonumber(playerbankmoney)
setAccountData ( playeraccount, "schetBank2", math.floor(x) )
outputChatBox("[Банк] Вам начислен процент в банке.",player,255,255,255,true)
elseif tonumber(playerbankmoney) >= 1000000 then
outputChatBox("[Банк] Вам начислен процент в банке. На счете более 1 000 000 р. Процент идет от этой суммы.",player,255,255,255,true)
local x = ( 1000000 * tonumber(moneyPlayer) / 100 ) + tonumber(playerbankmoney)
setAccountData ( playeraccount, "schetBank2", math.floor(x) )
elseif tonumber(playerbankmoney) >= 99999999 then
outputChatBox("[Банк] У вас на счете предельная сумма денег, процент не может быть начислен.",player,255,255,255,true)
else
outputChatBox("[Банк] Пополните банковский счет, чтобы вам поступил процент от суммы.",player,255,255,255,true)
end
end
end
end, secPlayer*1000, 0)

function balans0(player)
local playeraccount = getPlayerAccount ( player )
if ( playeraccount ) and not isGuestAccount ( playeraccount ) then
if tonumber(getAccountData (playeraccount, "shtrafovSum")) < 50000 then
local kredit = getAccountData (playeraccount, "kredit")
local dolg = getAccountData (playeraccount, "kreditDolg")
triggerClientEvent (player,"openBank",player,player,kredit,dolg)
else
outputChatBox("[Банк] Чтобы пользоваться банкоматом, оплатите налоги.",player,255,255,255,true)
end
else
outputChatBox(msg1,player,"Warning")
end
end
addEvent("openBankomat", true)
addEventHandler("openBankomat", getRootElement(), balans0)

function balans(player)
local playeraccount = getPlayerAccount ( player )
if ( playeraccount ) and not isGuestAccount ( playeraccount ) then
local playerbankmoney = getAccountData ( playeraccount, "schetBank2" )
triggerClientEvent (player,"prinBal",player,playerbankmoney)
else
outputChatBox(msg1,player,"Warning")
end
end
addEvent("zaprosBalans", true)
addEventHandler("zaprosBalans", getRootElement(), balans)

function snyt(player,summa)
local playeraccount = getPlayerAccount ( player )
if ( playeraccount ) and not isGuestAccount ( playeraccount ) then
local playerbankmoney = getAccountData ( playeraccount, "schetBank2" )
local bankmoney = getAccountData (getAccount(loginbank), "bankDengi")
if tonumber(playerbankmoney) >= tonumber(summa) then
setAccountData (getAccount(loginbank), "bankDengi", tonumber(bankmoney) - tonumber(summa) )
setAccountData ( playeraccount, "schetBank2", tonumber(playerbankmoney) - tonumber(summa) )
givePlayerMoney(player,summa)
outputChatBox("[Банк] Вы успешно сняли "..summa.." руб. со своего банковского счета.",player,255,255,255,true)
else
outputChatBox("[Банк] Извините, но на Вашем счете нет столько денег.",player,"Error")
end
else
outputChatBox(msg1,player,"Warning")
end
end
addEvent("zaprosSnyat", true)
addEventHandler("zaprosSnyat", getRootElement(), snyt)

function vzKred(player,summa,srok,sposob)
local playeraccount = getPlayerAccount ( player )
if ( playeraccount ) and not isGuestAccount ( playeraccount ) then
local playerbankmoney = getAccountData ( playeraccount, "schetBank2" )
local bankmoney = getAccountData (getAccount(loginbank), "bankDengi")
local kredit = getAccountData (playeraccount, "kredit")
if kredit == "нет" then
if tonumber(getElementData(player, "player:level")) >= 4 then
if sposob == "Получить деньги наличными" then
givePlayerMoney(player,summa)
-------------
elseif sposob == "Положить деньги на счет" then
setAccountData (getAccount(loginbank), "bankDengi", tonumber(bankmoney) - tonumber(summa) )
setAccountData ( playeraccount, "schetBank2", tonumber(playerbankmoney) + tonumber(summa) )
-------------
else
outputChatBox("[Банк] Извините, у нас обеденный перерыв.",player,"Error")
return
end
setAccountData (playeraccount, "kredit","есть")
setAccountData (playeraccount, "kreditTime",math.floor(srok * 3600))
setAccountData (playeraccount, "kreditDolg",summa)
setAccountData (playeraccount, "kreditChas",srok)

triggerClientEvent (player,"closeBank",player,player)
outputChatBox("[Банк] Вы успешно взяли кредит в размере "..summa.." руб.",player,255,255,255,true)
outputChatBox("[Банк] Не забудьте погасить его в течении "..srok.." часов!",player,255,255,255,true)
else
outputChatBox("[Банк] Вам отказано в выдаче кредита.",player,"Error")
end
else
outputChatBox("[Банк] Вам отказано в выдаче кредита.",player,"Error")
end
else
outputChatBox(msg1,player,"Warning")
end
end
addEvent("vzKred", true)
addEventHandler("vzKred", getRootElement(), vzKred)

function pogKred(player)
local playeraccount = getPlayerAccount ( player )
if ( playeraccount ) and not isGuestAccount ( playeraccount ) then
local playerbankmoney = getAccountData ( playeraccount, "schetBank2" )
local bankmoney = getAccountData (getAccount(loginbank), "bankDengi")
local kredit = getAccountData (playeraccount, "kredit")
local kreditDolg = getAccountData (playeraccount, "kreditDolg")
if kredit == "есть" or kredit == "ожидает" then
if getPlayerMoney(player) >= tonumber(kreditDolg) then
takePlayerMoney(player,kreditDolg)
triggerClientEvent (player,"closeBank",player,player)
setAccountData (getAccount(loginbank), "bankDengi", tonumber(bankmoney) + tonumber(getAccountData (playeraccount, "kreditDolg")) )
outputChatBox("[Банк] Вы успешно погасили кредит в размере "..getAccountData (playeraccount, "kreditDolg").." руб.",player,255,255,255,true)
setAccountData (playeraccount, "kredit","нет")
setAccountData (playeraccount, "kreditTime",99999999)
setAccountData (playeraccount, "kreditDolg",0)
setAccountData (playeraccount, "kreditChas",0)
else
outputChatBox("[Банк] Извините, но у Вас недостаточно наличных.",player,"Error")
end
else
outputChatBox("[Банк] Вы не брали кредит.",player,"Error")
end
else
outputChatBox(msg1,player,"Warning")
end
end
addEvent("pogKred", true)
addEventHandler("pogKred", getRootElement(), pogKred)

function polog(player,summa)
local playeraccount = getPlayerAccount ( player )
if ( playeraccount ) and not isGuestAccount ( playeraccount ) then
local playerbankmoney = getAccountData ( playeraccount, "schetBank2" )
local bankmoney = getAccountData (getAccount(loginbank), "bankDengi")
if getPlayerMoney(player) >= tonumber(summa) then
local poluchchislo = tonumber(playerbankmoney) + tonumber(summa)
if tonumber(poluchchislo) <= 99999999 then
setAccountData (getAccount(loginbank), "bankDengi", tonumber(bankmoney) + tonumber(summa) )
setAccountData ( playeraccount, "schetBank2", tonumber(playerbankmoney) + tonumber(summa) )
takePlayerMoney(player,summa)
--outputChatBox("#00BFFF[Банк] #FFFFFFВы успешно пополнили свой счет на "..summa.." руб.",player,255,255,255,true)
outputChatBox("[Банк] Вы успешно пополнили свой счет на "..summa.." руб.",player,255,255,255,true)
else
--outputChatBox("#00BFFF[Банк] #FFFFFFМаксимально вместимая сумма на Ваш банковский счет: 99 999 999 руб.",player,255,255,255,true)
outputChatBox("[Банк] Максимально вместимая сумма на Ваш банковский счет: 99 999 999 руб.",player,"Error")
end
else
--outputChatBox("#00BFFF[Банк] #FFFFFFИзвините, но у вас недостаточно наличных.",player,255,255,255,true)
outputChatBox("[Банк] Извините, но у вас недостаточно наличных.",player,"Error")
end
else
--outputChatBox(msg1,player,255,255,255,true)
outputChatBox(msg1,player,"Warning")
end
end
addEvent("zaprosPoloj", true)
addEventHandler("zaprosPoloj", getRootElement(), polog)

function pologDrug(player,acname,summa)
local playeraccount = getPlayerAccount ( player )
if ( playeraccount ) and not isGuestAccount ( playeraccount ) then
local playeraccount2 = getAccount ( acname )
if playeraccount == playeraccount2 then
--outputChatBox("#00BFFF[Банк] #FFFFFFИзвините, но Вы указали свой логин.",player,255,255,255,true)
outputChatBox("[Банк] Извините, но Вы указали свой логин.",player,"Error")
return
end
if ( playeraccount2 ) and not isGuestAccount ( playeraccount2 ) then
local playerbankmoney = getAccountData ( playeraccount, "schetBank2" )
local playerbankmoney2 = getAccountData ( playeraccount2, "schetBank2" )
local bankmoney = getAccountData (getAccount(loginbank), "bankDengi")
--if tonumber(bankmoney) >= tonumber(summa) then
if tonumber(playerbankmoney) >= tonumber(summa) then
local poluchchislo = tonumber(playerbankmoney2) + tonumber(summa)
if tonumber(poluchchislo) <= 99999999 then
setAccountData ( playeraccount, "schetBank2", tonumber(playerbankmoney) - tonumber(summa) )
setAccountData ( playeraccount2, "schetBank2", tonumber(playerbankmoney2) + tonumber(summa) )
--outputChatBox("#00BFFF[Банк] #FFFFFFВы успешно пополнили счет игрока с логином '"..acname.."' на "..summa.." руб.",player,255,255,255,true)
outputChatBox("[Банк] Вы успешно пополнили счет игрока с логином '"..acname.."' на "..summa.." руб.",player,255,255,255,true)
local toplayer = getAccountPlayer (playeraccount2)
if toplayer then
--outputChatBox("#00BFFF[Банк] #FFFFFFИгрок '"..getPlayerName(player).."' пополнил Ваш счет в банке на "..summa.." руб.",toplayer,255,255,255,true)
outputChatBox("[Банк] Игрок '"..getPlayerName(player).."' пополнил Ваш счет в банке на "..summa.." руб.",player,255,255,255,true)
end
else
--outputChatBox("#00BFFF[Банк] #FFFFFFВы не можете отправить деньги данному игроку. У него на счете станет 99 999 999 руб.",player,255,255,255,true)
outputChatBox("[Банк] Вы не можете отправить деньги данному игроку по техническим причинам.",player,"Error")
end
else
--outputChatBox("#00BFFF[Банк] #FFFFFFИзвините, но на вашем счете нет столько денег.",player,255,255,255,true)
outputChatBox("[Банк] Извините, но на вашем счете нет столько денег.",player,"Error")
end
--else
-- outputChatBox("#00BFFF[Банк] #FFFFFFИзвините, но в банкомате закончились деньги.",player,255,255,255,true)
--end
else
--outputChatBox(msg2,player,255,255,255,true)
outputChatBox(msg2,player,"Warning")
end
else
--outputChatBox(msg1,player,255,255,255,true)
outputChatBox(msg1,player,"Warning")
end
end
addEvent("zaprosPoloj2", true)
addEventHandler("zaprosPoloj2", getRootElement(), pologDrug)

function pologDrug3(player,acname,summa)
local playeraccount = getPlayerAccount ( player )
if ( playeraccount ) and not isGuestAccount ( playeraccount ) then
local playeraccount2 = getPlayerAccount ( getPlayerFromName(acname) )
if playeraccount == playeraccount2 then
--outputChatBox("#00BFFF[Банк] #FFFFFFИзвините, но вы указали свой ник.",player,255,255,255,true)
outputChatBox("[Банк] Извините, но вы указали свой ник.",player,"Error")
return
end
if ( playeraccount2 ) and not isGuestAccount ( playeraccount2 ) then
local playerbankmoney = getAccountData ( playeraccount, "schetBank2" )
local playerbankmoney2 = getAccountData ( playeraccount2, "schetBank2" )
local bankmoney = getAccountData (getAccount(loginbank), "bankDengi")
--if tonumber(bankmoney) >= tonumber(summa) then
if tonumber(playerbankmoney) >= tonumber(summa) then
local poluchchislo = tonumber(playerbankmoney2) + tonumber(summa)
if tonumber(poluchchislo) <= 99999999 then
setAccountData ( playeraccount, "schetBank2", tonumber(playerbankmoney) - tonumber(summa) )
setAccountData ( playeraccount2, "schetBank2", tonumber(playerbankmoney2) + tonumber(summa) )
--outputChatBox("#00BFFF[Банк] #FFFFFFВы успешно пополнили счет игрока с ником '"..acname.."' на "..summa.." руб.",player,255,255,255,true)
outputChatBox("[Банк] Вы успешно пополнили счет игрока с ником '"..acname.."' на "..summa.." руб.",player,255,255,255,true)
local toplayer = getAccountPlayer (playeraccount2)
if toplayer then
--outputChatBox("#00BFFF[Банк] #FFFFFFИгрок '"..getPlayerName(player).."' пополнил ваш счет в банке на "..summa.." руб.",toplayer,255,255,255,true)
outputChatBox("[Банк] Игрок '"..getPlayerName(player).."' пополнил ваш счет в банке на "..summa.." руб.",toplayer,255,255,255,true)
end
else
--outputChatBox("#00BFFF[Банк] #FFFFFFВы не можете отправить деньги данному игроку. У него на счете станет 99 999 999 руб.",player,255,255,255,true)
outputChatBox("[Банк] Вы не можете отправить деньги данному игроку. У него на счете станет 99 999 999 руб.",player,"Error")
end
else
--outputChatBox("#00BFFF[Банк] #FFFFFFИзвините, но на вашем счете нет столько денег.",player,255,255,255,true)
outputChatBox("[Банк] Извините, но на вашем счете нет столько денег.",player,"Error")
end
--else
-- outputChatBox("#00BFFF[Банк] #FFFFFFИзвините, но в банкомате закончились деньги.",player,255,255,255,true)
--end
else
--outputChatBox(msg2,player,255,255,255,true)
outputChatBox(msg2,player,"Warning")
end
else
--outputChatBox(msg1,player,255,255,255,true)
outputChatBox(msg1,player,"Warning")
end
end
addEvent("zaprosPoloj3", true)
addEventHandler("zaprosPoloj3", getRootElement(), pologDrug3)

function blago(player)
local summa = getAccountData (getAccount(loginbank), "bankFond")
local name = getAccountData (getAccount(loginbank), "bankTopIgrok")
local poj = getAccountData (getAccount(loginbank), "bankTopMoney")
triggerClientEvent (player,"prinBlag",player,summa,name,poj)
end
addEvent("zaprosBlago", true)
addEventHandler("zaprosBlago", getRootElement(), blago)

function polog3(player,summa)
local playeraccount = getPlayerAccount ( player )
if ( playeraccount ) and not isGuestAccount ( playeraccount ) then
local playerbankmoney = getAccountData ( playeraccount, "schetBank2" )
local bankmoney2 = getAccountData (getAccount(loginbank), "bankFond")
if tonumber(playerbankmoney) >= tonumber(summa) then
setAccountData (getAccount(loginbank), "bankFond", tonumber(bankmoney2) + tonumber(summa) )
setAccountData ( playeraccount, "schetBank2", tonumber(playerbankmoney) - tonumber(summa) )
xpBank = summa/10000
exports["urovni"]:givePlayerXP(player,xpBank)
outputChatBox("[Банк] Вы успешно пополнили благотворительный фонд на "..summa.." руб. Вам выдано: "..xpBank.." опыта.",player,255,255,255,true)
local poj = getAccountData (getAccount(loginbank), "bankTopMoney")
if tonumber(summa) >= tonumber(poj) then
setAccountData (getAccount(loginbank), "bankTopMoney", summa)
setAccountData (getAccount(loginbank), "bankTopIgrok", getPlayerName(player))
outputChatBox("[Банк] Поздравляем! Вы внесли в наш фонд больше всех денег.",player,255,255,255,true)
end
else
outputChatBox("[Банк] Извините, но на вашем счете нет столько денег.",player,"Error")
end
else
outputChatBox(msg1,player,"Warning")
end
end
addEvent("zaprosBlago2", true)
addEventHandler("zaprosBlago2", getRootElement(), polog3)

function shtra(player)
local playeraccount = getPlayerAccount ( player )
if ( playeraccount ) and not isGuestAccount ( playeraccount ) then
local summashtr = getAccountData ( playeraccount, "shtrafovSum" )
local kolvo = getAccountData ( playeraccount, "shtrafov" )
triggerClientEvent (player,"prinShtr",player,player,summashtr,kolvo)
else
outputChatBox(msg3,player,"Warning")
end
end
addEvent("zaprosShtr", true)
addEventHandler("zaprosShtr", getRootElement(), shtra)

function pogVseShtr(player)
local playeraccount = getPlayerAccount ( player )
if ( playeraccount ) and not isGuestAccount ( playeraccount ) then
local summashtr = getAccountData ( playeraccount, "shtrafovSum" )
if getPlayerMoney(player) >= tonumber(summashtr) then
if tonumber(summashtr) > 0 then
takePlayerMoney(player,summashtr)
outputChatBox("[Банк] Вы успешно оплатили все свои дорожные штрафы в размере "..summashtr.." руб.",player,255,255,255,true)
setAccountData ( playeraccount, "shtrafovSum",0)
else
outputChatBox("[Банк] У вас оплачены все штрафы.",player,255,255,255,true)
end
else
outputChatBox("[Банк] У вас недостаточно наличных.",player,"Error")
end
else
outputChatBox(msg3,player,"Warning")
end
end
addEvent("pogVseShtr", true)
addEventHandler("pogVseShtr", getRootElement(),pogVseShtr)

function pogVseZv(player)
local playeraccount = getPlayerAccount ( player )
if ( playeraccount ) and not isGuestAccount ( playeraccount ) then
if (getPlayerWantedLevel(player) <=6 ) then
local moneyRo = getPlayerWantedLevel(player) * 10000 / 2
if getPlayerMoney(player) >= tonumber(moneyRo) then
setPlayerWantedLevel(player, 0)
takePlayerMoney(player, moneyRo)
outputChatBox("[Банк] Вы успешно сняли все звезды розыска.",player,255,255,255,true)
else
outputChatBox("[Банк] У вас недостаточно наличных.",player,"Error")
end
else
outputChatBox("[Банк] У вас нет звезд розыска.",player,255,255,255,true)
end
else
outputChatBox(msg3,player,"Warning")
end
end
addEvent("pogVseZv", true)
addEventHandler("pogVseZv", getRootElement(),pogVseZv)

function pogShtr(player,summa)
local playeraccount = getPlayerAccount ( player )
if ( playeraccount ) and not isGuestAccount ( playeraccount ) then
local summashtr = getAccountData ( playeraccount, "shtrafovSum" )
if getPlayerMoney(player) >= tonumber(summa) then
if tonumber(summa) <= tonumber(summashtr) then
takePlayerMoney(player,summa)
setAccountData ( playeraccount, "shtrafovSum",tonumber(summashtr) - tonumber(summa))
--outputChatBox("#00BFFF[Банк] #FFFFFFВы успешно оплатили свои дорожные штрафы в размере "..summa.." руб.",player,255,255,255,true)
outputChatBox("[Банк] Вы успешно оплатили все свои дорожные штрафы в размере "..summa.." руб.",player,255,255,255,true)
else
--outputChatBox("#00BFFF[Банк] #FFFFFFУ вас нет штрафов на такую сумму.",player,255,255,255,true)
outputChatBox("[Банк] У вас нет штрафов на такую сумму.",player,255,255,255,true)
end
else
--outputChatBox("#00BFFF[Банк] #FFFFFFУ вас недостаточно наличных.",player,255,255,255,true)
outputChatBox("[Банк] У вас недостаточно наличных.",player,"Error")
end
else
--outputChatBox(msg3,player,255,255,255,true)
outputChatBox(msg3,player,"Warning")
end
end
addEvent("pogShtr", true)
addEventHandler("pogShtr", getRootElement(),pogShtr)

function adminBankChack ( player, command, username)
local accName = getAccountName ( getPlayerAccount ( player ) )
if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then
if not username then
outputChatBox("#ff6060* Админ, синтаксис: /bank_info [логин_игрока]",player,255,255,255,true)
else
local playeraccount = getAccount (username)
if playeraccount then
outputChatBox("#ffff60* Игрок с логином "..username..": ",player,255,255,255,true)
outputChatBox("#ffff60* Денег в банке: "..getAccountData (playeraccount, "schetBank2"),player,255,255,255,true)
outputChatBox("#ffff60* Счет в банке заблокирован: "..getAccountData (playeraccount, "shtraf"),player,255,255,255,true)
outputChatBox("#ffff60* Кредит: "..getAccountData (playeraccount, "kredit"),player,255,255,255,true)
outputChatBox("#ffff60* Кредит взят на "..getAccountData (playeraccount, "kreditChas").." часов",player,255,255,255,true)
outputChatBox("#ffff60* Должен банку "..getAccountData (playeraccount, "kreditDolg").." руб.",player,255,255,255,true)
outputChatBox("#ffff60* Дорожных штрафов: "..getAccountData (playeraccount, "shtrafov"),player,255,255,255,true)
outputChatBox("#ffff60* Штрафов на сумму "..getAccountData (playeraccount, "shtrafovSum").." руб.",player,255,255,255,true)

local schet = getAccountData (playeraccount, "schetBank2")
local block = getAccountData (playeraccount, "shtraf")
local kred = getAccountData (playeraccount, "kredit")
local kredChas = getAccountData (playeraccount, "kreditChas")
local dolg = getAccountData (playeraccount, "kreditDolg")
local shtraf = getAccountData (playeraccount, "shtrafov")
local shtrSum = getAccountData (playeraccount, "shtrafovSum")

triggerClientEvent (player,"openAdminBank",player,player,username,schet,block,kred,kredChas,dolg,shtraf,shtrSum)
else
outputChatBox("#00BFFF[Банк] #FFFFFFИгрок с логином "..username.." не найден.",player,255,255,255,true)
end
end
end
end
addCommandHandler ( "bank_info", adminBankChack )

function addBankSt(player,username,schet,block,kred,kredChas,dolg,shtraf,shtrSum)
local playeraccount0 = getPlayerAccount ( player )
if ( playeraccount0 ) and not isGuestAccount ( playeraccount0 ) then
local playeraccount = getAccount(username)
if playeraccount then
setAccountData (playeraccount, "schetBank2",tonumber(schet))
setAccountData (playeraccount, "shtraf",block)
setAccountData (playeraccount, "kredit",kred)
setAccountData (playeraccount, "kreditChas",tonumber(kredChas))
setAccountData (playeraccount, "kreditDolg",tonumber(dolg))
setAccountData (playeraccount, "shtrafov",tonumber(shtraf))
setAccountData (playeraccount, "shtrafovSum",tonumber(shtrSum))
outputChatBox("#ffff60* Статистика игрока с логином "..username.." успешно отредактирована!",player,255,255,255,true)
end
end
end
addEvent("addBankSt", true)
addEventHandler("addBankSt", getRootElement(),addBankSt)


Как пофиксить? Просто реально очень нужен этот скрипт.

local banki={
--Координата X,Y,Z,Название (Можно просто ""),Ротация Z
{1710.9438476563,-1107.4554199219,25.078125,"Б/у рынка",180},
{-1981.4,128.4,28.6,"вокзала",270},
{1956,2041,12,"",0},
{1013.6131591797,1054.5766601563,12,"элитного салона",105},
{2817,2147.9,11.8,"",180},
{-2330.3,-165.5,36.5,"",0},
{-2548.7565917969,2316.2863769531,5.9786529541016,"",280},
{-1589.8,1257.5,8.1,"",270},
{-2152.2,-2462.3999,31.8,"",320},
{939.58972167969,-1417.0489501953,14.546875,"",180},
{2449.2722167969,-2559.7568359375,14.6,"",90},
{2303.1052246094,51.712547302246,27.484375,"",270},
{-214.7,2710.5,63.6,"",0},
}

local gai={
--Координата X,Y,Z,Название (Можно просто ""),Ротация Z
{-1616.0916748047,685.65490722656,8.1875},
{2251.6569824219,2489.2670898438,11.990804672241},
{1547.8029785156,-1681.8302001953,14.559769630432},
}

local chaikos = {}
local chaikos_showed = false
local chaikos_x, chaikos_y = guiGetScreenSize()

function chaikos_DrawMainImage ()
setElementData(getLocalPlayer(), "chaikos_showed", chaikos_showed)
if chaikos_showed == false then return end
dxDrawImage(0,0, chaikos_x, chaikos_y, "images/bank_2.png", 0, 0, 0, tocolor(255,255,255,255), false)
end
addEventHandler("onClientRender", getRootElement(), chaikos_DrawMainImage)

addEventHandler ( "onClientRender", root,
function ( )
for k,v in ipairs(banki) do
local x,y,z = v[1],v[2],v[3]-0.5
local nazv = v[4]
if ( getDistanceBetweenPoints3D ( x,y,z, getElementPosition ( localPlayer ) ) ) < 15 then
local coords = { getScreenFromWorldPosition ( x,y,z ) }
if coords[1] and coords[2] then
if chaikos_showed == false then
dxDrawText ( "Банкомат "..nazv, coords[1], coords[2], coords[1], coords[2], tocolor(200,255,150), 1.4, "default-bold","center" )
end
end
end
end
end
)

addEventHandler ( "onClientRender", root,
function ( )
for k,v in ipairs(gai) do
local x,y,z = v[1],v[2],v[3]-0.5
if ( getDistanceBetweenPoints3D ( x,y,z, getElementPosition ( localPlayer ) ) ) < 15 then
local coords = { getScreenFromWorldPosition ( x,y,z ) }
if coords[1] and coords[2] then
dxDrawText ( "Оплата штрафов и налогов", coords[1], coords[2], coords[1], coords[2], tocolor(255,255,255), 1.4, "default-bold","center" )
end
end
end
end
)

guiSetInputEnabled(false)

local window={}
local label={}
local button={}
local buttons={}
local buttono={}
local edit={}
local grid={}
local swp,shp = guiGetScreenSize()
local screenW,screenH = guiGetScreenSize()
local px,py = 1600,900
local sw,sh = (screenW/px), (screenH/py)
local UniSans = guiCreateFont("images/UniSans.otf",16)

window[1] = guiCreateStaticImage((swp-swp)/2,(shp-shp)/2,swp,shp,"images/bank.png",false)
guiSetVisible(window[1],false)
showChat(true)

buttons[1] = guiCreateStaticImage(140*sw,280*sh,450*sw,60*sh,"images/button_standard.png", false, window[1])
buttono[1] = guiCreateStaticImage(140*sw,280*sh,450*sw,60*sh,"images/button_mouse.png", false, window[1])
button[1] = guiCreateLabel(140*sw,287*sh,450*sw,60*sh,"Баланс счета",false,window[1])
guiSetFont(button[1], UniSans)
guiLabelSetColor(button[1], 255, 255, 255)
guiLabelSetVerticalAlign(button[1], "center")
guiLabelSetHorizontalAlign(button[1], "center")
guiSetVisible(buttono[1],false)

buttons[2] = guiCreateStaticImage(140*sw,370*sh,450*sw,60*sh,"images/button_standard.png", false, window[1])
buttono[2] = guiCreateStaticImage(140*sw,370*sh,450*sw,60*sh,"images/button_mouse.png", false, window[1])
button[2] = guiCreateLabel(140*sw,377*sh,450*sw,60*sh,"Снять деньги со счета",false,window[1])
guiSetFont(button[2], UniSans)
guiLabelSetColor(button[2], 255, 255, 255)
guiLabelSetVerticalAlign(button[2], "center")
guiLabelSetHorizontalAlign(button[2], "center")
guiSetVisible(buttono[2],false)

buttons[3] = guiCreateStaticImage(140*sw,460*sh,450*sw,60*sh,"images/button_standard.png", false, window[1])
buttono[3] = guiCreateStaticImage(140*sw,460*sh,450*sw,60*sh,"images/button_mouse.png", false, window[1])
button[3] = guiCreateLabel(140*sw,467*sh,450*sw,60*sh,"Положить деньги на счет",false,window[1])
guiSetFont(button[3], UniSans)
guiLabelSetColor(button[3], 255, 255, 255)
guiLabelSetVerticalAlign(button[3], "center")
guiLabelSetHorizontalAlign(button[3], "center")
guiSetVisible(buttono[3],false)

buttons[4] = guiCreateStaticImage(140*sw,550*sh,450*sw,60*sh,"images/button_standard.png", false, window[1])
buttono[4] = guiCreateStaticImage(140*sw,550*sh,450*sw,60*sh,"images/button_mouse.png", false, window[1])
button[4] = guiCreateLabel(140*sw,557*sh,450*sw,60*sh,"Перевести деньги на счет",false,window[1])
guiSetFont(button[4], UniSans)
guiLabelSetColor(button[4], 255, 255, 255)
guiLabelSetVerticalAlign(button[4], "center")
guiLabelSetHorizontalAlign(button[4], "center")
guiSetVisible(buttono[4],false)

buttons[5] = guiCreateStaticImage(140*sw,640*sh,450*sw,60*sh,"images/button_standard.png", false, window[1])
buttono[5] = guiCreateStaticImage(140*sw,640*sh,450*sw,60*sh,"images/button_mouse.png", false, window[1])
button[5] = guiCreateLabel(140*sw,647*sh,450*sw,60*sh,"...",false,window[1])
guiSetFont(button[5], UniSans)
guiLabelSetColor(button[5], 255, 255, 255)
guiLabelSetVerticalAlign(button[5], "center")
guiLabelSetHorizontalAlign(button[5], "center")
guiSetVisible(buttono[5],false)

buttons[6] = guiCreateStaticImage(140*sw,730*sh,450*sw,60*sh,"images/button_standard.png", false, window[1])
buttono[6] = guiCreateStaticImage(140*sw,730*sh,450*sw,60*sh,"images/button_mouse.png", false, window[1])
button[6] = guiCreateLabel(140*sw,737*sh,450*sw,60*sh,"Благотворительный фонд",false,window[1])
guiSetFont(button[6], UniSans)
guiLabelSetColor(button[6], 255, 255, 255)
guiLabelSetVerticalAlign(button[6], "center")
guiLabelSetHorizontalAlign(button[6], "center")
guiSetVisible(buttono[6],false)

button[7] = guiCreateLabel(40*sw,835*sh,120*sw,40*sh,"Закрыть",false,window[1])
guiSetFont(button[7], UniSans)
guiLabelSetColor(button[7], 255, 255, 255)
guiLabelSetVerticalAlign(button[7], "center")
guiLabelSetHorizontalAlign(button[7], "center")

addEventHandler( "onClientMouseLeave", root,
function()
if source == button[1] then
guiSetVisible(buttons[1],true)
guiSetVisible(buttono[1],false)
elseif source == button[2] then
guiSetVisible(buttons[2],true)
guiSetVisible(buttono[2],false)
elseif source == button[3] then
guiSetVisible(buttons[3],true)
guiSetVisible(buttono[3],false)
elseif source == button[4] then
guiSetVisible(buttons[4],true)
guiSetVisible(buttono[4],false)
elseif source == button[5] then
guiSetVisible(buttons[5],true)
guiSetVisible(buttono[5],false)
elseif source == button[6] then
guiSetVisible(buttons[6],true)
guiSetVisible(buttono[6],false)
end
end)

addEventHandler( "onClientMouseEnter", root,
function()
if source == button[1] then
guiSetVisible(buttons[1],false)
guiSetVisible(buttono[1],true)
elseif source == button[2] then
guiSetVisible(buttons[2],false)
guiSetVisible(buttono[2],true)
elseif source == button[3] then
guiSetVisible(buttons[3],false)
guiSetVisible(buttono[3],true)
elseif source == button[4] then
guiSetVisible(buttons[4],false)
guiSetVisible(buttono[4],true)
elseif source == button[5] then
guiSetVisible(buttons[5],false)
guiSetVisible(buttono[5],true)
elseif source == button[6] then
guiSetVisible(buttons[6],false)
guiSetVisible(buttono[6],true)
end
end)

window[2] = guiCreateWindow((swp+430)/2,(shp+50)/2,340,100,"Баланс счета",false)
label[1] = guiCreateLabel(20,35,300,22,"Подождите, ваш запрос обрабатывается...",false,window[2])
button[8] = guiCreateButton(120,65,100,20,"ОК",false,window[2])
guiSetVisible(window[2],false)
guiWindowSetSizable(window[2],false)

window[3] = guiCreateWindow((swp+430)/2,(shp-0)/2,340,130,"Снять деньги со счета",false)
label[0] = guiCreateLabel(20,25,300,22,"Укажите сумму для снятия со счета:",false,window[3])
edit[1] = guiCreateEdit(20,45,300,30,"",false,window[3])
guiEditSetMaxLength (edit[1], 8)
addEventHandler("onClientGUIChanged", edit[1], function(element)
guiSetText ( edit[1], string.gsub (guiGetText( edit[1] ), "%D", "") )
end)
button[9] = guiCreateButton(20,90,140,30,"Снять деньги",false,window[3])
button[10] = guiCreateButton(180,90,140,30,"Отмена",false,window[3])
guiSetVisible(window[3],false)
guiWindowSetSizable(window[3],false)

window[4] = guiCreateWindow((swp+430)/2,(shp-0)/2,340,130,"Положить деньги на счет",false)
label[0] = guiCreateLabel(20,25,300,22,"Укажите сумму для пополнения счета:",false,window[4])
edit[2] = guiCreateEdit(20,45,300,30,"",false,window[4])
guiEditSetMaxLength (edit[2], 8)
addEventHandler("onClientGUIChanged", edit[2], function(element)
guiSetText ( edit[2], string.gsub (guiGetText( edit[2] ), "%D", "") )
end)
button[11] = guiCreateButton(20,90,140,30,"Положить деньги",false,window[4])
button[12] = guiCreateButton(180,90,140,30,"Отмена",false,window[4])
guiSetVisible(window[4],false)
guiWindowSetSizable(window[4],false)

window[5] = guiCreateWindow((swp+430)/2,(shp-0)/2,340,190,"Перевести деньги на счет",false)
label[0] = guiCreateLabel(10,25,320,30,"Перевод средств можно осуществлять даже, если \nигрок Offline. Укажите точный ЛОГИН получателя:",false,window[5])
edit[3] = guiCreateEdit(20,60,300,30,"",false,window[5])
label[0] = guiCreateLabel(20,90,300,22,"Укажите сумму для пополнения счета:",false,window[5])
edit[4] = guiCreateEdit(20,110,300,30,"",false,window[5])
guiEditSetMaxLength (edit[4], 8)
addEventHandler("onClientGUIChanged", edit[4], function(element)
guiSetText ( edit[4], string.gsub (guiGetText( edit[4] ), "%D", "") )
end)
button[13] = guiCreateButton(20,150,140,30,"Перевести деньги",false,window[5])
button[14] = guiCreateButton(180,150,140,30,"Отмена",false,window[5])
guiSetVisible(window[5],false)
guiWindowSetSizable(window[5],false)

window[6] = guiCreateWindow((swp+430)/2,(shp-50)/2,340,200,"Благотворительный фонд",false)
label[2] = guiCreateLabel(20,25,300,22,"",false,window[6])
label[3] = guiCreateLabel(20,40,300,60,"",false,window[6])
label[0] = guiCreateLabel(20,105,300,22,"Укажите сумму для пожертвования:",false,window[6])
edit[5] = guiCreateEdit(20,125,300,30,"",false,window[6])
guiEditSetMaxLength (edit[5], 10)
addEventHandler("onClientGUIChanged", edit[5], function(element)
guiSetText ( edit[5], string.gsub (guiGetText( edit[5] ), "%D", "") )
end)
button[15] = guiCreateButton(20,160,140,30,"Внести деньги",false,window[6])
button[16] = guiCreateButton(180,160,140,30,"Отмена",false,window[6])
guiSetVisible(window[6],false)
guiWindowSetSizable(window[6],false)

window[7] = guiCreateWindow((swp+430)/2,(shp+50)/2,340,75,"Выберите способ перевода",false)
button[17] = guiCreateButton(20,30,140,30,"По нику",false,window[7])
button[18] = guiCreateButton(180,30,140,30,"По логину",false,window[7])
guiSetVisible(window[7],false)
guiWindowSetSizable(window[7],false)

window[8] = guiCreateWindow((swp+430)/2,(shp-250)/2,340,375,"Перевести деньги на счет",false)
label[0] = guiCreateLabel(20,25,300,22,"Выберите получателя:",false,window[8])
grid[1] = guiCreateGridList(20,50,320,220,false,window[8])
guiGridListSetSelectionMode(grid[1], 1)
column1 = guiGridListAddColumn(grid[1],"Ник",0.9)
label[0] = guiCreateLabel(20,275,300,22,"Укажите сумму для пополнения счета:",false,window[8])
edit[7] = guiCreateEdit(20,295,300,30,"",false,window[8])
guiEditSetMaxLength (edit[7], 8)
addEventHandler("onClientGUIChanged", edit[7], function(element)
guiSetText ( edit[7], string.gsub (guiGetText( edit[7] ), "%D", "") )
end)
button[19] = guiCreateButton(20,335,140,30,"Перевести деньги",false,window[8])
button[20] = guiCreateButton(180,335,140,30,"Отмена",false,window[8])
guiSetVisible(window[8],false)
guiWindowSetSizable(window[8],false)

window[9] = guiCreateWindow((swp+430)/2,(shp-310)/2,340,450,"Взять деньги в кредит",false)
label[0] = guiCreateLabel(20,25,300,22,"Введите сумму (от 10 000 до 3 000 000 руб.)",false,window[9])
edit[8] = guiCreateEdit(20,50,300,30,"",false,window[9])
guiEditSetMaxLength (edit[8], 7)
addEventHandler("onClientGUIChanged", edit[8], function(element)
guiSetText ( edit[8], string.gsub (guiGetText( edit[8] ), "%D", "") )
end)
label[0] = guiCreateLabel(20,85,300,30,"Выберите срок в течении, которого\nвы должны погасить кредит.",false,window[9])
button[21] = guiCreateRadioButton(65,120,140,22,"12 часов",false,window[9])
button[22] = guiCreateRadioButton(200,120,140,22,"24 часа",false,window[9])
button[23] = guiCreateRadioButton(65,150,140,22,"48 часов",false,window[9])
button[24] = guiCreateRadioButton(200,150,140,22,"72 часа",false,window[9])
guiRadioButtonSetSelected(button[21],true)
label[4] = guiCreateLabel(20,195,300,22,"Ваша подпись (Ваш точный ник)",false,window[9])
edit[9] = guiCreateEdit(20,220,300,30,"",false,window[9])
label[6] = guiCreateLabel(20,260,300,22,"Получить деньги наличными",false,window[9])
button[29] = guiCreateButton(20,290,140,30,"Наличными",false,window[9])
button[30] = guiCreateButton(180,290,140,30,"На счет в банке",false,window[9])
label[4] = guiCreateLabel(10,325,320,75,"Проверьте правильность введенных данных.\nПосле, нажмите оформить кредит.\n\n(В случае неуплаты кредита в срок, счет в банке\nблокируется, а сумма кредита увелич. в 1,5 раза.)",false,window[9])
button[25] = guiCreateButton(20,410,140,30,"Оформить кредит",false,window[9])
button[26] = guiCreateButton(180,410,140,30,"Отмена",false,window[9])
guiSetVisible(window[9],false)
guiWindowSetSizable(window[9],false)

window[10] = guiCreateWindow((swp-340)/2,(shp-100)/2,340,100,"Погасить кредит",false)
label[4] = guiCreateLabel(20,35,300,22,"Вы должны банку 0 руб.",false,window[10])
button[27] = guiCreateButton(20,65,140,30,"Погасить кредит",false,window[10])
button[28] = guiCreateButton(180,65,140,30,"Отмена",false,window[10])
guiSetVisible(window[10],false)
guiWindowSetSizable(window[10],false)

window[11] = guiCreateWindow((swp-340)/2,(shp-180)/2,340,260,"Полицейский участок",false)
label[776] = guiCreateLabel(10,20,320,22,"Оплата штрафов",false,window[11])
guiSetFont(label[776], "default-bold-small")
guiLabelSetHorizontalAlign(label[776], "center", false)
label[777] = guiCreateLabel(10,35,320,22,"Сумма ваших штрафов: 0 руб.",false,window[11])
label[0] = guiCreateLabel(10,60,320,22,"Введите сумму, которую хотите оплатить:",false,window[11])
edit[10] = guiCreateEdit(20,85,300,22,"",false,window[11])
button[31] = guiCreateButton(20,120,140,25,"Оплатить",false,window[11])
button[32] = guiCreateButton(180,120,140,25,"Оплатить все",false,window[11])
label[775] = guiCreateLabel(10,155,320,22,"Откуп от розыска",false,window[11])
guiSetFont(label[775], "default-bold-small")
guiLabelSetHorizontalAlign(label[775], "center", false)
label[778] = guiCreateLabel(10,170,320,22,"Сумма для снятия звезд розыска: 0 руб.",false,window[11])
button[36] = guiCreateButton(20,195,300,25,"Снять все звезды. (Одна звезда - 5000 р.)",false,window[11])
button[33] = guiCreateButton(20,225,300,25,"Отмена",false,window[11])
guiSetVisible(window[11],false)
guiWindowSetSizable(window[11],false)

window[12] = guiCreateWindow((swp-340)/2,(shp-240)/2,340,240,"• БАНК Travel RP • Админ панель",false)
label[1000] = guiCreateLabel(10,25,320,22,"---",false,window[12])
guiSetFont(label[1000],"default-bold-small")
label[1001] = guiCreateLabel(10,45,240,22,"Денег в банке (руб.)",false,window[12])
label[1002] = guiCreateLabel(10,65,240,22,"Счет заблокирован (нет,да)",false,window[12])
label[1003] = guiCreateLabel(10,85,240,22,"Кредит (есть,нет,ожидает)",false,window[12])
label[1004] = guiCreateLabel(10,105,240,22,"Кредит взят на (час. (12,24,48,72))",false,window[12])
label[1005] = guiCreateLabel(10,125,240,22,"Должен банку (руб.)",false,window[12])
label[1006] = guiCreateLabel(10,145,240,22,"Дорожных штрафов (кол-во)",false,window[12])
label[1007] = guiCreateLabel(10,165,240,22,"Штрафов на сумму (руб.)",false,window[12])

edit[1001] = guiCreateEdit(240,45,300,22,"",false,window[12])
edit[1002] = guiCreateEdit(240,65,300,22,"",false,window[12])
edit[1003] = guiCreateEdit(240,85,300,22,"",false,window[12])
edit[1004] = guiCreateEdit(240,105,300,22,"",false,window[12])
edit[1005] = guiCreateEdit(240,125,300,22,"",false,window[12])
edit[1006] = guiCreateEdit(240,145,300,22,"",false,window[12])
edit[1007] = guiCreateEdit(240,165,300,22,"",false,window[12])

button[34] = guiCreateButton(20,200,140,20,"Применить, админ!",false,window[12])
button[35] = guiCreateButton(180,200,140,20,"Отмена",false,window[12])
guiSetVisible(window[12],false)
guiWindowSetSizable(window[12],false)

-- Строчка кредита
label[5] = guiCreateLabel(450,725,460,30,"",false,window[1])
guiSetFont ( label[5], "default-bold-small" )

function openBankomat(kto)
if kto == localPlayer then
local vehicle = getPedOccupiedVehicle(kto)
if not vehicle then
triggerServerEvent("openBankomat",localPlayer,localPlayer)
end
end
end

function openShtr(kto)
if kto == localPlayer then
local vehicle = getPedOccupiedVehicle(kto)
if not vehicle then
triggerServerEvent("zaprosShtr",localPlayer,localPlayer)
end
end
end

function prinShtr(player,shtr,kolvo)
if player == localPlayer then
local moneyRo = getPlayerWantedLevel(localPlayer) * 10000 / 2
guiSetVisible(window[11],true)
showCursor(true)
guiSetInputEnabled(true)
guiSetText(label[777],"Сумма ваших штрафов: "..shtr.." руб.")
guiSetText(label[778],"Сумма для снятия звезд розыска: "..moneyRo.." руб.")
end
end
addEvent("prinShtr", true)
addEventHandler("prinShtr", root, prinShtr)

function openAdminBank(player,username,schet,block,kred,kredChas,dolg,shtraf,shtrSum)
guiSetVisible(window[12],true)
showCursor(true)
guiSetInputEnabled(true)
guiSetText(label[1000],username)
guiSetText(edit[1001],schet)
guiSetText(edit[1002],block)
guiSetText(edit[1003],kred)
guiSetText(edit[1004],kredChas)
guiSetText(edit[1005],dolg)
guiSetText(edit[1006],shtraf)
guiSetText(edit[1007],shtrSum)
end
addEvent("openAdminBank", true)
addEventHandler("openAdminBank", root, openAdminBank)

addEventHandler ( "onClientRender", root,
function ( )
if guiGetText(label[5]) == "Срок выплаты кредита: 0 сек." then
guiSetVisible(window[1],false)
guiSetVisible(window[2],false)
guiSetVisible(window[3],false)
guiSetVisible(window[4],false)
guiSetVisible(window[5],false)
guiSetVisible(window[6],false)
guiSetVisible(window[7],false)
guiSetVisible(window[8],false)
guiSetVisible(window[9],false)
guiSetVisible(window[10],false)
showCursor(false)
chaikos_showed = false
guiSetInputEnabled(false)
showChat(true)
end
end )

function closebank(player)
if player == localPlayer then
guiSetVisible(window[1],false)
guiSetVisible(window[2],false)
guiSetVisible(window[3],false)
guiSetVisible(window[4],false)
guiSetVisible(window[5],false)
guiSetVisible(window[6],false)
guiSetVisible(window[7],false)
guiSetVisible(window[8],false)
guiSetVisible(window[9],false)
guiSetVisible(window[10],false)
chaikos_showed = false
showCursor(false)
guiSetInputEnabled(false)
end
end
addEvent("closeBank", true)
addEventHandler("closeBank", root, closebank)

function opbnk(player,kredit,dolg)
if player == localPlayer then
guiSetEnabled(window[1],true)
guiSetVisible(window[1],true)
chaikos_showed = true
showCursor(true)
guiSetInputEnabled(true)
showChat(true)
guiSetEnabled(button[1],true)
guiSetEnabled(button[2],true)
guiSetEnabled(button[3],true)
guiSetEnabled(button[4],true)
guiSetEnabled(button[6],true)
guiSetText(button[5],"Взять деньги в кредит")
guiGridListClear(grid[1])
for id,player in pairs(getElementsByType("player")) do
row = guiGridListAddRow ( grid[1] )
if player ~= localPlayer then
guiGridListSetItemText ( grid[1], row, 1, getPlayerName(player), false, false )
end
end

if kredit == "ожидает" then
guiSetEnabled(button[1],false)
guiSetEnabled(button[2],false)
guiSetEnabled(button[3],false)
guiSetEnabled(button[4],false)
guiSetEnabled(button[6],false)
guiSetText(button[5],"Погасить кредит")
guiSetText(label[4],"Вы должны банку "..dolg.." руб.")
elseif kredit == "есть" then
guiSetText(button[5],"Погасить кредит")
guiSetText(label[4],"Вы должны банку "..dolg.." руб.")
else

end
end
end
addEvent("openBank", true)
addEventHandler("openBank", root, opbnk)

function opbnk0(player,timer,dolg)
if player == localPlayer then
guiSetText(label[4],"Вы должны банку "..dolg.." руб.")
if timer == "нет" then
guiSetText(label[5],"")
elseif timer == "ожидает" then
guiSetText(label[5],"У вас непогашенный кредит")
guiSetFont(label[5], UniSans)
guiLabelSetColor(label[5],255,50,50)
else
guiSetText(label[5],"Срок выплаты кредита: "..timer.." сек.")
guiSetFont(label[5], UniSans)
guiLabelSetColor(label[5],255,255,255)
end
end
end
addEvent("kreditShowTimer", true)
addEventHandler("kreditShowTimer", root, opbnk0)

for k,v in ipairs(banki) do
local x,y,z = v[1],v[2],v[3]-2
local nazv = v[4]
local rz = v[5]
bankMarkerTRP = createMarker(x,y,z,'cylinder',1.2,150,255,50,0)
addEventHandler("onClientMarkerHit", bankMarkerTRP, openBankomat)
createObject(2942,x,y,z+0.7,0,0,rz)
blipBANK = createBlip( x,y,z, 52)
setBlipVisibleDistance(blipBANK, 400)
end

for k,v in ipairs(gai) do
local x,y,z = v[1],v[2],v[3]-2
gaiMarkerTRP = createMarker(x,y,z,'cylinder',1.2,50,255,200,100)
addEventHandler("onClientMarkerHit", gaiMarkerTRP, openShtr)
blipGAI = createBlip( x,y,z, 30)
setBlipVisibleDistance(blipGAI, 400)
end

function pbal(summa)
guiSetText(label[1],"На вашем счете "..summa.." руб.")
end
addEvent("prinBal", true)
addEventHandler("prinBal", root, pbal)

function plag(summa,name,poj)
guiSetText(label[2],"В благотворительном фонде "..summa.." руб.")
guiSetText(label[3],"Самый высокий вклад сделал\nигрок '"..name.."' Он внес "..poj.." руб. за раз.\nЗа благотворительность вы получите опыт\nчем больше вклад - тем больше опыта.")
end
addEvent("prinBlag", true)
addEventHandler("prinBlag", root, plag)

function OptionOClick()
if (source == button[7]) then
guiSetVisible(window[1],false)
showCursor(false)
guiSetInputEnabled(false)
chaikos_showed = false
elseif (source == button[1]) then --balans
guiSetEnabled(window[1],false)
guiSetVisible(window[2],true)
guiBringToFront ( window[2] )
triggerServerEvent("zaprosBalans",localPlayer,localPlayer)
elseif (source == button[2]) then --snyat
guiSetEnabled(window[1],false)
guiSetVisible(window[3],true)
guiBringToFront ( window[3] )
elseif (source == button[3]) then --poloj
guiSetEnabled(window[1],false)
guiSetVisible(window[4],true)
guiBringToFront ( window[4] )
elseif (source == button[4]) then --poloj2
guiSetEnabled(window[1],false)
guiSetVisible(window[7],true)
guiBringToFront ( window[7] )
elseif (source == button[5]) then --kredit
if guiGetText(button[5]) == "Погасить кредит" then
guiSetEnabled(window[1],false)
guiSetVisible(window[10],true)
guiBringToFront ( window[10] )
else
guiSetEnabled(window[1],false)
guiSetVisible(window[9],true)
guiBringToFront ( window[9] )
end
elseif (source == button[6]) then --blagotvor
triggerServerEvent("zaprosBlago",localPlayer,localPlayer)
guiSetEnabled(window[1],false)
guiSetVisible(window[6],true)
guiBringToFront ( window[6] )

elseif (source == button[8]) then
guiSetEnabled(window[1],true)
guiSetVisible(window[2],false)
elseif (source == button[9]) then
local sumka = guiGetText(edit[1])
if tonumber(sumka) < 50 then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: минимальная сумма для снятия со счета 50 руб.",255,255,255,true)
elseif tonumber(sumka) > 10000000 then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: максимальная сумма для снятия со счета 10 000 000 руб.",255,255,255,true)
elseif not tonumber(sumka) or tonumber(sumka) == "" then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: минимальная сумма для снятия со счета 50 руб.",255,255,255,true)
else
guiSetText(edit[1],"")
triggerServerEvent("zaprosSnyat",localPlayer,localPlayer,sumka)
guiSetEnabled(window[1],true)
guiSetVisible(window[3],false)
end
elseif (source == button[10]) then
guiSetEnabled(window[1],true)
guiSetVisible(window[3],false)

elseif (source == button[11]) then
local sumka = guiGetText(edit[2])
if tonumber(sumka) < 50 then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: минимальная сумма для пополнения счета 50 руб.",255,255,255,true)
elseif tonumber(sumka) > 10000000 then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: максимальная сумма для пополнения счета 10 000 000 руб.",255,255,255,true)
elseif not tonumber(sumka) or tonumber(sumka) == "" then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: минимальная сумма для пополнения счета 50 руб.",255,255,255,true)
else
guiSetText(edit[2],"")
triggerServerEvent("zaprosPoloj",localPlayer,localPlayer,sumka)
guiSetEnabled(window[1],true)
guiSetVisible(window[4],false)
end
elseif (source == button[12]) then
guiSetEnabled(window[1],true)
guiSetVisible(window[4],false)

elseif (source == button[13]) then
local acn = guiGetText(edit[3])
local sumka = guiGetText(edit[4])
if tonumber(sumka) < 50 then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: минимальная сумма для пополнения счета 50 руб.",255,255,255,true)
elseif tonumber(sumka) > 10000000 then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: максимальная сумма для пополнения счета 10 000 000 руб.",255,255,255,true)
elseif not tonumber(sumka) or tonumber(sumka) == "" then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: минимальная сумма для пополнения счета 50 руб.",255,255,255,true)
elseif not acn or acn == "" then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: введите корректный логин получателя.",255,255,255,true)
else
guiSetText(edit[3],"")
guiSetText(edit[4],"")
triggerServerEvent("zaprosPoloj2",localPlayer,localPlayer,acn,sumka)
guiSetEnabled(window[1],true)
guiSetVisible(window[5],false)
end
elseif (source == button[14]) then
guiSetEnabled(window[1],true)
guiSetVisible(window[5],false)

elseif (source == button[15]) then
local sumka = guiGetText(edit[5])
if tonumber(sumka) < 100000 then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: минимальная сумма для пополнения счета 100000 руб.",255,255,255,true)
elseif tonumber(sumka) > 99999999 then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: максимальная сумма для пожертвования 99 999 999 руб.",255,255,255,true)
elseif not tonumber(sumka) or tonumber(sumka) == "" then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: минимальная сумма для пополнения счета 100000 руб.",255,255,255,true)
else
guiSetText(edit[5],"")
triggerServerEvent("zaprosBlago2",localPlayer,localPlayer,sumka)
triggerServerEvent("zaprosBlago",localPlayer,localPlayer)
guiSetEnabled(window[1],true)
guiSetVisible(window[6],false)
end
elseif (source == button[16]) then
guiSetEnabled(window[1],true)
guiSetVisible(window[6],false)

elseif (source == button[17]) then
guiSetEnabled(window[1],false)
guiSetVisible(window[7],false)
guiSetVisible(window[8],true)
guiBringToFront ( window[8] )
elseif (source == button[18]) then
guiSetEnabled(window[1],false)
guiSetVisible(window[7],false)
guiSetVisible(window[5],true)
guiBringToFront ( window[5] )

elseif (source == button[19]) then

local acn = guiGridListGetItemText ( grid[1], guiGridListGetSelectedItem ( grid[1] ), 1 )
local sumka = guiGetText(edit[7])
if tonumber(sumka) < 50 then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: минимальная сумма для пополнения счета 50 руб.",255,255,255,true)
elseif tonumber(sumka) > 10000000 then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: максимальная сумма для пополнения счета 10 000 000 руб.",255,255,255,true)
elseif not tonumber(sumka) or tonumber(sumka) == "" then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: минимальная сумма для пополнения счета 50 руб.",255,255,255,true)
elseif not acn or acn == "" then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: выберите получателя из списка.",255,255,255,true)
else
guiSetText(edit[7],"")
triggerServerEvent("zaprosPoloj3",localPlayer,localPlayer,acn,sumka)
guiSetEnabled(window[1],true)
guiSetVisible(window[8],false)
end

elseif (source == button[20]) then
guiSetEnabled(window[1],true)
guiSetVisible(window[8],false)

elseif (source == button[25]) then --взять кр

local sumka = guiGetText(edit[8])
if tonumber(sumka) < 10000 then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: минимум вы можете взять 10 000 руб.",255,255,255,true)
elseif tonumber(sumka) > 3000000 then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: максимум вы можете взять 3 000 000 руб.",255,255,255,true)
elseif not tonumber(sumka) or tonumber(sumka) == "" then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: минимум вы можете взять 10 000 руб.",255,255,255,true)
elseif guiGetText(edit[9]) ~= getPlayerName(localPlayer) then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: напишите вашу подпись разборчиво.",255,255,255,true)
else
local srok = 2
if guiRadioButtonGetSelected(button[21]) then srok = 12
elseif guiRadioButtonGetSelected(button[22]) then srok = 24
elseif guiRadioButtonGetSelected(button[23]) then srok = 48
elseif guiRadioButtonGetSelected(button[24]) then srok = 72
end
triggerServerEvent("vzKred",localPlayer,localPlayer,sumka,srok,guiGetText(label[6]))
guiSetEnabled(window[1],true)
guiSetVisible(window[9],false)
guiSetText(edit[8],"")
guiSetText(edit[9],"")
end

elseif (source == button[26]) then
guiSetEnabled(window[1],true)
guiSetVisible(window[9],false)
elseif (source == button[27]) then --погасить кр
guiSetEnabled(window[1],true)
guiSetVisible(window[10],false)
triggerServerEvent("pogKred",localPlayer,localPlayer)
elseif (source == button[28]) then
guiSetEnabled(window[1],true)
guiSetVisible(window[10],false)

elseif (source == button[29]) then
guiSetText(label[6],"Получить деньги наличными")
elseif (source == button[30]) then
guiSetText(label[6],"Положить деньги на счет")
elseif (source == button[33]) then
guiSetVisible(window[11],false)
showCursor(false)
guiSetInputEnabled(false)
elseif (source == button[31]) then
local sumka = guiGetText(edit[10])
if not sumka or sumka == "" then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: введите сумму корректно.",255,255,255,true)
elseif tonumber(sumka) <= 0 then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: введите сумму от 1 рубля.",255,255,255,true)
elseif tonumber(sumka) >= 99999999 then outputChatBox("#00BFFF[Банк] #FFFFFFОшибка: введите сумму до 99 999 999 руб.",255,255,255,true)
else
guiSetText(edit[10],"")
triggerServerEvent("pogShtr",localPlayer,localPlayer,sumka)
guiSetVisible(window[11],false)
showCursor(false)
guiSetInputEnabled(false)
end
elseif (source == button[32]) then
triggerServerEvent("pogVseShtr",localPlayer,localPlayer)
guiSetVisible(window[11],false)
showCursor(false)
guiSetInputEnabled(false)
elseif (source == button[36]) then
triggerServerEvent("pogVseZv",localPlayer,localPlayer)
guiSetVisible(window[11],false)
showCursor(false)
guiSetInputEnabled(false)
elseif (source == button[34]) then
triggerServerEvent("addBankSt",localPlayer,localPlayer,guiGetText(label[1000]),guiGetText(edit[1001]),guiGetText(edit[1002]),guiGetText(edit[1003]),guiGetText(edit[1004]),guiGetText(edit[1005]),guiGetText(edit[1006]),guiGetText(edit[1007]))
guiSetVisible(window[12],false)
showCursor(false)
guiSetInputEnabled(false)
guiSetText(label[1000],"")
guiSetText(edit[1001],"")
guiSetText(edit[1002],"")
guiSetText(edit[1003],"")
guiSetText(edit[1004],"")
guiSetText(edit[1005],"")
guiSetText(edit[1006],"")
guiSetText(edit[1007],"")
elseif (source == button[35]) then
guiSetVisible(window[12],false)
showCursor(false)
guiSetInputEnabled(false)
guiSetText(label[1000],"")
guiSetText(edit[1001],"")
guiSetText(edit[1002],"")
guiSetText(edit[1003],"")
guiSetText(edit[1004],"")
guiSetText(edit[1005],"")
guiSetText(edit[1006],"")
guiSetText(edit[1007],"")
end
end
addEventHandler ("onClientGUIClick", getRootElement(),OptionOClick)

------


for _,v in ipairs (getElementsByType("gui-label",resourceRoot)) do
guiLabelSetColor(v,255,255,255)
guiLabelSetHorizontalAlign(v,"center")
end

for _,v in ipairs (getElementsByType("gui-button",resourceRoot)) do
guiSetProperty(v, "NormalTextColour", "FFFFFFFF")
guiSetProperty(v, "HoverTextColour","FFbbddff")
end
decided96 21.11.2021 в 13:21

Проверенный

Репутация: 124 бал.

Замечания: 0 бал.

jasha6, во первых стоило отдельно выписать 45 строку. Если пользуешься NotePade++ там строки пронумерованы. Скинь её сюда. Далее все проблемы в ней. Условно говоря ты там получаешь какое-то значение и проводишь с ним арифметические дейтсвия(сравнение или что-то другое), но оно у тебя имеет значение nil

тут два варианта, либо дописать к нему
 or 0
или проверить может ты не то получаешь что надо

Я посчитал вот это строчка 45 вроде
if not getAccountData (playeraccount, "shtrafov") then

Нижний файл не надо было кидать так как это клиентский файл, а ошибка на серверной

У МТА бывают "бзиги" когда кажется всё логично, но почему то не работает. -То есть у тебя идёт проверка на то что false, а он почему то выдаёт nil.

Либо так
if not (getAccountData (playeraccount, "shtrafov") or 0) then

Либо так
if (not getAccountData (playeraccount, "shtrafov") or 0) then


И так скорее всего со всеми
i
f not getAccountData (playeraccount, "kreditTime") then


и так далее

У игрока в аккаунте данные отсутствуют, вот он и выдаёт nil.
Тут два решения либо через
or 0

Либо что бы при логине в аккаунте это всё проверялось и ставилось.

Если решишь через логин делать, в таком случае. В этом скрипте не меняй. Но в проверке при логине всё равно надо будет прописать
or 0
Отправлять сообщения могут только пользователи сайта