Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 09/03/12 em %

  1. Vodkart

    Battlefield Event!

    Mapa feito por AnneMotta: Mapa Battlefield.rar scan: https://www.virustot...sis/1346548669/ Imagens do mapa: Descrição: - O evento é automático e acontece em determinado dia e hora da semana - Logo após é aberto um teleport então apenar um número limitado de players entra no evento - São formados por dois times, os "Black Assassins" e os "Red Barbarians" - Os times são balanceados automaticamente, quando o último jogador entra, esse teleport é fechado e depois de 5 minutos o evento começa, os 5 minutos são para os players ter tempo de planejar um ataque. - O sistema tem por finalidade matar todos do time inimigo, e os players que sobreviverem recebem um prêmio. Bônus: - Durante o evento é mostrado na tela somente dos jogadores que estão no evento um placar de times. - Até o último player entrar no evento, ficam mandando broadcast dizendo quanto players faltam para dar inicio ao jogo. - Se o evento abrir e não atingir a meta de players colocada, o evento é finalizado e os players voltam para o templo. Lembre-se: - De colocar Pvp Tool na área - De colocar área NoLogout Imagens: Instalação: Data/Lib Data/CreatureScript Data/Globalevents Data/Movements Como configurar: Configuração dos Times: Configurar Datas do evento: Configuração Paredes:
    1 ponto
  2. Como o Xtibia mudou seu site, e o modo de edição de tópico colocarei resumido.. Global Compacto Versão 8.60 Links com DLL e Sem DLL http://www.mediafire.com/?651yyaal4lklfbb http://www.mediafire.com/?wkwwote6edvcv4o
    1 ponto
  3. Galerath

    [9.31] Cyclopses (640Kb!)

    I've worked my ass off for about 2 weeks to get this shit done, you can ask any friend of mine. Every time I made progress I whined their asses off about it! :3 It's quite big, as the title says, it's 640kb... Pictures: Minimaps: (it's not all of them, but the most) Download: Click me!
    1 ponto
  4. jhon992

    [Spell] Crystal Wall 8.54+

    Hoje vim trazer uma spell que criei a pedido de um membro e achei bem legal. É uma spell que você controla para criar uma muralha em volta de seus inimigos, ela é otima para wars e servers derivados como de avatar, naruto. Então primeiro vou posta o script dela e depois um video para melhor entendimento. Vai em data/spells/scripts, duplica um arquivo e nomeia para "crystal wall" sem as aspas e nele cole: --<Script by Jhon992>-- local stonesId = {8633,8634,8635,8636} -- ids dos diferente tipos de stones. local timeRemove = 60 -- tempo para dumir as pedras em segundos. function createObject(cid, position, stonesPosition) if (isPlayer(cid)) then if getPlayerLookDir(cid) == 0 then positions = {x=position.x, y=position.y-1, z=position.z} elseif getPlayerLookDir(cid) == 1 then positions = {x=position.x+1, y=position.y, z=position.z} elseif getPlayerLookDir(cid) == 2 then positions = {x=position.x, y=position.y+1, z=position.z} elseif getPlayerLookDir(cid) == 3 then positions = {x=position.x-1, y=position.y, z=position.z} end if isWalkable(positions) then createStone(stonesPosition, positions, stonesId[math.random(1,#stonesId)], cid) addEvent(createObject, 500, cid, positions, stonesPosition) else addEvent(removeStones, timeRemove*1000, stonesPosition) end end end function createStone(stonesPosition, positions, stone, cid) doCreateItem(stone, 1, positions) stonesPosition[(#stonesPosition)+1] = {x=positions.x, y=positions.y, z=positions.z, stackpos=1} end function removeStones(stonesPosition) for i=1, #stonesPosition do for o=1, 2 do stonesPosition[i] = {x=stonesPosition[i].x, y=stonesPosition[i].y, z=stonesPosition[i].z, stackpos=o} if isInArray(stonesId, getThingfromPos(stonesPosition[i]).itemid) then doRemoveItem(getThingfromPos(stonesPosition[i]).uid) end end end end function isWalkable(pos, creature, pz, proj) -- nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end local creature = getTopCreature(pos) if creature.type > 0 then return false end if getTilePzInfo(pos) and not pz then return false end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function onCastSpell(cid, var) local stonesPosition = {} local position = getPlayerPosition(cid) createObject(cid, position, stonesPosition) return true end E em data/spells/spells.xml a tag: Obs: As tags serão diferentes dependendo da versão de seu ot. Tire como base de alguma outra tag e coloque as vocações de sua escolha. <instant name="Crystal Wall" words="exevo crystal" lvl="45" mana="800" prem="1" blockwalls="1" exhaustion="2000" groups="3,2000" icon="127" needlearn="0" event="script" value="crystal wall.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> Prontinho. Você pode escolher o tempo que demorara para sumir os crystais e pode modificar os crystais por outros ids, apenas modificando as duas primeiras linhas do arquivo "crystal wall.lua". Ela vai funcionar da seguinte maneira, quando você usa-sa ela ira criar crystais para a direção em que você esta virado e conforme você for modificando a direção os crystais vão saindo, até que encontre alguma barreira como players e itens que não se pode andar por cima. Video:
    1 ponto
  5. tibiaa4e

    Pasta Data - Monstros

    Pasta Enciclopedia com todos os links de outros tutoriais ! Link do Tópico Principal Parte II – Monstros Esse será meu tutorial de monstros mudado para versão 8.21+, eu refiz ele pois eu acho que estava apesar de muito bom obsoleto e preferi refaze-lo ao invés de apenas muda-lo. Os ataques e defesas explicarei ao final. Aqui o exemplo de monstro : <?xml version="1.0" encoding="UTF-8"?> <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="280" manacost="0"> <health now="8200" max="8200"/> <look type="35" corpse="5995"/> <targetchange interval="5000" chance="8"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" skill="82" attack="80" /> <attack name="demon gfb" interval="5700" chance="80" min="-180" max="-250" /> <attack name="mana drain" interval="10000" chance="70" /> <attack name="demon geb" interval="9000" chance="75" min="-360" max="-480" /> <attack name="Fire Field" interval="5600" chance="85" /> </attacks> <defenses armor="50" defense="45"> <defense name="healing" interval="1000" chance="15" min="90" max="200"> <attribute key="areaEffect" value="blueshimmer"/> </defense> <defense name="speed" interval="1000" chance="15" speedchange="200" duration="20000"> <attribute key="areaEffect" value="redshimmer"/> </defense> </defenses> <elements> <element firePercent="100"/> <element physicalPercent="25"/> <element earthpercent="20"/> <element energyPercent="20"/> <element deathPercent="20"/> <element icePercent="-25"/> <element holyPercent="-10"/> </elements> <immunities> <immunity lifedrain="1"/> <immunity paralyze="1"/> <immunity invisible="1"/> </immunities> <summons maxSummons="2"> <summon name="fire elemental" interval="6000" chance="40" max="2"/> </summons> <voices interval="5000" chance="10"> <voice sentence="Your soul will be mine!" yell="1"/> <voice sentence="MUHAHAHAHA!" yell="1"/> <voice sentence="CHAMEK ATH UTHUL ARAK!" yell="1"/> <voice sentence="I SMELL FEEEEAAAAAR!"/> <voice sentence="Your resistance is futile!" yell="0"/> </voices> <loot capacity="350"> <item id="2148" countmax="20" chance1="100000" chancemax="90000" /> gold <item id="2148" countmax="90" chance1="70000" chancemax="63000" /> gold <item id="2148" countmax="100" chance1="42000" chancemax="9800" /> gold <item id="2152" countmax="3" chance1="6600" chancemax="1200" /> platinum <item id="2151" countmax="7" chance1="5600" chancemax="3000" /> talon <item id="2795" countmax="6" chance1="12000" chancemax="800" /> fire mush <item id="2171" chance="7200" /> platinum a <item id="2462" chance="4500" /> devil h <item id="2179" chance="4200" /> gold ring <item id="7591" chance="5300" /> Great Health <item id="7590" chance="5200" /> Great Mana <item id="2470" chance="1400" /> golden legs <item id="2472" chance="800" /> magic plate amor <item id="1987" chance="100000"> <inside> <item id="2149" countmax="3" chance1="12000" chancemax="2001" /> small emerald <item id="2148" countmax="100" chance1="10888" chancemax="9200" /> gold <item id="2387" chance="48000" /> double a <item id="2176" chance="9999" /> orb <item id="2418" chance="7600" /> golden s <item id="1982" chance="7300" /> purpel tome <item id="2214" chance="6820" /> roh <item id="2396" chance="6800"/> ice rapier <item id="2165" chance="6860" /> stealth ring <item id="2432" chance="6200" /> fire a <item id="2164" chance="5100" /> might r <item id="2393" chance="4100"/> giant sword <item id="2520" chance="3200" /> demon shield <item id="5954" countmax="1" chance1="2600" chancemax="0" /> demon horn <item id="7368" countmax="5" chance1="2300" chancemax="0" /> assasin star <item id="2514" chance="1450" /> msm <item id="7382" chance="1300"/> demonrage sword <item id="7393" chance="900" /> demon trophy </inside> </item> </loot> </monster> Vou explica-lo passo a passo o que significa e ao final tentar enteder como se faz ele. <monster name="Demon" nameDescription="Demon" race="fire" experience="6000" speed="280" manacost="0"> <health now="8200" max="8200"/> <look type="35" head="0" body="0" legs="0" feet="0" addons="0" corpse="5995" /> <targetchange interval="5000" chance="8"/> <strategy attack="100" defense="0"/> Monster Name : É o nome que dele que aparece ou para ser sumonado ou colocado no map editor. nameDescription : É o nome que aparecera ao dar look. Lembrando que a significa um ou seja só se usa em boss. race : A raça dele. Ou seja o tipo de "sangue " que sai ao tomar dano. Existe 4 raças listadas abaixo : venom : Venenosa, como Giant Spider, spider ou outros insetos. blood : Blood é o mais normal sai sangue quando morre. Como Wolfs,trolls e outros tipos de humanos. undead : Mortos, ou seja só sai aquele dano, como Skeletons, Vampire ou Mummys. fire : Raça de fogo, como Demons,Fire elemental e outros. experience : A experiencia que ele da ao ser morto. speed : A velocidade inicial dele, lembrando que um player lvl 1 tem 220 de velocidade. Para fazer monstros que são "estatuas", coloque speedy 0. manacost : A mana que prescisara para ele ser sumonado, caso seja 0 ele não poderá ser sumonado. E também é valida para convece-lo Health now : A vida que o monstro iniciara ao ser sumonado ou dar spawn. max : Esse é o health maximo. looktype : O id da roupa do monstro. head : É a cor da cabeça do monstro. body : É a cor do tronco do monstro. legs : É a cor da perna do monstro. feet : É a cor do pé do monstro. (caso não seja um editavel pode ser retirado.) addons : É o numero de addons.(0-sem, 1- addon 1, 2 -addon 2 e 3-Todos os addons). corpse : O corpo dele quando ele morre (pode ser qualquer item.). target change interval: É o quanto em milessegundos o monstro demora para tentar mudar de alvo.(1000 = 1 segundo). chanche: A chanche de ele tentar mudar de alvo (maximo é 100). strategy attack: Isso funciona como o sistema do player de ataque defesa. O calculo de attack e defesa não pode ultrapassar 100. Então normalmente os monstros vem com 100 de ataque e 0 de defesa. Um monstro como mais defesa pode ser mudado. defense: Ler acima. Nessa parte, talvez você queira fazer um monstro com o jeito de um item, como aquelas torres de ankhrahmun. Para isso troque a linha do looktype para essa : <look typeex="1560"/> Onde esse numero é o id do item. Tabela de cores Agora vamos explicar a parte de flags. <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> summonable : Se ele pode ou não ser sumonado por players. A mana é configurada no manacost. attackable : Se ele pode ser atacado. Por exemplo aquelas torres magicas de ank não podem. hostile : Se ele é hostil ou não. Chickens, deer não são hostis. illusionable : Se ele pode ser usado pela spells "utevo res ina". convinceable : Se ele pode ser convencido pela runa. pushable : Se ele pode ou não ser "empurrado". canpushitems : Se ele empurra ou não itens. (caso não seja possivel empurrar o item, ele destruira. canpushcreatures : Se ele empurra ou não criaturas. Caso não seja possivel empurrar e a criatura tiver menos health que seu dano maximo ele a matará). targetdistance : O quanto de sqm ele atacará o player. (caso faça monstros não hostis coloque + de 4. Tente não colocar mais de 8) staticattack : É a chanche de o monstro ficar parado. Porém ao colocar muito pouco ele não ficará nem um segundo parado. runonhealth : Qual o minimo de vida para ele correr. Caso ele "heale" e isso passar desse valor, ele voltará a atacar. Agora sobre elements (imunidades). Lembrando que valores negativos querem dizer fraqueza e positivos é boa defesa contra o elemento. <elements> <element firePercent="100"/> <element physicalPercent="25"/> <element earthpercent="20"/> <element energyPercent="20"/> <element deathPercent="20"/> <element icePercent="-25"/> <element holyPercent="-10"/> </elements> fire : O quanto de imunidade a fogo ele terá. physical : O quanto de imunidade a fisico ele terá (Melee e Explosion Spell). earth : A antiga poison. energy : O quanto de imunidade a energy. death: O quanto de imunidade a morte (Death Strike e Sudden Death). ice : O quanto de imunidade a gelo ele terá. holy : O quanto de imunidade a benção ele terá (apenas paladinos tem esse tipo de spell). Nas imunidades é apenas colocar os nomes. E o monstro terá imunidade, hoje em dia é usado para elementos não citados acima e outros tipos. Os que existem são physical fire earth ou poison energy death ice holy lifedrain paralyze outfit drunk invisible drown (dano dos monstro de agua) Agora a parte de summons : <summons maxSummons="2"> <summon name="fire elemental" interval="6000" chance="40" max="2"/> </summons> maxSummons : Numero maximo de summons que ele poderá ter vivas. summon name : O nome do monstro que ele sumonará. interval : De quanto em quanto tempo ele tentará sumonar o monstro em milessegundos. chanche : A chanche de ele tentar sumonar. max : O maximo que ele sumonará vivos esse monstro. (pelo amor deixe isso maior que o maximo dele.) Agora a parte dos gritos: <voices interval="5000" chance="10"> <voice sentence="Your soul will be mine!" yell="1"/> <voice sentence="MUHAHAHAHA!" yell="1"/> <voice sentence="CHAMEK ATH UTHUL ARAK!" yell="1"/> <voice sentence="I SMELL FEEEEAAAAAR!"/> <voice sentence="Your resistance is futile!" yell="0"/> </voices> interval: De quanto em quanto tempo ele tentará falar. chanche: De quanto em quanto tempo ele poderá falar. voice sentence: A fala que ele irá falar. yell: Se essa fala será um grito ou não. Agora o que eu considero uma das partes mais importantes do monstro. Infelizmente a maioria das pessoas, não se interressam por ela E seus monstros ficam uma verdadeira merda... <loot capacity="250"> <item id="2148" countmax="20" chance1="100000" chancemax="90000" /> gold <item id="2148" countmax="90" chance1="70000" chancemax="63000" /> gold <item id="2148" countmax="100" chance1="42000" chancemax="9800" /> gold <item id="2152" countmax="3" chance1="6600" chancemax="1200" /> platinum <item id="2151" countmax="7" chance1="5600" chancemax="3000" /> talon <item id="2795" countmax="6" chance1="12000" chancemax="800" /> fire mush <item id="2171" chance="7200" /> platinum a <item id="2462" chance="4500" /> devil h <item id="2179" chance="4200" /> gold ring <item id="7591" chance="5300" /> Great Health <item id="7590" chance="5200" /> Great Mana <item id="2470" chance="1400" /> golden legs <item id="2472" chance="800" /> magic plate amor <item id="1987" chance="100000"> <inside> <item id="2149" countmax="3" chance1="12000" chancemax="2001" /> small emerald <item id="2148" countmax="100" chance1="10888" chancemax="9200" /> gold <item id="2387" chance="48000" /> double a <item id="2176" chance="9999" /> orb <item id="2418" chance="7600" /> golden s <item id="1982" chance="7300" /> purpel tome <item id="2214" chance="6820" /> roh <item id="2396" chance="6800"/> ice rapier <item id="2165" chance="6860" /> stealth ring <item id="2432" chance="6200" /> fire a <item id="2164" chance="5100" /> might r <item id="2393" chance="4100"/> giant sword <item id="2520" chance="3200" /> demon shield <item id="5954" countmax="1" chance1="2600" chancemax="0" /> demon horn <item id="7368" countmax="5" chance1="2300" chancemax="0" /> assasin star <item id="2514" chance="1450" /> msm <item id="7382" chance="1300"/> demonrage sword <item id="7393" chance="900" /> demon trophy </inside> </item> </loot> loot capacity : O maximo que o monstro terá de itens dentro de si, Lembrando que dificilmente um monstro que vem muita coisa passa de 180. itemid: O id do item que ele dropará. countmax: O maximo que o item virá, podendo ser stackable ou não. Porém prefiro usar so para stackable. (não use isso para dar mais de 100, pois fica ridiculo.) chanche1: A chanche que o monstro dará o item. chanchemax: A chanche de ele dar a quantidade maxima do item. Agora algumas dicas : -Como a linguagem é xml, adicione o nome do item que ele dar, para se for editar, você não se confude. Pode colcoar sem nenhum caractere especial -Coloque sempre monstros com bag, para isso faça isso : <item id="1987" chance="100000"> <inside> <item id="7393" chance="900" /> demon trophy </inside> </item> Ou seja não feche a tag do item 1987 (bag de rook), e abra a tag inside (dentro) e coloque tudo o que quiser, (não faça cair mais de 8 itens na bag), depois feche a tag inside e feche a tag item. Ai a bag so virá quando cair algo dentro, se quiser fazer bags vazias coloque ela como um item normal separado. - Não faça um monstro que não seja boss cair muitos itens, pois fica ridiculo. - Se quiser que um monstro drope um item sempre (como os pharaos dropam aqueles itens, faça ele com chanche 1000000, ai ele sempre cairá. Bem agora é a parte legal dos monstros, bem legal é no começo é um verdadeiro saco, depois fica muito legal (Eu por exemplo adorei fazer 250 monstros no zorzin ot, e agora ter que fazer denovo pq o tibia mudo tudo ¬¬). Bem eu ensinarei como fazer spells em monstros, porém você poderá usar as feitas em spells tradicional, (eu uso as minhas antigas). Vou explicar essa do demon. <attacks> <attack name="melee" interval="2000" skill="82" attack="80" /> <attack name="demon gfb" interval="5700" chance="80" min="-180" max="-250" /> <attack name="mana drain" interval="10000" chance="70" /> <attack name="demon geb" interval="9000" chance="75" min="-360" max="-480" /> <attack name="Fire Field" interval="5600" chance="85" /> </attacks> attack name: Nome da magia, alguns nomes são reservados para já constar a condição (explicados mais a frente). Para usar as magias ja criadas use o nome dela. interval: Tempo em milessegundos, que ele atacará. chanche: A chanche de ele atacar o player. skill : Só pode ser usado com o nome Melee, siginifica o skill do monstro attack: Seria o ataque da arma do monstro (imaginaria). Bem nesse monstro ele usa magias criadas por mim que estão no spells. Agora vamos fingir que eu fiquei fresco, e não quero mais usar magias do spells, pq kero limprar 1kb do meu hd. Então vou refazer todas elas dentro do monstro. Começando pela geb (Great Energy Beam): Lembra que eu falei que tem as palavras reservadas ? Então cada magia do Tibia tem sua condição e esses nomes ja dão o tipo dela. "melee", "physical", "poison", "earth", "fire", "ice", "freeze", "energy", "drown", "death", "curse", "holy", "lifedrain", "manadrain", "healing", "speed", "outfit", "invisible", "drunk", "firefield", "poisonfield", "energyfield", "firecondition", "poisoncondition", "energycondition", "drowncondition", "freezecondition", "cursecondition" Só para os duvidosos curse é death e dazzled é benção. Pelo amor de deus, não me façam explicar cada um dos nomes reservado. Pelo nome já da pra imaginar. Agora que já temos isso Vamos construir nossa GEB Ela fica assim : attack name="energy" interval="9000" chance="30" length="8" spread="0" min="-380" max="-420"> <attribute key="areaEffect" value="purpleenergy"/> </attack> Esse length e spread são definições do tamanho dela. Onde : length - comprimento. spread - seria mais ou menos a largura. radius - raio da magia. Ou seja o numero de sqm em relação ao centro para as pontas. Acredito que essa será a parte mais complicada de explicar. EU prefiro dar por exemplos. Imagine as seguintes magias a firewave, great energy beam e Great fireball. Para fazer uma firewave deviamos usar isso length="4", spread="4"; A great energy beam : lenght="8", spread="0" A Great Fireball : radius="4" Para explicar o radius tem essa figura {0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 8, 8, 7, 8, 8, 0, 0, 0, 0}, {0, 0, 0, 8, 7, 6, 6, 6, 7, 8, 0, 0, 0}, {0, 0, 8, 7, 6, 5, 5, 5, 6, 7, 8, 0, 0}, {0, 8, 7, 6, 5, 4, 4, 4, 5, 6, 7, 8, 0}, {0, 8, 6, 5, 4, 3, 2, 3, 4, 5, 6, 8, 0}, {8, 7, 6, 5, 4, 2, 1, 2, 4, 5, 6, 7, 8}, {0, 8, 6, 5, 4, 3, 2, 3, 4, 5, 6, 8, 0}, {0, 8, 7, 6, 5, 4, 4, 4, 5, 6, 7, 8, 0}, {0, 0, 8, 7, 6, 5, 5, 5, 6, 7, 8, 0, 0}, {0, 0, 0, 8, 7, 6, 6, 6, 7, 8, 0, 0, 0}, {0, 0, 0, 0, 8, 8, 7, 8, 8, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0} Ou seja com raio 8 ele abrangerá tudo isso. Então ele ficará um tipo de triangulo, tornando nossa vida mais pratica. O length seria simplesmente o numero 1,2,3,4,5,6,7,8. Ou seja , uma reta O spread sempre é usado junto com o length. O spread maximo é contado apenas no ultimo sqm do length, então ele ficaria assim : {1, 1, 1, 1, 1}, {0, 1, 1, 1, 0}, {0, 1, 1, 1, 0}, {0, 0, 3, 0, 0}Sendo o 3 o primeiro sqm da magia. Ao sqm de numero 4, ele fica com 4 de largura e vai diminuindo até que fique em 0. Meio complicado de explicar, tente fazer testes que você encontrará facilmente. Bem isso você ja sabe, como fazer magias espontaneas. Agora tem aquelas magias que os montros tacam na direção do player Para isso acontecer apenas adicione a tag target="1" range="7" Target ou alvo é para ele tacar no monstros. E range o maximo de sqm ele poderá tacar no alvo. Pois muito bem, agora tentei explicar, o modo de fabricar as distancias dela. Agora tem mais duas magias que tem prefixos diferentes, que é outfit e paralyze ou haste. As duas tem uma diferença em comum que é duration, que seria o tempo que durará o efeito speedchange para paralyze ou haste (coloque valores negativos para diminuir, se tiver em defesa só o player será afetado, se tiver em defesa o monstro será afetado). item="id" ou monster="nome" para o item ou monstro que o atacado virará ao receber a magia. Exemplo de magia que paraliza <attack name="speed" interval="7600" chance="30" range="7" speedchange="-600" duration="20000"> <attribute key="areaEffect" value="icetornado"/> </attack> E muda outfit <attack name="outfit" interval="11900" chance="40" range="7" item="7172" duration="8000"> <attribute key="areaEffect" value="blueshimmer"/> <attribute key="shootEffect" value="snowball"/> </attack> Para que o player fique bebado é so colocar o nome drunk e a duração. Para ele tacar fiels também é a mesma coisa, só colocar o nome. Para lifedrain coloque o nome e os efeitos Bem se você entendeu essa explicação muito confusa, parabens mesmo. Se não tente ler umas 2x que acho que vc entenderá. Se não entendeu, vá a merda xD A ultima parte dos ataques é tentar fazer os efeitos. Os nomes em xml são diferentes dos que são em LUa, porém como eu aqui Só quero facilitar suas vidas eu fiz uma tabela enoorme e chata que mostra elas. Primeiro vamos explicar os efeitos : <attribute key="shootEffect" value="poison"/> <attribute key="areaEffect" value="redshimmer"/> shootEffect é o efeito que sai quando a magia é disparada. areaEffect é quando ele chega. Isso é facim, so saber as tags corretas aqui vai a tabela de shootEffect. Essas { e } é que eu copiei das sources... Para compara-las a lua, teste os efeitos com !x "1,2,3 e talz Agora os areaEffect Para verificar esses de o comando !z"1,2,3 sei la Isso so funciona no TFS, duvido que a porcaria do Ares tenha essa talk action. Bem aqui se encerra o tutorial de monstros, esse fico mais completo, talvez confuso se houver muitas reclamações posso tentar melhorar, já que como to sem internet fiz isso no notepad++, e é meio estranho... Agora vai as dicas para fazer bons monstros. Dicas Faça monstros "reais", não misturem elementos, ao não ser que eles sejam magos tipo warlock. O loot deve ser equivalente a sua força Não adianta um Wolf dar magic plate armor, claro que tem suas exceções. Tente fazer loots lerdos para ots com exp até 20 Pois não tem graça matar 5 demons e pegar magic plate armor e goldens legs. O legal é quando você pegar um loot maximo, você se sentir orgulhoso. Monstros de água devem ter velocidades maiores e não podem ser usados em chão normal, pq eles seriam ultra-velozes, e monstros de terra em agua seriam verdadeiras largatas. No tibia hoje em dia os elementos tem fraquezas para outros e fortes em outros. A ordem é Ice < energy < earth < fire < ice Então se o monstro for nativo do gelo, ele será forte contra fogo e fraco contra energia. E mesmo um monstro de gelo não pode dar uma dragon robe, ficaria estranho. O grande problema que eu vejo é na montagem de Boss. Normalmente eles dão loots estupendos e são extremamente impossivel de matar, porque tacam diversas magias e tem sangue exurberante. Dependendo da exp do seu ot, faça uns mais brandos. Respawns Diversifique os monstros, não faça um ot que ao chegar em um nivel alto ele fique morando em um certo tipo de monstro, como demons. Os monstros que normalmente são lucrativos pelo dano/exp são dragons (dragon,dl,frost). Crie areas grandes deles, e também de outros mais visados. Como demons, behemoths, criaturas de POI. Se você criar um monstro faça ele um legal, que de um loot razoavel (de preferencia raro). Em areas de quests, faça monstros que se "deem" beem. Por exemplo uma area com Fire Elemental, não pode ter bichos que não tem imunidade a fogo, porque ele mataria todos. Para criar Boss, não use respawn fixo no map editor, use a raids, que tem um tutorial (ou terá em breve) na aba da seção Para que o boss seja esperado e não uma coisa normal e chata. Encerro esse tutorial, esperando que seja util para todos vocês e esperem as proximas partes. O comentario é a principal comunicação COmento se gostou ou não de sugestões, reclamações ou me ofenda sei la. Espero que tenha ajudado bastante.
    1 ponto
  6. DevilMoon

    Pet System ! Tfs= 0.3.4

    Ola Xtibianos, Vejo Muintas Pessoas Com Problemas em Seus Pets como Eu!! Entao decidi Achar um Para minha TFS 0.3.4 e Achei um Perfeitinho e Quis Compartilhar a Galera Xtibiana!! Comandos: !pet summon !pet buy Cat !pet release !pet move !pet say Começando: Vá em Data>Talkactions.xml Adicione Isso: <talkaction words="!pet" script="pet.lua"/> Agora em Data>Talkactions>Scripts crie uma pasta.lua chamada pet e coloque isso: local PET = -- CONFIG -- { -- storages name = 7700, petuid = 7701, online = 7702, damage = 7703, allowed = { -- allowed pets, costs & level required ["cat"] = {cost = 50, level = 1}, ["dog"] = {cost = 50, level = 1}, ["deer"] = {cost = 50, level = 1}, ["pig"] = {cost = 50, level = 1}, ["parrot"] = {cost = 50, level = 1}, ["seagull"] = {cost = 50, level = 1}, ["chicken"] = {cost = 50, level = 1}, ["rabbit"] = {cost = 50, level = 1}, ["squirrel"] = {cost = 50, level = 1}, ["frog"] = {cost = 50, level = 1}, ["rat"] = {cost = 50, level = 1}, ["sheep"] = {cost = 100, level = 1}, ["wolf"] = {cost = 300, level = 8}, ["skeleton"] = {cost = 300, level = 15}, ["war wolf"] = {cost = 1000, level = 20}, ["demon skeleton"] = {cost = 3000, level = 25} }, direction = {["up"] = NORTH, ["down"] = SOUTH, ["right"] = EAST, ["left"] = WEST}, -- used with !pet move help = { -- used with !pet say "Type '!pet summon' to summon your pet.", "Type '!pet buy [petname]' to buy a pet. e.g. '!pet buy war_wolf'", "Type '!pet move [direction]' to ask your pet to move.", "Type '!pet say \"text' to ask your pet to say something.", "Type '!pet release' to release your pet." } } function petHelp(p) doPlayerSendTextMessage(p.cid, 19, PET.help[p.i]) end function onSay(cid, words, param) local p = {""} if param ~= "" then p = string.explode(param, " ") end local petuid = getPlayerStorageValue(cid, PET.petuid) local online = getPlayerStorageValue(cid, PET.online) if p[1] == "help" then for i = 1, #PET.help do addEvent(petHelp, 1000*i - 1000, {i = i, cid = cid}) end elseif p[1] == "summon" then local name = getPlayerStorageString(cid, PET.name) if isCreature(petuid) == FALSE then if online == 1 then local tile = getClosestFreeTile(cid, getThingPos(cid), FALSE, FALSE) if getTilePzInfo(getThingPos(cid)) ~= 1 and getTilePzInfo(tile) ~= 1 then if name ~= "" then if getMonsterInfo(name) ~= nil then petuid = doSummonCreature(name, tile) doConvinceCreature(cid, petuid) doCreatureSay(petuid, 'hey, sup', TALKTYPE_ORANGE_1) doChangeSpeed(petuid, getCreatureBaseSpeed(cid) - getCreatureBaseSpeed(petuid)) setPlayerStorageValue(cid, PET.online, 2) setPlayerStorageValue(cid, PET.petuid, petuid) doPlayerSendCancel(cid, 'Summoning '..name..'.') if getPlayerStorageValue(cid, PET.damage) > 0 then if getPlayerStorageValue(cid, PET.damage) < getCreatureMaxHealth(petuid) then doCreatureAddHealth(petuid, getPlayerStorageValue(cid, PET.damage)*-1) end end else doPlayerSendCancel(cid, 'Invalid pet name.') end else doPlayerSendCancel(cid, 'Invalid pet name.') end else doPlayerSendCancel(cid, 'You may not summon your pet here.') end else doPlayerSendCancel(cid, 'You do not have a pet. Type !pet <pet name> to get one.') end else setPlayerStorageValue(cid, PET.damage, getCreatureMaxHealth(petuid) - getCreatureHealth(petuid)) doCreatureSay(petuid, 'gtg, cya', TALKTYPE_ORANGE_1) doSendMagicEffect(getThingPos(petuid),CONST_ME_POFF) doRemoveCreature(petuid) doPlayerSendCancel(cid, 'Retrieving '..name..'.') setPlayerStorageValue(cid, 7702, 1) end elseif p[1] == "buy" then local text if p[2] ~= nil then name = string.gsub(p[2], "_", " ") if (isCreature(petuid) ~= TRUE and online == 2) or online <= 0 then if PET.allowed[name] ~= nil then if getPlayerLevel(cid) >= PET.allowed[name].level then if getPlayerMoney(cid) >= PET.allowed[name].cost then doPlayerRemoveMoney(cid, PET.allowed[name].cost) setPlayerStorageValue(cid, PET.online, 1) setPlayerStorageValue(cid, PET.damage, 0) setPlayerStorageString(cid, PET.name, name) text = "You have bought a pet \""..name.."\" for "..PET.allowed[name].cost.." gold coins." else text = "You do not have enough money. It costs "..PET.allowed[name].cost.." gold coins to buy a "..name.."." end else text = "You need level "..PET.allowed[name].level.." to buy this pet." end else text = "You may not buy that pet." end else text = "You already have a pet." end else text = "!pet buy [petname]" end if text ~= nil then doPlayerSendTextMessage(cid, 19, text) end elseif p[1] == "move" then if isCreature(petuid) == TRUE then if p[2] ~= nil then if PET.direction[p[2]] ~= nil then if doTileQueryAdd(petuid, getPosByDir(getThingPos(petuid), PET.direction[p[2]], 1)) == 1 then doMoveCreature(petuid, PET.direction[p[2]]) else doPlayerSendCancel(cid, 'Tile is blocked.') end else doPlayerSendCancel(cid, '!pet move [up/down/left/right]') end else doPlayerSendCancel(cid, '!pet move [up/down/left/right]') end else doPlayerSendCancel(cid, 'Summon a pet first.') end elseif p[1] == "say" then text = string.explode(param, "\"") if isCreature(petuid) == TRUE then if text[2] ~= nil then if string.len(text[2]) < 39 then doCreatureSay(petuid, text[2], TALKTYPE_ORANGE_1) else doPlayerSendCancel(cid, 'Too long text.') end else doPlayerSendCancel(cid, '!pet say "I am '..getCreatureName(cid)..'\'s pet.') end else doPlayerSendCancel(cid, 'Summon a pet first.') end elseif p[1] == "release" then if isCreature(petuid) == TRUE and getPlayerStorageValue(cid, PET.online) == 2 then doCreatureSay(petuid, ':\'(', TALKTYPE_ORANGE_1) doSendMagicEffect(getThingPos(petuid),CONST_ME_POFF) doRemoveCreature(petuid) doPlayerSendCancel(cid, 'Releasing '..name..'.') setPlayerStorageValue(cid, 7702, 1) end setPlayerStorageValue(cid, PET.online, 2) setPlayerStorageValue(cid, PET.damage, 0) doPlayerSendTextMessage(cid, 19, "You have released your pet \""..name.."\".") setPlayerStorageString(cid, PET.name, "") else doPlayerSendTextMessage(cid, 19, "!pet [help/summon/buy/move/say/release]") end return TRUE end Ok Acabamos com as Talkactions agora vá em Data>CreatureEvents.xml e Adicione Isso: Obs: ( Caso Ja Ouver a Pasta Logout.lua Delete Tudu dela e Coloque a Nova ) <event type="logout" name="logout" event="script" value="logout.lua"/> Agora vá em Data>CreatureEvents>Scripts crie uma pasta.lua chamada logout e coloque isso: local petuidstor = 7701 -- storages, have to be same as your other script. local onlinestor = 7702 local damagestor = 7703 function onLogout(cid) if isCreature(getPlayerStorageValue(cid, petuidstor)) == 1 then if getPlayerStorageValue(cid, onlinestor) == 2 then local petuid = getPlayerStorageValue(cid, petuidstor) setPlayerStorageValue(cid, damagestor, getCreatureMaxHealth(petuid) - getCreatureHealth(petuid)) doSendMagicEffect(getThingPos(petuid),CONST_ME_POFF) setPlayerStorageValue(cid, onlinestor, 1) end end return TRUE end Abra a pata login.lua que se localiza em Data>CreatureEvents>Scripts abra ela e coloque isso: registerCreatureEvent(cid, "logout") Agora para Finalizar vá em Data>Lib>Function.lua e Acresente Isso: string.explode = function (str, sep) local pos, t = 1, {} if #sep == 0 or #str == 0 then return end for s, e in function() return str:find(sep, pos) end do table.insert(t, str:sub(pos, s - 1):trim()) pos = e + 1 end table.insert(t, str:sub(pos):trim()) return t end _warpzone = 2147483648 -- start storing strings here (THIS IS THE ABSOLUTE MAXIMUM VALUE FOR THIS) _maxlength = 1024 -- multiply by 3 to get the true length. setPlayerStorageInteger = setPlayerStorageValue getPlayerStorageInteger = getPlayerStorageValue function setPlayerStorageString(cid, key, value) if #value > (_maxlength-1) * 3 - 1 then -- Last word is reserved for 0 termination of the string. error("Storage string is too long") end if key > _warpzone / _maxlength then error("Storage string key is too large (" .. key .. ")") end key = _warpzone + key * _maxlength local word = 0 local wordwrap = 0 local wordcount = 0 local i = 1 while i <= #value do local byte = string.byte(string.sub(value, i, i)) word = bit.bor(word, bit.lshift(byte, wordwrap)) wordwrap = wordwrap + 8 if wordwrap == 24 then --[[ In the ideal world we would be able to store 4 characters per word, however, as the default return value for getPlayerStorageValue is -1, we can't use the last bit. ]]-- setPlayerStorageInteger(cid, key + wordcount, word) word = 0 wordwrap = 0 wordcount = wordcount + 1 end i = i + 1 end -- store the last word setPlayerStorageInteger(cid, key + wordcount, word) end function getPlayerStorageString(cid, key) if key > _warpzone / _maxlength then error("Storage string key is too large (" .. key .. ")") end key = _warpzone + key * _maxlength local wordcount = 0 local str = "" while true do if wordcount >= _maxlength then break end local word = getPlayerStorageInteger(cid, key + wordcount) if word == -1 then -- end of string break else -- Extract the 3 characters from the value byte = bit.band(word, 255) if byte == 0 then break else str = str .. string.char(byte) end byte = bit.rshift(bit.band(word, 65280), 8) if byte == 0 then break else str = str .. string.char(byte) end byte = bit.rshift(bit.band(word, 16711680), 16) if byte == 0 then break else str = str .. string.char(byte) end end wordcount = wordcount + 1 end return str end Obs²: Delete Todos Arquivos de Pets System Velhos para nao Causar nem um Bug!! Creditos: jordanhenry. Sugestoes, Duvidas Somente neste Topico!! Abraços..
    1 ponto
  7. Galerath

    [9.31] Dark Cathedral

    Eu tenho algum tempo mais livre em minhas mãos para que eu tivesse mais tempo para concluir a merda. Eu sei que é muito parecido com a Dark Catedral tíbia Global, mas isso é porque eu tentei refazer tudo de que me lembro eo minimap no Tibia Wiki. Ele pode ser usado para uma porção de spawns ... (é monsterfree porque eu sou preguiçoso e não quero adicionar qualquer um XD) imagens: minimaps: download: Click me!
    1 ponto
  8. Aew galera, aqui está um vídeo com um tutorial ensinando a criar depots, um para cada cidade:
    1 ponto
  9. Delaks

    Duvida Comun Sobre Rme...

    Uns servidores são WAR,deve ser por isso.
    1 ponto
  10. Delaks

    Show-Off - Subwat Kamikaze V23

    Voce editou muito pouco,mas ta meu rep pra incentivar.
    1 ponto
  11. Bernardo

    [Newfags] We Have The Power!

    Kill it before it lay eggs
    1 ponto
  12. Piabeta Kun

    Gesior Seguindo Vip Stats

    você tem que descobrir o storage do vip system e colocar no config.php (é o msmo storage que faz o player ser vip ou não)
    1 ponto
  13. Slicer

    [Encerrado] [Pokemon] Dúvidas? - Pda

    @PedroSouza tenta isso...
    1 ponto
  14. Eu queria uma script como no titulo logo dis aluguel de casa mais pra poketibia tipo cada 20 ate 30 dias ele conpra um tanto de hd dai o cara teria +- 3 dias pra paga se nao pagase ele pedia a casa ea casa voltava a venda normal eos itens dentro da casa dele fose pra dp dele caso ele perdese a casa voltase a venda !! +- issu se possivel alguem poder mi ajudar ^^ Rep+
    1 ponto
  15. ok vou testa mais ja vou dando o outro rep q prometi amigo axei um problema nesse ultimo npc q min amndou: http://i.imgur.com/usg18.png ele da a chave sempre que o player pede =[
    1 ponto
  16. caotic

    Lua Demo

    Demo Lua demo e um debugger LUA nele e possivel verificar possiveis erros em seus scripts. Alem de ser pratico ele e online ou seja poder ser ultilizado pelo seu navegador. Criado pelo site oficial de LUA e uma otima opção para debugger. Eu recomendo pois ultilizo o lua demo e mais pratico e mais rapido. Interface A interface do LUA Demo e bem simples. Existe dois campos na sua pagina a primeira deve ser colocada o script e a segunda e Output onde mostra os erros do seus scripts. Não existe muita beleza em sua pagina mais e bem simples facilitando o acesso a pagina. Informações As informações são o que estão causando erros no scripts. As informaçôes dos erros aparecem no Output. Alem de que em baixo do Output e exibido a mensagem de failed(falha). Capacidade O lua demo suporta grandes scripts e os testa de forma agil. Mais ele apresenta um limite de caracteres. Seu limite de caracter não prejudica ja que ele tem um suporte muito grande a quantidade de caracterers. Funções Lua demo apresenta alguns botões com funçôes para seu funcionamento tais como: Run(Ok) = Este botão serve para começar o debugger. Clear(Apaga) = Apaga o scripts Restore(Restaurar) = Restaura o scripts Restart = Da um restart no campo. Para acessar o LUA Demo clique abaixo Lua Demo Mais informaçoes. http://www.lua.org/ (Conheça tambem o Scite)
    1 ponto
  17. local t = { ["demon"] = {start = 3800, required = 5, reward = {{2160,1}, {2113,1}}, storage = 3934}, ["dragon"] = {start = 3801, required = 5, reward = {{2160,2}, {2387,1}}, storage = 3935} } function onUse(cid, item, fromPosition, itemEx, toPosition) local remove = t[getCreatureName(itemEx.uid):lower()] function isSummon(uid) return uid ~= getCreatureMaster(uid) or false end if remove then if getPlayerStorageValue(cid, remove.storage) == 1 then return doCreatureSay(cid, "You already have the permission.", TALKTYPE_ORANGE_1) end if isSummon(itemEx.uid) then return doPlayerSendCancel(cid, "You cannot remove summons.") end if getPlayerStorageValue(cid, remove.start) < remove.required then if getPlayerStorageValue(cid, remove.start) < 0 then setPlayerStorageValue(cid, remove.start, 0) end setPlayerStorageValue(cid, remove.start, getPlayerStorageValue(cid, remove.start)+1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, " ".. getCreatureName(itemEx.uid) .." removed. Total = [".. getPlayerStorageValue(cid, remove.start) .."/".. remove.required .."]") doRemoveCreature(itemEx.uid) doSendMagicEffect(toPosition, 2) else for i=1, #remove.reward do doPlayerAddItem(cid, remove.reward[i][1], remove.reward[i][2]) end setPlayerStorageValue(cid, remove.storage, 1) doCreatureSay(cid, "You have gained the permission!", TALKTYPE_ORANGE_1) end end return true end Configuração: ["nome do monstro"] = {start = não mexa, required = quantidade que tem q remover, reward = {{ID_do_ITEM,QUANTIDADE}, {ID_do_ITEM,QUANTIDADE}}, storage = storage que ganhará}, Como não sabia se o monstro que você colocou pode ser sumonado ou não, coloquei para não poder ser removido, se o monstro for um summon. Espero ter ajudado.
    1 ponto
  18. Stigal

    [Encerrado] Como Arrumar Bug Level

    em creaturescripts/scripts crie um arquivo chamado levelmax.lua e cole o seguinte código: local LevelMax = 200 function onAdvance(cid, skill, oldLevel, newLevel) if skill == 8 then if oldLevel == LevelMax then doPlayerAddLevel(cid, -1) end end return true end depois na mesma pasta procure o login.lua e registre o evento como registerCreatureEvent(cid, "LevelMax") na pasta anterior no arquivo creaturescripts.xml adc a seguinte tag: <event type="advance" name="LevelMax" event="script" value="levelmax.lua"/> para configurar o level max é bem simples é só mudar no script: local LevelMax = 1550 Abraço.
    1 ponto
  19. Tó. Testei e funcionou. O erro da spell é que a formula tava rancando vida, e não curando.
    1 ponto
  20. LordLokon

    Show-Off - Subwat Kamikaze V23

    é que eu peguei um mapa ja pronto e so editei um pouco
    1 ponto
  21. @PkNfan LOL LOL LOL LOL como q eu nunca vi isso? LOL uahuah vlw ae ms.. kkk @pedrowarlock oia.. da... ate da... mais muitos scripts estao programados para verificar a bag no slot 3... entao se tu mudar de lugar tera q achar TODOS os scripts q fazem essa verificaçao e trocar para o novo slot... isso vai da um trampo lgl e tb tem muitaaaaaa change de bugar geral... ;x anyway, o script q da os itens iniciais eh o data/mods/firstitems.xml... good luck ae... ;x @EDIT como prometido postei o atualizaçao 1.6/2.6! como essa vai ser a ultima atualizaçao por um bom tempo, postei a versao 1.6/2.6 full tb para ajudar quem começar a usar meu serv agora minhas aulas começam amanha, entao vo passar menos tempo olhando o forum, mas ainda ajudarei noq puder, e caso apareça algum bug novo e importante eu postarei algum patch de correçao tb... espero q gostem dos novos sistemas e q continuem a reportar bugs! ^^ --nao esqueçam de olhar o change log!!
    1 ponto
  22. Vodkart

    Battlefield Event!

    ADICIONADO O MAPA DO EVENTO NO TÓPICO PARA QUEM QUISER BAIXAR MAPA FEITO POR: ANNE MOTTA
    1 ponto
  23. Olha http://www.baixaki.com.br/download/outpost-firewall-pro.htm(pago) http://www.baixaki.com.br/download/comodo-firewall.htm(free)
    1 ponto
  24. Sua tag tava meio embaralhada. Tó. <instant name="Transformar" words="transformar" aggressive="0" params="0" lvl="1" maglv="0" mana="0" soul="0" exhaustion="1" prem="0" enabled="1" script="transformar.lua"> </instant>
    1 ponto
  25. GaaLol

    Pokemon Ex 2.0

    Post Imagems Por Favor.
    1 ponto
  26. masdead

    Bug Rme

    Bom Lançou uma nova versão do rme a 2.2 mais aqui esta dando um erro chato olhem a SS por favor se alguém souber como corrigir esse erro me ajudem aqui =] obrigado agradeço desde já OBS : Não sei se esta secçao é a correta se nao for peço pra alguém mudar para mim =] ---------------------------------------------------------------------------------------------------------------------- Consegui Arrumar (pelo menos ate agora esta funcionando =]) Para quem esta com o mesmo problema eis a solução vai na pasta onde você instalou o seu RME 2.2 e delete as dll's WSOCK32.dll e RPCRT4.dll Não abra o RME pelo atalho na área de trabalho pois se não as dll's serão criadas novamente abra o RME pela pasta onde você instalou ele ou criem outro atalho
    1 ponto
  27. adiciona ele nas PORTRAITS ai dexa ele no go/back e nas portraits com foto de qualquer poke ,, se der serto me da REP+ faznedo favor
    1 ponto
  28. peewee

    Mapa Poketibia[Próprio]

    Olá Galera. Esse mapa era da equipe que eu estava fazendo, mais pelo adm parecer uma criança, sai da equipe e decidi postar. Vale lembrar que mapa foi 100% feito por Min PeeWee, Alguns podem estranhar estar escrito ByShawns, mais sou eu tambem. Download : Scan : Imagens : Créditos : PeeWee
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...