Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 11/26/11 em %

  1. AlexandreKG

    Descompilando Client

    Olá Galerinha Do XTibia,Aqui Está o Tutorial De Como Descompilar Um Client. OBS:Downloads No Final Do Tópico. Parte 1:Abra o Tibia Unbinder. unbin.bmp Parte 2:Abra o Client,No Meu Caso Eu Criei Um Pra Isso. unbindd.bmp Parte 3:Vá ate o UnBinder, e digite o Seguinte: title Mozark Mozark,no caso e o nome do meu:o Nome E o La De Cima. client 800 800,versao do client inject exit Espere até abrir uma janela escrita: Tibia UnBinder Extracted Sucessful,Algo assim,Depois Va Aonde Está O Client que vc está usando e estará a Tibia.pic,Tibia.dat e Tibia.spr ,no caso estará Unbinded.spr e talz,Renomeie Tudo Para Tibia. ...... Downloads: Tibia UnBinder Obrigado,Pela Atençao De Estarem Vendo Meu Tutorial. Creditos: : 100% By Mozark Se Ajudei Rep++ Dúvidas ? ADD MsN: xandaokg9@hotmail.com e venha falar comigo.
    2 pontos
  2. Lucasbaragatti

    [Beta] Duel System V1.1

    TUTORIAL DUEL SYSTEM PARA POKEMON Passos: (São 6) 1 - Recursos Necessários 2 - Instalar as funções na source 3 - Adicionar os controles na source 4 - Compilar a source 5 - Instalar o controle no servidor 6 - Configurando duelconfig.xml RECURSOS NECESSÁRIOS (DOWNLOADS) StiansDevCppRepack v2 - Clique para baixar KronoX Duel Repack v1.1 - Clique para baixar Ter sua source(distro) em mãos - Download Versão 8.54 - Versões Versão v1.0 : Versão Inicial do sistema Versão v1.1 : Tentativa de correção de bugs no Party.cpp INSTALANDO AS FUNÇÕES NECESSÁRIAS NA SOURCE   ADICIONANDO OS CONTROLES NA SOURCE   COMPILANDO SUA SOURCE   INSTALANDO CONTROLE NO SERVIDOR   CONFIGURANDO SEU DUELCONFIG.XML (BETA) vá na pasta data/creaturescripts/scripts e abra o arquivo duelconfig.xml com o bloco de notas. Atenção: Este arquivo não pode ser editado, com excessão da função usablePokes. O Erro da versão BETA é que ainda não se pode escolher o número de pokemons na batalha, pois esse número é editado no arquivo duelconfig.xml. Para escolher o tanto de pokes que irá usar por duelo , nesse arquivo, basta mudar a opção usablePokes=3 para usablePokes=NumeroDePokes Lembrando que não pode ser mais que 6 e que o carry system do server deve ser por cap.     Como usar: Apenas Clique com ctrl e lado direito no adversário e clique em "Invite to party" (Que pode ser modificado no client). Como sair do duelo: Apenas Clique com ctrl e lado direito em VOCÊ e clique em "Leave Party" (Que pode ser modificado no client).     É isso aí, não tá perfeito mas jajá a gente chega lá! Créditos: Stians pelo stians devcpp repack (DevC++ pra tibia) e Lucasbaragatti (eu) por fazer o sistema e postar aqui no XTibia. ;D Gostou? Dê REP+ , não cai o dedo =P Qualquer erro no sistema favor postar aqui! Obrigado!
    1 ponto
  3. BaiakZik

    O Unico Mapa Baiak Com Vip6

    Ola Pessoal Do Xtibia Estou Devolta,mas com um baiak unico com vip6 entao os comandos continuam os mesmos e agr o templo te de visual novo e tbm foi retirado todos os bugs discubertos o da porta de algumas quests da vip3 vip4 tenque ser promotion pra passa pra vcs n reclamarem ja ta avisado q é com o npc johnny no dp no 3 andar ^^ então aki estão as ss's http://www.xtibia.co...6/#entry1150118 OGGOGOGO VER!! Map novo http://www.xtibia.com/forum/topic/175246-baiak-zik-extremo/ GOGOGO VISITAR MAPA SUPER EDITADO NOVO Templo Treiners Do Buero Novo Rotworns Do Buero Novo Templo Vip1 Templo Vip2 Templo Vip3 Templo Vip4 Templo Vip5 Templo Vip6 Entao Se Gostaram Fazem Download Aki Embaixo Download : http://www.4shared.c...Baiakzik_V.html ip do meu ot para teste do mapa baiak-zik.servegame.com[ http://baiakzikmaps....gina=5583345309 Link Do site de todas as versoes do mapa baiakzik http://www.xtibia.co...layers-ou-vips/ TODOS OLHEM ESSE POST PLX SE GOSTA + REP
    1 ponto
  4. E ae galera tudo bem, estamos ai com um Script muito bom de um novo Dinheiro em seu OT, para fazer esse Script eu fui lendo uns tutoriais e juntando, mas não vou esquecer de botar os créditos, e pessoal vocês podem copiar meu tutorial mais botem créditos fazendo favor. Script com Tutorial Logo Abaixo: Para começar abre a pasta data/action/scripts procure pelo o arquivo crystal.lua , depois abram ela apague tudo que esta lá e cole isso, e salve. Traduzindo: Vermelho: É o id da crystal coin, e a quantidade a ser trocada por 1 pepita de ouro. Azul: É o id da pepita de ouro, e a quantidade de pepita de ouro. Depois disso copie e cole um arquivo qualquer .lua, abra ele como bloco de notas e apague tudo que estiver dentro e cole isso, e salve com o nome Pepita de Ouro Traduzindo: Laranja: É o que vai dizer quando o player trocar 1 pepita de ouro por 100 crystal coins. Verde: É o id da crystal coin, e a quantidade equivalente a 1 pepita de ouro. Depois disso abra data/actions/actions.xml , pule uma linha qualquer e cole isso, e salve. Traduzindo: Rosa: É o id da pepita de ouro. Azul: O nome do arquivo .lua que salvou. Depois disso abra data/items/items.xml , aperte CTRL + F , e digite 2157 , ai você vai acha o item Golden Nugget que vai estar assim. Mas nós não queremos ele assim, subistitua ele por isso, e salve. Traduzindo: Vermelho: Peso do item Azul: Valor do item (como 1 crystal coin = 10k , 1 pepita de ouro = 1kk) Depois disso vá data/actions/scripts/other e abra o arquivo changegold.lua , susbistitua tudo oque está la dentro por esse script a seguir, e salve. Traduzindo: Vermelho: É o id da pepita de ouro. Depois abra data/actions/actions.xml , pule uma linha qualquer e cole isso, e salve. Traduzindo: Azul: É o id da pepita de ouro. Verde: O nome do arquivo que você salvou. E pronto seu novo dinheiro estará funcionando perfeitamente, eu testei em meu OT 8.60 e deu 100% Certo. Obrigado pela Atenção. Créditos para @maximusot por uma parte do tutorial e também a @tavax pelo script de changegold.
    1 ponto
  5. Na maioria das vezes, quem migra de Sistema Operacional não conhece o novo SO, e o mesmo acontece com quem deseja ter um OTServer. Neste Simples e direto tutorial, irei ensina-los a desbloquear as portas 7171 e 7172 no Windows 7. 1 - Clique no botão Iniciar e na caixa de pesquisa digite Firewall, depois que aparecer os resultados clique em Firewall do Windows. 2 - Na próxima janela, clique em Configurações Avançadas, localizado no menu ao lado esquerdo. É necessário ser Administrador ou ter a senha do mesmo. 3 - Na próxima janela, no menu esquerdo clique em Regras De Entrada e em seguida no menu direito clique em Nova Regra. 4 - Na janela que abrirá, marque Porta e clique em avançar. Você deverá preencher os campos como na imagem abaixo. 5 - Depois de preencher tudo, continue clicando em Avançar, até chegar na ultima janela, onde você deverá colocar um nome para suas portas e ,por fim, clicar em Concluir. ----- Créditos: Alissow
    1 ponto
  6. felipol

    Remeres Map_Editor (8.60X)

    LEIA ATENTAMENTE E SEM PREGUIÇA! (para um trabalho bem feito) * Opção de download rapido: Download - Rme 2.1 + Tibia.dat e spr Bom galera muito nego aqui no XTibia ta se matando para poder conseguir abrir o REMERES MAP EDITOR na versão 2.1 (8.60x). Claro ja foram postados tutoriais solucionando o problema do mesmo. Porém esse aqui é diferente e 100% cérto. Vou ensinar perfeitamente como você pode abrir seu REMERES de outra forma sem que isso se torne um problema maldito de solucionar! Antes de tudo: Desinstale seu REMERES e seu TIBIA Agora! Primeiramente você vai diretamente no site OFFICIAL do Remeres Map Editor abaixo: SITE OFFICIAL: Clique Aqui Para faser o download. Após ter feito o download do Remeres, vá direto para o outro site abaixo: SITE OFFICIAL: Clique Aqui e baixe a versão do Tibia 8.60x (OBS: se você tem o tibia baixado no seu PC de qualquer outro site, desinstale-o.) PRONTO! já baixou os dois arquivos acima? Muito bem, agora vamos faser o seguinte: 1° Vá para a pasta: Meu Computador > Disco Local (C:) > Arquivos de Programas > Tibia 2° Na pasta do Tibia existem dois arquivos super importantes para esse procedimento, chamados: Tibia.spr e Dat, copie-os! 3° Volte para a pasta: Arquivos de Programas e crie uma nova pasta chamada: SPR 4° Dentro désta pasta SPR criada, você vai colar os dois arquivos: Tibia.spr e Dat. (Feche) 5° Abra seu Remeres map editor 6° Quando Aparecer a mensagem para procurar "Couldn't Find Tibia.dat Or Tibi.spr" você vai abrir a pasta SPR que criou a pouco! PRONTO! Seu Remeres map editor está pronto para ser ultilizado =D Dúvidas? (MSN: fefo_wg@hotmail.com) Se possível o teste, e aprovação do tutorial; Rep+ Recomende para seus amigos. :XTibia_smile:
    1 ponto
  7. Demonbholder

    Tibia Quests

    Faaaala galeinha! Tudo tranquilo? Bom, tomara que sim. Este é um projeto que eu desenvolvi ao longo deste mês, eu refiz três quests importantes do tibia, sendo estas a Demon Oak, Annihilator e Demon Helmet. Lembrando que elas não são exatamente como no tibia, são mais pra versão Demonbholder. Outra coisa, eu vou estar fazendo as quests rl que me pedirem abaixo com exceção da Pits of Inferno, POI. Esta quest não foi incorporada pois demora algum tempo para ser feita, portanto, talvez eu farei algum dia. Quem quiser contribuir com a sua versão de uma quest também pode me mandar por mensagem privada e ela será colocada aqui no tópico com os seus créditos. Não será tolerado ripping de quests, tanto de OtServers quanto de outros fóruns. Atenção: Sempre, sempre leia as informações para que não aconteça nenhum bug. Demon Oak Versão: Demonbholder Sistema: Mod Detalhes: Esta versão da Demon Oak eu fiz com que pudesse se encaixar em vários mapas, porém, é necessário seguir o padrão da imagem abaixo. Funcionamento: Deve funcionar desta seguinte maneira: O jogador deve conseguir o Hallowed Axe, e depois entrar em um portal, este portal deverá ter a actionid 37804. Após entrar no portal, ele será teleportado para Demon Oak, e lá ele deve usar o Hallowed Axe na arvore para começar a quest. Após ter terminado, ele automaticamente será teleportado para a sala do trono da Demon Oak. Os baús do trono da Demon Oak, devem ter os seguintes actionid: 37800, 37801, 37802, 37803. Mapa Padrão: Script: <?xml version="1.0" encoding="UTF-8"?> <mod name="DemonOak" enabled="yes" author="Demonbholder" forum="XTibia.com"> <config name="Function"><![CDATA[ function getOak() local OAK = { [1] = {name='skeleton', quant=7}, [2] = {name='beholder', quant=4}, [3] = {name='minotaur mage', quant=3}, [4] = {name='dwarf guard', quant=3}, [5] = {name='demon skeleton', quant=2}, [6] = {name='dragon', quant=1}, [7] = {name='tarantula', quant=3}, [8] = {name='pirate cutthroat', quant=3}, [9] = {name='orc leader', quant=3}, [10] = {name='dwarf geomancer', quant=1}, [11] = {name='fire elemental', quant=4}, [12] = {name='vampire', quant=2}, [13] = {name='avalanche', quant=1}, [14] = {name='blue djinn', quant=2}, [15] = {name='green djinn', quant=2}, [16] = {name='giant spider', quant=5}, [17] = {name='crystal spider', quant=3}, [18] = {name='dragon lord', quant=3}, [19] = {name='hydra', quant=2}, [20] = {name='frost dragon', quant=2}, [21] = {name='fury', quant=5}, [22] = {name='medusa', quant=2}, [23] = {name='destroyer', quant=3}, [24] = {name='diabolic imp', quant=2}, [25] = {name='minishabaal', quant=2}, [26] = {name='behemoth', quant=3}, [27] = {name='warlock', quant=2}, [28] = {name='undead dragon', quant=2}, [29] = {name='demon', quant=3}, } return OAK end function doOak(param) local pos = getCreaturePosition(param) for posx = pos.x - 20, pos.x + 20 do for posy = pos.y - 20, pos.y + 20 do local posi = getThingFromPos({x=posx, y=posy, z=pos.z, stackpos=253}).uid if isMonster(posi) then doRemoveCreature(posi) end end end return TRUE end ]]></config> <creaturescript type="login" name="DemonOakR" event="script"><![CDATA[ registerCreatureEvent(cid, "DemonOakD") registerCreatureEvent(cid, "DemonOakK") return TRUE ]]></creaturescript> <action itemid="8293" event="script"><![CDATA[ domodlib('Function') local espinhosid = {8289, 8290} if isInArray(espinhosid, itemEx.itemid) then if getPlayerStorageValue(cid, 37800) > -1 and getPlayerStorageValue(cid, 37800) <= #getOak() and getPlayerStorageValue(cid, 37801) == -1 then doPlayerSendTextMessage(cid, 22, "Mate-os!") for i = 1, getOak()[getPlayerStorageValue(cid, 37800)].quant do setPlayerStorageValue(cid, 37801, 0) oakx = itemEx.itemid == 8289 and i or 0 doCreateMonster(getOak()[getPlayerStorageValue(cid, 37800)].name, {x=getThingPos(item.uid).x +oakx, y=getThingPos(item.uid).y +4, z=getThingPos(item.uid).z}) end else doPlayerSendCancel(cid, "Voce ja fez esta quest.") end end ]]></action> <action actionid="37800;37801;37802;37803" event="script"><![CDATA[ domodlib('Function') local itens = { [37800] = {id = 2495, message = "Parabens, voce ganhou uma demon legs."}, [37801] = {id = 8905, message = "Parabens, voce ganhou um rainbow shield."}, [37802] = {id = 8851, message = "Parabens, voce ganhou um royal crossbow."}, [37803] = {id = 8918, message = "Parabens, voce ganhou um spellbook of dark mysteries."} } if getPlayerStorageValue(cid, 37800) == #getOak()+1 then doPlayerAddItem(cid, itens[item.actionid].id, 1) doPlayerSendTextMessage(cid, 25, itens[item.actionid].message) setPlayerStorageValue(cid, 37800, getPlayerStorageValue(cid, 37800)+1) end ]]></action> <creaturescript type="logout" name="DemonOakL" event="script"><![CDATA[ domodlib('Function') if getPlayerStorageValue(cid, 37800) > -1 and getPlayerStorageValue(cid, 37800) <= #getOak() then if getCreatureHealth(cid) ~= 0 then doPlayerSendCancel(cid, "Voce nao pode sair da demon OAK.") return FALSE end end return TRUE ]]></creaturescript> <creaturescript type="kill" name="DemonOakK" event="script"><![CDATA[ domodlib('Function') local salapos = {x=148, y=38, z=7} -- sala do trono if isMonster(target) and string.lower(getCreatureName(target)) == string.lower(getOak()[getPlayerStorageValue(cid, 37800)].name) and getCreatureMaster(target) ~= cid then if getPlayerStorageValue(cid, 37800) > -1 and getPlayerStorageValue(cid, 37800) <= #getOak() then setPlayerStorageValue(cid, 37801, getPlayerStorageValue(cid, 37801) + 1) end if getPlayerStorageValue(cid, 37801) == (getOak()[getPlayerStorageValue(cid, 37800)].quant) then setPlayerStorageValue(cid, 37800, getPlayerStorageValue(cid, 37800) + 1) setPlayerStorageValue(cid, 37801, -1) end if getPlayerStorageValue(cid, 37800) == #getOak()+1 then doTeleportThing(cid, salapos) end end return TRUE ]]></creaturescript> <creaturescript type="death" name="DemonOakD" event="script"><![CDATA[ domodlib('Function') if getPlayerStorageValue(cid, 37800) > -1 and getPlayerStorageValue(cid, 37800) <= #getOak() then setPlayerStorageValue(cid, 37800, -1) setPlayerStorageValue(cid, 37801, -1) doOak(cid) end return TRUE ]]></creaturescript> <movevent type="StepIn" actionid="37804" event="script"><![CDATA[ domodlib('Function') local ret = FALSE local pos = {x=63, y=129, z=7} -- demon oak for _, pid in pairs(getPlayersOnline()) do if getPlayerStorageValue(pid, 37800) > -1 and getPlayerStorageValue(pid, 37800) < #getOak() then ret = TRUE break end end if ret == TRUE or getPlayerStorageValue(cid, 37800) > -1 or getPlayerItemCount(cid, 8293) < 1 then doTeleportThing(cid, fromPosition) doPlayerSendCancel(cid, "Ha alguem fazendo esta quest no momento, ou voce ja a fez ou nao possui o hallowed axe.") else setPlayerStorageValue(cid, 37800, 1) doTeleportThing(cid, pos) doPlayerSendTextMessage(cid, 22, "Demon OAK!") end return TRUE ]]></movevent> </mod> Crie um arquivo .xml em mods e cole este script nele, nada mais precisa ser feito. Editando o script: Edite a posição da sala do trono, linha 126. Edite a posição da demon oak, linha 162. Por fim, você pode editar os monstros e a quantidade deles no inicio do script, porém não é recomendável adicionar mais níveis. Se for mudar os monstros e a quantidade, mude antes de colocar o script, caso contrário, poderá bugar. Os baús da quest devem ter os seguintes actionid: 32800, 32801, 32802, 32803. Annihilator: Versão: Demonbholder Sistema: Actions Funcionamento: Após entrar na annihilator, o time terá tanto tempo para matar os demons e pegar sua recompensa, caso isto não seja feito no tempo escolhido no script, os jogadores serão teleportados para algum lugar desejado e a quest reiniciará. Enquanto este tempo não acabar, outros times não poderão entrar na quest. O script irá teleportar os jogadores para um andar abaixo. Mapa padrão: Script - Alavanca: function onUse(cid, item) local pos = {x=193, y=118, z=9, stackpos=253} -- posição do jogador mais proximo da alavanca local uid = nil local delay = 500 -- tempo para resetar a quest local t = {} for i = pos.x -3, pos.x do local player = getThingFromPos({x=i, y=pos.y, z=pos.z, stackpos=253}).uid if isCreature(player) then if getPlayerStorageValue(player, 32800) == -1 and getPlayerLevel(player) >= 100 then uid = uid == nil and 1 or uid + 1 t[uid] = player end else return doPlayerSendCancel(cid, "Você precisa de 4 membros para fazer a quest.") end end if #t == 4 then if getGlobalStorageValue(32800) - os.time() <= 0 then for i = pos.x -3, pos.x do doTeleportThing(getThingFromPos({x=i, y=pos.y, z=pos.z, stackpos=253}).uid, {x=i, y=pos.y, z=pos.z + 1}) doSendMagicEffect({x=i, y=pos.y, z=pos.z + 1}, 27) end doRespaw('demon') setGlobalStorageValue(32800, delay + os.time()) addEvent(doCheck, delay*1000, t) else doPlayerSendCancel(cid, "Espere "..getGlobalStorageValue(32800) - os.time().." segundos para fazer a quest.") end else doPlayerSendCancel(cid, "Alguém no seu grupo já fez a quest.") end return TRUE end function doRespaw(mon) mon1 = {x=190, y=116, z=10, stackpos=253} -- posição demon 1 mon2 = {x=191, y=120, z=10, stackpos=253} -- posição demon 2 mon3 = {x=194, y=118, z=10, stackpos=253} -- posição demon 3 doCreateMonster(mon, mon1) doCreateMonster(mon, {x=mon1.x +2, y=mon1.y, z=mon1.z}) doCreateMonster(mon, mon2) doCreateMonster(mon, {x=mon2.x +2, y=mon2.y, z=mon2.z}) doCreateMonster(mon, mon3) doCreateMonster(mon, {x=mon3.x +1, y=mon3.y, z=mon3.z}) end function doCheck(tab) local templepos = {x=151, y=50, z=7} for i = 1, 4 do if isCreature(tab[i]) then if getPlayerStorageValue(tab[i], 32800) == -1 then doTeleportThing(tab[i], templepos) end end end for posx = mon1.x, mon1.x + 2, 2 do local monster = {x=posx, y=mon1.y, z=mon1.z, stackpos=253} if isCreature(getThingFromPos(monster).uid) then if string.lower(getCreatureName(getThingFromPos(monster).uid)) == 'demon' and isMonster(getThingFromPos(monster).uid) then doRemoveCreature(getThingFromPos(monster).uid) end end end for posx = mon2.x, mon2.x + 2, 2 do local monster = {x=posx, y=mon2.y, z=mon2.z, stackpos=253} if isCreature(getThingFromPos(monster).uid) then if string.lower(getCreatureName(getThingFromPos(monster).uid)) == 'demon' and isMonster(getThingFromPos(monster).uid) then doRemoveCreature(getThingFromPos(monster).uid) end end end for posx = mon3.x, mon3.x + 1 do local monster = {x=posx, y=mon3.y, z=mon3.z, stackpos=253} if isCreature(getThingFromPos(monster).uid) then if string.lower(getCreatureName(getThingFromPos(monster).uid)) == 'demon' and isMonster(getThingFromPos(monster).uid) then doRemoveCreature(getThingFromPos(monster).uid) end end end end Crie um arquivo .lua em data/actions/scripts e cole o script acima nele, feito isso, em data/actions.xml, cole isto: <action actionid="AID" event="script" value="NomeDoArquivo.lua"/> Escolhe o actionid e coloque na alavanca e na tag. Editando o script: Edite a posição do jogador mais próximo da alavanca, linha 3. Edite o tempo citado no funcionamento da quest, linha 5. Edite as posições dos demons, nas linhas 41, 42, 43, onde a primeira posição é onde fica o primeiro demon em cima do jogador, a segunda posição é onde fica o primeiro demon em baixo do jogador e a ultima posição é onde fica o demon ao lado do jogador. Script - Chest: function onUse(cid, item) local itens = { [32800] = {id = 2494, message = "Parabéns, você ganhou uma demon armor."}, [32801] = {id = 2400, message = "Parabéns, você ganhou uma magic sword."}, [32802] = {id = 2431, message = "Parabéns, você ganhou um stonecutter axe."}, [32803] = {id = 2326, message = "Parabéns, você ganhou um annihilation bear."} } if getPlayerStorageValue(cid, 32800) ~= 1 then if itens[item.actionid].id ~= 2326 then doPlayerAddItem(cid, itens[item.actionid].id, 1) else local bag = doPlayerAddItem(cid, 1990, 1) doAddContainerItem(bag, itens[item.actionid].id, 1) end doPlayerSendTextMessage(cid, 22, itens[item.actionid].message) setPlayerStorageValue(cid, 32800, 1) end return TRUE end Crie um arquivo .lua em data/actions/scripts e cole o script acima nele, feito isso, em data/actions.xml, cole isto: <action actionid="32800;32801;32802;32803" event="script" value="NomeDoArquivo.lua"/> Demon Helmet Versão: Demonbholder Sistema: Actions Funcionamento: Clique na alavanca e a pedra sumirá, após alguns segundos ela voltará. Os baús deverão ter os seguintes actionid: 34800, 34801, 34802. Script - Alavanca: function onUse(cid, item) local pedrapos = {x=151, y=51, z=7} -- posição da pedra local pedraid = 1355 -- id da pedra local time = 30 local pos = getThingPos(item.uid) if item.itemid == 1945 then for i = 1, 255 do if getThingFromPos({x=pedrapos.x, y=pedrapos.y, z=pedrapos.z, stackpos=i}).itemid == pedraid then doRemoveItem(getThingFromPos({x=pedrapos.x, y=pedrapos.y, z=pedrapos.z, stackpos=i}).uid, 1) doTransformItem(item.uid, 1946) addEvent(doCreatePedra, 1000*time, pedraid, pedrapos, pos) break else return doPlayerSendCancel(cid, "A pedra ainda não voltou.") end end else return doPlayerSendCancel(cid, "A pedra ainda não voltou.") end return TRUE end function doCreatePedra(id, pos1, pos2) doCreateItem(id, pos1) for i = 1, 255 do local position = {x=pos2.x, y=pos2.y, z=pos2.z, stackpos=i} if getThingFromPos(position).itemid == 1946 then stack = i break end end local posa = {x=pos2.x, y=pos2.y, z=pos2.z, stackpos=stack} doTransformItem(getThingFromPos(posa).uid, 1945) end Crie um arquivo .lua em data/actions/script e cole o script acima nele, feito isso, cole esta tag em data/actions/actions.xml: <action actionid="AID" event="script" value="NomeDoArquivo.lua"/> Escolha um actionid e coloque na alavanca e na tag. Editando o script: Edite a posição da pedra, linha 3, o id da pedra, linha 4 e o tempo que a pedra ficará removida, linha 5. Script - Chest: function onUse(cid, item) local itens = { [34800] = {id = 2493, message = "Parabéns, você ganhou um demon helmet."}, [34801] = {id = 2520, message = "Parabéns, você ganhou um demon shield."}, [34002] = {id = 2645, message = "Parabéns, você ganhou uma steel boots."} } if getPlayerStorageValue(cid, 34800) < 2 then doPlayerSendTextMessage(cid, 22, itens[item.actionid].message) doPlayerAddItem(cid, itens[item.actionid].id, 1) setPlayerStorageValue(cid, 34800, getPlayerStorageValue(cid, 34800) + 1) else doPlayerSendCancel(cid, "Você já fez esta quest.") end return TRUE end Crie um arquivo .lua em data/actions/script e cole o script acima nele e depois em data/actions/actions.xml, cole a seguinte tag: <action actionid="34800;34801;34802" event="script" value="NomeDoArquivo.lua"/> Arena Svargrond Versão: Demonbholder Sistema: Mod Detalhes: Script semelhante a Arena Svargrond do Tibia, pelo qual se desafia 10 monstros. Disponível em apenas 1 dificuldade. Funcionamento: O jogador deve ir em um piso que tenha o actionid 40001 e será teleportado para a arena. Feito isso, ele irá pisar no piso com actionid 40000 e um monstro será criado, ele deverá lutar contra esse monstro. Após matar 10 monstros, o jogador é teleportado para sala de recompensa. Script: <?xml version="1.0" encoding="UTF-8"?> <mod name="Arena Svargrond" enabled="yes" author="Demonbholder" forum="XTibia.com"> <config name="ArenaLib"><![CDATA[ dinheiro = 10000 storage = 47000 storage2 = 47001 playerpos = {x=151, y=48, z=7} -- posicao da arena trofypos = {x=151, y=48, z=7} -- posicao da area apos a arena monpos = {x=151, y=48, z=7} -- posicao onde o monstro sera criado monsters = { [0] = 'rat', [1] = 'dwarf', [2] = 'minotaur guard', [3] = 'demon skeleton', [4] = 'dragon', [5] = 'vampire', [6] = 'giant spider', [7] = 'dragon lord', [8] = 'warlock', [9] = 'demon' } function doRemoveCorpse(pos) for i = 1, 255 do corp = {x=pos.x, y=pos.y, z=pos.z, stackpos=i} if isCorpse(getThingFromPos(corp).uid) then break end end doRemoveItem(getThingFromPos(corp).uid, 1) end ]]></config> <creaturescript type="death" name="Arena" event="script"><![CDATA[ domodlib('ArenaLib') if isPlayer(deathList[1]) and isMonster(cid) then if getPlayerStorageValue(deathList[1], storage) > -1 and getPlayerStorageValue(deathList[1], storage) < 10 then setPlayerStorageValue(deathList[1], storage, getPlayerStorageValue(deathList[1], storage) + 1) addEvent(doRemoveCorpse, 500, getCreaturePosition(cid)) setPlayerStorageValue(deathList[1], storage2, -1) end if getPlayerStorageValue(deathList[1], storage) == 10 then doTeleportThing(deathList[1], trofypos) end end return TRUE ]]></creaturescript> <creaturescript type="kill" name="ArenaK" event="script"><![CDATA[ domodlib('ArenaLib') if isMonster(cid) and isPlayer(target) then if getPlayerStorageValue(target, storage) > -1 and getPlayerStorageValue(target, storage) < 10 then setPlayerStorageValue(target, storage, -1) setPlayerStorageValue(target, storage2, -1) doRemoveCreature(cid) addEvent(doRemoveCorpse, 500, getCreaturePosition(target)) end end return TRUE ]]></creaturescript> <creaturescript type="logout" name="ArenaL" event="script"><![CDATA[ domodlib('ArenaLib') if getPlayerStorageValue(cid, storage) > -1 and getPlayerStorageValue(cid, storage) < 10 then return FALSE, doPlayerSendCancel(cid, "You can't logout during arena!") end return TRUE ]]></creaturescript> <movevent type="StepIn" actionid="40000" event="script"><![CDATA[ domodlib('ArenaLib') if monsters[getPlayerStorageValue(cid, storage)] then if getPlayerStorageValue(cid, storage2) == -1 then local mon = doCreateMonster(monsters[getPlayerStorageValue(cid, storage)], monpos) setPlayerStorageValue(cid, storage2, 1) registerCreatureEvent(mon, "Arena") registerCreatureEvent(mon, "ArenaK") end end return TRUE ]]></movevent> <movevent type="StepIn" actionid="40001" event="script"><![CDATA[ domodlib('ArenaLib') for _, pid in pairs(getPlayersOnline()) do if (getPlayerStorageValue(pid, storage) > -1 and getPlayerStorageValue(pid, storage) < 10) or getPlayerStorageValue(cid, storage) == 10 then return TRUE, doTeleportThing(cid, fromPosition) end end if getPlayerMoney(cid) < dinheiro then return TRUE, doTeleportThing(cid, fromPosition), doPlayerSendCancel(cid, "Voce nao tem dinheiro.") end doPlayerRemoveMoney(cid, dinheiro) setPlayerStorageValue(cid, storage, 0) doPlayerSendTextMessage(cid, 4, "Arena Svargrond!") return TRUE, doTeleportThing(cid, playerpos) ]]></movevent> </mod> Crie um arquivo .xml em mods e cole este script nele, nada mais precisa ser feito. Editando o script: Logo no início do mod você deve mudar as posições da sala de recompensas, de onde os monstros vão ser criados e de onde fica a arena. É possível mudar os monstros também. Lembrando que o actionid dos pisos devem ser 40000 para o de entrada na arena e 40001 para criar os monstros. Só irei avaliar pedidos de quests que tiverem explicações e forem do tibia. Favor avisar caso seja encontrado alguma falha. Por enquanto é isso galera, com o tempo eu irei adicionando mais quests. Espero que aproveitem, até mais.
    1 ponto
  8. guga236589

    Mapa Yourots By: Agressor 8.6

    FALA AE GALERA VIM AKE POSTAR UM MAPA EDITADO ALgumas Informaçoes Do Mapa - Exe - Gerenciador de Acc eddited - Erros corrigidos acc manager - Sistema de Enchanted - Protocolo: 8.6 - Os itens 8,6 - 8,6 outfits e addons (com Wayfarer). - Pet sistema - Marryage sistema - Black crânio - Monster 8,6 não no mapa, mas se forem adicionadas ao servidor - Chanel que toda a exposição da morte de cada jogador Cidades - - 2 citys VIP - Áreas de eventos - Pvp zona - Carlin (zona PVP) - 40 tps de monstro (jogadores normais, sem vip) - Artas busca - TPS Monster (para VIPs) - Editado por jogadores monstro altos níveis - Área de bola do pé (que você pisa no seu sistema e move a bola) - Carro de corrida Zone (esgotado / 7 com o deus do templo e usar os portais do salão) - Ajedres área Editado vocações - - Editado feitiços - Muitos treinadores - Quest addons - 3 invasões - Anti sistema pk (PKS atacar NPC) - NPC adjunto (muito útil para dar informações) - SISTEMA loteria (a cada 20 minutos) - Roupa da boneca talkactions principal - Super transformação anel (pulseira caos) - Talkaction para iniciar os eventos (explicação mais adiante) - Comando attr / fixo (para editar um item de ataque / attr ataque de Setembro) - Enquete do sistema (sistema de inquérito - explicação posterior) - Comando de ausência (Afk em off Afk!) - Sistema de banco por talkaction (explicação mais adiante) - Comando para enviar uma mensagem para todos da sua guilda (/ guild) - Comando e masturbar Sexo xD! - Comando Aol e Bp! ! - Command Rank (nível de Rank, Rank espada ... etc!) ! - Comando Magias explicações de comando: comando para o banco: ! Equilíbrio - Isso mostra o saldo em sua conta. ! Depositar dinheiro na sua conta - depósito. (Exemplo:! Depósito 15000) ! Depositall - Coloque todo o seu dinheiro na sua conta. ! Retirar - Receba o dinheiro de sua conta. (Exemplo:! Retirar 15000) ! Withdrawall - Leve todo o seu dinheiro na sua conta. ! Transferir dinheiro para outro jogador - Transferência. (Exemplo: [. Se o jogador não existe, não transfere todo o dinheiro], transferência Darkhaos, 15000) ! Transferall-Transfer todo o dinheiro na sua conta para outro jogador. (Exemplo:! Transferall Darkhaos [se o jogador não existe, não transfere nenhum dinheiro.]) Pesquisas comando: ! Createpoll PERGUNTA, Opção 1 | Opção 2 | Opção 3 |? Etc - Adicione uma pesquisa e as opções para o banco de dados e adiciona um id. ! Activatepoll ID - Permite uma pesquisa com o especificado id. ! Cancelpoll - Cancela uma pesquisa ativa. ! Seepoll - Mostra as últimas 10 sondagens acrescentou, que a criou e ids. ! Seeresults ID - Exibe os resultados da pesquisa especificado (só você) ! Remvotes ID - Remove os resultados da pesquisa especificado. ! Rempoll ID - remove completamente o banco de dados da pesquisa. ! Votepoll Choice - Vote em um dos inquéritos ativo. comando para iniciar os eventos: / Powerevent ligado ou desligado (/ powerevent on - abrir o evento / powerevent off - viu o evento) / Evtx (cordenadas x, onde o evento será ie / evtx 160) / Evty (cordenadas e onde o evento será ie / evty 54) / Evtz (z cordenadas onde o evento será ie / evtz 7) ! Participar (comando teleport onde este evento) Algumas IMAGEN : A principal cidade: Templo principal: zona de guerra (Carlin): algumas indagações: tetrix tps para os jogadores normais: tps jogadores VIP: formadores: cidade vip 1: zona de pvp: Casino: DANWLOAD : AKE SCAN :AKE Se Foi Bom o POST DA REP + PRA MIN
    1 ponto
  9. andretoprox

    Cachorro Inofencivo

    data\monster\Canines crie um xml com nome Cachorro Inofencivo <?xml version="1.0" encoding="UTF-8"?> <monster name="Cachorro Inofencivo" nameDescription="a Cachorro Inofencivo" race="blood" experience="Escolha" speed="Escolha" manacost="255"> <health now="Escolha" max="Escolha"/> <look type="32" corpse="5971"/> <targetchange interval="2000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="1"/> <flag canpushitems="0"/> <flag canpushcreatures="0"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="8"/> </flags> <attacks> <attack name="melee" interval="200" skill="19" attack="1000"/> </attacks> <defenses armor="1" defense="4"/> <elements> <element earthPercent="10"/> <element holyPercent="10"/> <element icePercent="-5"/> <elemetn deathPercent="-5"/> </elements> <loot> <item id="2666" countmax="3" chance="90000"/><!-- meat --> </loot> </monster> Modifique as partes escritas "ESCOLHA" data\monster\monsters.xml <monster name="Cachorro Inofencivo" file="Canines/cachorroinofencivo.xml"/>
    1 ponto
  10. meubkk

    [Talkaction]Sexy System (Funny)

    Não tem muito oque explicar pelo nome, vocês já sabem. Vá na pasta talkactions/script e crie um arquivo com nome de sexy.lua e cole o seguinte script: -- Sexy System(Funny) by Cobraa. function prepareToSexy(ela, ele) doCreatureSetLookDir(ela, 3) pos = getThingPos(ela) doTeleportThing(ele, {x=pos.x+3, y=pos.y, z=pos.z}) doCreatureSetLookDir(ele, 3) mayNotMove(ele, true) mayNotMove(ela, true) end function Sexy(ela, ele, rounds) if rounds < 1 then mayNotMove(ele, false) mayNotMove(ela, false) setPlayerStorageValue(ele, 8958, -1) setPlayerStorageValue(ela, 8958, -1) return true end msg = {"OOHH!", "OMG", "FAST", "FUCK ME"} pos = getThingPos(ela) doTeleportThing(ele, {x=pos.x+1, y=pos.y, z=pos.z}) addEvent(doTeleportThing, 500, ele, {x=pos.x+3, y=pos.y, z=pos.z}) doSendAnimatedText(pos, msg[math.random(#msg)], math.random(255)) setPlayerStorageValue(ele, 8958, 1) setPlayerStorageValue(ela, 8958, 1) addEvent(Sexy, 1000, ela, ele, rounds-1) end function onSay(cid, words, param) if words == "!sex" then x = getPlayerByName(param) if x then if getPlayerSex(cid) == 0 then return doPlayerSendTextMessage(cid, 27, "Uma garota tem que ser convidada.") end if param == getCreatureName(cid) then return doPlayerSendTextMessage(cid, 27, "Isto não é possivel") end if getDistanceBetween(getThingPos(cid), getThingPos(x)) > 4 then return doPlayerSendTextMessage(cid, 27, "Este player está muito longe para tranzar.") end if getPlayerStorageValue(x, 8958) == 1 or getPlayerStorageValue(cid, 8958) == 1 then return doPlayerSendTextMessage(cid, 27, "Você ou a pessoa que convidou está tranzando neste momento.") end setPlayerStorageValue(x, 8956, cid) setPlayerStorageValue(x, 8957, 1) doPlayerSendTextMessage(x, 19, getCreatureName(cid)..", te convidou para tranzar, diga !aceitar ou !recusar") doPlayerSendTextMessage(cid, 19, getCreatureName(x)..", foi convidado(a) para tranzar aguarde sua resposta.") else doPlayerSendTextMessage(x, 27, "Player Not Found.") end elseif words == "!aceitar" then if getPlayerStorageValue(cid, 8957) == 1 then if getDistanceBetween(getThingPos(cid), getThingPos(getPlayerStorageValue(cid, 8956))) > 4 then return doPlayerSendTextMessage(cid, 27, "Este player está muito longe para dar uma resposta.") end doPlayerSendTextMessage(cid, 19, "Você aceitou o convite de "..getCreatureName(getPlayerStorageValue(cid, 8956))..".") doPlayerSendTextMessage(getPlayerStorageValue(cid, 8956), 19, "Seu convite foi aceito.") setPlayerStorageValue(cid, 8957, -1) prepareToSexy(cid, getPlayerStorageValue(cid, 8956)) addEvent(Sexy, 800, cid, getPlayerStorageValue(cid, 8956), 20) else doPlayerSendTextMessage(cid, 27, "Você não tem nenhum convite de tranza para aceitar.") end elseif words == "!recusar" then if getPlayerStorageValue(cid, 8957) == 1 then if getDistanceBetween(getThingPos(cid), getThingPos(getPlayerStorageValue(cid, 8956))) > 4 then return doPlayerSendTextMessage(cid, 27, "Este player está muito longe para dar uma resposta.") end doPlayerSendTextMessage(cid, 19, "Você recusou o convite de "..getCreatureName(getPlayerStorageValue(cid, 8956))..".") doPlayerSendTextMessage(getPlayerStorageValue(cid, 8956), 19, "Seu convite foi recusado.") setPlayerStorageValue(cid, 8957, -1) else doPlayerSendTextMessage(cid, 27, "Você não tem nenhum convite de tranza para recusar.") end end return true end Depois na pasta talkactions procure o arquivo talkactions.xml e adicione a seguinte tag: <talkaction words="!sex;!aceitar;!recusar" event="script" value="sexy.lua"/> Para convidar alguem para fazer sexo , use o comando: !sex Nome do Player Para responder use !aceitar ou !recusar Obrigado a todos.
    1 ponto
  11. Olá todos novamente sem nada pra fazer resolvi fazer uma tutorial, essa e para ajudar os iniciantes em posts como manda uma foto sem precisar que abra outros links http://www.youtube.com/watch?feature=player_profilepage&v=F73DweJCR_0 já pesso desculpa pelo assassinato do português se estiver em área erra pesso desculpas por favor mova para área correta.
    1 ponto
  12. dwhfms

    Aew Galera Da Uma Força!

    Assim: http://blog.mcsx.net/criar-msn-com-qualquer-email-windows-live-id/ Só que não vai dar pra usar como E-MAIL, só MSN
    1 ponto
  13. tenta assim itemA = { ["ztibia"]={n=3}, ["xtibia"]={n=1}, ["ytibia"]={n=2} } itemB = {} --for cItem,v in pairs(itemA) do -- table.insert(itemB,{[ itemA[cItem].n ] = { c = cItem } }) --end itemB[3] = {c="ztibia"} itemB[1] = {c="xtibia"} itemB[2] = {c="ytibia"} for i=1,table.maxn( itemB ) do print( itemB[i].c ) -- nao lista os item... end Automatizado: itemA = { ["ztibia"]={n=3}, ["xtibia"]={n=1}, ["ytibia"]={n=2} } itemB = {} for cItem,v in pairs(itemA) do itemB[itemA[cItem].n] = {c = cItem} end for i=1,table.maxn( itemB ) do print( itemB[i].c ) -- nao lista os item... end
    1 ponto
  14. bianco001

    Duvida Arena

    man eu nunca tentei fazer uma arena bom mais pelo oq eu axo q e vai em DATA, dps em arenas.xml e selesiona as posisoes la
    1 ponto
  15. Olá Pessoal Agr Vinho Com Um Script De Alta Categoria Uma Ss ali embaixo!! E tbm tem como vc por pra q seje so pra vip colocando a storage ali aonde manda e por s no sovip então e isso a ss esta ali embaixo Primeiro Abrá a pasta data/talkactions/scripts e add um config lua com esse nome Msgplayer dps de por tudo la dentro salva e va em talkactions.xml e add isso la Ss do script que q faz !!
    1 ponto
  16. jhon992

    [Talkactions] Skull

    ta aew: function onSay(cid, words, param, channel) local cargas = 5 if (getCreatureSkullType(cid) == SKULL_BLACK) then if (getPlayerItemCount(cid, 10064) > 0 and getPlayerStorageValue(cid, 102065) == cargas) then doCreatureSetSkullType(cid, SKULL_NONE) doPlayerRemoveItem(cid, 10064, 1) doPlayerSendTextMessage(cid, 25, "Black Skull Retirada.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_HOLYDAMAGE) setPlayerStorageValue(cid, 102065,0) return true end if getPlayerItemCount(cid, 10064) > 0 then doCreatureSetSkullType(cid, SKULL_NONE) doPlayerSendTextMessage(cid, 25, "Black Skull Retirada.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_HOLYDAMAGE) setPlayerStorageValue(cid, 102065, getPlayerStorageValue(cid, 102065)+1) else doPlayerSendTextMessage(cid, 25, "Voce precisa Do Iten Vip Para Remover Skull!") end end if (getCreatureSkullType(cid) == SKULL_RED) then if (getPlayerItemCount(cid, 10064) > 0 and getPlayerStorageValue(cid, 102065) == cargas) then doCreatureSetSkullType(cid, SKULL_NONE) doPlayerRemoveItem(cid, 10064, 1) doPlayerSendTextMessage(cid, 25, "Red Skull Retirada.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_HOLYDAMAGE) setPlayerStorageValue(cid, 102065,0) return true end if getPlayerItemCount(cid, 10064) > 0 then doCreatureSetSkullType(cid, SKULL_NONE) doPlayerSendTextMessage(cid, 25, "Red Skull Retirada.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_HOLYDAMAGE) setPlayerStorageValue(cid, 102065, getPlayerStorageValue(cid, 102065)+1) else doPlayerSendTextMessage(cid, 25, "Voce precisa Do Iten Vip Para Remover Skull!") end end if (getCreatureSkullType(cid) == SKULL_NONE) then doPlayerSendTextMessage(cid, 25, "Voce Nao Tem Mas Nem Uma Skull Para Retirar!") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end return TRUE end
    1 ponto
  17. jhon992

    Almentar Frags Para Red E Black

    peguei o segundo paragrafo e traduzi: O comprimento do crânio vermelho = 4 * 17 * 17 * 17 O comprimento do crânio preto = 4 * 24 * 60 * 60 Frags diária Para Red Skull = 5 Frags semanais para Red Skull = 25 Frags mensal Para Red Skull = 100 Frags diária Para Black Skull = Frags diária para Red Skull Frags semanal Para Black Skull = Frags semanais para Red Skull Frags mensal Para Black Skull = Frags mensal Para Red Skull Frags diária ao banimento = Frags diária Para Caveira Vermelha Frags semanal ao banimento = Frags semanais para Red Skull mensal Frag Banishment sto Frags = Red Skull Para mensal Saúde Morte com caveira preta = 100 Mana Morte com caveira preta = 35 use Black Skull = true use Handler Frag = true avançados Lista Frag = false então troca a parte das Frags diária Para Red Skull = 5 e poem 10, que automaticamente o black skull vai ser 20!
    1 ponto
  18. LukeShihouin

    Treinando Sem Tedio

    SHUAHSUASA seu tópico é muito interessante mas eu já usava a maioria de tudo que está ai, amanhã eu te dou um RP+.
    1 ponto
  19. miguel223

    Duvidas Com O /attr? Retirado

    Tópico fechado. Porque? Não uso mais Xtibia, não confiam em mim.
    1 ponto
  20. Isbigo

    [Equipe] Pokemon Server.

    Pokemon Server. Vagas: -Administrador:[isbigo], [Noiado]. -Web Mater:[Vaga], [Vaga]. -Client Maker:[isbigo], [Vago]. -Mappers:[Vaga], [Vaga]. -Scripters:[Vaga]. -Spell Maker:[Noiado].
    1 ponto
  21. brunotorres

    Real Global Map

    Negativado; Suspenso por 15 dias por ofensas. Até.
    -1 pontos
  22. BaiakZik

    Site Para Ot

    ixi eu n sei fazer isso
    -1 pontos
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...