Líderes
-
-
-
lordzetros
MembroPontos431Total de itens -
Mark Coder
MembroPontos31Total de itens
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 01/05/19 em todas áreas
-
Telara Baiak Futuristico.
Telara Baiak Futuristico.
Coltera e 3 outros reagiu a Pedro. por uma resposta no tópico
4 pontosOlá, eu me chamo Yinz "Pedro", sou dono do Thoria e já tive outros projetos, sempre foram de mapa proprio, custom, algo diferente. O diferente me chama muita atenção, por isso depois dá minha ultima frustração com mapa próprio "não ter jogadores" eu resolvi abrir um Baiak. Ah, mas você gosta de low rates, rpg, mapa todo bonitinho e bla bla bla e agora vai abrir um baiak cheio de teleports? - Sim, vou. Para quem não sabe, o mapper @Nolis mais foda que eu admiro bastante liberou o Futurístico, e eu sempre achei seu trabalho fodastico apesar de não estar terminado. Então resolvi abrir, por ser algo totalmente diferente, e que não falta muitas coisas, eu basicamente tenho tudo. Ainda não resolvi qual site usar, mas queria usar algo diferente, longe de tibiarl layout. Tenho algumas ideias, de niveis de monstros, magias customs, segunda promotion, sistema de tokens (colocar recompensas por leveis, quests, tasks, manter online), enfim. Como eu nunca abri um Baiak, estou atrás de uma equipe, alguém para me auxiliar, com sistemas, ideias, o que precisa ter um baiak, como manter, com eventos etc. Se for alguém que entenda de lua é melhor ainda. Não vou citar Programador, Scripter, nada disso, basta ter uma noção e querer fazer algo maneiro, eu não sei muito de nada disso, mas sei pouco de tudo. você pode me chamar aqui, por pm ou no discord Yinz#74394 pontos -
Criando um Botão OT CLIENT
Criando um Botão OT CLIENT
KawoBR reagiu a Darcio Antonio por uma resposta no tópico
1 pontogame_topslot.zi Bom o scan do arquivo está ai. https://www.virustotal.com/#/file/5a0b17722b93fd4c9117086b80ad24442c305a05723680cad34ec50138ef30bc/detection1 ponto -
Spell Creator
Spell Creator
jora312312 reagiu a Caronte por uma resposta no tópico
1 pontoOlá pessoal, estou trazendo um spell creator bem dinâmico, feito a muito tempo por um programador da otland chamado TGYoshi. Acho que não precisa de explicação para o uso do spell creator, pois é muiiiito simbles, bom sem mais delongas: Ao você terminar a criação da spell, o programa gera o XML e .Lua Algumas gifs do programa em funcionamento: Abra o spoiler para ver mais ! POSSÍVEIS ERROS: |_ Solução: SpellCreator.zip Outras opções de download: Link 1 ou Link 2. Créditos inteiramente ao: TGYoshi I'll be coding this in C#.NET, it'll increase both my programming skills and might be useful for the community. The code will be open source.1 ponto -
[TFS 1.3] Teleport com janela
[TFS 1.3] Teleport com janela
Katiau reagiu a lordzetros por uma resposta no tópico
1 pontoTFS 1.3 - TESTADO EM VERSÃO 10.98 * Introdução * Bom, estive navegando no Fórum e vi que o usuário @Cleiton Felipi pediu um script que ao player entrasse no teleport de um X monstro, um Demon por exemplo, listasse qual hunt o jogador queria entrar. Achei interessante, e resolvi desenvolver e postar no TK, já que não tinha ainda, :). * Sobre o sistema * Você utiliza diversas hunts com vários tps criados no mapa no seu servidor do mesmo monstro? Bom, este script será muito útil para você! Pois ele permitirá que você habilite ao jogador em qual hunt ele quer caçar, por exemplo, se tiver Demon 01, Demon 02, Demon 03, Demon X, basta apenas você criar um tp indicando o monstro e que uma janela irá aparecer com a lista de opções de hunts, prático, né? Segue imagens de demonstração: OBS¹.: Você pode colocar TODOS OS MONSTROS neste script, contando que tenha o actionID que ficará no teleporte, não é de uma quantidade limitada, em outras palavras, você pode adicionar as hunts de Demon, Frost Dragon, Dragon, ..., tudo aqui, apenas mudando o actionID (tudo configurável, não se preocupe). * Instalação * Em data/movements/scripts/ crie um arquivo chamado mov_janela_hunts.lua e adicione dentro: --[[ Script - Lordzetros Fórum Tibia King ]] local config = { titulo = "BEM VINDO(A) A JANELA DE HUNTS!", -- Título da Janela mensagem = "Selecione qual hunt voce deseja ir:", -- Mensagem abaixo do título da janela } CONFIG_TPS_JANELA = { [19090] = { -- ID do action que ficará no portal da hunt {nome = "Demon 01", pos = {x = 98, y = 139, z = 7}}, -- Segue padrão, nome da cave e posição que o player será teleportado {nome = "Demon 02", pos = {x = 93, y = 144, z = 7}}, {nome = "Demon 03", pos = {x = 91, y = 140, z = 7}}, {nome = "Demon 04", pos = {x = 94, y = 138, z = 7}}, {nome = "Demon 05", pos = {x = 95, y = 136, z = 7}}, }, [19091] = { {nome = "Frost 01", pos = {x = 98, y = 140, z = 7}}, {nome = "Frost 02", pos = {x = 93, y = 145, z = 7}}, {nome = "Frost 03", pos = {x = 91, y = 141, z = 7}}, {nome = "Frost 04", pos = {x = 94, y = 139, z = 7}}, {nome = "Frost 05", pos = {x = 95, y = 137, z = 7}}, }, } function onStepIn(creature, item, pos, fromPosition) if ((CONFIG_TPS_JANELA[item:getActionId()]) and creature:isPlayer()) then JANELA_TP_ACTION = item:getActionId() creature:teleportTo(fromPosition, true) creature:registerEvent("janela hunts") local janela = ModalWindow(1000, config.titulo, config.mensagem) for i, v in ipairs(CONFIG_TPS_JANELA[JANELA_TP_ACTION]) do janela:addChoice(i, v.nome) end janela:addButton(100, "Confirmar") janela:addButton(101, "Fechar") janela:setDefaultEnterButton(100) janela:setDefaultEscapeButton(101) janela:sendToPlayer(creature) end return true end Em data/movements/movements.xml adicione o seguinte código abaixo de um semelhante: <movevent event="StepIn" itemid="5023" script="mov_janela_hunts.lua" /> Agora em data/creaturescripts/scripts/ crie um arquivo chamado creature_janela_hunts.lua e adicione dentro: function onModalWindow(player, modalWindowId, buttonId, choiceId) player:unregisterEvent("janela hunts") if (modalWindowId == 1000) then if (buttonId == 100) then local tele_pos = CONFIG_TPS_JANELA[JANELA_TP_ACTION][choiceId].pos player:teleportTo(tele_pos) local pos_t = Position(tele_pos) pos_t:sendMagicEffect(CONST_ME_MAGIC_BLUE) end end return true end Em data/creaturescripts/creaturescripts.xml adicione o seguinte código abaixo de um semelhante: <event type="ModalWindow" name="janela hunts" script="creature_janela_hunts.lua"/> * Configuração * Bom, apesar de que não seja difícil de configurar, é necessário uma explicação, vamos lá... 1 - [19090] = { -- ID do action que ficará no portal da hunt {nome = "Demon 01", pos = {x = 98, y = 139, z = 7}}, -- Segue padrão, nome da cave e posição que o player será teleportado {nome = "Demon 02", pos = {x = 93, y = 144, z = 7}}, {nome = "Demon 03", pos = {x = 91, y = 140, z = 7}}, {nome = "Demon 04", pos = {x = 94, y = 138, z = 7}}, {nome = "Demon 05", pos = {x = 95, y = 136, z = 7}}, }, Em [19090] este número de dentro é o actionID que ficará no portal. Com ele será identificado de qual monstro se trata, bastando apenas configurar este número e o nome das opções de monstros que você quer aparecendo na janela, em seguida, a posição na qual o jogador será teleportado, seguindo a ordem. Segue imagem de como deve ficar o seu portal: OBS²: VOCÊ EDITA O ACTIONID NO SEU EDITOR DE MAPA COLOCANDO NO ID DO ITEM DE TELEPORTE. OBS³: PARA ADICIONAR NOVAS HUNTS NO SCRIPT, BASTA SEGUIR O PADRÃO QUE ESTÁ NO CÓDIGO, DO 19090 PARA O 19091. 2 - (por fim) Em data/movements/movements.xml <movevent event="StepIn" itemid="5023" script="mov_janela_hunts.lua" /> itemID = Id do item que o player andará para abrir a janela de hunt Está como 5023 por conta que o magic forcefield é 5023, no qual utilizei para teste, aconselho você deixar da mesma forma (caso seja o mesmo id no seu servidor), ou mude, mas cuidado para não cometer algum erro. Enfim, algo simples, porém não encontrei no TK. Abraços.1 ponto -
Alvos específicos em spells de área!
Conforme tive uma dúvida outro dia, consegui obter uma solução satisfatória e, sabendo que pode ser a dúvida de mais gente, resolvi compartilhar na forma deste pequeno tutorial. A ideia é muito simples: fazer com que uma spell de área atinga apenas alguns alvos conforme uma característica específica. Isso pode ser bastante útil para diversas ideias, além do script base servir para tantos outros efeitos interessantes. Atenção, fiz os scripts para: TFS 0.4.0 Teremos como base para esse exemplo a magia "divine caldera", o famoso "exevo mas san". Nela teremos o seguinte script: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 4, 6) local area = createCombatArea(AREA_CIRCLE3X3) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Desta forma, a magia atingirá todos os alvos em sua área de alcance. Mas queremos mudar isso, queremos que ela atinja alvos específicos, e aqui entram algumas ideias, por exemplo: podemos fazer com que ela acerte apenas players de um determinado level, players de uma determinada vocação, players com um determinado access, ou mesmo uma storage, ou ainda, como no exemplo que darei a seguir, fazer com que a magia acerte apenas alvos com um determinado nome (no caso, serão criaturas e não players). Para isso, utilizaremos uma função, "onTargetCreature(cid, target)" e depois a chamaremos como parâmetro de um "setCombatCallback(combat, key, function_name)". Na função onTargetCreature nós faremos a verificação desejada. Por exemplo, no código a seguir eu quero que a minha spell atinja apenas criaturas com o nome de "rat" ou "cave rat", então ficaria assim: function onTargetCreature(cid, target) local creatures = {"rat", "cave rat"} if isMonster(target) and isInArray(creatures, getCreatureName(target)) then doTargetCombatHealth(cid, target, type, min, max, effect) end end Traduzindo: eu criei uma tabela local com os nomes desejados, verifiquei se o alvo era um monstro e se o nome do monstro constava na minha tabela recém criada. Sendo verdadeiro, acionei a função doTargetCombatHealth(cid, target, type, min, max, effect). -- Lembrando que conforme o tipo da sua magia você vai alterar os parâmetros dessa função para que ela tenha as animações e o dano compatíveis com o seu gosto/objetivo. Outro detalhe é que nesse trecho de código acima é que é feita a verificação que eu desejo. Eu poderia ao invés disso verificar se é um jogador e se a vocação dele tem o id 1 ou 2, por exemplo. Ficaria: function onTargetCreature(cid, target) local vocations = {1, 2} if isPlayer(target) and isInArray(vocations, getPlayerVocation(target)) then doTargetCombatHealth(cid, target, type, min, max, effect) end end Ou verificar um level, para que a magia só funcione em alvos acima do level X, etc. Exemplo: function onTargetCreature(cid, target) local level = 80 if isPlayer(target) and getPlayerLevel(target) >= 80 then doTargetCombatHealth(cid, target, type, min, max, effect) end end Feita a função, faremos aquilo que mencionei: a chamaremos como parâmetro da função "setCombatCallback" para o nosso "combat". Fica assim: setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature") Feito isso, pronto! Basta chamarmos a spell normalmente. Exemplo de tudo pronto para uma magia "exevo mas san" que só acerte os ratos e tira de 10 a 20 de vida: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA) local area = createCombatArea(AREA_CIRCLE3X3) setCombatArea(combat, area) function onTargetCreature(cid, target) local creatures = {"rat", "cave rat"} if isMonster(target) and isInArray(creatures, getCreatureName(target)) then doTargetCombatHealth(cid, target, COMBAT_HOLYDAMAGE, -10, -20, CONST_ME_HOLYAREA) end end setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature") function onCastSpell(cid, var) return doCombat(cid, combat, var) end Agora é com a criatividade de vocês! Até a próxima!1 ponto
-
BUG Sword skill
BUG Sword skill
ITALOx reagiu a Mark Coder por uma resposta no tópico
1 pontoCaso o tópico esteja na área errada por favor movam para a área correta. Estou com um possível "bug" no meu servidor. Vou tentar explicar da melhor forma possível. Quando eu equipo uma Sword, a sword skill não sobe, nos item.xml o weaponType está "sword" mas mesmo assim o sword skill não sobe, apenas o Club Fighting que sobe caso eu equipe a sword, porém se eu equipar um AXE em vez da sword, o sword skill sobe mais ao upar o sword skill aparece na tela "21:16 You advanced in axe fighting." eu estou usando a source do @Brunds que foi postada aqui no tibiaking se não me engano, Quem poder me ajudar agradeço. obs: as únicas alterações que eu fiz na source foi traduzir algumas coisas no arquivo player.cpp Source: Scan:1 ponto -
#mda2018 - Melhores do Ano no Tk (listão)
@Nolis Ohhh Valeu Dani por lembrar xD 2018 foi um ano bem conturbado para mim e postei poucos conteúdos mesmo assim lembrou valeu1 ponto
-
Importação de mapas de outras versões para a 10.98
Importação de mapas de outras versões para a 10.98
Sarah Wesker reagiu a Cat por uma resposta no tópico
1 pontoPode acontecer de bugar, mas talvez não. Desmarque essa opção: file - preferences - general - ( x ) Create Map on Startup Verifique se o itens.otb do map editor confere com o de seu servidor O mapa receptor é da versão 10.98, então configure as preferencias da versão do cliente para 10.98 (file - preferences - client version) Abra o mapa normal ou importando em um limpo e pressione ctrl + p para verificar se está tudo ok Vá em file - import - import map Conforme descrevi no tópico, a ferramenta import offset funciona da seguinte forma: A ferramenta vai posicionar as partes do mapa na posição em que elas estavam + os valores X e Y de offset. Se você importar um mapa que está na posição x1000, y2000 e atribuir em offset os valores x3000,y3000 - o mapa será adicionado em x4000,y5000. Você também pode usar valores negativos (x-3000,y-3000) em Offset para mudar a direção de X e Y e posicionar o mapa. A respeito da sua preocupação com compatibilidade, isso depende das configurações do itens.otb do seu servidor, principalmente se ele procede de uma serie de atualizações contínuas da versão 10.77 até a 10.98.1 ponto -
Telara Baiak Futuristico.
1 pontoVer esse mapa da uma nostalgia! Espero que consiga montar um ot maneiro1 ponto
-
[TFS 0.4 / TFS 1.x] Wand/Rod Elemental
[TFS 0.4 / TFS 1.x] Wand/Rod Elemental
Cat reagiu a KillerWatts por uma resposta no tópico
1 pontoCaraaaa olha eu de novo ! hahaha mano esse script ficou muito bom ! vários players curtiram, queria uma ajuda, eu fiz uma weapon no meu server que no caso é de paladin com esse script porem ela fica como uma wand... sera que teria como colocar atk dela ser conforme a SKILL DISTANCE do player !? Obrigado mais uma vez!!! REP +1 ponto -
(Resolvido)Qual melhor Base de poketibia?
(Resolvido)Qual melhor Base de poketibia?
DarkRed reagiu a hallanehallex por uma resposta no tópico
1 ponto@Mbbred http://www.tibiaking.com/forum/forums/topic/2946-sistema-de-reputação-e-reação/ do lado da minha assinatura (hallanehallex) terá duas setas uma para cima e outra para baixou clica na seta para cima para marcar como melhor resposta e para dar REP+ ele se localiza no lado direito do meu post perto das opções mencionar membro (@) , Multicitar (+), Citar -------------> do lado direito vai ter a opção de um coração ai você marca o Obrigado é meio dificil você encontrar uma distro limpa mais não é dificil remover bug delas não sei porque não entregam elas limpas já qualquer duvida so pergunta1 ponto -
[RME] Alguém poderia passar remere's map editor extended ?
[RME] Alguém poderia passar remere's map editor extended ?
deryckson reagiu a Superkoopa por uma resposta no tópico
1 pontoVou passar o Link: http://www.4shared.com/archive/ttAAClbOba/RME-Extendido_by_Duduph.html Se ajudei Rep+1 ponto -
(Resolvido)[PEDIDO] Subir Mana Em PZ
(Resolvido)[PEDIDO] Subir Mana Em PZ
joaovitorbk9 reagiu a RenanPhellip por uma resposta no tópico
1 pontoCONSEGUI PESSOAL! Hoje resolvi pensar numa forma da mana/life regenerar normalmente em protection zone. Então pensei que a solução estava na função manaGain/healthGain que é usado no items.xml. Dei uma fuçada nas sources e encontrei a função, localizada em condition.cpp Procure por esta função: bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval) Em seguida troque isso: bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval) { internalHealthTicks += interval; internalManaTicks += interval; if(creature->getZone() != ZONE_PROTECTION) { if(internalHealthTicks >= healthTicks) { internalHealthTicks = 0; creature->changeHealth(healthGain); } if(internalManaTicks >= manaTicks) { internalManaTicks = 0; creature->changeMana(manaGain); } } return ConditionGeneric::executeCondition(creature, interval); } Por isso: bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval) { internalHealthTicks += interval; internalManaTicks += interval; if(internalHealthTicks >= healthTicks) { internalHealthTicks = 0; creature->changeHealth(healthGain); } if(internalManaTicks >= manaTicks) { internalManaTicks = 0; creature->changeMana(manaGain); } return ConditionGeneric::executeCondition(creature, interval); } Em seguida é só compilar e já era, agora a mana e life irá regenerar em protection zone xd1 ponto -
[ERRO] Monsters/NPCs não aparecem no RME
[ERRO] Monsters/NPCs não aparecem no RME
Eduardo1534 reagiu a Wend por uma resposta no tópico
1 ponto@, Abra o Seu RME e com o seu mapa aberto aperte "F"1 ponto