-
Posts
4,006 -
Joined
-
Last visited
-
Days Won
184
Everything posted by Lord Henry
-
function aclpm (thePlayer) if thePlayer and getElementType (thePlayer) == "player" then if isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (thePlayer)), aclGetGroup ("Console")) then setElementData (thePlayer, "Venda:Police.Job", true) setAccountData (getPlayerAccount (thePlayer), "Venda:Police.Job", true) end end end @GodKraken Não use OOP se você não tem conhecimento avançado o suficiente.
-
theTruck = createVehicle (578, -2258, 535, 36) -- Cria o caminhão. -- O carro é criado por qualquer um, pelo painel F1 ou Admin. addCommandHandler ("guinchar", function (thePlayer, cmd) local veh = getPedOccupiedVehicle (thePlayer) -- veh = veículo onde o jogador que executou o comando está dentro. if veh then -- Se o jogador está em um veículo, então: (se não estiver, veh = false) local vx, vy, vz = getElementPosition (veh) -- coordenadas do veículo. local cx, cy, cz = getElementPosition (theTruck) -- coordenadas do caminhão. local dist = getDistanceBetweenPoints3D (vx, vy, vz, cx, cy, cz) -- dist = distância entre o veículo que o jogador está dentro e o caminhão. if dist <= 10 then -- Se a distância entre eles for 20 ou menor, então: local attachs = getAttachedElements (theTruck) -- attachs é uma table com todos os elementos anexados ao caminhão. Será uma tabela vazia se não tiver nada anexado nele. if attachs[1] then -- Se existe algo anexado no caminhão (tipo um carro), então: outputChatBox ("O caminhão já está em uso.", thePlayer, 255, 100, 0) else -- Se não existe nada anexado no caminhão, então: attachElements (veh, theTruck, 0, -2, 0.8) -- Anexa o veículo no caminhão, com offsets. outputChatBox ("Anexado com sucesso.", thePlayer, 0, 255, 0) end else -- Se a distância entre o carro e o caminhão for maior que 10, então: outputChatBox ("Seu veículo não está perto o suficiente do caminhão.", thePlayer, 255, 100, 0) end end end)
-
Blz, dai é mais fácil pra obter a posição dele. Não vai precisar nem de colShape.
-
E ele é único ou são vários? Quero dizer, ele está numa variável que pode ser acessada depois?
-
up.
-
AH TA. Vc não quer guinchar. Vc quer anexar o veículo em outro. Dai é possível sim. Eu já fiz algo parecido usando um createColSphere anexado no carro. Dai ao usar o comando, ele verifica se tem um caminhão com ID específico dentro do colShape. Se tiver, anexa o carro em cima desse caminhão. Mas não sei se este é o jeito mais otimizado de fazer isso. Uma pergunta: O caminhão é criado pelo script de guincho? Ou ele é criado pelos jogadores?
-
A função attachElementToElement é obsoleta e não se usa mais. Usa-se AttachElements em vez disso. E só pra avisar que não é possível guinchar veículos que estão ocupados.
-
Bloquear no cliente já serve. Dai não precisa usar table.
-
Criando uma table vazia e depois setando o timer com o jogador como índice. local timers = {} -- Dentro da função timers[thePlayer] = setTimer ()...
-
[AJUDA] setTimer bugando outputChatBox
Lord Henry replied to +[T]rakin's topic in Programação em Lua
@+[T]rakin Sobre o seu problema, isso acontece pois dentro do setTimer, o source deixa de existir. Para contornar esse problema, você deve declarar o source após o tempo do timer e usar um parâmetro de função no setTimer como novo "source". No caso, creio que o exemplo do nosso colega acima irá resolver. Caso você não tenha entendido, vou explicar a parte do setTimer. setTimer(function(p) -- (2) p = parâmetro de função do setTimer. outputChatBox("╔═════════════════════════════════════════════════╗", p, 0, 0, 0) -- (3) p = source. outputChatBox("[#cf2d2dFazenda Ilegal#000000] #afafafVocê Processou mais 1 Tijolo! #ffffffTotal: #cf2d2d"..TijoloDeMaconha.."#afafaf Tijolo de Maconha", p, 0, 0, 0, true) outputChatBox("╚═════════════════════════════════════════════════╝", p, 0, 0, 0) -- (4) Removidos os HEX codes pois você não precisa usá-los se o texto todo tem somente 1 cor. end, 5000, 1, source) -- (1) parâmetro de função do setTimer = source. -
[AJUDA] setTimer bugando outputChatBox
Lord Henry replied to +[T]rakin's topic in Programação em Lua
@MainSCR Não precisa citar a mensagem do autor do post se só tem a sua resposta no tópico. Use o "quote" com bom senso. -
Seu triggerServerEvent está errado. Nem na wiki ele faz assim. Da onde vc tirou que o primeiro argumento é um elemento root? triggerServerEvent ( string event, element theElement, [arguments...] ) Além disso, você não passou nenhum parâmetro de player pelo triggerServerEvent. Isso significa que no server o parâmetro de função thePlayer não existe na função verifyACL. Troque seu trigger no client por isso: triggerServerEvent("DeltaSCR:ACL", localPlayer, guiGetText(editDenuncia), guiGetText(editID)) E lá na função server-side, troque a função inteira por essa: function verifyACL (edit1, edit2) -- Parâmetros passados no trigger. local players = getElementsByType ("player") for _, thePlayer in ipairs (players) do local account = getAccountName (getPlayerAccount(thePlayer)) if isObjectInACLGroup ("user."..account, aclGetGroup ("ComandosPolicia")) then -- Para cada jogador que está na ACL Group "ComandosPolicia", faça: outputChatBox ("Denúncia de furto em: "..edit1..". ID: "..edit2, thePlayer) end end end addEvent ("DeltaSCR:ACL", true) addEventHandler ("DeltaSCR:ACL", getRootElement(), verifyACL)
-
Da próxima vez, poste na seção Programação em Lua. E não exagere no negrito. Veja as regras neste tópico: Sobre o seu problema. A sua linha 4 está com lógica errada. Substitua ela por isso: if lvls and lvls >= 20 then
-
triggerServerEvent triggerClientEvent
-
/\
-
Cara, já é a segunda vez que vc revive tópicos antigos. Da próxima vez, crie um tópico na seção geral. Vídeo sobre as regras aqui:
-
Reviveu tópico de 2015...
-
Sobre o problema que está aparecendo na imagem: ERROR: c.lua:10: Attempt to call global 'ShowPainelPizza' (a nil value) Ele está dizendo que não conseguiu encontrar a função global ShowPainelPizza. Mas a função está lá no gui.lua, então significa que ele não está conseguindo ler ali. Arrume o problema com a tabela, usando { em vez de ( e teste se esse problema persiste.
-
[AJUDA] isElementWithinMarker dando erro
Lord Henry replied to +[T]rakin's topic in Programação em Lua
Não vai. Pois dará false naquela condição e o script vai ignorar. -
Galera, vamos parar com o assunto Off-Topic fazendo favor. Se quiserem discutir mais, façam por mensagem privada.
-
Edit: Na verdade este tutorial é em SQLite. Mas ele usa sintaxes como dbConnect pois o exemplo se trata de banco de dados externo.
-
Este tutorial é em MySQL.
-
Se o cara compilou pelo luac.multitheftauto.com então não dá pra descompilar. Somente a equipe do MTA tem o descompilador que eles usam para verificar se os resources upados na comunidade são plágio ou sem tem ameaças de vírus. Se o cara tem a versão descompilada, pode crer que não foi ele quem descompilou. Mas ainda sim existe a probabilidade dele ter pego o resource de alguém que não teve o cuidado de compilar. Edit: Não tinha visto as mensagens do bruno pois elas são bloqueadas pra mim por padrão.
-
[Ajuda] dxDrawRectangle e dxDrawText
Lord Henry replied to PashaBiceps's topic in Programação em Lua
Só criar uma função que é ativada com onPlayerLogin e dentro dela vc coloca o evento onClientRender da função do render.