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

Wysłany: 2014-07-12, 22:32


PolskiSebek12

Programista






Wiek: 28
Na forum: 4347 dni
Posty: 343
Nick w MP: CrosRoad95

Piwa: 3883

Respekt: 288,8
Respekt: 288,8Respekt: 288,8Respekt: 288,8

Ostrzeżeń: 100%
potrzebuje zrobi? skrypt kt?ry b?dzie wykrywa? pozycje zaznaczonego itemu na liscie, zrobi?em ju? takie cos:
Kod:

GUIEditor = {
gridlist = {},
window = {},
label = {}
}
GUIEditor.window[1] = guiCreateWindow(120, 94, 422, 355, "", false)
guiWindowSetSizable(GUIEditor.window[1], false)

GUIEditor.label[1] = guiCreateLabel(10, 23, 402, 82, "", false, GUIEditor.window[1])
GUIEditor.gridlist[1] = guiCreateGridList(10, 105, 402, 240, false, GUIEditor.window[1])
guiGridListAddColumn(GUIEditor.gridlist[1], "Test", 0.9)
guiGridListSetItemText(GUIEditor.gridlist[1], 0, 1, "-", false, false)
showCursor(true)

x,y,rx,ry = 100,100,500,100
addEventHandler("onClientRender", root,
function()
dxDrawRectangle(x, y, rx, ry, tocolor(255, 255, 255, 100), true)
end
)

x = 0
while x < 25 do
local row = guiGridListAddRow ( GUIEditor.gridlist[1] )
guiGridListSetItemText ( GUIEditor.gridlist[1], row, 1, tostring(math.random(1000,9999)), false, false )
x = x + 1
end

function pobierzpozycje(element)
poz = guiGridListGetSelectedItem (element)
gui = getElementParent (element)
xgrid,ygrid = guiGetPosition(element,false)
xgui,ygui = guiGetPosition(gui,false)
xgirds,ygrids = guiGetSize ( element, false )

offset = 14 -- wysokosc 1 itemu z listy
xset = xgrid + xgui
yset = ygrid + xgui

xend = xset+8
yend = yset-2+(offset*poz)
xxend = xgirds-40
yyend = offset
return xend,yend,xxend,yyend
end


function klik()
x,y,rx,ry = pobierzpozycje(GUIEditor.gridlist[1])
--guiSetText( GUIEditor.label[1],"poz = "..tostring(poz).."\ngrid: "..tostring(xgrid)..":"..tostring(ygrid).."\ngui "..tostring(xgui)..":"..tostring(ygui).."")
end
addEventHandler ( "onClientGUIClick", GUIEditor.gridlist[1], klik )

i nie mam pomys?u jak zrobi? ?eby po przesuni?ciu listy w d?? , kwadrat pozostawa? nadal na zaznaczonym itemie, jak na razie si? rozjezdza. jakby kto? m?g?by mi powiedzie? jak to zrobi? by?bym wdzi?czny

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-13, 00:07


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

W?tpi?, ?e robi?e? to Ty :)

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-13, 00:12


krydianero

Samotny Wilk






Wiek: 33
Na forum: 4783 dni
Posty: 395
Nick w MP: Yoshida

Piwa: 1798

Respekt: 117,3
Respekt: 117,3

Oj Maszyna czepiasz si?... guieditor no i co... :) a co do autora tematu prosz? napisa? po Polsku z zastosowaniem cho?by jako takiej merytoryki... tak bym by? w stanie zrozumie? w czym mamy Ci pom?c

Podpis

Multi Drive Unlimited:Nowy projekt już wkrótce

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-13, 00:22


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

krydianero, nie no spoko tu nie chodzi o to, tylko niech powie, ?e kod ma sk?d? tam bo skoro robi p?tle while ju? to powinien takie rzeczy umie? : D

[ Dodano: 2014-07-13, 00:26 ]
i dlaczego dawa?e? tostring przy math.random ? String to ci?g znak?w nie liczb.

U?yj math.random chyba, ?e jest ukryty haczyk jaki? w tym :)

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-13, 18:35


PolskiSebek12

Programista






Wiek: 28
Na forum: 4347 dni
Posty: 343
Nick w MP: CrosRoad95

Piwa: 3883

Respekt: 288,8
Respekt: 288,8Respekt: 288,8Respekt: 288,8

Ostrzeżeń: 100%
po pierwsze informuje was ze sam to zrobilem ale nie wiem jak dalej mam to obliczyc, znajdz mi taki kod gdzies w internecie skoro "W?tpi?, ?e robi?e? to Ty :) "

po drugie potrzebne mi to na moj server dayz na kt?rym chce doda? ze po klikni?ciu prawym na uzycie przedmiotow wykrywa?o czy nie klikne?o si? gdzies w kosmosie poprostu zeby wykrywalo czy myszka najechala na obszar tego itemu

i dlatego zawsze jak cos potrzebuje do pomocy to jest to za trudne aby ktos to wykminil dosc szybko i czesto czekam na pomoc dlugo :P

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-13, 19:12


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Chodzi Ci o event kt?ry sprawdza czy kursor jest w danym elemencie gui ?

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-13, 20:15


PolskiSebek12

Programista






Wiek: 28
Na forum: 4347 dni
Posty: 343
Nick w MP: CrosRoad95

Piwa: 3883

Respekt: 288,8
Respekt: 288,8Respekt: 288,8Respekt: 288,8

