Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. [PEDIDO] Ot serve de dbo :3

    Liberlim e um outro reagiu a Junior Nonato por uma resposta no tópico

    2 pontos
    Ola galera vim fazer um pedido de um server dbo estou querendo trabalhar com ele diferente de qual for a versão :3 BY ; JUNIOR NONATO
  2. [PEDIDO] Ot serve de dbo :3

    Liberlim e um outro reagiu a Junior Nonato por uma resposta no tópico

    2 pontos
    Amigo Infelizmente o link ta quebrado !!
  3. Precisando de Ferramentas

    Liberlim e um outro reagiu a Junior Nonato por uma resposta no tópico

    2 pontos
    @up
  4. 1 ponto
    Olá KingTibianos A pedido de um membro, vou postar um tutorial de como criar um NPC. Explicando detalhadamente. Primeiramente, cada npc se encontra em data/npcs no seu ot. Vou postar aqui como exemplo um NPC que venda algumas coisas: <?xml version="1.0" encoding="UTF-8"?> <npc name="Paul" script="default.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="129" head="57" body="86" legs="0" feet="114" addons="2"/> <parameters> <parameter key="module_shop" value="1"/> <parameter key="shop_sellable" value="crossbow,2455,150;bow,2456,130"/> <parameter key="shop_buyable" value="crossbow,2455,360;bow,2456,200;spear,2389,10;royal spear,7378,25;assassin star,7368,200;power bolt,2547,30;bolt,2543,3;arrow,2544,2;"/> </parameters> </npc> Explicando: <?xml version="1.0" encoding="UTF-8"?> Especifica o tipo de linguagem usada no script. Não altere. npc name = Nome do NPC script = Endereço do Script. Default é o padrão. walkinterval = O intervalo de tempo em que o NPC anda. floorchange = Se ele "troca de chão", ou seja se ele se movimenta. healthnow = Tanto de vida que o Npc está no momento. Geralmente modificado em caso de "quests" específicas. max = O tanto de vida máximo dele. Este deve ser maior que o healthnow. looktype = Roupa usada, você pode ver as roupas no arquivo: data/XML/outfits.xml head, body, legs, feet = A cor da roupa, eu não tenho agora, mas vou provicenciar o pack das cores. addon = Se usa algum addon. 1 para o 1°, 2 para o 2°, 3 para os dois. <parameters> = Define que abaixo começará uma série de códigos parâmetros. module_shop = Módulo, usado. No caso aqui, é shop.. compras/vendas. shop_sellable = Define o que o NPC lhe oferece para vender. value = Determina as Id's, Nomes e Preços. crossbow,2455,150; = Primeiro "crossbow" nome que aparecerá na janela de "venda" do NPC, ID do item, Preço do Item; shop_buyable = Define o que o NPC irá lhe oferece para comprar Como colocar no RME Map Editor (Atual usado): 1° Abra o RME, juntamente ao seu mapa. 2° Clique em File>Import>Importar Monsters/NPC 3° Clique no arquivo XML acima criado 4° De um F5 para garantir o aparecimento do NPC 5° Vá em Window e selecione Terrain Palette caso ainda não tenha feito isso. 6° Vá em Creature, no canto esquero onde tem um option Terrain Palette. 7° Selecione abaixo em creatures, NPCS. 8° Clique lá embaixo, em spawns e crie uma área de circulamento do NPC no seu Mapa. 9° Clique no nome do seu NPC, e coloque-o no mapa. 10° Salve o Mapa! Pronto!! Pronto, seu NPC criado, e desenvolvido. Em breve o tutorial de Mapping, criando uma área para seu NPC! Bem detalhado! Caso tenha gostado, +REP Ou ao menos comente sobre o Post! Abraços!
  5. 1 ponto
    Olá pessoal, para quem não sabe esse script dá determinado item, quantidade / bank / addon / mount em determinado level. Crie um arquivo com o nome recompensa.lua em creaturescripts/scripts e coloque isso dentro: local table = { -- [level] = type = "item", id = {ITEM_ID, QUANTIDADE}, msg = "MENSAGEM"}, -- [level] = type = "bank", id = {QUANTIDADE, 0}, msg = "MENSAGEM"}, -- [level] = type = "addon", id = {ID_ADDON_FEMALE, ID_ADDON_MALE}, msg = "MENSAGEM"}, -- [level] = type = "mount", id = {ID_MOUNT, 0}, msg = "MENSAGEM"}, [20] = {type = "item", id = {2160, 2}, msg = "Voce ganhou 2 crystal coins por alcancar o level 20!"}, [30] = {type = "bank", id = {20000, 0}, msg = "Foi depositado em seu bank 20000 gold coints!"}, [40] = {type = "addon", id = {136, 128}, msg = "Voce ganhou o addon citizen full por alcancar o level 40!"}, [60] = {type = "mount", id = {2, 0}, msg = "Voce ganhou a montaria x!"}, } local storage = 15000 function onAdvance(player, skill, oldLevel, newLevel) if skill ~= SKILL_LEVEL or newLevel <= oldLevel then return true end for level, _ in pairs(table) do if newLevel >= level and player:getStorageValue(storage) < level then if table[level].type == "item" then player:addItem(table[level].id[1], table[level].id[2]) elseif table[level].type == "bank" then player:setBankBalance(player:getBankBalance() + table[level].id[1]) elseif table[level].type == "addon" then player:addOutfitAddon(table[level].id[1], 3) player:addOutfitAddon(table[level].id[2], 3) elseif table[level].type == "mount" then player:addMount(table[level].id[1]) else return false end player:sendTextMessage(MESSAGE_EVENT_ADVANCE, table[level].msg) player:setStorageValue(storage, level) end end player:save() return true end E em creaturescripts.xml adcione a tag: <event type="advance" name="Recompensa" script="recompensa.lua"/> Caso queira colocar outro basta colocar usar os exemplos que coloquei como comentário (--) e adicionar a linha inteira novamente ... Dúvidas postem aqui! Abraços
  6. ItemEditor

    Show X reagiu a EdMignari por uma resposta no tópico

    1 ponto
    ItemEditor é o programa usado para criar novos itens no lado do servidor. Adicionado: Nova lista de itens mostrando a aparência. Ferramenta para procurar um id. Novas teclas de atalho. Barra de ferramentas. Visualização dos valores originais se estiverem modificados. Pause o mouse sobre um valor quando estiver em vermelho. Visualização dos ids correspondentes nas aparências candidatas. Pause o mouse sobre uma das imagens. Criação ou duplicação de itens sem precisar atualizar a lista de exibição. Abre os arquivos do cliente com quaisquer nomes. Recarregar apenas um item. Clique com o direito do mouse em um item na lista de exibição. Criar um novo arquivo OTB. Suporte para clientes estendidos. Melhorias no layout. Corrigidos: Caixas de texto para valores numéricos não permitem mais inserção de letras. Salva somente se o otb for completamente carregado, evitando sobrescrever o original por um arquivo em branco. Bug exibido quando os arquivos do cliente não são encontrados. Abrindo um arquivo OTB: Configure o cliente no menu File > Preferences ou atalho Ctrl+P. Abra o arquivo items.otb no menu File > Open ou atalho Ctrl+O. Para adicionar um novo item, vá ao menu Edit > Create Item ou use o atalho Ctrl+I. Para duplicar um item já existente, selecione o item que deseja duplicar, vá ao menu Edit > Duplicate Item. Você também pode clicar com o direito do mouse sobre o item na lista de exibição ou usar a tecla de atalho Ctrl+D. Download: ItemEditor GitHub Créditos: EdMignari Projeto OTItemEditor [email protected]
  7. Otitemeditor

    ArielZeRah reagiu a Bruno Carvalho por uma resposta no tópico

    1 ponto
    Olá, Venho aqui trazer a vocês o novo otitemeditor, Como todos sabem ele é aquele que edita os itens e atualiza de acordo com a versão... Novidades: - Suporte de 8.5 até a versão 10.71 (novo) - Suporte para 8.1 (novo) - Comparação de itens arrumada - Open Source - Suporte para windows 8.1 - Nome dos items no market - Walk Stacking button Imagens: Download: Otitemeditor para até o tibia 10.71 otitemeditor.rar Source Outras versões: Tutorial: 1) Descompacte o arquivo zip (por exemplo C:\Arquivos de Programas\otitemeditor) 2) Localize a pasta Tibia geralmente é C:\Arquivos de Programas\Tibia\ 3) Copie o tibia.dat e tibia.spr para C:\Arquivos de Programas\otitemeditor\data 4) Crie uma pasta com o numero da versão que você quer editar e coloque os arquivos .dat e .spr nela. Ex: 1035/comedinha.dat Se você abrir um OTB e você obterá um erro que não poderia encontrar o arquivo, isso significa que OTB foi criado com uma versão de cliente diferente. Assim, para abrir o OTB você precisa baixar a versão que está pedindo (TibiaKing Clients) e copiar o tibia.dat e tibia.spr (passo 4). Creditos: SimOne - Criador do programa Talaturen - Principal dono do projeto Comedinha (Eu) - Tópico, compilação e novidades Tryller - Lib 10.10 Outros - Contribuir com fixes de bugs e atualizações. Observação: Encontrei pessoas copiando meu otitemeditor e postando em outros fórums sem créditos, se repetir ele será deletado e o projeto será fechado. Dica: As versões do comedinha editor funcionam para as versões 8.5 até a dita nas descrições de download, recomendamos baixar a mais recente para aproveitar de todos os recursos.
  8. 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
  9. Presente Diario (8.6x)

    Cain Jorge reagiu a 9k22 por uma resposta no tópico

    1 ponto
    Nome: Present Tipo de arquivo: Npc Versão: 8.6x Bem pessoal, estava demorando para postar esse npc maravilhoso de uma ídeia genial que eu tive e será; maravilhosamente útil para vocês (creio eu). Oque ele faz? O NPC usa a função "string.sub(os.date()". Abra a pasta data/npc/scripts/ e crie um documento de texto .lua com o nome present e cole isso: 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 ---------------- config msg ------------------ local frase1 = 'Present' -- (Player) -- Oque o player ira dizer para o npc -- local frase2 = 'Presente' -- (Player) -- Oque o player ira dizer para o npc² -- local frase3 = 'Você quer o presente agora?'-- Npc) -- voce quer agora? -- local frase4 = 'yes' -- (Player) -- yes -- local frase5 = 'Me desculpe! Você já ganhou hoje.' -- (Npc) -- voce ja ganhou por hj -- local frase6 = 'Obrigado, volte sempre' -- (Npc) -- aqui esta e seja feliz -- local frase7 = 'no' -- (Player) -- nao -- local frase8 = 'ok, poderas pegar mais tarde' -- (Npc) -- ok entao pega mais tarde -- local storage = 3333 -- storage que define o dia nao mexa a nao ser que saiba ps: use uma storage que nao esteja sendo usada =D-- local itemid = 7702 -- Present Diary -- ---------------------------------------------- if (msgcontains(msg, frase1) or msgcontains(msg, frase2)) and getPlayerStorageValue(cid, storage) == tonumber(string.sub(os.date(),4,5)) then selfSay(frase5, cid) elseif(msgcontains(msg, frase1) or msgcontains(msg, frase2)) then selfSay(frase3, cid) talkState[talkUser] = 1 elseif(msgcontains(msg, frase4) and talkState[talkUser] == 1) then selfSay(frase6, cid) setPlayerStorageValue(cid, storage, tonumber(string.sub(os.date(),4,5))) doPlayerAddItem(cid, itemid) talkState[talkUser] = 0 elseif(msgcontains(msg, frase7) and isInArray({1}, talkState[talkUser]) == TRUE) then talkState[talkUser] = 0 selfSay(frase8, cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Nem preciso ensinar como configurar né? Agora em data/npc/ crie um arquivo .xml e renomeie para present, abra-o e adicione: <?xml version="1.0" encoding="UTF-8"?> <npc name="Fiscal da presenca" script="Present.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="17" body="54" legs="114" feet="0" addons="3"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|, I am a Present diary! Say {present} to receive your gift today."/> </parameters> </npc> EDIT: O item 7702 que está no script, é um item que eu fiz que dar ao player muitos outros items, como uma bousa de items, que ao clicar, dar items Random entre 1 a 15... Você poderá colocar o ID que quiser, também poderá pegar minha ideia se preferir... Caso gostaria de por esse script na pagina do seu gesior ta aqui. Para adicionar, va até Htdocs ou www/ e crie um arquivo .php com o nome Present e adicione isso: <HTML> <HEAD> <TITLE> <?php $main_content .= ' <h1><center><b>Presen&ccedil;a Di&aacute;ria<h1></center></b> <table width="100%" cellspacing=1 cellpadding=4 border="0"> <tr bgcolor="'.$config['site']['vdarkborder'].'"> <th align="left">Legenda</th> </tr> <tr bgcolor="'.$config['site']['darkborder'].'"> <td align="left" valign="top"> <ul> <li> <strong> Você terá a oportunidade de participar da Missão de Presença Diária obtida com a NPC Fiscal de Presença, ganhando recompensas diárias. São dez tipos de recompensas, então se programe para não perder nenhum dia do evento em busca da recompensa máxima! </strong> </li> <br> <li> <strong> Essa é uma missão especial que fica disponível temporariamente de tempos em tempos. Basta já ter alcançado no mínimo o nível 200 para poder participar. Você pode repetir a missão diariamente e acumular prêmios.</td> </strong> </li> </ul> </tr> </table> <br> <table width="100%" cellspacing=1 cellpadding=4 border="0"> <tr bgcolor="'.$config['site']['vdarkborder'].'"> <th width="100%">Como participar?</th> </tr> </table> <table cellspacing=1 cellpadding=4 width="100%" border="0"> <tr bgcolor="'.$config['site']['darkborder'].'" align="center"> <td width="100%" align="center"><strong>Primeiro, você precisa falar com o NPC Fiscal de Presença localizado próximo ao "NPC DE RINGS" na cidade principal de Draconia para pegar a Missão. Lembrando que você só pode pegar essa Missão uma vez por dia.</strong></td> </tr> </table> <br> <table width="100%" cellspacing=1 cellpadding=4 border="0"> <tr bgcolor="'.$config['site']['vdarkborder'].'"> <th width="100%">E qual é essa recompensa?</th> </tr> </table> <table cellspacing=1 cellpadding=4 width="100%" border="0"> <tr bgcolor="'.$config['site']['darkborder'].'" align="center"> <td width="100%" align="center"><strong>Todo dia que você completar a Missão, vai receber um pacote de itens. Abaixo listarei os items disponiveis possiveis de dropar no "presencia diaria".</strong></td> </tr> </table> <br> <table width="100%" cellspacing=1 cellpadding=4 border="0"> <tr bgcolor="'.$config['site']['vdarkborder'].'"> <th width="33%">Item</th> <th width="33%">Chance de droop</th> </tr> </table> <table cellspacing=1 cellpadding=4 width="100%" border="0"> <tr bgcolor="'.$config['site']['darkborder'].'" align="center"> <td width="33%" align="center"><strong>100k</strong></td> <td width="33%"><strong>10%</strong></td> </tr> <tr bgcolor="'.$config['site']['lightborder'].'" align="center"> <td width="33%"><strong>Magic Plate Armor</strong></td> <td width="33%"><strong>10%</strong></td> </tr> <tr bgcolor="'.$config['site']['darkborder'].'" align="center"> <td width="33%"><strong>Boots Of Haste</strong></td> <td width="33%"><strong>10%</strong></td> </tr> <tr bgcolor="'.$config['site']['lightborder'].'" align="center"> <td width="33%"><strong>Demon Shield</strong></td> <td width="33%"><strong>10%</strong></td> </tr> <tr bgcolor="'.$config['site']['darkborder'].'" align="center"> <td width="33%"><strong>Frozen Starlight</strong></td> <td width="33%"><strong>10%</strong></td> </tr> <tr bgcolor="'.$config['site']['lightborder'].'" align="center"> <td width="33%"><strong>Annihilation Bear</strong></td> <td width="33%"><strong>10%</strong></td> </tr> <tr bgcolor="'.$config['site']['darkborder'].'" align="center"> <td width="33%"><strong>Piece Of Draconian Steel</strong></td> <td width="33%"><strong>10%</strong></td> </tr> <tr bgcolor="'.$config['site']['lightborder'].'" align="center"> <td width="33%"><strong>Golden Legs</strong></td> <td width="33%"><strong>10%</strong></td> </tr> <tr bgcolor="'.$config['site']['darkborder'].'" align="center"> <td width="33%"><strong>Crown</strong></td> <td width="33%"><strong>10%</strong></td> </tr> <tr bgcolor="'.$config['site']['lightborder'].'" align="center"> <td width="33%"><strong>Goldfish Bowl</strong></td> <td width="33%"><strong>10%</strong></td> </tr> </table> <br> <p align="right"> Page Present By: <a href="mailto:[email protected]">Weslley</a> '; ?> </TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> </HEAD> Agora em Index.php adicione: case "present": $topic = "Present Diary"; $subtopic = "present"; include("present.php"); break; Depois va em layout/.(nomedolayout)./layout.php abra e adicione: <a href='?subtopic=present'> <div id='submenu_present' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)' onMouseOut='MouseOutSubmenuItem(this)'> <div class='LeftChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div> <div id='ActiveSubmenuItemIcon_present' class='ActiveSubmenuItemIcon' style='background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);'></div> <div class='SubmenuitemLabel'>Presence diary</div> <div class='RightChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div> </div> </a> Screenshot: Script Present + pagina gesior.rar Créditos: Willams 80% ............Subyth 20%
  10. 1 ponto
    Iae pessoal blz? *Sempre procurei um website igualzinho ao do otpokemon.com mas como nunca encontrei então tive a iniciativa de montar um do "0" deu um trabalhozinho mas valeu a pena!! +Aqui estão algumas imagens: ___________________________________________________________________________________________________________ Obs: No Otpokemon WebSite 1.0 as configuração do config.lua do seu servidor de poketibia so serão suportadas na versão criptografada Sha1 (Então altere para Sha1 e mysql) Não esqueça tambem de remover as linhas "----" do config.lua do seu servidor para evitar problemas futuros!. Desative o account manager do config.lua também pois se ele permanecer os irá bugar os char's e não vão poder logar no servidor. A instalação é simples não precisa de senha de administrador, terão que mudar o acesso de pagina direto do banco de dados qualquer duvida comentem! Aconcelhado usar Xampp 1.7.7 pois não tive nenhum problema com ele! ___________________________________________________________________________________________________________ *Bom essa é a versão 1.0 então não está 100% igual ao website do otpokemon.com mas irei fazer o maximo para que fique 100% igual. - O WebSite é 100% Editavel so é preciso ter os conhecimentos necessarios. ...É isso ae galera espero que curtam o website! (Em breve na versão 2.0 mas novidades aguardam) $-Obs:Caso forem compartilhar esse post, não esqueçam de deixar os creditos-$ Ahh.... Lembrando não esqueça de dar REP+ até porque deu um trabalhaço! ___________________________________________________________________________________________________________ Download:http://www.mediafire.com/download/cvttts1ae47usrb/WebSite+OTPokemon+1.0+%282014%29.rar Scan:https://www.virustotal.com/pt/file/3b20e20c6f103fd508de6693abea5e2e16c36aaff139d605124e9db183260edc/analysis/1392469897/ Aviso: A senha para descompactar o WebSite OTPokemon 1.0 (2014).Rar é: (otpokemon!) sem os parenteses. ...................................................................................................................................................................................................................... *- Creditos -* Modern Acc e (Kranzix).
  11. 1 ponto
    • Naruto Seven Com Client Descompilado [Download] • • Menu: ├ Informações; ├ Jutsus; ├ Ajustes; ├ Erros; ├ Prints; ├ Download; ├ CLIENT DESCOMPILADO; └ Creditos. • Informações Basicas • • Jutsus Do Servidor • • Ajustes No Servidor • • Erros Do Servidor • • PrintScreen • • Download's • Servidor 8.54 (4shared) http://www.mediafire.com/download/99upszbnbb7aklb/Nrtao+V.2.rar Cliente Do Servidor Compilado (4shared) http://www.4shared.com/file/Ny7GcYzw/Client_NSOexe.html Cliente Do Servidor DECOMPILADO! (4shared) - BASE. http://www.4shared.com/file/qjK7OGx7/Naruto_Seven.html Cliente Do Servidor ExTNL DECOMPILADO! (4shared) - VELHO. http://www.4shared.com/rar/_1lmtHS4/Stigal_-_ExTNL_Descompilado.html Cliente Do Servidor Nto Brasil v3.0 DECOMPILADO! (MediaFire) - VELHO. http://www.mediafire.com/?xvho2po19rq47ks Cliente Do Servidor ExTNL (NEW 25/12) DECOMPILADO! (4shared) - NOVO! http://www.4shared.com/rar/bn6j1oy9/Stigal_ExTNL_175_DESCOMPILADO.html? Cliente Do Servidor NtoBR (NEW 23/11) DECOMPILADO! (4shared) - NOVO! http://www.4shared.com/rar/LxXBOOmA/Stigal_NTOBrasil_01_DESCOMPILA.html? Cliente ASKL DECOMPILADO! (MegaUpload) - OFFILINE! http://www.megaupload.com/?d=L2DD5Y96 • Creditos • 80% Eu (Stigal) Motivo: "Edição Mediana / Final" "Ajustes" "Topico". 20% Dono (ADM Seven) Motivo: "Edição Inicial". Servidor Atualisado: 05/Dezembro/2011 Downloads Atualisado: 19/Dezembro/2012
  12. [MOD] Pokedex Window para base PDA [v1.0]

    Igor Suzuki reagiu a deivaoo por uma resposta no tópico

    1 ponto
    Eai galera, blz? Bom, vim trazer pra vcs a versão 1.0 do mod de pokedex que eu desenvolvi mês passado visando aprendizado no mundo de OTC, com o objetivo também de mostrar que o otclient é flexível suficiente para se fazer muitas coisas sem a necessidade das sources tanto do servidor quanto do client... Para aqueles que não conhecem, vejam o Show Off desse trabalho. Eu fiz essa versão com o objetivo de não fazer alterações no servidor... Ou seja, tem apenas edições no OTC. Atualizações: 1. Adicionado um pack com 276 imagens de pokemons (16,1MB); 2. Pokemons shiny tem a exibição da imagem de pokemons normais (para alterar, basta remover a linha 75 do arquivo game_pokedex.lua, na pasta modules/game_pokedex de seu client); 3. Pokedex fecha ao se deslogar do char com ela aberta [créditos a @Soulviling pela ideia]; Bom, sem mais delongas; Instalação fácil: Passo 1. Faça o download do arquivo RAR (download no final do tópico); Passo 2. Copie a pasta modules pro seu client; Passo 3. "Deseja substituir?" [X]Sim [ ]Não Passo 4. Só vai até o passo 3; Bom, segue uma imagem ATUALIZADA Download e Scan
  13. [MODERN ACC/POKETIBIA]WebSite PokeTibia 3.0

    DarkRed reagiu a nibelins por uma resposta no tópico

    1 ponto
    boa novas pessoal venho aqui pra posta a minha versão mais nova v 3.0 nem muitas delonga download
  14. NPC Upgrader

    warriorfrog reagiu a zipter98 por uma resposta no tópico

    1 ponto
    Oi, vi a ideia desse NPC em um lugar por aí e resolvi fazer. Consiste em um NPC que aprimora seu item (deve estar em uma das mãos - esquerda ou direita) a troco de um outro item (configurável). A cada nível de aprimoramento, seu item recebe um valor configurável no ataque, defesa e/ou armadura. Você pode configurar o nível de aprimoramento máximo, chance de falhar, valor adicional que o item receberá a cada aprimoração e, como já dito antes, o item que será cobrado pelo NPC. Em data/npc, crie um arquivo com extensão .XML, nomeie-o Upgrader, e coloque o seguinte conteúdo: <?xml version="1.0" encoding="UTF-8"?> <npc name="Upgrader" script="upgradenpc.lua" walkinterval="3000" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="134" head="39" body="113" legs="38" feet="0" addons="3" corpse="2212"/> <parameters> <parameter key="message_greet" value="Olá |PLAYERNAME|, voce gostaria de aprimorar o seu equipamento?"/> </parameters> </npc> Em data/npc/scripts, crie um arquivo com extensão .lua, nomeie-o upgradenpc.lua, e coloque o seguinte conteúdo: 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 local config = { items = {12343, 10}, --Respectivamente, ID do item que o NPC irá cobrar e quantidade. maxBoost = 10, --Nível máximo do equipamento. failChance = 20, --Em porcentagem. upgradeValue = 1, --Valor adicional que o item receberá a cada aprimoração. } if msgcontains(msg:lower(), "yes") then for slot = 5, 6 do local item = getPlayerSlotItem(cid, slot) if item.uid > 0 then if getItemAttack(item) > 0 or getItemDefense(item) > 0 or getItemArmor(item) > 0 then if doPlayerRemoveItem(cid, config.items[1], config.items[2]) then local newUpgrade = (getItemAttribute(item.uid, "upgrade") or 0) + 1 if newUpgrade <= config.maxBoost then if math.random(1, 100) > config.failChance then doItemSetAttribute(item.uid, "name", getItemInfo(item.itemid).name.." [+"..newUpgrade.."]") if getItemAttack(item) > 0 then setItemAttack(item, getItemAttack(item) + config.upgradeValue) end if getItemDefense(item) > 0 then setItemDefense(item, getItemDefense(item) + config.upgradeValue) end if getItemArmor(item) > 0 then setItemArmor(item, getItemArmor(item) + config.upgradeValue) end doItemSetAttribute(item.uid, "upgrade", newUpgrade) selfSay("Seu equipamento foi aprimorado com sucesso.", cid) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) else selfSay("Aah, parece que a aprimoração falhou! Mais sorte na próxima vez.", cid) end return true else return selfSay("Seu equipamento já alcançou o nível máximo.", cid) end else return selfSay("Você não tem "..config._item[2].."x "..getItemNameById(config._item[1])..(config._item[2] > 1 and "s" or "")..".", cid) end end end end selfSay("Parece que você não tem um item para aprimorar.", cid) elseif msgcontains(msg:lower(), "no") then selfSay("Tudo bem, então.") end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Versão testada: 8.54 Bem, é só isso, até mais.
  15. [MOD] Elevador System

    wayout reagiu a deivaoo por uma resposta no tópico

    1 ponto
    Boa tarde galerinha, beleza? Nesses últimos tempos, além da POKEDEX, estive fazendo outro sistema, um de Elevador... Não é um sistema de elevador comum, pois fiz um mod no OTClient também... Vejam o funcionamento: https://www.youtube.com/watch?v=EhkmQIx3HIw *Obs.: MOD criado para funcionamento em qualquer derivado de tíbia [adaptado apenas para TFS 0.3.6. *Obs².: Esse é apenas um ShowOff do meu sistema, não pretendo postar. [Próxima adaptação para TFS 0.4]
  16. [iBot] Script Thread Request

    pagowgames reagiu a Mek Fiuchem por uma resposta no tópico

    1 ponto
    Está precisando de um script e não consegue achar ? Faça seu pedido e irei ver se acho. Lembrando para pedir um script terá que reputar o tópico, sinceramente não vou passar script pra quem não faz um simples gesto. Preencha a baixo e aguarde até 48h Name: City: Vocation: Caso tenha achado um script no site do iBot e seu usuário é free member, passe o Link que faço download e disponibilizo.
  17. New Entrada para seu Site

    Coul reagiu a Sufaiter por uma resposta no tópico

    1 ponto
    ola amigos do tibiaking veio trazer pra vcs uma entrada que fiz para meu servidor mas colo ele faliu to trazendo para vcs espero que curta http://www.4shared.com/rar/0WCRJOH9ce/entrada.html?
  18. [ShowOFF] Pokemons Iniciais

    Viny 13 reagiu a gabrielzika por uma resposta no tópico

    1 ponto
    Ai Galera Como Fico Meu Starter Onde Escolhe o Pokes Iniciais e Meu Cp Copiado do Ot Pokemon huehueuhe Aceito Criticas e Opiniões Obrigado Créditos: Eu Por Editar Créditos: Otpokemon.com Por Servir Como Base Para Mim Copiar Vlws
  19. Zagaf Show off (iniciante)

    Heyron reagiu a Zagaf por uma resposta no tópico

    1 ponto
    Bom Eu vi alguns tutorias e fiquei com vontade de mappear! Sou iniciante ...avaliem! Bom me inspirei em fazer parecido com RookGuard!
  20. (Resolvido)Ajuda [Poketibia]

    Vasto Lord X reagiu a J.L por uma resposta no tópico

    1 ponto
    É um creaturescripts, abre a pasta "Data/creaturescripts" e abra o arquivo creaturescripts.xml & veja os scripts quem tenha a palavra login & Faz o seguinte, abre esses script's (eles estão na pasta "Data/creaturescripts/scripts") e procura pela mensagem que você quer tirar. Ajudei? Rep+ e marque Melhor resposta !
  21. [TFS 1.x] TK Vip System

    andreoam reagiu a luanluciano93 por uma resposta no tópico

    1 ponto
    @andreoam, poste o que você tem em spoiler.
  22. (Resolvido)[PEDIDO] Script vipfree (ex:1,2,3)

    Myshhler reagiu a Wakon por uma resposta no tópico

    1 ponto
    Esses sistemas de VIP free em baiak, é usado apenas uma storage para identificar. Em "Data/movements/scripts", crie tilevip1.lua e cole: local t = { storage = 29000, -- Storage da VIP[1], deve ser a mesma usada no baú!! effect = 13 } function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end if getPlayerStorageValue(cid, t.storage) < 1 then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você não é VIP[1].") doSendMagicEffect(getThingPos(cid), t.effect) return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Bem-vindo a área VIP[1].") return true end Em "Data/movements" abra o movements.xml e cole: <movevent type="StepIn" actionid="25550" event="script" value="tilevip1.lua" /> Agora é só colocar a actionID( pode alterar ) na entrada da VIP[1]. Agora para ganhar acesso clicando no baú, você deve criar uma action: Em "Data/actions/scripts" crie bauvip1.lua e cole: local storage = 29000 -- Storage da VIP[1], deve ser a mesma utilizada no tileVIP[1]. function onUse(cid, item, fromPos, itemEx, toPos) if getPlayerStorageValue(cid, storage) < 1 then doPlayerSendTextMessage(cid, 25, "Você agora é VIP[1].") setPlayerStorageValue(cid, storage, 1) else doPlayerSendTextMessage(cid, 25, "Você já é VIP[1].") end return true end Depois em "Data/actions" abra o actions.xml e cole: <action actionid="39484" script="bauvip1.lua"/> Ai é só colocar a actionID desejada no baú da VIP[1]. Se quiser mais é só ir fazendo o mesmo processo alterando a storage e as actionID id's.
  23. (Resolvido)fim de premium

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

    1 ponto
    Sim funciona.
  24. (Resolvido)Duvida/pedido idle-time

    YagoBlindi reagiu a keilost1 por uma resposta no tópico

    1 ponto
    Espero que sim, pois há ação do char... Qualquer coisa só mandar privado, abraço!
  25. (Resolvido)Bug ao comprar skills

    6555 reagiu a Vodkart por uma resposta no tópico

    1 ponto
    if(param == "skillclub") then if getPlayerSkillLevel(cid, SKILL_CLUB) >= 350 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode ter skill acima de 350.") return true elseif not isDrunou(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente Drunous podem comprar skill de club.") return true elseif getCreatureCondition(cid, CONDITION_ATTRIBUTES) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode usar esse comando com condition de atributos.") return true elseif not doPlayerRemoveItem(cid, 9971, 1) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.") return true end local pid,club = getPlayerGUID(cid), getPlayerSkillLevel(cid, SKILL_CLUB) doRemoveCreature(cid) db.executeQuery("UPDATE `player_skills` SET `value` = " .. (club + 1) .. ", `count` = 0 WHERE `skillid` = 1 and `player_id` = "..pid) return true end
  26. (Resolvido)[AJUDA] Criar MOLOTOV!

    biel.stocco reagiu a kaiosaj por uma resposta no tópico

    1 ponto
    ele apenas pede o item 10548(garrafa) para produzir um 2305(Coquetel MOLOTOV).. queria alterar para pedir: 1 pedaço de pano 1 garrafa vazia 1 gasolina ou 1 pedaço de pano 1 garrafa de bebida quanto aos IDs, pode deixar PEDAÇODEPANO - GARRAFABEBIDA e tal, que eu configuro depois.. agradeço desde já! Estou aprendendo a criar spells agora, mas vou tentar te ajudar... Tenta assim, se não for me avisa que eu mudo:
  27. 1 ponto
    local shinys = { "Venusaur", "Charizard", "Blastoise", "Butterfree", "Beedrill", "Pidgeot", "Rattata", "Raticate", "Raichu", "Zubat", "Golbat", "Paras", "Parasect", "Venonat", "Venomoth", "Growlithe", "Arcanine", "Abra", "Alakazam", "Tentacool", "Tentacruel", "Farfetch'd", "Grimer", "Muk", "Gengar", "Onix", "Krabby", "Kingler", "Voltorb", "Electrode", "Cubone", "Marowak", "Hitmonlee", "Hitmonchan", "Tangela", "Horsea", "Seadra", "Scyther", "Jynx", "Electabuzz", "Pinsir", "Magikarp", "Gyarados", "Snorlax", "Dragonair", "Dratini"} local raros = {"Dragonite"} local mName = "name" --Nome do monstro que será anunciado ao nascer. local function ShinyName(cid) if isCreature(cid) then if string.find(tostring(getCreatureName(cid)), "Shiny") then local newName = tostring(getCreatureName(cid)):match("Shiny (.*)") doCreatureSetNick(cid, newName) if isMonster(cid) then doSetCreatureDropLoot(cid, false) end end end end local function doSetRandomGender(cid) if not isCreature(cid) then return true end if isSummon(cid) then return true end local gender = 0 local name = getCreatureName(cid) if not newpokedex[name] then return true end local rate = newpokedex[name].gender if rate == 0 then gender = 3 elseif rate == 1000 then gender = 4 elseif rate == -1 then gender = 0 elseif math.random(1, 1000) <= rate then gender = 4 else gender = 3 end doCreatureSetSkullType(cid, gender) end local function doShiny(cid) if isCreature(cid) then if isSummon(cid) then return true end if getPlayerStorageValue(cid, 74469) >= 1 then return true end if getPlayerStorageValue(cid, 22546) >= 1 then return true end if isNpcSummon(cid) then return true end if getPlayerStorageValue(cid, 637500) >= 1 then return true end --alterado v1.9 if isInArray(shinys, getCreatureName(cid)) then --alterado v1.9 \/ chance = 6 --1% chance elseif isInArray(raros, getCreatureName(cid)) then --n coloquem valores menores que 0.1 !! chance = 6 --1% chance else return true end if math.random(1, 1000) <= chance*10 then doSendMagicEffect(getThingPos(cid), 18) local name, pos = "Shiny ".. getCreatureName(cid), getThingPos(cid) doRemoveCreature(cid) local shi = doCreateMonster(name, pos, false) setPlayerStorageValue(shi, 74469, 1) else setPlayerStorageValue(cid, 74469, 1) end --/\ else return true end end function onSpawn(cid) registerCreatureEvent(cid, "Experience") registerCreatureEvent(cid, "GeneralConfiguration") registerCreatureEvent(cid, "DirectionSystem") registerCreatureEvent(cid, "CastSystem") if isSummon(cid) then registerCreatureEvent(cid, "SummonDeath") return true end if getCreatureName(cid) == mName then broadcastMessage(mName.." spawned!") end addEvent(doSetRandomGender, 5, cid) addEvent(doShiny, 10, cid) addEvent(ShinyName, 15, cid) addEvent(adjustWildPoke, 5, cid) return true end
  28. (Resolvido)Parte de Dodge System

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

    1 ponto
    Olha fantomdruid, acho que funcionou: local lvldodge = 48902 local percent = 0.5 function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin) if not isPlayer(creature) then return false end if isInArray({ORIGIN_SPELL, ORIGIN_MELEE, ORIGIN_RANGED}, origin) and isCreature(attacker) then if (creature:getStorage(lvldodge) * 3) >= math.random (0, 1000) then primaryDamage = primaryDamage - math.ceil(primaryDamage * percent) secondaryDamage = secondaryDamage - math.ceil(secondaryDamage * percent) creature:say("DODGE!", TALKTYPE_MONSTER_SAY) creature:getPosition():sendMagicEffect(CONST_ME_BLOCKHIT) return primaryDamage, primaryType, secondaryDamage, secondaryType end end return primaryDamage, primaryType, secondaryDamage, secondaryType end
  29. 1 ponto
    Se você se casou o npc setou a storage até ai tudo bem porém não setou a outfit de forma "correta" certo ? pois se ele setou a outfit acho que esta funcionado um segundo erro seria em você tentar se casar de novo porém já possui a storage. Então ele pula para a outra função de casamento e acaba ficando sem resposta acho que é isso porque ele não vai te casar de novo. E desculpe a demora para responder pois estava escrevendo uma recomendação enorme pro TK e acabei desistindo de postar
  30. 1 ponto
    Ishh, tenta procurar outro script de casamento no tibiaking
  31. 1 ponto
    local ar1 = createCombatArea{ {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 0, 0}, {0, 0, 1, 3, 1, 0, 0}, {0, 0, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} } local ar2 = createCombatArea{ {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0} } local ar3 = createCombatArea{ {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 3, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0} } function doPlayerShootBazooka(cid, target, times, delay, area, min, max, effect, dist_effect, exhaust, rounds) if rounds == nil then rounds = 1 end exhaustion.set(cid, 57193, exhaust) doSendDistanceShoot(getCreaturePosition(cid), getThingPos(target), dist_effect) doAreaCombatHealth(cid, COMBAT_FIREDAMAGE, getThingPos(target), area, -min, -max, effect) if rounds == times then return true end addEvent(doPlayerShootBazooka, shots_delay, cid, target, times, delay, area, min, max, effect, dist_effect, exhaust, rounds+1) end function onUse(cid, item, fromPosition, itemEx, toPosition) local weapons = { -- [ID da arma] = {tiros, delay_dos_tiros, ammo, area, dano_min, dano_max, efeito, distance_effect, exhaustion}, [2449] = { shots = 1, shots_delay = 50, area = ar1, exha = 5, ammo = { --Configure aqui as munições da arma. [11399] = {min = 25600, max = 35720, effect = 23, dist_effect = 35}, [itemid] = {min = minDamage, max = maxDamage, effect = effect, dist_effect = distanceEffect}, [itemid] = {min = minDamage, max = maxDamage, effect = effect, dist_effect = distanceEffect}, [itemid] = {min = minDamage, max = maxDamage, effect = effect, dist_effect = distanceEffect}, }, }, } local gun = weapons[item.itemid] if gun then if getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid ~= item.itemid then doPlayerSendCancel(cid, "O lançador deve estar equipado no slot da arma.") return true elseif getPlayerStorageValue(cid, 18391) == 1 then doPlayerSendCancel(cid, "Você não pode atirar enquanto dirige.") return true elseif getPlayerStorageValue(cid, 18393) == 1 then doPlayerSendCancel(cid, "Você não pode atirar com o capacete.") return true elseif exhaustion.check(cid, 57193) then doPlayerSendCancel(cid, "Você está exausto.") return true elseif getPlayerSlotItem(cid, CONST_SLOT_AMMO).uid < 1 then return doPlayerSendCancel(cid, "A munição deve estar equipada no slot da munição.") elseif not gun.ammo[getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid] then return doPlayerSendCancel(cid, "Wrong ammo for this gun.") elseif getPlayerItemCount(cid, getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid) < gun.shots then doPlayerSendCancel(cid, "Você não possui munição.") return true end local ammo = gun.ammo[getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid] doPlayerRemoveItem(cid, getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid, gun.shots) doPlayerShootBazooka(cid, itemEx.uid, gun.shots, gun.shots_delay, gun.area, ammo.min, ammo.max, ammo.effect, ammo.dist_effect, gun.exha) end return true end
  32. (Resolvido)Duvida/pedido idle-time

    davidvietro reagiu a keilost1 por uma resposta no tópico

    1 ponto
    Olá, desculpe pela demora, só fui me lembrar do Tibia King hoje rsrs... Eu não testei, vê se deu certo: function mudarVis(uid) look = getCreatureLookDirection(uid) look = look < 3 and look + 1 or 0 doCreatureSetLookDirection(uid, look) addEvent(mudarVis, 2000, uid) end local events1 = {} local trainerst = 456488 function onStepIn(cid) events1[getPlayerGUID(cid)] = addEvent(mudarVis, 1000, cid) doPlayerSendTextMessage(cid, 27, "Bem-vindo a sua sala de treinamento, você será movimentado automaticamente para que continue treinando!") setPlayerStorageValue(cid,trainerst,1) return true end function onStepOut(cid) stopEvent(events1[getPlayerGUID(cid)]) setPlayerStorageValue(cid,trainerst,-1) return true end Isso você coloca em movements/scripts e as tags abaixo em movements.xml <!--Trainer--> <movevent type="StepIn" actionid="13549" event="script" value="train.lua" /> <movevent type="StepOut" actionid="13549" event="script" value="train.lua" /> Em creaturescripts/idle.lua vai ter essa linha (se não for exatamente igual me manda): if(getTileInfo(getCreaturePosition(cid)).noLogout or getCreatureNoMove(cid) or getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_ALLOWIDLE) then return true end Você deve alterar para: if(getTileInfo(getCreaturePosition(cid)).noLogout or getCreatureNoMove(cid) or getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_ALLOWIDLE) or getPlayerStorageValue(cid,456488) == 1) then return true end
  33. ... local function playerAddExp(cid, exp) doPlayerAddExp(cid, exp) doSendAnimatedText(getThingPos(cid), exp, 215) end function onDeath(cid, corpse, deathList) --if not isCreature(cid) then return true end if isSummon(cid) or not deathList or getCreatureName(cid) == "Evolution" then return true end --alterado v1.8 -------------Edited Golden Arena------------------------- --alterado v1.7 \/\/ if getPlayerStorageValue(cid, 22546) == 1 then setGlobalStorageValue(22548, getGlobalStorageValue(22548)-1) if corpse.itemid ~= 0 then doItemSetAttribute(corpse.uid, "golden", 1) end --alterado v1.8 end if getPlayerStorageValue(cid, 22546) == 1 and getGlobalStorageValue(22548) == 0 then local wave = getGlobalStorageValue(22547) for _, sid in ipairs(getPlayersOnline()) do if isPlayer(sid) and getPlayerStorageValue(sid, 22545) == 1 then if getGlobalStorageValue(22547) < #wavesGolden+1 then doPlayerSendTextMessage(sid, 20, "Wave "..wave.." will begin in "..timeToWaves.."seconds!") doPlayerSendTextMessage(sid, 28, "Wave "..wave.." will begin in "..timeToWaves.."seconds!") addEvent(creaturesInGolden, 100, GoldenUpper, GoldenLower, false, true, true) addEvent(doWave, timeToWaves*1000) elseif getGlobalStorageValue(22547) == #wavesGolden+1 then doPlayerSendTextMessage(sid, 20, "Você foi o último sobrevivente da Golden arena tome sua recompensa!") doPlayerAddItem(sid, 2152, getPlayerStorageValue(sid, 22551)*2) --premio setPlayerStorageValue(sid, 22545, -1) doTeleportThing(sid, getClosestFreeTile(sid, posBackGolden), false) setPlayerRecordWaves(sid) end end end if getGlobalStorageValue(22547) == #wavesGolden+1 then endGoldenArena() end end --------------------------------------------------- /\/\ local givenexp = getWildPokemonExp(cid) ---local killer = getItemAttribute(corpse.uid, "corpseowner") if givenexp > 0 then for a = 1, #deathList do local pk = deathList[a] --- local list = getSpectators(getThingPosWithDebug(pk), 30, 30, false) if isCreature(pk) then local expTotal = math.floor(givenexp * getDamageMapPercent(pk, cid)) if getGlobalStorageValue(4091) > -1 then expTotal = math.floor(expTotal * getGlobalStorageValue(4091)) end local party = getPartyMembers(pk) if isInParty(pk) and getPlayerStorageValue(pk, 4875498) <= -1 then expTotal = math.floor(expTotal/#party) --alterado v1.6.1 for i = 1, #party do if isInArray(list, party[i]) then local m = isPremium(party[i]) and 1.2 or 1 if getPlayerLevel(pk) <= 50 then playerAddExp(party[i], m * expTotal * 200) elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then playerAddExp(party[i], m * expTotal * 130) elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then playerAddExp(party[i], m * expTotal * 80) elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then playerAddExp(party[i], m * expTotal * 40) elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then playerAddExp(party[i], m * expTotal * 20) elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then playerAddExp(party[i], m * expTotal * 10) elseif getPlayerLevel(pk) >= 351 then playerAddExp(party[i], m * expTotal * 5) end end end elseif not isInParty(pk) then if isPremium(pk) then expTotal = math.floor(expTotal * 1.2) end if getPlayerLevel(pk) <= 50 then playerAddExp(pk, math.floor(200 * expTotal)) elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then playerAddExp(pk, math.floor(130 * expTotal)) elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then playerAddExp(pk, math.floor(80 * expTotal)) elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then playerAddExp(pk, math.floor(40 * expTotal)) elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then playerAddExp(pk, math.floor(20 * expTotal)) elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then playerAddExp(pk, math.floor(10 * expTotal)) elseif getPlayerLevel(pk) >= 351 then playerAddExp(pk, math.floor(5 * expTotal)) return true end end end end end if isNpcSummon(cid) then local master = getCreatureMaster(cid) doSendMagicEffect(getThingPos(cid), getPlayerStorageValue(cid, 10000)) doCreatureSay(master, getPlayerStorageValue(cid, 10001), 1) doRemoveCreature(cid) return false end if corpse.itemid ~= 0 then --alterado v1.8 doItemSetAttribute(corpse.uid, "level", getPokemonLevel(cid)) doItemSetAttribute(corpse.uid, "gender", getPokemonGender(cid)) end return true end
  34. Otitemeditor

    Liberlim reagiu a Junior Nonato por uma resposta no tópico

    1 ponto
    Ola Ajudinha aki aparece esses dois erros Primeiro aparece esse erro Depois aparece esse quando tento abrir o item do meu server ignorando o primeiro erro Ajuda ai ? BY: Junior Nonato
  35. Recompensa por Level (Item, Bank, Addon, Mount)

    andreoam reagiu a Snowsz por uma resposta no tópico

    1 ponto
    Na verdade não, "level" seria apenas a posição na tabela, o certo seria "_.type", pois ele que representa a tabela...
  36. 1 ponto
    tem como sim aki colocar isso tudo certo vai na pastar modules dps vai game_things colocar isso thing.lua
  37. (Resolvido)[PEDIDO] Modificando o Exiva

    lucasmacaca reagiu a Wise por uma resposta no tópico

    1 ponto
    Já na source, em game.cpp: Procure por: switch(direction) { case DIR_N: ss << "north"; break; case DIR_S: ss << "south"; break; case DIR_E: ss << "east"; break; case DIR_W: ss << "west"; break; case DIR_NE: ss << "north-east"; break; case DIR_NW: ss << "north-west"; break; case DIR_SE: ss << "south-east"; break; case DIR_SW: ss << "south-west"; break; default: break; } Substitua por: switch(direction) { case DIR_N: ss << "north [/\]"; break; case DIR_S: ss << "south [\/]"; break; case DIR_E: ss << "east [>]"; break; case DIR_W: ss << "west [<]"; break; case DIR_NE: ss << "north-east [/\][>]"; break; case DIR_NW: ss << "north-west [/\][<]"; break; case DIR_SE: ss << "south-east [\/][>]"; break; case DIR_SW: ss << "south-west [\/][<]"; break; default: break; }
  38. [ERRO] Account manager = invalid password

    diarmaint reagiu a machine por uma resposta no tópico

    1 ponto
    Executa essa query UPDATE `accounts` SET `password` = SHA1(`password`); Depois essa UPDATE `server_config` SET `value` = "2" WHERE `key` = "encryption"; testa ai
  39. Naruto White

    Henrique Gaudard reagiu a Beeny por uma resposta no tópico

    1 ponto
    Fico feliz por ter gostado :3 Por você eu faço tudo ♪
  40. (Resolvido)[PEDIDO] Editar Items.

    Rodrigo94 reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    Você coloca no items.xml oque vc quer que o item faça, experimenta usar comandos de itens parecidos: Exemplo: Quero que o set de Knight dê skill de club/sword/axe.. daí vc procura algum item que faça isso e só copia a parte que aumenta a skill <attribute key="skillSword" value="3" /> <attribute key="skillAxe" value="3" /> <attribute key="skillClub" value="3" /> Se você quiser que aumente distance é só colocar <attribute key="skillDist" value="3" /> para absorver danos é bem simples <attribute key="absorbPercentPhysical" value="3" /> <attribute key="absorbPercentEarth" value="5" /> <attribute key="absorbPercentDeath" value="6" /> <attribute key="absorbPercentFire" value="-3" /> <attribute key="absorbPercentIce" value="2" /> Perceba que o PercentFire está negativo, é porque ele tem fraqueza contra fogo, positivo ele é bom contra o elemento, negativo ele é fraco contra o elemento. Pra aumentar ML é só usar: <attribute key="magiclevelpoints" value="1" /> Pra aumentar speed é só procurar a BOH e copiar: <attribute key="speed" value="20" /> E não esquece de colocar no final <attribute key="showattributes" value="1" /> para que apareçam os atributos quando o player der look no item. Em <attribute key="slotType" value="necklace" /> Você escolhe que tipo de item aquilo é, os values são: body, two-handed, one-handed, ammo, ring, necklace, legs, feet, head, backpack E PARA FINALIZAR DECLARE TUDO NO MOVEMENTS.XML: <movevent type="Equip" itemid="IDDOITEM" slot="TIPO DE SLOT" event="function" value="onEquipItem"/> <movevent type="DeEquip" itemid="IDDOITEM" slot="TIPO DE SLOT" event="function" value="onDeEquipItem"/> itemid="IDDOITEM" troque IDDOITEM pelo ID DO ITEM (BEM ÓBVIO, NÉ?) slot="TIPO DE SLOT" coloque um dos slots possíveis, os que são possiveis estão nessa lista aqui: armor feet legs head shield pickupable necklace ring OBSERVAÇÃO FINAL: O SLOT QUE VC DECLARAR NO MOVEMENTS TEM QUE SER DO MESMO TIPO QUE O ITEMS.XML ------------------------------------------------------------------------------------------------------------------------------------------------------------------- Agora as flechas/bows/armas: Essas não precisam declarar no movements.xml mas precisam de um script no weapon.xml 1) Flechas As flechas são bem simples: <attribute key="slotType" value="ammo" /> <attribute key="attack" value="25" /> <attribute key="maxHitChance" value="90" /> <attribute key="weaponType" value="ammunition" /> <attribute key="ammoType" value="arrow" /> <attribute key="shootType" value="arrow" /> slotype = ammo para ficar no lugar da munição (ammo) Attack vc muda a vontade pro que vc quiser MaxHitChance = chance de acertar o hit, qualquer numero menor que 100 apresenta uma chance do hit falhar WeaponType= Tipo de arma, flechas são munições então deixe sempre ammunition ammoTyoe = Tipo de munição, pode ser "arrow" ou "bolt" dependendo doque vc quiser usar, um bow ou um crossbow shootType é o efeito que vai sair, no caso dessa aí seria uma arrow normalzinha mas vc pode colocar qualquer flecha que exista ou até mesmo copiar efeitos de runas Dê ctrl+F no items.xml em shootType e copie diferentes tipos e vá vendo no servidor qual se encaixa melhor na sua opinião. 2) Bows e Crossbows Eu te aconselho copiar de algum item que já exista o modificar oque você quiser <attribute key="slotType" value="two-handed" /> <attribute key="weaponType" value="distance" /> <attribute key="ammoType" value="bolt" /> <attribute key="range" value="5" /> <attribute key="hitChance" value="1" /> isso daqui é um crossbow duas mãos que ataca bolt (podia ser arrows tb) a uma distância de no máximo 5 SQM (modifique o range) a chance de hit padrão dele é 1 e essa hit chance soma com a da munição 3) Wands e Rods <attribute key="weight" value="2900" /> <attribute key="weaponType" value="wand" /> <attribute key="shootType" value="ice" /> <attribute key="range" value="3" /> peso, tipo (mesmo que seja uma rod o tipo é "wand"), tipo de efeito que sai dela (no caso é o ice), distância que ataca (no caso, 3 sqm) Agora no weapons.xml: <wand id="2190" level="7" mana="2" min="8" max="18" type="energy" event="function" value="default"> <!-- Wand of Vortex --> <vocation id="1"/> </wand> id do item, level pra usar, custo de mana por hit, dano minimo e maximo, tipo de ataque, event (deixe function para ele fazer tudo que vc colocou no items.xml) value= não mexa a menos que vc seja um programador C++, vocation vc coloca as classes que podem usar. 1= sorc, 2= druid, 3= pally, 4= kina, 5= master sorc, 6= elder druid, 7= royal pally, 8= elit kina OBS: Você pode colocar isso também para que quando o player dê look não apareça o nome da classe que pode usar aquele determinado item (isso é util quando vc declarar que ambos sorceres e master sorcerers podem usar o item, evitando as repetições quando o player der look no item <vocation id="5" showInDescription="0"/> <vocation id="1"/> 4) Outros tipos de arma É bem simples, só edite oque quiser seguindo o modelo: <attribute key="weight" value="6800" /> <attribute key="defense" value="65" /> <attribute key="attack" value="90" /> <attribute key="weaponType" value="sword" /> <attribute key="extradef" value="5" /> <attribute key="elementIce" value="30" /> <attribute key="slotType" value="two-handed" /> <attribute key="decayTo" value="2401" /> <attribute key="duration" value="60" /> weight = peso defense= defesa q ela dá attack = ataque weapontype = Tipo de arma (sword, axe, club) extradef = defesa extra (fica Defesa 65 +5 nesse caso) ElementIce = adiciona dano elemental à arma, pode usar também ElementFire, ElementEarth e ElementEnergy slotType = se a arma é duas mãos ou não (caso não seja apenas retire essa linha) decayTo = apos um tempo igual a duration (em segundos) ela vira o item de ID 2401 (se não quiser isso apenas remova essas duas ultimas linhas) OBSERVAÇÃO FINAL: Tudo que você não quiser utilizar é só remover a linha do items.xml, e todo tipo de edição em armas deve ser declarado no weapons.xml seguindo o exemplo. (COMO VOCÊ NÃO TÁ CRIANDO NENHUM ITEM E SIM EDITANDO OS QUE JÁ EXISTEM EU TE ACONSELHO A PROCURAR O ITEM LÁ DANDO CTRL F E PROCURANDO PELO ID DOQUE SAIR ADICIONANDO UM MONTE DE LINHA A MAIS QUE TALVEZ DÊ CONFLITO COM AS QUE JÁ EXISTAM). OS ITENS QUE VC COLOCAR PRA DAR SKILL, ML OU PORCENTAGEM ELEMENTAL VOCÊ DEVE DECLARAR NO MOVEMENTS.XML E SE ESSE ITEM FOR PARA UMA DETERMINADA VOCAÇÃO VOCÊ DEVE DECLARAR TAMBÉM SEGUINDO O EXEMPLO: <movevent type="Equip" itemid="7886" slot="feet" event="function" value="onEquipItem"> <vocation id="1"/> <vocation id="5" showInDescription="0"/> <vocation id="2"/> <vocation id="6" showInDescription="0"/> </movevent> <movevent type="DeEquip" itemid="7886" slot="feet" event="function" value="onDeEquipItem"/>
  41. [Resolvido] Items.otb

    Patrickg reagiu a Gabriel Dias por uma resposta no tópico

    1 ponto
    Os TFS mais novos possuem uma configuração no próprio "config.lua" para pular a verificação da versão do arquivo de itens.
  42. [NPC] Task RPG

    luanluciano93 reagiu a Wesley Alexandre2014 por uma resposta no tópico

    -1 pontos
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo