Здравствуйте у меня возникла проблема при установке мода на МТА
не знаю что делать,3 день уже голову ломаю а сделать ничего не могу
помогите пожалуйста
WARNING: [Dyind-World]/MRCashBox/login_server.lua:27: dbPoll failed; SQL logic error or missing database
[2022-01-23 03:30:45] ERROR: [Dyind-World]/MRCashBox/login_server.lua:28: attempt to get length of global 'qp' (a boolean value)
database = dbConnect( "sqlite", "accounts3.db" )
dbExec(database, "CREATE TABLE IF NOT EXISTS accounts (login, password, serial, keyword, item, isdead, head, tors, lags, shoe, donat, alldonat, gang, gang_leader)")
-- qp = dbPoll(dbQuery(database, "SELECT item FROM accounts WHERE login = ?","kosnki"),-1)
-- outputChatBox("Word "..tostring(qp[1]["item"]))
-- for _,row in pairs(qp) do
-- if tostring(#row["item"]) ~= "0" then
-- data = fromJSON(row["item"])
-- for j,v in pairs(data) do
-- if v[1] == "vipe" then
-- outputChatBox("Vipe "..tostring(v[2]))
-- end
-- end
-- end
-- end
--dbFree(dbQuery(database,"ALTER TABLE accounts ADD vipe"))
--dbFree(dbQuery(database,"DELETE FROM accounts WHERE login = ?","SnoopDog2"))
--addAccount("Womax1979", "ghjcnjqgfhjkm777")
function loginStep1(username, password,keyword)
username = tostring(username)
password = tostring(password)
local account = getAccount(username, password)
--if account then removeAccount(account) account = false end
if account then
qp = dbPoll(dbQuery(database, "SELECT login FROM accounts WHERE login = ?",username),-1)
if #qp == 0 then
triggerClientEvent(source, "onPlayerMsg", source, "Ошибка. Аккаунт поврежден, попробуйте использовать другой логин.", "Warning")
--return
elseif getPlayerSerial(source) == getAccountSerial(account) then
if logIn(source, account, password) then
triggerClientEvent(source, "onPlayerDoneLogin", source, username, password)
triggerEvent("onPlayerDayZLogin", source, username, pass, source)
else
triggerClientEvent(source, "onPlayerMsg", source, "Не удалось войти. Возможно кто то уже играет на этом аккаунте.", "Warning")
end
else
if not keyword then
qp = dbPoll(dbQuery(database, "SELECT keyword FROM accounts WHERE login = ?",username),-1)
if tostring(qp[1]["keyword"]) ~= "" then
triggerClientEvent(source, "onWriteKeyWord", source, username)
else
if logIn(source, account, password) then
triggerClientEvent(source, "onPlayerDoneLogin", source, username, password)
triggerEvent("onPlayerDayZLogin", source, username, pass, source)
else
triggerClientEvent(source, "onPlayerMsg", source, "Не удалось войти. Возможно кто то уже играет на этом аккаунте.", "Warning")
end
end
else
qp = dbPoll(dbQuery(database, "SELECT keyword FROM accounts WHERE login = ?",username),-1)
if tostring(qp[1]["keyword"]) == tostring(keyword) then
if logIn(source, account, password) then
triggerClientEvent(source, "onPlayerDoneLogin", source, username, password)
triggerEvent("onPlayerDayZLogin", source, username, pass, source)
else
triggerClientEvent(source, "onPlayerMsg", source, "Не удалось войти. Возможно кто то уже играет на этом аккаунте.", "Warning")
end
else
outputChatBox("Неверное ключевое слово",source)
triggerClientEvent(source, "onWriteKeyWord", source, username)
end
end
end
else
if not getAccount(username) then
if #getAccountsBySerial(getPlayerSerial(source)) >= 3 then
triggerClientEvent(source, "onPlayerMsg", source, "Нельзя создавать более 3 аккаунтов", "Warning")
elseif string.find(username,"PlayerDW") then
triggerClientEvent(source, "onPlayerMsg", source, "Нельзя использовать такой логин!", "Error")
else
triggerClientEvent(source, "onPlayerMsg", source, "Аккаунт с таким логином ещё не зарегестрирован. Создать его?", "Question",true)
end
else
triggerClientEvent(source, "onPlayerMsg", source, "Обнаружен аккаунт с таким логином. Введен не верный пароль.", "Warning")
end
end
end
addEvent("onClientSendLoginDataToServer", true)
addEventHandler("onClientSendLoginDataToServer", getRootElement(), loginStep1)
function tryToRegsiterPlayer(username, password,keyword)
username = tostring(username)
password = tostring(password)
keyword = tostring((keyword or ""))
theAccount = addAccount(username, password)
if theAccount then
if logIn(source, theAccount, password) then
local data_table = {}
for i,data in ipairs(playerLoot) do
table.insert(data_table,{data[1],0})
end
if dbExec(database,"INSERT INTO accounts (login, password, serial, keyword, donat, alldonat, gang, gang_leader, item) VALUES (?,?,?,?,?,?,?,?,?)",username,password,getPlayerSerial(source),keyword,0,0,"none", "not",toJSON(data_table)) then
outputChatBox(getPlayerName(source).. " зарегестрировал новый аккаунт. Логин: "..username.." пароль: "..password, source, 255, 255, 255, true)
outputChatBox("Ни кому не сообщайте свой пароль от аккаунта,и на всякий случай сделайте скриншот пароля.", source, 255, 255, 255, true)
triggerClientEvent(source, "onPlayerDoneLogin", source, username, password)
playerRegister(username, password, source)
else
triggerClientEvent(source, "onPlayerMsg", source, "Ошибка базы данных. Обратитесь к админу: vk.com/kosnki_kosn", "Error")
end
else
triggerClientEvent(source, "onPlayerMsg", source, "Ошибка авторизации. Обратитесь к админу: vk.com/kosnki_kosn", "Error")
end
else
triggerClientEvent(source, "onPlayerMsg", source, "Ошибка при создании аккаунта, попробуйте использовать другой логин или пароль.", "Error")
end
end
addEvent("onClientSendRegisterDataToServer", true)
addEventHandler("onClientSendRegisterDataToServer", getRootElement(), tryToRegsiterPlayer)
function onGetAllAccounts()
for i,v in ipairs(getAccountsBySerial(getPlayerSerial(source))) do
triggerClientEvent(source, "onWriteAllAccounts", source, getAccountName(v))
end
end
addEvent("onGetAllAccounts", true)
addEventHandler("onGetAllAccounts", getRootElement(), onGetAllAccounts)
function onSetNewPass(accName,newpass,keyword)
qp = dbPoll(dbQuery(database, "SELECT keyword FROM accounts WHERE login = ?",accName),-1)
if tostring(qp[1]["keyword"]) ~= "" then
if tostring(qp[1]["keyword"]) == keyword then
setAccountPassword (getAccount(accName), newpass)
outputChatBox("Пароль изменен на "..newpass,source)
else
outputChatBox("Неверное ключевое слово",source)
end
else
setAccountPassword (getAccount(accName), newpass)
outputChatBox("Пароль изменен на "..newpass,source)
end
end
addEvent("onSetNewPass", true)
addEventHandler("onSetNewPass", getRootElement(), onSetNewPass)
function onDelAccount(accName,keyword)
qp = dbPoll(dbQuery(database, "SELECT keyword FROM accounts WHERE login = ?",accName),-1)
if tostring(qp[1]["keyword"]) ~= "" then
if tostring(qp[1]["keyword"]) == keyword then
dbFree(dbQuery(database,"DELETE FROM accounts WHERE login = ?",accName))
removeAccount (getAccount(accName))
outputChatBox("Аккаунт удалён",source)
--outputChatBox("Эта возможность временно недоступна",source)
else
outputChatBox("Неверное ключевое слово",source)
end
else
dbFree(dbQuery(database,"DELETE FROM accounts WHERE login = ?",accName))
removeAccount (getAccount(accName))
outputChatBox("Аккаунт удалён",source)
end
end
addEvent("onDelAccount", true)
addEventHandler("onDelAccount", getRootElement(), onDelAccount)
function updateGruopInfo(group, post, accName)
group = tostring(group)
post = tostring(post)
if not accName then
accName = getAccountName(getPlayerAccount(source))
end
if group and post and accName then
dbFree(dbQuery(database,"UPDATE accounts SET gang = ?, gang_leader = ? WHERE login = ?",group,post,accName))
end
end
addEvent("updateGruopInfo", true)
addEventHandler("updateGruopInfo", getRootElement(), updateGruopInfo)
function updateDonatInfo(value, action, accName)
if not accName then
accName = getAccountName(getPlayerAccount(source))
end
if value and action and accName then
qp = dbPoll(dbQuery(database, "SELECT donat,alldonat FROM accounts WHERE login = ?",accName),-1)
if action == "+" then
newValue = tonumber(qp[1]["donat"]) + tonumber(value)
newAllValue = tonumber(qp[1]["alldonat"]) + tonumber(value)
elseif action == "-" then
newValue = tonumber(qp[1]["donat"]) - tonumber(value)
newAllValue = tonumber(qp[1]["alldonat"])
elseif action == "*" then
newValue = value
newAllValue = qp[1]["alldonat"]
end
dbFree(dbQuery(database,"UPDATE accounts SET donat = ?, alldonat = ? WHERE login = ?",tostring(newValue),tostring(newAllValue),accName))
end
end
addEvent("updateDonatInfo", true)
addEventHandler("updateDonatInfo", getRootElement(), updateDonatInfo)
function setServerSkin(arg1,arg2,arg3,arg4)
if arg1 == "add" then
addPedClothes ( source, arg2,arg3,arg4)
elseif arg1 == "remove" then
removePedClothes ( source, arg4)
end
end
addEvent("onSetServerSkin", true)
addEventHandler("onSetServerSkin", getRootElement(), setServerSkin)
function playerLogin(username, pass, player)
-- if getElementData(player,"prevPlay") then
-- triggerClientEvent(player, "startPrev", player)
-- setElementData(player,"action","login")
-- setElementData(player,"username",username)
-- setElementData(player,"pass",pass)
-- else
username = tostring(username)
account = getPlayerAccount(player)
local x,y,z = (getAccountData(account,"last_x") or 0),(getAccountData(account,"last_y") or 0),(getAccountData(account,"last_z") or 4)
local skin = (getAccountData(account,"skin") or 0)
spawnPlayer (player, x,y,z+0.5, math.random(0,360), skin, 0, 0)
fadeCamera (player, true)
setCameraTarget (player, player)
setPedStat (player, 23, 1000 )
playerCol = createColSphere(x,y,z,1.5)
setElementData(player,"playerCol",playerCol)
attachElements ( playerCol, player, 0, 0, 0 )
data = dbPoll(dbQuery(database, "SELECT * FROM accounts WHERE login = ?",username),-1)
if getElementData(player,"saveCloth") then
dbFree(dbQuery(database,"UPDATE accounts SET head = ?, tors = ?, lags = ?, shoe = ? WHERE login = ?",(getElementData(player,"head") or 1),(getElementData(player,"tors") or 2),(getElementData(player,"lags") or 8),(getElementData(player,"shoe") or 7),username))
else
-- qp = dbPoll(dbQuery(database, "SELECT head,tors,lags,shoe FROM accounts WHERE login = ?",username),-1)
setElementData(player,"head",data[1]["head"])
setElementData(player,"tors",data[1]["tors"])
setElementData(player,"lags",data[1]["lags"])
setElementData(player,"shoe",data[1]["shoe"])
end
for _,row in pairs(data) do
if tostring(#row["item"]) ~= "0" then
loot = fromJSON(row["item"])
for j,v in pairs(loot) do
setElementData(player,v[1],tonumber(v[2]))
if v[1] == "PREM" and tonumber(v[2]) == 1 then
if not isObjectInACLGroup("user."..getAccountName(account), aclGetGroup("PREM")) then
setElementData(player,v[1],0)
end
end
end
else
for i,loot in ipairs(stats) do
setElementData(player,loot[1],loot[2])
end
end
end
local deadVipe = false
if not getElementData(player,"vipe") or (getElementData(player,"vipe") or 0) == 0 then
setElementData(player,"money",0)
setElementData(player,"bankmoney",0)
setElementData(player,"pvppoint",0)
setElementData(player,"vipe",1)
deadVipe = true
end
setElementData(player,"alivetimes",0)
qp1 = dbPoll(dbQuery(database, "SELECT gang,gang_leader,isdead,donat,serial FROM accounts WHERE login = ?",username),-1)
setElementData(player,"gang",qp1[1]["gang"])
setElementData(player,"gang_leader",qp1[1]["gang_leader"])
setElementData(player,"donat",tonumber(qp1[1]["donat"]))
setElementData(playerCol,"parent",player)
setElementData(playerCol,"player",true)
local weapon = getElementData(player,"currentweapon_1")
if weapon and weapon ~= 0 then
local ammoData,weapID = call(getResourceFromName("MOD_weapInfo"), "getWeaponAmmoType", weapon)
giveWeapon(player,weapID,getElementData(player,ammoData), true )
end
local weapon = getElementData(player,"currentweapon_2")
if weapon and weapon ~= 0 then
local ammoData,weapID = call(getResourceFromName("MOD_weapInfo"), "getWeaponAmmoType", weapon)
giveWeapon(player,weapID,getElementData(player,ammoData), false )
end
local weapon = getElementData(player,"currentweapon_3")
if weapon and weapon ~= 0 then
local ammoData,weapID = call(getResourceFromName("MOD_weapInfo"), "getWeaponAmmoType", weapon)
giveWeapon(player,weapID)
end
setElementModel(player, getElementData(player,"skin"))
if getElementData(player,"skin") == 0 then
if getElementData(player,"saveCloth") then
triggerClientEvent(getRootElement(), "onGetSkin", player, "head",(getElementData(player,"head") or 1))
triggerClientEvent(getRootElement(), "onGetSkin", player, "tors",(getElementData(player,"tors") or 2))
triggerClientEvent(getRootElement(), "onGetSkin", player, "lags",(getElementData(player,"lags") or 8))
triggerClientEvent(getRootElement(), "onGetSkin", player, "shoe",(getElementData(player,"shoe") or 7))
else
-- qp = dbPoll(dbQuery(database, "SELECT head,tors,lags,shoe FROM accounts WHERE login = ?",username),-1)
triggerClientEvent(getRootElement(), "onGetSkin", player, "head",tonumber(data[1]["head"]))
triggerClientEvent(getRootElement(), "onGetSkin", player, "tors",tonumber(data[1]["tors"]))
triggerClientEvent(getRootElement(), "onGetSkin", player, "lags",tonumber(data[1]["lags"]))
triggerClientEvent(getRootElement(), "onGetSkin", player, "shoe",tonumber(data[1]["shoe"]))
end
end
setElementData(player,"logedin",true)
setElementData(player,"antiRelog",0)
setElementDimension(player,tonumber((getElementData(player,"dimen") or 0)))
if data[1]["isdead"] == 1 or deadVipe then
triggerEvent("spawnDayZPlayer2", source, player, "BC1")
end
-- if (tostring(qp1[1]["serial"]) ~= tostring(getPlayerSerial(source))) and (isObjectInACLGroup("user."..getAccountName(account), aclGetGroup("Admin")) or isObjectInACLGroup("user."..getAccountName(account), aclGetGroup("Moderator"))) then
-- banPlayer(source,false,false,true, "kosnki_kosn", "Вход на этот аккаунт запрещён", 0)
-- end
-- end
end
addEvent("onPlayerDayZLogin", true)
addEventHandler("onPlayerDayZLogin", getRootElement(), playerLogin)
function playerRegister(username, pass, player)
-- if getElementData(player,"prevPlay") then
-- triggerClientEvent(player, "startPrev", player)
-- setElementData(player,"action","reg")
-- setElementData(player,"username",username)
-- setElementData(player,"pass",pass)
-- else
username = tostring(username)
number = math.random(1,54)
local x,y,z = spawnPositions[number][1],spawnPositions[number][2],spawnPositions[number][3]
account = getAccount(username)
spawnPlayer (player, x,y,z, math.random(0,360), 0, 0, 0)
fadeCamera (player, true)
setCameraTarget (player, player)
setPedStat (player, 23, 1000 )
playerCol = createColSphere(x,y,z,1.5)
setElementData(player,"playerCol",playerCol)
attachElements ( playerCol, player, 0, 0, 0 )
setElementData(playerCol,"parent",player)
setElementData(playerCol,"player",true)
for i,data in ipairs(playerLoot) do
if data[1] =="bint" then
setElementData(player,data[1],2)
elseif data[1] =="painkiller" then
setElementData(player,data[1],1)
elseif data[1] =="MAX_Slots" then
setElementData(player,data[1],8)
elseif data[1] =="skin" then
setElementData(player,data[1],0)
elseif data[1] =="blooddwidinaxyi" then
setElementData(player,data[1],12000)
elseif data[1] =="temperature" then
setElementData(player,data[1],37)
elseif data[1] =="food" then
setElementData(player,data[1],100)
elseif data[1] =="thirst" then
setElementData(player,data[1],100)
elseif data[1] =="currentweapon_1" then
setElementData(player,data[1],false)
elseif data[1] =="currentweapon_2" then
setElementData(player,data[1],false)
elseif data[1] =="currentweapon_3" then
setElementData(player,data[1],false)
elseif data[1] =="role" then
setElementData(player,data[1],"Выживший")
elseif data[1] =="humanity" then
setElementData(player,data[1],0)
elseif data[1] =="desert_eagle" then
setElementData(player,data[1],1)
elseif data[1] =="desert_eagle_mag" then
setElementData(player,data[1],30)
elseif data[1] =="survival_skin" then
setElementData(player,data[1],1)
elseif data[1] =="DZlevel" then
setElementData(player,data[1],1)
elseif data[1] =="alliance" then
setElementData(player,data[1],false)
elseif data[1] =="vipe" then
setElementData(player,data[1],1)
else
setElementData(player,data[1],0)
end
end
setElementData(player,"gang","none")
setElementData(player,"gang_leader","not")
setElementData(player,"logedin",true)
setElementData(player,"antiRelog",0)
setElementData(player,"alivetimes",0)
if getElementData(player,"saveCloth") then
dbFree(dbQuery(database,"UPDATE accounts SET head = ?, tors = ?, lags = ?, shoe = ? WHERE login = ?",(getElementData(player,"head") or 1),(getElementData(player,"tors") or 2),(getElementData(player,"lags") or 8),(getElementData(player,"shoe") or 7),username))
else
setElementData(player,"head",1)
setElementData(player,"tors",2)
setElementData(player,"lags",8)
setElementData(player,"shoe",7)
dbFree(dbQuery(database,"UPDATE accounts SET head = ?, tors = ?, lags = ?, shoe = ? WHERE login = ?",1,2,8,7,username))
end
triggerClientEvent(getRootElement(), "onGetSkin", player, "head",tonumber(getElementData(player,"head")))
triggerClientEvent(getRootElement(), "onGetSkin", player, "tors",tonumber(getElementData(player,"tors")))
triggerClientEvent(getRootElement(), "onGetSkin", player, "lags",tonumber(getElementData(player,"lags")))
triggerClientEvent(getRootElement(), "onGetSkin", player, "shoe",tonumber(getElementData(player,"shoe")))
-- end
end
addEvent("playerRegister", true)
addEventHandler("playerRegister", getRootElement(), playerRegister)
function saveAccounts ()
if not getElementData(source,"logedin") then return end
local account = getPlayerAccount(source)
if account then
data_table = {}
if isElement(getElementData(source,"playerCol")) then
destroyElement(getElementData(source,"playerCol"))
end
setElementData(source,"dimen",getElementDimension(source))
for i,data in ipairs(playerLoot) do
table.insert(data_table,{data[1],(getElementData(source,data[1]) or 0)})
end
local x,y,z = getElementPosition(source)
setAccountData(account,"skin",getElementData(source,"skin"))
setAccountData(account,"last_x",x)
setAccountData(account,"last_y",y)
setAccountData(account,"last_z",z)
if getElementData(source,"isDead") or (getElementData(source,"antiRelog") or 0) > 2 or isElementInWater(source) then
isDeadDB = 1
else
isDeadDB = 0
end
dbFree(dbQuery(database,"UPDATE accounts SET item = ?, isdead = ? WHERE login = ?",toJSON(data_table),isDeadDB,getAccountName(account)))
local veh = getPedOccupiedVehicle(source)
if isElement(veh) then
if getElementModel(veh) == 462 then
destroyElement(veh)
end
end
end
end
addEventHandler ( "onPlayerQuit", getRootElement(), saveAccounts )
stats = {
{"alivetime",0},
{"alivetimes","0"},
{"DZlevel",1},
{"DZexp",0},
{"skin",0},
{"MAX_Slots",8},
{"money",0},
{"bankmoney",0},
{"blooddwidinaxyi",12000},
{"food",100},
{"thirst",100},
{"pvppoint",0},
{"allWar",0},
{"arenaWin",0},
{"helmetOn",0},
{"armorOn",0},
{"armorLNarOn",0},
{"armorRNarOn",0},
{"armorLNogOn",0},
{"armorRNogOn",0},
{"armorTazOn",0},
{"headmask",0},
{"spinamask",0},
{"temperature",37},
{"currentweapon_1",0},
{"currentweapon_2",0},
{"currentweapon_3",0},
{"bleeding",0},
{"brokenbone",0},
{"pain",0},
{"cold",0},
{"humanity",0},
{"zombieskilled",0},
{"maxzombieskilled",0},
{"headshots",0},
{"murders",0},
{"maxmurders",0},
{"banditskilled",0},
{"inf",0},
{"sick",0},
{"rad",0},
}
playerLoot = {
{"alivetime"},{"checkTime"},{"DZlevel"},{"DZexp"},{"skin"},{"MAX_Slots"},{"role"},
{"money"},{"bankmoney"},{"blooddwidinaxyi"},{"food"},{"thirst"},{"pvppoint"},{"allWar"},
{"arenaWin"},{"helmetOn"},{"armorOn"},{"armorLNarOn"},{"armorRNarOn"},{"armorLNogOn"},{"armorRNogOn"},
{"armorTazOn"},{"temperature"},{"currentweapon_1"},{"currentweapon_2"},{"currentweapon_3"},{"bleeding"},
{"brokenbone"},{"pain"},{"cold"},{"humanity"},{"zombieskilled"},{"maxzombieskilled"},{"headshots"},
{"murders"},{"maxmurders"},{"inf"},{"sick"},{"rad"},{"banditskilled"},{"headmask"},
{"spinamask"},{"alliance"},{"PREM"},{"dimen"},{"stels_hood"},{"stels_cape"},{"assault_pack_s"},{"assault_pack_b"},
{"alice_pack_s"},{"alice_pack_b"},{"czech_backpack_s"},{"czech_backpack_b"},{"coyote_backpack_s"},{"coyote_backpack_b"},
{"army_bag"},{"helmet_"},{"armlet_l"},{"armlet_r"},{"armleg_l"},{"armleg_r"},{"armass"},{"helmet_adh2"},{"helmet_adh3"},
{"helmet_adh4"},{"helmet_adh5"},{"mask_byddy"},{"mask_bandit1"},{"mk_48"},{"m249_saw"},{"pkp"},{"mk_48_mag"},
{"m249_saw_mag"},{"pkp_mag"},{"mask_bandit2"},{"helmet_dart_wader"},{"helmet_shtyrm"},{"cap"},{"small_tent"},
{"big_tent"},{"respirator"},{"cap_india"},{"new_year_car"},{"mask_mexico"},{"mask_monkey1"},{"mask_monkey2"},
{"hockey_mask"},{"mask_demon"},{"mask_pig"},{"mask_anon"},{"mask_psih"},{"package"},{"panama"},{"armortors"},
{"armortors_adbv2"},{"armortors_adbv3"},{"armortors_adbv4"},{"razgryzka"},{"wood"},{"bint"},
{"sand_bag"},{"flask"},{"radio"},{"can_mokorons"},{"can_bobs"},{"bekon"},{"kapkan"},{"mine"},{"matches"},{"m1911_mag"},
{"m9_sd_mag"},{"desert_eagle_mag"},{"m1911"},{"m9_sd"},{"winchester_1866"},{"pdw"},{"knife"},{"topor"},{"sardins"},
{"civili_cloth"},{"woman_sniper"},{"morphine"},{"cola"},{"empty_fuelcan"},{"full_fuelcan"},{"roadflare"},{"benzopila"},
{"milk"},{"pdw_mag"},{"mp5a5_mag"},{"m4a1_mag"},{"sig_556_mag"},{"ak_74_mag"},{"akm_mag"},{"aks_gold_mag"},{"cz550_mag"},
{"m200_mag"},{"m67"},{"rad_cloth"},{"desert_eagle"},{"sawn_off"},{"spaz_12"},{"mp5a5"},{"watch"},{"medkit"},
{"heatpack"},{"lee_enfield"},{"pdw"},{"ak_74"},{"blood_bag"},{"gps"},{"gps_aw"},{"map"},{"tools"},{"fance"},
{"tire"},{"engine"},{"tank_part"},{"lee_enfield_mag"},{"m4a1"},{"cz550"},{"inf_glass"},{"pnv"},{"s_tent"},{"cook_meat"},
{"meat"},{"army_camo"},{"camo_sniper"},{"woman_skin"},{"survival_skin"},{"painkiller"},{"binoculars"},
{"empty_flask"},{"empty_cola"},{"leavings"},{"winchester_1866_mag"},{"sawn_off_mag"},{"spaz_12_mag"},{"bita"},{"lopata"},
{"mounting"},{"parachute"},{"sig_556"},{"akm"},{"aks_gold"},{"m200"},{"m16a2"},{"m16a4_a"},{"fn_fal"},
{"g36c"},{"svd_d"},{"as50"},{"ksvk"},{"m16a2_mag"},{"m16a4_a_mag"},{"fn_fal_mag"},{"g36c_mag"},{"svd_d_mag"},{"as50_mag"},
{"ksvk_mag"},{"antia"},{"antib"},{"antic"},{"vipe"},{"m4a1_c"},{"m4a3_c"},{"m4a1_c_sd"},{"m4a1_h"},{"m4a1_rco"},{"m16a2_m"},
{"m16a4_a"},{"g36c_sd"},{"g36c_c"},{"g36c_sd_c"},{"famas"},{"fn_scar_20"},{"fn_scar_h"},{"fn_scar_l"},{"ak_103"},
{"ak_105"},{"akm4"},{"mg36"},{"pkm"},{"m240"},{"m40a3"},{"m24"},{"m107"},{"dmr"},{"svd_c"},{"m200_c"},
{"mokorons_p"},{"mokorons_k"},{"m4a1_c_mag"},{"m4a3_c_mag"},{"m4a1_c_sd_mag"},{"m4a1_h_mag"},{"m4a1_rco_mag"},{"m16a2_m_mag"},
{"m16a4_a_mag"},{"g36c_sd_mag"},{"g36c_c_mag"},{"g36c_sd_c_mag"},{"famas_mag"},{"fn_scar_20_mag"},{"fn_scar_h_mag"},
{"fn_scar_l_mag"},{"ak_103_mag"},{"ak_105_mag"},{"akm4_mag"},{"mg36_mag"},{"pkm_mag"},{"m240_mag"},{"m40a3_mag"},{"m24_mag"},
{"m107_mag"},{"dmr_mag"},{"svd_c_mag"},{"m200_c_mag"},{"pole_bag"},{"tactic_bag"},
{"sold1_cloth"},{"sold2_cloth"},{"sold3_cloth"},{"sold4_cloth"},{"sold5_cloth"},{"band1_cloth"},
{"band2_cloth"},{"band3_cloth"},{"band4_cloth"},{"band5_cloth"},{"surv1_cloth"},{"surv2_cloth"},
{"surv3_cloth"},{"surv4_cloth"},{"camo1_cloth"},{"camo2_cloth"},
{"steel"},{"ele_equip"},{"ele_engine"},{"wires"},{"gear_wheels"},{"cable"},
{"lamps"},{"woods"},{"propane"},{"solar"},
{"draw_m4a1"},{"draw_m4a1_c"},{"draw_m4a3_c"},
{"draw_m4a1_c_sd"},{"draw_m4a1_h"},{"draw_m4a1_rco"},
{"draw_m16a2_m"},{"draw_m16a4_a"},{"draw_m16a2"},
{"draw_fn_fal"},{"draw_sig_556"},{"draw_g36c_sd"},
{"draw_g36c_c"},{"draw_g36c_sd_c"},{"draw_famas"},
{"draw_fn_scar_20"},{"draw_fn_scar_h"},{"draw_fn_scar_l"},
{"draw_ak_103"},{"draw_ak_105"},{"draw_akm4"},
{"draw_ak_74"},{"draw_akm"},{"draw_aks_gold"},
{"draw_g36c"},{"draw_mk_48"},{"draw_m249_saw"},
{"draw_pkp"},{"draw_mg36"},{"draw_pkm"},
{"draw_m240"},{"draw_svd_d"},{"draw_as50"},
{"draw_ksvk"},{"draw_cz550"},{"draw_m200"},
{"draw_m40a3"},{"draw_m24"},{"draw_m107"},
{"draw_dmr"},{"draw_svd_c"},{"draw_m200_c"},
{"draw_lee_enfield"},{"draw_winchester_1866"},
{"draw_spaz_12"},{"draw_sawn_off"},{"draw_m4a1_mag"},
{"draw_m4a1_c_mag"},{"draw_m4a3_c_mag"},{"draw_m4a1_c_sd_mag"},
{"draw_m4a1_h_mag"},{"draw_m4a1_rco_mag"},{"draw_m16a2_m_mag"},
{"draw_m16a4_a_mag"},{"draw_m16a2_mag"},{"draw_fn_fal_mag"},
{"draw_g36c_sd_mag"},{"draw_g36c_c_mag"},{"draw_g36c_sd_c_mag"},
{"draw_famas_mag"},{"draw_fn_scar_20_mag"},{"draw_fn_scar_h_mag"},
{"draw_fn_scar_l_mag"},{"draw_ak_103_mag"},{"draw_ak_105_mag"},
{"draw_akm4_mag"},{"draw_sig_556_mag"},{"draw_ak_74_mag"},
{"draw_akm_mag"},{"draw_aks_gold_mag"},{"draw_g36c_mag"},
{"draw_mk_48_mag"},{"draw_m249_saw_mag"},{"draw_pkp_mag"},
{"draw_mg36_mag"},{"draw_pkm_mag"},{"draw_m240_mag"},
{"draw_svd_d_mag"},{"draw_as50_mag"},{"draw_ksvk_mag"},
{"draw_cz550_mag"},{"draw_m200_mag"},{"draw_m40a3_mag"},
{"draw_m24_mag"},{"draw_m107_mag"},{"draw_dmr_mag"},
{"draw_svd_c_mag"},{"draw_m200_c_mag"},{"draw_lee_enfield_mag"},
{"draw_winchester_1866_mag"},{"draw_sawn_off_mag"},{"draw_spaz_12_mag"},
{"draw_pdw_mag"},{"draw_mp5a5_mag"},{"draw_m1911_mag"},
{"draw_m9_sd_mag"},{"draw_desert_eagle_mag"},
{"draw_Alpha"},{"draw_Cheetah"},{"draw_Jester"},{"draw_Bullet"},
{"draw_Flash"},{"draw_Stratum"},{"draw_Phoenix"},{"draw_Premier"},
{"draw_Blade"},{"draw_Infernus"},{"draw_Sunrise"},{"draw_Turismo"},
{"draw_Super_GT"},{"draw_Elegy"},{"draw_Sultan"},{"draw_ZR_350"},
{"draw_Banshee"},{"draw_Buffalo"},{"draw_Comet"},{"draw_Uranus"},
{"draw_Hotring_Racer_1"},{"draw_Hotring_Racer_2"},{"draw_Hotring_Racer_3"},
{"draw_Remington"},{"draw_Savanna"},{"draw_Slamvan"},{"draw_Tornado"},
{"draw_Elegant"},{"draw_Bravura"},{"draw_Clover"},{"draw_Sentinel"},
{"draw_Hustler"},{"draw_Majestic"},{"draw_Stafford"},{"draw_Tahoma"},
{"draw_Washington"},{"draw_Willard"},{"draw_Sabre"},{"draw_Tampa"},
{"draw_Bobcat"},{"draw_Yosemite"},{"draw_BF_Injection"},{"draw_Monster_2"},
{"draw_Club"},{"draw_Huntley"},{"draw_Landstalker"},{"draw_Rancher"},
{"draw_Mesa"},{"draw_Sandking"},{"draw_Vincent"},{"draw_Barracks"},
{"draw_Patriot"},{"draw_FBI_Rancher"},{"draw_Police_LS"},{"draw_FCR_900"},
{"draw_Freeway"},{"draw_NRG_500"},{"draw_PCJ-600"},{"draw_Sanchez"},
{"draw_BF_400"},{"draw_Vortex"},{"draw_Cargobob"},{"draw_Leviathan"},
{"draw_Maverick"},{"draw_Maverick_news"},{"draw_Police_Maverick"},
{"draw_Raindance"},{"draw_Sparrow"},{"draw_Beagle"},
{"draw_Cropduster"},{"draw_Dodo"},{"draw_Nevada"},
{"draw_Rustler"},{"draw_Shamal"},{"draw_Stuntplane"},
}
spawnPositions = {
{-278.6669921875,-2882.1572265625,32.104232788086},
{-958.5595703125,-2887.9912109375,64.82421875},
{-1816.9375,-2748.18359375,1.7327127456665},
{-2816.166015625,-2439.0546875,2.4004096984863},
{-2941.5673828125,-1206.2373046875,2.7848854064941},
{-2911.51171875,-895.22265625,2.4013109207153},
{-2185.6669921875,2957.380859375,11.474840164185},
{272.2265625,2928.505859375,1.3713493347168},
{2803.943359375,595.9365234375,7.7612648010254},
{2883.7509765625,-178.4658203125,3.2714653015137},
{-233.46484375,-1735.8173828125,1.5520644187927},
{-1056.8720703125,2939.068359375,42.311294555664},
{766.48370361328,356.36437988281,19.99195098877},
{-924.95837402344,-535.63421630859,25.953638076782},
{-729.53869628906,1546.6802978516,38.991924285889},
{2938.9916992188,-2051.7080078125,3.5480432510376},
{-105.290184021,-782.76495361328,2.7722702026367},
{-2946.1752929688,1181.4765625,6.221887588501},
{2488.8999023438,658.79998779297,10.5},
{-2023.3000488281,-971.5,31.799999237061},
{-83.488349914551,-1551.6058349609,2.6107201576233},
{1221.927734375,-987.42333984375,43.4765625},
{1432.2175292969,375.1872253418,18.891815185547},
{1311.5828857422,1085.8265380859,10.8203125},
{267.57601928711,2925.4536132813,1.7973365783691},
{-2616.9028320313,2257.7609863281,8.1881265640259},
{-2446.7370605469,740.62481689453,35.015625},
{-2129.4482421875,-164.38093566895,35.3203125},
{-1706.8332519531,983.16357421875,17.5859375},
{-1040.0919189453,1548.2595214844,32.993835449219},
{1246.4309082031,207.1018371582,23.055511474609},
{-1950.2236, -2033.1748, 72.420822},
{-1241.457, -2299.4229, 19.809313},
{-1961.8516, 2386.9619, 49.492188},
{1244.0713, -418.6748, 3.0680313},
{1085.8711, 301.49121, 23.379936},
{-401.95687866211,-1565.4560546875,21.90863609314},
{-212.17906188965,-2286.0715332031,28.891666412354},
{-1016.3446044922,-2642.83984375,100.46803283691},
{-1634.3276367188,-2245.2980957031,31.4765625},
{-2313.5483398438,-2311.1225585938,23.206127166748},
{-2870.8293457031,621.09106445313,6.2329473495483},
{-2367.9626464844,1540.9234619141,17.328125},
{-1256.2762451172,2624.6953125,89.126235961914},
{1257.6221923828,2950.1479492188,24.503984451294},
{2458.234375,380.28567504883,27.937704086304},
{1553.2087402344,399.36721801758,20.234375},
{213.36863708496,-550.23046875,52.794273376465},
{966.00006103516,-2169.4724121094,13.09375},
{-352.56533813477,-192.57159423828,58.400115966797},
{-733.78247070313,-706.51910400391,103.80834197998},
{42.852714538574,849.83483886719,38.335262298584},
{2828.9904785156,2927.0913085938,36.5046043396},
{2967.5205078125,1827.8380126953,17.751098632813},
{1979.1329345703,-1583.4797363281,13.589825630188},
}
function MRCashBoxData ( user, amount )
amount = amount*2
account = getAccount(user)
if account then
updateDonatInfo(amount, "+", user)
outputServerLog("На аккаунт "..user.." поступило "..amount.." донат очков")
thePlayer = getAccountPlayer(account)
if thePlayer then
if getElementData(thePlayer,"logedin") then
setElementData(thePlayer,"donat",(getElementData(thePlayer,"donat") or 0)+amount)
outputServerLog("Игроку "..getPlayerName(thePlayer).." поступило "..amount.." донат очков")
end
end
else
outputServerLog("Ошибка поплонения! Проблема с аккаунтом "..user..". Должно было поступить "..amount.." донат очков")
end
end
function MRCashBoxCheck ( user )
account = getAccount(user)
if account then
return {"OK"}
else
return {"ERROR"}
end
end