Wysłany: 2021-06-29, 13:21
Trito
Wiek: 27 Na forum: 3009 dni Posty: 8
Nick w MP: Trito
Witam, mam problem mianowicie nie mam zielonego poj?cia jak zmieni? ten skrypt na bramy tak, aby dzia?a? na markerach (otwarcie i zamkni?cie).
Wiem ju? ?e pewnie musia? bym u?y? "isElementWithinMarker" ale nie wiem gdzie i jak.
local b ={
--{ c = "p1" , model = 2933 , poz ={ 1625.59 , - 1320.80 , 18.10 }, rotC ={ 0 , 0 , 270 }, rotO ={ 0 ,- 90 , 0 }, czas = 3000 , gotowa = true },
{ c = "satc1" , model = 2933 , poz ={ 2091.80 , - 1867.80 , 14.30 }, poz2 ={ 2091.80 , - 1872.69 , 14.30 }, rotC ={ 0 , 0 , 90 }, rotO ={ 0 , 0 , 0 }, czas = 4000 , gotowa = true },
{ c = "satc2" , model = 5779 , poz ={ 2060 , - 1872 , 14.10 }, poz2 ={ 2060 , - 1872 , 15.60 }, rotC ={ 0 , 0 , 180 }, rotO ={ 0 , 82.5 , 0 }, czas = 3000 , gotowa = true },
}
for i , v in ipairs ( b ) do
-- v . brama = createObject ( v . model , v . poz [ 1 ], v . poz [ 2 ], v . poz [ 3 ], v . rotC [ 1 ], v . rotC [ 2 ], v . rotC [ 3 ])
v . brama = createObject ( v . model , v . poz [ 1 ], v . poz [ 2 ], v . poz [ 3 ], v . rotC [ 1 ], v . rotC [ 2 ], v . rotC [ 3 ])
setObjectScale ( v . brama , 1 )
if v . scale then
setObjectScale ( v . brama , v . scale )
end
end
local oc =(
function( plr , cmd )
--if ( getElementData ( plr , "dbid" )~= 1 ) then
-- return
-- end
-- if not isElementWithinMarker ( plr , mrk ) then --or not isElementWithinMarker ( plr , mrk2 )
-- return
-- end
local z_b = nil
local z_i = nil
for i , v in ipairs ( b ) do
if ( cmd == v . c ) then
z_b = v
z_i = i
end
end
if not z_b then
return
end
---if jest w org tej i tej then
local spr = exports [ "smta_base_db" ]: wykonaj ( "SELECT * FROM smtadb_factions WHERE dbid=? and frakcja=?" , getElementData ( plr , "dbid" ), frakcja )
if #spr ~= 1 then
exports [ "smta_base_notifications" ]: noti ( "Z tej bramy mo?e korzysta? jedynie SATC." , plr )
return
end
if not z_b . gotowa then
exports [ "smta_base_notifications" ]: noti ( "Zaczekaj a? brama wykona poprzedni? operacj?." , plr )
return
end
if z_b . poz2 then
if not z_b . otwarta then
moveObject ( z_b . brama , z_b . czas , z_b . poz2 [ 1 ], z_b . poz2 [ 2 ], z_b . poz2 [ 3 ], z_b . rotO [ 1 ], z_b . rotO [ 2 ], z_b . rotO [ 3 ])
z_b . otwarta = true
z_b . gotowa = false
setTimer (function()
z_b . gotowa = true
exports [ "smta_base_notifications" ]: noti ( "Brama otwarta pomy?lnie." , plr )
end , z_b . czas , 1 )
else
moveObject ( z_b . brama , z_b . czas , z_b . poz [ 1 ], z_b . poz [ 2 ], z_b . poz [ 3 ],- z_b . rotO [ 1 ],- z_b . rotO [ 2 ],- z_b . rotO [ 3 ])
z_b . otwarta = false
z_b . gotowa = false
setTimer (function()
z_b . gotowa = true
exports [ "smta_base_notifications" ]: noti ( "Brama zamkni?ta pomy?lnie." , plr )
end , z_b . czas , 1 )
end
else
if not z_b . otwarta then
moveObject ( z_b . brama , z_b . czas , z_b . poz [ 1 ], z_b . poz [ 2 ], z_b . poz [ 3 ], z_b . rotO [ 1 ], z_b . rotO [ 2 ], z_b . rotO [ 3 ])
z_b . otwarta = true
z_b . gotowa = false
setTimer (function()
z_b . gotowa = true
exports [ "smta_base_notifications" ]: noti ( "Szlaban numer " .. z_i .. " otwarty pomy?lnie." , plr )
end , z_b . czas , 1 )
exports [ "smta_base_notifications" ]: noti ( "Otwieranie szlabanu numer " .. z_i .. "." , plr )
else
moveObject ( z_b . brama , z_b . czas , z_b . poz [ 1 ], z_b . poz [ 2 ], z_b . poz [ 3 ],- z_b . rotO [ 1 ],- z_b . rotO [ 2 ],- z_b . rotO [ 3 ])
z_b . otwarta = false
z_b . gotowa = false
setTimer (function()
z_b . gotowa = true
exports [ "smta_base_notifications" ]: noti ( "Szlaban numer " .. z_i .. " zamkni?ty pomy?lnie." , plr )
end , z_b . czas , 1 )
exports [ "smta_base_notifications" ]: noti ( "Zamykanie szlabanu numer " .. z_i .. "." , plr )
end
end
end
)
for i , v in ipairs ( b ) do
addCommandHandler ( v . c , oc )
end
Ostatnio zmieniony przez _jvneczek 2021-06-29, 13:50, w całości zmieniany 1 raz
Wysłany: 2021-06-29, 13:43
xyzzz^
A nic
Wiek: 18 Na forum: 1993 dni Posty: 319
Nick w MP: Aspyk21
Piwa : 308
Wysłany: 2021-06-29, 20:44
TheSebaPL
Mod-team
Wiek: 21 Na forum: 3098 dni Posty: 964
Piwa : 3102
Trito
local brama = createObject ( ID bramy , x , y , z , rx , ry , rz )
local marker = createMarker ( kordy markera , "corona" , 8 , 0 , 0 , 0 , 0 )
addEventHandler ( "onMarkerHit" , marker , function( el , md )
if getElementData ( el , "player:organization" ) == "Nazwa organizacji" or getElementData ( el , "player:sid" ) == SID OSOBY then -- Je ? eli chcesz tylko na organizacj ? to usu ? "or getElementData(el, " player : sid ") == SID OSOBY" tak samo ni ? ej a na sid to : "getElementData(el, " player : organization ") == " Nazwa organizacji ""
moveObject ( brama , 2500 , kordy otwarcia ) -- 2500 to jest szybko ?? otwierania bramy
end
end )
addEventHandler ( "onMarkerLeave" , marker , function ( el , md )
if getElementData ( el , "player:organization" ) == "Nazwa organizacji" or getElementData ( el , "player:sid" ) == SID OSOBY then -- Je ? eli chcesz tylko na organizacj ? to usu ? "or getElementData(el, " player : sid ") == SID OSOBY" tak samo ni ? ej a na sid to : "getElementData(el, " player : organization ") == " Nazwa organizacji ""
moveObject ( brama , 2500 , kordy zamkni ? cia ) -- 2500 to jest szybko ?? otwierania bramy
end
end )
Wysłany: 2021-09-03, 04:35
_jvneczek
Wiek: 22 Na forum: 4326 dni Posty: 1513
Nick w MP: _jvneczek
Piwa : 3949
Czy problem nadal wyst?puje?
Tagi: jak :: zamienić :: komendę
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: