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

Wysłany: 2019-11-01, 10:52


Kulegg







Wiek: 46
Na forum: 3125 dni
Posty: 283

Piwa: 20

Respekt: 50

Cze??, mam wgrane markery i zrobi?em tak aby marker wy?wietla? obrazek, ?eby troche inaczej wygl?da?y markery ni? na kazdym serwerze i by?y "bardziej przejrzyste", nie mog? sobi? poradzi? z tym ?eby przesun?? marker(obrazek) w lewo, aby nie by? krzywo co to strza?ki, bo jest strasznie krzywo i jest za bardzo w prawo. Chcia?bym aby obrazek(marker "Przecho") znajdowa? si? centralnie na ?rodku strza?ki zamiast bardziej w prawo od niej(czyli w lewo trzeba przesun??), bawie si? tym kodem od godziny (naprawd? od godziny) i nie mog? sobie poradzi?, wi?c prosze o pomoc.


O co mi chodzi? SS:


Kod:

--[[
    @authorTheTroll
    @resourcecustom
    @copyright 2017 TheTroll
--]]

local light dxCreateTexture("files/light.png""argb")
local arrow dxCreateTexture("img/arrow.png""argb")
local anim_type "foward"
local distance 50
local animTime 0

addEventHandler("onClientPreRender"root, 
    function()
        for iv in ipairs(getElementsByType("marker")) do
            if getElementData(v"custom1"then
                local xygetElementPosition(v)
                local x2y2z2 getElementPosition(localPlayer)
                local rgbgetMarkerColor(v)
                local distanceBetweenPoints getDistanceBetweenPoints3D(xyzx2y2z2)
                if (distanceBetweenPoints distancethen
                    local size getMarkerSize(v)
                    if anim_type == "back" then
                        local progress = (getTickCount() - animTime) / 1500
                        position math.floor(interpolateBetween(-6000020000progress"InQuad"))
                        if(progress 1then
                            anim_type "foward"
                            animTime getTickCount()
                        end
                    else
                        local progress = (getTickCount() - animTime) / 1500
                        position math.floor(interpolateBetween(20000, -60000progress"OutQuad"))
                        if(progress 1then
                            anim_type "back"
                            animTime getTickCount()
                        end
                    end
                    
                    dxDrawMaterialLine3D(xyz+2+2+(-1000/700), xyz+2+(-1000/700), arrow2tocolor(rgb200))
                
                end
            end
        end
    end
)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-11-01, 13:58


Wilq







Wiek: 24
Na forum: 4429 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Obstawiam, ?e pozycja markera zaczyna si??jako? w rogu i w tym samym miejscu zaczynasz rysowa? obraz.

Masz dwa wyj?cia:
dodajesz jak?? ma?? odleg?o?? do argument 1 i 4 odpowiadaj?cych za pozycj? X, tak samo dla Y (2, 5) je?li b?dzie trzeba,
LUB
poszerzasz obraz (kt?ry? tam argument w tej funkcji od rysowania, nie pami?tam kt?ry) przez co ca?o?? si??rozszerzy i wy?rodkuje nad markerem.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-11-01, 16:57


Kulegg







Wiek: 46
Na forum: 3125 dni
Posty: 283

Piwa: 20

Respekt: 50

Wola?bym t? pierwsz? opcj? bo teraz si? bawie w wielko?ci ale nie zabardzo mi to wychodzi, wszystko mog? z tym zrobi?, zwi?kszy?, zmniejszy? itp, tylko nie przesuwa?.. ani w prawo, ani w lewo.. Wyt?umaczy?by? co musze zrobi? je?li wol? opcje 1?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-11-01, 20:28


Wilq







Wiek: 24
Na forum: 4429 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Funkcja wygl?da tak:
dxDrawMaterialLine3D startXstartYstartZendXendYendZmaterialwidthcolor whitepostGUI falsefaceTowardXfaceTowardYfaceTowardZ )


Czyli do warto?ci startX musisz doda? kilka jednostek (nie wiem jak to nazwa?, pikseli/metr?w?) i sprawdza? czy to si? w og?le przemieszcza. Musisz tak? sam? warto?? doda? do warto?ci endX.

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Kulegg
Wysłany: 2019-11-02, 18:27


Kulegg







Wiek: 46
Na forum: 3125 dni
Posty: 283

Piwa: 20

Respekt: 50

Doda?em w taki spos?b ustawi?em t? linijke, jednak po wpisaniu czegokolwiek(liczby np 1 jak teraz) to obrazek (marker) znika jakby go wog?le nie by?o.

--[[
    @authorTheTroll
    @resourcecustom
    @copyright 2017 TheTroll
--]]

local light dxCreateTexture("files/light.png""argb")
local arrow dxCreateTexture("img/arrow.png""argb")
local anim_type "foward"
local distance 50
local animTime 0

addEventHandler("onClientPreRender"root, 
    function()
        for iv in ipairs(getElementsByType("marker")) do
            if getElementData(v"custom1"then
                local xygetElementPosition(v)
                local x2y2z2 getElementPosition(localPlayer)
                local rgbgetMarkerColor(v)
                local distanceBetweenPoints getDistanceBetweenPoints3D(xyzx2y2z2)
                if (distanceBetweenPoints distancethen
                    local size getMarkerSize(v)
                    if anim_type == "back" then
                        local progress = (getTickCount() - animTime) / 1500
                        position math.floor(interpolateBetween(-6000020000progress"InQuad"))
                        if(progress 1then
                            anim_type "foward"
                            animTime getTickCount()
                        end
                    else
                        local progress = (getTickCount() - animTime) / 1500
                        position math.floor(interpolateBetween(2001500, -60000progress"OutQuad"))
                        if(progress 1then
                            anim_type "back"
                            animTime getTickCount()
                        end
                    end
                    
                    dxDrawMaterialLine3D(xyz+2+2+(-1000/1700), xyz+2+(-1000/700), arrow4tocolor(rgb200))
                       dxDrawMaterialLine3D (1startYstartZ1endYendZmaterialwidthcolor whitepostGUI falsefaceTowardXfaceTowardYfaceTowardZ )
                end
            end
        end
    end
)


[ Dodano: 2019-11-02, 18:51 ]
Dobra poprawi?em miejsce linijki i dzia?a, dzi?kuje, :piwo: dla ciebie za pomoc i zrozumienie mnie xd

Postaw piwo autorowi tego posta
 

 
Tagi: pozycja :: 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