Jump to content

880123

Campones
  • Posts

    32
  • Joined

  • Last visited

Reputation Activity

  1. Upvote
    880123 reacted to vini996 in Perfect Forge System   
    Servidor Testado: Tfs 0.3.3 (possivel funcionamento em versoes posteriores)
    neste script você terá apenas que criar combinações de items para ele.
     
    MAP
     
    Para começar vamos criar nosso centro de forja, você deve criar um botão para iniciar o script e 3 altares para que os items a serem criados sejem postos, algo assim:
     

     
     
    Note que aquele quadrado verde é o itemid 9565, você é obrigado a usar ele para ativar o script, e tambem você DEVE colocar o actionid 9565 nele. os outros 3 altares podem ser qualquer outro tipo de mesa contanto que nao seje movel.
     
    SCRIPT
     
    Feito isso vá em actions.xml adcione a seguinte tag:
     
    Apos feito isso crie um arquivo na pasta scripts chamado forj.lua e adcione o seguinte codigo:
     
     
    Feito isso volte em seu mapa e veje que na foto tem la pos1 pos2 e pos3,estas são as 3 primeiras posições que você deve por na tabela de posições em negrito, lembre de por stackpos=255, não importa a ordem das 3 primeiras posições pois a ordem dos items não afeta o resultado. já a quarta posição é onde o item que você criou vai aparecer.
     
    FORMULAS
     
    Todas as formulas do script ninguem alem de você vai saber, entao caso queira que os outros saibam, revele elas pelo seu site ou entao crie um livro falando delas, mais vamos aprender a configura-las.
     
    CONFIGURANDO PT1
     
    Vamos criar uma formula onde se juntarmos 1 demoniac escensse (6500) e 1 bakpack cinza (2003) você receber uma backpack of holding (2365)
     
     
    Isso é uma tabela e lembre-se deve se espaçar tudo com virgulas!
    Vamos ver... o primeiro valor é a demoniac es~ entao o id dela é 6500 vamos por 6500
     
    Certo, a backpack é 2003
     
    Ixe... e o terceiro item? basta por 0
     
    Agora vamos por o ID do que vai ser criado e a quantidade.
     
     
    Pronto! criamos uma formula!
     
    CONFIGURANDO PT2
     
    Bom agora eu quero 100 demoniac essence para criar 10 holy orchids, como fazer?
    Assim!
     
    Ou seja bastar por outra tabela sendo o primeiro valor o id e o segundo a quantidade:
     
    FIM!!!
     
    CREDITOS: Mock
    NAO ESQUEÇA REP SE GOSTOU
  2. Upvote
    880123 reacted to Yan Oliveira in Event Boss   
    Olá, vá na pasta Data/Globalevents/Scripts e crie um arquivo lua chamado boss e adicione o código dentro:
    ----------------------------------- EVENTO SUMMON BOSS FEITO POR YAN18 ----------------------------------------- local minutos = 20 ---- COLOCA OS MINUTOS AQUI PARA OS BOSS SUMIREM CASO NINGUÉM OS MATE ---- NOME DOS MONTROS ---- local monsters = { [1] = "Magmar" , [2] = "Electabuzz", [3] = "Scizor", } ---- POSIÇÃO DA ARENA ONDE APARECERÁ OS MONSTROS ---- local position_arena = { from_pos = {x= 964, y = 993, z= 7}, -- VARIÁVEL QUE TEM A COORDENADA INICIAL DO LUGAR ONDE VAI APARECER OS MONSTROS to_pos = {x= 978, y = 1009, z= 7}, -- VARIÁVEL QUE TEM A COORDENADA FINAL DO LUGAR ONDE VAI APARECER OS MONSTROS } ---------------------------------- CÓDIGO ---------------------------------------------- function onThink(cid, words, interval, lastExecution) ----- CRIA OS BOSS ----- for i, j in ipairs(monsters) do ----- VARIÁVEL RANDOM_POSITION GERA O SPAWN ALEATÓRIO DOS BOSS ----- local random_position = {x= math.random(position_arena.from_pos.x, position_arena.to_pos.x), y= math.random(position_arena.from_pos.y, position_arena.to_pos.y), z= math.random(position_arena.from_pos.z, position_arena.to_pos.z)} doSummonCreature(j, random_position) end doBroadcastMessage(#monsters == 1 and "A monster have been arrived in this world. Don't arrive near!" or "Some monsters have been arrived in this world. Don't arrive near by them!", 22) ---- VERIFICAÇÃO SE TEM MONSTROS NA ARENA PARA REMOVER ---- addEvent(function() local position = {} for i = position_arena.from_pos.x, position_arena.to_pos.x do for j = position_arena.from_pos.y, position_arena.to_pos.y do position[#position+1] = {x= i, y = j, z= position_arena.from_pos.z, stackpos = 0} end end for i= 1, #position do for j = 0, 255 do position[i].stackpos = j local monster = getTileThingByPos(position[i]) if isMonster(monster.uid) then for d, n in ipairs(monsters) do if getCreatureName(monster.uid) == n then doRemoveCreature(monster.uid) if d == #monsters then doBroadcastMessage(#monsters == 1 and "The monster left this world. But it will return soon...." or "The monsters left this world. But they will return soon....", 22) end end end end end end end, minutos * 60 * 1000) return true end Agora em Data/Globalevents abra o globalevents.xml e adicione a tag:
    <globalevent name="boss" interval="3600" event="script" value="boss.lua"/> <!-- TEMPO EM SEGUNDOS, JÁ DEIXEI 1 HORA --> Explicação: No código, eu criei 3 monstros genéricos para testar, só adicionar o nome deles igual está na tabela, e se quiser só 1 monstro, apague os outros dois e insira o desejado (lembrando de colocar a vírgula no final igual como está).
     
    Na variável minutos já deixei 20 como pediu, mas caso queira trocar, só alterar o valor dela (lembrando que o valor dela tem que ser menor que o intervalo do evento no xml).
     
    E na tabela position_arena, precisa colocar as coordenadas iniciais e finais da arena, já deixei pronto ali também e é só substituir.
     
    Deixei para eles nascerem em posições aleatórias dentro das coordenadas da arena, caso queira spawns fixos, só ir na variável random_position e colocar x, y e z desejados.
     
    Agora na parte do Xml como deixei o comentário na tag, já deixei 1 hora como pediu (3600 segundos), caso queira outro valor só alterar lá, lembrando que ali é em segundos.
     
    Deixei tudo comentado e explicadinho, mas qualquer dúvida só falar. Eu testei muito aqui e deu certo, mas qualquer problema só me dizer.
  3. Thanks
    880123 reacted to zmovirzynski in Log monstro ao clicar no item   
    local txt = "Ex: %s matou o mostro [bazir] [%d] vezes" function onUse(cid, item, fromPosition, itemEx, toPosition) local player = Player(cid) local playerName = player:getName() local kills = player:getStorageValue(Storage.KillsToBazir) if kills < 0 then kills = 0 end local message = string.format(txt, playerName, kills) player:sendTextMessage(MESSAGE_INFO_DESCR, message) return true end  
    Certifique-se de adaptar o script de acordo com a estrutura e as variáveis específicas do seu server. Além disso, certifique-se de que o armazenamento Storage.KillsToBazir seja atualizado sempre que o jogador matar o monstro "bazir" no jogo, é o principal.
     
  4. Thanks
    880123 got a reaction from manoellouro in Movements - Equip utilizar os atributos itens.xml e executar um script personalizado   
    Eu tive essa ideia a 10 anos kkk, meio q deu certo. um cara fez esse script pra mim, vou ver se acho por aqui. o meu funcionava de tal jeito, ao ficar full com items selecionados (helmet, armor, legs, shild e boots) o char ganhava um bonus editavel (ml, dist, cast, hp, e mp). mas ao meu ve, n ficou muito elaborado por ele fez em movements. Se eu achar aq compartilho com tu !
    Boa sorte.
  5. Thanks
    880123 reacted to Marshmello in Acumular tempo - Actions   
  6. Thanks
    880123 reacted to coyotestark45 in Suporte cave exclusiva globalevents   
    rapaz, se nao me engano, vc pega os tiles da horizontal e vertical, exemplo: vc pega os tiles da horizontal, pegando do primeiro tile, e pega o vertical pegando da parte final da cave, formando um area quadrada. imagino que seja assim
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...