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

Wysłany: 2017-08-27, 13:21


NoKill1997

Online






Wiek: 28
Na forum: 3224 dni
Posty: 183
Nick w MP: Mefedroniarz.PDW

Piwa: 778

Respekt: 80,5

Witam, mam problem z markerem. Tzn. jak wiezdzam prywatnym samochodem w marker powinno pojawic sie okienko z ustawieniem ceny.. A nic sie nie ustawia.. Dodam do tego, ze ustawilem Cuboid'a.

Tutaj dodaje wam filmik z pokazaniem jak to wyglada.. Moze wy cos wykminicie.. :V

https://www.youtube.com/w...eature=youtu.be
dodaje kod, z markerem.. Moze popelnilem tam jakis minimalny blad, ktory spowodowal wlasnie to, ze marker nie dziala.

Kod:

--[[
Developed by Yolos
All rights reserved!
You cannot use this without permission!
--]]

local marker=createMarker(-1892.18, -858.29, 31.02, "cylinder", 8, 32, 64, 255, 155)
local cuboid=createColCuboid(-1901.0227050781, -973.02337646484, 32.0234375)
createBlip(-1904.70, -858.45, 23.02, 55,25,0,0,0,0,0,275)

local wstep=false
local podatek=0

local text=createElement("text")
setElementPosition(text,1638.10, -1142.61, 23.9)
setElementData(text,"name","Gie?da\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("* Posiadasz zbyt uszkodzony pojazd, id? go napraw.", 255, 0, 0)
return
end
if getElementData(veh,"vehicle:ownedPlayer") ~= getElementData(localPlayer,"player:uid") 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 > 5000000 then
outputChatBox("* Podano nieprawid?ow? cen?.")
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:UID",getElementData(localPlayer,"player:uid"))
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 znajdzprzezuid(uid)
if not uid then return end
for _,p in pairs(getElementsByType('player'),root,false) do
if getElementData(p,"player:uid") and getElementData(p,"player:uid") == uid 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=znajdzprzezuid(getElementData(v,"vehicle:owner:UID"))
if online then jest="#00FF00Dost?pny (ID: "..getElementData(online,"id")..")" else jest="#FF0000Niedost?pny" end
local desc=string.format("ID Auta: %d\nPojazd: "..RGBToHex( 0, 192, 255,false).."%s"..RGBToHex(255, 255, 255).."\nCena: %d PLN\nPrzebieg: %dkm\nSprzedaj?cy: %s\nStatus sprzedaj?cego: %s\n#FFFFFFAby sprawdzi? informacje nt. tego pojazdu wpisz: /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: 2017-08-27, 13:47


Atroth







Wiek: 23
Na forum: 3677 dni
Posty: 1089
Nick w MP: Atroth

Piwa: 4808

Respekt: 540
Respekt: 540

NoKill1997, Hmmm


addEventHandler("onClientMarkerHit"resourceRoot, function(el,md


Zamiast resourceRoot mo?esz da? root lub po prostu marker. Wiem, ?e resourceRoot odnosi si? tylko do zasobu.

Je?eli dajesz root, na pocz?tku daj:


if source == marker then 

end


Podpis

Użytkownik - 10-05-2016
Support Team - 17.06.2017
Moderator - 25.11.2017
Mod-Team - 02.07.2018

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-08-28, 12:38


imnot







Wiek: 33
Na forum: 3245 dni
Posty: 17



Respekt: 45,3


addEventHandler("onClientMarkerHit"marker, function(el,md


Przy handlerze z markerami, odwo?uj si? tylko do danego markera.

Postaw piwo autorowi tego posta
 

 
Tagi: brak :: reakcji :: markera
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