juaosilv

Members
  • Content Count

    116
  • Joined

  • Last visited

Everything posted by juaosilv

  1. Olá, queria saber qual a melhor forma de eu re-fazer esse código. --[[ ------------------------------------------------- original script credits to Yakuza.Real and solidsnake and kenix http://forum.mtasa.com/viewtopic.php?f=91&t=40132 ------------------------------------------------- booo just fix it ]] local t = { } function checkValues( source,arg1,arg2) if (arg2 >= 60) then t[ source ][ 'min' ] = tonumber( t[ source ][ 'min' ] or 0 ) + 1 t[ source ][ 'sec' ] = 0 end if (arg1 >= 60) then t[ source ][ 'min' ] = 0 t[ source ][ 'hour' ] = tonumber( t[ source ][ 'hour' ] or 0 ) + 1 end return arg1, arg2 end setTimer( function( ) for _, v in pairs( getElementsByType( "player" ) ) do local playeraccount = getPlayerAccount ( v ) if (not t[ v ]) then t[ v ] = { ["hour"] = 0, ["min"] = 0, ["sec"] = 0 } end t[ v ][ 'sec' ] = tonumber( t[ v ][ 'sec' ] or 0 ) + 1 local min,sec = checkValues ( v, t[ v ][ 'min' ] or 0, t[ v ][ 'sec' ] or 0 ) local hour = tonumber( t[ v ][ 'hour' ] or 0 ) if not isGuestAccount(playeraccount) then setElementData(v, "PlayTime", tostring( hour )..':'..tostring( min )..':'..tostring( sec )) end end end, 1000, 0 ) function onPlayerQuit ( ) local playeraccount = getPlayerAccount ( source ) if ( playeraccount ) and not isGuestAccount ( playeraccount ) then local sValue = getElementData( source,'PlayTime' ) local hour = tonumber( t[ source ][ 'hour' ] or 0 ) local min = tonumber( t[ source ][ 'min' ] or 0 ) local sec = tonumber( t[ source ][ 'sec' ] or 0 ) setAccountData ( playeraccount, "PlayTime-hour", tostring(hour) ) setAccountData ( playeraccount, "PlayTime-min", tostring(min) ) setAccountData ( playeraccount, "PlayTime-sec", tostring(sec) ) setAccountData ( playeraccount, "PlayTime", tostring(sValue) ) end t[ source ] = nil end function onPlayerLogin (_, playeraccount ) if ( playeraccount ) then local time = getAccountData ( playeraccount, "PlayTime" ) local hou = getAccountData ( playeraccount, "PlayTime-hour") local min = getAccountData ( playeraccount, "PlayTime-min") local sec = getAccountData ( playeraccount, "PlayTime-sec") if ( time ) then setElementData ( source, "PlayTime", time ) t[ source ]["hour"] = tonumber(hou) t[ source ]["min"] = tonumber(min) t[ source ]["sec"] = tonumber(sec) else setElementData ( source, "PlayTime",0 ) setAccountData ( playeraccount, "PlayTime",0 ) end end end addEventHandler ( "onPlayerQuit", root, onPlayerQuit ) addEventHandler ( "onPlayerLogin", root, onPlayerLogin ) Preciso fazer um sistema de tempo online de uma forma q eu consiga puxar o tempo de outros scripts mas essa função de time e elementData da muito lag, quando tá com mts players então. Oq posso fazer?
  2. juaosilv

    Json Script

    Hello, I am creating an information system for my server but I need to pull a json code from a site and return the code on the server. How do I do?
  3. toggleControl ( source, "action", false ) Pra desativar o tab utiliza o action.
  4. Ok valeu mas ainda sim tá bugado vou explicar o "novo bug". A questão é a seguinte, eu to usando uma bind então a down ativa e a up desativa, a grande questão é a seguinte. Eu ativo na down e na down eu não coloco nada pra desativar então o certo seria o fire e o action continuarem desativados certo? Pois eu so coloquei pra down dar takeWeapon Pois eu desativo e não ativo novamente, mas quando eu pego uma outra arma consigo efetuar disparos normalmente. Eu não sei se pra desativar a função é necessário ter a arma na mão ou seila. A questão é q isso tá bugando pq o cara pega a arma na não e não ativa mas quando ele solta o botão direito e continua pressionando o esquerdo ele consegue efetuar disparos. Minha solução pra isso foi a seguinte: Down: Ativa, ele giva uma weapon e seta os dois toggleControl UP: Da takeweapon e depois de 5 segundos seta o toggleControl true Mas não funcionou pq ainda sim continua bugando ele meio q consegue efetuar disparos mesmo com toggleControl Existe alguma forma de cancelar o evento playerWeaponFire? (esse sistema q fiz é de apontar o dedo.)
  5. Também achei isso, não tem sentido não ir pelo mouse e ir pelo tab. E pior que nem com essa questão da bind key eu consigo resolver pq acaba bugando o tab certas vezes. Vou relatar.
  6. Olá, estou tendo um problema com o tab. Eu removi o tiro de uma arma utilizando toggleControl, até ai funcionou normal mas quando o usuário pressiona TAB a arma começa a soltar tiro ou quando ele ta no carro também começa a dar tiro. Bloquei o tab quando ele tem a arma na mão mas n foi muito eficaz e eu não queria deixar ele sem o tab, como resolver?
  7. Olá, não sei pq o setWeaponProperty não funciona comigo. A principio tava utilizando p remover a camera de trás do personagem quando ele equipa a arma mas não vai. addEventHandler("onResourceStart", resourceRoot, function() setWeaponProperty ("uzi", "pro", "flags", 0x000001) end )
  8. A minha questão é se tem alguma outra forma de deixar essa arma invisivel sem ser com txd e dff, pq caso tenha eu posso fazer esse sistema de apontar tranquilamente.
  9. Fiz a animação de apontar o dedo mas estou com alguns problemas. Fiz da seguinte forma: Dei replace na colt com uma DFF e TXT que deixa ela invisivel, e criei duas bindskey uma de up e outra de down. Uma da giveWeapon e a outa takeWeapon. Queria saber como que posso fazer isso de outra forma para que meus jogadores possam utilizar a colt normalmente sem ela ficar invisivel ou sem mira ou sem atirar.
  10. Eu fiz algo parecido mas pra proposta de disparos q eu quero não vai funcionar, to na esperança de existir alguma função propria do MTA pra identificar isso.
  11. Existe alguma forma de identificar os tiros disparados de uma arma? preciso fazer um aviso pra quando alguem efetuar um disparo envioar uma msg pra um rank, eu consegui utilizando o OnPlayerWeaponFire sendo q ele flooda a msg se o cara dar vários tiros, queria alguma forma de identificar o tiro e só enviar uma vez a mensagem.
  12. setPedAnimation (jogador, nil) Só criar outro marker e executar isso.
  13. não, assim function darVIPOuro (playerSource, commandName, accountName) local conta = getPlayerAccount(source) --pega a conta local contaNome = getAccountName(conta) if isObjectInACLGroup ("user."..contaNome, aclGetGroup ( "Admin" )) then aclGroupAddObject (aclGetGroup("Ouro"), "user."..accountName) outputChatBox ("O cidadão '"..accountName.."' foi adicionado no grupo VIP Ouro com sucesso!", playerSource) else outputChatBox ("Nem um nome definico.", playerSource) outputChatBox ("Para dar TAG digite: /adiconarVIPOuro [Nick]", playerSource) end end addCommandHandler ("adiconarVIPPrata", darVIPPrata)
  14. Deu erro pq já existe um accountName faz assim: local account = getPlayerAccount(source) --pega a conta local contaNome = getAccountName(account) if isObjectInACLGroup ("user."..contaNome, aclGetGroup ( "QualACLvc quer" )) then --codigo end
  15. local account = getPlayerAccount(source) --pega a conta local accountName = getAccountName(account) if isObjectInACLGroup ("user."..accountName, aclGetGroup ( "QualACLvc quer" )) then --codigo end
  16. Qual erro que dá? Você precisa dar permissão pra esse resource adicionar os usuários em ACL, é só add na acl de admin resource.nome
  17. Com esse painel vai tem q re-fazer ele quase todo. Mas é só fazer utilizando: logIn addAccount
  18. Você pode fazer utilizando: onMarkerHit bonne_attach createObject
  19. Fiz igual a função, botei um settime mas não ficou muito bom pq ele basicamente fica toda hora re-fazendo a animação ai da fazendo a animação de tempo em tempo. Não existe uma forma de deixar aquele frame permanente sem usar time?
  20. Opa é possível travar a animação em um certo frame? Tem algumas animações q o personagem se move bastante e uma delas eu queria deixar travada na parte q ele levanta a mão.
  21. showPlayerHudComponent ( source, "crosshair", false )
  22. Olá, agora no meu servidor tem uns jogadores bugando alguns sistemas que enviam dinheiro para outros jogadores. O bug funciona da seguinte forma: Você vai no banco, poem um valor pra depositar logo depois puxa o fio da internet e em sequencia da vários cliques no botão e logo depois liga o fio de novo. Quando você volta vc tá com saldoo negativo na mão. No caso a função é executada várias vezes. Qual seria a melhor solução pra isso? Fiz um sistema de kickping mas não é a melhor forma, além de que também não é 100% eficaz.
  23. Fiz um sistema de keys em MYSQL, mas sempre que digito p utiliza-la ele não leva em consideração as letras que estão maiúsculas e minusculas. Exemplo: coluna key = 'EuA' /verificar eua Ele me retorna true pois a palavra ta certa, mas eu queria que ele levasse em consideração as letras q estão maisculas.
  24. function spawnOnDead(ammo, killer, weapon, bodypart) skin = getPlayerSkin(source) outputChatBox() takePlayerMoney(source, deadPlayerMoney) if (killer) and (killer ~= source) then givePlayerMoney(killer, killerMoney) end if (skin == 4) then -- verifica a skin do player setTimer(spawnPlayer, 3000, 1, source, spawnX, spawnY, spawnZ, 0, spawnSkin) --se a skin for 4 ele executa esse else setTimer(spawnPlayer, 3000, 1, source, spawnX, spawnY, spawnZ, 0, skin) -- se não for 4 ele executa esse end setCameraTarget(source, source) setTimer(giveWeapon, 3000, 1, source, spawnWeapon, spawnAmmo) end Testa ai