SHARE
TWEET
Untitled
a guest
Jan 29th, 2018
57
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
- --[[
- /txt numer_tekstury strona -> teksturowanie
- /testelement -> wypisanie id tekstur
- getAllObjects() -> odczyt tekstur, zapis jest w trakcie nakładania tekstury
- testElement() -> debug, sprawdzałem czy się zapisuje
- getid() -> przy zaznaczeniu obiektu do nalozenia txt
- nie pamiętam czy event czy timer odświeżał tekstury wszystkim (gdy gracz1 nałoży teksturę gracz2 domyślnie nie widzi jej, dlatego non-stop odczyt, da się to zrobić lepiej ale leń i niechęć xd)
- ]]
- function txt(src,txts,side) --wiadomo raczej
- if txts and side then
- local path = txts..".jpg"
- outputChatBox(path)
- local texture = dxCreateTexture(path)
- local shader = dxCreateShader("shader.fx")
- local ele = getElementByID(eleID)
- dxSetShaderValue(shader, "DevTexture", texture)
- outputChatBox(ele)
- engineApplyShaderToWorldTexture(shader, side, ele,true)
- if side == "A" then
- setElementData(ele,"dev25tex1",txts)
- getAllObjects()
- else if(side == "B") then
- setElementData(ele,"dev25tex2",txts)
- getAllObjects()
- end
- else
- outputChatBox("podaj id txt i strone (\"A\" albo \"B\"")
- end
- end
- function getid ( btn, state, sX, sY, wX, wY, wZ, clickedElement ) --dany element
- eleID = getElementID(clickedElement)
- end
- addCommandHandler("txt",txt)
- addEventHandler("onClientClick",getRootElement(), getid)
- function testElement() --debug
- local txtID1 = getElementData(getElementByID(eleID),"dev25tex1")
- local txtID2 = getElementData(getElementByID(eleID),"dev25tex2")
- outputChatBox("ID TEKSTURY A: "..txtID1)
- outputChatBox("ID TEKSTURY B: "..txtID2)
- end
- addCommandHandler("testelement",testElement)
- function getAllObjects(res) --wczytanie zapisanych / zastosowanych tekstur na obiekt
- for _,obj in ipairs(getElementsByType("object")) do
- local txtid = getElementData(obj,"dev25tex1")
- if txtid then
- local path = txtid..".jpg"
- local texture = dxCreateTexture(path)
- local shader = dxCreateShader("shader.fx")
- dxSetShaderValue(shader, "DevTexture", texture)
- engineApplyShaderToWorldTexture(shader, "A", obj,true)
- end
- end
- for _,obj in ipairs(getElementsByType("object")) do
- local txtid = getElementData(obj,"dev25tex2")
- if txtid then
- local path = txtid..".jpg"
- local texture = dxCreateTexture(path)
- local shader = dxCreateShader("shader.fx")
- dxSetShaderValue(shader, "DevTexture", texture)
- engineApplyShaderToWorldTexture(shader, "B", obj,true)
- end
- end
- end
- addEventHandler ( "onClientElementStreamIn", root, getAllObjects ) --nie pamiętam które działało a które nie, i tak da się to zrobić lepiej xd
- setTimer(getAllObjects,1000,0)--nie pamiętam które działało a które nie, i tak da się to zrobić lepiej xd
RAW Paste Data

