Witam mam problema z bram? w jednym GM , polega on na tym ?e s? bramy PSP otwiera si? za pomoc? tab a nast?pnie otworz zamknij , chc? to przerobi? na komend? , zrobi?em tak :
BlackGamePL, mo?e po prostu podaj ca?y kod odpowiadaj?cy za poruszanie bramami ( z tymi moveObject) itp, b?dzie ?atwiej dorobi? komendy wtedy.
Ale og?lnie mo?esz to zrobi? na takiej zasadzie
otwarte = false
function nazwa()
if otwarte then
--moveObject
otwarte = false
else
moveObject
otwarte = true
end
end
addCommandHandler("Porusz", nazwa)
brama1.otworz=function()
if (brama1.animacja or not brama1.zamknieta) then return false end
brama1.animacja=true
moveObject(brama1.obiekt,5000,885.81146240234,-1268.4152832031,20.849021911621,-90,0,0,"OutBounce")
setTimer(function() brama1.animacja=false brama1.zamknieta=false end, 6000, 1)
getDistanceBetweenPoints3D ( 50, 50, 50, getElementVelocity ( vehicle ) )
end
[ Dodano: 2015-10-07, 15:24 ]
i tez mam problem bo kazdy moze j? otwiera? (T? bram?)
function nazwa(plr)
x,y,z = getElementPosition(plr)
if getDistanceBetweenPoints3D(x bramy, y bramy, z bramy, x,y,z) > 50 then return end
if otwarte then
moveObject
otwarte = false
else
moveObject
otwarte = true
end
end
addCommandHandler("Porusz", nazwa)
local brama1={}
brama1.obiekt=createObject(2885,885.81146240234,-1268.4152832031,20.849021911621,0,0,270)
brama1.animacja=false
brama1.zamknieta=true
brama1.otworz=function()
if (brama1.animacja or not brama1.zamknieta) then return false end
if getDistanceBetweenPoints3D(5000,885.81146240234, -1268.4152832031, 20.849021911621, 5000,885.81146240234,-1268.4152832031,20.849021911621) > 50 then return end
brama1.animacja=true
moveObject(brama1.obiekt,5000,885.81146240234,-1268.4152832031,20.849021911621,-90,0,0,"OutBounce")
setTimer(function() brama1.animacja=false brama1.zamknieta=false end, 6000, 1)
end
addCommandHandler("bramapsp1", brama1.otworz)
local brama1={}
brama1.obiekt=createObject(2885,885.81146240234,-1268.4152832031,20.849021911621,0,0,270)
brama1.animacja=false
brama1.zamknieta=true
brama1.otworz=function()
if (brama1.animacja or not brama1.zamknieta) then return false end
if getDistanceBetweenPoints3D(885.81146240234, -1268.4152832031, 20.849021911621, 885.81146240234,-1268.4152832031,20.849021911621) > 50 then return end
brama1.animacja=true
moveObject(brama1.obiekt,5000,885.81146240234,-1268.4152832031,20.849021911621,-90,0,0,"OutBounce")
setTimer(function() brama1.animacja=false brama1.zamknieta=false end, 6000, 1)
end
addCommandHandler("bramapsp1", brama1.otworz)
Terr9909, normalnie mozna otwiera? brame z daleka , ale to nie wa?ne , nwm dlaczego ale moze to otwiera? ka?dy gracz
oto caly kod :
local brama1={}
brama1.obiekt=createObject(2885,885.81146240234,-1268.4152832031,20.849021911621,0,0,270)
brama1.animacja=false
brama1.zamknieta=true
brama1.otworz=function()
if (brama1.animacja or not brama1.zamknieta) then return false end
if getDistanceBetweenPoints3D(885.81146240234, -1268.4152832031, 20.849021911621, 885.81146240234,-1268.4152832031,20.849021911621) > 50 then return end
brama1.animacja=true
moveObject(brama1.obiekt,5000,885.81146240234,-1268.4152832031,20.849021911621,-90,0,0,"OutBounce")
setTimer(function() brama1.animacja=false brama1.zamknieta=false end, 6000, 1)
end
addCommandHandler("bramapsp1", brama1.otworz)
brama1.zamknij=function()
if (brama1.animacja or brama1.zamknieta) then return false end
brama1.animacja=true
moveObject(brama1.obiekt,5000,885.81146240234,-1268.4152832031,20.849021911621,90,0,0,"OutBounce")
setTimer(function() brama1.animacja=false brama1.zamknieta=true end, 6000, 1)
end
addCommandHandler("bramapsp1", brama1.zamknij)
local function pracownik(id)
local query=string.format("SELECT rank FROM lss_character_factions WHERE faction_id=11 AND character_id=%d", id)
local wynik=exports.DB:pobierzWyniki(query)
if (wynik and wynik.rank and tonumber(wynik.rank)>=2 and tonumber(wynik.rank)<=8) then return true else return false end
end
brama1.toggle=function(gracz)
-- automagiczne spawdzanie czy gracz jest pracownikiem frakcji
local c=getElementData(gracz,"character")
if (not c or not c.id) then return end
local fid=getElementData(gracz,"faction:id")
if not fid or fid~=11 then
outputChatBox("(( Nie masz klucza do tej bramy ))", gracz)
return
end
local x,y,z=getElementPosition(brama1.obiekt)
local x2,y2,z2=getElementPosition(gracz)
local dist=getDistanceBetweenPoints3D(x,y,z,x2,y2,z2)
if ((dist>25)) then
outputChatBox("Podejd? bli?ej do bramy.", gracz, 255,0,0,true)
return
end
if (brama1.animacja) then
outputChatBox("Odczekaj chwil?.", gracz, 255,0,0,true)
return
end
if (brama1.zamknieta) then
brama1.otworz()
triggerEvent("broadcastCaptionedEvent", gracz, getPlayerName(gracz) .. " otwiera bram?.", 5, 15, true)
else
brama1.zamknij()
triggerEvent("broadcastCaptionedEvent", gracz, getPlayerName(gracz) .. " zamyka bram?.", 5, 15, true)
end
end
addEvent("onStraz_pozarnaBrama1ToggleRequest", true)
addEventHandler("onStraz_pozarnaBrama1ToggleRequest", resourceRoot, brama1.toggle)
-- npc
local strazak=createPed(279,912.18,-1234.39,16.99,0.7,false)
setElementFrozen(strazak,true)
setElementData(strazak,"npc", true)
setElementData(strazak,"name", "Stra?ak")
brama1.otworz=function(player)
if (brama1.animacja or not brama1.zamknieta) then return false end
local x,y,z=getElementPosition(player)
if getDistanceBetweenPoints3D(x,y,z,885.81146240234,-1268.4152832031,20.849021911621) > 50 then return end
brama1.animacja=true
moveObject(brama1.obiekt,5000,885.81146240234,-1268.4152832031,20.849021911621,-90,0,0,"OutBounce")
setTimer(function() brama1.animacja=false brama1.zamknieta=false end, 6000, 1)
end
addCommandHandler("bramapsp1", brama1.otworz)
BlackGamePL, a czy to my tworzymy Tw?j "serwer" ?. Wyobra? sobie, ?e nie mamy poj?cia na co przyznajesz dost?p do frakcji, czy acl, czy accountDaty, mo?e elementDaty, albo jeszcze na zewn?trzn? baz? danych...
Je?eli oczekujesz odpowiedzi podaj chocia? minimum informacji, kt?re s? do tego niezb?dne.
local brama1={}
brama1.obiekt=createObject(2885,885.81146240234,-1268.4152832031,20.849021911621,0,0,270)
brama1.animacja=false
brama1.zamknieta=true
brama1.otworz=function(player)
if isObjectInACLGroup("user"..getAccountName(getPlayerAccount(player)), aclGetGroup("PSP")) then
if (brama1.animacja or not brama1.zamknieta) then return false end
local x,y,z=getElementPosition(player)
if getDistanceBetweenPoints3D(x,y,z,885.81146240234,-1268.4152832031,20.849021911621) > 50 then return end
brama1.animacja=true
moveObject(brama1.obiekt,5000,885.81146240234,-1268.4152832031,20.849021911621,-90,0,0,"OutBounce")
setTimer(function() brama1.animacja=false brama1.zamknieta=false end, 6000, 1)
end
end
addCommandHandler("bramapsp1", brama1.otworz)
brama1.zamknij=function()
if isObjectInACLGroup("user"..getAccountName(getPlayerAccount(player)), aclGetGroup("PSP")) then
if (brama1.animacja or brama1.zamknieta) then return false end
brama1.animacja=true
moveObject(brama1.obiekt,5000,885.81146240234,-1268.4152832031,20.849021911621,90,0,0,"OutBounce")
setTimer(function() brama1.animacja=false brama1.zamknieta=true end, 6000, 1)
end
end
addCommandHandler("bramapsp1", brama1.zamknij)
Podpis
Jedyny kontakt ze mną to PW forum
local noobs = getElementsByTitle("player", "Programista LUA")
for k, v in ipairs(noobs) do
outputChatBox("Bez mózgu jest użytkownik o nicku: "..getPlayerName(v), root)
destroyElement(v)
end
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