BlackMTA Posted May 20, 2019 Share Posted May 20, 2019 (edited) Então,eu criei um script,de colocar o player dentro da viatura,/colocar nomedojogador,o jogador fica numa animação congelada,não pode digitar e nem nada,e fica na parte de tras da viatura (personalizada),assim podendo ir 5 pessoas na viatura,porem eu não sei como fazer pra tirar o jogador de dentro dela,supostamente com um /retirar nomedojogador function colocanavtr (police, _, name) if hasObjectPermissionTo(police, "function.Colocar") 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 se colocar na viatura.', police, 255, 255, 255, true) end if getPedOccupiedVehicle(police) then return outputChatBox('#bebebe Você não pode colocar alguem de dentro da viatura.', police, 255, 255, 255, true) end if getPedOccupiedVehicle(preso) then return outputChatBox('#bebebe Você não pode colocar um meliante enquanto ele estiver dentro de um veículo.', police, 255, 255, 255, true) end if dist >= 1 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) end end addCommandHandler ('colocar', colocanavtr) Edited May 20, 2019 by DNL291 Use o botão para o código Lua da próxima vez Link to comment
Jonas^ Posted May 21, 2019 Share Posted May 21, 2019 https://wiki.multitheftauto.com/wiki/RemovePlayerFromVehicle Link to comment
Other Languages Moderators Lord Henry Posted May 21, 2019 Other Languages Moderators Share Posted May 21, 2019 Crie outra função para remover, ela deverá ser tipo assim: function retirardavtr (police, _, name) if hasObjectPermissionTo (police, "function.Colocar") then local preso = getPlayerFromPartialName (name) if (preso) then if (preso == police) then return outputChatBox ("Você não pode se remover da viatura.", police, 190, 190, 190) end if (getElementData (preso, 'navtr')) then -- Prefira o uso de aspas duplas para strings com mais de 1 caractere. local px, py, pz = getElementPosition (police) local bx, by, bz = getElementPosition (preso) local dist = getDistanceBetweenPoints3D (px, py, pz, bx, by, bz) if (dist >= 3) then return outputChatBox ("Você precisa chegar mais perto para removê-lo.", police, 190, 190, 190) end setElementData (preso, 'navtr', false) removeEventHandler ('onPlayerCommand', preso, onCommand) local vtr = carros[police] setElementData (vtr, 'compreso', false) detachElements (preso, vtr) setElementFrozen (preso, false) toggleAllControls (preso, true) setPedAnimation (preso) else outputChatBox ("Este jogador não está preso.", police, 190, 190, 190) end else outputChatBox ("Jogador invalido.", police, 190, 190, 190) end end end addCommandHandler ("retirar", retirardavtr) Obs: Não testado. Percebo que vc está com alguns vícios de programação, tente evitá-los: Use aspas duplas " nas strings que possuem mais de um caractere. Aspas simples ' é melhor usado para strings que possuem somente 1 caractere. Evite usar códigos #hex onde for desnecessário. Se o seu outputChatBox usa ao todo somente 1 cor, declare a cor direto nos parâmetros RGB em vez do texto. Assim vc não precisa usar o parâmetro colorcoded. Como fiz acima. Evite condição negativa (If not). Se possível, faça-o como um else. Assim como fiz acima. Espero ter ajudado. 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