Wysłany: 2018-04-02, 21:36
IgorPL222
LUA
Wiek: 26 Na forum: 3112 dni Posty: 133
Nick w MP: mxgvr
Piwa : 746
Witam.
Zrobi?em w?? stra?acki i rozwijanie ju? mam, natomiast nie mog? zrobi?, aby w?? si? zwija? automatycznie (chodzi, ?e gdy wejdziemy na rozwini?t? cz??? to si? zwinie), z g?ry dzi?kuj?
Kod klient:
local player = {}
local firehose = {}
addEventHandler ( "onClientRender" , root , function()
for i , v in ipairs ( player ) do
if v [ 1 ] and isElement ( v [ 1 ]) and v [ 2 ] and isElement ( v [ 2 ]) and getElementType ( v [ 1 ]) == "player" and not isPedInVehicle ( v [ 1 ]) then
local bx , by , bz = getPedBonePosition ( v [ 1 ], 25 )
local x , y , z = getElementPosition ( v [ 2 ])
-- local bx , by , bz = getPedBonePosition ( localPlayer , 24 )
local position = firehose [ #firehose]
-- local x , y , z = position . x , position . y , position . z
if getDistanceBetweenPoints3D ( bx , by , bz , x , y , z ) > 1 then
table . insert ( firehose , { x = bx , y = by , z = getGroundPosition ( bx , by , bz )})
end
for i = 1 , #firehose do
if not firehose [ i + 1 ] then
local p = firehose [ i ]
dxDrawMaterialLine3D ( p . x , p . y , p . z + 0.2 , bx , by , bz + 0.2 , texture , 0.13 )
end
if firehose [ i ] and firehose [ i + 1 ] then
local p = firehose [ i ]
local b = firehose [ i + 1 ]
dxDrawMaterialLine3D ( p . x , p . y , p . z + 0.2 , b . x , b . y , b . z + 0.2 , texture , 0.13 )
end
end
end
end
end )
Więcej szczegółów
Wystawiono 1 piw(a):SNG_GTR
Wysłany: 2018-04-02, 22:13
Mateuusz
Wiek: 26 Na forum: 2985 dni Posty: 4
Nick w MP: Mateusz
Piwa : 2
Dodaj sprawdzenie czy jest si? blisko poprzedniego w??a czyli nie tego, kt?ry ko?czy si? przy d?oniach peda. Nast?pnie musia?by? usun?? aktualn? cz??? w??a a t? poprzedni? przy??czy? do twoich d?oni, chocia? widz?, ?e przy??czanie si? samo wykona to wystarczy usun?? ostatniego w??a.
-- tutaj if - Je ? li jeste ? blisko w ?? a i jest on przedostatnim w ?? em w tabeli oraz tabela ma wi ? cej ni ? jeden w ?? to usu ? ostatniego w ?? a :
table . remove ( firehose , numer ostatniego w ?? a czyli mo ? na zrobi ? #firehose)
Więcej szczegółów
Wystawiono 1 piw(a):IgorPL222
Wysłany: 2018-04-02, 22:31
IgorPL222
LUA
Wiek: 26 Na forum: 3112 dni Posty: 133
Nick w MP: mxgvr
Piwa : 746
Mateuusz , zastanawiam si? co robi? tutaj ?le, poniewa? to nie dzia?a.
Kod:
if firehose [ i - 1 ] then
local xd = firehose [ i ]
local xd2 = firehose [ i - 1 ]
table . remove ( firehose , xd . x , xd . y , xd . z , xd2 . x , xd2 . y , xd2 . z )
end
[ Dodano : 2018-04-03, 02:51 ]
Pomo?e kto??
Wysłany: 2018-04-03, 12:15
Mateuusz
Wiek: 26 Na forum: 2985 dni Posty: 4
Nick w MP: Mateusz
Piwa : 2
Jak u?ywasz table.remove to jako drugi argument podajesz klucz w tabeli. W twoim wypadku tabela kluczuje si? numerycznie. Dlatego gdy chcesz usun?? z tabeli ostatni kawa?ek w??a to mo?esz jako drugiego argumentu u?y? ilo?? wpis?w w tabeli czyli:
table . remove ( firehose , #firehose)
By bardziej wyt ? umaczy ? jak dzia ? a table . remove to sp ? jrz :
masz tabele
Tabela = { 5 , 2 , 8 , 1 , 3 }
u ? ywaj ? c table . remove ( Tabela , 3 ) usuniesz warto ?? z tabeli o kluczu 3. W tym wypadku nie masz ? ci ? le okre ? lonych kluczy dlatego okre ? laj ? one si ? automatycznie po kolei czyli warto ?? 5 to klucz 1 , warto ?? 2 to klucz 2 , warto ?? 8 to klucz 3 etc .
po u ? ycia table . remove ( Tabela , 3 ) tabela b ? dzie wygl ? da ? tak
Tabela = { 5 , 2 , 1 , 3 }
Więcej szczegółów
Wystawiono 1 piw(a):IgorPL222
Wysłany: 2018-04-03, 13:48
IgorPL222
LUA
Wiek: 26 Na forum: 3112 dni Posty: 133
Nick w MP: mxgvr
Piwa : 746
Mateuusz , dzi?kuj? bardzo! Dzi?ki tobie zrozumia?em o co chodzi.
[ Dodano : 2018-04-03, 16:05 ]
Hmm, dalej nie dzia?a.
if firehose [ i - 1 ] then
local b = firehose [ i - 1 ]
local xd , yd , zd = getElementPosition ( localPlayer )
if getDistanceBetweenPoints3D ( xd , yd , zd , b . x , b . y , b . z ) < 1 then
table . remove ( firehose , #firehose)
end
end
[ Dodano : 2018-04-03, 16:10 ]
Dobra, ju? sobie poradzi?em, do zamkni?cia.
Tagi: wąż :: strażacki
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: