Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 02/09/15 em todas áreas

  1. [Projeto] New Styller

    Kiriharae e 3 outros reagiu a luanluciano93 por uma resposta no tópico

    4 pontos
    Olá pessoal, hoje venho apresentar meu projeto particular. Sou muito fã do mapa styller, sempre em horas vagas procurava joga-lo, para quem não conhece: é um servidor estilo baiakm só que mais difícil e com mais RPG, e como tenho me interessado por versões mais atuais, resolvi criar um styller (new styller) seguindo as ultimas atualizações do TFS, seria algo parecido com o projeto do Kaique e do Jamison, aqui no fórum, o KNJ. Irei postando de pouco em pouco as atualizações, definindo o que foi feito e o que ainda pretendo fazer ... # Informações do Servidor → Versão: 10.77 (seguindo as atualizações do TFS 1.2). → Exp: 500x (Inicial - veja aqui). → Skills 50 → Magic 30 → Loot: 4 # Sistemas do Servidor → Cast System (100%) → Vip System (100% - liberado) → Reward Level System (100% - liberado) → Addons System (100%) → Mounts System (100%) → War System (100%) → Market System (100%) → Training OFF (100%) → Clean Database (100%) → Client Próprio - Opcional (100%) → Arena PVP. (100%) → Marriage System (pendente) → Quest Log (pendente) → Forja System (pendente) → Refinamento System (pendente) → Achievements System (pendente) → Cassino System (pendente) → Task System (pendente) # Eventos do Servidor → Zombi Evento. (100%) → War Anti-Entrosa (100%) → CastleWar. (100%) → BattleField Evento. (100%) → Capture The Flag. (100%) → Gran Tower. (100%) → Hour Kill. (100%) → War of Emperium. (100%) → Dota. (100%) → Coliseum. (100%) → Survival Evento. (100%) # Quests → Em breve. # Website → Em construção. (http://www.styller.org/) # Equipe → [member=luanluciano93] (administrador/scripter/webmaster) # Imagens # Pesquisa / Enquetes → Comose prevenir de disputas no Pagseguro? # Comentários de membros Curta nossa página no facebook. É isso pessoal, espero que gostem, abraços!
  2. Vamos evoluir? Unity 3D

    Flavio S. Cabral e 3 outros reagiu a Gabrieltxu por uma resposta no tópico

    4 pontos
    Eai galera beleza? entao queria respostas sem zueira no tópico pois é um assunto sério , enfim , esses dias atras estava pensando em sair da programação tibia/otserver e ir para outra área , algo mais complexo , ai lembrei de uma engine que se usa muito hoje em dia para criar jogos e vi que as linguagems que ela usa para os seus scripts nao é dificil de se aprender , que seria JavaScript == JS , e C# , e com isso me deu mais uma ideia , de juntar uma galera que quer aprender e aprender todo mundo junto, lembrando que oque eu sei de JS é muito pouco e C# é nada , então seria mesmo que todos iniciantes para aprender juntos , e com isso começar um projeto todo mundo junto de um jogo Medieval ou a criterio de conversas entre o grupo etc... , já baixei aqui o Unity 3D , ele vem com uma ferramente muito Util para ajudar em nossos scrips que é o MonoDevelop , creio que se tiver força de vontade e dedicação aprendemos rápido e claro aprendendo a programar jogos você programa qual quer coisa ... gerando renda + profissionalização , é isso galera comenta ai oque vocês acham da ideia de criar um grupo para começar a mecher com o Unity e bora criar jogos e as coisas todas ! ... é isso vlw flw
  3. Show OFF | Olokomeu

    Panicat e 2 outros reagiu a olokomeu por uma resposta no tópico

    3 pontos
    Olá pessoal do TibiaKing!. Hoje estou mostrando algumas imagens do meu mapa próprio 8.6 para vocês. Gostaria de saber suas opiniões. Aceito criticas construtivas , se possível digam o que melhorar caso haja algo irrelevante no mapa, pois, tenho - de 2 meses de pratica com mapas >.<. Primeiramente o Mapa Geral ( Ainda está em construção, não liguem para as partes pretas rsrs ). Cidades: City 1: In-Game : City 2: In-Game: City 3: In-Game: City 4: In-Game: Irei colocar mais fotos conforme o avanço,pois, ainda falta duas Citys !! At+
  4. Sistema: Cassino Slots.

    JcA e um outro reagiu a Adriano SwaTT por uma resposta no tópico

    2 pontos
    Boa noite galera, após um pedido aqui no fórum sobre um sistema de Cassino, decidi então criar este e disponibilizar para vocês. Introdução: Bom, este script simula a máquina de Cassino conhecida como Cassino Slots, pra quem não conhece é a máquina que se encontra no spoiler abaixo: Como funciona? O jogador precisa escolher 1 (um) dos 10 (dez) itens disponíveis (da para configurar a quantidade de itens) como seu Item da Sorte, e após feito isso, terá que girar a alavanca e torcer para que a máquina sorteie 3 itens repetidos igual ao que o jogador em questão escolheu. Para tornar um pouco mais fácil de vencer, criei para que a máquina dê pequenos brindes à quem acertar 1 ou 2 itens dos sorteados (configurável). Como jogar? Para jogar é simples, como desenvolvi todo script em apenas um arquivo, para facilitar na criação, na instalação e até mesmo na jogabilidade, o jogo se baseia na posição em que o jogador está para identificar qual ação executar. Selecionar Item da Sorte: com seu personagem virado para baixo (sul), clique na alavanca e automaticamente o item da sorte aparecerá na mesa configurada no script, caso queira outro item, basta ir usando a alavanca até encontrar o item desejado. Como Jogar: Após ter selecionado seu item da sorte, que deve estar à mostra em cima da mesa própria, basta virar seu personagem para cima (norte) e clicar novamente na alavanca. E se virar esquerda ou direita?: Nada acontecerá, apenas uma mensagem ensinando como jogar será enviada para que o jogador se oriente. Dicas de instalação! Sugiro que quando for criar o mapa para o evento, não faça como do vídeo, pois os itens criados nas mesas não estão com atributos para que não possam ser movidos, sendo assim é provável que jogadores de má fé venham a roubar itens... Faça como a imagem abaixo: Instalando: Basta criar um arquivo na pasta “data/actions/scripts” chamado “cassino_slots.lua” e adicionar o código abaixo dentro: Agora em “actions.xml” adicione a tag abaixo: Agora basta configurar de acordo com as informações disponíveis no início do script. Vejam o vídeo demonstrativo do Sistema em funcionamento. Criado por: Adriano Swatt'
  5. ElderDark Show Off

    Thayam e um outro reagiu a ElderDark por uma resposta no tópico

    2 pontos
    Primeiro Outfit! Segundo outfit :3 Agora com Addons haha Cabelo feio mais o foco é a armadura
  6. ERRO AO COMPLIAR OTSERVER NO LINUX 14.10

    maikons e um outro reagiu a Fir3element por uma resposta no tópico

    2 pontos
    o cd tava no diretório certo? @tfs 1.0 funciona com libs atualizadas, então qualquer OS que esteja na última versão da pra compilar
  7. [AJUDA] Codeblocks / OTClient

    oliverarrow e um outro reagiu a Fir3element por uma resposta no tópico

    2 pontos
    baixei aqui ele n usa code blocks n lol, pra compilar só tem o projeto do visual studio: otclient-master\vc12\otclient.vcxproj
  8. (Resolvido)Arma que evolui (wtf)

    leliofritsch e um outro reagiu a xBen por uma resposta no tópico

    2 pontos
    Crie um arquivo lua em creaturescripts/scripts , coloque o nome de weaponLevelup.lua e adicione o script dentro. depois vai em creaturescripts.xml adicione a tag, depois va no script login e adicione o registro tag: <event type="kill" name="weaponLevelUp" event="script" value="weaponLevelUp.lua"/> script: function onKill(cid, target, lastHit) local monster = { --["nome do monstro minuscuolo"] = {storage = storage de contagem, reward = arma que vai ser transformar, weapon = arma necessaria, kill = quantidade de monstro que tem que matar} ["bat"] = {storage = 10376, reward = 2392, weapon = 2376, kill = 5}, ["rat"] = {storage = 10377, reward = 1255, weapon = 2376, kill = 20}, } if isPlayer(cid) then if isMonster(target) then local name = getCreatureName(target) local name_monster = monster[string.lower(name)] if name_monster then local weapon = monster[name:lower()].weapon if getPlayerSlotItem(cid, 6).itemid == weapon then local reward = monster[name:lower()].reward local storage = monster[name:lower()].storage local count = getPlayerStorageValue(cid, storage) local kill = monster[name:lower()].kill if count == -1 then count = 0 end count = count+1 setPlayerStorageValue(cid, storage, count) doSendAnimatedText(getPlayerPosition(target), " #"..count.." / #"..kill.." ", 65) if count == kill then doPlayerSendTextMessage(cid, 27, "Success! You have upgraded your weapon.") setPlayerStorageValue(cid, storage, -1) doTransformItem(getPlayerSlotItem(cid, 6).uid, reward) doSendMagicEffect(getPlayerPosition(cid), 7) doSendAnimatedText(getPlayerPosition(cid), " Done ", 32) end end end end end return true end registro: registerCreatureEvent(cid, "weaponLevelUp") lembrando que a arma tem que estar no slot 6 que é o esquerdo, qualquer duvida só perguntar que eu respondo se ajudei REP+ EDIT - faltava uma verificação e estava causando bug, já foi concertado
  9. Erro Bike System Poketibia

    simahamed e um outro reagiu a GabrielSapient por uma resposta no tópico

    2 pontos
    Ai meu amiguinho, espero que funcione:
  10. onegai

    Weekend e um outro reagiu a kikimdapadaria por uma resposta no tópico

    2 pontos
    Este Video contem Spoilers! Se for de sua preferencia evita-los não assista. https://www.youtube.com/watch?v=n1wD16Jaxz8&feature=youtu.be
  11. Pokémon Centurion [8.54] PDA

    samuelandrade45 reagiu a SlowK por uma resposta no tópico

    1 ponto
    Pokémon Centurion (Tópico atualizado apenas para melhorar a aparência, servidor sem atualização desde 19/06/2014). Distro: Pokémon Dash Online Advanced 1.0 (PDA [Baseada na TFS 0.3.6]) (Não tenho source). - Antigo cliente 8.54 - • Informações • - Ataques m1 ao m12 - Sistema de bike - Sistema de boost - Trade Center - Mapa LunusOT - Sistema de profissões - Pokémons com níveis (com evolução) - Vários Shinies dentre eles da nova geração - Rocket (Giovani) e Police - Addons novos - Alguns Pokés com remakes - Várias quests escondidas • Algumas imagens • (Caso não estejam aparecendo, baixe aqui: IMAGENS) Senha do ADM: god/god • Links • Servidor Cliente (Mediafire já fornece scan semelhante ao vírustotal, basta descer a página um pouco). • Créditos • Cacaiu Alexandre Bruno Maciel Patrick Estrela SlowMCZ Obs: Servidor não será mais atualizado, nem darei ajuda, pois faz muito tempo que não mexo com tal server.
  12. Entendendo o Stackpos!

    jplaubs reagiu a Ryzor por uma resposta no tópico

    1 ponto
    Faaaaala galerinha! A pedido de alguns usúarios estou aqui para postar este tutorial. Espero que seja útil para todos que tem alguma dúvida quanto ao Stackpos. Eu sinceramente não domino completamente a magia dos stackpos, mas espero poder tirar algumas dúvidas de quem sabe e ensinar quem ainda não sabe. Vamos logo ao tutorial: Stackpos • Introdução Stackpos é um dos index da tabela que guarda posições. Toda posição é uma tabela, exemplo: {x=160, y=50, z=7}, mas o que pouca gente sabe, é que o stackpos também faz parte desta tabela. Todos sabem que em uma unica posição podem haver vários itens, formando uma pilha de itens, portanto, para diferenciar a posição de um item da pilha para o outro foi criado o stackpos, que é o número que diz em qual lugar da pilha está o item. • Descobrindo o Stackpos O stackpos segue um padrão, ou seja, uma ordem. Vou mostrar primeiramente os stackpos especiais: 0 - O stackpos 0 de uma posição é sempre o tile, ou seja, o chão. 253 - Este número refere-se ao stackpos das criaturas que estão na posição, sejam monstros, players ou npcs. 255 - O item mais alto de um pilha tem o stackpos 255, além do stackpos normal dela. Agora vou mostrar como descobrir o stackpos de um item apenas olhando para a pilha. Considere a seguinte pilha: Tile sempre terá o stackpos 0. Agora os outros recebem o stackpos contrário da ordem deles acima do chão. Coin receberá o stackpos 1 e 255. Chair receberá o stackpos 2. Table receberá o stackpos 3. Simples não? É sempre ao contrário da ordem deles acima do chão. Vamos a mais um exemplo para ficar bem claro, considere a seguinte pilha: Para pegar o stackpos pelo uid do item, usamos a função getThingPos(uid), a qual já retorna uma tabela com o stackpos do item. É isso galera, qualquer dúvida só perguntar. Até mais. Creditos : Shoeei Primeiro vamos contar quantos itens tem a pilha. Neste caso, em um total de 4 itens (tile, table, chair, coin). Tile receberá o stackpos 0. Ring receberá o stackpos 1 e 255. Hammer receberá o stackpos 2. Coin receberá o stackpos 3. Chair receberá o stackpos 4. Table receberá o stackpos 5. • Montando uma Tabela com Stackpos Eu havia tido anteriormente que toda posição é uma tabela. Para montarmos uma posição com o index stackpos, simplesmente adicionamos ele no final, exemplo: {x=160, y=50, z=7, stackpos=253} Simples, não é mesmo? • Funções Auxiliares Sempre que preciso descobrir o stackpos através de um script, uso as seguintes funções: Pegar o stackpos pela posição e id do item. function getItemStackpos(position, id) if getTileItemById(position, id).itemid == 0 then return nil end for i = 0, 255 do local pos = getThingFromPos({x=position.x, y=position.y, z=position.z, stackpos=i}) if pos.itemid == id then return i end end end end
  13. 1 ponto
    Boa Noite , Boa Tarde ou Bom Dia TK's não sei a hora que vocês vão ver o Tópico Estava com meu Projeto do "Pokemon H" Fiz várias Ediçoes no Servidor Que Baixei aqui no Tibia King Mesmo e vim disponibilizá-los para vocês. Então bora ao que interessa né? • Menu: ├ Informações; ├ Edições; ├ Erros; ├ Prints; ├ Mapa ├ Download; ├ Atualização; ├ Utilitários; └ Créditos. • Informações Básicas • • Edições / Ajustes • • Erros do Servidor • • Prints• • MAPA • • Downloads • Cliente * MediaFire e Scan Servidor * MediaFire e Scan • Download Atualização 2.0 • Download: https://www.mediafire.com/?ik211gku2hdqz2t Scan : • Download Atualização 3.0 • 2016 OBS: NÃO TERÁ MAIS EDIÇÕES. • Utilitários • Remeres que usei pra editar: AQUI • Créditos • Brun Por Criar o Servidor Slicer Por Editar o Servidor Mulurka (pelas out) Stylo pelo tuto do ícone system noninhu por ajudar em alguns spells tem 2 caras tbm eu eskeci o nome deles agora que ajudaram 1 com as insignias na barra de skill e o outrio pelas scripts da liga pokemon dandanrvb pelas scripts do icone system erondino por algumas caves ih é só bjundão a all Vudi (Eu) Por editar o resto do servidor e trazer as novidades Tioj Pelas edições e Por fazer eu copiar a organização do tópico dele kk obg Kuuhaku pela cave dos geot . Held Itens By Gabriel Sales Gabriel Sales AnnaFeeh pelo script do ditto system pxg Obs: Se Está faltando algum crédito me avise pra mim colocar ( Não sei se está faltando algum) Obs: Qualquer Outra Duvida Estarei de Suporte no Tópico Obs: SENHA GOD/GOD OBS : Se Pegar o Servidor e Postar em Outro Fórum sem as minhas permissão vou pedir para o dono do forum ou site retirar o conteúdo . (Esse Conteúdo é exclusivo do TibiaKing obrigado) Se ajudei Já sabe né
  14. [ACTIONS] Tm System -

    DarkRed reagiu a Skyligh por uma resposta no tópico

    1 ponto
    Olá pessoal, venho hoje aqui para postar um sistema de pokemon muito procurado, o famoso, Tm System. Siga o tutorial a risca ou seu trabalho será invão. Quote Seu Funcionameto: Basícamente funciona assim; ele adiciona um "Attack" novo a um pokemon ou substitui um existente, dependendo da vontado do player. Versões testadas: Qualquer derivado do PDA http://www.havencrest.co.uk/images/page-divider 2.jpg Vamos ao que interessa, vá em actions.xml e cole a seguinte tag: <action itemid="id do item que será usado" event="script" value="tmSystem.lua"/> Atenção o item que será usado no system, não deve ter o attributo "Usable" ou você terá erros. Agora crie um arquivo em {data/actions/scripts} chamado tmSystem.lua e cole o seguinte script dentro: function onUse(cid, item, frompos, item2, topos) local tm = tmabilities local pokemon = getCreatureSummons(cid)[1] local slotball = getPlayerSlotItem(cid, 8).uid local tmname = getItemNameById(item2.itemid) local i = item2.itemid if #getCreatureSummons(cid) == 0 then return doPlayerSendCancel(cid, "Need pokemon to learn a "..tmname..".") end if getItemAttribute(slotball, "TM") == tmname then return doPlayerSendCancel(cid, "Your pokemon was learned this TM.") end if isInArray(tm[""..tmname..""], getPokemonName(pokemon)) then doPlayerSetVocation(cid, 49) openChannelDialog(cid) else doPlayerSendCancel(cid, "This TM not compatible in your pokemon.") end return true end http://www.havencrest.co.uk/images/page-divider 2.jpg Agora vamos em {creaturescripts.xml} e colaremos a seguinte tag: <event type="joinchannel" name="TmChoose" event="script" value="tmsys.lua"/> Agora crie o arquivo tmsys.lua em {creaturescripts/scripts} e cole isso dentro: [CODE] function onJoinChannel(cid, channelId, users, isTv) if getPlayerVocation(cid) == 49 then else return true end local summon = getCreatureSummons(cid)[1] local moves = movestable[getCreatureName(summon)] local n = 1 for a = 1, 12 do local b = getNewMoveTable(moves, a) if b then n = n + 1 end end for b = 13, 23 do if channelId == b then local tm = tmabilities local pokemon = getCreatureSummons(cid)[1] local slotball = getPlayerSlotItem(cid, 8).uid local slotm = getPlayerSlotItem(cid, 9) local tmname = getItemNameById(slotm.itemid) if n >= channelId - 11 then doPlayerSendTextMessage(cid, 27, "Congralutions! Your "..getPokemonName(pokemon).." learn a new TM ("..tmname..").") doItemSetAttribute(slotball, "TM", tmname) doItemSetAttribute(slotball, "TMN", channelId - 11) doSendMagicEffect(getThingPosition(pokemon), 28) doSendMagicEffect(getThingPosition(pokemon), 29) doRemoveItem(slotm.uid) if useKpdoDlls then doUpdateMoves(cid) end else doPlayerSendCancel(cid, "Put tm on at last empty slot.") end return false end end return true end http://www.havencrest.co.uk/images/page-divider 2.jpgNesta parte você precisa de muita atenção, você terá que criar 10 channels como no modelo abaixo: <channel id="13" name="[Put on M1]"> <vocation id="49"/> </channel> <channel id="14" name="[Put on M2]"> <vocation id="49"/> </channel> Em channel id você seguira a ordem 13 a 23, em vocations id pode deixar do jeito que esta. Agora crie uma vocation com o id 49 ou cole a seguinte tag no vocations.xml: <vocation id="49" name="TM" description="pokemon trainer" needpremium="0" gaincap="0" gainhp="55" gainmana="0" gainhpticks="0" gainhpamount="0" gainmanaticks="0" gainmanaamount="0" manamultiplier="1.1" attackspeed="-1" soulmax="251" gainsoulticks="-1" fromvoc="1" lessloss="0"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="2" club="2" sword="2" axe="2" distance="2" shielding="2" fishing="2" experience="1.1"/> </vocation> Imagem Postada http://www.havencrest.co.uk/images/page-divider 2.jpgAgora vamos em {data/lib} e crie um arquivo chamado tmSystem.lua e cole as seguintes linhas nele: tmabilities = { ["Solar Beam"] = {"Blastoise", "Venusaur", "Charizard"}, ["Fire Blast"] = {"Blastoise", "Venusaur", "Charizard"}, } Nesta parte você edita, para cada magia[""] = nome dos pokemons que poderam ter essa magia por tm. Tipo do jeito que esta ai, se você for tentar colocar um fire blast em um bulba não vai pegar.. Para adicionar mais magias, basta copiar a linha e colocar o nome da magia nova e seus respectivos pokemons. http://www.havencrest.co.uk/images/page-divider 2.jpg Preste atenção, para cada magia feita, terá que haver um item com o nome da magia. E o id deste item deve ser colocado na tag da actions. ou seja(exemplo): abra o item.xml pegue o item que deseje usar e coloque o nome "Solar Beam"(do mesmo jeito da lib), pegue o id dele e cole na tag da actions. Espero que tenham intendido está parte. http://www.havencrest.co.uk/images/page-divider 2.jpg A ultima parte da instalção, vamos em {data/talkactions/scripts} e abra o arquivo move1.lua e substitua a parte de "if it = 1" até o ultimo "end" antes da parte "if not move then": local msgs = {"use ", ""} function doAlertReady(cid, id, movename, n, cd) if not isCreature(cid) then return true end local myball = getPlayerSlotItem(cid, 8) if myball.itemid > 0 and getItemAttribute(myball.uid, cd) == "cd:"..id.."" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(myball.uid).." - "..movename.." (m"..n..") is ready!") return true end local p = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid) if not p or #p <= 0 then return true end for a = 1, #p do if getItemAttribute(p[a], cd) == "cd:"..id.."" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(p[a]).." - "..movename.." (m"..n..") is ready!") return true end end end function onSay(cid, words, param, channel) if param ~= "" then return true end if string.len(words) > 3 then return true end if #getCreatureSummons(cid) == 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need a pokemon to use moves.") return 0 end --alterado v1.5 local mypoke = getCreatureSummons(cid)[1] if getCreatureCondition(cid, CONDITION_EXHAUST) then return true end if getCreatureName(mypoke) == "Evolution" then return true end if getCreatureName(mypoke) == "Ditto" or getCreatureName(mypoke) == "Shiny Ditto" then name = getPlayerStorageValue(mypoke, 1010) --edited else name = getCreatureName(mypoke) end --local name = getCreatureName(mypoke) == "Ditto" and getPlayerStorageValue(mypoke, 1010) or getCreatureName(mypoke) local it = string.sub(words, 2, 3) local move = movestable[name].move1 local cdzin = "move"..it.."" local slotball = getPlayerSlotItem(cid, 8).uid local tmname = getItemAttribute(slotball, "TM") if it == "2" then if getItemAttribute(slotball, "TMN") == 2 then move = {name = ""..tmname.."", level = 0, cd = 12, dist = 0, target = 0} else move = movestable[name].move2 end elseif it == "3" then if getItemAttribute(slotball, "TMN") == 3 then move = {name = ""..tmname.."", level = 0, cd = 12, dist = 0, target = 0} else move = movestable[name].move3 end elseif it == "4" then if getItemAttribute(slotball, "TMN") == 4 then move = {name = ""..tmname.."", level = 0, cd = 12, dist = 0, target = 0} else move = movestable[name].move4 end elseif it == "5" then if getItemAttribute(slotball, "TMN") == 5 then move = {name = ""..tmname.."", level = 0, cd = 12, dist = 0, target = 0} else move = movestable[name].move5 end elseif it == "6" then if getItemAttribute(slotball, "TMN") == 6 then move = {name = ""..tmname.."", level = 0, cd = 12, dist = 0, target = 0} else move = movestable[name].move6 end elseif it == "7" then if getItemAttribute(slotball, "TMN") == 7 then move = {name = ""..tmname.."", level = 0, cd = 12, dist = 0, target = 0} else move = movestable[name].move7 end elseif it == "8" then if getItemAttribute(slotball, "TMN") == 8 then move = {name = ""..tmname.."", level = 0, cd =15, dist = 0, target = 0} else move = movestable[name].move8 end elseif it == "9" then if getItemAttribute(slotball, "TMN") == 9 then move = {name = ""..tmname.."", level = 0, cd = 12, dist = 0, target = 0} else move = movestable[name].move9 end elseif it == "10" then if getItemAttribute(slotball, "TMN") == 10 then move = {name = ""..tmname.."", level = 0, cd = 12, dist = 0, target = 0} else move = movestable[name].move10 end elseif it == "11" then if getItemAttribute(slotball, "TMN") == 11 then move = {name = ""..tmname.."", level = 0, cd = 12, dist = 0, target = 0} else move = movestable[name].move11 end elseif it == "12" then if getItemAttribute(slotball, "TMN") == 12 then move = {name = ""..tmname.."", level = 0, cd = 12, dist = 0, target = 0} else move = movestable[name].move12 end end if not move then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end if getPlayerLevel(cid) < move.level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need be atleast level "..move.level.." to use this move.") return true end if getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 and getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (move.cd + 2) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to wait "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." seconds to use "..move.name.." again.") return true end if getTileInfo(getThingPos(mypoke)).protection then doPlayerSendCancel(cid, "Your pokemon cannot use moves while in protection zone.") return true end if getPlayerStorageValue(mypoke, 3894) >= 1 then return doPlayerSendCancel(cid, "You can't attack because you is with fear") --alterado v1.3 end --alterado v1.6 if (move.name == "Team Slice" or move.name == "Team Claw") and #getCreatureSummons(cid) < 2 then doPlayerSendCancel(cid, "Your pokemon need be in a team for use this move!") return true end --alterado v1.6 if isCreature(getCreatureTarget(cid)) and isInArray(specialabilities["evasion"], getCreatureName(getCreatureTarget(cid))) and math.random(1, 100) <= 10 then local target = getCreatureTarget(cid) if isCreature(getMasterTarget(target)) then --alterado v1.6 doSendMagicEffect(getThingPos(target), 211) doSendAnimatedText(getThingPos(target), "TOO BAD", 215) doTeleportThing(target, getClosestFreeTile(target, getThingPos(mypoke)), false) doSendMagicEffect(getThingPos(target), 211) doFaceCreature(target, getThingPos(mypoke)) return true --alterado v1.6 end end if move.target == 1 then if not isCreature(getCreatureTarget(cid)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don\'t have any targets.") return 0 end if getCreatureCondition(getCreatureTarget(cid), CONDITION_INVISIBLE) then return 0 end if getCreatureHealth(getCreatureTarget(cid)) <= 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your have already defeated your target.") return 0 end if not isCreature(getCreatureSummons(cid)[1]) then return true end if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid))) > move.dist then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Get closer to the target to use this move.") return 0 end if not isSightClear(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), false) then return 0 end end local newid = 0 if isSleeping(mypoke) or isSilence(mypoke) then --alterado v1.5 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't do that right now.") return 0 else newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd) end doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY) local summons = getCreatureSummons(cid) --alterado v1.6 addEvent(doAlertReady, move.cd * 1000, cid, newid, move.name, it, cdzin) for i = 2, #summons do if isCreature(summons[i]) and getPlayerStorageValue(cid, 637501) >= 1 then docastspell(summons[i], move.name) --alterado v1.6 end end docastspell(mypoke, move.name) doCreatureAddCondition(cid, playerexhaust) if useKpdoDlls then doUpdateCooldowns(cid) end return 0 end Até que enfim.. Se fizeram tudo certo o sistema vai funcionar se não.... Caso não itendam alguma parte da explicação podem me perguntar por aqui... Creditos Smix
  15. TibiaKing Map Shape v1.0.3

    Nerivalhs reagiu a Bruno Minervino por uma resposta no tópico

    1 ponto
    • • Introdução O projeto foi iniciado por Daniel para manter atualizado um recurso antigo que é muito utilizado, além de ser útil e criativo: o Bit Map To Map; baseando-se em sua estrutura, desenvolvemos um novo Map Shape, o Tibia King Map Shape, ou TK Map Shape; Esperamos pedidos de novas atualizações e opiniões sobre o projeto. Funções O TK Map Shape apresenta algumas funções a mais, tudo está sendo planejado para uma praticidade que envolva estética e funcionalidade: Você adiciona uma imagem, seleciona uma cor, essa cor selecionada será transformada em Mapa; você pode escolher várias cores e alguns grounds, assim como a versão que desejar. Também alterei a estrutura do programa ao salvar o arquivo, pra quem reclamava, agora está perfeito! Funções alteradas como a seleção de cor possibilitam um melhor manuseamento da ferramenta, o que antes produzia cor1 e cor2 agora pode ser listado como quantas cores você desejar. Como usar? https://www.youtube.com/watch?v=-nKwmVhg1qY Download TibiaKing Map Shape 1.0.3.rar Scan Changelog [07/02/2015] v1.0.1: - Carreção de possível crash ao salvar para .otbm - Novo Visual [31/01/2015] v1.0.0: - Lançamento do TibiaKing Map Shape [21/02/2015] v1.0.3: - Removido as opções xOff e Yoff; - Adicionado função para por ID custom; - Visual antigo adicionado, o novo estava causando lentidão na abertura do programa; - Adicionado opção de confirmação ao dar exit no programa. Créditos Bruno Minervino Daniel DarkstaR
  16. 1 ponto
    Fala Ae Galera do TibiaKing Estou mais um vez disponibilizando um Baiak Barao que Acabei de Editar Espero Que Gostem Oque eu Mudei e Adicionei ? -| Novo Visual do Templo -| Aura System (comando !aura on) -| Task System -| Dodge System -| Run Event (CORRIDA MALUCA) -| Reset System (ÁREA EXCLUSIVA COM CASTELO E HUNTS) para resetar fale !reset -| Guild Frags System (ÁREA EXCLUSIVA COM CASTELO E HUNTS) -| War System (100% RODANDO EM SQLITE) -| Cast System (100% Roda em Mysql ) ( Para Ativar vai em Config.lua e ache | enableCast = false | mude para true ) Duvidas entrem em http://www.tibiaking.com/forum/topic/34609-add-cast-system-pra-quem-já-tem-os-códigos-na-distro/ -| PvP Balanceado -| Varios Eventos Automaticos -| Battle Field Event -| Capture The Flag Event -| Adicionado CASTLE 24HORAS (COM CASTELO) e AVISOS DE INVASORES -| Itens DONATES -| Área DONATE ~~ (Só Entra Quem Usar o Itens) -| Vários Novos Script -| Fast Atk Arrumado -| Distro 0.4 Rodando 100% ( Se For 64x Bits) -| Refinamento ( Aprimora seu Item ) -| Level Points System Adicionado (Melhora Seu Skill) -| Frags no Look -| Npc Major Ancient (Vende Itens Exclusivos para quem tiver honor points) Obs:Consegue no GFS) -| Fly System Adicionado fale !fly -| e Muito Mais que Não Lembro -| CONFIRA ~~ ! -| SENHA DO GOD: barao/styller ~~ Algumas Imagens do Servidor ~~ CASTELO GFS Localizado na Barao City Castelo Reset System Localizado na Barao City Amostra do CASTLE War 24HORAS Vista por Cima CASTLE WAR 24 HORAS Vista por Baixo + Amostra de Invasão Donate Área Amostra de Itens Donate Amostra de Systema de Points Amostra do Refinamento TEMPLO -| Download http://www.4shared.com/rar/kv68Q66Hba/Baiak_Barao_Editado_By_DeathRo.html? -| Scan https://www.virustotal.com/pt/file/b036f248977d3b75e8fc205983b449a2fd68a942e62a48963adfcfa49fd954b8/analysis/1402686644/ -| Créditos Gostou ? então dei um +REP Não vai cair o Dedo
  17. PGalaxy Atx

    DarkRed reagiu a liel157 por uma resposta no tópico

    1 ponto
    PGalaxy Atx Olha Galera Estou Aqui de Novo Para Posto Mais Um Serve De Poketibia Espero Que gostei Desse Serve Esse Serve E O Pokemon Titanium • Menu: ├ Informações; ├ Ediçoes; ├ Erros; ├ Prints; ├ Download; └ Creditos. Informações Básicas: •Senha do god: god/god. •Adicionado pokemons da 6ª Geração (nao esta completa) •Server com System de level !. •Pokemons das gerações: 1 - 2 - 3 - 4 shinys •Client com espaço ainda •novas paredes, pisos, e itens •Shinys Espalhado pelo mapa. •Adicionada Varias quest •Duel System. •Moves system (m1 a m12). •Maximo 6 pokemons na bag. •Order 100%. •Sprites Reformuladas Erros do Servidor Nenhum que eu saiba Créditos Aline PGalaxy Team Gabrieltxu Slicer E Eu Por Editar Umas Coisas Print Link Do Serve>> http://www.mediafire.com/download/ky7672l9eyv1hpe/PGalaxy+Server.rar Link Do Client>> http://www.mediafire.com/download/1sd46xdiyd9clkl/PGalaxy+Atx.rar
  18. [854] Servidor Galaxy PokeOT

    pedro poke tibia reagiu a Wolf Admin por uma resposta no tópico

    1 ponto
    GALAXY POKEOT Olá Galera... Estou Aqui hoje para postar um servidor onde eu editei por um tempo, o "Galaxy PokeOT". Vamos começar: • Menu: ├ Informações; ├ Ediçoes; ├ Erros; ├ Prints; ├ Download; └ Creditos. Informações Básicas: Edições Erros do Servidor Prints Downloads Créditos Bom, é isso galera.. Espero que tenham gostado do meu servidor Façam bom proveito. Gostou? Ajudei? Deixe seu Rep ai Vlw !!
  19. [PDA]Pokemon Whots 1.0

    DarkRed reagiu a Drazyn1291 por uma resposta no tópico

    1 ponto
    Eaw Galera Hoje eu vim trazer meu servido de pokemon tibia chamado "Pokemon Whots" Oque ele tem? Rep+ System Comando de Correr Comando de !luz Comando de !afk Comando de !bug (voltar ao cp" Sistema de Anucio Ex: !anucio aeae galera. vai aparecer em verde [Anuncio]Seunick : aeae galera. Para todo Servido Entre Ooutros Sistemas Muitos Legais!!!!! Pokemon da 1 até 6 Geração (Incompleta) Arquivos imcompletos: Pokemons sem modificações no Configuration.lua Algums Bugs Facil de resolver mas estou sem tempo Scan : Cliente :https://www.virustotal.com/pt/file/31c2bc94a5a799f7ffeeec74d5844185f0693761e80cb192b9a8157f5d44b220/analysis/1412209567/ Servido : Não Conseguir Fazer Upload no Virus Total Download : Cliente : http://www.mediafire.com/download/iykh4y6uyr9xpzk/Client_Pxz.rar Servido : http://www.mediafire.com/download/vetcgsjartia38n/Pokemon_Whots.rar Creditos : Equipe Skyfall Pela Base Eu por editar Muitas Coisas Lucasmc Por Umas sprites como Iniciais de Kalos e Sprite de Meloetta Tibiaking Se Gostarem Dem Rep++ Vlw Se Gostarem Rep++
  20. Pyrus OT, 1.5

    Shoupe reagiu a xandeloko por uma resposta no tópico

    1 ponto
    Pokemon Pyrus ot Antes de tudo por favor, leia abaixo: Leiam aqui plx Informações: Imagens: Creditos: Scan Extras: REP + Novidades da 1.5 Download: http://www.mediafire.com/download/d2kcwj61kwrt6gk/PYRUS_OT.rar UTILIZEI PARA EDITAR passa na page do projeto que to trabalhando pra dar aquela força https://www.facebook.com/PokemonImperiumPI/?fref=nf
  21. CMS #01 - Element Puzzle Quest

    EduardMartins reagiu a Frenesy por uma resposta no tópico

    1 ponto
    Versão do Server: 8.60 O Objetivo é sincronizar as estátuas de seus respectivos elementos para criar um portal. Utilizei Actions para Girar as Estátuas e fazer a verificação das posições e Movements para fazer com que as Estátuas se posicionem de maneira aleatória, para que assim, qualquer jogador tenha uma experiência nova ao fazer a Quest. Cada estátua tem seu elemento. As estátuas da esquerda são o padrão. Você deve ajustar as estátuas da direita de acordo com o padrão estabelecido da esquerda. Uma sala é formada por dois grupos de estátuas. 6 na esquerda, 6 na direita. Cada Elemento possui duas estátuas diferentes. Uma do lado esquerdo, outra do lado direito (Notar imagem abaixo). As estátuas do lado esquerdo possui ActionID. Elas não giram. Elas que geram um padrão para posicionar as outras estátuas. O Objetivo é posicionar a estátua do lado direito do elemento fogo, por exemplo, de acordo com a posição da estátua do lado esquerdo com o mesmo elemento. Movements: Crie um arquivo .lua com nome EPQ em Movements/Script/ e coloque o código abaixo dentro dele. (Configure o local das estátuas) function onStepIn(cid, item, position, fromPosition) local pos_enter = {x = 999, y = 1009, z = 7} local statues = { -- Estátuas que ficam na posição esquerda {x = 997, y = 993, z = 7, stackpos= 1}, {x = 995, y = 994, z = 7, stackpos= 1}, {x = 994, y = 996, z = 7, stackpos= 1}, {x = 994, y = 998, z = 7, stackpos= 1}, {x = 995, y = 1000, z = 7, stackpos= 1}, {x = 997, y = 1001, z = 7, stackpos= 1}, -- Estátuas que ficam na posição direita {x = 1001, y = 993, z = 7, stackpos= 1}, {x = 1003, y = 994, z = 7, stackpos= 1}, {x = 1004, y = 996, z = 7, stackpos= 1}, {x = 1004, y = 998, z = 7, stackpos= 1}, {x = 1003, y = 1000, z = 7, stackpos= 1}, {x = 1001, y = 1001, z = 7, stackpos= 1}, } doTeleportThing(cid, pos_enter, true) for _, pos in ipairs(statues) do local lv = getThingfromPos(pos).uid doTransformItem(lv, math.random(3705, 3708)) end return TRUE end Adicione essa tag em Movements.xml <movevent type="StepIn" actionid="5485" event="script" value="EPQ.lua"/> No piso, coloque ActionID: 5485. Actions: Crie um arquivo .lua com nome EPQ em Action/Script/ e coloque o código abaixo dentro dele. function onUse(cid, item, frompos, item2, topos) if (item.actionid ~= 15784) then -- As Estatuas que tenham essa Action não podem ser movidas. if item.itemid == 3705 then doTransformItem(item.uid, 3706) elseif item.itemid == 3706 then doTransformItem(item.uid, 3707) elseif item.itemid == 3707 then doTransformItem(item.uid, 3708) elseif item.itemid == 3708 then doTransformItem(item.uid, 3705) end else doSendMagicEffect(getPlayerPosition(cid), 2) end return TRUE end Em Action.xml adicione essa tag. <action itemid="3705-3708" event="script" value="EPQ.lua"/> Nas estátuas da esquerda, coloque nelas ActionID: 15784 Crie um arquivo .lua com nome EPQUm em Action/Script/ e coloque o código abaixo dentro dele. (Configurações estão no início do Script) -- Config. local config = { toPos = {x = 998, y = 985, z = 7}, -- Posição da Sala da recompensa. Pos = {x = 999, y = 994, z = 7}, -- Posição onde será criado o Teleport. tp = {x = 999, y = 994, z = 7}, -- Posição que o Teleport apareceu, para que ele seja removido. tempo = 5, -- Tempo que o Teleport ficará disponível, em segundos } local posA = { -- Estátuas que ficam na posição esquerda {x = 997, y = 993, z = 7, stackpos= 1}, -- Fogo {x = 995, y = 994, z = 7, stackpos= 1}, -- Pedra {x = 994, y = 996, z = 7, stackpos= 1}, -- Dark {x = 994, y = 998, z = 7, stackpos= 1}, -- Terra {x = 995, y = 1000, z = 7, stackpos= 1}, -- Gelo {x = 997, y = 1001, z = 7, stackpos= 1}, -- Poison -- Estátuas que ficam na posição direita {x = 1001, y = 993, z = 7, stackpos= 1}, -- Gelo {x = 1003, y = 994, z = 7, stackpos= 1}, -- Poison {x = 1004, y = 996, z = 7, stackpos= 1}, -- Pedra {x = 1004, y = 998, z = 7, stackpos= 1}, -- Fogo {x = 1003, y = 1000, z = 7, stackpos= 1}, -- Dark {x = 1001, y = 1001, z = 7, stackpos= 1}, -- Terra } -- Fim da Config. function onUse(cid, item, frompos, item2, topos) local posC = { [1] = getThingfromPos(posA[1]), [2] = getThingfromPos(posA[10]), [3] = getThingfromPos(posA[2]), [4] = getThingfromPos(posA[9]), [5] = getThingfromPos(posA[3]), [6] = getThingfromPos(posA[11]), [7] = getThingfromPos(posA[4]), [8] = getThingfromPos(posA[12]), [9] = getThingfromPos(posA[5]), [10] = getThingfromPos(posA[7]), [11] = getThingfromPos(posA[6]), [12] = getThingfromPos(posA[8]), } if getPlayerStorageValue(cid, 10000) == -1 then if posC[1].itemid == posC[2].itemid and posC[3].itemid == posC[4].itemid and posC[5].itemid == posC[6].itemid and posC[7].itemid == posC[8].itemid and posC[9].itemid == posC[10].itemid and posC[11].itemid == posC[12].itemid then doSendMagicEffect(getPlayerPosition(cid), 14) setPlayerStorageValue(cid, 10000, 1) setPlayerStorageValue(cid, 10001, 1) addEvent(CombCerta, 1000, cid) else doSendMagicEffect(getPlayerPosition(cid), 13) setPlayerStorageValue(cid, 10000, 1) addEvent(doSendMagicEffect, 500, posA[11], 17) addEvent(doSendMagicEffect, 500, posA[3], 17) addEvent(doSendMagicEffect, 1500, posA[9], 44) addEvent(doSendMagicEffect, 1500, posA[2], 44) addEvent(doSendMagicEffect, 2500, posA[8], 46) addEvent(doSendMagicEffect, 2500, posA[6], 46) addEvent(doSendMagicEffect, 3500, posA[12], 50) addEvent(doSendMagicEffect, 3500, posA[4], 50) addEvent(doSendMagicEffect, 4500, posA[7], 43) addEvent(doSendMagicEffect, 4500, posA[5], 43) addEvent(doSendMagicEffect, 5500, posA[10], 6) addEvent(doSendMagicEffect, 5500, posA[1], 6) addEvent(doSendMagicEffect, 6500, getPlayerPosition(cid), 13) addEvent(setPlayerStorageValue, 6502, cid, 10000, -1) end else doSendMagicEffect(getThingPos(cid), 2) end return TRUE end function CombCerta(cid) local posC = { [1] = getThingfromPos(posA[1]), [2] = getThingfromPos(posA[10]), [3] = getThingfromPos(posA[2]), [4] = getThingfromPos(posA[9]), [5] = getThingfromPos(posA[3]), [6] = getThingfromPos(posA[11]), [7] = getThingfromPos(posA[4]), [8] = getThingfromPos(posA[12]), [9] = getThingfromPos(posA[5]), [10] = getThingfromPos(posA[7]), [11] = getThingfromPos(posA[6]), [12] = getThingfromPos(posA[8]), } if getPlayerStorageValue(cid, 10001) == 1 then doTransformItem(posC[1].uid, 3705) doSendMagicEffect(posA[1], 14) doTransformItem(posC[10].uid, 3705) doSendMagicEffect(posA[7], 14) addEvent(CombCerta, 1000, cid) setPlayerStorageValue(cid, 10001, -1) setPlayerStorageValue(cid, 10001, 2) elseif getPlayerStorageValue(cid, 10001) == 2 then doTransformItem(posC[3].uid, 3705) doSendMagicEffect(posA[2], 14) doTransformItem(posC[12].uid, 3705) doSendMagicEffect(posA[8], 14) addEvent(CombCerta, 1000, cid) setPlayerStorageValue(cid, 10001, -2) setPlayerStorageValue(cid, 10001, 3) elseif getPlayerStorageValue(cid, 10001) == 3 then doTransformItem(posC[5].uid, 3706) doSendMagicEffect(posA[3], 14) doTransformItem(posC[4].uid, 3708) doSendMagicEffect(posA[9], 14) addEvent(CombCerta, 1000, cid) setPlayerStorageValue(cid, 10001, -3) setPlayerStorageValue(cid, 10001, 4) elseif getPlayerStorageValue(cid, 10001) == 4 then doTransformItem(posC[7].uid, 3706) doSendMagicEffect(posA[4], 14) doTransformItem(posC[2].uid, 3708) doSendMagicEffect(posA[10], 14) addEvent(CombCerta, 1000, cid) setPlayerStorageValue(cid, 10001, -4) setPlayerStorageValue(cid, 10001, 5) elseif getPlayerStorageValue(cid, 10001) == 5 then doTransformItem(posC[9].uid, 3707) doSendMagicEffect(posA[5], 14) doTransformItem(posC[6].uid, 3707) doSendMagicEffect(posA[11], 14) addEvent(CombCerta, 1000, cid) setPlayerStorageValue(cid, 10001, -5) setPlayerStorageValue(cid, 10001, 6) elseif getPlayerStorageValue(cid, 10001) == 6 then doTransformItem(posC[11].uid, 3707) doSendMagicEffect(posA[6], 14) doTransformItem(posC[8].uid, 3707) doSendMagicEffect(posA[12], 14) addEvent(CombCerta, 1000, cid) setPlayerStorageValue(cid, 10001, -6) setPlayerStorageValue(cid, 10001, 7) elseif getPlayerStorageValue(cid, 10001) == 7 then for _, pos in ipairs(posA) do doSendDistanceShoot(pos, config.Pos, 35) end doSendMagicEffect(config.Pos, 10) doCreateTeleport(1387, config.toPos, config.Pos) doCreatureSay(cid, "O teleport irá sumir em "..config.tempo.." segundos.", TALKTYPE_ORANGE_1) addEvent(removetp, config.tempo*1000, cid) end end function removetp(cid) for _, ale in ipairs(posA) do local st = getThingfromPos(ale).uid doTransformItem(st, math.random(3705, 3708)) end local t = getTileItemById(config.Pos, 1387) doRemoveItem(t.uid, 1) doSendMagicEffect(config.Pos, CONST_ME_POFF) setPlayerStorageValue(cid, 10000, -1) end Em Action.xml adicione essa tag. <action actionid="8798" event="script" value="EPQUm.lua" /> As estátuas precisam estar nesse formato circular para que o efeito das animações possam acontecer corretamente. Vídeo: https://www.youtube.com/watch?v=kBVUf_ejmLs&feature=youtu.be Download OTServ para demonstração da Quest: CLIQUE AQUI
  22. 1 ponto
    Bom para quem não sabe como funciona o script,é uma marcação que fica no minimap(in-game) que ao deixar o ponteiro do mouse em cima aparece uma descrição,pode ser mudado tanto a descrição quanto o icone que aparece no minimap. • Adicionando o script • Em "data/creaturescripts/creaturescripts.xml" adicione está tag : <event type="think" name="IconMap" event="script" value="iconmap.lua"/> Em "data/creaturescripts/scripts" crie um arquivo lua chamado "iconmap" e cole isso dentro : local config = { storage = 030220122041, version = 1, marks = { {mark = 5, pos = {x = 1095, y = 1062, z = 7}, desc = "Temple."}, {mark = 4, pos = {x = 895, y = 996, z = 7}, desc = "Depot."} } } local f_addMark = doPlayerAddMapMark if(not f_addMark) then f_addMark = doAddMapMark end function onThink(cid, interval) if(isPlayer(cid) ~= TRUE or getPlayerStorageValue(cid, config.storage) == config.version) then return end for _, m in pairs(config.marks) do f_addMark(cid, m.pos, m.mark, m.desc ~= nil and m.desc or "") end setPlayerStorageValue(cid, config.storage, config.version) return TRUE end Em "data/creaturescripts/scripts/login.lua" adicione está tag no fim do script : registerCreatureEvent(cid, "IconMap") Caso use TFS 1.0 use este register no login.lua : player:registerEvent(cid, "IconMap") Creditos : Comedinhas. - ViitinG pelo tutorial. • Configurando • • Icones •
  23. TFS by OrochiElf

    Ryukiimaru reagiu a Orochi Elf por uma resposta no tópico

    1 ponto
    Bom galera, eu estou repostando um tópico que eu criei a um tempo atrás repostando um TFS que eu editei e tirei uns bugs, pra ficar limpo para vocês usarem como um servidor base. Versão - Sourcers: 0.3.6pl1 - Protocolo: 8.54 ChangeLog - Adicionado AutoStack. - Adicionado função (doPlayerSetSkill(cid, skillId, value)) - Adicionado função (doPlayerSetMagLevel(cid, value)) - Adicionado função (doPlayerSendChannelDialog(cid)) - Fixado quais quer erros. Scan Como eu estou repostando o servidor, eu achei o link do scan que eu tinha feito na época que postei. OBS: Os virus detectados são do próprio TFS (Dll's) https://www.virustotal.com/pt/file/b03ab7fe42138243262a1920fe89c11c1f92a397c51fae0e3ef4b38955a27cc7/analysis/1366158244/ Download http://www.mediafire.com/download/dbd5aa4xm6uux6u/Tfs+OrochiElf+1.0.rar
  24. [Tutorial] Mana Rune.

    Luis Matheus reagiu a xFatality por uma resposta no tópico

    1 ponto
    É, todos conhecem a "Mana Rune", então nem tenho muito o que fala... Então vamos lá.. A Imagem da Runa que será a "Mana Rune" está no spoiler abaixo. 1° Passo ! 2° Passo ! <rune name="Mana Rune" id="2281" allowfaruse="1" charges="10" lvl="0" maglv="4" exhaustion="1200" aggressive="0" needtarget="1" blocktype="solid" script="healing/manarune.lua"/> 3° Passo ! <item fromid="2275" toid="2285" article="a" name="spell rune"> <attribute key="weight" value="120" /> </item> Item FromID 2275 - ToID 2285, ou seja, da ID 2275 à ID 2285 todos os items serão chamados de "spell rune" como está na tag. P- Certo, então como procurá-la então? R- Simples... basta você procurar pelo nome do item, ou seja, procure por "spell rune". Nessa parte tem um porém... você tem que verificar se não há uma tag que comprometa a nova tag que será adicionada. P- Como assim? R- Simples, como no exemplo que usei acima, ele renomeia as runas de ID 2275 à 2285, ou seja, a "2281" que é a Runa na qual iremos editar já está sendo nomeada. Usando este exemplo (que é fictício) vamos fazer o seguinte, ao invés de deixar renomeando até a 2285, você edita para renomear até a 2280 já que iremos usar a "2281". Para o exemplo que citei acima, ficará assim: <item fromid="2275" toid="2280" article="a" name="spell rune"> <attribute key="weight" value="120" /> </item> Certo, agora você adiciona a tag da runa abaixo do código que foi alterado. A tag da "Mana Rune" é a que está abaixo: <item id="2281" article="a" name="Mana Rune"> <attribute key="weight" value="120" /> <attribute key="charges" value="100" /> </item> Após feito isso, para as runas restantes não ficarem sem nome (runas de ID 2282, 2283, 2284 e 2285, no nosso exemplo), adicione o código abaixo renomeando-as. <item fromid="2282" toid="2285" article="a" name="spell rune"> <attribute key="weight" value="120" /> </item> Vale lembrar que para cada caso, as ID's vão está diferente. Se você leu o tutorial pela opção "não conseguiu encontrar a "ID da RUNA"" você acaba por aqui. Apague o que está codificado e adicione o código abaixo em seu lugar. <item id="2281" article="a" name="Mana Rune"> <attribute key="weight" value="120" /> <attribute key="charges" value="100" /> </item> O Tutorial foi esse,espero que tenham gostado. Creditos - Adriano SwaTT. Obrigado, Abraços.
  25. [PERDIDO] NTO Global

    acido reagiu a Kmdsp Server por uma resposta no tópico

    1 ponto
    Galera queria um nto estilo NTO Global, com varias vocações principalmente Hidan Só fã dele... nesse cito muito disso Por favor Dou REP+ Cliente + Server.
  26. (Resolvido)Como deixar o ot Liso sem lags?

    Keidann reagiu a Matheusjpp por uma resposta no tópico

    1 ponto
    basta paga um dedicado bom que garanto que NAO havera lags Quer 1 empresa boa? vamos la. weblara.com.br Suporte 100% alem disso Apois voçe compra 1 dedicado voçe ganha seu servidor pronto 8.6 ou 10:53 com site .. linux sem bugs Aproveite isso Nao é todas empresa que oferece isso Lembrando servidor 8.54 + Aconselho comprar DEDICADO e Nao VPS .. Vps foi feito para site ou um jogo leve.
  27. (Resolvido)Net Compartilhada.

    Caronte reagiu a Adriano SwaTT por uma resposta no tópico

    1 ponto
    Caronte, vê se isso te ajuda. http://www.speedtouch.com.br/td5130/aqvtd5130/manuais/Configura%C3%A7%C3%A3o_Encaminhamento_Porta.pdf Boa sorte.
  28. (Resolvido)Net Compartilhada.

    Caronte reagiu a Augusto por uma resposta no tópico

    1 ponto
    As portas são as utilizadas pelo otserv, 7171/7172 Elas são as mesmas tanto publicas como as privadas, pela seguinte lógica: Quando o seu roteador receber uma conexão na porta publica 7171, ele vai encaminhar a mesma pro computador X na porta privada 7171 também, que será onde esta rodando o otserv.
  29. 1 ponto
    O valeu mano, po sou iniciante o pouco que sei mesmo errando tento ajudar!
  30. RETIRAR Tela selecionar outfit primeiro login

    SomeBody reagiu a Frenesy por uma resposta no tópico

    1 ponto
    Isso fica tudo no login meu chapa. Abra seu Login.lua que fica em creaturescript/script e procure por isso: doPlayerSendOutfitWindow(cid) basta deletar ele.
  31. 1 ponto
    login.lua só apagar isso str = str .. " Please choose your outfit." doPlayerSendOutfitWindow(cid)
  32. [AJUDA] Codeblocks / OTClient

    maikons reagiu a Fir3element por uma resposta no tópico

    1 ponto
    blza tem erro n, a única coisa q tem q fazer é colocar as libs/includes na pasta do visual, qualquer duvida me manda mp ou posta aqui
  33. ERRO AO COMPLIAR OTSERVER NO LINUX 14.10

    Alanray reagiu a Enzo Caue por uma resposta no tópico

    1 ponto
    Desativa a optimização de db no config.lua E também está dizendo que você não tem um vocations.xml.
  34. 1 ponto
    sempre rodei tfs1.0, no ubuntu 14.04 ... 14.10 ... então não tem essa de não é compatível. falta um pouco entender inglês de sua parte Alanray ou até mesmo tentar traduzir. root@alan-S3420GP:~/otserv# mkdir build && cd build mkdir: é impossível criar o diretório “build”: Arquivo existe root@alan-S3420GP:~/otserv# cmake .. CMake Error: The source directory "/root" does not appear to contain CMakeLists.txt. Specify --help for usage, or press the help button on the CMake GUI. é impossível criar o diretório “build”: Arquivo existe ... <-- Já tem recomendo deletar ... The source directory "/root" does not appear to contain CMakeLists.txt. <-- o Arquivo CMakeLists.txt não está onde deveria ... tente ler isso > http://askubuntu.com/questions/527665/undefined-reference-to-symbol-expglibc-2-2-5< pode acabar sendo a solução.
  35. qué dev?

    maikons reagiu a Fir3element por uma resposta no tópico

    1 ponto
    http://www.tibiaking.com/forum/topic/33548-dev-c-compilando-tfs-no-windows/
  36. [AJUDA] Codeblocks / OTClient

    oliverarrow reagiu a Fir3element por uma resposta no tópico

    1 ponto
    tenta achar isso aqui:
  37. Windows ou Linux

    thiagobji reagiu a matheusbrito180 por uma resposta no tópico

    1 ponto
    Cara 100% bota a cara eu recomendo a ovh.pt Muito barato, o linux e o bixo meu mapa carregava em 90 segundos no windows ja no linux 20s. Primeira vez que usei me apaixonei !
  38. 1 ponto
    Eae Felipe ==' Vamos la . Noticias ,e shop voçe mesmo criar pelo site s Basta entra na sua database em sua conta e coloca acess page 6 Logo Apois isso basta voçe loga no seu site logo em baixo estara administrador . Nao eentendeu ? entra no facebook
  39. Windows ou Linux

    thiagobji reagiu a Flavio S. Cabral por uma resposta no tópico

    1 ponto
    Linux é 100x melhor que o ruimdowns, não preciso nem entrar em detalhes basta jogar no google e irá ver o que estou falando ... aqui no fórum existe bastante tutoriais, que ensinam compilar e instalar tudo certinho, mas se mesmo assim tu se sente inseguro de migrar pro linux, como tu pediu tem a MONEY DEDICADOS , que da suporte na instalação, confirmo isso pois trabalho/ajudo na área de suporte lá, então qualquer coisa ou dúvida só me procurar.
  40. Windows ou Linux

    thiagobji reagiu a tddf1995 por uma resposta no tópico

    1 ponto
    Vai na fé cara, linux não é nenhum bicho de 7 cabeças, o problema é que é tudo por linha de comando, então é bom ver antes de fazer besteira, só se liga em baixar as libs certinhas e seguir as linhas de comando que tem em vários tutoriais por aí
  41. Pyrus OT, 1.5

    Trick07 reagiu a CarlosHenrique7457 por uma resposta no tópico

    1 ponto
    Trick07 Me manda tv pelo Private e eu arrumo pra vc rapidao.
  42. Faz o seguinte: acima de: local levels = ta[(getPlayerStorageValue(cid, 862281) + 1)] coloca: print(getPlayerStorageValue(cid, 862281)) E envia o que for imprimido na distro. Ah, também coloca isso: if getPlayerStorageValue(cid, 86228) == 1 then return doPlayerSendTextMessage(cid, 27, "[Clan] Você nao tem Clan!") end acima disso: if param == "" then return doPlayerSendTextMessage(cid, 19, "[Clan] Digita o Numero ex: !rankclan 1!") end
  43. [Ajuda] Hospedagem e bug nas spells de heal

    DrayStorm reagiu a Danihcv por uma resposta no tópico

    1 ponto
    Amigo, o titulo do topico estava inadequado. Nas próximas vezes utilize titulos que descrevam bem sobre o que o tópico se trata.
  44. 1 ponto
    top eu não gosto de Nto por que sempre mesma coisa nunca muda nada mais ta ficando legal boa sorte com projeto
  45. 1 ponto
    Bom eu criei essas duas funções para usar no meu OT, elas forçam o uso do cooldown do sistema do tibia, você pode usa lo mesmo que não tenha executado nenhuma spell. por exemplo: player:addCooldown(87, 10000) sendo 87 o código da spell, ou seja a imagem que ira aparecer no cooldown, lembrando que estas imagens podem ser editadas no tibia.pic. E 10000 o tempo do cooldown, lembrando a cada 1000 equivale a 1 segundo. resultado: e a função get ele retorna true ou false, para caso o cooldown estiver sendo executado: player:getCooldown(87) Vamos la. em luascript.cpp procure por: registerMethod("Player", "getMoney", LuaScriptInterface::luaPlayerGetMoney); registerMethod("Player", "addMoney", LuaScriptInterface::luaPlayerAddMoney); registerMethod("Player", "removeMoney", LuaScriptInterface::luaPlayerRemoveMoney); e logo depois dessas linhas de códigos adicione: registerMethod("Player", "addCooldown", LuaScriptInterface::luaPlayerAddCooldown); registerMethod("Player", "getCooldown", LuaScriptInterface::luaPlayerGetCooldown); ainda em luascript.cpp procure por: int32_t LuaScriptInterface::luaPlayerRemoveMoney(lua_State* L) e após a ultima linha desta função adicione: int32_t LuaScriptInterface::luaPlayerAddCooldown(lua_State* L) { // player:addCooldown(spellid, cooldown) Player* player = getUserdata<Player>(L, 1); if (player) { uint8_t spellId = getNumber<uint8_t>(L, 2); uint32_t cooldown = getNumber<uint32_t>(L, 3); Condition* condition = Condition::createCondition(CONDITIONID_DEFAULT, CONDITION_SPELLCOOLDOWN, cooldown, 0, false, spellId); player->addCondition(condition); pushBoolean(L, true); } else { lua_pushnil(L); } return 1; } int32_t LuaScriptInterface::luaPlayerGetCooldown(lua_State* L) { // player:getCooldown(spellid) Player* player = getUserdata<Player>(L, 1); if (!player) { lua_pushnil(L); return 1; } uint32_t spellid = getNumber<uint32_t>(L, 2); if (player->hasCondition(CONDITION_SPELLCOOLDOWN, spellid)) { pushBoolean(L, true); } else { pushBoolean(L, false); } return 1; } agora em luascript.h procure por: static int32_t luaPlayerGetMoney(lua_State* L); static int32_t luaPlayerAddMoney(lua_State* L); static int32_t luaPlayerRemoveMoney(lua_State* L); e logo após estes código adicione: static int32_t luaPlayerAddCooldown(lua_State* L); static int32_t luaPlayerGetCooldown(lua_State* L); depois é só compilar e usar !
  46. [PEDIDO] NTO PANZER OU NTO UNITED

    Magnus Drone Tibia reagiu a ViitinG por uma resposta no tópico

    1 ponto
    O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTServ → Downloads → Servidores Derivados" Para: "OTServ → Suporte OTServ → Suporte de Servidores Derivados"
  47. @Minatonamikazzee você reviveu um tópico de 2013 amigo,da uma olhada na data de criação do mesmo antes de comentar amigo ! Leia as regras do fórum : http://www.tibiaking.com/forum/forum/23-regras-do-forum/
  48. 1 ponto
    Opa boa iniciativa!...
  49. :D como retirar o lvl sistema do poketibia?

    Silveira reagiu a danieuu por uma resposta no tópico

    1 ponto
    Ele está falando que quando summona o pokemon usando /s ex; /s charizard Ao invés de o pokémon vier com level e tudo seus respectivos ataque, defesa, força, etc... Ele vem um pokémon sem level sistema ou seja muito fraco comparado com os que tem level sistema do server! Já falei para ele que é só pegar e capturar os pokémons ¬¬ e se quer matar use /attr health -1000000 Caso não queira ficar tendo trabalho para capturar o pokémon use /cb ex: /cb charizard Bom eu prefiro com level sistema
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo