Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 07/30/11 em todas áreas
-
Sharp Loader (Ip Changer Todas As Versões)
BizaoOtServer reagiu a history por um tópico no fórum
Hoje estou disponibilizando para o XTibia o Download do Sharp Loader. Esse programa é um IP Changer para TODAS AS VERSÕES e eu uso. Ele também tem como características atualizações automaticas, inclusive novas versões. Vou fazer um tutorial também para os iniciantes em OTServ, para que aprendam a usar o SharpLoader. 1° Você precisa baixar o programa: Download Sharp Loader LINK OFICIAL, NÃO PRECISA DE SCAN... OBS: Você precisa ter instalado o .NET Framework 4. - Se você não tem, CLIQUE AQUI PARA BAIXAR 2° Você abre o Arquivo usando um programa chamado WinRAR ou WinZIP, etc (se você não tem nenhum desses dois programas você pode baixar no Baiak, etc). 3° Seleciona a pasta SharpLoader e clica em Extract To, ali em cima, veja a imagem: 4° Selecione a área de sua preferência (no caso eu usei o Desktop) e clique em "OK": 5° Espere carregar e já pode fechar o Winrar. 6° Deve aparecer isso na área em que você extraiu, no meu caso no Desktop: 7° Agora entre na pasta e clique no programa com a imagem azul (Sharp Loader): 8° Irá aparecer algo assim: 9° "127.0.0.1" Esse número, como mostra a imagem é o IP que você usa para se conectar ao SEU SERVIDOR. Mas no caso, vamos fingir que nós estamos entrando no servidor de outra pessoa. É ali que você digita o servidor. 10° No caso eu usei um servidor que não existe, só para mostrar à vocês (history.servegame.com) 11° Agora deixe a opção "Auto" marcada, para que o SharpLoader dê uma pesquisadanos Clients do Tibia abertos, para dar Change IP automaticamente. 12° Abra o seu Tibia, na versão do servidor que quer usar. No caso o meu será o 9.10 13° Agora clique em "Change IP" no seu Sharp Loader: 14° Deu certo? Veja se o seu está semelhante ao meu: 15° Você pode observar que a versão e o IP do servidor escolhido ficou em cima do seu Tibia, do lado com símbolo e no SharpLoader apareceu a seguinte mensagem: "Ip Changed! (Version: 9.10). 16° Tudo certo! Agora já pode jogar no seu servidor. OBS: Sempre que quizer se conectar a um servidor usando o SharpLoader você deve efetuar do 9° passo em diante. É bem simples, fiz esse tutorial mais para iniciantes mesmo, que não sabem usar NENHUM IP Changer. Então até mais galera! Créditos: OBS 2: Se for postar em outro fórum, de os créditos por favor... Se eu ajudei, dá REP+1 ponto -
Pic Editor
Leofeli reagiu a RafaSouza3 por um tópico no fórum
Novo PIC Editor Um novo PIC editor muito mais funcional do que os que se encontra aqui no Fórum! Você pode escolher qual imagem quer exportar ou importar evitando assim o bug das letras. Scan: http://www.virustotal.com/pt/analisis/49c8a348545101240eae5a2692bd587134dde474b6a81c69cca2797bc9881e6e-1275572860 Download: http://www.4shared.com/file/-wJMq9Lp/Pic_Editor.html OBS: PIC Editor retirado de um fórum gringo traduzido por mim e postado por mim tbm! Fico livre de postar os devidos créditos pq n me lembro mais de onde peguei XD.1 ponto -
Azeroth Server Updated 14/07/2011: v1.0 Outras Versões: v1.1 [8.60]: http://www.xtibia.co...oth-rpg-reborn/ v2.0 [9.60]: http://www.xtibia.com/forum/topic/205054-960-azeroth-rpg/ Versão: 8.70 Distro: Crystal Server Mapa Base: Yourots Edited e Mix Yourots Features: > 7 Cidades: Azeroth Avalon Zatur Liberty Bay Gloria Sand Trap Tiquanda > Montarias por quest(NPC Mount Master, cavernas ao norte de Azeroth). > NPCs de Travel/Boat diferentes para cada cidade. > Corrigidos Vários Bugs do mapa. > Templo Reformado > Retirados Vários Itens custom e suas quests do antigo Riot Server. > Adicionada Dragon Dungeon. > Adicionado Vulcão de Goroma. > Adicionada Quest Especial em Gloria (NPC Gloria Scientist). > Adicionada Ferumbras Tower. > Várias Hunts adicionadas. > Adicionada Formorgar Mines. > Sistema de Refinamento e Slot. > 6 Novas Mounts. > Principais Quests: Annihilator Pits of Inferno The Inquisition FireWalker Boots Demon Helmet Draken Hell Conquer > 23 Raids Automáticas e configuradas: > Sistema de Guerras pelo Castelo [Honor Castle, a oeste de Azeroth] Evento automático. Quando a guerra é anunciada as guilds podem batalhar pelo controle do castelo, dando use no monumento do último andar e permanecendo assim até a guerra acabar. O último jogador a ter o controle do castelo antes do tempo acabar será o vencedor, e sua guild se tornará dona do castelo. Todos os membros da Guild ganharão uma recompensa e poderão acessar o mapa do subsolo. Os membros de outras Guilds serão teleportados para o templo e não poderão acessar o castelo. O sistema envia mensagens a todos antes de o evento começar, quando começar, quando o dono do castelo muda, antes de se finalizar e ao finalizar, relatando o conquistador do castelo e a guild vencedora. Imagens: Raids Castle Upgrade & Slot System Não há teleports diretos para hunts ou quests. Não há items ou monstros editados(além dos trainers). Não há sistema VIP(premium account valorizada). Não há raids com monstros excessivamente fortes nas cidades iniciais. Acc God: 2/password Créditos:Unknow YourOts Edited, Mix Yourots Team, Crystal Server Team, Tryller, Mock, TFS Team e um pouquinho (bem pouquinho) pra mim xD. Source - IP Changer 8.70 - Utilitários(opcional) - Map Editor *Utilitários inclui: Lista com códigos de todos os looktypes, SQLite Studio 1.1.1, códigos das cores dos outfits e o OTRestarter. Download Azeroth Server V 1.0 - Completo [MEDIAFIRE] Comandos: !war para executar a guerra pelo castelo manualmente, !reset para interromper o funcionamento da war e !castle para limpar todos os dados, ou seja, o castelo volta a ser terra de ninguém. V 0.2 V 0.3 V 0.4 V 1.0 Último pedido meu: encham o saco dos adms pra colocarem o tópico do tryller como fixo. É o melhor distro 8.70 que nós temos aqui, talvez ele salve os ots 8.70 daqui pra frente Contato: vmspk@hotmail.com Edit - Coloquei os Scans Edit2 - Adicionado comando Edit3 - Atualização Edit4 - Atualização http://img208.images...claymorepsf.jpg1 ponto
-
Barco Que Anda Por Uma Rota.
edu6279 reagiu a MatheusGlad por um tópico no fórum
Preview: Va na pasta mod crie um arquivo XML com o nome de boatsystem e bote isso: <?xml version="1.0" encoding="UTF-8"?> <mod name="BoatSystem" enabled="yes" author="MatheusMkalo" forum="XTibia.com"> <config name="BoatSystemLib"><![CDATA[ mydirs= { [1] = {type = 1, ids = {3587, 3590, 3591}, xy = {0, -1}}, [2] = {type = 2, ids = {3592, 3595, 3596}, xy = {1, 0}}, [3] = {type = 1, ids = {3587, 3590, 3591}, xy = {0, 1}}, [4] = {type = 2, ids = {3592, 3595, 3596}, xy = {-1, 0}} } allids = {3587, 3590, 3591, 3592, 3595, 3596} function newEndb(endb, dir) local xx = endb.x local yy = endb.y for i = 1, #dir do xx = xx+mydirs[dir[i]].xy[1] yy = yy+mydirs[dir[i]].xy[2] end return {x=xx, y=yy, z=endb.z} end function doMoveBoat(post, dir, cid) local newboat = {} for i,s in ipairs(post) do local backu = getThingPos(s) doRemoveItem(s, 1) doCreateItem(mydirs[dir].ids[i], 1, {x=backu.x+mydirs[dir].xy[1], y=backu.y+mydirs[dir].xy[2], z=backu.z}) table.insert(newboat, getThingFromPos({x=backu.x+mydirs[dir].xy[1], y=backu.y+mydirs[dir].xy[2], z=backu.z, stackpos=1}).uid) end if mydirs[dir].type ~= post.type and mydirs[dir].type == 1 then doCreateItem(getThing(newboat[1]).itemid, 1, {x=getThingPos(newboat[1]).x+1, y=getThingPos(newboat[1]).y-1, z=getThingPos(newboat[1]).z}) doRemoveItem(newboat[1], 1) doCreateItem(getThing(newboat[3]).itemid, 1, {x=getThingPos(newboat[3]).x-1, y=getThingPos(newboat[3]).y+1, z=getThingPos(newboat[3]).z}) doRemoveItem(newboat[3], 1) elseif mydirs[dir].type ~= post.type and mydirs[dir].type == 2 then doCreateItem(getThing(newboat[1]).itemid, 1, {x=getThingPos(newboat[1]).x-1, y=getThingPos(newboat[1]).y+1, z=getThingPos(newboat[1]).z}) doRemoveItem(newboat[1], 1) doCreateItem(getThing(newboat[3]).itemid, 1, {x=getThingPos(newboat[3]).x+1, y=getThingPos(newboat[3]).y-1, z=getThingPos(newboat[3]).z}) doRemoveItem(newboat[3], 1) end if cid then doTeleportThing(cid, {x=getCreaturePosition(cid).x+mydirs[dir].xy[1], y=getCreaturePosition(cid).y+mydirs[dir].xy[2], z=getCreaturePosition(cid).z}, false) end end function getPosBoat(cid, pos) local pcid = not pos and getCreaturePosition(cid) or pos local check = getThingFromPos({x=pcid.x, y=pcid.y, z=pcid.z, stackpos=1}).itemid == mydirs[1].ids[2] and 1 or 2 if check == 1 then return {getThingFromPos({x=pcid.x, y=pcid.y-1, z=pcid.z, stackpos=1}).uid, getThingFromPos({x=pcid.x, y=pcid.y, z=pcid.z, stackpos=1}).uid, getThingFromPos({x=pcid.x, y=pcid.y+1, z=pcid.z, stackpos=1}).uid, type = check} elseif check == 2 then return {getThingFromPos({x=pcid.x-1, y=pcid.y, z=pcid.z, stackpos=1}).uid, getThingFromPos({x=pcid.x, y=pcid.y, z=pcid.z, stackpos=1}).uid, getThingFromPos({x=pcid.x+1, y=pcid.y, z=pcid.z, stackpos=1}).uid, type = check} end return false end function reverse(t) local result = {} for i = #t, 1, -1 do table.insert(result, t[i] == 1 and 3 or t[i] == 2 and 4 or t[i] == 3 and 1 or t[i] == 4 and 2) end return result end ]]></config> <movevent type="StepIn" actionid="6616" event="script"><![CDATA[ domodlib("BoatSystemLib") local t = {4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2} local postart = {x=968, y=1001, z=7, stackpos=1} local posback = {x=994, y=978, z=7, stackpos=1} local delay = 350 if toPosition.x == posback.x and toPosition.y == posback.y then doCreatureSetNoMove(cid, true) for i = 1, #reverse(t) do addEvent(function() doMoveBoat(getPosBoat(cid), reverse(t)[i], cid) end, i*delay) end addEvent(doCreatureSetNoMove, delay*#reverse(t)+100, cid, false) addEvent(function() doItemSetAttribute(getThingFromPos(postart).uid, "aid", 6616) end, delay*#t+100) elseif toPosition.x == postart.x and toPosition.y == postart.y then doCreatureSetNoMove(cid, true) for i = 1, #t do addEvent(function() doMoveBoat(getPosBoat(cid), t[i], cid) end, i*delay) end addEvent(doCreatureSetNoMove, delay*#t+100, cid, false) addEvent(function() doItemSetAttribute(getThingFromPos(posback).uid, "aid", 6616) end, delay*#t+100) end ]]></movevent> <movevent type="StepIn" actionid="6617" event="script"><![CDATA[ domodlib("BoatSystemLib") if not isInArray(allids, getThingFromPos({x=toPosition.x, y=toPosition.y, z=toPosition.z, stackpos=1}).itemid) then doTeleportThing(cid, fromPosition, false) end ]]></movevent> </mod> Agora configurando o script: No local t, sao todas as direçoes que o barco vai andar, em sentido horario: 1 = norte 2 = leste 3 = sul 4 = oeste No local postart eh a posiçao que o meio do barco vai estar quando ele estiver indo para algum lugar. No local posback eh a posiçao que o meio do barco vai estar quando ele estiver voltando. O delay eh o tempo em milesegundos que demora pra o barco andar. Adicionando no Map editor: Faça 3 sqms do id 4820. Adicione o actionid 6617 nesses sqms. Faça 3 ids de barco, voce escolhe se eh o virado para cima ou para o lado. Bote o actionid 6616 no meio do barco. Fica assim: O vermemlho indica que tem o id 4820 e o actionid 6617. O verde indica o actionid 6616 Na pos que ele vai chegar soh faça o negocio na agua, nao precisa fazer outro bote. OBS: PONHA OS SQMS DA ROTA PARA NAO PODER LOGA SE ALGUEM LOGA NO BARCO VAI DAR BUG1 ponto -
Olá galera ÉckzTibiana, estou postando umas paradas interessantes aqui na xtibia. Hoje eu estou trazendo um sistema desenvolvido para servers que possuem shop system, é um sistema simples mas útil. É um sistema o qual registra todas as transações de itens da shop no seu servidor, dando a possibilidade do administrador do server ficar por dentro e de olho nas transações. - Sreen Shot: clique na imagem para visualizar - Observações: * Este sistema foi eu quem criei, caso quiseres editá-lo, fique a vontade, mas por favor mantenha os créditos. * É extremamente nescessário um backup do layout.php, index ou home.php e fundamentalmente da sua DataBase. * Se desejares postar em outro fórum avise-me. - Explicando oque será feito... No 1º passo nós prepararemos o shopsystem para registrar os dados extras, no caso o id do item, o nome do item e de quem foi debitado os points. No 2º passo nós criaremos a página que executará as checagens e mostrará os dados. No 3º passo nós incluíremos a página trans-admin ao subtopic, para que possa ser visualizada pelo home.php. No 4º passo nós adicionaremos ao menu Account o link para o Trans Admin, o qual só podera ser acessado por admins. Mo 5º passo executaremos as SQL Queries. Bem é isso, vamos trabalhar... - Como Instalar? Basta seguir os passos: 1º: 2º: 3º: 4º: 5º: - Shady Bugo tudo! Este sistema foi desenvolvido em baso no Gesior 0.38. Mas ele funciona em todos os sites, todos. Caso ocorra algum bug basta refazer os passos acima com atenção. Caso o problema persistir avise aqui. - Créditos: 100% meus. Bom galerinha é isso, espero comentários, e caso o sistema seja aprovado... reputem. Cya1 ponto
-
Mestre Em Baiak (8.60) BeTa Edited By: DeathCore Templo renovado,city toda renovada,muitas novidades. Npc que vende set vip, pra mage,pali,kina : FAST ATACK ROX OT 100% PRA WAR. BALANCEADO Recomendo ^^ Espero que gostem espero receber +Rep. Temple Teleport free: teleport vip: City principal: Download http://www.4shared.c...iak__BeTa.html? Scan http://www.virustotal.com/file-scan/report.html?id=d82ac4984e5d75265a370c7dd08ae5a3e2e693d3b3f62b928ea2790e2a22906c-1308264764 Venho Só Trazer o Melhor Conteudo De OTservs Para Vcs, Espero Que Vcs Curtão! Creditos Death Core (eu) (Baiak) (grande parceria) Ajudei? Então Me Da REP+ , Não Vai Cair Sua Mão1 ponto
-
1 ponto
-
[Mapping] Grim Reaper
Gabriel Couto reagiu a beto06 por um tópico no fórum
Olá, venho trazer o meu primeiro tutorial: Hunt de Grim Reaper Primeiro Passo O formato. Segue imagem: Segundo Passo Dar uma colorida de acordo com o estilo. Imagem: Terceiro Passo Fazer uma leve "destruição". Veja: Quarto Passo Fazer os acabamentos, os detalhes, adicionando gravel, pedras, lixos e pilares. Segue imagem: Quinto Passo Após acabar, eis o resultado: Minimap: Bom é isso, tutorial feito por mim, exclusivamente para o XTibia. Até mais.1 ponto -
# Revolution Website # Nome: Revolution Website Versão: 8.5+ Autor: Bruno333 Coméntario: Bom, eu vi que tem varios Poketibia e nenhum site , então resolvi fazer um bom, leve e pratico! *lembrando que eu,uso como base o site do Nicaw SVN 19b Configurando o site: Primeiro passo e acessar o phpmyadmin (http://localhost/ ou http://localhost:8090) Entre na sua conta do PhpMyAdmin, "Root" "sua senha" Agora cria uma database (coloque um nome mais simples que puder, aconselho coloca o nome de "tibia") agora la em cima no menu tem o butão [iMPORTAR] Clique ele! Depois irar aparecer uma pagina, com um butão chamado PROCURAR, clique e va até a pasta do seu ot.. e importa a database do ot. Caso não tenho pode baixar Clicando aqui[/url] Agora continuando no [iMPORTAR] vc deve importar agora a database no NICAW ACC, que se encontra na pasta xampp/htdocs/documents nome do arquivo eh shema.mysql (database do nicaw) Podemos fechar o internet explorer e configurar logo! va a pasta Xampp/htdocs/config.inc e abra ele! Vamos agora configurar: # Set data directory of your OT server $cfg['dirdata'] = 'C:\otserv\data; $cfg['house_file'] = 'world/map-house.xml'; # MySQL server settings $cfg['SQL_Server'] = 'localhost'; $cfg['SQL_User'] = 'root'; $cfg['SQL_Password'] = '123456'; $cfg['SQL_Database'] = 'tibia'; Configurando: Onde a pasta data do seu ot está localizado entre na pasta data/world do seu ot e ve o arquivo que ta no final com house.xml e coloque no lugar do map-house.xml senha do seu phpmyadmin! Nome da tua database, aconselho colocar a database com nome de tibia!! ai so colocar como está ai em cima! Agora feche e salve.. Va a pasta do seu ot abra config lua e aperte ctrl + f e procure por root la vc encontrara tpw assim: sql_host = "localhost" sql_user = "root" sql_pass = "SUA SENHA" sql_db = "COLOQUE O NOME DA TUA DATABASE" * só lembrando galera que o site eu ia usar em meu servidor então tem certas funções que esta configurada para meu servidor mais quem tem um conhecimento minimo consegue de boa fazer as devidas mudanças! SS Agora o mais importante de tudo o Download e Scan !!! Revolution WebSite Scan !!! Bom galerinha do Xtibia é isso ai, espero que gostem do meu Website qualquer Duvida ou Bug's postem aqui Não se esqueça de quem gostou da um +Repp que não vai cair a mão tbem !!!1 ponto
-
• nome: Sistema de Ginásio / GYM para pokemon. • autor: brun123 (mastercraft) • versão testada: TFS 0.36 pl 1 (8.54) Detalhes: Como cada servidor de pokemon é bem diferente, acredito que muitos erros vão aparecer devido a diferença de IDs das pokebolas por exemplo, mas vou ajudar no que posso. Primeiro passo: crie um arquivo com o nome gymlib.lua na pasta data/lib/, e coloque isso dentro do arquivo: Segundo passo: crie um arquivo chamado gym.lua na pasta data/creaturescripts/scripts/ e coloque isso dentro: Terceiro passo: abra o arquivo creaturescripts.xml (localizado em data/creaturescripts) e adicione essas 4 tags: <event type="cast" name="Gym1" event="script" value="gym.lua"/> <event type="attack" name="Gym2" event="script" value="gym.lua"/> <event type="direction" name="Gym3" event="script" value="gym.lua"/> <event type="death" name="Gym4" event="script" value="gym.lua"/> Quarto passo: crie um arquivo chamado brock.xml em data/npc e crie um chamado brock.lua em data/npc/scripts e coloque isso dentro: Quinto passo: se você usar o pokemon dash, vá no arquivo playerattack.lua (data/creatureevents/scripts) e adicione esses códigos embaixo da linha "function onAttack(cid, target)": if getPlayerStorageValue(target, 201) ~= -1 then for a, b in pairs(ginasios) do if getPlayerStorageValue(target, ginasios[getPlayerStorageValue(target, 201)].storage) == 1 then if getPlayerStorageValue(cid, ginasios[getPlayerStorageValue(target, 201)].storage) ~= 1 then doPlayerSendCancel(cid, "You can't attack this pokemon.") return false end end end end end Se você não usa o pokemon dash, crie um arquivo chamado playerattack.lua na pasta data/creatureevents/scripts e coloque isso dentro: function onAttack(cid, target) if getPlayerStorageValue(target, 201) ~= -1 then for a, b in pairs(ginasios) do if getPlayerStorageValue(target, ginasios[getPlayerStorageValue(target, 201)].storage) == 1 then if getPlayerStorageValue(cid, ginasios[getPlayerStorageValue(target, 201)].storage) ~= 1 then doPlayerSendCancel(cid, "You can't attack this pokemon.") return false end end end end return true end e adicione essa tag no creaturescripts.xml (data/creaturescripts): <event type="attack" name="PlayerAttack" event="script" value="playerattack.lua"/> e ainda, abra o arquivo login.lua e embaixo dessa linha: "function onLogin(cid)" adicione esse código: registerCreatureEvent(cid, "PlayerAttack") Último passo: vá em data/creaturescripts/scripts e abra o arquivo goback.lua (aqui por exemplo, pode ser que haja uma particulariedade de servidor para servidor), e procure pela linha: function onDeath(cid, deathList) e abaixo dela, adicione esse código: local owner = getCreatureMaster(cid) for x, y in pairs(ginasios) do if getPlayerStorageValue(owner, y.storage) == 1 then if getPlayerStorageValue(owner, 991) == 5 or not hasPokemon(owner) then setPlayerStorageValue(owner, 991, -1) else local number = tonumber(getPlayerStorageValue(owner, 991)) setPlayerStorageValue(owner, 991, number + 1) end end end Configuração dos NPCs: Abrindo o arquivo brock.lua na pasta data/npc/scripts, procure por esta linha: "doGymBattle("Brock", "Brock Geodude", cid, 1)" o "Brock" precisa ser o nome do NPC e o "Brock Geodude" precisa ser o nome do primeiro pokemon a ser usado. Agora nessa parte, no script do seu NPC, você também deve editar o nome do NPC no lugar de "brock". Se quiser que o player possa lutar com o NPC mesmo depois de tê-lo vencido, é só remover a mesma parte: if getPlayerStorageValue(cid, ginasios["Brock"].storage) >= 1 then return true end Ao abrir o arquivo gymlib.lua, você encontra essas duas linhas (são as primeiras): funcpokemon = {2220, 2222} -- ID das pokebolas (o pokemon tem que estar vivo nessas IDs) bpslot = CONST_SLOT_BACKPACK --em outros servers, pode ser que seja CONST_SLOT_AMMO o lugar onde fica a backpack no inventory Onde está funcpokemon, você coloca o ID de todas as pokebolas do seu server, mas esse ID tem que ser o ID da pokebola com algum pokemon vivo dentro, e esses IDs devem ser separados por vírgula. Onde está bpslot, você escreve onde fica a BACKPACK do seu server de pokemon. Se ficar no lugar normal de BPs, deixe como está, mas se sua BP fica no slot da munição (ammunition), você deve estar para CONST_SLOT_AMMO. Isso é tudo, agora vocês podem configurar os IDs e localização da BP facilmente, sem precisar conhecimentos mais avançados sobre scripting, e evitar erros no sistema. Abrindo o arquivo gymlib.lua, localizado em data/lib/ você encontra essa tabela: ginasios = { ["Brock"] = { storage = 900, msgdefeat = "You lost! You aren't strong enough yet, don't come back until you get stronger!", msgafk = "Go away if you don't have any pokemons!", msgwin = "Congratulations, you were strong enough to win this battle fairly! Take this Earth Badge as reward.", [1] = { msggo = "Lets fight then! I choose you, Geodude!", msgba = "That's enough, Geodude!", pokem = "Brock Geodude", nextp = "Brock Graveler"}, [2] = { msggo = "It's your turn, Graveler!", msgba = "Come back, Graveler!", pokem = "Brock Graveler", nextp = "Brock Golem"}, [3] = { msggo = "Crush'em, Golem!", msgba = "You did well, Golem!", pokem = "Brock Golem", nextp = "finish"} } } • storage significa a única storage que deve variar de NPC para NPC, tenha certeza de que essa storage não está sendo usada, é você não deve usar a storage 901 aqui, pois a mesma já está em uso pelo próprio sistema. • msgdefeat significa o que o NPC irá dizer quando o player perder o duelo. • msgafk significa o que o NPC irá dizer caso o player comece o duelo, mas não faça nada depois. • msgwin significa o que o NPC irá dizer quando o player vencer o duelo. • msggo / msgba significam os textos que o NPC irá dizer ao sumonar o pokemon dele, ou quando o mesmo morrer, respectivamente.• pokem / nextp significam o nome do pokemon que será utilizado, e o próximo pokemon a ser sumonado pelo NPC, respectivamente. Caso o nextp seja especificado como "finish", não haverá um próximo pokemon. • o número entre [] significa a ordem utilizada pelo líder para usar o tal pokemon, sendo 1 o primeiro pokemon, 2 o segundo e assim vai... Uma tabela detalhada sobre a configuração: Importante: caso for testar o sistema como foi postado aqui, é necessário criar antes os monstros Brock Geodude, Brock Graveler e Brock Golem, assim como adicioná-los no monsters.xml. Recomendações: é bom você impedir que o pokemon consiga retornar para a pokebola durante duelos (assim como foi feito no SvkE), para isso, basta adicionar esse código no arquivo goback.lua (data/actions) na parte inicial de retornar o pokemon: for a, b in pairs(ginasios) do if getPlayerStorageValue(cid, b.storage) == 1 then -- GYM doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.") return true end end Aconselho fazer o mesmo caso seu server tenha script de revive. Deve-se também checar pelos storages usado em players, somente o 990 e o 991. No servidor testado, é utilizado apenas pokeballs e ultraballs, com IDs 2220 e 2222 (outra particularidade). Após ter instalado os arquivos, entre no jogo e use o comando /n Brock para testar o NPC. Último aviso: o prêmio ainda não foi adicionado (que seria a badge), pois esse sim é bem variado de servidor pra servidor. Já que nenhum servidor base já vem com os IDs das badges, cada um adicionou elas de modo diferente, por isso não pude fazer, mas existe uma parte sobre um prêmio no arquivo gym.lua (data/creaturescripts/scripts), procure por isso: --local item = getPlayerItemById(killer, true, 2307) --doTransformItem(item.uid, 2294) Você pode modificar para adicionar dinheiro ou outra coisa, e pode também desenvolver um sistema de badges. Eu não vou fazer badge aqui, mas se vocês tentarem, posso ajudar com problemas. Quaisquer erros, tentarei responder o mais rápido possível.1 ponto
-
Construction House System - Actions
LukasScott reagiu a eduardo190696 por um tópico no fórum
Autor - eduardobean Tipo - Action Testado - TFS 8.54 Script Actions.xml <action itemid="id_1;id_2;id_3;id_4" event="script" value="constructionHouses.lua" allowfaruse="1"/> No lugar do ( id_1;id_2;id_3;id_4 ) você bota 3 id's usáveis Actions/Scripts -- °°° °°° °°° ° °°° °°°°° °°° ° ° °° °°°° °°°° ° ° °°° °°° °°°° -- ° ° ° ° ° ° ° ° ° ° ° ° °° ° ° ° ° ° ° ° ° ° ° ° -- °°° ° °°° ° °°° ° °°° ° °°°° ° ° ° ° °°°°° °°° ° ° -- ° ° ° ° ° ° ° ° ° ° °° ° ° ° ° ° ° ° ° ° ° ° -- °°° °°° ° ° ° ° ° °°° ° °° °°°° °°°° °°° ° ° ° ° °°°° local CONSTRUCTIONS = { [id_1] = 1041, -- Parede [id_2] = 1039, -- Parede [id_3] = 1038, -- Parede [id_4] = 406 -- Piso } function onUse(cid, item, fromPosition, itemEx, toPosition) if(fromPosition.x == CONTAINER_POSITION) then doPlayerSendCancel(cid, "Coloque essa Caixa no chão.") elseif(not getTileInfo(fromPosition).house) then doPlayerSendCancel(cid,"Você só pode usar dentro do seu Terreno.") elseif(CONSTRUCTIONS[item.itemid] ~= nil) then doTransformItem(item.uid, CONSTRUCTIONS[item.itemid]) doSendMagicEffect(fromPosition, CONST_ME_POFF) else return false end return true end No lugar do [id_1] = 1041, [id_2] = 1039, [id_3] = 1038, [id_4] = 406 Você muda os( id_1;id_2;id_3;id_4 )e adiciona os mesmo que estão no tag Ao invés de você fazer casas no map editor, você cria uma area cercada com um portão e "mapeia" por ela toda ai depois você cria um npc que venda os itens id_1;id_2;id_3;id_4 Se aleguem quiser criar uma função que crie um item um andar acima para fazer o telhado por favor poste aqui no tópico que eu irei por os devidos creditos. Se a house não salvar as paredes que você adicionou, você terá que criar novas paredes no item.otb1 ponto -
Como Crio Uma Quest De 3 Pokemon Em Um Otserv Poketibia
volcam reagiu a williansacho por um tópico no fórum
eai galera eu queria sabe como cria um quest de tres pokemon pra escolhe e que podia escolhe so um dos tres tipo a quest inicial e tbm queria sabe como escolho os pokemons da quest queria sabe isso tudo :smile_positivo: se alguem sabe me fala ai1 ponto -
[Duvida] Sobre Strings
drakylucas reagiu a Demonbholder por uma questão
Não entendi sua dúvida, explique-a melhor. s = '"Killerz [ll]"," ["' print(string.sub(s, 1, string.find(s, " ")-1)) ?1 ponto -
Duvida E Pedido
juanbrando reagiu a galaverna por um tópico no fórum
cara tem um jeito que você usa o items.xml e adiciona o código no movements exemplo: <item id="2465" article="a" name="Fusion Armor"> <attribute key="weight" value="8000"/> <attribute key="armor" value="8"/> <attribute key="slotType" value="body"/> <attribute key="healthGain" value="500"/> <attribute key="healthTicks" value="1000"/> <attribute key="manaGain" value="500"/> <attribute key="manaTicks" value="1000"/> health gain = quanto vai healar health ticks a cada 1000 é 1 segundo e mana é igual mais você terá que ir no movements e colocar no xml de la <movevent type="Equip" itemid="2465" slot="armor" event="function" value="onEquipItem"/> <movevent type="DeEquip" itemid="2465" slot="armor" event="function" value="onDeEquipItem"/> AJUDEI??REP+ POR FAVOR1 ponto -
sei la tenta assim : 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 npcHandler:setMessage(MESSAGE_GREET, "Olá, eu sou a {Ministra dos Carimbos}, como vai?") function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid -- Conversa Jogador/NPC if(msgcontains(msg, 'ministra dos carimbos')) then selfSay('Eu faço parte das missões do Ministério, aposto que você tem algo pra {entregar} a mim.',cid) talkState[talkUser] = 1 -- Confirmação da Compra elseif(msgcontains(msg, 'entregar') and talkState[talkUser] == 1 and getPlayerStorageValue(cid,valueid) ) then if doPlayerRemoveItem(cid,13584,1) then if getPlayerStorageValue(cid, 5668, 1) then selfSay('Muito bem, quero que vc entregue essa pena de tinta para o carteiro Bruno, da city mais gelada da redondeza.', cid) doPlayerAddItem(cid, 13594, 1) talkState[talkUser] = 0 else selfSay('Poxa, ta me achando com cara de idiota? trate de arranjar a carta, senão não vai continuar com as missões.', cid) talkState[talkUser] = 0 end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Não esqueça de trocar ali no código o storage value o value Se não for avisa que eu do um jeito1 ponto
-
Acentos Nos Npcs
othereality reagiu a Demonbholder por uma questão
Na verdade a codificação utf-8 não aceita acentos e caracteres especiais.1 ponto -
(Tutorial) Como Dar Save? É Igual Pra Todos? Não.
HisashiitYamaguti reagiu a Capslokado por um tópico no fórum
Esse tópico me ajudou muitissimo cara, eu nem sabia que o problema do meu ot server era esse, vlw.1 ponto -
1 ponto
-
[Pedido] Sobre Potions.
patrick323 reagiu a Fir3element por uma questão
muda no config.lua: showHealingDamage = false showHealingDamage = true e usa seu primeiro script1 ponto -
Alguem Me Ajuda A Colocar Fly So Para Premium?
danilo98375017 reagiu a Kuro o Shiniga por um tópico no fórum
Testa ae:1 ponto -
New Styller Yourots 0.7.5 Com Area Vip Almentada
kekinhox12 reagiu a azetor1 por um tópico no fórum
New Styller Yourots 0.7.5 (8.60) primero post meu aki no :XTibia_smile: espero que gostem TELEPORTS PRAS HUNTS E QUESTS AUMENTADAS. AREA VIP COM MAIS MONSTER. Cidades Editadas. Armas editadas. Novas Quests criadas Red skull amuleto adicionado e clone rune que clona a roupa de outros player por 10s. Sd arumada e um poco mais forte. Algumas edições no mapa. Arena pvp para vips muito boa para wars Novo comando adicionado !party todos os menbros de uma party ficam com as roupas igual. Imagens: http://imageshack.us/photo/my-images/14/capturarcw.png/ Imagem 2: http://imageshack.us/photo/my-images/713/felipeoz.png/ Imagen 3: http://imageshack.us/photo/my-images/535/14383504.png/ Imagen area vip: http://imageshack.us/photo/my-images/715/areavip.png/ Imagem templo: http://imageshack.us/photo/my-images/844/templod.png/ scan do avast: http://imageshack.us/photo/my-images/228/semvirus.png/ Dowload: http://www.4shared.com/file/54sQEaE9/Styller_Yourots_editado_21.html o scan ta dando um erro pliz alguem faz ele pra mim. • Créditos LeozeraRox -- Rodrigo -- RenanSdc -- Robson Dias -- Comedinhasss -- Techloko -- TFS Team -- Gorno -- Vilden -- Pumah -- RubensBarrichelo -- Vodkart -- Doidin1 ponto -
New Styller Yourots 0.7.6
pedro080300 reagiu a azetor1 por um tópico no fórum
existe essa You see a Vip Satff. It can only be wielded properly by druids and sorcerers of level 100 or higher. id:7958 ela ta funcionando bem so da uma olhada ai. :smile_positivo:1 ponto -
Não existe mapa 9.1. Exite mapa 8.6 que funciona em otservs 9.1.1 ponto
-
Monster Com Skull Randomicas
Demonbholder reagiu a eduardo190696 por um tópico no fórum
brun123, ai ja não sei pq foi meu amigo que fez pra mim e deixo eu posta, e aqui pega certinho assim xD1 ponto -
The Baiak Server 9.10 New Mount System + Cooldown 100%
rerbi reagiu a CharacterMoth por um tópico no fórum
:construction: Kara, arruma essa coisa1 ponto -
Construction House System - Actions
Demonbholder reagiu a eduardo190696 por um tópico no fórum
pow se ele fez um eu n sei mais esse é 100% by me manda o topico dele quero ve o dele ... ainda n vi e.e se eu soubesse que ja tinha nem tinha feito1 ponto -
[Encerrado] [ Talkaction ] Comando !buypremium
samorzinho reagiu a brunoknoblauch por um tópico no fórum
va na pasta talkactions abra o arquivo talkactions.xml procura pela linha !buypremium e apaga ela depois abre scripts e procura pelo arquivo buypremium.lua ou premium.lua ajudei +rep plx1 ponto -
maligno, se você deseja entrar no arquivo de instalação do gesior (install.php) você deve seguir os passos abaixo. 1) Abra o arquivo config.ini, localizado na pasta htdocs/config (Exemplo: C:\xampp\htdocs\config\config.ini). - Você verá a seguinte linha: - Mude para: Pronto, agora você conseguirá acessar o arquivo de instalação, lembrando que não é recomendável abrir o arquivo de instalação após já ter instalado.1 ponto
-
Bem, essa é a 1ª spell ki eu crio e mando aki para o xtibia ^^ comece abrindo o seu ot e entre na pasta data/spells/script copie qualquer arquivo de lá, renomeie para kamehameha, apague tudo u ki tem no arquivo e cole isso: Salve isso e abra o arquivo spells.xml, embaxo de onde ta escrito <!-- instant spells --> cola issu aki agora: Esta pronto o seu kamehameha =) ScreenShot (Obrigado MythShadows); Eu fiz mais uma magia AKI espero que gostem =) testem essas magias aew ki vale a pena E Comentem plx vlws FUIX1 ponto
-
[Encerrado] Ot Offline Nao Fica On
Otxtremereal reagiu a miroking por um tópico no fórum
Entao, eu tenho internet compartilhada portanto eu abri as portas no modem, tanto a 7171 quanto a 7172, configurei certinho o ot, no config.lua coloquei o IP do site "meu ip" fui no site "noip" e fiz um ip fixo. ao ligar o server eu não consigo entrar nele usando o ip do "meu ip" nem o ip fixo do "noip" só consigo entrar com o ip que aparece no CMD, que começa com 192... o IP do "meu ip" começa com 201... eu só consigo entrar com o que começa 192... (nao falei o ip inteiro por segurança) e quando tento postar o meu OT no otservlist ele diz que meu OT está offline, eu nao entendo ja fiz servidores antes com internet compartilhada, fiz EXATAMENTE igual, porque agora nao está funcionando ?1 ponto -
(Tutorial) Como Dar Save? É Igual Pra Todos? Não.
Demonbholder reagiu a HisashiitYamaguti por um tópico no fórum
Eu visualizei vários Ot servers, e passando por eles, eu vi pessoas com dificuldades para dar save. Como assim? Para salvar as contas dos jogadores, eu por exemplo, fui uma dessas pessoas, mas, chega de ser infeliz sem seu ot server, aqui está a solução. A Solução era apenas colocar a pasta do seu OT na área de trabalho, milhares de pessoas chorando por algo tao fácil assim, não acha?. Bom apesar de ser algo fácil, todos os tutoriais ensinando como criar um ot server, completinhos, sempre faltam a parte de colocar a pasta do seu OT na área de trabalho, sendo que é essencial. Ajudei? Rep+ Não ajudei? Vai te catar. Ajudei intermediário? Posta um comentário para eu melhorar . Ajudando desde 2011 a 2011. xD.-1 pontos