Jump to content

DNL291

Retired Staff
  • Posts

    3,875
  • Joined

  • Days Won

    67

Everything posted by DNL291

  1. Resumindo, tente este: -------------------------------------------------------------------------------------------- Comando_Revistar = "vendar" Comando_Revistar2 = "comprar" local venda = {} function quitPlayer( ) if venda[source] then venda[source] = nil end end addEventHandler ( "onPlayerQuit", root, quitPlayer ) function comprarv (source, cmd) if venda[source] then outputChatBox ( "* Erro: So Pode Comprar Uma Venda!", source, 230, 30, 30 ) else if getPlayerMoney(source) >= 1000 then -- verifique o dinheiro já que se trata de uma compra outputChatBox ( "* Venda Comprada /vendar [Jogador]", source, 0, 230, 0 ) venda[source] = true takePlayerMoney( source, 1000 ) else outputChatBox( "["..Comando_Revistar2.."] Dinheiro insuficiente!", source, 230, 30, 30 ) end end end addCommandHandler ( Comando_Revistar2, comprarv ) function Revistar ( source, cmd, player ) if venda[source] then if not player then return outputChatBox( "Sintaxe: /"..Comando_Revistar.." <jogador>", source ) end local Jogador = getPlayerFromPartialName ( player ) if isElement(Jogador) then local cx,cy,cz = getElementPosition(Jogador) local x,y,z = getElementPosition(source) local dist = getDistanceBetweenPoints3D(x,y,z,cx,cy,cz) if dist <= 5 then outputChatBox ( "Você Vendou Um Jogador [-1 Venda]", source ) outputChatBox ( "Você Foi Vendado", Jogador ) venda[source] = nil else outputChatBox("#bebebeChegue mais perto do jogador!", source, 255, 255, 255, true) end end end end addCommandHandler ( Comando_Revistar, Revistar ) 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 Se funcionar você parte para a outra etapa, do trigger.
  2. Está certo. Quando você conecta no server irá mostrar no console, certifique-se que esteja mostrando: Server AC info: [Allowed client files: None] [Disabled AC: None] [Enabled SD: 31,32] em Enabled SD Edit: Você deveria ter postado aqui: https://forum.multitheftauto.com/topic/118682-detestação-de-programa/ Ou aguardar responderem. Além do mais esse local não tem a ver com esse problema, você deveria postar em: Portuguese / Português > Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
  3. É por causa desta linha: local screenWidth, screenHeight = guiGetScreenSize ( ) -- Get the screen resolution (width and height) Remova ela, como eu disse; o erro não foi com a tabela e a sua modificação foi totalmente errada. Elas vão em outro arquivo de script que será o client. E também a linha 11, onde está: entrar[source] = true Vai ocorrer erro, remova isso. E "onPlayerQuit" você deve fazer assim na verdade: function quitPlayer( ) if venda[source] then venda[source] = nil end end addEventHandler ( "onPlayerQuit", root, quitPlayer )
  4. Manda aqui seu código atualizado, você disse que removeu as funções, depois disso deve ter aparecido o bug.
  5. playerBlibs = {} setTimer(function() if getElementData(getLocalPlayer(),"logedin") then for i, blip in pairs(playerBlibs) do if isElement(blip)then destroyElement(blip) end end for i,veh in ipairs(getElementsByType("vehicle")) do local vehParent = getElementData(veh,"parent") if veh and vehParent then vehicles = tonumber(vehParent) -- aviso if vehicles == 2 then playerBlibs[i] = createBlipAttachedTo(veh,0,2,244, 32, 32) setBlipVisibleDistance(playerBlibs[i],1000) end end end end end,1000,0) Essa verificação vai evitar o aviso no debug, mas se algo tiver errado é com a data "parent".
  6. Qual erro mostra exatamente? Essa linha não tem nenhum erro.
  7. Provavelmente algum resource causando esse crash no seu servidor. Faça uma depuração desligando cada resource até descobrir a causa.
  8. DNL291

    Help Me Please

    Tell us what /debugscript 3 shows. Btw, Setting.Lua has an extra end. Also } missing which suggests that a snippet of code was removed.
  9. Aqui tem uma ampla lista de tutoriais Lua e abordando Lua no MTA: Mesmo que não consiga entender, leia. Não entendeu leia de novo Lembre-se que você pode usar a seção pra tirar dúvidas com algo que não conseguiu entender, e nunca se esqueça que por mais que você leia, seu progresso de verdade é colocando as coisas em prática. @boladoneon
  10. @felipebaidoloko Posta no local certo, Programação em Lua. Mais de 100 posts e ainda não sabe? kk Tópico: Acho que não funciona destroyElement no ped do jogador; mesmo sem estar spawnado ele sempre vai existir. Não sei se já tem tal função pra isso, mas tente uma alternativa, como mover o jogador de dimensão/posição enquanto estiver morto.
  11. @#DeltaSCR Espera, você conseguiu resolver o problema? Se sim seria muito útil você compartilhar aqui, pois outras pessoas com esse problema irão procurar uma solução e ela pode ser a sua.
  12. A tabela venda + verificação tá certo, mas essas funções você vai ter que fazer no lado cliente: guiGetScreenSize dxDrawText E chame o evento cliente com triggerClientEvent E no comando vendar você vai precisar verificar se o jogador alvo é diferente do que usou o comando.
  13. Server: createMarker onMarkerHit isPlayerInACL -- função útil; inclua o código-fonte triggerClientEvent (Cliente) addEvent addEventHandler onClientRender dxDrawText dxDrawRectangle removeEventHandler
  14. Hm, então esse código aí está incompleto porque o onResourceStop tá faltando. Quando desliga o servidor vai forçar o desligamento de todos resources, ou seja, o "onResourceStop" deveria ter funcionado do mesmo jeito. Você está desligando o console com ctrl + c ?
  15. Não é o MTA que define ou obtêm diretamente os valores, a menos que esteja programado tal coisa no código fonte. Isso é do próprio GTA, enquanto que o MTA consegue intervir no jogo por meio de engenharia reversa. Ou seja, as handlings foram desenvolvidas e definidas no GTA:SA. Quando as handlings, eu não sei te dizer o que você fez para que ambos os veículos tivessem essa velocidade; creio que o peso influencia na aceleração/velocidade. Você está usando o resource hedit, certo? Tente modificar esses valores in-game e ver como cada propriedade afeta o veículo daí provavelmente você terá uma noção da lógica feita nas handlings.
  16. Olhando o código não achei erros, porém, está salvando só no "onPlayerQuit" e para salvar quando desligar o servidor ou quando parar o resource você vai precisar de: onResourceStop/getElementsByType("player")/getPlayerAccount/isGuestAccount/getAccountData/setAccountData
  17. Tenta em vez de setCameraMatrix usar getCamera() e setElementPosition/rotation
  18. Na linha 2 a variável está sendo definida local; serve pra acessar a pickup de qualquer parte do código já que a mesma está sendo feito no escopo do "onResourceStart". Poderia claro removê-la, mas tenho o hábito de fazer todas variáveis possíveis localmente por questão de otimização. Você setou sua dimensão pra 72 e interior 16? Note também que a posição Z da pickup está muito alta e pelo que testei aqui não existe um interior 16 nessas coordenadas.
  19. Tenta: setCameraInterior / setCameraDimension (antes do setCameraMatrix) setCameraInterior quando voltar para o player (assumindo que você esteja setando um interior no cliente) Antes de setCameraMatrix, mudar o interior do player e voltar quando retornar a camera pra ele; Ou Setar novamente as coordenadas / interior do jogador quando retornar a câmera
  20. No topo do script só é criada a table. local venda = {} O jogador comprou venda? venda[source] = true quando usar: venda[source] = nil -- Mostre o seu código completo.
  21. Ou você pode fazer um cancelamento na tecla se a mesma tiver sendo pressionada várias vezes: onClientKey getTickCount cancelEvent Pode não resolver certos glitchs mas vai definir um limite nas teclas, impedindo bind spam.
  22. Significa que o arquivo mecanico.png na pasta files não foi encontrado. Lembre-se de postar no local devido da próxima vez, @NeoGM. Posts em português deve ser em Portuguese / Português
  23. Seguindo a lógica do seu código, você deve colocar venda[source] = nil no comando de usar a venda. Exemplo: function cmdvendar ( source, cmd ) if not venda[source] then return outputChatBox( "Você não possui venda!", source ) end outputChatBox ( "Você Foi Vendado", source ) venda[source] = nil end addCommandHandler ( "vendar", cmdvendar )
  24. Você pode desativar o uso de macro pelo mtaserver.conf, em: <enablesd></enablesd> SD #31 e SD #32 E a detecção pode ser feita com este evento: onPlayerACInfo
×
×
  • Create New...