Ir para conteúdo

tataboy67

Membro
  • Registro em

  • Última visita

Tudo que tataboy67 postou

  1. Vish ai vc me bugou, porque não entendi nada dessa função que fez kkk... Como meu intuito é aprender, teria como me explicar um pouco do que fez ai? :s Obrigado por estar ajudando, espero um dia chegar no nível de você e da galera experiente ^^. Eu nem sei o que significa o Self hehe
  2. Opa galera beleza? Eu ando estudando um pouco de script e eu estava montando 1 script pro forum quando me deparei com 1 problema... Não to conseguindo printar os itens da bag do jogador Eu estava tentando da seguinte forma: print(player:getSlotItem(3):getItem():getId()) -- retorna o ID apenas do primeiro item Porque retorna o ID apenas do primeiro item? Dai eu tentei fazer assim: print(player:getSlotItem(3):getItem()) -- printa uma userdata Tentei de tantas formas mas não estou obtendo sucesso Dai eu fiquei me perguntando 2 coisas... Como que eu printo os TODOS os itens do jogador e como que eu sei o que é uma >> userdata << Se alguém puder me ajudar, ficarei grato d++ OBS: Desculpa ficar vindo aqui pedir suporte para aprender, é que realmente eu tenho dificuldade... estou tentando dar meus pulos aqui, mas ta difícil. -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_- Edit* Obrigado @Vodkart ! Consegui fazer assim: Solução? local bag = player:getSlotItem(3) for i = player:getSlotItem(3):getSize() - 1, 0, -1 do local itemid = player:getSlotItem(3):getItem(i):getId() local count = player:getSlotItem(3):getItem(i):getCount() local name = player:getSlotItem(3):getItem(i):getName() if containerItem ~= 0 then print("{"..name.."} \n{ID: "..itemid..", Count: "..count.."};\n") end end Espero que isso ajude alguém a criar algum script kk
  3. https://www.xtibia.com/forum/topic/232809-baú-que-da-pokemon-como-recompensa/ N testei nenhum... mas só jogar no google: Baú que da pokemon vai aparecer trocentos scripts kk
  4. Você está adicionando o Icone e não o pokemon em si. Dai quando o jogador vai pegar, ele pega o Icone ! Para que isso funcione você terá que criar 1 script para receber o pokemon. Existem muitos aqui no Fórum.
  5. LINDU d+ meeeeu.... sem palavras para descrever esse mininu ?
  6. Opa galerinha beleza? Andei pesquisando 1 pouco sobre script e vi que ainda não existe nada do tipo, então resolvi trazer aqui pra vocês ! Meu intuito em fazer esses tipos de scripts: Na verdade eu andei pensando bastante em fazer Quest's em meu servidor no estilo HARDCORE... Imagine que você consiga entrar em uma Areá e ter consciência de que ao morrer, perderá tudo ! Seria meio tenso não? É... Eu achei interessante essa ideia, e como é simples resolvi trazer pra vocês. Como o script funciona? O script funciona a partir de 2 Actions. A de entrada, dará ao jogador uma Skull Red (Colocar ActionID: 5901) Saída removerá a Skull (Colocar ActionID: 5902) Sem mais delongas, vamos ao Script: Adicione a linha em: (data/movements/movements.xml) <movevent event="StepIn" fromaid="5901" toaid="5902" script="TP_Red_Skull.lua"/> Crie um arquivo em:(data/movements/scripts/TP_Red_Skull.lua) local config = { storage = 39202, -- Storage usada pos_room = {x = 1231, y = 1066, z = 7}, -- Posição da sala pos_back = {x = 1132, y = 1074, z = 7} -- Posição para sair da sala } function onStepIn(player, item, position, fromPosition) if item.actionid == 5901 then if player:getSkull() >= 1 then player:sendCancelMessage("Remova seu Skull para poder entrar.") player:teleportTo(fromPosition) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) else player:teleportTo(config.pos_room) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) player:setSkull(4) player:setSkullTime(1000*999999999999999999) player:setStorageValue(config.storage, 1) end end if item.actionid == 5902 then if player:getSkull() == 4 then if player:getStorageValue(config.storage) then player:setSkull(0) player:teleportTo(config.pos_back) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) end end end return true end Por favor, se puderem dar dicas para eu melhorar o script ou adicionar algo a mais, ficarei grato e terei o prazer em fazer. Rep+ para me motivar a postar cada vez mais coisas
  7. Hahaha vlww ... obrigado, vou ver se faço mais hoje também. Vou continuar treinando e obrigado pelas dicas ?
  8. @Vodkart Script Atualizado !
  9. Vou atualizar amanhã aqui no script e já adiciono seus créditos !!
  10. Com certeza irei aderir à isso também ! Amanhã vou estudar um pouco de como fazer esse negocio do SQM, creio que o infight vai ser moleza!! Eu estou com uma ideia legal e inovadora tbm para postar aqui no fórum hehehhe ... Nunca postado nem em versões anteriores.
  11. Opa galera beleza? Como prometido eu tentei fazer 1 script e vim posta-lo no TibiaKing... O script é simples e com uma boa configuração: Numero de membros da Party Nível necessário Se precisa de PZ para entrarem Se precisa que todos estejam perto Se só o Leader poderá entrar Teleporte que os jogadores irão Items necessários Como o script funciona? O script ele serve como uma forma de o jogador poder entrar em 1 Sala com a necessidade de uma Party, nível necessário e alguns Items. Meu intuito em fazer esses tipos de scripts: Estou cada vez mais tentando aprender um pouco mais em relação a scripts Lua... Sou um pouco leigo nessa parte, mas vou continuar treinando e estudando para alimentar meu conhecimento na linguagem e o conteúdo no Fórum. Espero que vocês me apoiem no que estou tentando fazer, e agradeço a todos que estão me ajudando a entender um pouco do assunto. Sem mais delongas, vamos ao Script: Adicione a linha em: (data/movements/movements.xml) <movevent event="StepIn" actionid="5900" script="Tile_Party.lua"/> Crie um arquivo em: (data/movements/scripts/Tile_Party.lua) local config = { members = 2, -- membros ou +. level = 300, -- nivel que todos os membros devem ter para entrar. leader = false, -- somente o leader pode entrar no teleport. pz = true, -- só irá funcionar se todos os membros tiverem em PZ area. pos_to = {x = 1143, y = 1064, z = 7}, -- posição que os jogadores serão teleportados. other = { pert = true, -- só poderá entrar se os membros tiverem na quant_sqm de distancia. quant_sqm = 7 -- jogadores tem que estar a 7 sqm de distancia do jogador que entrou no TP. }, items = { -- itens necessários para que os players entrem. [1] = {item = 2160, count = 1}, [2] = {item = 2159, count = 1} -- [3] = {item = ItemID, count = Quantidade} }, } function onStepIn(player, item, position, fromPosition) local party = player:getParty() if not party then player:teleportTo(fromPosition) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) position:sendMagicEffect(CONST_ME_MAGIC_RED) return player:sendCancelMessage("You don't have a party.") end local leader = party:getLeader() local member = party:getMembers() if config.leader and player ~= leader then player:teleportTo(fromPosition) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) position:sendMagicEffect(CONST_ME_MAGIC_RED) player:sendCancelMessage("Somente o leader pode entrar por aqui.") return false end table.insert(member, leader) local ready = {} if #member >= config.members-1 then for _, var in pairs(member) do if var:getLevel() > config.level then if config.other.pert then if player:getPosition():getDistance(var:getPosition()) >= config.other.quant_sqm then player:teleportTo(fromPosition) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) player:sendCancelMessage("Seu time tem que esta proximo de voce.") return end end if config.pz then if not getTileInfo(getThingPos(var)).protection then player:teleportTo(fromPosition) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) return player:sendCancelMessage("Seu time tem que estar em protection zone.") end end for k, v in pairs(config.items) do if var:getItemCount(v.item) < v.count then player:teleportTo(fromPosition) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) player:sendTextMessage(22,string.format("O membro (corno) %s não possui %sx %s.", var:getName(), v.count, ItemType(v.item):getName())) return false end end table.insert(ready, var) else player:sendTextMessage(22,"Um dos membros da party não possui nivel superior a "..config.level..".") player:teleportTo(fromPosition) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) return false end end if rawequal(#ready, #member) then for _, var in pairs(member) do for k, v in pairs(config.items) do var:removeItem(v.item, v.count) end var:sendTextMessage(22,"Your team join the room.") var:teleportTo(config.pos_to) var:getPosition():sendMagicEffect(CONST_ME_TELEPORT) end end else player:teleportTo(fromPosition) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) position:sendMagicEffect(CONST_ME_MAGIC_RED) player:sendTextMessage(20,"Somente party's com " .. config.members-1 .. " ou mais jogadores, poderão passar.") end return true end Deixe seu REP+ Para me motivar ainda mais a postar novos scripts para vocês. Créditos: @Snowsz @KotZletY @Vodkart @Lyu Está atualizado o script... Algumas configurações foram adicionadas ! local config = { members = 2, -- membros ou +. level = 300, -- nivel que todos os membros devem ter para entrar. leader = false, -- somente o leader pode entrar no teleport. pz = true, -- só irá funcionar se todos os membros tiverem em PZ area. pos_to = {x = 1143, y = 1064, z = 7}, -- posição que os jogadores serão teleportados. other = { pert = true, -- só poderá entrar se os membros tiverem na quant_sqm de distancia. quant_sqm = 7 -- jogadores tem que estar a 7 sqm de distancia do jogador que entrou no TP. }, items = { -- itens necessários para que os players entrem. [1] = {item = 2160, count = 1}, [2] = {item = 2159, count = 1} -- [3] = {item = ItemID, count = Quantidade} }, }
  12. Opa gente tudo bem? Estou tentando aprender cada vez mais de script, e acabei de fazer 1 script legal para postar aqui pra vocês... Porém está com 1 pequeno problema nele ! A verificação de itens está com problema... eu não sei porque na verdade, fiz tudo certinho. Não sei porque que: Mesmo que o [Mdr] Henrique, não possua os 2 itens para entrar, o item de ambos é removido . OU SEJA: Se o jogador 1 possuir Crystal coin, e o 2 possuir Crystal coin, ele está sendo removido ! Se o jogador 1 possuir Scarab coin, e o jogador 2 não possuir Scarab coin, ele não é removido ! Porem eu testei com apenas 1 item, ele funciona perfeitamente: items = { -- itens necessários para que os players entrem. [1] = {item = 2160, count = 1}, }, Está ai o script inteiro: local config = { members = 2, -- membros ou +. level = 300, -- nivel que todos os membros devem ter para entrar. leader = false, -- sómente o leader pode entrar no teleport. pos_to = {x = 1143, y = 1066, z = 7}, -- posição que os jogadores serão teleportados. items = { -- itens necessários para que os players entrem. [1] = {item = 2160, count = 1}, [2] = {item = 2159, count = 1} -- [3] = {item = ItemID, count = Quantidade} }, } function onStepIn(player, item, position, fromPosition) local party = player:getParty() if not party then player:teleportTo(fromPosition) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) position:sendMagicEffect(CONST_ME_MAGIC_RED) return player:sendCancelMessage("You don't have a party.") end local leader = party:getLeader() if config.leader then if player:getId() == leader:getId() then local member = party:getMembers() if #member >= config.members-1 then for _, var in pairs(member) do if var:getLevel() > config.level then for tab = 1, #config.items do if var:getItemCount(config.items[tab].item) >= config.items[tab].count and leader:getItemCount(config.items[tab].item) >= config.items[tab].count then var:removeItem(config.items[tab].item, config.items[tab].count) leader:removeItem(config.items[tab].item, config.items[tab].count) var:sendTextMessage(22,"Your team join the room.") leader:sendTextMessage(22,"Your team join the room.") var:teleportTo(config.pos_to) leader:teleportTo(config.pos_to) else player:teleportTo(fromPosition) var:sendTextMessage(22,"Um dos membros nao possui os itens necessarios.") leader:sendTextMessage(22,"Um dos membros nao possui os itens necessarios.") end end else var:sendTextMessage(22,"Um dos membros da party nao possui nivel superior a "..config.level..".") leader:sendTextMessage(22,"Um dos membros da party nao possui nivel superior a "..config.level..".") end end else player:teleportTo(fromPosition) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) position:sendMagicEffect(CONST_ME_MAGIC_RED) player:sendTextMessage(20,"Somente party's com " .. config.members-1 .. " ou mais jogadores, poderao passar.") end else player:teleportTo(fromPosition) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) position:sendMagicEffect(CONST_ME_MAGIC_RED) player:sendCancelMessage("Somente o leader pode entrar por aqui.") end else local member = party:getMembers() if #member >= config.members-1 then for _, var in pairs(member) do if var:getLevel() > config.level then for tab = 1, #config.items do if var:getItemCount(config.items[tab].item) >= config.items[tab].count and leader:getItemCount(config.items[tab].item) >= config.items[tab].count then var:removeItem(config.items[tab].item, config.items[tab].count) leader:removeItem(config.items[tab].item, config.items[tab].count) var:sendTextMessage(22,"Your team join the room.") leader:sendTextMessage(22,"Your team join the room.") var:teleportTo(config.pos_to) leader:teleportTo(config.pos_to) else player:teleportTo(fromPosition) var:sendTextMessage(22,"Um dos membros nao possui os itens necessarios.") leader:sendTextMessage(22,"Um dos membros nao possui os itens necessarios.") end end else var:sendTextMessage(22,"Um dos membros da party nao possui nivel superior a "..config.level..".") leader:sendTextMessage(22,"Um dos membros da party nao possui nivel superior a "..config.level..".") end end else player:teleportTo(fromPosition) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) position:sendMagicEffect(CONST_ME_MAGIC_RED) player:sendTextMessage(20,"Somente party's com " .. config.members-1 .. " ou mais jogadores, poderao passar.") end end end O meu objetivo seria: Só poderá entrar se ambos os jogadores possuírem os 2 itens com suas devidas quantidades.
  13. Eu to com 1 projeto com tudo isso, todos os eventos, TPS, quests, castle 24hrs, e tudo no 11.00 / 10.00 hehe
  14. Apesar de eu não curtir versões antigas o OT está ótimo ^^. Obrigado por compartilhar com a comunidade ! ?
  15. EDIT* Consegui !!!! Muito obrigado, fiz a verificação assim: function onStepIn(player, item, position, fromPosition) local party = player:getParty() local member = party:getMembers() if not party then return print(1) end if #member >= 1 then print(2) else print(3) end end
  16. TFS 1.3 Gente eu estou estudando script ja tem 1 bom tempo, e estou tentando aprender como faço para verificar 1 grupo de pessoas e devidas especificações... Por exemplo: Verificar o nivel de todos os membros da party, se eles possuem itens, etc... Gostaria por favor que não fizessem esse script, apenas me dessem uma luz de como eu posso faze-lo... Eu tentei diversas vezes, fiz isso: local config = { members = 2, level = 300, } function onStepIn(player, item, position, fromPosition) local party = player:getParty() local bers = party:getMembers() if party then if bers >= 2 then if bers:getLevel() >= 100 then player:sendTextMessage(22,"Good Luck "..player:getName()..".") player:getPosition():sendMagicEffect(49) else player:sendCancelMessage("You don't have a level.") end else player:teleportTo(Position(7639, 7834, 6)) player:sendCancelMessage("You can only spend "..config.members.."+ players in the party.") player:getPosition():sendMagicEffect(CONST_ME_POFF) end else player:teleportTo(Position(7639, 7834, 6)) player:sendCancelMessage("Only players with party can pass through here.") player:getPosition():sendMagicEffect(CONST_ME_POFF) end return true end
  17. Já fiz o teste com o proprio tibia 8.54, baixei 1 cliente tibia-flash, tibia base cyan, e nenhum funcionou ...
  18. Muito bom ! Está faltando o Executavel para o cliente, sem ele esta dificil de testar o servidor ! Baixei diversos outros executaveis e todos dão erros, então ta complicado 'x'
  19. tataboy67 postou uma resposta no tópico em Formação de Equipe
    .
  20. Bom coloquei ele direitinho no servidor e dá esse erro... Ele não vai pois nas funções do TFS 1.2 não existe : function onStatsChange(cid, attacker, type, combat, value) Por isso tive que buscar outro tipo de script, a function que o TFS 1.2+ suporta são: https://otland.net/threads/tfs-1-2-all-main-interface-functions.252859/ ----------- Os sistemas que estou utilizando são esses: https://www.xtibia.com/forum/topic/234507-tfs-1x-dodge-system/ e https://www.xtibia.com/forum/topic/234508-tfs-1x-critical-system/ Ambos usam a função: function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin) Porem só para HP... Agora o de mana teria que adicionar 1 nova function, que seria a de: function onManaChange(creature, attacker, manaChange, origin) porem n sei adicionar essa function
  21. TFS 1.3 Opa galera tudo bem?? Estou com 1 pequeno problema na parte de Creaturescripts do sistema... Bom, o problema é basicamente assim, ele esta funcionando !! Porem o critical e o dodge só funciona em HP e se o mage usar UTAMO VITA, o script não funciona, segue o script: -- CRITICAL local talk = { [1] = "Critico!", [2] = "Aii...", [3] = "Paraa", [4] = "Essa doeu :(", } function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin) local msgs = talk[math.random(1,4)] if isMonster() then return false end if (creature:getCriticalLevel() * 3) >= math.random (0, 1000) then if isInArray({ORIGIN_MELEE, ORIGIN_RANGED, ORIGIN_SPELL}, origin) and primaryType ~= COMBAT_HEALING then primaryDamage = primaryDamage + math.ceil(primaryDamage * CRITICAL.PERCENT) creature:say(talk[math.random(1,4)], TALKTYPE_MONSTER_SAY) creature:getPosition():sendMagicEffect(CONST_ME_EXPLOSIONHIT) return primaryDamage, COMBAT_ENERGYDAMAGE, secondaryDamage, COMBAT_FIREDAMAGE end end return primaryDamage, primaryType, secondaryDamage, secondaryType end -- DODGE function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin) if not isPlayer(creature) then return false end if (creature:getDodgeLevel() * 3) >= math.random (0, 1000) and isCreature(attacker) then if isInArray({ORIGIN_MELEE, ORIGIN_RANGED, ORIGIN_SPELL}, origin) and primaryType ~= COMBAT_HEALING then primaryDamage = primaryDamage - math.ceil(primaryDamage * DODGE.PERCENT) creature:say("DODGE!", TALKTYPE_MONSTER_SAY) creature:getPosition():sendMagicEffect(CONST_ME_BLOCKHIT) end end return primaryDamage, primaryType, secondaryDamage, secondaryType end Ambos os sistemas estão funcionando, porém somente para o HP e não para a mana (do utamo vita) Lib utilizada: -- Configuração DODGE = { STORAGE = 48900, -- player storage do sistema LEVEL_MAX = 100, -- máximo de dodge level que o player pode alcançar PERCENT = 0.5 -- porcentagem que irá defender o ataque [padrão 50% = 0.5] } CRITICAL = { STORAGE = 48901, -- player storage do sistema LEVEL_MAX = 100, -- máximo de critical level que o player pode alcançar PERCENT = 0.5 -- porcentagem que irá aumentar o ataque [padrão 50% = 0.5] } function Player.getDodgeLevel(self) return self:getStorageValue(DODGE.STORAGE) end function Player.setDodgeLevel(self, value) return self:setStorageValue(DODGE.STORAGE, value) end function Player.getCriticalLevel(self) return self:getStorageValue(CRITICAL.STORAGE) end function Player.setCriticalLevel(self, value) return self:setStorageValue(CRITICAL.STORAGE, value) end Agradeço desde já Obs: Creio eu que seja porque a function que estou usando: function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin) é somente para HP eu deveria usar a: function onManaChange(creature, attacker, manaChange, origin) Só que eu não sei utilizar ela
  22. Alguém sabe porque está causando esse tipo de erro? (TFS 1.2) esse sistema usado /\ RESOLVIDO !!
  23. Sim funciona sim, só que não sei se vou postar man... esta funcionando graças a deus kasdkasdk. demorei bastante tempo pra fazer isso rs
  24. tataboy67 postou uma resposta no tópico em Formação de Equipe
    Bom galera eu estou com 1 servidor nas retas finais dele, falta apenas alguns detalhes a serem preenchidos, porém eu estava precisando de alguém para me ajudar enquanto isso... O projeto já tem 1 bom tempo já, e inclui diversos sistemas bacanas que utilizei no meu projeto anterior... Sujeito a remuneração a partir dos >> donates << WPP: 11 992515766 Discord: Tataboy67#4934 Obrigado (o servidor ja possui VPS paga e sendo assim fica online direto para testes ..) Edit* TFS 1.3 / Versão 10.00 Procurando Programadores >> .LUA << Imagens: Servidor sem erros: Servidor bonito (parecido com a maioria dos 8.60): Area de eventos ao lado do templo: Event Seller / Trainers / Anti-Entrosa: Só mostrando o mapa mesmo '-' : Cassino funcionais: Demonstração de algumas quests: Hunts do Castle: Algumas montarias novas: Crystal protect (Castle) Task system (para acesso de algumas quests): Informações ao Logar: Critical / Dodge funcionando: Hunting system: ADDON / Mount doll: VIP AREA: Boss arena (Entrar com 1 time para matar 1 boss e receber 1 recompensa aleatoria): Hunts do servidor (mais de 50 hunts): Quests da Area VIP: OBS:
  25. Não existe Castle 24hrs para TFS 1.2 postado em fórum Eu tenho 1 aqui mas ta com problema na alavanca... estou esperando pro meu amigo me ajudar. ? @Jhoninhos

Informação Importante

Confirmação de Termo