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

Wysłany: 2020-10-29, 17:21


Patryk545







Wiek: 26
Na forum: 2365 dni
Posty: 36
Nick w MP: Patryk545

Piwa: 1

Respekt: 50

Witam mam ma?y problem z gie?d? poniewa? gdy wystawi? auto i odjad? kawa?ek od tego blipu od wystawiania auto to te napisay z cen? itp. gin? pomo?e kto??


local marker=createMarker(2119.19, -2091.64, 12.85-1, "cylinder", 5, 0,122,255,255,50)
setElementData(marker, 'typ', 'pojazd')

local cuboid=createColCuboid(2119.19, -2091.64, 12.85-1, 27.5, 71.25, 6.25)

createBlip(2119.19, -2091.64, 12.85, 43,2,0,0,0,0,0,275)

local wstep=false
local podatek=0

local text=createElement("text")
setElementPosition(text,2119.19, -2091.64, 12.85)
setElementData(text,"name","Gie?da Los Santos\nUstawianie ceny.")



function getPlayerName2(plr)
if not plr then return end
return getPlayerName(plr):gsub("#%x%x%x%x%x%x","")
end

local wm={}
wm.window=guiCreateWindow(0.74, 0.33, 0.25, 0.50, "Gielda", true)
guiWindowSetSizable(wm.window, false)
guiWindowSetMovable(wm.window, false)
guiSetVisible(wm.window, false)
wm.label=guiCreateLabel(0.06, 0.07, 0.89, 0.07, "Wpisz cen? kt?ra ma widnie? na poje?dzie.", true, wm.window)
guiLabelSetHorizontalAlign(wm.label, "center", false)
guiLabelSetVerticalAlign(wm.label, "center")
wm.label2=guiCreateLabel(0.06, 0.21, 0.89, 0.07, "Po odj?ciu podatku cena wyniesie: 0 PLN", true, wm.window)
guiLabelSetHorizontalAlign(wm.label2, "center", false)
guiLabelSetVerticalAlign(wm.label2, "center")
wm.edit=guiCreateEdit(0.06, 0.40, 0.91, 0.10, "", true, wm.window)
wm.submit2=guiCreateButton(0.06, 0.55, 0.90, 0.16, "Zgadzam si?", true, wm.window)
wm.submit=guiCreateButton(0.06, 0.75, 0.90, 0.20, "Akceptuj", true, wm.window)

addEventHandler("onClientMarkerHit", resourceRoot, function(el,md)
    if not md or el ~= localPlayer then return end
    if not wstep then return end
    local veh=getPedOccupiedVehicle(localPlayer)
    if not veh then return end
    if getVehicleController(veh) ~= localPlayer then return end
    local spawn=getElementData(veh,"vehicle:id")
    if not spawn then return end
    if getElementHealth(veh) < 900 then
        outputChatBox("#bf0101&#10006; #FFFFFFPosiadasz zbyt uszkodzony pojazd, id? go napraw.",255,255,255,true)
        return
    end
    if getElementData(veh,"vehicle:ownedPlayer") ~= getElementData(localPlayer,"player:sid") then return end
    showCursor(true,false)
    guiSetVisible(wm.window, true)
    guiSetVisible(wm.label2, false)
    guiSetVisible(wm.submit2, false)
    guiSetInputMode("no_binds_when_editing")
end)

addEventHandler("onClientMarkerLeave", resourceRoot, function(el,md)
    if el~=localPlayer then return end
    if not wstep then return end
    showCursor(false)
    guiSetVisible(wm.window, false)
end)

addEventHandler("onClientGUIClick", resourceRoot, function()
    if not wstep then return end
    local cena=tonumber(guiGetText(wm.edit))
    if not cena or cena < 1 or cena ~= math.floor(cena) or cena > 1100000000 then
        outputChatBox("#bf0101&#10006; #FFFFFFPodano nieprawid?ow? cen?.",255, 255, 255, true)
        return
    end
    local veh=getPedOccupiedVehicle(localPlayer)
    if not veh then return end
    if getVehicleController(veh) ~= localPlayer then return end
    if not getElementData(veh,"vehicle:id") then return end
    if source == wm.submit then
        --podatek=math.floor(cena/2)
        guiSetVisible(wm.submit2, true)
        guiSetVisible(wm.label2, true)
        guiSetText(wm.label2, "Akceptujesz podan? cen?? "..cena.." PLN")
    end
    if source == wm.submit2 then
--    local desc=string.format("Pojazd: %s\nCena: %d PLN\nPrzebieg: %dkm\nSprzedaj?cy: %s\nStatus sprzedaj?cego: Dostepny", getVehicleName(veh), tonumber(cena), getElementData(veh,"vehicle:mileage"), getPlayerName2(localPlayer))
    setElementData(veh,"vehicle:desc",false)
    setElementData(veh,"vehicle:gielda",true)
    setElementData(veh,"vehicle:nazwa:G",getVehicleName(veh))
    setElementData(veh,"vehicle:owner:G",getPlayerName(localPlayer):gsub("#%x%x%x%x%x%x",""),true)
    setElementData(veh,"vehicle:owner:SID",getElementData(localPlayer,"player:sid"))
    setElementData(veh,"vehicle:cena:G",tonumber(cena))
    setElementData(veh,"vehicle:id:G",getElementData(veh, "vehicle:id"))
    guiSetVisible(wm.window, false)
    showCursor(false)
    end
end)

function znajdzprzezsid(sid)
    if not sid then return end
    for _,p in pairs(getElementsByType('player'),root,false) do
        if getElementData(p,"player:sid") and getElementData(p,"player:sid") == sid then return p end
    end
    return false
end
gielda = {}

