Ir para conteúdo
  • Cadastre-se

zipter98

Membro
  • Total de itens

    711
  • Registro em

  • Última visita

  • Dias Ganhos

    14

zipter98 venceu a última vez em Janeiro 27 2020

zipter98 teve o conteúdo mais curtido!

Sobre zipter98

  • Rank
    Nobre

Informação de Perfil

  • Eu sou
    Tibiano

Últimos Visitantes

4631 visualizações
  1. boa tarde, vi um script que você fez para a magia de um membro do forum e funcionou perfeitamente no meu ot, essa aqui:
    (

     

     

     

    Tenho duas duvidas com relação a essa magia, a primeira é:
    Como eu faço pra ela aparecer embaixo do player, prendendo ele? Porque quando uso e a parede está no msm sqm de outro creature ou player, ela não aparece naquele sqm,

    a segunda e, como troco a sprite da parede? No id não tá indo, coloquei o da magic wall e continua a mesma parede da imagem

  2. eu vi esse script em um post um pouco antigo....

    local config = {
        wall = {
            time = 5,                      --Tempo, em minutos, para a parede reaparecer.
            id = xxx,                      --ID da wall.
            pos = {x = x, y = y, z = z},   --Posição da wall.
        },
        items = {
            {{x = x, y = y, z = z}, itemid},        --{{posição que o item deve estar}, itemid},
            {{x = x, y = y, z = z}, itemid},
            {{x = x, y = y, z = z}, itemid},
            {{x = x, y = y, z = z}, itemid},
            {{x = x, y = y, z = z}, itemid},
        },
    }
    function onUse(cid)
        local wall = getTileItemById(config.wall.pos, config.wall.id).uid
        if wall < 1 then
            return doPlayerSendCancel(cid, "The wall is already openned.")
        end
        for _, item in pairs(config.items) do
            if getTileItemById(item[1], item[2]).uid < 1 then
                return doPlayerSendCancel(cid, "One or more items are missing or aren't in the correct position.")
            end
        end
        doRemoveItem(wall)
        addEvent(function()
            doCreateItem(config.wall.id, 1, config.wall.pos)
        end, config.wall.time * 60 * 1000)
        return true
    end

    Queria saber se vc poderia me informar direitinho as tags e onde devo por cada coisa? é para a versão pokebase cyan 8.54 ... e ele funfa direitnho? se puder me ajudar Obg!..e gostaria de saber se vc sabe onde posso arrumar script pra adicionar  habilidade nova (parecido com cut,rock smash) ...keria por um minering (minerar)!! 

  3. Olá zipter98

     

    Poderia me ajudar com a funçao onTarget ser executada por monstros também? Voce tem algum TFS ja com o code? Preciso muito de sua ajuda brow...

  4. Olá Zipter98, gosto muito dos seus scripts, você ajuda bastante o pessoal aqui do TK e já me ajudou bastante. Enfim, queria saber se você poderia me ajudar mais uma vez com uma script? 

  5. zipter98 tenho uma duvida para usar minha open soucer,meu servidor dedicado 24h esta crescendo rapido demais

    tenho uma equipe toda trabalhando(mapper,web master,programador e eu script) mais nao entendo muito da parte da open soucer e queria adicionar mais efeitos no jogo.voce poderia me ajudar?

     

    1. zipter98

      zipter98

      Se você trabalha com o antigo client da CipSoft, então a quebra do limite de efeitos só será possível com uma DLL que não é disponibilizada gratuitamente na internet (vale informar que seu preço é bem salgado, e há poucos que a comercializam).

      Entretanto, com o OTClient o processo se tornou mais fácil e acessível. Há, inclusive, um tutorial em outro fórum ensinando como fazer esta modificação.

  6. Ei, to começando a estudar a linguagem .lua ainda estou bem no começo, eu estudo aqui pelo forum mesmo, nos tutoriais, tento fazer algumas scripts arrumar algumas coisas, queria saber se você tem algum material pra me indicar pra mim ler, atualmente to começando a ler esse manual: http://www.lua.org/manual/5.1/pt/manual.html

    1. zipter98

      zipter98

      Procure ler tutoriais de outros sites e fóruns também (OTLand, XTibia e o site oficial da linguagem). A variedade que encontramos é grande, e mesmo tutoriais sobre o mesmo assunto trazem diferenças entre si em alguns aspectos. 
      Ler códigos de scripters mais experientes também ampliam seu conhecimento. Um script tem várias maneiras diferentes de ser escrito, e seguindo esta dica você pode acabar aprendendo novas técnicas que tornem seus códigos mais simples e práticos.
      O melhor a ser fazer, entretanto, é praticar. Não fique preso à teoria. Ajude o máximo que puder em áreas de suporte, como a encontrada neste fórum.

    2. LucasAyres

      LucasAyres

      Sim, eu tento, mas todos que responderam até agora o código saiu bugado -.-' ei, poderia me dar uma ajuda?

       

      Spoiler
      
      local combat = createCombatObject()
      setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
      setCombatParam(combat, COMBAT_PARAM_EFFECT, 66)
      setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -120.2, 1, -125.2, 1)
      
      function onCastSpell(cid, var)
      local waittime = 2 -- Tempo de exhaustion
      local storage = 5818
      end
      
      if exhaustion.check(cid, storage) then
      doCreatureSay(cid, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.", TALKTYPE_MONSTER)
      return false
      end
      
      function onCastSpell(cid, var)
      local position1 = {x=getThingPosition(getCreatureTarget(cid)).x, y=getThingPosition(getCreatureTarget(cid)).y, z=getThingPosition(getCreatureTarget(cid)).z}
      doSendMagicEffect(position1, 66)
      return doCombat(cid, combat, var)
      end

       

       

      Eu que modifiquei essa spell e ela era pra ser basicamente uma spell de target que quando você usa o golpe você precisa esperar 'x' segundos pra usar de novo, ai aparece a mensagem: 'você precisa esperar 2 segundos antes de usar essa spell novamente', eu usei duas referências de script pra tentar fazer esse, porém, não funciona, o que eu fiz de errado pode me explicar? eu ainda não entendo muito desse storage também 

    3. zipter98

      zipter98

      Você declarou dois callbacks de mesma função, sendo que finalizou o primeiro sem retornar valor algum e contendo apenas duas variáveis, que não poderiam ser acessadas em outras partes do código.

      function onCastSpell(cid, var)
      local waittime = 2 -- Tempo de exhaustion
      local storage = 5818
      end

      Você escreveu um escopo fora de qualquer callback que exige a declaração de variáveis/parâmetros (storage/cid) inacessíveis nesta situação.

      if exhaustion.check(cid, storage) then
      	doCreatureSay(cid, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.", TALKTYPE_MONSTER)
      	return false
      end

      Uma versão teoricamente correta do código seria:

      --Declare as variáveis que não precisam de informações somente acessíveis dentro do callback fora dele. Assim, serão declaradas apenas uma vez, otimizando o processo.
      
      local exhaust_time = 2     --Tempo, em minutos, de exaustão.
      local storage = 5818       --Storage/key.
      
      local combat = createCombatObject()
      setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
      setCombatParam(combat, COMBAT_PARAM_EFFECT, 66)
      setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -120.2, 1, -125.2, 1)
      
      function onCastSpell(cid, var)
          if getPlayerStorageValue(cid, storage) > os.time() then                       --Verificando exaustão.
              doPlayerSendCancel(cid, "Aguarde "..getPlayerStorageValue(cid, storage) - os.time().." segundos para usar esta magia novamente.")
              return true
          end
          
          setPlayerStorageValue(cid, storage, os.time() + exhaust_time * 60)            --Aplicando exaustão.
          doSendMagicEffect(getThingPosition(getCreatureTarget(cid)), 66)
          return doCombat(cid, combat, var)
      end

      PS: Não se esqueça da identação. É uma técnica de fácil aprendizado e que torna seu código, além de elegante, mais legível.

  7. Alguma informações que troquei com você há alguns meses sumiram de minha caixa de MP's, e meu tópico aqui do fórum pedindo assistência aparentemente também tiveram as mensagens apagadas. Como posso entrar em contato com você já que sua caixa esta bloqueada atualmente ?

  8. Olá cara tudo bem? não sei se você lembra de mim  mais você postou o negocio de HP/MANA link: http://www.tibiaking.com/forum/topic/61840-pedido-comando-status-para-mudar-o-tipo-do-hp/#comment-357987

    Acontece que da arro ao compilar TFS 0.4 rev3884 8.60

    ERROS:
     C:\Users\Night\Desktop\Sources\protocolgame.cpp In member function `void ProtocolGame::sendMagicEffect(const Position&, uint8_t)': 
    2093 C:\Users\Night\Desktop\Sources\protocolgame.cpp [Warning] comparison is always false due to limited range of data type 
     C:\Users\Night\Desktop\Sources\protocolgame.cpp In member function `void ProtocolGame::AddPlayerStats(NetworkMessage_ptr)': 
    2755 C:\Users\Night\Desktop\Sources\protocolgame.cpp invalid conversion from `int' to `const char*' 
    2755 C:\Users\Night\Desktop\Sources\protocolgame.cpp   initializing argument 1 of `std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]' 
    2782 C:\Users\Night\Desktop\Sources\protocolgame.cpp redeclaration of `std::string value' 
    2754 C:\Users\Night\Desktop\Sources\protocolgame.cpp `std::string value' previously declared here 
    2783 C:\Users\Night\Desktop\Sources\protocolgame.cpp invalid conversion from `int' to `const char*' 
    2783 C:\Users\Night\Desktop\Sources\protocolgame.cpp   initializing argument 1 of `std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]' 
    2783 C:\Users\Night\Desktop\Sources\protocolgame.cpp *** [obj//protocolgame.o] Error 1 

    Poderia me ajudar cara? por favor. qualquer coisa me adiciona skype: yan.brendo

  9. Digo, o onAttack seria executado quando a aranha visse o jogador ou quando houvesse uma troca de dano entre eles? Por exemplo: -Aranha viu o jogador -onAttack é executado -Assim, addEvent é executado Confesso que nunca escrevi um código usando este creatureevent, então não o conheço muito bem. E o silence, o que você acha: fazê-lo em Lua ou C++? Lua seria mais fácil de ser escrito, porém em C++ acredito que ficaria mais simples e prático.
  10. Mas o onAttack seria executado logo quando a aranha visse/targetasse o jogador, ou precisaria de uma troca de dano entre eles?
  11. Bem, terminei o código da aranha, falta apenas testá-lo e aperfeiçoá-lo. Se alguém também o fez, pergunto: qual método foi utilizado para aquela parte da aranha teleportar logo que ver o jogador? Eu usei onTarget com uma modificação nas sources para que monstros também executem este creatureevent (achei esta a maneira mais viável).
  12. Cara, que ideia legal essa da aranha. :0 Mas ela já faria essa ação logo que o primeiro jogador aparecer na tela? E, também, o player chegaria na área simplesmente andando ou por, sei lá, um teleporte?
  13. Mas como as bombas seriam destruídas? E não entendi muito bem a primeira mecânica da aranha.
  14. Não, você teria que fazer alterações nas sources também. ;s
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo