Jaga Posted April 29, 2019 Share Posted April 29, 2019 Ola Tenho Um Script De Prender Que Quando Digita Isso Ele Vai Para A "Porta" De Tras Do Carro e queria saber se quando quem deu esse comando que estaria na ACL ---> ComandosPolicia , E Queria Saber Quem Recebeu Esse Comando Quando Quem Estiver Dirigindo Fosse Em Um Marker E Quem Recebeu O Comando Fosse Teleportado Para Um Lugar Especifio! Server.lua --DELEGACIAS local marker = {} local Positions = { {1536 , -1675.5 ,12}, {-1606.509, 723.207, 12.15}, {2290.18 , 2420.7 ,10} local delegaciaLS = createMarker(1536 , -1675.5 ,12 -1, 'cylinder', 1.2, 20, 70, 230, 95 ) local delegaciaLV = createMarker(2290.379, 2419.726, 10.82 -1, 'cylinder', 1.2, 20, 70, 230, 95 ) local delegaciaSF = createMarker(-1606.509, 723.207, 12.15 -1, 'cylinder', 1.2, 20, 70, 230, 95 ) createBlip(1536 , -1675.5 ,12, 33) createBlip(2290.379, 2419.726, 10.82, 33) createBlip(-1606.509, 723.207, 12.15, 33) } function onCommand(command) if (command ~= 'say' ) then cancelEvent() end end carros = {} function salvacarro (vei, assento, vitima) carros[source] = vei end addEventHandler ('onPlayerVehicleEnter', root, salvacarro) function onResourceStart() for k=1, #Positions do marker[k] = createMarker(Positions[k][1],Positions[k][2],Positions[k][3], 'cylinder', 3.0, 10,10,10, 255) createBlipAttachedTo(marker[k],30) addEventHandler ('onMarkerHit', marker[k], delegacia) end end function getPlayerFromPartialName(name) local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil if name then for _, player in ipairs(getElementsByType("player")) do local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower() if name_:find(name, 1, true) then return player end end end end tx = 0 dx = 4.7 function encarcerar (preso) removeElementData (preso, 'navtr') setElementData (preso, 'naprisao', true) setElementInterior (preso, 6) setElementDimension (preso, 200) setElementFrozen (preso, false) setPedAnimation (preso) toggleAllControls (preso, true) toggleControl (preso, 'fire', false) if ( tx<6.1*dx ) then setElementPosition (preso, 1544.27+tx, -1637.42, -83.36+2) setPedRotation (preso, 0) tx = tx + dx elseif ( tx>5.9*dx and tx<13.9*dx ) then setElementPosition (preso, 1511.08+tx, -1616.37, -83.36) setPedRotation (preso, 180) tx = tx + dx elseif ( tx>13.9*dx and tx<17.1*dx) then setElementPosition (preso, 1483.31+tx, -1616.37, -89.5) setPedRotation (preso, 180) tx = tx + dx elseif ( tx>16.9*dx and tx<20.1*dx) then setElementPosition (preso, 1464.32+tx, -1637.42, -89.5) setPedRotation (preso, 0) tx = tx + dx elseif ( tx>19.9*dx ) then tx = 0 setElementPosition (preso, 1544.27+tx, -1637.42, -83.36) setPedRotation (preso, 0) tx = dx end end function delegacia (source) if getElementData (source, 'compreso') then local pregados = getAttachedElements(source) for _,preso in ipairs (pregados) do if ( getElementData (preso, 'navtr') ) then detachElements (preso, source) encarcerar(preso) local police = getVehicleOccupant (source, 0) local niv = getPlayerWantedLevel (preso) local premio = 5000*niv setPlayerMoney (police, getPlayerMoney(police)+ premio ) outputChatBox('#bebebeVocê prendeu um procurado nível #00ffff'..niv..'#bebebe e ganhou #00ffffR$ '..premio..'#bebebe de prêmio!' , police, 255, 255, 255, true) end end end end function colocanavtr (police, _, name) if hasObjectPermissionTo(police, "function.Prender") then local preso = getPlayerFromPartialName(name) local px, py, pz = getElementPosition (police) local bx, by, bz = getElementPosition (preso) local dist = getDistanceBetweenPoints3D (px, py, pz, bx, by, bz) if not preso then return outputChatBox('#bebebe Jogador invalido.', police, 255, 255, 255, true) end if preso == police then return outputChatBox('#bebebe Você não pode prender a si mesmo.', police, 255, 255, 255, true) end if getPlayerWantedLevel(preso) == 0 then return outputChatBox('#bebebe Este jogador não está sendo procurado.', police, 255, 255, 255, true) end if getPedOccupiedVehicle(police) then return outputChatBox('#bebebe Você não pode prender de dentro da viatura.', police, 255, 255, 255, true) end if getPedOccupiedVehicle(preso) then return outputChatBox('#bebebe Você não pode prender um bandido enquanto ele estiver dentro de um veículo.', police, 255, 255, 255, true) end if dist >= 2 then return outputChatBox('#bebebe Você precisa chegar mais perto para prender.', police, 255, 255, 255, true) end setElementData (preso, 'navtr', true) addEventHandler('onPlayerCommand', preso, onCommand) local vtr = carros[police] setElementData (vtr, 'compreso', true) attachElements (preso, vtr, 0.2, -1.5, 0, 0,0,90) setElementFrozen (preso, true) toggleAllControls (preso, false) takeAllWeapons (preso) setPedAnimation (preso, 'ped','CAR_dead_LHS') vrx, vry, vrz = getElementRotation(vtr) setElementRotation(preso, vrx, vry, vrz+83) warpPedIntoVehicle (police, vtr) outputChatBox('#bebebeLeve o preso para a delegacia mais próxima #00ffff(sirenes azuis).', police, 255, 255, 255,true) end end addCommandHandler ('prender', colocanavtr) function libera (liberado) if ( getElementData(liberado, 'naprisao') ) then removeEventHandler('onPlayerCommand', liberado, onCommand) setElementData (liberado, 'naprisao', false) setElementInterior (liberado, 0) setElementDimension (liberado, 0) setElementPosition (liberado, 1553.41 , -1675.57-math.random(3) ,16) setPedRotation (liberado, 0, 0, 90) toggleAllControls (liberado, true) end if ( getElementData(liberado, 'navtr') ) then removeEventHandler('onPlayerCommand', liberado, onCommand) setElementData (liberado, 'navtr', false) setElementFrozen (liberado, false) detachElements (liberado, getElementAttachedTo(liberado) ) lx, ly, lz = getElementPosition (liberado) setElementPosition (liberado, lx+2 , ly+2 , lz) setPedAnimation (liberado) toggleAllControls (liberado, true) end end function removeWantedLevel() for k, v in ipairs(getElementsByType ('player')) do if (getElementData (v, 'naprisao') or getElementData (v, 'navtr')) then setPlayerWantedLevel(v, getPlayerWantedLevel(v)-1) if getPlayerWantedLevel(v) < 1 then libera (v) end end end end setTimer(removeWantedLevel, 40000, 0) Link to comment
Jonas^ Posted April 29, 2019 Share Posted April 29, 2019 Não entendi a segunda e a terceira parte '-', mas a primeira faça assim: function colocanavtr (police, _, name) if isObjectInACLGroup ("user."..getAccountName(getPlayerAccount (police)), aclGetGroup ("ComandosPolicia")) then local preso = getPlayerFromPartialName(name) local px, py, pz = getElementPosition (police) local bx, by, bz = getElementPosition (preso) local dist = getDistanceBetweenPoints3D (px, py, pz, bx, by, bz) if not preso then return outputChatBox('#bebebe Jogador invalido.', police, 255, 255, 255, true) end if preso == police then return outputChatBox('#bebebe Você não pode prender a si mesmo.', police, 255, 255, 255, true) end if getPlayerWantedLevel(preso) == 0 then return outputChatBox('#bebebe Este jogador não está sendo procurado.', police, 255, 255, 255, true) end if getPedOccupiedVehicle(police) then return outputChatBox('#bebebe Você não pode prender de dentro da viatura.', police, 255, 255, 255, true) end if getPedOccupiedVehicle(preso) then return outputChatBox('#bebebe Você não pode prender um bandido enquanto ele estiver dentro de um veículo.', police, 255, 255, 255, true) end if dist >= 2 then return outputChatBox('#bebebe Você precisa chegar mais perto para prender.', police, 255, 255, 255, true) end setElementData (preso, 'navtr', true) addEventHandler('onPlayerCommand', preso, onCommand) local vtr = carros[police] setElementData (vtr, 'compreso', true) attachElements (preso, vtr, 0.2, -1.5, 0, 0,0,90) setElementFrozen (preso, true) toggleAllControls (preso, false) takeAllWeapons (preso) setPedAnimation (preso, 'ped','CAR_dead_LHS') vrx, vry, vrz = getElementRotation(vtr) setElementRotation(preso, vrx, vry, vrz+83) warpPedIntoVehicle (police, vtr) outputChatBox('#bebebeLeve o preso para a delegacia mais próxima #00ffff(sirenes azuis).', police, 255, 255, 255,true) else outputChatBox ("Você não é um policial.", police, 255, 30, 30) end end addCommandHandler ('prender', colocanavtr) Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now