Wysłany: 2014-05-01, 18:47
piotr172
Wiek: 26 Na forum: 4417 dni Posty: 130
Piwa : 2329
Mam tutaj taki kod:
-- brama wjazdowa na parking
{ colsphere ={ 1592.11 ,- 1637.63 , 13.54 , 8 , 0 , 0 }, obiekty ={ "brama_1_komLS" }, frakcja = "Policja" , minrankid = 2 },
-- brama wejsciowa na parking
{ colsphere ={ 1583.48 ,- 1638.25 , 13.35 , 1 , 0 , 0 }, obiekty ={ "brama_2_komLS" }, frakcja = "Policja" , minrankid = 2 },
}
---------------------------------------------------------------------------------------------------------------------------------------------------------
function ruchomeElementyCH ( hitElement , matchingDimension )
if ( not matchingDimension or getElementType ( hitElement )~= "player" ) then
return
end
-- szukamy elementu
for i , v in ipairs ( ruchome_elementy ) do
if ( ruchome_elementy [ i ]. colshape and ruchome_elementy [ i ]. colshape == source ) then
-- sprawdzamy czy nie ma ograniczen do frakcji
if ( ruchome_elementy [ i ]. frakcja ) then
local t = getElementData ( hitElement , "faction:name" )
if ( not t or t ~= ruchome_elementy [ i ]. frakcja ) then
outputChatBox ( "Dostep tylko dla czlonkow frakcji " .. ruchome_elementy [ i ]. frakcja , hitElement )
return
end
if ruchome_elementy [ i ]. minrankid then
local lfrid = tonumber ( getElementData ( hitElement , "faction:rank_id" ))
if not lfrid or lfrid < ruchome_elementy [ i ]. minrankid then
return
end
end
end
-- przesuwamy !
for i2 , v2 in ipairs ( ruchome_elementy [ i ]. obiekty ) do
local o = getElementByID ( v2 )
if ( o ) then
moveObject ( o , getElementData ( o , "animtime" ), getElementData ( o , "pos2X" ), getElementData ( o , "pos2Y" ), getElementData ( o , "pos2Z" ))
else
outputDebugString ( "Nie znaleziono przesuwanego obiektu o id " .. v2 )
end
end
return
end
end
end
function ruchomeElementyCL ( hitElement , matchingDimension )
if ( not matchingDimension or getElementType ( hitElement )~= "player" ) then
return
end
for i , v in ipairs ( ruchome_elementy ) do
if ( ruchome_elementy [ i ]. colshape and ruchome_elementy [ i ]. colshape == source ) then
for i2 , v2 in ipairs ( ruchome_elementy [ i ]. obiekty ) do
local o = getElementByID ( v2 )
if ( o ) then
moveObject ( o , getElementData ( o , "animtime" ), getElementData ( o , "posX" ), getElementData ( o , "posY" ), getElementData ( o , "posZ" ))
else
outputDebugString ( "Nie znaleziono przesuwanego obiektu o id " .. v2 )
end
end
return
end
end
end
for i , v in ipairs ( ruchome_elementy ) do
if ( ruchome_elementy [ i ]. colsphere ) then
ruchome_elementy [ i ]. colshape = createColSphere ( ruchome_elementy [ i ]. colsphere [ 1 ], ruchome_elementy [ i ]. colsphere [ 2 ], ruchome_elementy [ i ]. colsphere [ 3 ], ruchome_elementy [ i ]. colsphere [ 4 ] )
if ( ruchome_elementy [ i ]. colsphere [ 5 ]) then setElementInterior ( ruchome_elementy [ i ]. colshape , ruchome_elementy [ i ]. colsphere [ 5 ]) end
if ( ruchome_elementy [ i ]. colsphere [ 6 ]) then setElementDimension ( ruchome_elementy [ i ]. colshape , ruchome_elementy [ i ]. colsphere [ 6 ]) end
end
if ( ruchome_elementy [ i ]. colshape ) then
addEventHandler ( "onColShapeHit" , ruchome_elementy [ i ]. colshape , ruchomeElementyCH )
addEventHandler ( "onColShapeLeave" , ruchome_elementy [ i ]. colshape , ruchomeElementyCL )
else
outputDebugString ( "Nie utworzono colshape dla ruchomego elementu" )
end
end
Chcia?bym ?eby brama by?a otwierana przez osob? z teamu. Prosz? o szybka odpowiedz.
Wysłany: 2014-05-01, 19:25
Zgredek666
LUA
Wiek: 27 Na forum: 4722 dni Posty: 251
Nick w MP: Zgredek
Piwa : 442
local team = getTeamFromName ( "Tw?j Team" )
if getPlayerTeam ( player ) == team then
Powinno dziala?
Wysłany: 2014-05-02, 08:22
piotr172
Wiek: 26 Na forum: 4417 dni Posty: 130
Piwa : 2329
Jest problem poniewa? brama otwiera sie nawet jak nie jest sie w teamie.
Wysłany: 2014-05-02, 09:31
Zgredek666
LUA
Wiek: 27 Na forum: 4722 dni Posty: 251
Nick w MP: Zgredek
Piwa : 442
Ta funkcja co ci wyslalem sprawdza czy gracz jest w teamie...
Wysłany: 2014-05-02, 09:58
piotr172
Wiek: 26 Na forum: 4417 dni Posty: 130
Piwa : 2329
A podasz je?li mo?esz ?eby brama sie nie otwiera?a jak sie nie jest w teamie? Prosze
Wysłany: 2014-05-02, 10:41
Riot
3X
Wiek: 29 Na forum: 5729 dni Posty: 1123
Nick w MP: Riot/3X
Piwa : 286
Chyba ciut nie ogarniasz - jak sprawdzasz czy gracz jest w teamie to je?li warunek zostanie spe?niony to funkcja idzie dalej i wykonuje co tam chcesz dalej - a je?li nie zostanie spe?niony pomija blok kodu od if do end lub else.
Poczytaj o warunkach, zobacz ich jaki? schemat te? graficzny na internecie.
Wysłany: 2014-05-02, 11:19
piotr172
Wiek: 26 Na forum: 4417 dni Posty: 130
Piwa : 2329
Czyli nie dostane pomocy?
M?g?by? mi napisa? ten kod tak jak powinno by?? Prosz? cie.
Wysłany: 2014-05-02, 12:06
Zgredek666
LUA
Wiek: 27 Na forum: 4722 dni Posty: 251
Nick w MP: Zgredek
Piwa : 442
-- brama wjazdowa na parking
{ colsphere ={ 1592.11 ,- 1637.63 , 13.54 , 8 , 0 , 0 }, obiekty ={ "brama_1_komLS" }, frakcja = "Policja" , minrankid = 2 },
-- brama wejsciowa na parking
{ colsphere ={ 1583.48 ,- 1638.25 , 13.35 , 1 , 0 , 0 }, obiekty ={ "brama_2_komLS" }, frakcja = "Policja" , minrankid = 2 },
}
---------------------------------------------------------------------------------------------------------------------------------------------------------
function ruchomeElementyCH ( hitElement , matchingDimension )
if ( not matchingDimension or getElementType ( hitElement )~= "player" ) then
return
end
-- szukamy elementu
for i , v in ipairs ( ruchome_elementy ) do
if ( ruchome_elementy [ i : 1 ]. colshape and ruchome_elementy [ i : 2 ]. colshape == source ) then
-- sprawdzamy czy nie ma ograniczen do frakcji
if ( ruchome_elementy [ i : 3 ]. frakcja ) then
local t = getElementData ( hitElement , "faction:name" )
local team = getTeamFromName ( "Policja" )
if getPlayerTeam ( player ) == team then
if ( not t or t ~= ruchome_elementy [ i : 4 ]. frakcja ) then
outputChatBox ( "Dostep tylko dla czlonkow frakcji " .. ruchome_elementy [ i : 5 ]. frakcja , hitElement )
return
end
if ruchome_elementy [ i : 6 ]. minrankid then
local lfrid = tonumber ( getElementData ( hitElement , "faction:rank_id" ))
if not lfrid or lfrid < ruchome_elementy [ i : 7 ]. minrankid then
return
end
end
end
-- przesuwamy !
for i2 , v2 in ipairs ( ruchome_elementy [ i : 8 ]. obiekty ) do
local o = getElementByID ( v2 )
if ( o ) then
moveObject ( o , getElementData ( o , "animtime" ), getElementData ( o , "pos2X" ), getElementData ( o , "pos2Y" ), getElementData ( o , "pos2Z" ))
else
outputDebugString ( "Nie znaleziono przesuwanego obiektu o id " .. v2 )
end
end
return
end
end
end
function ruchomeElementyCL ( hitElement , matchingDimension )
if ( not matchingDimension or getElementType ( hitElement )~= "player" ) then
return
end
for i , v in ipairs ( ruchome_elementy ) do
if ( ruchome_elementy [ i : 9 ]. colshape and ruchome_elementy [ i : 10 ]. colshape == source ) then
for i2 , v2 in ipairs ( ruchome_elementy [ i : 11 ]. obiekty ) do
local o = getElementByID ( v2 )
if ( o ) then
moveObject ( o , getElementData ( o , "animtime" ), getElementData ( o , "posX" ), getElementData ( o , "posY" ), getElementData ( o , "posZ" ))
else
outputDebugString ( "Nie znaleziono przesuwanego obiektu o id " .. v2 )
end
end
return
end
end
end
for i , v in ipairs ( ruchome_elementy ) do
if ( ruchome_elementy [ i : 12 ]. colsphere ) then
ruchome_elementy [ i : 13 ]. colshape = createColSphere ( ruchome_elementy [ i : 14 ]. colsphere [ 1 ], ruchome_elementy [ i : 15 ]. colsphere [ 2 ], ruchome_elementy [ i : 16 ]. colsphere [ 3 ], ruchome_elementy [ i : 17 ]. colsphere [ 4 ] )
if ( ruchome_elementy [ i : 18 ]. colsphere [ 5 ]) then setElementInterior ( ruchome_elementy [ i : 19 ]. colshape , ruchome_elementy [ i : 20 ]. colsphere [ 5 ]) end
if ( ruchome_elementy [ i : 21 ]. colsphere [ 6 ]) then setElementDimension ( ruchome_elementy [ i : 22 ]. colshape , ruchome_elementy [ i : 23 ]. colsphere [ 6 ]) end
end
if ( ruchome_elementy [ i : 24 ]. colshape ) then
addEventHandler ( "onColShapeHit" , ruchome_elementy [ i : 25 ]. colshape , ruchomeElementyCH )
addEventHandler ( "onColShapeLeave" , ruchome_elementy [ i : 26 ]. colshape , ruchomeElementyCL )
else
outputDebugString ( "Nie utworzono colshape dla ruchomego elementu" )
end
end
Tak a propo czemu ?e? sobie tak utrudni? jak bram? mo?na du?o ?atwiej i szybciej wykona??
Wysłany: 2014-05-03, 10:06
piotr172
Wiek: 26 Na forum: 4417 dni Posty: 130
Piwa : 2329
Nie dzia?a teraz wgl. Skrypt wys?a? mi kolega.
Wysłany: 2014-05-03, 10:52
Zgredek666
LUA
Wiek: 27 Na forum: 4722 dni Posty: 251
Nick w MP: Zgredek
Piwa : 442
Pewnie masz za malo o jednego enda uzywaj debugscript 3 i poczytaj poradnik na brame
Wysłany: 2014-05-03, 11:14
piotr172
Wiek: 26 Na forum: 4417 dni Posty: 130
Piwa : 2329
Wyskakuje taki b?ad:
Kod: ERROR: Loading script failed: policja\rozsuwane_drzwi.lua:55: '<name>' expected near '1'
Prosz? o pomoc. Naprawd? chce ?eby to sie otwiera?o, a sam nie potrafi? tego zrobi?.
Wysłany: 2014-05-03, 12:52
Zgredek666
LUA
Wiek: 27 Na forum: 4722 dni Posty: 251
Nick w MP: Zgredek
Piwa : 442
myMarker4 = createMarker ( x , y , z , 'corona' , rozmiar , 0 , 0 , 255 , 0 )
bra4 = createObject ( 980 , 1583.48 ,- 1638.25 , 13.35 , 1 , 0 , 0 , 270 )
function MarkerHit4 ( hitPlayer , matchingDimension )
local playera = hitPlayer
if getElementType ( playera ) == "player" then
if isObjectInACLGroup ( 'user.' .. getAccountName ( getPlayerAccount ( playera ) ), aclGetGroup ( 'Policja' ) ) then
moveObject ( bra4 , 2500 , 1592.11 ,- 1637.63 , 13.54 , 8 )
end
end
end
function MarkerLeave4 ( thePlayer )
moveObject ( bra4 , 2500 , 1583.48 ,- 1638.25 , 13.35 , 1 )
end
addEventHandler ( "onMarkerLeave" , myMarker4 , MarkerLeave4 )
addEventHandler ( "onMarkerHit" , myMarker4 , MarkerHit4 ) Masz tu gotowy skrypt kt?ry napisa?em powstawiaj sobie tylko marker i ju?.
Wysłany: 2014-05-03, 17:50
piotr172
Wiek: 26 Na forum: 4417 dni Posty: 130
Piwa : 2329
Ok dzieki, a na Team da?o by rade?
Wysłany: 2014-05-03, 17:54
Zgredek666
LUA
Wiek: 27 Na forum: 4722 dni Posty: 251
Nick w MP: Zgredek
Piwa : 442
U?yj tego : local team = getTeamFromName("Policja")
if getPlayerTeam(player) == team then
Wysłany: 2014-05-03, 17:55
piotr172
Wiek: 26 Na forum: 4417 dni Posty: 130
Piwa : 2329
A gdzie to wstawi?? Jeszcze gdyby?my m?g?/ umia? to ?eby wyskakiwa?o ze ta osoba nie ma do tego praw, prosz?.
Tagi: otwieranie :: bramy :: przez :: sprawdzenie :: teamu.
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: