Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2018-12-05, 21:59


Krzemo1234







Wiek: 26
Na forum: 3751 dni
Posty: 387
Nick w MP: Krzemo

Piwa: 16

Respekt: 40

Witam wyskakuje error inie mg kupi? domku


DB3: ERROR: [BLife]\[Testowane]\lss-domy\domy.lua:80: attempt to get length of local 'lokator1db' (a boolean value)


domy={}

local function usunDom(id)
    if isElement(domy[id].wyjsciethen destroyElement(domy[id].wyjscieend
    if isElement(domy[id].wejsciethen destroyElement(domy[id].wejscieend
    if isElement(domy[id].csthen destroyElement(domy[id].csend
    if isElement(domy[id].textthen destroyElement(domy[id].textend
    domy[id]=nil
end

function dodajDom(v,fast)

    if not interiory[v.interioridthen return false end
--    if tonumber(v.id)==151 then
--        outputChatBox("151")
--    end

    --outputDebugString(tostring(v.ownerid))
    if domy[v.idthen
        usunDom(v.id)
    end
    local result=exports["BLife-db"]:dbGet("SELECT * FROM BLife_users WHERE id=?"v.ownerid)
    if result and #result > 0 then
        local r=result[1]
        if r.login2 == false then
        v.owner_nick r.login
        else
        v.owner_nick r.login2
        end
    else
        if v.ownerid ~= false then
        outputDebugString("B?ad domu ID domu#"..v.id)
        end
        v.owner_nick "do wynaj?cia"
    end
--    outputDebugString(v.owner_nick)
    v.drzwi=split(v.drzwi,",")
    for ii,vv in ipairs(v.drzwi) do        v.drzwi[ii]=tonumber(vv)    end
    v.punkt_wyjscia=split(v.punkt_wyjscia,",")
    for ii,vv in ipairs(v.punkt_wyjscia) do        v.punkt_wyjscia[ii]=tonumber(vv)    end
    local pickupid=1272
    if (not v.owneridthen
        pickupid=1273
    end
    v.wejscie=createPickup v.drzwi[1], v.drzwi[2], v.drzwi[3], 3pickupid0)
    v.cs=createColSphere(v.drzwi[1],v.drzwi[2],v.drzwi[3], 1)

    if (not fast and v.owneridthen
        v.text=createElement("text")
        setElementPosition(v.textv.drzwi[1],v.drzwi[2],v.drzwi[3]+0.5)
--        setElementPosition(v.text2903.09,-32.64,-24.62)

--        setElementData(v.text,"text""dom")
        setElementData(v.text,"text", (v.descr or "Dom").."\n"..v.owner_nick)

    end
    local interior_dimension=v.vwi or 1000+v.id
    if v.lokator1 ~= "false" then
    local lokator1db=exports["BLife-db"]:dbSet("select login,login2,id from BLife_users where id=?"v.lokator1)
    if #lokator1db > 0 then
        lokator1db=lokator1db[1]
        if lokator1db.login2 then
        lokator1=lokator1db.login2
        else
        lokator1=lokator1db.login
        end
        lokator1uid=lokator1db.id
        else
        lokator1=false
        lokator1uid=false
    end
    end
    if v.lokator2 ~= "false" then
    local lokator2db=exports["BLife-db"]:dbSet("select login,login2,id from BLife_users where id=?"v.lokator2)
    if #lokator2db > 0 then
        lokator2db=lokator2db[1]
        if lokator2db.login2 then
        lokator2=lokator2db.login2
        else
        lokator2=lokator2db.login
        end
        lokator2uid=lokator2db.id
        else
        lokator2=false
        lokator2uid=false
    end
    end
    if v.lokator3 ~= "false" then
    local lokator3db=exports["BLife-db"]:dbSet("select login,login2,id from BLife_users where id=?"v.lokator3)
    if #lokator3db > 0 then
        lokator3db=lokator3db[1]
        if lokator3db.login2 then
        lokator3=lokator3db.login2
        else
        lokator3=lokator3db.login
        end
        lokator3uid=lokator3db.id
        else
        lokator3=false
        lokator3uid=false
    end    
    end
    setElementData(v.cs"dom", { 
        ["zamkniety"]=v.zamkniety>and true or false,
        ["id"]=v.id,
        ["koszt"]=v.koszt, 
        ["ownerid"]=v.ownerid, 
        ["owner_nick"]=v.owner_nick,
        ["descr"]=v.descr or "dom", 
        ["dimension"]=interior_dimension,
        ["interior"]=interiory[v.interiorid].interior,
        ["interior_loc"]=interiory[v.interiorid].entrance,
        ["exit_loc"]=v.punkt_wyjscia,
        ["paidTo"]=v.paidTo,
        ["paidTo_dni"]=v.paidTo_dni,
        ["lokator1"]=lokator1,
        ["lokator1uid"]=lokator1uid,
        ["lokator2"]=lokator2,
        ["lokator2uid"]=lokator2uid,
        ["lokator3"]=lokator3,
        ["lokator3uid"]=lokator3uid,
--        ["veha"]=(v.vehicles_allowed and v.vehicles_allowed>0) and true or false
    })



-- dodajemy wyjscie
    v.wyjscie=createMarker(interiory[v.interiorid].exit[1], interiory[v.interiorid].exit[2], interiory[v.interiorid].exit[3], "arrow",1)
    setElementDimension(v.wyjscieinterior_dimension)
    setElementInterior(v.wyjscieinteriory[v.interiorid].interior)
    setElementData(v.wyjscie,"tpto"v.punkt_wyjscia)


    local dbid=v.id
    v.id=nil
    domy[dbid]=v

    return true
end

function domyGetInfo(id)
    return domy[id]
end

local function zaladujCzescDomow(procent,fast)
    local tt=getTickCount()
    i=0
    exports["BLife-db"]:dbSet("UPDATE lss_domy SET paidTo=NULL,ownerid=NULL,lokator1=NULL,lokator2=NULL,lokator3=NULL where paidTo<NOW() or paidTo IS NULL")
    local dbdomy
    if fast then
        dbdomy=exports["BLife-db"]:dbGet("SELECT d.id,d.lokator1,d.lokator2,d.lokator3,d.descr,d.vwi,d.drzwi,d.punkt_wyjscia,d.interiorid,d.ownerid,d.zamkniety,d.koszt,d.paidTo,datediff(d.paidTo,now()) paidTo_dni FROM lss_domy d LEFT JOIN BLife_users c ON c.id=d.ownerid AND d.ownerid IS NOT NULL;")
    else
        dbdomy=exports["BLife-db"]:dbGet("SELECT d.id,d.lokator1,d.lokator2,d.lokator3,d.descr,d.vwi,d.drzwi,d.punkt_wyjscia,d.interiorid,d.ownerid,d.zamkniety,d.koszt,d.paidTo,datediff(d.paidTo,now()) paidTo_dni FROM lss_domy d LEFT JOIN BLife_users c ON c.id=d.ownerid WHERE d.active=1;")
    end
    for __,v in ipairs(dbdomy) do
        if math.random(0,100)<=procent then
--            outputChatBox("Wgrywanie domu " .. v.id)
            if dodajDom(v,fastthen i=i+1 end
        end
    end                             
    outputDebugString("Zaladowano domow: " .. .. " w " .. (getTickCount()-tt) .. "ms")
end
-- setTimer(zaladujCzescDomow10*1000*600100)
addEventHandler("onResourceStart"resourceRoot, function()
    zaladujCzescDomow(100,false)
end)



function zaladujZmienioneDomy()
    local i=0
    local dbdomy=exports["BLife-db"]:dbGet("SELECT d.id,d.lokator1,d.lokator2,d.lokator3,d.descr,d.vwi,d.drzwi,d.punkt_wyjscia,d.interiorid,d.ownerid,d.zamkniety,d.koszt,d.paidTo,datediff(d.paidTo,now()) paidTo_dni FROM lss_domy d LEFT JOIN BLife_users c ON c.id=d.ownerid WHERE d.active=1 AND timediff(now(),d.updated)<'00:09:00' AND datediff(now(),d.updated)<1")
    for __,v in ipairs(dbdomy) do

            if dodajDom(vthen i=i+1 end
    end                             
    --outputDebugString("Zaladowano zmienionych domow: " .. i)
end

setTimer(zaladujZmienioneDomy10*10000)


function domReload(id)
    local dbdom=exports["BLife-db"]:dbGet("SELECT d.id,d.lokator1,d.lokator2,d.lokator3,d.descr,d.vwi,d.drzwi,d.punkt_wyjscia,d.interiorid,d.ownerid,d.zamkniety,d.koszt,d.paidTo,datediff(d.paidTo,now()) paidTo_dni FROM lss_domy d LEFT JOIN BLife_users c ON c.id=d.ownerid WHERE d.active=1 AND timediff(now(),d.updated)<'00:09:00' AND datediff(now(),d.updated)<1 and d.id=?"id)
    if dbdom then
    for i,v in ipairs(dbdom) do
        return dodajDom(v)
    end
    end
    return false
end

-- Add a new event called onSpecialEvent
addEvent "SprawdzDom"true )
-- Define our handler function
function SprawdzDom gracz )
    local q=exports["BLife-db"]:dbGet("select id,house from BLife_users where id=? and house IS NOT NULL",getElementData(gracz,"player:uid"))
    if #q < 1 then
    local dbdomy=exports["BLife-db"]:dbGet("SELECT d.id,d.lokator1,d.lokator2,d.lokator3,d.descr,d.vwi,d.drzwi,d.punkt_wyjscia,d.interiorid,d.ownerid,d.zamkniety,d.koszt,d.paidTo,datediff(d.paidTo,now()) paidTo_dni FROM lss_domy d LEFT JOIN BLife_users c ON c.id=d.ownerid AND d.ownerid IS NOT NULL;")
    for __,v in ipairs(dbdomy) do
        local uid=tonumber(getElementData(gracz,"player:uid"))
        local r=v.ownerid
        v.drzwi=split(v.drzwi,",")
        for ii,vv in ipairs(v.drzwi) do        v.drzwi[ii]=tonumber(vv)    end
        if r then if == uid then 
        setElementData(gracz,"player:house",true)
        tak=({v.drzwi[1],v.drzwi[2],v.drzwi[3]})
        setElementData(gracz,"player:spawn",tak)
        
        --        for ii,vv in ipairs(v.drzwi) do        v.drzwi[ii]=tonumber(vv)    end
        --if r then if == uid then 
        --setElementData(gracz,"player:house",true)
        --tak[#tak+1]={v.drzwi[1],v.drzwi[2],v.drzwi[3]})
    --    setElementData(gracz,"player:house:list",tak)
        --end end
        
        end end
    --    if v.ownerid == getElementData(gracz,"player:uid"then
    --    setElementData(gracz,"player:house",{v.drzwi[1],v.drzwi[2],v.drzwi[3]})
    --    end
    end
        elseif #q > 0 then
        local qr=exports["BLife-db"]:dbGet("select ownerid,drzwi,id from lss_domy where id=?"q[1].house)
        for i,v in ipairs(qr) do
        local uid=tonumber(getElementData(gracz,"player:uid"))
        v.drzwi=split(v.drzwi,",")
        for ii,vv in ipairs(v.drzwi) do        v.drzwi[ii]=tonumber(vv)    end
        setElementData(gracz,"player:house",true)
        tak=({v.drzwi[1],v.drzwi[2],v.drzwi[3]})
        setElementData(gracz,"player:spawn",tak)
        end
    end
end
-- Add the event handler
addEventHandler "SprawdzDom"rootSprawdzDom )

function kupdom(czas,domid)
local kasa=client:getMoney()
q=exports["BLife-db"]:dbSet("select ownerid,koszt,id from lss_domy where id=?"domid)
if #q < 1 then
    client:outputChat("Wyst?pi? b??d, nie znaleziono takiego domu!"25500)
    return
end
q=q[1]
if q.ownerid then
    client:outputChat("Ten dom ma ju? w?a?ciciela!"25500)
    return
end
koszt=q.koszt*czas
if kasa koszt then
    client:outputChat("Nie sta? Ci? na kupno tego domu! ("..koszt.." PLN)"25500)
    return
end
takePlayerMoney(clientkoszt)
exports["BLife-db"]:dbSet("update lss_domy set ownerid=?, paidTo=NOW()+INTERVAL ? DAY, lokator1=NULL, lokator2=NULL, lokator3=NULL where id=?"client:getData("player:uid"), czasdomid)
domReload(domid)
client:outputChat("Pomy?lnie zakupi?e? dom, pobrano z konta "..koszt.." PLN!"02550end
addEvent("DOMY:kup"true)
addEventHandler("DOMY:kup"rootkupdom)

function oplacdom(czas,domid)
local kasa=client:getMoney()
q=exports["BLife-db"]:dbSet("select ownerid,koszt,id from lss_domy where id=?"domid)
if #q < 1 then
    client:outputChat("Wyst?pi? b??d, nie znaleziono takiego domu!"25500)
    return
end
q=q[1]
if q.ownerid ~= client:getData("player:uid"then
    client:outputChat("To nie jest tw?j dom!"25500)
    return
end
koszt=q.koszt*czas
if kasa koszt then
    client:outputChat("Nie sta? Ci? na op?acenie tego domu! ("..koszt.." PLN)"25500)
    return
end
takePlayerMoney(clientkoszt)
exports["BLife-db"]:dbSet("update lss_domy set paidTo=paidTo+INTERVAL ? DAY where id=?"czasdomid)
domReload(domid)
client:outputChat("Pomy?lnie op?aci?e? dom na "..czas.." dni, pobrano z konta "..koszt.." PLN!"02550end
addEvent("DOMY:oplac"true)
addEventHandler("DOMY:oplac"rootoplacdom)

function dodajlokator(uid,domid)
local q2=exports["BLife-db"]:dbSet("select id from BLife_users where id=?"uid)
if #q2> 0 then
q=exports["BLife-db"]:dbSet("select lokator1,lokator2,lokator3 from lss_domy where id=?"domid)
if #q < 1 then client:outputChat("Wyst?pi? b??d, nie znaleziono takiego domu!", 255, 0, 0) return end
q=q[1]
    if q.lokator1 and q.lokator2 and q.lokator3 then client:outputChat("Osi?gni?to limit 3 lokator?w na dom!"25500) return end
    if not q.lokator1 then
        exports["BLife-db"]:dbSet("update lss_domy set lokator1=? where id=?"uiddomid)
        domReload(domid)
        client:outputChat("Dodano nowego lokatora do domu."02550)
        return
    end
    if not q.lokator2 then
        exports["BLife-db"]:dbSet("update lss_domy set lokator2=? where id=?"uiddomid)
        domReload(domid)
        client:outputChat("Dodano nowego lokatora do domu."02550)
        return
    end
    if not q.lokator3 then
        exports["BLife-db"]:dbSet("update lss_domy set lokator3=? where id=?"uiddomid)
        domReload(domid)
        client:outputChat("Dodano nowego lokatora do domu."02550)
        return
    end
else
client:outputChat("Nie ma konta z takim UID!"25500)
end
end
addEvent("DOM:lokator+"true)
addEventHandler("DOM:lokator+"rootdodajlokator)

function usunlokator(id,domid)
if id == 1 then
exports["BLife-db"]:dbSet("update lss_domy set lokator1=NULL where id=?"domid)
client:outputChat("Pomy?lnie usuni?to lokatora."02550)
local dbdom=exports["BLife-db"]:dbGet("SELECT d.id,d.lokator1,d.lokator2,d.lokator3,d.descr,d.vwi,d.drzwi,d.punkt_wyjscia,d.interiorid,d.ownerid,d.zamkniety,d.koszt,d.paidTo,datediff(d.paidTo,now()) paidTo_dni FROM lss_domy d LEFT JOIN BLife_users c ON c.id=d.ownerid WHERE d.active=1 AND timediff(now(),d.updated)<'00:09:00' AND datediff(now(),d.updated)<1 and d.id=?"domid)
for i,v in ipairs(dbdom) do
dodajDom(v)
end
elseif id == 2 then
exports["BLife-db"]:dbSet("update lss_domy set lokator2=NULL where id=?"domid)
client:outputChat("Pomy?lnie usuni?to lokatora."02550)
local dbdom=exports["BLife-db"]:dbGet("SELECT d.id,d.lokator1,d.lokator2,d.lokator3,d.descr,d.vwi,d.drzwi,d.punkt_wyjscia,d.interiorid,d.ownerid,d.zamkniety,d.koszt,d.paidTo,datediff(d.paidTo,now()) paidTo_dni FROM lss_domy d LEFT JOIN BLife_users c ON c.id=d.ownerid WHERE d.active=1 AND timediff(now(),d.updated)<'00:09:00' AND datediff(now(),d.updated)<1 and d.id=?"domid)
for i,v in ipairs(dbdom) do
dodajDom(v)
end
elseif id == 3 then
exports["BLife-db"]:dbSet("update lss_domy set lokator3=NULL where id=?"domid)
client:outputChat("Pomy?lnie usuni?to lokatora."02550)
local dbdom=exports["BLife-db"]:dbGet("SELECT d.id,d.lokator1,d.lokator2,d.lokator3,d.descr,d.vwi,d.drzwi,d.punkt_wyjscia,d.interiorid,d.ownerid,d.zamkniety,d.koszt,d.paidTo,datediff(d.paidTo,now()) paidTo_dni FROM lss_domy d LEFT JOIN BLife_users c ON c.id=d.ownerid WHERE d.active=1 AND timediff(now(),d.updated)<'00:09:00' AND datediff(now(),d.updated)<1 and d.id=?"domid)
for i,v in ipairs(dbdom) do
dodajDom(v)
end
end
end
addEvent("DOM:lokator-"true)
addEventHandler("DOM:lokator-"rootusunlokator)

function zwolnijdom(domid)
exports["BLife-db"]:dbSet("update lss_domy set paidTo='2000-01-01 00:00:00' where id=?"domid)
exports["BLife-db"]:dbSet("UPDATE lss_domy SET paidTo=NULL,ownerid=NULL,lokator1=NULL,lokator2=NULL,lokator3=NULL where paidTo<NOW() or paidTo IS NULL")
domReload(domid)
client:outputChat("Pomy?lnie zwolniono dom."02550)
end
addEvent("DOM:zwolnij"true)
addEventHandler("DOM:zwolnij"rootzwolnijdom)


Podpis
Jeśli ci pomogłem zostaw zimne :piwo:
Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-12-05, 22:13


Wilq







Wiek: 24
Na forum: 4429 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Skrypt od ??czenia si? z baz? to BLife-db i ??czy si? poprawnie?
W MySQL, w bazie BLife_users posiadasz kolumn? login oraz login2?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-12-06, 11:26


Krzemo1234







Wiek: 26
Na forum: 3751 dni
Posty: 387
Nick w MP: Krzemo

Piwa: 16

Respekt: 40

Uruchamia si? normalnie bez ?adnych b??d?w , tak posiadam login/login2

Podpis
Jeśli ci pomogłem zostaw zimne :piwo:
Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-12-06, 11:59


PolskiSebek12

Programista






Wiek: 28
Na forum: 4347 dni
Posty: 343
Nick w MP: CrosRoad95

Piwa: 3883

Respekt: 288,8
Respekt: 288,8Respekt: 288,8Respekt: 288,8

Ostrzeżeń: 100%
local lokator1db = true
x = #lokator1db

wynik: "attempt to get length of local 'lokator1db' (a boolean value) "

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-12-06, 12:17


Wilq







Wiek: 24
Na forum: 4429 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Wy?lij funkcj? dbSet, mo?esz?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-12-06, 13:38


Krzemo1234







Wiek: 26
Na forum: 3751 dni
Posty: 387
Nick w MP: Krzemo

Piwa: 16

Respekt: 40

Chodzi ci o to skrypt kt?ry ??czy baze danych z serwerem ?

Podpis
Jeśli ci pomogłem zostaw zimne :piwo:
Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-12-06, 14:02


Wilq







Wiek: 24
Na forum: 4429 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

W skrypcie od ??czenia z baz? masz funkcj? dbSet, dzi?ki kt?rej wprowadzasz zmiany lub popierasz dane z bazy MySQL.
Skrypt to BLife-db

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-12-06, 20:50


Krzemo1234







Wiek: 26
Na forum: 3751 dni
Posty: 387
Nick w MP: Krzemo

Piwa: 16

Respekt: 40

ModSecurity zablokowa? zapytanie ze wzgled?w bezpiecze?stwa.

Je?eli strona wymaga tego typu zapyta?, to prosz? wy??czy? ModSecurity w panelu DirectAdmin, opcja "ustawienia mod_security".

Podpis
Jeśli ci pomogłem zostaw zimne :piwo:
Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-12-06, 21:25


Wilq







Wiek: 24
Na forum: 4429 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Wykonaj poni?sze polecenie ; )

Cytat:

wy??czy? ModSecurity w panelu DirectAdmin, opcja "ustawienia mod_security"


Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-12-06, 22:15


Krzemo1234







Wiek: 26
Na forum: 3751 dni
Posty: 387
Nick w MP: Krzemo

Piwa: 16

Respekt: 40

gdzie to si? wy??cza

Podpis
Jeśli ci pomogłem zostaw zimne :piwo:
Postaw piwo autorowi tego posta
 

 
Tagi: system :: domów :: nie :: działa
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » System domów nie działa Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku