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

Wysłany: 2019-05-13, 22:41


AsterBonzo

Początkujący w Lua






Wiek: 14
Na forum: 490 dni
Posty: 177

Piwa: 55

Respekt: 55,3


Witam tak jak w temacie mam pytanie jak zmienić animacje markera skryptu z own world ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-05-13, 22:43


Wilq







Wiek: 17
Na forum: 1950 dni
Posty: 1038

Piwa: 212

Respekt: 495,8
Respekt: 495,8


Wyślij kod markerów, jakie posiadasz.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-05-14, 16:41


AsterBonzo

Początkujący w Lua






Wiek: 14
Na forum: 490 dni
Posty: 177

Piwa: 55

Respekt: 55,3


Posiadam srkypt edytowany z own worlda ( z tego co wiem )


local strzalka dxCreateTexture("strzalka.png")
local marker dxCreateTexture("marker.png")
local tick getTickCount()
rot 0

function getDistance(element)
    local x1,y1,z1 getElementPosition(element)
    local x2,y2,z2 getElementPosition(localPlayer)
    local distance getDistanceBetweenPoints3D(x1y1z1x2y2z2)
    if tonumber(distancethen
        return tonumber(distance)
    end
    return false
end

function dxDrawTextElement(elementtext)
    if not getElementData(localPlayer"player:logged"then return end
    if isPlayerMapVisible() then return end
    local xygetElementPosition(element)
    = (z+1.3)-math.sin(getTickCount()/500)*0.07
    local distance getDistance(element)
    local sx,sy getScreenFromWorldPosition(xyz)
    local rootx,rooty,rootz getCameraMatrix()
    if ~= and ~= and ~= and sx and sy and distance 10 and isLineOfSightClear(rootx,rooty,rootz,x,y,z,false,false,falsethen
    end
end

function dxDrawImageElement(element)
    local xygetElementPosition(element)
    local size getMarkerSize(element)
    local r,g,255,255,0
    local distance 1.3
    if size >= 3 then
        distance 1.4
    end
    z z+distance
    dxDrawMaterialLine3D(xyz+1xyzstrzalka1tocolor(rgb)) 
end

addEventHandler("onClientRender"root, function()
    for i,v in ipairs(getElementsByType("marker")) do
        if getMarkerType(v) == "cylinder" and getElementDimension(v) == getElementDimension(localPlayer) and getElementInterior(v) == getElementInterior(localPlayer)  then
            if getElementAlpha(v) ~= 0 then
                setElementAlpha(v0)
            end
            local x,y,getElementPosition(v)
            if ~= and ~= and ~= 0 then
                z z+0.05
                local size getMarkerSize(v)
                local text getElementData(v"text") or ""
                dxDrawTextElement(vtext)
                dxSetRenderTarget()
                dxDrawImageElement(v)
                local r,g,255,255,0
                a interpolateBetween(1300015000, (getTickCount()-tick)/2400"SineCurve")
                rot rot 0.0001
                rx,ry math.cos(rot) * size,  math.sin(rot) * size
                if not getElementData(v"selling"then
                    dxDrawMaterialLine3D(rxyryzrxyryzmarkersize*2tocolor(rgba), xyz+500000000)
                end
            end
        end
    end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-05-14, 17:39


Wilq







Wiek: 17
Na forum: 1950 dni
Posty: 1038

Piwa: 212

Respekt: 495,8
Respekt: 495,8


Funkcja

Więcej informacji znajdziesz w Wikipedii MTA:

interpolateBetween

odpowiada za wykonywani animacji - w tym przypadku jest to przezroczystość obrazu.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-05-14, 19:00


AsterBonzo

Początkujący w Lua






Wiek: 14
Na forum: 490 dni
Posty: 177

Piwa: 55

Respekt: 55,3


Nie wiem jak to zrobić nadal pokażesz kawałek kodu ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-05-14, 22:10


Wilq







Wiek: 17
Na forum: 1950 dni
Posty: 1038

Piwa: 212

Respekt: 495,8
Respekt: 495,8


Ten kod masz już u siebie, zobacz argument na wiki i porównaj z tym co masz w kodzie.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-05-15, 16:58


AsterBonzo

Początkujący w Lua






Wiek: 14
Na forum: 490 dni
Posty: 177

Piwa: 55

Respekt: 55,3


ten kod ma tylko by zmieniał się poziom widoczności co pare sekund a ja chce żeby mógł się kreci np jak na paradise i nie wiem jak to zrobić

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-05-15, 22:33


Wilq







Wiek: 17
Na forum: 1950 dni
Posty: 1038

Piwa: 212

Respekt: 495,8
Respekt: 495,8


Na logikę: zmieniasz przezroczystość na kąt rotacji i używasz tego, wystarczy pokombinować. Próby możesz wykonywać na lokalnym serwerze, też nie jest to żaden problem.

Możesz spróbować użyć wykonanej funkcji do animacji:

Więcej informacji znajdziesz w Wikipedii MTA:

animate


Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-05-16, 15:01


AsterBonzo

Początkujący w Lua






Wiek: 14
Na forum: 490 dni
Posty: 177

Piwa: 55

Respekt: 55,3


jest dla mnie jeden problem nie wiem które odpowiada za przezroczystość .

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-05-16, 17:56


Wilq







Wiek: 17
Na forum: 1950 dni
Posty: 1038

Piwa: 212

Respekt: 495,8
Respekt: 495,8


Przezroczystość:
czwarty argument funkcji

Więcej informacji znajdziesz w Wikipedii MTA:

tocolor


Postaw piwo autorowi tego posta
 

 
Tagi: jak :: zmienić :: animacje :: markera
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:








Wyświetl posty z ostatnich:   

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

Skocz do: