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

Otwórz ogień






Wiek: 21
Na forum: 3109 dni
Posty: 187
Nick w MP: Hirahi

Piwa: 61

Respekt: 35,8

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

Podpis

Pomagam jak potrafię :)

Postaw piwo autorowi tego posta
 

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


Wilq







Wiek: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Wy?lij kod marker?w, jakie posiadasz.

Postaw piwo autorowi tego posta
 

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


AsterBonzo

Otwórz ogień






Wiek: 21
Na forum: 3109 dni
Posty: 187
Nick w MP: Hirahi

Piwa: 61

Respekt: 35,8

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(x1, y1, z1, x2, y2, z2)
    if tonumber(distance) then
        return tonumber(distance)
    end
    return false
end

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

function dxDrawImageElement(element)
    local x, y, z = getElementPosition(element)
    local size = getMarkerSize(element)
    local r,g,b = 255,255,0
    local distance = 1.3
    if size >= 3 then
        distance = 1.4
    end
    z = z+distance
    dxDrawMaterialLine3D(x, y, z+1, x, y, z, strzalka, 1, tocolor(r, g, b)) 
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(v, 0)
            end
            local x,y,z = getElementPosition(v)
            if x ~= 0 and y ~= 0 and z ~= 0 then
                z = z+0.05
                local size = getMarkerSize(v)
                local text = getElementData(v, "text") or ""
                dxDrawTextElement(v, text)
                dxSetRenderTarget()
                dxDrawImageElement(v)
                local r,g,b = 255,255,0
                a = interpolateBetween(130, 0, 0, 150, 0, 0, (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(x + rx, y+ ry, z, x - rx, y- ry, z, marker, size*2, tocolor(r, g, b, a), x, y, z+500000000)
                end
            end
        end
    end
end)


Postaw piwo autorowi tego posta
 

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


Wilq







Wiek: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,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

Otwórz ogień






Wiek: 21
Na forum: 3109 dni
Posty: 187
Nick w MP: Hirahi

Piwa: 61

Respekt: 35,8

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: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,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

Otwórz ogień






Wiek: 21
Na forum: 3109 dni
Posty: 187
Nick w MP: Hirahi

Piwa: 61

Respekt: 35,8

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: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,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

Otwórz ogień






Wiek: 21
Na forum: 3109 dni
Posty: 187
Nick w MP: Hirahi

Piwa: 61

Respekt: 35,8

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: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,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:






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