Jump to content

Boechat

Members
  • Posts

    214
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by Boechat

  1. Você quer deixar com apenas 2 números mesmo, só números inteiros sem os pontos flutuantes depois da vírgula ou só 2 números de pois da vírgula? Essa função converte seu número float em int, sem vírgula: function toint(n) local s = tostring(n) local i, j = s:find('%.') if i then return tonumber(s:sub(1, i-1)) else return n end end
  2. Tenta colocar isso no mod que executa quando o server estiver "pronto", como na tela de login por exemplo removeEventHandler("onClientRender", root, pLife.MenuDxLoad)
  3. Veja se funciona, só tirei uma linha que com certeza devia estar dando erro function PosicaoPlayer (thePlayer, command) local azar = math.random (#pos) local veh = getPedOccupiedVehicle(thePlayer) if (veh) then setElementPosition(veh,unpack (pos{azar})) else setElementPosition(thePlayer,unpack(pos{azar})) --setElementPosition ( thePlayer, ) não entendi essa linha ???? outputChatBox ('#000000[ #8b0000Teleport#000000 ]: #ffFFFF' .. getPlayerName(thePlayer) .. ' #bebebeFoi Foi para a Operação 01 #000000(#8b0000 /op1 #000000)', root, 255, 255, 255, true) end addCommandHandler ( "op1", PosicaoPlayer)
  4. Tenta colocar o killPed em uma função do lado do server e chama ela por triggerServerEvent
  5. Dá uma olhada nisso: setWeaponProperty acredito que seja a propriedade accuracy que você deva mudar, mas não testei nada.
  6. addEventHandler("onPlayerLogin", root, function() outputChatBox("Seja bem-vindo novamente!", source) end )
  7. Cara, quando for comprar script consulte a planilha criada pelos próprios moderadores do fórum: https://docs.google.com/spreadsheets/d/1R5osC4Ls_bLIGGtusSSkAqRzqiP1OTnxv17_y3be4Ag/edit#gid=1764713341 Ela está até na assinatura do @Lord Henry Fora esse pessoal aí, não recomendo a confiar em ninguém, o que mais existe é gente má intencionada na internet, acho que depois dessa paulada você vai ficar menos inocente né kkk
  8. Quando for inserir um código, use o bagulhinho de programação que tem nas opções de formatação, está representado por "< >" Veja se funciona assim: --------- Variaveis local PedLoja = createPed(0, 438.416, -1504.399, 18.459) setElementRotation(PedLoja, -0, 0, 284.044) setElementFrozen(PedLoja, true) local BlipLoja = createBlipAttachedTo(PedLoja, 17) local BlipLojaAssalta = createBlipAttachedTo(PedLoja, 18) setElementVisibleTo(BlipLojaAssalta, root, false) local DinheiroAdicionado = 2000 --Dinheiro roubado quando assaltar ---- Sistema function IniciarAssalto (Ped) if Ped == PedLoja then local arma = getPedWeapon ( source ) if arma == 0 or arma == 1 or arma == 2 or arma == 3 or arma == 4 or arma == 5 or arma == 6 or arma == 7 or arma == 8 or arma == 9 or arma == 16 or arma == 17 or arma == 18 or arma == 39 or arma == 41 or arma == 42 or arma == 43 or arma == 10 or arma == 11 or arma == 12 or arma == 14 or arma == 15 or arma == 44 or arma == 45 or arma == 46 or arma == 40 then return end if getElementData(source, "TS:Assaltando") then return end if getElementData(Ped, "TS:Assaltando") then triggerClientEvent(source, "addNotification", root, "#0037FF✘#ffffffINFO#0037FF✘➺ #ffffffEssa loja foi assaltada recentemente!", "info") return end local x, y, z = getElementPosition( source ) local x1, y1, z1 = getElementPosition( Ped ) local distance = getDistanceBetweenPoints3D( x, y, z, x1, y1, z1 ) if distance >= 3 then return end triggerClientEvent(source, "TS:PainelAssalto2", source) end end addEventHandler ("onPlayerTarget", root, IniciarAssalto) function ComecarAAssaltar (source) if getElementData(source, "TS:Assaltando") then return end local arma = getPedWeapon ( source ) if arma == 0 or arma == 1 or arma == 2 or arma == 3 or arma == 4 or arma == 5 or arma == 6 or arma == 7 or arma == 8 or arma == 9 or arma == 16 or arma == 17 or arma == 18 or arma == 39 or arma == 41 or arma == 42 or arma == 43 or arma == 10 or arma == 11 or arma == 12 or arma == 14 or arma == 15 or arma == 44 or arma == 45 or arma == 46 or arma == 40 then return end for id, Policial in ipairs(getElementsByType("player")) do if isObjectInACLGroup ( "user." ..getAccountName (getPlayerAccount(Policial)), aclGetGroup ( "ComandosPolicia" ) ) then triggerClientEvent(Policial, "TS:MensagemPolicial2", Policial) setElementData(source, "TS:Assaltando", true) setPedAnimation(source, "SHOP", "ROB_Loop", -1, false) setPedAnimation(PedLoja, "SHOP", "SHP_Rob_GiveCash", -1, false) setElementFrozen(source, true) toggleAllControls(source, false) setElementPosition(source, 439.935, -1504.115, 18.459) setElementRotation(source, -0, 0, 100.156) setElementData(PedLoja, "TS:Assaltando", true) setPedAnimation(source, "SHOP", "ROB_Loop", -1, false) setPedAnimation(source, "SHOP", "ROB_Loop", -1, false) setPedAnimation(source, "SHOP", "ROB_Loop", -1, false) setPedAnimation(source, "SHOP", "ROB_Loop", -1, false) setPedAnimation(source, "SHOP", "ROB_Loop", -1, false) LojaAssaltada(source) setTimer(function() setPedAnimation(source, nil) setPedAnimation(PedLoja, nil) setElementFrozen(source, false) toggleAllControls(source, true) local Dinheiro = getPlayerMoney ( source ) setPlayerMoney (source, Dinheiro + DinheiroAdicionado ) setElementData(source, "TS:Assaltando", false) end, 1*60000, 1) end end end addEvent("TS:IniciarAssalto2", true) addEventHandler("TS:IniciarAssalto2", root, ComecarAAssaltar) function LojaAssaltada(source) setElementVisibleTo(BlipLoja, root, false) setElementVisibleTo(BlipLojaAssalta, root, true) setTimer(function() setElementVisibleTo(BlipLoja, root, true) setElementVisibleTo(BlipLojaAssalta, root, false) setElementData(PedLoja, "TS:Assaltando", false) end, 7*60000, 1 ) end A identação tá meio porca pq vc postou sem identação, só tentei dar uma melhorada mas to com preguiça kkk Se ajudei dá um likezin aí
  9. Testa isso aí, eu digitei aqui no fórum mesmo e não cheguei a testar: local acl = 'Admin' --ACL que deve estar a pessoa que usar o comando local distanciaComando = 20 --Distancia pro comando funcionar addCommandHandler ('tirar', function (source, comando, id) --Source = player que executou o comando, comando = o comando dado pelo player (esses dois argumentos são obrigatórios caso queira passar algum argumento pelo chat, no caso o ID) id = tonumber(id) --Os parametros passados pelo chat em forma de comando vem como string, devemos converter pra número local player = getAccountPlayer(getAccountByID (id)) --Primeiro pega a conta pelo ID, depois pega o player que está vinculado a essa conta. local accountname = getAccountName (getPlayerAccount(source)) --Pega o nome da conta, depois de pegar a conta do player que deu o comando. if isObjectInACLGroup ( "user." .. accountname, aclGetGroup (acl) ) then --Compara pra ver se o usuário está na acl definida. local x1, y1, z1 = getElementPosition (source) --Pega a posição do staff local x2, y2, z2 = getElementPosition (player) --Pega a posição do player que vai perder o dinheiro local distancia = getDistanceBetweenPoints3D ( x1, y1, z1, x2, y2, z2 ) --Compara a distancia entre os 2 if distancia <= distanciaComando then --Compara se a distancia dos dois jogadores é menor ou igual a distancia permitida do comando setPlayerMoney (player, 0) --seta a grana do jogador pra 0 end end end) Se te ajudei deixa um likezin :)
  10. Use o evento onClientClick junto a função isMouseInPosition em um if para saber se a pessoa clicou no botão, se a pessoa clicar em um botão remova o evento do painel principal e adicione o evento do painel secundário. Exemplo: function onClientClick (button, state) if state == 'down' then if isMouseInPosition (screenW * 0.1406, screenH * 0.1352, screenW * 0.6870, screenH * 0.7269) then --Posição do seu botão addEventHandler('onClientRender', root, painelSecundario) removeEventHandler('onClientRender', root, painelPrimario) end end end addEventHandler ( "onClientClick", getRootElement(), onClientClick ) function isMouseInPosition ( x, y, width, height ) if ( not isCursorShowing( ) ) then return false end local sx, sy = guiGetScreenSize ( ) local cx, cy = getCursorPosition ( ) local cx, cy = ( cx * sx ), ( cy * sy ) return ( ( cx >= x and cx <= x + width ) and ( cy >= y and cy <= y + height ) ) end Se te ajudei deixa um likezin :)
  11. triggerServerEvent só returna true ou falso, dizendo se a função foi chamada com sucesso ou não, pra vc retornar dados eu recomendo que use um triggerClientEvent de retorno ou algum outro jeito que adapte ao seu script.
  12. function setLevel(playerSource, commandName, nick, level) if not nick or not level then return outputChatBox("sintaxe correta: /setarnivel <nome> <level>", playerSource) end local alvo = getPlayerFromName(nick) if getElementType(alvo) == 'player' then local conta = getPlayerAccount (alvo) setElementData(alvo, "Level", level) setAccountData(conta, "Level", level) else outputChatBox("Informe um nome Válido.", playerSource) end end addCommmandHandler("setarnivel", setLevel) Não testei, veja se vai funcionar e me diga
  13. addEventHandler("onPlayerLogin", getRootElement(), function(_, conta) setElementData(source, 'ID', getAccountID (conta)) end) Parece que seu getElementData() da linha 7 está retornando nil e assim está setando N/A no ID. Tenta colocar esse código acima e vê se funciona
  14. addEventHandler("onPlayerLogin", getRootElement(), function() outputChatBox('Bem-vindo!', source) end) Coloque isso num script no server-side e testa aí ;)
  15. setCameraPosition está obsoleto, use o getCameraMatrix e setCameraMatrix local x, y, z, lx, ly, lz = getCameraMatrix () -- Pega a posição da câmera e a posição no mapa em que a câmera está apontando setCameraMatrix (x, y, z, lx, ly, lz) -- Seta a posição da câmera e um ponto para ela apontar
  16. Humm acho q consegui compreender, só uma coisa que não entendi muito bem, se puder me explicar eu agradeço: o onClientPlayerVoiceStart é Clientside, certo? Quando você dá um triggerEvent( "onClientPlayerVoiceStart", localPlayer, targetPlayer) mesmo sendo um evento client-side ainda sim é enviado pra todos os players do servidor, pra que possa achar o targetPlayer?
  17. Esse comando está no lado server, certo? Como o BlackSCR já respondeu, o source é passado como argumento nesse caso, ficando assim: function pos (source, cmd) ............... end Parâmetros do addCommandHandler no server-side: player playerSource, string commandName [, string argumento1, string argumento2, ... ] Parâmetros do addCommandHandler no client-side: string commandName [, string argumento1, string argumento2, ... ] No client side não precisa declarar o source como argumento, ele é o localPlayer! Recomendo que coloque sua função no lado do client. Dá uma estudada melhor na página da wiki, está tudo detalhado aqui: addCommandHandler
  18. Você pode me explicar por favor o porquê dessa condição? Se o localPlayer for diferente do targetPlayer cancela o evento, ou seja, só teria como falar consigo mesmo?
  19. Grupo = "VIP" function Ativarvip (playerSource, commandName, accountName ) local admName = getAccountName (getPlayerAccount(playerSource )) if not isObjectInACLGroup ("user."..admName, aclGetGroup ( "Admin" ) ) then return outputChatBox ("Comando exclusivo para staffs.", playerSource)end --Verifica se quem está dando o VIP é um Admin if not accountName then return outputChatBox ("Correct syntax: /ativarvip (Nome)", playerSource) end --Se não informar um nome no comando o código para aqui if not getAccount (accountName) then return outputChatBox ("Não existe jogador com esse nome de usuário.", playerSource) end --Se o nome informado não for referente a nenhuma conta cadastrada para aqui aclGroupAddObject (aclGetGroup( Grupo ), "user."..accountName) --Depois de passar pelas verificações, adiciona o player no grupo outputChatBox ("O Jogador "..accountName.." Adquiriu um VIP em nosso Servidor", playerSource) end addCommandHandler = ("ativarvip", Ativarvip) Não testei, veja se vai funcionar. Você cometeu inúmeros erros no seu código, por exemplo: na linha 3 os parâmetros estão na ordem errada na linha 4 o "thePlayer" não fui atribuído nenhum valor em momento algum na linha 4 você declara o "accountname" mas no código todo você usa "accountName", note que são duas variáveis diferentes. na linha 4 você DEFINE um valor pro accountname no lugar da condição. sinceramente não sei se isso funciona, mas definitivamente não é recomendável. Acho que o que você queria fazer é local accountname = getAccountName(getPlayerAccount(thePlayer)) -- mesmo assim estaria errado porque esse thePlayer não existe, o valor é nulo. if accountname then ...... end OU if accountname == getAccountName(getPlayerAccount(thePlayer)) then --assim também está incorreto, só coloquei pra você ver a diferente. == é comparação, como se fosse um "é igual a?" e = vc está atribuindo um valor ...... end
  20. Pegue o serial ANTES de registrar (getAccountSerial ou getPlayerSerial) e verifique se há contas com esse serial com a função getAccountsBySerial. Esse getAccountsBySerial retorna uma tabela, só vc verificar se há algum valor na tabela, se houver é porque já tem alguém registrado com esse serial.
  21. Deve ter algum outro mod que está fazendo isso, desativa um por um e vai testando...começa com os mais prováveis, tipo do SAMU ou algum outro que faça algo quando o player morre ou toma dano.
  22. dá uma olhada na página da Wiki dessa função aqui. Ou você coloca a cor no 6° argumento (color) ou você coloca true no 14° argumento, q é o coloredCode. Por padrão esse argumento é false, ou seja, o código hexadecimal é considerado texto, colocando true, o código que você escreve na sua string do 1° argumento é convertido em cor, não em texto.
  23. Não li o código todo com atenção mas pelo visto já tá pra aparecer N/A, olha na linha 14 do 2° script.
  24. É a rádio padrão do GTA ou um mod de rádio personalizada? a rádio padrão do GTA eu só sei mudar estação, se há a possibilidade de personalizar mais do jeito que você quer eu não sei... Talvez esse link com funções de sound ajude
×
×
  • Create New...