Ir para conteúdo
  • Cadastre-se
  1. KiritoYue

    KiritoYue

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por L3K0T
      Sistema de Drop Personalizado
       
      Esse sistema de loot foi projetado para adicionar um elemento de sorte e surpresa ao derrotar monstros. Sempre que um jogador derrota um monstro, há uma chance configurada para que ele solte entre 1 a 3 itens especiais, garantindo recompensas valiosas ao jogador.
       
      O sistema realiza as seguintes ações:
      Chance de Drop: A cada morte de um monstro, há uma chance configurada para dropar itens específicos. O sistema permite que sejam dropados entre 1 a 3 unidades do item, tornando o sistema mais dinâmico.
       
      Efeito Visual: Quando o loot é bem-sucedido, um efeito visual especial (ID 231) é exibido na posição exata onde o monstro foi derrotado, criando uma animação visual que destaca a recompensa.
       
      Notificação ao Jogador: Após o drop, o jogador recebe uma mensagem personalizada informando a quantidade de itens obtidos. Essa notificação aparece após 3 segundos, adicionando uma camada de imersão e evitando sobrecarregar o chat imediatamente após a morte do monstro.
       
      *Ótimo para fazer eventos de dropar certo itens para alguma missão ou resgates.
      *Uso no meu TIBIA HARRY POTTER ORIGIN
       
      VAi em creaturescripts/scripts.lua
      local function findCorpse(position) for i = 1, 255 do position.stackpos = i local corpse = getThingfromPos(position) if isCorpse(corpse.uid) then return corpse.uid end end return false end local function dropLoot(position, killer) local corpse = findCorpse(position) if not corpse then return false end local itemId = 2160 local chance = 23 if math.random(100) <= chance then local amountToDrop = math.random(1, 3) doAddContainerItem(corpse, itemId, amountToDrop) local corpsePosition = getThingPos(corpse) doSendMagicEffect(corpsePosition, 7) local function sendMessage() if isPlayer(killer) then local message = string.format("Você dropou %d Crystal Coin(s).", amountToDrop) doPlayerSendTextMessage(killer, MESSAGE_INFO_DESCR, message) end end addEvent(sendMessage, 2500) end return true end function onKill(cid, target) local position = getCreaturePosition(target) addEvent(dropLoot, 100, position, cid) return true end  
      creaturescripts.xml
      <event type="kill" name="GlobalDrops" registerTo ="GlobalDrops" event="script" value="globalDrops.lua"/> ou depende do tfs
      <event type="kill" name="GlobalDrops" event="script" value="globalDrops.lua"/>  
      Para ambos TFS registra o evento no login.lua
      registerTo ="GlobalDrops"
      feito isso.. agora todos os monstros do mapa vai cair os crystal coins de 1 há 3.
    • Por hekan19
      Olá pessoal,
       
      Estou com um problema no sistema de autoloot.
      Ao abrir um Pokémon, itens aparecem no chão. Recebo "0" no console do TFS.
       
      Obrigado pela ajuda
    • Por wallaceg15
      Sempre que mato o poke, cai um corpinho e o pokemon continua vivo, e aparece esse erro na distro... Alguém poderia me ajudar? 
       
      [Error - CreatureScript Interface]
      data/creaturescripts/scripts/player/statsChange.lua:onStatsChange
      Description:
      data/lib/towerSystem.lua:931: attempt to index global 'magmaTP2' (a nil value)
      stack traceback:
              data/lib/towerSystem.lua:931: in function 'doKillBossTower'
              data/lib/Death System.lua:599: in function 'doKillWildPoke'
              data/creaturescripts/scripts/player/statsChange.lua:1461: in function <data/creaturescripts/scripts/player/statsChange.lua:6>
      statsChange.lua towerSystem.lua Death System.lua
    • Por Featzen
      Bom, vi por aqui e não achei nenhum autoloot igual o da pxg ou sem bugs, então decidi vir aqui postar o que eu fiz.
      Vamos lá.
       
      1º - Vá na pasta Lib, no arquivo some functions.lua e adicione isso depois do ultimo "end":



       
      2º - Vá em actions/script e crie um arquivo.lua com nome de Autoloot, dentro coloque:



       
      Agora, no actions.xml adicione a tag:
      <action itemid="" event="script" value="Autoloot.lua"/> Dentro de itemid="", coloque o id dos corpses.
       
      Para conseguir o id dos corpses, podemos fazer um pequeno script, que pegará o corpse de cada pokemon capturável.



       
      Clique em: Execute Script e terá todos os corpses de pokemons capturáveis.

      Créditos:
      Mkalo -- Auto Stacking
      Gabriel Sales(eu) -- Resto
    • Por Featzen
      Bom, como um individuo(Vudi) não sabe cumprir o que fala, vou postar o sistema aqui.(não cabe ao post explicar aqui)
      Bom, aqui está o smeargle system, igual o da PxG. Vamos lá.
       
      1 - Vá na pasta Lib, substitua seu cooldown bar.lua por isso:



       
      2 - Ainda no Lib, no fim(depois do ultimo end) do Some Functions.lua, adicione isso:



       
      3 - Agora no order.lua, do Actions, em baixo de:
      if getTileThingByPos(checkpos).uid <= 0 then return true end Adicione:



       
      4 - Se seu servidor ja tiver os spells, sketch 1, sketch 2... Substitua por esses:
       



       
      Se não, use os mesmos acima, não esqueça de adicionar no spells.xml.
       
      5 - Agora, vá em talkactions/scripst, abra o move1.lua e substitua:



       
      Pronto, se tiver feito tudo certo, funcionará.
      Como ficará:



      Como usar:



       
      Créditos: Eu(Todo o script)
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo