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

Wysłany: 2020-08-29, 18:43


StifMaster







Wiek: 30
Na forum: 3525 dni
Posty: 57
Nick w MP: Sztefi

Piwa: 5

Respekt: 50

Po kupieniu domku kursor nie chowa si?.

s.lua
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 domy[v.idthen
        usunDom(v.id)
    end
    local result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_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
    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)
        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["pystories-db"]:dbSet("select login,login2,id from pystories_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["pystories-db"]:dbSet("select login,login2,id from pystories_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["pystories-db"]:dbSet("select login,login2,id from pystories_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,
    })

    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["pystories-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["pystories-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 pystories_users c ON c.id=d.ownerid AND d.ownerid IS NOT NULL;")
    else
        dbdomy=exports["pystories-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 pystories_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
            if dodajDom(v,fastthen i=i+1 end
        end
    end                             
    outputDebugString("Zaladowano domow: " .. .. " w " .. (getTickCount()-tt) .. "ms")
end
addEventHandler("onResourceStart"resourceRoot, function()
    zaladujCzescDomow(100,false)
end)

function zaladujZmienioneDomy()
    local i=0
    local dbdomy=exports["pystories-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 pystories_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                             
end

setTimer(zaladujZmienioneDomy10*10000)

function domReload(id)
    local dbdom=exports["pystories-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 pystories_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

addEvent "SprawdzDom"true )
function SprawdzDom gracz )
    local dbdomy=exports["pystories-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 pystories_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:sid"))
        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)
        end end
    end
        for __,v in ipairs(dbdomy) do
        local uid=tonumber(getElementData(gracz,"player:sid"))
        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
addEventHandler "SprawdzDom"rootSprawdzDom )

function kupdom(czas,domid)
local kasa=client:getMoney()
q=exports["pystories-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["pystories-db"]:dbSet("update lss_domy set ownerid=?, paidTo=NOW()+INTERVAL ? DAY, lokator1=NULL, lokator2=NULL, lokator3=NULL where id=?"client:getData("player:sid"), 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["pystories-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:sid"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["pystories-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["pystories-db"]:dbSet("select id from pystories_users where id=?"uid)
if #q2> 0 then
q=exports["pystories-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 (tonumber(q.lokator1) and tonumber(q.lokator1) ~= 0) and (tonumber(q.lokator2) and tonumber(q.lokator2) ~= 0) and (tonumber(q.lokator3) and tonumber(q.lokator3) ~= 0then client:outputChat("Osi?gni?to limit 3 lokator?w na dom!"25500) return end
    if (tonumber(q.lokator1) and tonumber(q.lokator1) == 0then
        exports["pystories-db"]:dbSet("update lss_domy set lokator1=? where id=?"uiddomid)
        domReload(domid)
        client:outputChat("Dodano nowego lokatora do domu."02550)
        return
    end
    if (tonumber(q.lokator2) and tonumber(q.lokator2) == 0then
        exports["pystories-db"]:dbSet("update lss_domy set lokator2=? where id=?"uiddomid)
        domReload(domid)
        client:outputChat("Dodano nowego lokatora do domu."02550)
        return
    end
    if (tonumber(q.lokator3) and tonumber(q.lokator3) == 0then
        exports["pystories-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["pystories-db"]:dbSet("update lss_domy set lokator1=NULL where id=?"domid)
client:outputChat("Pomy?lnie usuni?to lokatora."02550)
local dbdom=exports["pystories-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 pystories_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["pystories-db"]:dbSet("update lss_domy set lokator2=NULL where id=?"domid)
client:outputChat("Pomy?lnie usuni?to lokatora."02550)
local dbdom=exports["pystories-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 pystories_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["pystories-db"]:dbSet("update lss_domy set lokator3=NULL where id=?"domid)
client:outputChat("Pomy?lnie usuni?to lokatora."02550)
local dbdom=exports["pystories-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 pystories_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["pystories-db"]:dbSet("update lss_domy set paidTo='2000-01-01 00:00:00' where id=?"domid)
exports["pystories-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)

addCommandHandler("mieszkanie",function(plr,cmd)
if exports['pystories-admins']:getAdmin(plr,4then
local x,y,getElementPosition(plr)
local stringe = ("INSERT INTO lss_domy (descr,i,vwe,drzwi,punkt_wyjscia,interiorid,koszt,active) VALUES ('%s',%s,%s,'%s','%s',%s,%s,%s)"):format("Mieszkanie"0,0,("%.2f,%.2f,%.2f"):format(x,y,z),("%.2f,%.2f,%.2f"):format(x,y,z),8,500000,1)
local q,_,id=exports["pystories-db"]:dbSet(stringe)
domReload(id)
end
end)

addCommandHandler("dom",function(plr,cmd)
if exports['pystories-admins']:getAdmin(plr,4then
local x,y,getElementPosition(plr)
local stringe = ("INSERT INTO lss_domy (descr,i,vwe,drzwi,punkt_wyjscia,interiorid,koszt,active) VALUES ('%s',%s,%s,'%s','%s',%s,%s,%s)"):format("Dom"0,0,("%.2f,%.2f,%.2f"):format(x,y,z),("%.2f,%.2f,%.2f"):format(x,y,z),221,500000,1)
local q,_,id=exports["pystories-db"]:dbSet(stringe)
domReload(id)
end
end)

addCommandHandler("willa",function(plr,cmd)
if exports['pystories-admins']:getAdmin(plr,4then
local x,y,getElementPosition(plr)
local stringe = ("INSERT INTO lss_domy (descr,i,vwe,drzwi,punkt_wyjscia,interiorid,koszt,active) VALUES ('%s',%s,%s,'%s','%s',%s,%s,%s)"):format("Willa"0,0,("%.2f,%.2f,%.2f"):format(x,y,z),("%.2f,%.2f,%.2f"):format(x,y,z),27,1000000,1)
local q,_,id=exports["pystories-db"]:dbSet(stringe)
domReload(id)
end
end)



c.lua
mojeW,mojeH 1366768
sW,sH guiGetScreenSize()
w= (sW/mojeW), (sH/mojeH)
sx,sy=guiGetScreenSize()
local dxfont0_1 dxCreateFont(":dG-Fonty/1.ttf"10)

function isMouseIn(psx,psy,pssx,pssy,abx,aby)
    if not isCursorShowing() then return end
    cx,cy=getCursorPosition()
    cx,cy=cx*sx,cy*sy
    if cx >= psx and cx <= psx+pssx and cy >= psy and cy <= psy+pssy then
        return true,cx,cy
    else
        return false
    end
end

local dom=nil

function dbid(plr)
    local c=getElementData(plr,"player:sid")
    if not c then return nil end
    return tonumber(c)
end

function render()
if kupywanie then
        dxDrawImage(189*w165*h583*w377*h":pystories-domy/kupno.png"000tocolor(255255255255), false)
if dom.ownerid then
dxDrawText("Op?acanie domu"207*w281*h400*w299*htocolor(255255255255), 1.00dxfont0_1"center""center"falsefalsefalsefalsefalse)
dxDrawText("OP?A?"240*w461*h367*w477*htocolor(255255255255), 1.00dxfont0_1"center""center"falsefalsefalsefalsefalse)
else
dxDrawText("Kupywanie domu"207*w281*h400*w299*htocolor(255255255255), 1.00dxfont0_1"center""center"falsefalsefalsefalsefalse)
dxDrawText("KUP"240*w461*h367*w477*htocolor(255255255255), 1.00dxfont0_1"center""center"falsefalsefalsefalsefalse)
end
dxDrawText("Koszt:"252*w394*h357*w414*htocolor(255255255255), 1.00dxfont0_1"center""center"falsefalsefalsefalsefalse)
dxDrawText("Czas wynajecia: "208*w321*h400*w340*htocolor(255255255255), 1.00dxfont0_1"center""top"falsefalsefalsefalsefalse)
if isElement(editcostthen
cost=guiGetText(edittime)
if not tonumber(costthen
cost=0
end
if string.len(tostring(cost)) < 1 then
cost=0
end
if tonumber(cost) < 1 then
cost=0
end
sscost=cost*dom.koszt
guiSetText(editcostsscost.." PLN")
end
end
if not editing then

dxDrawImage(404*w208*h565*w347*h":pystories-domy/dom.png"000tocolor(255255255255), false)
dxDrawText("Zarz?dzanie domem (ID: "..dom.id..")"408*w281*h958*w298*htocolor(255255255255), 1.00dxfont0_1"center""center"falsefalsefalsefalsefalse)
dxDrawRectangle(796*w435*h152*w42*htocolor(000200), false)
dxDrawText("Zamknij"797*w435*h948*w477*htocolor(255255255255), 1.00dxfont0_1"center""center"falsefalsefalsefalsefalse)
dxDrawRectangle(606*w435*h152*w42*htocolor(000200), false)
dxDrawRectangle(419*w435*h152*w42*htocolor(000200), false)
if dom.ownerid then
dxDrawRectangle(434*w408*h127*w16*htocolor(000200), false)
dxDrawRectangle(618*w408*h127*w16*htocolor(000200), false)
dxDrawRectangle(808*w408*h127*w16*htocolor(000200), false)
dxDrawText("Zwolnij dom"997*w407*h745*w424*htocolor(255255255255), 1.00dxfont0_1"center""center"falsefalsefalsefalsefalse)
dxDrawText("Lokatorzy"617*w407*h745*w424*htocolor(255255255255), 1.00dxfont0_1"center""center"falsefalsefalsefalsefalse)
dxDrawText("Wejd?"420*w435*h571*w477*htocolor(255255255255), 1.00dxfont0_1"center""center"falsefalsefalsefalsefalse)
dxDrawText("Op?a? dom"607*w435*h758*w477*htocolor(255255255255), 1.00dxfont0_1"center""center"falsefalsefalsefalsefalse)
if not dom.zamkniety then
dxDrawText("Zamknij dom"433*w408*h559*w425*htocolor(255255255255), 1.00dxfont0_1"center""center"falsefalsefalsefalsefalse)
else
dxDrawText("Otw?rz dom"433*w408*h559*w425*htocolor(255255255255), 1.00dxfont0_1"center""center"falsefalsefalsefalsefalse)
end
else
dxDrawText("Kup dom"607*w435*h758*w477*htocolor(255255255255), 1.00dxfont0_1"center""center"falsefalsefalsefalsefalse)
dxDrawText("Zobacz dom"420*w435*h571*w477*htocolor(255255255255), 1.00dxfont0_1"center""center"falsefalsefalsefalsefalse)
end
if dom.paidTo then
oplacony="Dom jest op?acony do "..dom.paidTo.." ("..dom.paidTo_dni.." dni)"
else
oplacony="Dom jest op?acony do - - (0 dni)."
end
dxDrawText("Koszt jednej doby wynosi: "..dom.koszt.." PLN\nW?a?ciciel: "..(dom.owner_nick or "do wynaj?cia").."\n"..oplacony..""434*w329*h933*w380*htocolor(255255255255), 1.00dxfont0_1"center""center"falsefalsefalsefalsefalse)
if isMouseIn(419*w435*h152*w42*hthen
dxDrawRectangle(420*w477*h151*w2*htocolor(0,128,0), false)
else
dxDrawRectangle(420*w477*h151*w2*htocolor(255255255200), false)
end
if isMouseIn(606*w435*h152*w42*hthen
dxDrawRectangle(607*w477*h151*w2*htocolor(0,128,0), false)
else
dxDrawRectangle(607*w477*h151*w2*htocolor(255255255200), false)
end
if isMouseIn(796*w435*h152*w42*hthen
dxDrawRectangle(797*w477*h151*w2*htocolor(0,128,0), false)
else
dxDrawRectangle(797*w477*h151*w2*htocolor(255255255200), false)
end
else
dxDrawRectangle(572*w260*h223*w215*htocolor(0,128,0), false)
dxDrawText("Lokatorzy"572*w260*h795*w278*htocolor(255255255255), 1.00dxfont0_1"center""center"falsefalsefalsefalsefalse)
dxDrawText("1: "..(dom.lokator1 or "brak").."\n2: "..(dom.lokator2 or "brak").."\n3: "..(dom.lokator3 or "brak").."\nAby usun?? lokatora podaj numer\nwymieniony wy?ej, natomiast je?li\nchcesz doda? lokatora podaj jego sid"573279795370tocolor(255255255255), 1.00dxfont0_1"center""center"falsefalsefalsefalsefalse)
if isElement(editthen
local text=guiGetText(edit)
guiSetText(editstring.gsub(text'[^0-9]''' ))
end
end
end

addEventHandler("onClientColShapeHit"resourceRoot, function(el,md)
    if el~=localPlayer or not md then return end
    if getElementType(el) == "player" and not getPedOccupiedVehicle(elthen
    local dom2=getElementData(source,"dom")
    if not dom2 then return end
        if dom then return end
        dom=dom2
        addEventHandler("onClientRender"rootrender)
        addEventHandler("onClientClick"rootclick)
        showCursor(true)
        kupywanie=false
        editing=false
    end
end)

function czyGraczJestLokatorem()
if dom then
    if dom.lokator1sid==localPlayer:getData("player:sid") or dom.lokator2sid==localPlayer:getData("player:sid") or dom.lokator3sid==localPlayer:getData("player:sid"then
        return true
    else
        return false
    end
end
end

function click(btn,state)
if btn=="left" and state=="down" then
    if isMouseIn(419*w435*h152*w42*hthen
        domWejscie()
    elseif isMouseIn(796*w435*h152*w42*h) and not editing then
        removeEventHandler("onClientRender"rootrender)
        removeEventHandler("onClientClick"rootclick)
        dom=nil
        showCursor(false)
        if isElement(editcostthen
        editcost:destroy()
        end
        if isElement(edittimethen
        edittime:destroy()
        end
        if isElement(btn1then
        btn1:destroy()
        end
        if isElement(btn2then
        btn2:destroy()
        end
        if isElement(btn3then
        btn3:destroy()
        end
        if isElement(editthen
        edit:destroy()
        end
    elseif isMouseIn(606*w435*h152*w42*h) and not editing then
        if isElement(editcostthen
            editcost:destroy()
            edittime:destroy()
            kupywanie=false
        else
            editcost GuiEdit(250*w419*h107*w20*h"0 PLN"false)
            guiEditSetReadOnly(editcosttrue)
            edittime GuiEdit(250*w350*h107*w20*h""false)
            guiEditSetMaxLength(edittime2)
            kupywanie=true
        end
    elseif isMouseIn(240*w461*h127*w16*h) and kupywanie and dom and not dom.ownerid and not editing then
        triggerEvent('onClientAddNotification'localPlayer'Dom musi by? op?acony za minimum 1 PLN''info')
        triggerServerEvent("DOMY:kup"localPlayerguiGetText(edittime), dom.id)
        removeEventHandler("onClientRender"rootrender)
        removeEventHandler("onClientClick"rootclick)
        dom=nil
        showCursor(false)
        editcost:destroy()
        edittime:destroy()
        kupywanie=false
    elseif isMouseIn(240*w461*h127*w16*h) and kupywanie and dom and dom.ownerid and not editing then
        if dom.ownerid ~= localPlayer:getData("player:sid"then
            triggerEvent('onClientAddNotification'localPlayer'Brak uprawnien!''info')
            return
        end
        --triggerEvent('onClientAddNotification'localPlayer'Koszt domu nie mo?e by? mniejszy ni? 1 PLN''info')
        triggerServerEvent("DOMY:oplac"localPlayerguiGetText(edittime), dom.id)
        removeEventHandler("onClientRender"rootrender)
        removeEventHandler("onClientClick"rootclick)
        dom=nil
        showCursor(false)
        editcost:destroy()
        edittime:destroy()
        kupywanie=false
    elseif isMouseIn(434*w408*h127*w16*h) and dom.ownerid and not editing then
        if dom.ownerid ~= localPlayer:getData("player:sid") and not czyGraczJestLokatorem() then
            triggerEvent('onClientAddNotification'localPlayer'Brak uprawnien!''info')
            return
        end
        triggerServerEvent("onHouseChangeOptions"resourceRootdom.id"zamkniety"not dom.zamkniety)
        removeEventHandler("onClientRender"rootrender)
        removeEventHandler("onClientClick"rootclick)
        dom=nil
        showCursor(false)
        if isElement(editcostthen
        editcost:destroy()
        end
        if isElement(edittimethen
        edittime:destroy()
        end
        if isElement(btn1then
        btn1:destroy()
        end
        if isElement(btn2then
        btn2:destroy()
        end
        if isElement(btn3then
        btn3:destroy()
        end
        if isElement(editthen
        edit:destroy()
        end
    elseif isMouseIn(808*w408*h127*w16*h) and dom.ownerid and not editing then
        if dom.ownerid ~= localPlayer:getData("player:sid"then
            triggerEvent('onClientAddNotification'localPlayer'Brak uprawnien!''info')
            return
        end
        triggerServerEvent("DOM:zwolnij"localPlayerdom.id)
        removeEventHandler("onClientRender"rootrender)
        removeEventHandler("onClientClick"rootclick)
        dom=nil
        showCursor(false)
        if isElement(editcostthen
        editcost:destroy()
        end
        if isElement(edittimethen
        edittime:destroy()
        end
        if isElement(btn1then
        btn1:destroy()
        end
        if isElement(btn2then
        btn2:destroy()
        end
        if isElement(btn3then
        btn3:destroy()
        end
        if isElement(editthen
        edit:destroy()
        end
    elseif isMouseIn(618*w408*h127*w16*h) and not editing and dom.ownerid then
        if dom.ownerid ~= localPlayer:getData("player:sid"then
            triggerEvent('onClientAddNotification'localPlayer'Brak uprawnien!''info')
            return
        end
        editing=true
        kupywanie=false
        if isElement(editcostthen
        editcost:destroy()
        end
        if isElement(edittimethen
        edittime:destroy()
        end
        if isElement(btn1then
        btn1:destroy()
        end
        if isElement(btn2then
        btn2:destroy()
        end
        if isElement(btn3then
        btn3:destroy()
        end
        if isElement(editthen
        edit:destroy()
        end
        btn1 GuiButton(589*w391*h41*w30*h"Dodaj"false)
        btn2 GuiButton(739*w391*h41*w30*h"Usu?"false)
        btn3 GuiButton(642*w443*h87*w25*h"Powr?t"false)
        edit GuiEdit(640*w395*h89*w20*h""false)
        addEventHandler("onClientGUIClick"btn3, function(btn)
            if btn=="left" then
                editing=false
                btn1:destroy()
                btn2:destroy()
                btn3:destroy()
                edit:destroy()
            end
        end)
        addEventHandler("onClientGUIClick"btn1, function(btn)
            if btn=="left" then
                local text=guiGetText(edit)
                if not tonumber(textthen return end
                if dom.lokator1sid == text or dom.lokator2sid == text or dom.lokator3sid == text then
                triggerEvent('onClientAddNotification'localPlayer'Jest juz zapisany ten lokator!''info')
                    return
                end
                if tonumber(text) == tonumber(localPlayer:getData("player:sid")) then
                triggerEvent('onClientAddNotification'localPlayer'Nie mozesz dodac siebie!''info')
                    return
                end
                triggerServerEvent("DOM:lokator+"localPlayertextdom.id)
                removeEventHandler("onClientRender"rootrender)
                removeEventHandler("onClientClick"rootclick)
                dom=nil
                showCursor(false)
                if isElement(editcostthen
                editcost:destroy()
                end
                if isElement(edittimethen
                edittime:destroy()
                end
                if isElement(btn1then
                btn1:destroy()
                end
                if isElement(btn2then
                btn2:destroy()
                end
                if isElement(btn3then
                btn3:destroy()
                end
                if isElement(editthen
                edit:destroy()
                end
            end
        end)
        addEventHandler("onClientGUIClick"btn2, function(btn)
            if btn=="left" then
                local text=guiGetText(edit)
                if not tonumber(textthen return end
                if tonumber(text) ~= and tonumber(text) ~= and tonumber(text) ~= 3 then exports.noti:showBox("info","Musisz wybra? lokatora!") return end
                triggerServerEvent("DOM:lokator-"localPlayertonumber(text), dom.id)
                removeEventHandler("onClientRender"rootrender)
                removeEventHandler("onClientClick"rootclick)
                dom=nil
                showCursor(false)
                if isElement(editcostthen
                editcost:destroy()
                end
                if isElement(edittimethen
                edittime:destroy()
                end
                if isElement(btn1then
                btn1:destroy()
                end
                if isElement(btn2then
                btn2:destroy()
                end
                if isElement(btn3then
                btn3:destroy()
                end
                if isElement(editthen
                edit:destroy()
                end
            end
        end)        
    end
end
end

addEventHandler("onClientColShapeLeave"resourceRoot, function(el,md)
    if el~=localPlayer then return end
    if dom ~= nil then
        removeEventHandler("onClientRender"rootrender)
        removeEventHandler("onClientClick"rootclick)
        dom=nil
        editing=false
        showCursor(false)
        if isElement(editcostthen
        editcost:destroy()
        end
        if isElement(edittimethen
        edittime:destroy()
        end
        if isElement(btn1then
        btn1:destroy()
        end
        if isElement(btn2then
        btn2:destroy()
        end
        if isElement(btn3then
        btn3:destroy()
        end
        if isElement(editthen
        edit:destroy()
        end
    end
end)

function domWejscie()
    if not dom then return end
    local dbid=dbid(localPlayer)
    removeEventHandler("onClientRender"rootrender)
    removeEventHandler("onClientClick"rootclick)
    showCursor(false)
    if isElement(editcostthen
    editcost:destroy()
    end
    if isElement(edittimethen
    edittime:destroy()
    end
    if isElement(btn1then
    btn1:destroy()
    end
    if isElement(btn2then
    btn2:destroy()
    end
    if isElement(btn3then
    btn3:destroy()
    end
    if isElement(editthen
    edit:destroy()
    end
    kupywanie=false
    if not dom.ownerid then
        ad=dom
        triggerServerEvent("moveMeTo"resourceRootdom.interior_loc[1], dom.interior_loc[2], dom.interior_loc[3], dom.interiordom.dimension)
        setTimer(function(d,p)
            if (getElementDimension(localPlayer)==dthen
                triggerServerEvent("moveMeTo"resourceRootp[1], p[2], p[3], 0,0)
            end
        end30000,1,ad.dimensionad.exit_loc)
    elseif not dom.zamkniety or dom.ownerid==dbid or czyGraczJestLokatorem() then
        triggerServerEvent("moveMeTo"resourceRootdom.interior_loc[1], dom.interior_loc[2], dom.interior_loc[3], dom.interiordom.dimension)

    elseif dom.zamkniety then
        triggerEvent("onAnnouncement3",root,"Zamkni?te"3)
    end
    dom=nil
end

local function domOpcje()    
end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-29, 19:47


VVirmex

Sgrypter luja






Wiek: 21
Na forum: 3365 dni
Posty: 281
Nick w MP: AxyZ

Piwa: 234

Respekt: 110
Respekt: 110

Bodaj?e od tego jest odpowiedzialna funkcja


Więcej informacji znajdziesz w Wikipedii MTA:

showCursor


i by schowa? kursor musisz u?y? false, czyli:

Serverside:

function gtao(player)
      showCursor(playerfalse) -- G??wnie chodzi o to
end


Lub clientside:

showCursor(false)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-29, 20:03


StifMaster







Wiek: 30
Na forum: 3525 dni
Posty: 57
Nick w MP: Sztefi

Piwa: 5

Respekt: 50

VVirmex, nie dzia?a ;/ Mozliwe ze co? ?le robi?, ale w?tpie :(

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-29, 21:47


VVirmex

Sgrypter luja






Wiek: 21
Na forum: 3365 dni
Posty: 281
Nick w MP: AxyZ

Piwa: 234

Respekt: 110
Respekt: 110

A poka? kod po edycji.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-30, 10:03


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Zlokalizuj linijki kt?re s? odpowiedzialne za zamykanie si? okna, i dopisz do nich

showCursor(false)

Chodzi o stron? clienta

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-30, 13:01


StifMaster







Wiek: 30
Na forum: 3525 dni
Posty: 57
Nick w MP: Sztefi

Piwa: 5

Respekt: 50

Shuffle, wszystkie linijki odpawiadajace za zamykanie maj? showCursor(false)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-30, 13:14


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

W takim razie, otwieranie cursora jest w innym zasobie.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-30, 13:15


StifMaster







Wiek: 30
Na forum: 3525 dni
Posty: 57
Nick w MP: Sztefi

Piwa: 5

Respekt: 50

Shuffle, Moze inaczej, podczas gdy klikne zakup dom, pojawia si? ma?e okienko, w kt?rym wpisuj? ilo?? dni oraz jest koszt. Gdy jest to okienko i kupie to pozostaje kursor. A je?li nie b?dzie tego ma?ego okienka i klikn? zamknij okno to cursor znika.

[ Dodano: 2020-08-30, 13:27 ]
Shuffle, w admins > console mam otwieranie kursora pod F3. Ale nawet jak zostaje ten cursor to f3 nie mozna go zamknac

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-30, 13:38


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Dlatego, ?e gdy otwiera si? to ma?e okienko jest showCursor(true) - po co, skoro jest otwarty? Albo wykasuj ta linijke albo po zamknieciu okienka daj showCursor(False)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-30, 13:56


StifMaster







Wiek: 30
Na forum: 3525 dni
Posty: 57
Nick w MP: Sztefi

Piwa: 5

Respekt: 50

Shuffle, Ten showCursor(true) odpowiada za to, ?e jak wejdzie sie w blip domku to cursor si? pokazuje. Daj?c tam false kursor si? nie pokazuje

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-30, 14:01


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

No dobrze, ale pewnie masz showCursor na true przy odpaleniu glownego okna, oraz przy odpaleniu malego okienka prawda?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-30, 14:03


StifMaster







Wiek: 30
Na forum: 3525 dni
Posty: 57
Nick w MP: Sztefi

Piwa: 5

Respekt: 50

Shuffle, Teraz r?wnie? zauwa?y?em, ?e jak kliknie si? w okienko gdzie wpisuje si? dni, to wtedy cursor nie znika

[ Dodano: 2020-08-30, 14:05 ]
Shuffle, w cliencie jest jedno showCursor(true) i odpowiada ono w?a?nie za ten kursor kt?ry odpala si? po wej?ciu w blip

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-09-01, 10:12


Hemoglobina

Tylko Hema






Wiek: 29
Na forum: 3397 dni
Posty: 89
Nick w MP: Answer

Piwa: 1386

Respekt: 90


elseif isMouseIn(606*w435*h152*w42*h) and not editing then
        if isElement(editcostthen
            editcost:destroy()
            edittime:destroy()
            kupywanie=false
        else
            editcost GuiEdit(250*w419*h107*w20*h"0 PLN"false)
            guiEditSetReadOnly(editcosttrue)
            edittime GuiEdit(250*w350*h107*w20*h""false)
            guiEditSetMaxLength(edittime2)
            kupywanie=true
        end
    elseif isMouseIn(240*w461*h127*w16*h) and kupywanie and dom and not dom.ownerid and not editing then
        triggerEvent('onClientAddNotification'localPlayer'Dom musi by? op?acony za minimum 1 PLN''info')
        triggerServerEvent("DOMY:kup"localPlayerguiGetText(edittime), dom.id)
        removeEventHandler("onClientRender"rootrender)
        removeEventHandler("onClientClick"rootclick)
        dom=nil
        showCursor(false)
        editcost:destroy()
        edittime:destroy()
        kupywanie=false
    elseif isMouseIn(240*w461*h127*w16*h) and kupywanie and dom and dom.ownerid and not editing then
        if dom.ownerid ~= localPlayer:getData("player:sid"then
            triggerEvent('onClientAddNotification'localPlayer'Brak uprawnien!''info')
            return
        end
        --triggerEvent('onClientAddNotification'localPlayer'Koszt domu nie mo?e by? mniejszy ni? 1 PLN''info')
        triggerServerEvent("DOMY:oplac"localPlayerguiGetText(edittime), dom.id)
        removeEventHandler("onClientRender"rootrender)
        removeEventHandler("onClientClick"rootclick)
        dom=nil
        showCursor(false)
        editcost:destroy()
        edittime:destroy()
        kupywanie=false


W ka?dym z wy?ej wymienionych elseif dodaj jaki? outputChatBox i napisz, kt?ry aktywuje si? kiedy wyst?puje Tw?j problem.

Postaw piwo autorowi tego posta
 

 
Tagi: kursor
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Odpowiedz do tematu

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