function RGBToHex(red, green, blue, alpha)
    if ( (red < 0 or red > 255 or green < 0 or green > 255 or blue < 0 or blue > 255) or (alpha and (alpha < 0 or alpha > 255) ) ) then
        return nil
    end
    if ( alpha ) then
        return string.format("#%.2X%.2X%.2X%.2X", red,green,blue,alpha)
    else
        return string.format("#%.2X%.2X%.2X", red,green,blue)
    end
end


local function aktualizujdane()
if not isElementWithinColShape(localPlayer,cuboid) then return end
for i,v in ipairs(getElementsByType("vehicle",root,true)) do
    if getElementData(v, "vehicle:gielda",true) then
    if getElementData(v, "vehicle:id") == getElementData(v, "vehicle:id:G") then
    local online=znajdzprzezsid(getElementData(v,"vehicle:owner:SID"))
    if online then jest="#007affDost?pny (ID: "..getElementData(online,"id")..")" else jest="#FF0000Niedost?pny" end
    local desc=string.format("#FFFFFFID Auta: #007aff%d\n#FFFFFFPojazd: "..RGBToHex( 0, 122, 255,false).."%s"..RGBToHex(0, 122, 255).."\n#FFFFFFCena: #007aff%d PLN\n#FFFFFFPrzebieg: #007aff%dkm\n#FFFFFFSprzedaj?cy: #007aff%s\n#FFFFFFStatus sprzedaj?cego: %s\n#FFFFFFAby sprawdzi? informacje nt. tego pojazdu wpisz: #007aff/v.info", tonumber(getElementData(v, "vehicle:id")), getElementData(v, "vehicle:nazwa:G"), tonumber(getElementData(v, "vehicle:cena:G")), getElementData(v,"vehicle:mileage"), getElementData(v,"vehicle:owner:G"), jest)
    gielda[v] = desc
    end
    end
    end
end


if not vopisFont then vopisFont = "default-bold"; vopisrozmiar=1.0 end

function isEventHandlerAdded( sEventName, pElementAttachedTo, func )
    if
        type( sEventName ) == 'string' and
        isElement( pElementAttachedTo ) and
        type( func ) == 'function'
    then
        local aAttachedFunctions = getEventHandlers( sEventName, pElementAttachedTo )
        if type( aAttachedFunctions ) == 'table' and #aAttachedFunctions > 0 then
            for i, v in ipairs( aAttachedFunctions ) do
                if v == func then
                    return true
                end
            end
        end
    end
    return false
end

timerke = nil
aktualizujdane()



function renderinge()
if not isElementWithinColShape(localPlayer,cuboid) then return end
    local rootx, rooty, rootz = getCameraMatrix()
    for i,vehicle in ipairs(getElementsByType("vehicle",root,true)) do
        local x,y,z=getElementPosition(vehicle)
        local sx,sy=getScreenFromWorldPosition(x,y,z)
        if sx and sy then
            local desc=gielda[vehicle]
            if desc then
                local distance=getDistanceBetweenPoints3D(rootx,rooty,rootz,x,y,z)
                if distance <= 25 then
                    if isLineOfSightClear( rootx,rooty,rootz, x,y,z, true, true, false, true, false, true, true,vehicle ) then
                        dxDrawText(desc:gsub("#%x%x%x%x%x%x",""), sx, sy, sx, sy, tocolor(0, 0, 0, 255), vopisrozmiar-0.01, vopisFont, "center", "center")
                        dxDrawText(desc, sx, sy, sx, sy, tocolor(255, 255, 255, 255), vopisrozmiar, vopisFont, "center", "center",false,false,false,true)
                    end
                end
            end
        end
    end
end
addEventHandler("onClientColShapeHit",cuboid,function(el,md)
if not md then return end
if el ~= localPlayer then return end
if isEventHandlerAdded("onClientRender",root,renderinge) then
removeEventHandler("onClientRender",root,renderinge)
end
addEventHandler("onClientRender",root, renderinge)
timerke = setTimer(aktualizujdane,3000,0)
end)


addEventHandler("onClientColShapeLeave",cuboid,function(el,md)
if not md then return end
if el ~= localPlayer then return end
if isEventHandlerAdded("onClientRender",root,renderinge) then
removeEventHandler("onClientRender",root,renderinge)
end
--if isTimer(timerke) then killTimer(timerke) end
end)
addEventHandler("onClientColShapeHit", cuboid, function(el,md)
    if not md or el ~= localPlayer then return end
    if wstep then return end
    wstep=true
end)

addEventHandler("onClientColShapeLeave", cuboid, function(el,md)
    if getElementData(el,"vehicle:gielda") then gielda[el] = false end
    if not md or el ~= localPlayer then return end
    if not wstep then return end
    local veh=getPedOccupiedVehicle(el)
    if veh then
    --setElementData(veh,"vehicle:desc",false)
    setElementData(veh, "vehicle:gielda",false)
    end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-10-29, 17:26


_jvneczek







Wiek: 22
Na forum: 4467 dni
Posty: 1509
Nick w MP: _jvneczek

Piwa: 3960

Respekt: 337,5
Respekt: 337,5Respekt: 337,5Respekt: 337,5

local cuboid=createColCuboid(2119.19, -2091.64, 12.85-1, 27.5, 71.25, 6.25)
Tworzy ci cuboid, je?li wyjedziesz za ten cuboid to po prostu usuwa ci teksty.
Musisz przestawi? cuboida, zwi?kszy? jego pole.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-10-29, 17:29


Patryk545







Wiek: 26
Na forum: 2365 dni
Posty: 36
Nick w MP: Patryk545

Piwa: 1

Respekt: 50

Ok dzi?ki za pomoc

Postaw piwo autorowi tego posta
 

 
Tagi: giełda
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA 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