Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. [ACTION] Campainha V2 - funções extras

    Coul e 3 outros reagiu a biel.stocco por uma resposta no tópico

    4 pontos
    Olá pessoal! Vi o tutorial sobre addEvent do Killua e decidi colocar em prática.. Então fiz esse sistema de campaínha para treino e decidi compartilhar com vocês que tanto me ajudam com sistemas e dívidas! É um sistema bem simples e fácil de configurar, mesmo assim gostaria de criticas(construtivas) e sugestões uehue Numa noite sombria e fora do normal, Jubileu decide visitar seu amigo Alfredo para conversar sobre recentes acontecimentos estranhos na cidade. Ao chegar na casa de seu amigo ele toca a campaínha e.. Não pode ser, o que é aquilo que se aproxima?! um zumbi?! SOCORRO ALFREEEDOOO! - grita Jubileu,desesperado. AEHUEAHEAUH V2- TOCAR CAMPAÍNHA COM CHANCE DE APARECER MONSTRO/MENSAGEM/GANHAR ITEM V1- Tocar campaínha Aqui é a função do exaust.. (cid, 23000000) - cid é para o exaust se aplicar ao player que apertou a campaínha, e 23000000 é a storage que salva o exaust exhaustion.set(cid, 23000000, 4) cid e 23000000 identico ao de cima.. 4 é o tempo em segundos de exaust return doPlayerSendCancel(cid, "Campaínha já foi tocada, espere: " ..exhaustion.get(cid, 23000000). - se o player ainda estive com exaust, aparecerá a mensagem"Campaínha já foi tocada, espere: " e os segundos que falta para poder usar novamente Se checar a storage 23000000 que equivale a 4 segundos e ela estiver vazia, o sistema acontece e adiciona o tempo de 4 segundos na storage. Se a storage 23000000 não estiver vazia, aparece aquela mensagem para o player. ps: as três storages são 23000000, se mudar uma, mude as três! local time = 1 doSendMagicEffect(frompos,18) doSendAnimatedText(frompos,"Tindon",107) addEvent(doSendAnimatedText, time*1000, frompos,"Tindon", 107) É isso pessoal, meu primeiro script postado e é bem simples ueheu Se possível, indiquem-me algo para treinar pois tenho grande interesse na área de scripts! Um grande mega salve ao @Caronte, pq além da ajuda no script, ainda salvou esse meu lindo primeiro tópico uaehaeuh falar o que desse manin que mal conheço e já considero pakas? *aplausos Caronte, Salvando tópicos desde 1997
  2. Fala galera do TibiaKing, beleza? Nesse tópico irei deixar downloads de vários Pokémons, Pokémons Megas, Shiny Megas e outros, como diz no título. Sempre que der eu irei atualizar esse tópico, então fiquem de olho! Sem mais enrolações: Mega Sceptile: Créditos: - Alguém, pela sprite; - Eu, por recortar e trazer pra cá. Shiny Mega Slowbro: Créditos: - Alguém, pela sprite normal; - Eu, por fazer a forma shinie. Shiny Mega Charizard Y: Créditos: - Alguém, pela sprite normal; - Eu, por fazer a forma shinie. Shiny Mega Sableye: Créditos: - Alguém, pela sprite normal; - Eu, por fazer a forma shinie. Gostou e baixou? REP+
  3. [ACTION] Redbull

    Kluivert e 2 outros reagiu a biel.stocco por uma resposta no tópico

    3 pontos
    Olá pessoal! Tinha um script de redbull aqui mas estava dando uns problemas, então refiz outro com ajuda do food.lua e do tutorial de addEvent do Killua, então como necessidade e como treino fiz e assim como meu treino da campaínha(link no final do tópico) eu decidi compartilhar com vcs para receber sugestões e quem sabe ajudar alguém (: O script é o seguinte: O player usa um item consumível(em meu caso, ID 2672) e então diminui sua fome e heala o player(aparece em quanto satisfez/healou), aumenta sua velocidade em X por Y tempo.. apelidei de redbull pq sacomé, redbull te dá asaas aehau 1°- Vá em data/actions e abra seu actions.xml, adicione essa linha antes do final do arquivo: <action itemid="2672" event="script" value="redbull.lua"/> ps: final do arquivo é o </actions> 2°- Vá em data/actions/scripts e crie um novo arquivo com a extensão lua chamado redbull.lua, cole o código dentro e salve: --REDBULL SYSTEM by: Gabriel Stocco-- local limite = 2500 -- Limite para o player ficar de estômago cheio(deixe igual seu food.lua encontrado em data/actions/scripts) local food = {[2672] = {120}} -- [ID] do item usável(igual na tag acrescentada no actions.xml) = {Quantia que vai satisfazer o player} local speedup = 550 -- Valor que aumentará a speed do player(se sua speed base for 300, ao usar o item ficará 850) local time = 4 -- Tempo que vai ficar com a velocidade alterada, após o tempo volta ao normal function onUse(cid, item, fromPosition, itemEx, toPosition) if exhaustion.check(cid, 23007) == false then exhaustion.set(cid, 23007, 10) else return doPlayerSendCancel(cid, "Beba outro em: " ..exhaustion.get(cid, 23007).."segundos.") end if(food[item.itemid] ~= nil) then if(getPlayerFood(cid) + food[item.itemid][1]) >= limite then doPlayerSendCancel(cid, "Você está cheio.") else doPlayerFeed(cid, food[item.itemid][1] /2.7) doRemoveItem(item.uid, 1) doSendMagicEffect(getCreaturePosition(cid), 25) doSendAnimatedText(getCreaturePosition(cid), "REDBUUUULL", TEXTCOLOR_BLUE) doCreatureAddHealth(cid, 0+ food[item.itemid][1]) doChangeSpeed(cid, speedup) addEvent(doChangeSpeed, time*1000,cid, -speedup) end end end Pronto, sistema instalado! 3°- Configurando o script: local limite = 2500 -- Limite para o player ficar de estômago cheio(deixe igual seu food.lua encontrado em data/actions/scripts) local food = {[2672] = {120}} -- [ID] do item usável(igual na tag acrescentada no actions.xml) = {Quantia que vai satisfazer e healar o player} local speedup = 550 -- Valor que aumentará a speed do player(se sua speed base for 300, ao usar o item ficará 850) local time = 4 -- Tempo que vai ficar com a velocidade alterada, após o tempo volta ao normal doSendAnimatedText(getCreaturePosition(cid), "REDBUUUULL", TEXTCOLOR_BLUE) Entre aspas " ... " , pode mudar o texto que deseja aparecer ao usar o item, e em TEXTCOLOR_BLUE muda a cor do texto(pode usar de números entre 0 a 215) É isso pessoal, tudo explicadinho.. grato pela atenção e esperando sugestões! Desde já, agradeço ao @Caronte que irá avaliar (:
  4. forceSetStorageValue(name, key, value)

    Milbradt e 2 outros reagiu a Wise por uma resposta no tópico

    3 pontos
    Serei breve enquanto a explicação. Esta função serve para "forçar" o value de uma storage key a mudar, independentemente do player estar on ou offline. Adicione o seguinte script à lib do seu servidor (data\lib): forceSetStorageValue = function (name, key, value) if not tostring(name) or not tonumber(key) then return nil end local p = getPlayerByName(name) if p then setPlayerStorageValue(p, key, value) else local have = db.storeQuery("SELECT `key` FROM `player_storage` WHERE `player_id` = ".. getPlayerGUIDByName(name) .." and `key` = ".. key) if have then db.query("UPDATE `player_storage` SET `value` = '".. value .."' WHERE `player_id` = '".. getPlayerGUIDByName(name) .."' AND `key` = ".. key) else db.query("INSERT INTO `player_storage` (`player_id` ,`key` ,`value`) VALUES ('".. getPlayerGUIDByName(name) .."', '".. key .."', '".. value .."');") end end return true end A seguir, preparei uma talkaction para o uso da função. fstorage.lua (data\talkactions\scripts): function onSay(cid, words, param) local w = string.explode(param, ",") if param == '' then return doPlayerSendCancel(cid, 'Enter the player name, the storage key and the storage value (number or string). Ex: /forcestorage Player, 1234, 5') elseif not tostring(w[1]) or not tonumber(w[2]) or not w[3] or w[4] then return doPlayerSendCancel(cid, 'Invalid parameter specified.') end forceSetStorageValue(w[1], w[2], w[3]) return true end talkactions.xml (data\talkactions): <talkaction log="yes" words="/forcestorage" access="5" event="script" value="fstorage.lua"/> (o formato da tag varia de acordo com a versão do servidor utilizado) Uso da talkaction: /forcestorage Player, key, value ~ /forcestorage Wise, 1234, 5 Enfim, na minha mente ela me parece bem eficaz. Espero que gostem.
  5. Tutorial MageBot! [Completo]

    Bielzorsz e um outro reagiu a kenbaue por uma resposta no tópico

    2 pontos
    Tutorial MageBot! Não sabe usar o MageBot? Não? Não tem problema, com este tutorial você vai aprender rapidinho! Antes disso, se você ainda não tem o MageBot, clique aqui e visite o tópico de download. Antes, vejamos uma imagem da interface do MageBot: Ok, agora vamos para a parte de Healing: Aqui temos: Light: Aqui será uma magia (de healing) usada quando você tiver com bastante life (vida). No caso, quase sempre é utilizado magias mais fracas como o "Exura", mas você pode modificar. Você pode escolher a porcentagem ao lado para que quando sua vida tiver em por exemplo "80%" ele usará a magia selecionada e também tem o MP, que se encontra ao lado da porcentagem e ali você terá que indicar o quanto de mana será usado, como o "Exura" é usado "20" de mana. Heavy: Aqui será a magia (de healing) usada quando você tiver com menos life (vida). No caso, quase sempre é utilizado magias mais fortes como o "Exura Gran" ou então até mesmo o "Exura Vita". Você pode escolher a porcentagem ao lado para que quando sua vida tiver em por exemplo "60%" ele usará a magia selecionada e também tem o MP, que se encontra ao lado da porcentagem e ali você terá que indicar o quanto de mana será usado, como o "Exura Gran" é usado "70" de mana. Mana Potion: Primeiramente você colocará a porcentagem, no caso da mana, para usar a "Potion" e depois o "tipo de potion". Health Potion: Primeiramente você colocará a porcentagem, no caso da life (vida), para usar a "Potion" e depois o "tipo de potion" ou então uma runa, como a "UH". Depois de configurar do seu jeito, aperte em "Save Settings". Passamos agora para a parte das Hotkeys, que são as teclas/botões que ativam um comando. Abaixo, qual é a função de cada hotkey: O que ta entre aspas (".") é o que você poderá modificar... Terão "idaqui" que significa que você terá que colocar o ID de tal coisa que você irá usar, ali, entre outros. Você usa o que estiver em negrito, nas barras brancas das hotkeys, como você quiser configurar. Passamos agora para a parte de CaveBot: Como fazer um script para a Cave? Bem fácil e simples, apenas clique em RECORD, que localiza-se na parte superior esquerda, depois disso, faça seu "circuito", quando finalizar o mesmo, aperte em SAVE, salve arquivo como nome.sav, onde "nome" será o nome que você quiser, exemplo o nome da cave/lugar, como você quiser e achar melhor. Existe alguns atalhos para facilitar um pouco que são o "Alt" que começa a gravar seu percurso/circuito e o "Home" que salva seu percurso/circuito. Como usar o script feito? Bom, simplesmente você terá que apertar o LOAD, escolher o arquivo nome.sav e apertar no START, para então ele começar o percurso/circuito. O que significa? Agora, passamos para o Loot Manager: Auto-Loot: Pega automaticamente o loot, que foi usado na sua lista de itens. AutoOpenCorpse: Abre automaticamente os corpos dos monstros para pegar o loot de cada um. AutoAtack: Ataca automaticamente os monstros. Refill Arrow: Coloca automaticamente, munições (para paladins) para uso. Agora, Team Server: Passamos agora para Enemy Target ou Heal Friend: Enemy Target: Caso você queira atacar um team inimigo, um inimigo, alguém de outfit diferente, etc.. Heal Friend: Caso você queira healar um amigo. Agora, Rune Maker: Caso você queira que seu personagem fique runando, você poderá também colocar para ele comer automaticamente e além de não deixa-lo deslogar. Passamos agora para, Specialty: Caso queira que seu personagem use uma magia automaticamente como o "Utamo Vita" ou então "Utani Hur", entre outras. Última parte é o Remote Control: Aqui você colocará o nome de algum personagem, e o mesmo receberá as mensagens que te mandarem, além disso poderá controlar o que o char deve fazer. Isso é apenas uma breve explicação, pois me recordo muito bem disso também. Peço desculpas, por não saber tudo, pois não foi eu que criei.. Espero que gostem e aproveitem. Agradeço ao fórum Tibia Brasil, tive uma ajuda de lá, na parte de Team Server!
  6. Sprites PxG, CP, MARK, Pokémons

    arley885 e um outro reagiu a LoadingGo por uma resposta no tópico

    2 pontos
    Antes De Tudo OS Créditos Ao PxG Pelas Sprites, E Para Quem Pego Elas, é a Mim Por Ter Feito o Client Então Vamos Começar, No Dat, Spr, Tem Varias Sprites De Pokémons, Corpos, CP, MARK, PVP, é Ate Mesmo Os Devidos Icon De Seus Pokémons, So Ta Faltando Outfits De Baltoy Mas o Resto Tae. Faça Com Proveito -> DAT.SPR <- -> SCAN <-
  7. [ACTION] Campainha V2 - funções extras

    biel.stocco e um outro reagiu a Caronte por uma resposta no tópico

    2 pontos
    Criativo... esse local campainha = {1473, 1475} não serve pra nada, pois você não usa... Faria sentido colocar isso caso a <TAG/> do XML, fosse uma action e dentro do script, embaixo do callback, estivesse algo como: if not isInArray(campainha, item.itemid) then return true end Assim, os IDs, que tivessem ActionID (aid), porém, não tivessem dentro da tabela, campainha, não iriam ser incluídas no script. Sobre o callback: Essas são as informações, que você dispõe do usuário do script, do item usado e do item alvo... fromPosition = posição do itemEx toPos = posição do item cid = ID da criatura que usou item = item usado itemEx = alvo do item Sobre o storage também, ele não funciona. tente usar assim: if getPlayerStorageValue(cid, 23000) - os.time() <= 0 then setPlayerStorageValue(cid, 23000, os.time() + time) else return doPlayerSendCancel(cid, "Campaínha já foi tocada, espere: " ..getPlayerStorageValue(cid, 23000) - os.time()) and true end Não exagere no espaço também, eu vi como tava antes da edição, e tava cheio de espaços, tente usar 1 só linha, ou só quando for muito necessário para a organização. sobre essa <TAG/> ela é de TFS 1.+ e você fez um script 0.4-
  8. Eae Galera do TibiaKing É o seguinte Hoje trago a vocês o Baiak Rox Editado por Min Espero que Gostem Oque eu Fiz ? | Novo Visual do Templo Totalmente ICE | Critical System | Task System | Dodge System | Run Event (CORRIDA MALUCA) | Reset System (ÁREA EXCLUSIVA COM CASTELO E HUNTS) para resetar fale !reset | Guild Frags System ( ACESSO AO PROMOTE E ITENS EXCLUSIVOS ) | 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...os-na-distro/ | PvP Balanceado Agora com mais RPG | Armas Arrumadas Para Melhor PvP | Varios Eventos Automaticos | Battle Field Event | Capture The Flag Event | City War | Adicionado CASTLE 24HORAS (COM CASTELO) e AVISOS DE INVASORES | Itens DONATES | Área DONATE ~~ (Só Entra Quem Usar o Itens de Premium Days) | Vários Novos Script | Fast Atk Arrumado | Distro 0.4 Rodando 100% ( Se For 64x Bits) | Refinamento ( Aprimora seus Equipamentos ) | Frags no Look | Npc Hero Seller (Vende Itens Exclusivos para quem tiver honor points) Obs:Consegue no GFS) | Entre Outras Coisas | SENHA DO GOD: rox/styller | Aqui Vai Umas Prints | Castelo Reset System | Nova Imagem do Templo | Área Donate | Mostra de Itens Donate + Eventos | Download | Scan | Créditos | Gostou ? Então dei um REP
  9. 1 ponto
    Um método diferente de agir. Escolhas diferentes, um projeto surpreendente, e o melhor é opensource. Sim, você pode ter acesso a este servidor que estou desenvolvendo em parceria com a Serversoft para você. Um servidor com uma mega estrutura para suportar seus jogadores online sem nenhum problema como: debug, bug de clonagem, instabilidade entre diversos outros dos servidores free's disponíveis para download nessa vasta internet tibiana. Uma inovação no ramo de OTservers, distribuindo não só a datapack como as sourcers e os sistemas, absolutamente tudo que você procura. Basta baixar, compilar... Mas eu não sei compilar. Não há problema nisso, o OTPanel da Serversoft faz tudo isso para você. Basta clicar num botão de "play" e ver a mágica acontecer. O projeto Vanaheim, foi criado com o intuito de ser inteiramente grátis para toda a comunidade. Um servidor no qual a diversão é o fator principal, um projeto com viabilidade absoluta por todos os tibianos. O projeto conta com uma área exclusiva no GitHub para que todos possam acompanhar a evolução do mesmo, dia a dia, diversas atualizações estarão disponíveis a todos. Desde uma action até uma modificação na source vocês terão acesso. O servidor conta com um mapa Global Full, quando eu digo full, quero dizer que está 99.99% do mapa completo, sem bugs entre outros. Um servidor que você escolhe a rate experience/skill que desejar, ele vai se adaptar! Você pode escolher se quer ou não que as quests tenham as missões originais 100%! E o melhor? Além do servidor estar disponível para download ele está online para quem quiser conhecer o projeto, ajudar de alguma forma e o melhor de tudo, se divertir. Venha se divertir: http://www.vanaheimglobal.com RATES Level 8 - 50: 300x Level 51 - 80: 200x Level 81 - 100: 150x Level 101 - 140: 90x Level 141 - 160: 70x Level 161 - 180: 60x Level 181 - 200: 50x Level 201 - 230: 40x Level 231 - 260: 30x Level 261 - 290: 20x Level 291 - 310: 15x Level 311 - 340: 10x Level 341 - 350: 8x Level 351 - 380: 6x Level 381 - 430: 4x Level 431 - 450: 2x Level 451+: 1x Skill: 40x Magic: 8x Loot: 3x EVENTOS Em Breve. IMAGENS Em Breve. GITHUB Para acompanhar e baixar o servidor atualizado, segue o link do nosso projeto no GitHub: DOWNLOADS Servidor Mapa Yasir Scan CRÉDITOS TFS Team Orts Project Bruno Minervino
  10. Como usar addEvent

    Gogetasaya reagiu a Killua por uma resposta no tópico

    1 ponto
    Usando addEvent O uso do addEvent tem inúmeras utilidades e pode ser complicado para algumas pessoas, inclusive era para mim quando eu estava começando a aprender LUA. Para que serve o addEvent? Para "chamar" uma função após um periodo de tempo, ou seja, executar uma função após um tempo estipulado. O addEvent tem como parâmetros: callback, delay e ... addEvent(callback, delay, ...) Onde callback é a função que será chamada, delay é o tempo (em milissegundos) até que se chame essa função e ... são os parâmetros que a função chamada utiliza. Exemplo: addEvent(doBroadcastMessage, 1000, "Bom dia", 23) Aqui, após 1 segundo (1000 ms), a função doBroadcastMessage(message, type) será executada com os parâmetros message = "Bom dia" e type = 23. O addEvent pode ser usado de duas maneiras: Chamando uma função existente ou criando uma nova função. Para chamar uma função existente, basta usar como acima, para usá-lo para criar uma nova função, usa-se assim, por exemplo: addEvent(function() if isCreature(cid) then doPlayerAddItem(cid, 2160, 10) doPlayerSendTextMessage(cid, 25, "Voce ganhou 10k.") end end, 1000) Assim é basicamente a mesma coisa, mas pude colocar várias funções dentro de um único addEvent e mantive o delay 1000 (1 segundo). Obs: Precisei usar 2 ends, um para fechar function() e outro para fechar o if. Atenção! Além disso, existe uma outra diferença entre as duas formas de uso, vou tentar explicar da melhor maneira possível: Quando usamos o addEvent com uma função já existente (1o exemplo), as informações usadas serão as geradas no momento em que o evento foi chamado, por exemplo: function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) > 10 then doPlayerSendTextMessage(cid, 25, "Uma pedra sera criada na sua posiçao dentro de 2 segundos.") addEvent(doCreateItem, 2000, 1308, 1, getThingPos(cid)) end return true end Se usarmos assim, a pedra será criada na posição onde o jogador se encontrava no momento em que "deu use" e não onde ele estará 2 segundos depois. Se você quiser que a pedra seja criada na nova posição do jogador (pos de 2 segundos depois), você deve fazer uma nova checagem, criando uma função: function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) > 10 then doPlayerSendTextMessage(cid, 25, "Uma pedra sera criada na sua posiçao dentro de 2 segundos.") addEvent(function() if isCreature(cid) then doCreateItem(1308, 1, getThingPos(cid)) end end, 2000) end return true end Atenção novamente: A checagem if isCreature(cid) que utilizei, é muito importante para um addEvent que envolva criaturas. Se você executasse o addEvent sem a checagem e o player logasse ou morresse antes desses 2 segundos se passarem, daria um erro na distro e interromperia o resto do script. Recursão Uma outra ótima funcionalidade dos addEvents é a recursão, ou seja, criar um evento que fica se repetindo. É simplesmente um addEvent chamando a sí mesmo. Para usar, crie uma função, exemplo: function respawnMonster(name, pos) if doCreateMonster(name, pos) then doBroadcastMessage(name.." nasceu!") end addEvent(respawnMonster, 10000, name, pos) end Quando chamada, esta função ficará criando um monstro e uma determinada área a cada 10 segundos, sem nunca parar. Para chamar a função, seria assim: respawnMonster("Demon", {x = 123, y = 123, z = 5}) Considerações Reloads param os addEvents. Se um script talkaction executou um addEvent programado para acontecer depois de 5 minutos e se dentro deste intervalo de tempo, você usar /reload talkactions, o addEvent será interrompido. Erros no código podem fazer o evento ser interrompido, preste sempre atenção. Se ainda ficou com alguma dúvida, poste aqui.
  11. AutoComplete e Highlight TFS para Notepad++

    unf4ced reagiu a Shawii por uma resposta no tópico

    1 ponto
    Edit: não sei se estou na sessão certa, sou novo por aqui, se não estiver por favor me mova E ae! Fazia um bom tempo que não mexia com OT scripting, então para me ajudar, fiz um autocomplete e Highlight (marca as funções com cores diferentes) das funções que achei no tópico Lista de Funções LUA Não é uma coisa que se diga "NOOOSSA QUE FODA MALUCO DO CÉU", mas pode ajudar algumas pessoas que assim como eu não estão acostumadas com o nome das funções do TFS. Parte 1 - Adicionar o Autocomplete: Para adicionar o autocomplete basta pegar esse código: - Vá até o diretório Notepad++\plugins\APIs na pasta onde foi instalado o notepad++ - Copie qualquer arquivo - Renomeie o novo arquivo para lua - Substitua seu conteúdo pelo código acima Pronto, agora é só ativar o autocomplete no notepad++ (caso ainda não esteja ativado, vem off por padrão) Com o programa aberto entre em Configurações > Preferências > Auto Completar - Marque a opção "Habilitar Auto Completar para cada entrada" - Marque a opção "Function and word completion" e PRONTO autocomplete adicionado com sucesso! Parte 2 - Adicionar o highlight (marcar as funções com cores diferentes) - Copie o conteúdo desse spoiler - Abra o notepad++ e entre em Configurações > Configurador de estilos - Observe a screenshot e acompanhe os passos: No menu Linguagem selecione a opção: LUA No menu Local do Estilo selecione a opção: FUNC1 Cole o conteúdo do spoiler no campo "Palavras chave definidas pelo usuário" que está em Branco. Altere a cor se desejar Clique em salvar & fechar e PRONTO, você adicionou cor ao seu código tornando seu dia como scripter muito mais bonito organizado e gay. Conforme eu for descobrindo o que cada função faz e seus parâmetros (obrigatórios e opcionais) vou ir documentando pra depois fazer um autocomplete com descrições das funções, quando tiver um bom conteudo nesse sentido volto a postar pra vcs, abraço!
  12. 1 ponto
    • Menu: ├ Informações; ├ Ediçoes; ├ Erros; ├ Prints; ├ Download; └ Creditos. • Informações Basicas • • Edições / Ajustes • • Erros Do Servidor • • PrintScreen • • Download's • Servidor GabrielTxu 3.2 Final version Download Servidor (4Shared): http://www.4shared.com/rar/SMZMibFB/Server_Gabrieltxu_32.html Download Client (4Shared): http://www.4shared.com/rar/3QPtxVX-/Client_GabrielTxu_32__Final_Ve.html • Creditos • Gabrieltxu Kalvin Zeref Shirou AdmAlexandre -> Por Postar No TK OBS : EU NÃO SOU O CRIADOR ENTÃO BUGS NAO É COMIGO
  13. Dedicado Server [Exp Alta - Edited]

    moodax reagiu a BielZet por uma resposta no tópico

    1 ponto
    Vamos la Turma Tudo bom ? Vim apresentar um mapa bom eles tava aparado aqui, e uma pessoa pediu para mim postar... bom vamos la! espero que gostem... recomendo deixar a EXP como está. Pois é um OT de EXP alta *mais de 60 itens feitos por mim, Donate e Free *muitas quests free (De acordo com seu LEVEL) *mais de 3 quests donates (HARD) *área donate com muitas caves Exclusivas *area free com muitas caves Exclusiva também *armas com efeitos *Templo com Visual inovador *Points System por Bau *City principal unica feita por mim *Reset System (Por estagio) *Magias novas e Editadas *!reset para saber as infos do reset *!resetar para resetar *Adicionei uma VIP Free com Áreas Exclusivas *Contem 7 novos Event's (Alguns eventos que contem no server NÃO SÃO AUTOMÁTICOS) *Monstros Editado. *Runas Para healar (MANA e LIFE) *Fast Attack Equilibrado de acordo com sua "Vocação" *área donate Entre muitas outras coisas que so vai poder ver ABAIXANDO! Templo (CITY PRINCIPAL) 2°Andar do Templo 3°Andar do Templo Teleports Free Cidade VIP (DONATE) VIP (Free) (Onde COMPRA DONATE) Quest Part 1 Quest Part 2 A VISOS IMPORTANTES (LEIA) Download Scan - Do server Creditos
  14. 1 ponto
    [Comando testado em TFS 0.4] Fala ai pessoal, estou trazendo hoje um comando pra vocês alterarem a storage do player sem precisar acessar a database. Esse comando já vem em algumas bases, mas percebi que algumas não tem e resolvi trazer pra vocês, vamos lá. Vá em "Data/talkactions/scripts" copie e cole um arquivo.lua e renomeie para storage.lua, apague tudo e cole isso: function onSay(cid, words, param) local t = string.explode(param, ",") if(not t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local tid = getPlayerByNameWildcard(t[1]) if(not tid or (isPlayerGhost(tid) and getPlayerGhostAccess(tid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. param .. " not found.") return true end if(not t[3]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, " [" .. t[1] .. " - " .. t[2] .. "] = " .. getPlayerStorageValue(tid, t[2])) else setPlayerStorageValue(tid, t[2], t[3]) end return true end Agora em "Data/talkactions" abra o arquivo talkactions.xml e adicione a TAG: <talkaction log="yes" words="/storage" access="4" event="script" value="storage.lua"/> Você pode configurar os groups que poderão usar o comando em acess="4", na tag está definido para GM + usar, caso queira apenas GOD coloque 6. Comando: /storage Wakon, 25005, 1 Em vermelho é o nome do personagem. Em verde é a storage que será alterada. Em roxo é o valor que a storage terá. É isso, qual quer dúvida ou erro é só comentar.
  15. Nome: Experiencia para Guild Função: A pedidos de um membro do forum (TioSlash). Aqui está um script que ira adicionar uma porcentagem de Experiência por jogadores online. Exemplo: Ao alcançar 5 jogadores da Guild Online, todos que estiverem online recebem 2% de xp adicional por jogador. Ou seja, um total de +10% de xp. Bom para servidores com bastante RPG, incentivando a cooperação. Atualizações: Dia 17/08/2014 Versão: Testada somente na "10.31". (OTX Server - Galaxy) Créditos: Kazuza - (eu) Por ter criado. TioSlash - Pela Ideia. Vodkart - Por ter achado a função dele que retorna os jogadores da Guild ( sem ela com meu nivel de script não teria conseguido). xWhiteWolf - Por uma ajudinha. "Pasta Servidor > Data > Creaturescripts > Scripts" crie "ExpGuild.lua". function getGuildMembersOnline(GuildId) local players,query = {},db.getResult("SELECT `name` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = " .. GuildId .. ");") if (query:getID() ~= -1) then repeat table.insert(players,query:getDataString("name")) until not query:next() query:free() end return #players > 0 and players or false end function onLogin(cid) local guild_id = getPlayerGuildId(cid) local minimo = 2 local max = 2 local porcentagem = 2 ----------------------------------------- doPlayerSetExperienceRate(cid, 1) if guild_id == 0 then addEvent(doPlayerSendTextMessage, 200,cid, MESSAGE_STATUS_CONSOLE_RED,"[GUILD] Entre em uma guild para ter bonus de experiencia.") return true end if guild_id > 0 then local membros_online = table.maxn(getGuildMembersOnline(guild_id)) local tabela_membros = getGuildMembersOnline(guild_id) --if #getPlayersByIp(getPlayerIp(cid)) >= max then --doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED,"[GUILD] Players com Multi-Cliente nao contam para ganhar o bonus de experiencia.") --return true --end if membros_online <= minimo then addEvent(doPlayerSendTextMessage, 2000, cid, MESSAGE_STATUS_CONSOLE_RED,"[GUILD] Para ter bonus de experiencia precisa ter mais de "..minimo.." jogadores da guild online.\n Jogadores da Guild Online ["..membros_online.."]") return true end if membros_online > minimo then for var = 1, #tabela_membros do local nomes = getCreatureByName(tabela_membros[var]) local XP = ((membros_online*porcentagem) / 100) + 1.00 doPlayerSetExperienceRate(nomes, XP) addEvent(doPlayerSendTextMessage,1000,nomes, MESSAGE_STATUS_CONSOLE_RED, "[GUILD] A experiencia dos membros da guilda foi aumentada para +"..membros_online*porcentagem.."% - Membro "..getCreatureName(cid).." logou.") end return true end end end "Pasta Servidor > Data > Creaturescripts > Scripts" crie "ExpGuild_out.lua". function getGuildMembersOnline(GuildId) local players = {} for _, pid in pairs(getPlayersOnline()) do if getPlayerGuildId(pid) == tonumber(GuildId) then table.insert(players, getPlayerName(pid)) end end return #players > 0 and players or false end function onLogout(cid) if getPlayerGuildId(cid) == 0 then return true else local guild_id = getPlayerGuildId(cid) local membros_online = table.maxn(getGuildMembersOnline(guild_id)) local tabela_membros = getGuildMembersOnline(guild_id) local porcentagem = 2 local minimo = 2 ----------------------------------------- for var = 1, #tabela_membros do local nomes = getCreatureByName(tabela_membros[var]) local membros_online = membros_online - 1 if membros_online <= minimo then doPlayerSetExperienceRate(nomes, 1.0) doPlayerSendTextMessage(nomes, MESSAGE_STATUS_CONSOLE_RED,"[GUILD] Nao tem mais o numero de players necessarios para ganhar o bonus de experiencia - Membro "..getCreatureName(cid).." deslogou.") end if membros_online > minimo then local XP = ((membros_online*porcentagem) / 100) + 1.00 doPlayerSetExperienceRate(nomes, XP) doPlayerSendTextMessage(nomes, MESSAGE_STATUS_CONSOLE_RED, "[GUILD] A experiencia dos membros da guilda foi ajustada para "..membros_online*porcentagem.."% - Membro "..getCreatureName(cid).." deslogou.") end end return true end end "Pasta Servidor > Data > Creaturescripts" em creaturescripts.xml adicione: <event type="login" name="ExpGuild" event="script" value="exp_guild.lua"/> <event type="logout" name="ExpGuild_out" event="script" value="exp_guild_out.lua"/> "Pasta Servidor > Data > Creaturescripts > Scripts" em login.lua adicione: Lá em baixo, onde tem registerCreatureEvent ponha esses dois: registerCreatureEvent(cid, "ExpGuild") registerCreatureEvent(cid, "ExpGuild_out") PS: Qualquer erro, postem. É muito importante. Como este é meu segundo script na vida. Pode ser que aconteça de dar erros. Eu testei pouco.
  16. [GLOBALEVENT] Tempo de jogo no seu OTServer

    Yago Blind. reagiu a Caronte por uma resposta no tópico

    1 ponto
    Testado em TFS 0.4 Olá pessoal, esse é um sistemazinho de UpTime, ele funciona assim: OBS: Coloquei interval 5000 para testar, que é 5 segundos, mas você pode alterar na TAG, que eu irei passar, onde tem o 5000, ajuste a gosto. Para instalar ele é bem simples: TFS 0.4 TFS 1.2 (Se pega 100% no 1.1 , Confirme no tópico) É isso, pessoal
  17. Adicionar/remover premium por comando!

    luanluciano93 reagiu a Wakon por uma resposta no tópico

    1 ponto
    Fala ai galera do TK, estou trazendo esse script que não encontrei no fórum e achei que fosse ser util pra alguém, então resolvi postar. Script testado em 0.4/0.3.6, provavelmente não funciona em TFS 1.x! Para saber os comandos, basta digitar a talkaction sem nenhum parâmetro e uma janela com os comandos irá abrir. Vá em "Data/talkactions/scripts" copie e cole 1 arquivo .lua, renomeie para addpremmy.lua e coloque isso: function onSay(cid, words, param) local t = string.explode(string.lower(param), ",") local call, name, day = t[1], t[2], t[3] local player, keys = getPlayerByName(name), {"add", "remove", "check"} if not isInArray(keys, call) or param == '' or name == nil then return doPlayerPopupFYI(cid,"Está com problemas?\nAprenda os comandos!\n---------------\nAdicionar premium:\n/pa ".. keys[1] ..", player, days\n/pa ".. keys[1] ..", Wakon, 30\n---------------\nRemover premium:\n/pa ".. keys[2] ..", player, days\n/pa ".. keys[2] ..", Wakon, 30\n---------------\nVer Premium:\n/pa ".. keys[3] ..", player\n/pa check, Wakon\n---------------") elseif not isPlayer(player) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador não está online ou não existe.') end if call == keys[1] then doPlayerAddPremiumDays(player, day) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Foram adicionados '.. day ..' dias de premium ao jogador '.. name ..'.') doPlayerSendTextMessage(player, MESSAGE_EVENT_ADVANCE, 'Você recebeu '.. day ..' premium days de um membro da equipe.') elseif call == keys[2] then if getPlayerPremiumDays(player) > 0 then doPlayerRemovePremiumDays(player, day) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Foram removidos '.. day ..' dias de premium do jogador '.. name ..'.') else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Esse jogador não possui nenhum dia de premium.') end elseif call == keys[3] then if isPremium(player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador '.. name ..' tem '.. getPlayerPremiumDays(player) ..' dias de premium.') else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador '..name ..' é free account.') end end return true end Em "Data/talkactions", abra o arquivo talkactions.xml e coloque essa tag: <talkaction log="yes" words="/pa" access="5" event="script" value="addpremmy.lua" /> Créditos: Wakon
  18. [Tutorial] RedBot

    Face da Morte reagiu a Arthur por uma resposta no tópico

    1 ponto
    Então galera, afim de ajudar vocês a acostumarem com o RedBot, resolvi fazer esse tutorial de como usa-lo. Vamos ao tutorial: RedBot Tools O RedBot funciona com hotkeys, então sempre que for mandar ele usar uma magia pra você terá que ter essa magia em suas hotkeys. Essa parte é baseada nisso. Nessa parte foi implantada na ultimo update (3.3.8) novas abas na parte inferior da opção Tools. Uma delas é a Trainers que funciona da seguinte maneira: Slime Trainer: - Get Mother Slime: Dê follow na slime "Mãe"(A que sumona os outros slimes) e aperte o botão, caso tudo dÊ certo você verá a mensagem de "Mother slime: OK", caso contrário uma mensagem de erro aparecerá te dizendo o que fazer. - Attack All Slimes: Irá atacar TODOS slimes (menos a mãe é claro), para ser usado por paladinos que querem atacar os Slimes que estejam longe de você e não só a 1 SQM, deixe desmarcado se quizer atacar somente o Slime "colado" em seu character. - Mother Killed Alert: Caso a Slime Mãe seja morta irá soar o alarme. - Trainer Disabled/Enabled: Ativa/Desativa o Slime Trainer Player/Monster Trainer: - Range: Quantos SQM's o Player/Monstro deve estar(da sua posição) para ser atacado. 1 SQM só atacará ao seu redor. - Start %: Qual a porcentagem para começar/voltar a atacar o Player/Monstro. - Stop %: Qual a porcentagem para parar de atacar o Player/Monstro. - Add: Adiciona o nome do Player/Monstro digitado por você, os nomes têm de estar escritos como aparece no Tibia. Para treinar com Monk adicione "Monk" as as " ", Ghoul, Gargoyle ou o nome do player desejado, vai de acordo com o seu treino. - Del: Remove o nome selecionado da lista. - Disable/Enable: Desativa/Ativa o Player/Monster Trainer. Items Refill - Equip Item: Equipa o Item escolhido se ele for menor que a quantidade colocada. Pegará itens que estão em Backpacks ao chão também. - Eat All Foods: Irá comer o primeiro food encontrado em suas Backpacks abertas, mesmo que essa BP esteja no chão com os foods dentro. Cavebot Nessa parte você vai configurar seu cavebot, em outras palavras, seus waypoints. Não irei me aprofundar muito nessa parte por enquanto. Assim que aprender a fazer os refillers eu editarei o tutorial com essas partes. Por enquanto vou esclarecer uma dúvida que poderá ser frequente, como configurar as escadas: Pra quem ainda não entendeu como configurar pra subir e descer escadas: Para configurar um depositer: Targeting Para configurar o Targeting você deverá preencher todos os campos. Coloque os nomes dos monstros que você vai achar no seu waypoint. No "HP Range" deixe como está. Em "Spell/Rune" coloque a hotkey da runa ou magia que você quer usar no que você selecionar. Em "Mode" escolha "Chase" se você quer que ele ataque o mostro ao ver ele na tela, e Stand se você quer esperar ele chegar até você. Attack, Balanced e Defense é o jeito que ele vai atacar o bixo, no Full attack, Balanced ou Full defense respectivamente. E por ultimo, Diagonal é se você quer que ele ataque o monstro na diagonal. Após configurar essas partes, clique em "Add" para adicionar o mostro na sua lista de Target, e depois clica em Desabled (Depois que você clicar vai ficar Enabled). Looting Para configurar seu loot primeiro deverá colocar o nome no campo "Item Name", depois escolher a BP que o loot vai entrar, começando do 0 e não do 1, como nos outros bots. Depois adicionar o ID do item, e clicar em "Add". Marque a caixa "Open Next BP" se deseja que ele abra a proxima BP dentro da BP já aberta (Bom para lootiar gold). Marque a caixa "Eat Monsters Food" se deseja que ele coma o food do monstro ao abri-lo. No final de tudo, clique em Looting Desabled. Alarms Imagem auto explicativa. Treinando com Slime Para treinar com slimes com o RedBot é bem simples. Siga a imagem: Basta você deixar a slime mãe com pouca vida e ativar o Targeting com as configurações acima. ------------------------------------------------------------ Começando a brincar com esse bot fiz um wpt em Rook. Dê uma olhada nesse tópico para mais informações. Então galera, por enquanto é basicamente isso. Tô aprendendo ainda, e a medida que for pegando as manhas vou editando aqui. Fiquem atentos.
  19. [ACTION] Simple Pet System

    lucas1 reagiu a Luquinha por uma resposta no tópico

    1 ponto
    Simple Pet System Saudações galerinha, bão? Tive uma ideia bem simples e vim trazer para vocês, é um PET para ele te ajudar nas batalhas. Instalação Vá em data/actions/scripts, copie algum arquivo da pasta e cole, renomeie para simple_pet e adicione isso dentro: Muito bem, agora sigamos para actions.xml e adicione essa tag: <action itemid="11256;11207;11144;9019" event="script" value="simple_pet.lua"/> Configuração Nesta parte do código: local dolls = { [11256] = {pet = "Crystal Spider"}, [11207] = {pet = "Ashmunrah"}, [11144] = {pet = "Demon"}, [9019] = {pet = "Vampire"}, } Oque está entre [ e ] nós colocamos os Item ID dos items que vão chamar o PET. Já entre { e } aonde está entre aspas, colocamos o nome do PET. E na tag do actions.xml adicionamos estes MESMOS Item Ids, separando-os por ; ficando: <action itemid="ID;ID;ID;ID" event="script" value="simple_pet.lua"/> @edit - pet ir até você Para o PET teleportar para você quando subir escadas, ou ficar muito longe, vá em config.lua e procure por: teleportPlayerSummons Se estiver false coloque true, se estiver "no", coloque "yes" Demonstração Finalizações Obrigado pela atenção galera, espero que tenham gostado, e qualquer dúvida tentarei ajudar vocêis
  20. [Pedido] Sistema Tokens

    Wend II reagiu a FlamesAdmin por uma resposta no tópico

    1 ponto
    @LoadingGO No meu server eu fiz 3 maquinas, exemplo: Devoted token, 1 maquina ; Mighty Token, outra maquina e assim vai. Ai tu coloca no map editor uma sinalizaçao para o player ir na maquina com o token que ele tiver.
  21. (Resolvido)[OTC] IP Fixo

    Bualeq reagiu a Wend II por uma resposta no tópico

    1 ponto
    Todos entergame.lua vem igual cara, então o tópico que o snowsz passou funciona sim teste assim:
  22. [ACTION] Redbull

    luanluciano93 reagiu a elton123 por uma resposta no tópico

    1 ponto
    o seu código esta bom só tem que deixar seu código identado exemplo -- exemplo você escolhe quantos espaços quer da no seu codigo aqui vou usar 6 espaços function a(b) if x == x then -- aqui ta 0 espaço como é if ganha 6 de espaço ficando 6 if x == x then -- aqui ta 6 como é if ganha +6 ficando 12 if x == x then -- aqui ta 12 como é if ganha +6 ficando 18 elseif y==y then -- como aqui elseif fica no mesmo rumo do ultimo if else tbm é assim end -- como aqui é end retire 6 end -- como aqui é end retire 6 end -- como aqui é end retire 6 end -- resume é só deixa uns espaços if fica na mesma reta do end e doo else ou elseif na linha vertical -- agora uso de pular linha só uso quando uso end na functions e pulo linha no começo antes da function cara é assim mesmo que aprende pegando código de um script e tentando usar em outro eu garanto que você vai aprender muito mais praticando do que lendo quando fica lendo você vai pensa que é uma coisa do outro mundo tudo estranho mais quando você começa praticar você aprende muito mais com os seus erros e dps quando for ler vai achar tão simples que você vai ate rir atoa kkkkkkkk
  23. [Download] Shiny Mega Sableye

    LockwoodTM reagiu a Lockwood por uma resposta no tópico

    1 ponto
    Fala galera do TibiaKing, beleza? Hoje, vim disponibilizar pra vocês a sprite do Shiny Mega Sableye. Abaixo, a imagem e um vídeo (divido em duas partes) de como foi o processo de criação da sprite. Imagem: Vídeo: Gostou e baixou? REP+ Créditos: - Alguém, pela sprite normal; - Eu, por fazer a forma shinie.
  24. [Download] Shiny Mega Slowbro

    LockwoodTM reagiu a Lockwood por uma resposta no tópico

    1 ponto
    Fala galera do TK, beleza? Hoje vou disponibilizar pra vocês a sprite do Shiny Mega Slowbro, como diz no título. Abaixo a imagem: Imagem: P.S.: Infelizmente o corpse e o portrait eu ainda não fiz. Gostou e baixou? REP+ Créditos: - Alguém, pela sprite normal; - Eu, por fazer a forma shinie.
  25. [TFS 1.x] /addplayersonline item, quantidade

    Slaake reagiu a Flavio S por uma resposta no tópico

    1 ponto
    Script simples mas pode ser útil, para os ot admin. data/talkactions/scripts addplayersonline.lua : function onSay(player, words, param) if not player:getGroup():getAccess() then return true end if player:getAccountType() < ACCOUNT_TYPE_GOD then return false end local v = param:split(",") if #v ~= 2 then player:sendCancelMessage("Insufficient parameters.") return false end local item, count = tonumber(v[1]), tonumber(v[2]) for _, pid in pairs(Game.getPlayers()) do pid:addItem(item, count) end broadcastMessage("A equipe acaba de mandar "..count.." "..ItemType(item):getName().." para todos os player online!", MESSAGE_STATUS_WARNING) return false end tag.XML : <talkaction words="/addplayersonline" separator=" " script="addplayersonline.lua" />
  26. (Resolvido)[OTC] IP Fixo

    Bualeq reagiu a Snowsz por uma resposta no tópico

    1 ponto
    Pesquise antes de criar um tópico. http://www.tibiaking.com/forum/topic/33835-pronto-para-usar-otc/
  27. (Resolvido)Npc do Destino

    Admnwso reagiu a elton123 por uma resposta no tópico

    1 ponto
    eu tinha imaginado que as salas seria fechadas sem poder desloga dps eles seria tele... seria assim -- config elton123 local npc_destino = { msg = "vc quer que eu escolha o seu destino", -- frase do npc tempo = 10, --em segundos destino_final = {x=160, y=54, z=8}, area = { x = {152,164}, -- posição x as duas pontas horizontal a direita e a esquerda y = {47,54}, -- posição y as duas pontas vertical de cima e de baixo z = {7}, }, salas = { {{x=160, y=54, z=7},sala_msg ="espere eu vou teletransportar você para sala 1"}, {{x=160, y=55, z=7},sala_msg ="espere eu vou teletransportar você para sala 2"}, }, } -- config elton123 local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'destino') then selfSay(npc_destino.msg, cid) talkState[talkUser] = 1 elseif (msgcontains(msg,'no') and talkState[talkUser] == 1) then selfSay("bye", cid) talkState[talkUser] = 0 elseif (msgcontains(msg,'yes') and talkState[talkUser] == 1) then local do_destino = math.random(1,#npc_destino.salas) selfSay(npc_destino.salas[do_destino].sala_msg, cid) doCreatureSetNoMove(cid,true) addEvent(doTeleportThing,5000,cid,npc_destino.salas[do_destino][1]) addEvent(doCreatureSetNoMove,4999,cid,false) addEvent(destinoFinal,npc_destino.tempo*1000,cid,npc_destino.destino_final) talkState[talkUser] = 0 end end function destinoFinal (cid,fim) for xx = npc_destino.area.x[1] , npc_destino.area.x[2] do for yy = npc_destino.area.y[1] , npc_destino.area.y[2] do local floor1 = getTopCreature({x=xx,y=yy,z=npc_destino.area.z[1]}).uid if floor1 > 0 and isPlayer(floor1) then doTeleportThing(cid,fim) end end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) só editar essa parte area = { x = {152,164}, -- posição x as duas pontas horizontal a direita e a esquerda y = {47,54}, -- posição y as duas pontas vertical de cima e de baixo z = {7}, },
  28. Tópico aprovado e movido, obrigado pela contribuição. Caso alguém se sinta assediado, por favor, reclamar no tópico !
  29. [HELP] RME 2.2 8.54 , Poketibia.

    Bob Sponge reagiu a victormatheus por uma resposta no tópico

    1 ponto
    como assim ?
  30. Duvida sobre HOST (VPS)

    gbik reagiu a Snowsz por uma resposta no tópico

    1 ponto
    Te garanto que 4youstart.com é a melhor, to usando e não sinto lag.
  31. Naruto,Sasuke e Kakashi The Last

    falldudu reagiu a Yugami por uma resposta no tópico

    1 ponto
    bom é +- esses dias tava sem nada pra fazer,ai ouvi fala sobre o filme do Naruto The Last,ai vi um Nto com umas Spriters e vi que por enquanto éra o Unico com as Spriters ai eu quis fazer pelo menos 1s 3 Spriters do filme,mas como eu n so Spriter ou coisa do tipo não fico Bunita né...,mas queria ouvi a Opnião do Povo do TK,não fis ela do 0 mas editei augumas coisas só. como o cabelo a roupa...
  32. (Resolvido)HELP Mega Stone !

    Wend II reagiu a FlamesAdmin por uma resposta no tópico

    1 ponto
    Deve faça igual no client;.
  33. [HELP] RME 2.2 8.54 , Poketibia.

    Bob Sponge reagiu a victormatheus por uma resposta no tópico

    1 ponto
    abra seu rme vá em preferences>client version>version 8.54 search patch>browse> pasta 8.54 (seu servidor) local da sua .dat e .spr se não for tente colocar tambem o .dat e .spr na pasta 8.54 do seu rme
  34. [AJUDA] Tornar item agrupavel

    rodiasitj reagiu a Wend II por uma resposta no tópico

    1 ponto
    recomendo esse ItemEditor, uso ele aqui e nunca deu erro > https://github.com/o...ases/tag/v0.3.4 1° abra o item editor e clique em ctrl+p 2° marque a caixinha extender (só se seu client esstiver extendido) 3° clique em browse e indique o caminho para seu client 4° vá em file e depois em open e indique o caminho do seu items.otb que está na pasta data/items do seu servidor depois que abrir aperte ctrl+f e procure pelo ID do item que você quer deixa agrupavel, pronto quando achar vai ter uma caixinha para você marcar com o nome Stackaple como na imagem depois que marca só salva o items.otb e pronto ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Mais também tem que editar o tibia.dat como o amigo abaixo falou , thanks ~~ recomendo usar o object builder pra editar o tibia.dat > https://www.dropbox.com/s/ye43g8q9rzst4ru/ObjectBuilder0.3.4.air 1° abra e clique ctrl+o , abrindo a nova janela clique em browse e indique o caminho onde está localizado o dat e spr do seu client depois só clicar em load procure pelo item que vai se torna agrupavel e aperte duas vezes em cima dele , irar abrir uma aba no meio do programa ai você clica em propertiers desça ate no final e procure pela opção Stackaple e marque ela. Quando marcar a opção desejada só clicar em save logo abaixo um pouquinho pra salvar as edições e depois aperta ctrl+s pra salva as alterações no dar e spr do client
  35. 1 ponto
    Altere na parte deles: wildHunter = {
  36. (Resolvido)NPCs de bless [um rep por cada]

    luccagomes reagiu a Wakon por uma resposta no tópico

    1 ponto
    Fiz o script com as configurações que você deve alterar, basta criar 5 NPC's alterando as configurações. Em "Data/npc/scripts", copie e cole um arquivo.LUA e renomeie para nome_desejado.lua, apague tudo e cole: local t = { palavras = {"bless", "first", "first bless"}, -- Palavras chaves para começar o dialogo. bless = 1, -- Numero da bless {1 a 5}. level = 50, -- Level necessário. price = 10000 -- Preço da bless. } local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid msg = msg:lower(); if isInArray(t.palavras, msg) then if getPlayerBlessing(cid, t.bless) == false then if getPlayerLevel(cid) >= t.level then selfSay("Você deseja receber a benção The Spiritual Shielding por ".. t.price .." golds coins?", cid) talkState[talkUser] = 1 else selfSay("Você precisa ser level ".. t.level .. " para receber esta benção.", cid) end else selfSay("Você já tem essa benção.", cid) end elseif msgcontains(msg, "yes") then if talkState[talkUser] == 1 then if doPlayerRemoveMoney(cid, t.price) then selfSay("Você recebeu a benção The Spiritual Shielding.", cid) doPlayerAddBlessing(cid, t.bless) talkState[talkUser] = 0 else selfSay("Você não tem ".. t.price .." golds coins.", cid) talkState[talkUser] = 0 end end elseif msgcontains(msg, "no") then if talkState[talkUser] == 1 then selfSay("Ok...", cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Em "Data/npc", copie e cole um arquivo.XML e renomeie para nome_desejado.xml, apague tudo e cole: <?xml version="1.0" encoding="UTF-8"?> <npc name="NOME_DO_NPC" script="data/npc/scripts/nome_desejado.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="131" head="22" body="22" legs="22" feet="57" addons="0"/> <parameters> <parameter key="message_greet" value="Bem-vindo, |PLAYERNAME|."/> <parameter key="message_farewell" value="Até mais |PLAYERNAME|!"/> </parameters> </npc> No XML não se esqueça de alterar o nome do script em script="data/npc/scripts/nome_desejado.lua".
  37. (Resolvido)Adaptar script de ring pra amulet

    luccagomes reagiu a Wakon por uma resposta no tópico

    1 ponto
    Testa ai:
  38. 1 ponto
    Basta editar em Wild Trainers.lua na pasta lib, e no arquivo.lua de cada NPC na pasta npcs.
  39. Olá garoto, Tenho 2 bases aqui, que possa te interessar... Pokezot 2.3 ou Pokezot 2.4 vc quem sabe oque vai usar. Caso queira Alguma Me adicione no Skype: tataboy67 (Meu nome estará como luis, e a foto de 1 kyurem) +Rep. OBs: Ah e eu ja vou comentar que, presiso de 1 pessoa pra hostear 1 mapa aqui (Zot) Caso queira também pode entrar em contato comigo...
  40. 1 ponto
    Seu conteúdo foi aprovado. O tópico foi movido para seção correta e você ganhou 1 REP, pela contribuição.
  41. Sistema Elevador

    henrique157 reagiu a MarceLoko por uma resposta no tópico

    1 ponto
    Bom dia!! Trago um sistema de elevador como presente pelo ano que se iniciará! Use The Forgotten Server 0.3.6 crying damson. Se uma boa alma adaptá-lo a TFS 1.0, agradecerei e incluirei ao post! Crie no mapa um local assim: Não importa a quantidade de andares, só importa que deve partir do térreo z=7, e não deve ser feito no subterrâneo. Crie um arquivo talkactions/scripts/elevador.lua function onSay(cid, words, param, channel) pos = getPlayerPosition(cid) pos.stackpos = 0 floor_id = getThingfromPos(pos).itemid z = (pos.z - 7) * -1 -- verifica se está no piso do elevador if floor_id == 417 and getPlayerStorageValue(cid,42000)==-1 then -- verifica se existe o parametro numero do andar, se não existir termina o codigo if (not isNumber(param)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o numero do andar.") return false end numeroDeAndares = tonumber(param) - z -- teleporte a andares superiores if numeroDeAndares > 0 then new_pos = {x=pos.x,y=pos.y,z=pos.z-numeroDeAndares,stackpos=0} if getThingfromPos(new_pos).itemid == 416 then doSendAnimatedText(pos, "SUBINDO!!!", 180) setPlayerStorageValue(cid,42000,1) for i=1, numeroDeAndares do addEvent(doTeleportThing,500*i,cid, {x=pos.x,y=pos.y,z=pos.z-i}, true) end addEvent(checkAndar,500,cid,param) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Andar invalido.") return false end -- teleporte a andar inferiores elseif numeroDeAndares < 0 then setPlayerStorageValue(cid,42000,1) doSendAnimatedText(pos, "DESCENDO!!!", 180) for i=1, numeroDeAndares*-1 do addEvent(doTeleportThing,500*i,cid, {x=pos.x,y=pos.y,z=pos.z+i}, true) end addEvent(checkAndar,500,cid,param) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce esta neste andar.") return false end elseif floor_id ~= 417 then doCreatureSay(cid, words .." ".. param) end return true end function checkAndar(cid, param) pos = getPlayerPosition(cid) z = (pos.z - 7) * -1 if tonumber(param) == z then doSendMagicEffect({x=pos.x,y=pos.y,z=pos.z}, CONST_ME_TELEPORT) doSendAnimatedText({x=pos.x,y=pos.y,z=pos.z}, "Andar "..tonumber(param), 180) setPlayerStorageValue(cid,42000,-1) else addEvent(checkAndar,500,cid,param) end end Adicione em talkactions/talkactions.xml a linha: No arquivo actions/scripts/others/doors.lua Substitua a linha 16 por: Pronto! É só entrar no piso do elevador e dizer: andar X X = o numero do andar, sendo 0 = térreo Peço sugestões de melhoria do código! Espero que seja útil a alguém! Abraço, feliz ano novo a todos!
  42. [Talkaction] Prender

    lucas1 reagiu a leonardobo por uma resposta no tópico

    1 ponto
    A pedido de um carinha do fórum no PM eu decidi fazer o script. Como Funciona: http://youtu.be/08o9uoM6bQA Em data/talkactions/scripts crie um arquivo chamado prisiontp.lua e adicione o seguinte código: --[[ By leonardobo Diretamente para o Tibia King. http://www.tibiaking.com/forum/index ]]-- function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Precisa de um nome Exemplo: !prender Joao") return true end local tid = cid if(param ~= '') then tid = getPlayerByNameWildcard(param) if(not tid or (isPlayerGhost(tid) and getPlayerGhostAccess(tid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. param .. " nao encontrado.") return true end end pos = {x=1017, y=1034, z=7} -- POSIÇÃO AONDE SERA TELEPORTADO. if(doTeleportThing(tid, pos, true) and not isPlayerGhost(tid)) then doSendMagicEffect(pos, CONST_ME_TELEPORT) if tid then doPlayerSendTextMessage(tid, MESSAGE_STATUS_WARNING, "Voce foi preso !") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce prendeu ".. getPlayerName(tid) ..". ") end end return true end Em data/talkactions/scripts crie um arquivo chamado liberartp.lua e adicione o seguinte código: --[[ By Enself = leonardobo Diretamente para o Tibia King. http://www.tibiaking.com/forum/index ]]-- function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Precisa de um nome Exemplo: !liberar Joao") return true end local tid = cid if(param ~= '') then tid = getPlayerByNameWildcard(param) if(not tid or (isPlayerGhost(tid) and getPlayerGhostAccess(tid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. param .. " nao encontrado.") return true end end local pos = getPlayerTown(tid) if(doTeleportThing(tid, getTownTemplePosition(pos), true) and not isPlayerGhost(tid)) then if tid then doPlayerSendTextMessage(tid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce foi liberado !") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce liberou ".. getPlayerName(tid) ..". ") end end return true end Em data/talkactions em talkactions.xml adicione as seguintes tags: <talkaction log="yes" words="/prender" access="5" event="script" value="prisiontp.lua"/> <talkaction log="yes" words="/liberar" access="5" event="script" value="liberartp.lua.lua"/> Para configurar a posição, é no script prisiontp.lua, que no caso seria a sua prisão, o centro dela ou sei la. {x=1017, y=1034, z=7} Bom galera é o meu primeiro script, postado evidentemente e o meu primeiro vídeo, aceito criticas construtivas, Abraços.
  43. Naruto,Sasuke e Kakashi The Last

    warleykina reagiu a .HuRRiKaNe por uma resposta no tópico

    1 ponto
    Quer virar spriter no meu servidor? rs
  44. Naruto Sprites

    Banjo reagiu a kbelin por uma resposta no tópico

    1 ponto
    @Eratsu Sim, tem sprites do Shinobi Online, mas tem algumas novas. @Wingardium Kkkk, tem um creeper sim @Flinkton De nada @Alanmtd1 O Server não tenho como disponibilizar, mas se adicionar ao seu já existente narutibia, poderá dar uma cara nova ao server, uma cara bem melhor que aqueles bonecos anões que costumam ser encontrados em narutibias. Se gostaram, dêem um Rep+, fico muito feliz com Rep+ Façam um bom proveito meus caros.
  45. 1 ponto
    Não entedi muito bem vc quer cria um novo spell para poketibia? explica melhor que eu posso ajudar.
  46. Mapa para FireStorm Event

    Orientalz reagiu a Cat por uma resposta no tópico

    1 ponto
    Aqui está: https://www.mediafire.com/?et969x1z966ec8d
  47. não consigo tirar spell

    eunaosei123 reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    as vezes a spell pode estar em mods.. abre a pasta do server\mods\customspells.xml
  48. (Resolvido) Erro Gesior ACC

    joaopedrodepaiva reagiu a gpedro por uma resposta no tópico

    1 ponto
    Vá em C:\xampp\php, abra o arquivo php.ini procure por error_reporting o que tiver lá, mude para após isso, reinicie o apache.
  49. [Resolvido] Atributos em Itens

    Zauster reagiu a Guilherme. por uma resposta no tópico

    1 ponto
    Aqui uma lista dos atributos, suas funções e os slots, créditos à Antiemoxlr;
  50. Crack sem as potions!

    Face da Morte reagiu a Guilherme. por uma resposta no tópico

    1 ponto
    Esta é a maneira mais simples e mais segura de crackear o seu TibiaBot NG de qualquer versão, porém as potions não irão funcionar, o uso deste creack é muito simples, vamos ao download e a um breve tutorial. Crack Sem Potions (TibiaBots.net).rar Link Mirror Como Crackear: Instale normalmente o TibiaBot NG e baixe o Crack sem potions. Copie o loader.exe e cole na pasta onde você instalou o TibiaBot NG (Normalmente em C:/Arquivos de Programas/TibiaBot NG) Execute o key.reg e clique em "Sim" e logo após em "OK". O Cracker não funcionou? Provavelmente é um erro no registro do TibiaBot NG, basta você usar o Trial Reset e refazer os procedimentos! Crack Sem Potions (TibiaBots.net).rar
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo