Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    4,008
  • Joined

  • Last visited

  • Days Won

    184

Everything posted by Lord Henry

  1. Eu vincularia ele à conta do jogador. "Jogador de login tal é o proprietário deste veículo"
  2. O que você busca então é um sistema de proteção de resource. Cada desenvolvedor faz seu próprio sistema.
  3. Depende do quão frequente é a ativação desse evento. O fato dele estar ativo não consome processamento, mas sim sua ativação é que consome. Sobre remover eventos. Só é possível fazer isso em eventos que tenham funções nomeadas. No jeito que vc está fazendo, não tem como remover o evento pois a função não tem nome, portanto não tem como chamá-la depois para remover o evento.
  4. Vc está em viagem junto com o corona vírus... parabéns mesmo heim.
  5. Código ilegível, indente o código adequadamente. Não se usa source como parâmetro de função. Você precisa verificar se source é o jogador ou o veículo que colidiu no marker. Ambos podem estar ativando as funções em duplicada. Nas linhas 30 e 31 vc está atribuindo duas funções para serem ativadas no mesmo marker, no entanto em uma delas na linha 42 você está destruindo o marker, o que pode impedir a outra função de funcionar por causa da linha 49.
  6. Client-side não se usa o argumento de jogador, pois a mensagem sempre será para o localPlayer. Preste mais atenção na sintaxe da Wiki. outputChatBox ( "#FF5555ERRO: #aaaaaaJá existe alguém ativando VIP.", 255, 255, 255, true )
  7. Eu faria o máximo possível client-side. Só a parte de criar a moto e dar dinheiro no server-side. A parte dos objetos poderia ficar estranho client-side, pois para os outros jogadores vc estaria segurando nada. Dai cabe a você escolher entre performance ou visual.
  8. Eu usaria root no lugar do getRootElement( ) só pra poupar alguns bits de tamanho. Da mesma forma que se usa localPlayer em vez de getLocalPlayer ( )
  9. Não. O MTA bloqueia um deles por terem o mesmo serial. Compre uma outra máquina, mesmo que seja fraquinha e teste com 2 PCs.
  10. function help (thePlayer) outputChatBox ("193 Você chamou o corpo de bombeiros aguarde...", thePlayer, 255, 0, 0) -- Manda essa mensagem pro jogador que executou o comando. for i, player in ipairs (getElementsByType ("player")) do -- Faz um loop por todos os jogadores conectados no servidor. if isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (player)), aclGetGroup ("BOMBEIROS")) then -- Se o jogador do loop está na ACL Group "BOMBEIROS", então: outputChatBox ("O jogador "..getPlayerName (thePlayer).."#FF0000 solicitou o corpo de bombeiros.", player, 255, 0, 0, true) -- Manda essa mensagem pra ele. end end end addCommandHandler ("193", help) Dai a parte de "aguarde 15 minutos para chamar novamente" é com você.
  11. Ta ae, amigo: destruir = createMarker (2445.2878417969, -957.39611816406, 80.04273223877 -2, "cylinder", 3.0, 128, 0, 0, 99) function destroi (thePlayer) outputChatBox ("Seu veiculo será destruido em 2 minutos!", thePlayer) setTimer (function () destroyElement (thePlayer) outputChatBox ("Veiculo destruido com sucesso!", thePlayer) end, 120000, 1) end addEventHandler ("onMarkerHit", destruir, destroi)
  12. Na próxima vez, formate seu código em Lua usando o botão <> do fórum. E também poste seu tópico na seção adequada. E veja as regras do fórum aqui:
  13. Só pra avisar que isso abre brechas na segurança. Pois você precisaria salvar a senha em algum lugar fora do banco de dados nativo das contas para poder ser obtido e verificado pelo painel de login. Mas caso realmente queira fazer isso, você pode salvar a senha e serial do proprietário da conta usando setAccountData no mesmo instante em que ele registra a conta. Depois quando o player entrar no servidor, obtém o serial dele com getPlayerSerial e passa um loop for por todas as contas até encontrar alguma que tenha o serial dele registrado com getAccountData. Encontrando essa conta, usa outro getAccountData pra obter a senha salva nela e loga o player automaticamente nessa conta usando logIn.
  14. @Dadinho2828 favor veja as regras do fórum antes de postar. E coloque seu código na formatação adequada. Clique no botão <> para fazer isso.
  15. Depende do motivo do script estar com MySQL. As vezes não é necessário ter um banco de dados, salvar na conta dos jogadores já seria o suficiente. Mas para casos onde realmente é necessário ter um banco de dados, você pode trocar por SQLite.
  16. A primeira coisa que eu faria se fosse você é desligar todos os mods e ir ligando 1 por 1 e testando, até descobrir qual resource está causando o problema.
  17. @[R]odrigues não peça mods prontos aqui. Isso viola as regras do fórum. E não reviva tópicos antigos.
  18. No seu servidor existe a ACL Group Staff? Normalmente é mais fácil apenas verificar se o player tem permissão para mutar. (permissão de Staff) function CreateVehicle (thePlayer) local accName = getAccountName (getPlayerAccount (thePlayer)) if isObjectInACLGroup ("user."..accName, aclGetGroup ("staff")) then if getElementData (thePlayer, "Pegou", true) then return outputChatBox ("Espere #00ffff10 Segundos #FFFFFFpara pegar outro carro!", thePlayer, 255, 255, 255, true) end if Carro[thePlayer] then destroyElement(Carro[thePlayer]) Carro[thePlayer] = nil end local x, y, z = getElementPosition (thePlayer) local Cars = Veiculos[math.random(#Veiculos)] Carro[thePlayer] = createVehicle (Cars, x, y, z) setElementData (Carro[thePlayer], "creator", thePlayer) warpPedIntoVehicle (thePlayer, Carro[thePlayer]) outputChatBox ("[#00ffff/carro#000000] #bebebeVocê pegou um carro!", thePlayer, 0, 0, 0, true) setElementData (thePlayer, "Pegou", true) Timer[thePlayer] = setTimer (function (player) if isElement (player) then setElementData (player, "Pegou", false) end Timer[player] = nil end, 10000, 1, thePlayer) end end addCommandHandler ("carro", CreateVehicle) Além disso, na sua primeira função está faltando um then na linha 8 e um end no final da função.
  19. Continua errado. O triggerClientEvent tem o primeiro parâmetro opcional que identifica em qual cliente ele vai ativar o evento. Se você não especificar o primeiro parâmetro, ele vai considerar como todo mundo. addCommandHandler ("coco", function (thePlayer) local x,y,z = getElementPosition (thePlayer) coco = createObject (14810, x, y-0.1, z-0.8, 0, 0, rotation) setTimer (destroyElement, 900000, 1, coco) triggerClientEvent (thePlayer, "somcoco", thePlayer) -- Parâmetros: Jogador cujo cliente vai ativar o evento, "nome do evento", source do evento. setPedAnimation (thePlayer, "ped", "WEAPON_crouch", -1, false, false, nil, false) end) addCommandHandler ("tomacachaca", function (thePlayer) setPedAnimation (thePlayer, "VENDING", "VEND_Drink2_P", -1, false, false, nil, false) triggerClientEvent (thePlayer, "somcachaca", thePlayer) end) E não se usa source como parâmetro de função.
  20. Não sei qual o limite. Não está especificado na Wiki. Mas eu consideraria o máximo 10.
  21. GetElementModel não tem nada a ver com roupas do CJ. Para obter as roupas, usa-se getPedClothes
×
×
  • Create New...