Ostrzeżeń: 100%
jak wlaczyles sobie m?j skrypt i kliknoles na item z listy to zauwazyles ze bialy kwadrat zmienial miejsce zgodnie z itemem kt?ry zaznaczyles ale je?eli przesunales liste w dol to ten kwadrat ju? nie jest idealnie na itemie kt?ry zaznaczyles, a mi chodzi o funkcje kt?ra odpowiednio przeliczy pozycje tego kwadratu po przesunieciu scrolla w dol

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-14, 00:17


krydianero

Samotny Wilk






Wiek: 33
Na forum: 4783 dni
Posty: 395
Nick w MP: Yoshida

Piwa: 1798

Respekt: 117,3
Respekt: 117,3

Jest na to sztuczka... stw?rz gdzies w ?wiecie niewidzialny obiekt. Zapisz w nim pozycje kwadracika za pomoc?


Więcej informacji znajdziesz w Wikipedii MTA:

setElementdata


Mo?esz te? zapisa? te dane do gracza tak?e za pomoc? tej funkcji

I przywo?aj te dane spowrotem... tadaaa..

Podpis

Multi Drive Unlimited:Nowy projekt już wkrótce

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-14, 21:15


PolskiSebek12

Programista






Wiek: 28
Na forum: 4347 dni
Posty: 343
Nick w MP: CrosRoad95

Piwa: 3883

Respekt: 288,8
Respekt: 288,8Respekt: 288,8Respekt: 288,8

Ostrzeżeń: 100%
od?wie?am, prosze o pomoc z tym aby bialy kwadrat zawsze nakrywal sie z niebieskim kwadratem wraz z przesuwaniem gridlisty w d??

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-14, 21:34


krydianero

Samotny Wilk






Wiek: 33
Na forum: 4783 dni
Posty: 395
Nick w MP: Yoshida

Piwa: 1798

Respekt: 117,3
Respekt: 117,3

Napisa?em Ci ju? jak to zrobi?, teraz popr?buj poka? co uzyska?e? podczas pr?b i je?li nie bd dzia?a?o to bd pomaga? dalej.

Podpis

Multi Drive Unlimited:Nowy projekt już wkrótce

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-14, 22:40


PolskiSebek12

Programista






Wiek: 28
Na forum: 4347 dni
Posty: 343
Nick w MP: CrosRoad95

Piwa: 3883

Respekt: 288,8
Respekt: 288,8Respekt: 288,8Respekt: 288,8

Ostrzeżeń: 100%
Kod:

GUIEditor = {
gridlist = {},
window = {},
label = {}
}
GUIEditor.window[1] = guiCreateWindow(120, 94, 422, 355, "", false)
guiWindowSetSizable(GUIEditor.window[1], false)

GUIEditor.label[1] = guiCreateLabel(10, 23, 402, 82, "", false, GUIEditor.window[1])
GUIEditor.gridlist[1] = guiCreateGridList(10, 105, 402, 240, false, GUIEditor.window[1])
guiGridListAddColumn(GUIEditor.gridlist[1], "Test", 0.9)
guiGridListSetItemText(GUIEditor.gridlist[1], 0, 1, "-", false, false)
showCursor(true)

x,y,rx,ry = 100,100,500,100
addEventHandler("onClientRender", root,
function()
dxDrawRectangle(x, y, rx, ry, tocolor(255, 255, 255, 100), true)
end
)

x = 0
while x < 25 do
local row = guiGridListAddRow ( GUIEditor.gridlist[1] )
guiGridListSetItemText ( GUIEditor.gridlist[1], row, 1, tostring(math.random(1000,9999)), false, false )
x = x + 1
end

function pobierzpozycje(element)
poz = guiGridListGetSelectedItem (element)
gui = getElementParent (element)
xgrid,ygrid = guiGetPosition(element,false)
xgui,ygui = guiGetPosition(gui,false)
xgirds,ygrids = guiGetSize ( element, false )
rcount = guiGridListGetRowCount ( element )
pozycjasuwaka = guiGridListGetVerticalScrollPosition( element )

offset = 14 -- wysokosc 1 itemu z listy
xset = xgrid + xgui
yset = ygrid + xgui
wysokosczaznaczonego = poz * offset
ogolnawysokosclisty = rcount * offset
xvalue = 9.88*rcount
ilewgorenaprocent = ogolnawysokosclisty / xvalue
offsett = pozycjasuwaka * ilewgorenaprocent

xend = xset+8
yend = (yset-2+(offset*poz))-offsett
xxend = xgirds-40
yyend = offset
return xend,yend,xxend,yyend
end


function klik()
x,y,rx,ry = pobierzpozycje(GUIEditor.gridlist[1])
guiSetText( GUIEditor.label[1],"poz = "..tostring(poz).."\ngrid: "..tostring(xgrid)..":"..tostring(ygrid).."\ngui "..tostring(xgui)..":"..tostring(ygui).."\nwysokosc ogolna: "..tostring(ogolnawysokosclisty)..", wysokosc zaznaczonego: "..tostring(wysokosczaznaczonego).."")
end
addEventHandler ( "onClientGUIClick", GUIEditor.gridlist[1], klik )

jak widzisz po wybraniu dowolnego itemu z listy bialy kwadrat sie przesuwa, ale jesli ilosc itemow na liscie sie zmieni to bialy kwadrat b?dzie si? rozje?dza? a mi chodzi o formu?ke kt?ra obliczy poprawna pozycje nawet dla liczby 2359028 itemow na liscie

Postaw piwo autorowi tego posta
 

 
Tagi: jak :: obliczyc
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » jak to obliczyc ? 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