Wysłany: 2017-06-06, 17:44
BH|LeFeS
DayZ is EPIC!
Wiek: 21 Na forum: 3508 dni Posty: 82
Nick w MP: LeFeS
Piwa : 7
Cze??, mam taki problem, przenios?em z SF do FC gie?de z paczki ogrpg, je?eli jak wje?dzam w marker dawania ceny pojazdu, nie wyskakuje hud, a w debugscript 3 nic si? nie pokazuje
SS
KOD:
Kod: local marker=createMarker(-221.73, 1208.68, 25.74-7, "cylinder", 6.5, 0, 0, 0, 155)
local cuboid=createColCuboid(-221.73, 1208.68, 19.74, 42, 227.75, 2)
createBlip(-221.73, 1208.68, 19.74, 55,25,0,0,0,0,0,275)
local wstep=false
local podatek=50000
local text=createElement("text")
setElementPosition(text,-221.73, 1208.68, 19.74+1.3)
setElementData(text,"name","Gie?da FC\nProsimy o Ustawienie Ceny,\nPojazdu.")
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: 50000 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) < 980 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="#00FF00Online" else jest="#FF0000Offline" end
local Pojemnosc = getElementData(v,"Pojemnosc:silnika") or "Zwykla"
zawieszenie = getElementData(v,"Zawieszenie:Pneumatyczne")
if zawieszenie == 'Tak' then
Zawie = "Zawieszenie pneumatyczne,"
else
Zawie = ""
end
lpg = getElementData(v,"Zamontowane:LPG")
if lpg == 'Tak' then
gaz = "LPG, "
else
gaz = ""
end
drzwi = getElementData(v,"vehicle:drzwidogury")
if drzwi == 'Tak' then
Drzwii = "Drzwi otwieraj?ce si? do g?ry,"
else
Drzwii = ""
end
licznik = getElementData(v,"licznik:kolor")
if licznik == 'Niebieski' then
licznik1 = "Pod?wietlenie licznika niebieskie,"
else
licznik1 = ""
end
if licznik == 'Zolty' then
licznik2 = "Pod?wietlenie licznika ??lt?,"
else
licznik2 = ""
end
if licznik == 'Jasnoniebieski' then
licznik3 = "Pod?wietlenie licznika jasnoniebieski,"
else
licznik3 = ""
end
local Dodatki = string.format(""..Zawie..""..gaz..""..Drzwii..""..licznik1..""..licznik2..""..licznik3.."")
local desc=string.format("Pojazd: %s\n\nPojemno??: "..Pojemnosc.."\nCena: %d PLN\nPrzebieg: %dkm\nSprzedaj?cy: %s\nDodatki: "..Dodatki.."\n\nStatus: %s", 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)
@EDIT:
Przepraszam ?e kodu nie da?em
- Ale ju? jest.
Ostatnio zmieniony przez BH|LeFeS 2017-06-08, 14:12, w całości zmieniany 3 razy
Wysłany: 2017-06-06, 17:53
Makay
Tryb .lua
Wiek: 26 Na forum: 3288 dni Posty: 38
Nick w MP: Makay
Piwa : 774
BH|LeFeS , Powiem tyle wszystko jest dobrze (wed?ug mnie) ale jest problem z cuboidem. By? musia? si? pobawi? z nim bo ja w ustawianiu cuboid?w nie jestem dobry.
Podpis
Początkowy Programista LUA
[lua]if getElementData(source, "gracz:Makay") then
setPlayerName(source, "Makauś")
else
setPlayerName(source, ".lua")
end[/lua]
Więcej szczegółów
Wystawiono 1 piw(a):BH|LeFeS
Wysłany: 2017-06-06, 17:55
BH|LeFeS
DayZ is EPIC!
Wiek: 21 Na forum: 3508 dni Posty: 82
Nick w MP: LeFeS
Piwa : 7
kurde a ja to samo, nie umiem zrobi? tego cuboida, albo mam pomys? spr?buje si? pobawi? z cuboidem tunera bo on tam ma odrazu create_cuboid: (kordY, 4)
Wysłany: 2017-06-06, 17:57
nanKy
Wiek: 22 Na forum: 3866 dni Posty: 498
Nick w MP: nanky
Piwa : 1773
Pobierz sobie coleditor
Wysłany: 2017-06-06, 17:57
BH|LeFeS
DayZ is EPIC!
Wiek: 21 Na forum: 3508 dni Posty: 82
Nick w MP: LeFeS
Piwa : 7
Je?eli kto? by by? ch?tny, aby mi cuboid zrobi? to prosz?, bo ja tego nie umiem. I nie b?de si? za to zabiera?, bo w tunerze og?lnie jest innaczej cuboid zrobiony.
@EDIT:
Nanky dobry pomys?
@EDIT:
Robi? co? ?le?
Kod: local cuboid=createColCuboid(-221.630859375, 1208.5731201172, 19.7421875, 2, 2, 2)
Wysłany: 2017-06-06, 19:59
Dexnes_
Tiger
Wiek: 26 Na forum: 4401 dni Posty: 620
Nick w MP: Dexnes
Piwa : 1394
BH|LeFeS , Troche ?le, tw?j aktualny cuboid wygl?da tak :
A zapewne powinien by? na ca?? wielko?? gie?dy.
Wi?c, aby go ?adnie stworzy?, przeczytaj co jest napisane na chacie (jest do instrukcja poruszania cuboidem i formowania go w dany kszta?t).
Czyli wyrabiasz kszta?t a nast?pnie klikasz enter.
Wysłany: 2017-06-08, 13:55
BH|LeFeS
DayZ is EPIC!
Wiek: 21 Na forum: 3508 dni Posty: 82
Nick w MP: LeFeS
Piwa : 7
Gdy to zrobiem w coleditorze naciskam ENTER i ide do colisions.txt i biore te
Kod: createColCuboid(-266.38211, 1208.5676, 19.492188, 52.25, 16, 2)
a Potem nie dzia?a,
SS
@EDIT:
- Doda?em to do kodu.
KOD GIE?DY:
Kod: local marker=createMarker(-221.73, 1208.68, 25.74-7, "cylinder", 6.5, 0, 0, 0, 155)
local cuboid=createColCuboid(-266.38211, 1208.5676, 19.492188, 52.25, 16, 2)
createBlip(-221.73, 1208.68, 19.74, 55,25,0,0,0,0,0,275)
local wstep=false
local podatek=50000
local text=createElement("text")
setElementPosition(text,-221.73, 1208.68, 19.74+1.3)
setElementData(text,"name","Gie?da FC\nProsimy o Ustawienie Ceny,\nPojazdu.")
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: 50000 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) < 980 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="#00FF00Online" else jest="#FF0000Offline" end
local Pojemnosc = getElementData(v,"Pojemnosc:silnika") or "Zwykla"
zawieszenie = getElementData(v,"Zawieszenie:Pneumatyczne")
if zawieszenie == 'Tak' then
Zawie = "Zawieszenie pneumatyczne,"
else
Zawie = ""
end
lpg = getElementData(v,"Zamontowane:LPG")
if lpg == 'Tak' then
gaz = "LPG, "
else
gaz = ""
end
drzwi = getElementData(v,"vehicle:drzwidogury")
if drzwi == 'Tak' then
Drzwii = "Drzwi otwieraj?ce si? do g?ry,"
else
Drzwii = ""
end
licznik = getElementData(v,"licznik:kolor")
if licznik == 'Niebieski' then
licznik1 = "Pod?wietlenie licznika niebieskie,"
else
licznik1 = ""
end
if licznik == 'Zolty' then
licznik2 = "Pod?wietlenie licznika ??lt?,"
else
licznik2 = ""
end
if licznik == 'Jasnoniebieski' then
licznik3 = "Pod?wietlenie licznika jasnoniebieski,"
else
licznik3 = ""
end
local Dodatki = string.format(""..Zawie..""..gaz..""..Drzwii..""..licznik1..""..licznik2..""..licznik3.."")
local desc=string.format("Pojazd: %s\n\nPojemno??: "..Pojemnosc.."\nCena: %d PLN\nPrzebieg: %dkm\nSprzedaj?cy: %s\nDodatki: "..Dodatki.."\n\nStatus: %s", 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)
Tagi: giełda
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: