joao2235 Posted September 10, 2019 Share Posted September 10, 2019 Tentei de várias formas fazer com que o player seja rotacionado, nenhuma delas deu certo. A linha em questão é a 144, segue o código completo abaixo: --DELEGACIAS local marker = {} local Positions = { createMarker(1536, -1675.5, 12, "cylinder", 4, 125, 0, 0, 150 ), --[[{1536 , -1675.5 ,12}, {2185 , -1757 ,12}, {777.6 , -1387.5 ,12}, {-1568.1 , 661.18 ,6}, {2290.18 , 2420.7 ,10}]]-- } 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 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 for i=1, #Positions do addEventHandler("onMarkerHit", Positions[i], delegacia) 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.1795654297,-1675.5323486328,16.1953125) setElementRotation (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')) then setPlayerWantedLevel(v, getPlayerWantedLevel(v)-1) if getPlayerWantedLevel(v) < 1 then libera (v) end end end end setTimer(removeWantedLevel, 40000, 0) function stars(source) setPlayerWantedLevel(source, 1) end addCommandHandler("testes", stars) No código (line 144) peço para que o Player rotacione 90°, mas isso não ocorre. Se puderem me ajudar agradeço! Link to comment
Other Languages Moderators Lord Henry Posted September 10, 2019 Other Languages Moderators Share Posted September 10, 2019 SetElementRotation não é como o moveObject. Ele não vai rotacionar 90º, ele vai ficar no ângulo de 90º em relação ao mundo. Isto é, ele vai ficar apontado para Oeste. Você está setando interior, dimensão, posição e rotação ao mesmo tempo. Experimente colocar a rotação em um pequeno timer. setTimer (setElementRotation, 100, 1, liberado, 0, 0, 90) 1 Link to comment
joao2235 Posted September 11, 2019 Author Share Posted September 11, 2019 Funcionando 100%, valeuuu! 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