Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    4,008
  • Joined

  • Last visited

  • Days Won

    184

Everything posted by Lord Henry

  1. Pode interferir, uma vez que o servidor está sobrecarregado, ele demora mais para entregar e receber os pacotes de dados.
  2. Cancele o chat original e depois envie a mensagem somente pros jogadores que você quer. function cancelOutput (msg, msgtype) cancelEvent () -- Cancela o envio da mensagem pra todo mundo. end addEventHandler ("onPlayerChat", root, cancelOutput) Obs: O freeroam tem um sistema próprio de chat, desative-o também.
  3. Você está com algum script sobrecarregando o servidor.
  4. Isso acontece pois source não é um jogador no evento onVehicleDamage e sim o veículo que recebeu o dano. Isso significa que getPedOccupiedVehicle está retornando false. E getElementHealth (false) nunca vai retornar algo também. Ele está reclamando que não tem como fazer a comparação if false < 256 then. function desligarcar () local carrovida = getElementHealth (source) local thePlayer = getVehicleController (source) if (carrovida < 256) then setVehicleEngineState (source, false) if (isElement (thePlayer)) then outputChatBox ("Seu veículo quebrou, chame um mecânico.", thePlayer, 189, 189, 189) end end end addEventHandler ("onVehicleDamage", root, desligarcar)
  5. Tópico duplicado deste: @ODutii não crie diversos tópicos com o mesmo assunto, permaneça naquele outro a não ser que tenha outra dúvida sem relação com aquele.
  6. Usando shaders somente. Você também pode alterar a cor do céu usando SetSkyGradient. Mas ele não vai deixar o cenário mais escuro.
  7. @ODutii já lhe foi avisado diversas vezes para usar o botão <> do fórum para postar códigos em vez de colar direto no texto.
  8. Esqueça a ideia de clicar no painel pelo server-side. Como eu falei, faça a verificação de ACL antes de abrir o painel, ao invés de verificar ao clicar no botão.
  9. @asrzkj na sua linha 14, era pra ser um addEventHandler.
  10. É mais fácil simplesmente abrir o painel pelo servidor com um triggerClientEvent. Só que antes desse trigger, fazer a verificação de ACL. Dessa forma, quem não estiver na ACL não vai nem conseguir abrir o painel.
  11. Você está usando o evento onClientClick em um script server-side. Mas esse evento só funciona em script client-side.
  12. local dataLevel = getAccountData (getPlayerAccount (thePlayer), "Helper") if (dataLevel) then -- Se o jogador possui essa data na conta, então: if (dataLevel >= 1) then -- Se a data da conta for 1 ou maior, então: (para permissões que funcionam para todos os 4 níveis de acesso) -- CODE... elseif (dataLevel >= 2) then -- Se a data da conta for 2 ou maior, então: (para permissões que só funcionam pro nível de Repórter em diante) -- CODE... elseif (dataLevel >= 3) then -- Se a data da conta for 3 ou maior, então: (para permissões que só funcionam pro nível de Sub-Líder em diante) -- CODE... elseif (dataLevel == 4) then -- Se a data da conta for igual a 4, então: (para permissões que funcionam somente pro nível de Líder) -- CODE... end end @Giovany Mito Creio que dessa forma funciona melhor para a lógica do seu script.
  13. Vc achou isso grande? Sabe de nada inocente, ahuahuahaua
  14. É uma função útil que retorna o jogador que tenha um nick contendo tal string. Ela é útil quando você quer obter um jogador por comando mas não quer digitar o nome exato do jogador. Exemplo: function qualquerCoisa (thePlayer, cmd, nick) if (nick) then local jogador = getPlayerFromPartialName (nick) if (jogador) then outputChatBox ("Jogador encontrado tem nome: "..getPlayerName (jogador)) else outputChatBox ("Não foi encontrado nenhum jogador contendo '"..nick.."' no nick.") end end end addCommandHandler ("procurar", qualquerCoisa) -- Teste com /procurar SeuNick Ela faz o mesmo que o getPlayerFromName. Mas o getPlayerFromName só funciona se o nick informado for exatamente igual ao do jogador, incluindo os códigos de cores. Já o getPlayerFromPartialName funciona com uma parte do nick. -- Se por exemplo o seu nick for #00ff00Giovany, teremos os resultados: getPlayerFromName ("Giovany") -- False, não foi encontrado nenhum jogador. getPlayerFromPartialName ("Giovany") -- PlayerElement, foi encontrado o jogador. getPlayerFromName ("#00ff00Giovany") -- PlayerElement, foi encontrado o jogador. getPlayerFromPartialName ("#00ff00Giovany") -- PlayerElement, foi encontrado o jogador.
  15. Ele está dizendo que tentou usar uma função exportada do resource ex_system, mas esse resource está desligado ou inexistente.
  16. if (getAccountData (acc, "Reporter.level") == 4) then
  17. Tópico movido para a seção Ajudas relacionadas ao MTA:SA (Cliente/Servidor). @Pedro mayeer veja as regras do fórum aqui:
  18. Tópico movido para a seção de Programação em Lua. @serjaoberranteiro veja as regras do fórum aqui:
  19. Troque seu onPlayerSpawn pra onPlayerLogin para fazer o jogador aparecer na base ao logar. Use onPlayerSpawn para fazer ele ir pro hospital ao spawnar.
  20. source não existe dentro de um setTimer. Ou você salva ele em outra variável ou então você passa ele por parâmetro de função do setTimer. Está faltando o resto do código. Mas vou supor que esse setTimer esteja dentro de outra função onde o source exista. Se não estiver dentro de outra função com source, então seu código nunca vai funcionar e não faz sentido nenhum. function Assaltar (theSource) weapon = getPedWeaponSlot (theSource) mira = getPlayerTarget (theSource) if (isElementWithinMarker (theSource, mAssaltar)) then if (weapon == 0) then return Assaltar end if not (getControlState (theSource, "aim_weapon")) then return Assaltar end if not (getElementData (theSource, "LojaSendoAssaltada")) then if (mira) then if ((mira) == pedLojista) then setElementData (theSource, "LojaSendoAssaltada", true) triggerClientEvent (theSource, "Som", theSource) triggerClientEvent (root, "notifiAssal", root) setPedAnimation (pedLojista, "shop", "SHP_Rob_HandsUp", 30000, true, true, true) setElementFrozen (theSource, true) toggleAllControls (theSource, false) setPedAnimation (theSource, "shop", "shp_gun_aim", 30000, true, true, true) setElementVisibleTo (assalto1PG, root, true) setTimer (function (otherSource) setElementFrozen (otherSource, false) toggleAllControls (otherSource, true) givePlayerMoney (otherSource, 4000) setPedAnimation (otherSource, 0) outputChatBox ("Você terminou o assalto e ganhou #ffff00R$4000", otherSource, 114, 114, 114, true) end, 30000, 1, theSource) setTimer (function (otherSource) setElementData (otherSource, "LojaSendoAssaltada", false) setElementVisibleTo (assalto1PG, root, false) end, 60000, 1, theSource) end end end end end setTimer (Assaltar, 1, 0, source)
  21. Eu faria com setAccountData. Salvando tipo assim: setAccountData (acc, "Reporter.level", 4) -- Líder setAccountData (acc, "Reporter.level", 3) -- Sub-Líder setAccountData (acc, "Reporter.level", 2) -- Repórter setAccountData (acc, "Reporter.level", 1) -- Temporário E depois quando o cara logar, verificar essa data com getAccountData. Dependendo do número salvo na conta, ele vai ter determinado acesso aos comandos.
  22. É a administração do fórum que faz isso. Caso julguem necessário.
  23. Solicite a remoção da outra conta, ou então para juntar o conteúdo daquela nesta conta.
×
×
  • Create New...