Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 05/16/11 em todas áreas
-
Aura System
NathanAmaro e um outro reagiu a meubk por um tópico no fórum
Olá hoje venho trazer um sistema não tão inovador por varios servers tem, porem o meu é mto diferente, para escolher sua aura vc precisa conversar com um npc, onde vc pode configurar para ser paga, precisar de level, ou somente para premiuns, no meu sistema está disponiveis as seguintes auras: Fire Ice Earth Death Holy Energy Que são os tipos mais comuns de magias do tibia, bom no script, enquanto vc está parado a aura são simples efeitos que acompanham o player e não foi feio por OnThink que pode causar lags no servidor, foi feito de um modo diferente, qndo vc está sendo atacado dependendo da chance escolhida a aura libera poderes, acertando alvos que estão te atacando, isso acontece automaticamente. Bom chega de explicação e vamos a instalação. Entre na pasta data/lib e crie um arquivo chamado configAura.lua e cole o seguinte código: -- [[ AURA SYSTEM LIB (BY: XXOTSERVXX) ]] -- -- [[ CONFIGURAÇÕES DO NPC ]] -- npc = { level = 1, -- level para pegar aura (1 para não precisar) price = 0, -- preço para comprar a aura (0 para ser gratis) premmy = false, -- precisar ser premium (false para não precisar) } -- [[ OUTRAS CONFIGURAÇÕES ]] -- auexchance = 20 -- chance de acontecer uma explosão de aura(maixmo 100) aurast = 56897 -- storage da aura (troque se ja estiver usando ela) Bom nesse script é onde você vai poder configurar variias coisas do script, é só seguir os comentários no script. Continuando na mesma pasta data/lib crie outro arquivo com o nome libAura.lua e cole o seguinte script: -- [[ FUNÇÕES ]] -- au = { ["fire"] = {ef = {5, 6, 15, 36}, sh = 3, dmg = COMBAT_FIREDAMAGE}, ["ice"] = {ef = {41, 42, 43}, sh = 28, dmg = COMBAT_ICEDAMAGE}, ["earth"] = {ef = {8, 45, 20}, sh = 29, dmg = COMBAT_EARTHDAMAGE}, ["death"] = {ef = {17, 34, 38}, sh = 31, dmg = COMBAT_DEATHDAMAGE}, ["holy"] = {ef = {39, 49}, sh = 30, dmg = COMBAT_HOLYDAMAGE}, ["energy"] = {ef = {11, 47, 48}, sh = 35, dmg = COMBAT_ENERGYDAMAGE} } function isAura(cid) if type(getPlayerStorageValue(cid, aurast)) == "string" then return true end return false end function addAura(cid, aura) return setPlayerStorageValue(cid, aurast, aura) end function getAura(cid) return getPlayerStorageValue(cid, aurast) end function startAura(cid, aura) a = au[aura] if not isCreature(cid) then return true end doSendMagicEffect(getThingPos(cid), a.ef[math.random(1, #a.ef)]) addEvent(startAura, 2000, cid, aura) end arrex = createCombatArea{ {0, 0, 1, 0, 0}, {0, 1, 1, 1, 0}, {1, 1, 2, 1, 1}, {0, 1, 1, 1, 0}, {0, 0, 1, 0, 0} } function sendExplosion(cid, aura, model) rateatk = math.ceil(getPlayerLevel(cid)/2*1,5) a = au[aura] min, max = rateatk/2, rateatk if model == 1 then doAreaCombatHealth(cid, a.dmg, getThingPos(cid), arrex, -min, -max, a.ef[math.random(1, #a.ef)]) elseif model == 2 then for i = 0, 3 do doSendDistanceShoot(getThingPos(cid), getPositionByDirection(getThingPos(cid), i, 1), a.sh) doAreaCombatHealth(cid, a.dmg, getPositionByDirection(getThingPos(cid), i, 1), 0, -min, -max, a.ef[math.random(1, #a.ef)]) end end end function getPositionByDirection(position, direction, size) -- TFS FUNCTION local n = size or 1 if(direction == NORTH) then position.y = position.y - n elseif(direction == SOUTH) then position.y = position.y + n elseif(direction == WEST) then position.x = position.x - n elseif(direction == EAST) then position.x = position.x + n elseif(direction == NORTHWEST) then position.y = position.y - n position.x = position.x - n elseif(direction == NORTHEAST) then position.y = position.y - n position.x = position.x + n elseif(direction == SOUTHWEST) then position.y = position.y + n position.x = position.x - n elseif(direction == SOUTHEAST) then position.y = position.y + n position.x = position.x + n end return position end Neste script não é recomendado mexer a não ser que vc seje um scritper e saiba oque faça. Agora entre na pasta data/creaturescripts/scripts e crie um arquivo chamado creatureAura.lua e cole o seguinte código: function onStatsChange(cid, attacker, type, combat, value) if type == STATSCHANGE_HEALTHLOSS then if isAura(cid) then if math.random(1, 100) < auexchance then sendExplosion(cid, getAura(cid), math.random(1, 2)) end end end return true end function onLogin(cid) if isAura(cid) then startAura(cid, getAura(cid)) end return true end Também não é recomendando mexer, continuando nesta mesma pasta (data/creaturescripts/scripts) procure pelo login.lua e no final do script antes do return true end, cole isto: registerCreatureEvent(cid, "loginAura") registerCreatureEvent(cid, "statsAura") Vá na pasta anterior data/creaturescripts e procure pelo arquivo creaturescripts.xml e adicione as seguintes tags: <event type="login" name="loginAura" event="script" value="creatureAura.lua"/> <event type="statschange" name="statsAura" event="script" value="creatureAura.lua"/> Agora entre na pasta data/npc e crie um arquivo chamado Npc Aura.xml e cole o seguinte codigo: <?xml version="1.0" encoding="UTF-8"?> <npc name="Npc Aura" script="npcAura.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="55" body="53" legs="42" feet="0" addons="2"/> <parameters> <parameter key="message_greet" value="Ola, diga {aura} para ver as auras disponiveis."/> </parameters> </npc> Entre na pasta data/npc/scripts e crie um arquivo chamado npcAura.lua e cole o seguinte código: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end if msgcontains(msg, 'aura') then if not isAura(cid) then selfSay('Temos disponiveis as seguintes auras: {fire}, {ice}, {earth}, {death}, {holy} e {energy}, qual você quer aprender ?', cid) talkState = 1 else selfSay('Você já tem á '..getAura(cid).." aura.", cid) end elseif isInArray({"fire", "ice", "earth", "death", "holy", "energy"}, msg) and talkState == 1 then if getPlayerLevel(cid) < npc.level then return selfSay("Desculpe mais para aprender a aura é preciso level "..npc.level..".") end if getPlayerMoney(cid) < npc.price then return selfSay("Desculpe mais para aprender a aura é preciso "..npc.price.."gps.") end if not isPremium(cid) and npc.premmy then return selfSay("Desculpe mais para aprender a aura é preciso ser premium.") end addAura(cid, msg) startAura(cid, getAura(cid)) doPlayerRemoveMoney(cid, npc.price) selfSay("Você acaba de receber á "..getAura(cid).." aura.") talkState = 2 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Bom para quem não entende de script é recomendando mexer somente no configAura.lua da pasta data/lib, lá é possivel configurar de modo funcional. Obrigado por ter visto este tópico Fuii.2 pontos -
Alissow OTs 4.11! Esta versão 4.11 foi meio apressada, só adicionamos as features novas do 8.6. Aproveitem. Créditos: Alissow Comedinha Luis Nirk TFS Team Viniply Xedegux Sobre o OT/Mapa: Principais quests: -Annihilator -Inquisition Quest -Pits of inferno -Demon Oak -Solar axe quest -HOTA -MPA quest -The Challenger Monstros: -Total monstros: 10292 -Total spawn: 5587+ Cidades: -12 Cidades -200 Houses+- Raids/Invasões: -Rat -Orshabaal -Ghazbaran -Giant spider/The old window -Ferumbras -Morgaroth Spells: -Magias editadas para balanceamento das vocações Changelog Atualização [3.4 BETA]: - Removido áreas não usadas no mapa, diminuindo o tamanho em MBs - Adicionado Anti Magebomb System - Corrigido bugs no npc addon - Adicionado sistema onde os npcs falam sozinhos (Igual como foi adicionado no global). First ;] - Adicionado Elf village em Venonh ( bem parecida com a do global ;]) - Potions desaparecem quando usadas - Corrigido sistema de Up - Corrigido sistema de Monster Counter - Nova dragon lair em Mirand Theraan (Subsolo) - Adicionado porta de level, que protege leveis baixos acessarem os demons da cidade de Flam - Ampliado deserto da cidade de Mirand Theraan - Adicionado Ilha de Goroma - Adicionado Forbidden islands - Ampliado floresta da cidade de alfon e colocado área de macacos parecida com Banuta. - Ligação de alfon com Mirand Theraan - Corrigido bugs reportados nas portas das casas - Corrigido posição dos buracos e escadas - Adicionado beds em todas as casas - Corrigido bugs em casas de yalahar - Adicionado Blue legs quest ( Koshei The Deathless global) - Corrigidas quase todas as areas de Yalahar - Teleports em Yalahar substituidos por NPCs de teleport do global - Corrigido pequenos erros no npc Capitao Coruja, e adicionado viagem à goroma - diminuido ataque do Eye of the seven - Ice rapier agora quebra - Corrigido npc Banker - Adicionado quase todos os items 8.5 - Adicionado medusa - Adicionado Todos os outfits novos - Corrigido NPC Banker (que dava dinheiro) Script By Ta4e - Corrigido Annihilator Quest - Adicionado Notice System - Adicionado novo distro, compilado por Comedinha Atualização nº 2 [3.4]: Otserv atualizado... Corrigido debugs frequentes Corrigido debugs na magia exevo pan Corrigido bugs nos npcs Roy e Firewalker Adicionados mais novos items 8.5, agora temos 90% dos items novos... Atualização 3.5 [06/08/2009]: - Cidade principal (dorion) totalmente reformada - corrigido blue legs quest - Corrigido alavancas de compra de potions - Adicionado alavancas de compra de runas - Corrigido npc Bank - Adicionado NPC King Arthas, que vende promotion - Adicionado npc Rashid, que vende items. - Arrumado Wild Growth rune - Arrumado Utani Hur - Magias reajustadas - Novo estilo de server save - Ilha de mystic reformulada (by Nirk) - Adicionado nova magia para knights "Exkordium". - Adicionado nova magia para mages (promoted) "Exura Seil". - Adicionado nova magia para mages (promoted) "Exevo Gran Frigo". (arrumar -> sem exhausted nem gasta mana) - Adicionados novos monstros. - Adicionado quest challenge (lvl 250) - Corrigido bug do Dead Cyclops - Bug aol Arrumado - Poi Modificada - Corrigido teleports ghouls yalahar - Modificada demon helmet quest, assim como o premio da quest - Corrigido nome do Hallowed axe - Corrigido bug das houses - Corrigido bug dos items andaveis Atualização Patch 3.5.1 [07/08/2009]: - Corrigido erro na inicialização do Ot - Bug das potions corrigido - Bug do aol corrigido (pelomenos pra mim) - Bug dos outfits corrigido - Corrigido erros nas escadas na ilha PvP - O monstro The Fastest Turtle agora não morre, se tornando um monstro apenas para atrapalhar - Retirada suposta quest dos 3 hellhounds e 1 minishabaal - Adicionado teleport de retorno na Ferumbras Tower - Corrigido posições da raid de The old widow - Corrigido bug das escadas nas minas de demons - Corrigido alguns bugs vistos no mapa Atualização 3.6 [10/08/2009]: - Arrumado bugs criticos - Arrumado comando !promote/!demote - Atualizado Items.xml - Bug das Beds arrumado - Modificações na cidade, como, nature e caves - Nova sala de treino - Adicionado comando !highscores Atualização 3.7! Beta [18/12/2009]: - Guildhall support (Elf) - Nova deathlist(Elf, OpenTibia SVN) - Frags funcionando (Elf) - Atualizado monstros e items (slawkens, KaczooH, Elf) - Novas talkactions: /commands, /wp, /storage, /config, /promote & /demote. (slawkens) - Novas funções lua - Novos creatureevents (slawkens, Elf) - Novos configuráveis (Elf, slawkens) - Modificado ataque de monstros existentes (especialmente outfits e velocidade) (Elf) - Monstros reorganizados & atualizados (Nem todos) (slawkens) - Melhorado sistema de banimentos (Elf) - Reescrita janela de Rule Violation (Elf) - Arrumado Stamina (Elf, OpenTibia SVN) - Casas agora são salvas nas modificações do dono (Elf) - Escadas de yalahar funcionando perfeitamente (Elf, Talaturen) - Sistema de nado & waterball completo (slawkens) - Monstros invisiveis não são mais mandandos ao client (anti bot) (OpenTibia SVN) - Anti-dash (OpenTibia SVN) - Sistema de leilão de casas, possibilidade de usar site para vender casas (house_actions table) (OpenTibia SVN, Elf) - Salvando bot actions para /logs/bots por cada player. Por exemplo, bot pode enviar mensagem com mais de 255 caracteres (slawkens) - Novos raid events- item spawning & disappearing and more (Elf) - Modificações no NPC system (Elf) - NPCs OutfitModule (Elf) - Completo 8.53 support, com wars (Elf) - Completo 8.54 support (Elf) - Arrumado NPC voices (Elf) - Players serão informados quando o Gamemaster logar ou ficar invisivel (slawkens) - Arrumado Player Deaths (Elf, slawkens) - Arrumado Abuso de PZ (slawkens) - Portas agora não ajudam players a entrar em PZ (slawkens) - Magic level formula (OpenTibia SVN, KaczooH) - Memory leaks (Elf) - Queries optimization (Talaturen) - Janelas podem ser abertas do lado de fora da casa- agora apenas GMs podem fazer isso (slawkens) - arrumado Efeitos para o Ghost (GM)- configuravel (slawkens) - Corrigido >> Ghost debugging players (OpenTibia SVN, Elf) - Corrigido erro na promotion (Elf) - Corrigido vários erros no console. (slawkens) - Corrigido Spam de magias (Elf) - Corrigido stamina premium (Elf) - Corrigido Clean (Elf) - Corrigido vários outfits (Elf) - Corrigido Ghost (Elf) - Todas as correções no OpenTibia SVN (Open Tibia SVN, Elf) - Corrigido Todos os crashes possiveis (Elf) - Npcs Corrigidos (Comedinha) - Distro Reformulado (comedinha) - Bugs de reports arrumados (Comedinha) - Novos outfits (Alissow) - Actions Arrumadas (Comedinha) - Libs trocadas (Comedinha) - Talkactions bugadas arrumadas (Comedinha) - Reforma na área Sul da cidade Dorion (Alissow) - Adicionado monstros 8.54 (Alissow) - Corrigido bug das potions infinitas (Alissow) Atualização 3.7 Patch 1 [27/12/2009]: - Rampa na frente da loja de foods retirada (Alissow) - Arrumado bugs de mapa em anknor (Alissow) - Bug na Lib dos npcs corrigido (Alissow) - Bug do acc manager arrumado! (Alissow) - Magias "Exkordium" e "Ice Storm" arrumadas (Alissow) - Monstros 8.54 funcionando (Alissow) - 2º Addon Yalaharian arrumado (Alissow) - Addons Warmaster adicionados no NPC Addoner (Alissow) - Pequenas modificações na cidade principal, Dorion, para melhora da jogabilidade (Alissow) - Comando /Deathlist retirado (Alissow) - Magic Wall Rune arrumada (Alissow) - Quest Annihilator arrumada (Alissow) - "Your depot contain x items" Arrumado (Alissow) - Addons reorganizados, mais facil aggora (Alissow) - Tempo de Red skull e Black skull reduzidos para 24 e 42 horas (Alissow) - Reduzida porcentagem de morte (Alissow) - Acrescentado chance de critical hits (Alissow) - ShowHealingDamage Adicionado (Alissow) - Várias partes do mapa remapeadas (Alissow) - NPCs para recarga de Soft boots & Firewalker boots arrumados [Não testado] (Alissow) - Comando !frags arrumado! (Alissow) - Agora é possivel fazer addons sem precisar do comando !buypremium (Alissow) Atualização 3.8 [17/01/2010]: - Arrumado bug nas escadas do Dlair (Alissow) - Todos os bugs nos NPCs arrumados (Comedinha) - Novas talkactions [a pedidos] (Comedinha) - Deathlist arrumada (Comedinha) - Novo Distro (Comedinha) - MySQL Atualizada (Comedinha) - Firewarker boots não é mais gasta quando não está usando (Comedinha) - Problemas com items no Rashid arrumados (Alissow, Comedinha, Comunidade) - O NPC Banker foi corrigido, mas achei mais seguro retira-lo, visto que ninguem usava e poderia causar outro tipo de bug - Ilha (Sim aqui é uma ilha) de Zao adicionada (Alissow, Barker) - Monstros 8.54 aperfeiçoados (Alissow, Markithu, Zkum) - Reduzido danos da magia Exkordium (Alissow) - Os npcs Dark Rodo e Rachel vendem Blank Runes (Alissow) - Magias que não hitavam anteriormente foram arrumadas (Alissow) - Comando !buypremium arrumado (Alissow) - Arena PVM - Mais conhecida como Arena Svargrond - FUNCIONANDO!!! (Alissow) - Magia LightChain Retirada (Alissow) - Adicionado um sisteminha legal no templo (Alissow) - NPC Rashid retirado (Alissow) Atualização 3.8 Minor Patch 1 [17/01/2010]: - Comando Deathlist retirado novamente, fizemos testes equivocados. Se você é uma das 16 pessoas que baixou a versão anterior (3.8) não precisa baixar esta, basta retirar o comando !deathlist e /deathlist do seu Talkactions.xml, Os comandos causam quedas no servidor. Atualização 3.9 [15/02/2010]: - Cidade principal (Dorion) reformada, novo templo, novo depot, novo porto, novos npcs :] (Alissow) - Adicionado Reputation System (Comedinha, Cybermaster) - Adicionado !bless system (Comedinha) - /info melhorado (Comedinha) - Jail System (Comedinha) - Bug chatinho nos tiles pretos arrumado. - Magic Wall Funcionando! (Alissow) - Agora você pode fazer bolos e pães :] (Comedinha, Jean, Ojani) - Adicionado sistema de casamento (Comedinha, ScorpiOOn93, Alissow) - Loot The Fastest Turtle diminuido (Alissow) - Loot e experiencia do Feromous mais baixo (Alissow) - Sistema de parceis para Dorion funcionando (Alissow) - Guildwar System (Comedinha) - Anti MageBomb System (Comedinha, Huggen) - Adicionado Anti Nuker - Esse funciona! (Comedinha) - Adicionado Map Marks, para os players novos (Alissow, Comedinha) Atualização 4.0 [15/02/2010]: - Cidade Mountain totalmente reformada (Alissow) - Montanha de Goblins de Dorion reformada (Alissow) - Demonic Castle de Dorion reformado (Alissow) - Cidade de Venonh modificada (Luis) - Distro atualizado, funcionando nos clients 8.54, 8.55, 8.56 e 8.57 (Comedinha) - Comando !bless retirado (Alissow) - O NPC Ermes não vende mais items de decoração (Alissow) - Arrumado bugs na Ferumbras Tower (Alissow) - O comando !AFK on agora mantem o player parado (Comedinha) - Arrumado bugs nas escadas da área de DeathFans (Alissow) - Comando !Deathlist funcionando! (Alissow, Doidinmapper, GT Thionix) - Sistema de REP atualizado (Comedinha) - Sistema de Polls (Comedinha) - Banco por comandos (Comedinha) - Novos comandos de addon e accounts (Comedinha) - Sistema de futebol completo! (Comedinha) - Sistema Antibot (Comedinha) - Magia Spared Hur modificada (Alissow, Orzeleagle) - Adicionado sistema de montaria (Alissow, unknown666) - Adicionado Canivetes (Alissow, Siramix) - Nova hunt Subaquatica (Luis) Atualização 4.11! [11/07/2010]: - Versão 8.6, todos os items, outfits e monstros novos (Comedinhasss, Fireelement) - Adicionados os novos monstros 8.6 (Alissow) - Bug das potions arrumado (Comedinha, Matheusmkalo, Gabriel linhares, Fireelement) - Erros das runas arrumado (Comedinha, Gabriel linhares, Matheusmkalo, fireelement) Download Servidor: 4shared Tamanho: 17,416 KB Download: http://www.4shared.com/file/ez8XKrju/860_Alissow_Ots_411.html Link protegido: http://lix.in/-8d4bc0 Scan VirusTotal: http://www.virustotal.com/pt/analisis/983abb574dbb957a75aa1fd29eb804065f775e6a0c43216aa277686d32bce22a-1263702373 Atenção - Acc do God: god/god - LEIA o tópico antes de postar qualquer coisa ou duvida - Reportem se houver algum bug - A database fica na pasta schemas+Database - Proibido o uso do nosso distro sem o nosso consenso, obrigado. Andei percebendo que há muitos mapas feitos por mim em outros servidores postados aqui no xtibia, eu não sei se vocês sabem, mas isso é PLÁGIO. Eu não sou uma pessoa egoista, tudo que eu posto aqui no XTibia é para ser compartilhado, mas desde que mantenham os devidos créditos. Será denunciado qualquer tipo de "roubo" sem minha autorização para beneficio próprio. Eu sei que vocês não se importam muito com isso, eu também não deveria me importar, mas é o tempo e a dedicação de outra pessoa que vocês estão roubando, então peço gentilmente aos que tem conhecimento desses mapas, que me apontem. Não tem graça trabalhar horas e horas e ser roubado em dois minutos.1 ponto
-
PokeBall System! Ola Xtibianos, Vim hoje postar um Famoso Script de Pokeball System feito pelo Genioso Nahruto, claro pedi a autorização dele para postar. A Todos que forem pegar Scripts de outras Pessoas, lembre-se de sempre pedir autorização e claro colocar os creditos. Para Tfs: 0.34 , 0.35 e 0.36 Essas Forao Testadas E Funfo. Versoes: 8.42 - 8.50 - 8.52 - 8.54 - 8.6. Ots Testados: Snowz Yurots - Alissow Server - Styller Yurots Primeiramente Vamos Fuçar em Function.lua, se voce nao Sabe onde fica vá em: Data>Lib>Function.lua Abra e Coloque Isto: _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 cant 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 E Isso! function doConvinceSummon(cid, creature, amount, pos) summonplayerpos = {x=pos.x, y=pos.y, z=pos.z, stackpos=253} summonplayer = getThingfromPos(summonplayerpos) if(summonplayer ~= nil and summonplayer.itemid > 0) then doPlayerSendCancel(cid,"There is not enough room to summon here.") ret = 0 else convince = doSummonCreature(creature, pos) doConvinceCreature(cid, convince) ret = 1 end return ret end Agora Vamos Fazer o Script Vá em Pasta do Seu Ot > Data > Actions > Scripts Crie uma Pasta chamada pokeball.lua e bote isso dentro local notAllowed = {"Ferumbras", "Demon"} local storage = { status = 25650, pokeName = 25651 } local actionid_used = 7510 function onUse(cid, item, fromPos, item2, toPos) local pokeballStatus = getPlayerStorageValue(cid, storage.status) local pokeName = getPlayerStorageString(cid, storage.pokeName) pos = getPlayerPosition(cid) pos.stackpos = 0 if pokeballStatus == -1 then toPos.stackpos = 253 local pokeThing = getThingfromPos(toPos) if isCreature(pokeThing.uid) == TRUE then if isPlayer(pokeThing.uid) == FALSE then local pokename_ = getCreatureName(pokeThing.uid) if item.actionid ~= actionid_used then -- local maxHealth = 400 -- local creatureHealth = getCreatureHealth(pokeThing.uid) -- local divNum = (string.len(maxHealth)-1)^2 -- local result = math.floor((creatureHealth/divNum)/10) -- local chance = math.random(1, math.random(4, math.random(7, math.max(result, 7)))) -- if chance == result then if isInTable(notAllowed, pokename_) == TRUE then doPlayerSendCancel(cid, "You cannot catch this creature") else setPlayerStorageString(cid, storage.pokeName, pokename_) doRemoveCreature(pokeThing.uid) doSendDistanceShoot(fromPos, toPos, 37) setPlayerStorageValue(cid, storage.status, 1) doSetItemSpecialDescription(item.uid, "it contains a " .. pokename_ .. ".") doSetItemActionId(item.uid, actionid_used) end -- else -- doSendMagicEffect(fromPos, 2) -- doPlayerSendCancel(cid, "The Pokemom Escaped") -- end elseif item.actionid == actionid_used and pokename_ == pokeName then doPlayerSay(cid, pokeName .. " Back!!", TALKTYPE_SAY) doRemoveCreature(pokeThing.uid) doSetItemSpecialDescription(item.uid, "it contains a " .. pokename_ .. ".") setPlayerStorageValue(cid, storage.status, 1) doSendDistanceShoot(fromPos, toPos, 37) else doSendMagicEffect(fromPos, 2) doPlayerSendCancel(cid, "This pokeball is already used") end else doPlayerSendCancel(cid, "You cannot catch this creature") end else doPlayerSendCancel(cid, "Creature not found") end elseif pokeballStatus == 1 then summons = getCreatureSummons(cid) -- if #summons >= 2 then -- doPlayerSendCancel(cid, "You cannot call more pokemons") -- else doConvinceSummon(cid, pokeName, 0, toPos) doSendDistanceShoot(fromPos, toPos, 37) doPlayerSay(cid, pokeName .. " Go!!", TALKTYPE_SAY) setPlayerStorageValue(cid, storage.status, -1) doSetItemSpecialDescription(item.uid, "it is empty.") -- end end else return 1 end function isInTable(t, val) for _, v in pairs(t) do if v == val then return TRUE end end return LUA_ERROR end para TFS local notAllowed = {"Ferumbras", "Demon"} local storage = { status = 15244, pokeName = 15212 } local actionid_used = 7510 function onUse(cid, item, fromPos, item2, toPos) local pokeballStatus = getPlayerStorageValue(cid, storage.status) local pokeName = getPlayerStorageString(cid, storage.pokeName) pos = getPlayerPosition(cid) pos.stackpos = 0 if pokeballStatus <= 0 then toPos.stackpos = 253 local pokeThing = getThingfromPos(toPos) if isCreature(pokeThing.uid) == TRUE then if isPlayer(pokeThing.uid) == FALSE then local pokename_ = getCreatureName(pokeThing.uid) if item.actionid ~= actionid_used then -- local maxHealth = 400 -- local creatureHealth = getCreatureHealth(pokeThing.uid) -- local divNum = (string.len(maxHealth)-1)^2 -- local result = math.floor((creatureHealth/divNum)/10) -- local chance = math.random(1, math.random(4, math.random(7, math.max(result, 7)))) -- if chance == result then if isInTable(notAllowed, pokename_) == TRUE then doPlayerSendCancel(cid, "You cannot catch this creature") else setPlayerStorageString(cid, storage.pokeName, pokename_) doRemoveCreature(pokeThing.uid) doSendDistanceShoot(fromPos, toPos, 37) setPlayerStorageValue(cid, storage.status, 1) doSetItemSpecialDescription(item.uid, "it contains a " .. pokename_ .. ".") doSetItemActionId(item.uid, actionid_used) end -- else -- doSendMagicEffect(fromPos, 2) -- doPlayerSendCancel(cid, "The Pokemom Escaped") -- end elseif item.actionid == actionid_used and pokename_ == pokeName then doCreatureSay(cid, pokeName .. " Back!!", TALKTYPE_SAY) doRemoveCreature(pokeThing.uid) doSetItemSpecialDescription(item.uid, "it contains a " .. pokename_ .. ".") setPlayerStorageValue(cid, storage.status, 1) doSendDistanceShoot(fromPos, toPos, 37) else doSendMagicEffect(fromPos, 2) doPlayerSendCancel(cid, "This pokeball is already used") end else doPlayerSendCancel(cid, "You cannot catch this creature") end else doPlayerSendCancel(cid, "Creature not found") end elseif pokeballStatus == 1 then -- summons = doCreatureSummons(cid) -- if #summons >= 2 then -- doPlayerSendCancel(cid, "You cannot call more pokemons") -- else doConvinceSummon(cid, pokeName, 0, toPos) doSendDistanceShoot(fromPos, toPos, 37) doCreatureSay(cid, pokeName .. " Go!!", TALKTYPE_SAY) setPlayerStorageValue(cid, storage.status, 0) doSetItemSpecialDescription(item.uid, "it is empty.") -- end end return 1 end function isInTable(t, val) for _, v in pairs(t) do if v == val then return TRUE end end return LUA_ERROR end Agora Vamos Adicionar as Tags, vá em Data>Actions.xml e Adicione as Tags Corretas´ <action itemid="xxxx" script="pokeball.lua" allowfaruse="1" blockwalls="1" /> [font-"Georgia"]em <action itemid="xxxx" nos 4 X voce coloca o Number Id Do seu Item que Será como uma "Pokeball"[/font] Oque o Script Faz Realmente: - Guarda monstros dentro de objetos e salva seu status, você pode colocar pra salvar em qlqr objeto.. seria ótimo para projetos pokemons.. Creditos: Nahruto Print Screen's: Snorlax Saindo da Pokeball: Snorlax Voltando para a Pokeball Look da Pokeball ( o Player so Ve assim You See a Pokeball , Have Snorlax )] Lembrando que eu nao Adicionei o Efeito da Pokeball Abrindo e Jogando o Monstro. Para fazer este Tipo de efeito voce vai ter que saber direitinho o LookType da Pokeball Fechando e Saindo, e transformar para um efeito e depois modificar no Script, aqui no xtibia Existe varios Tutoriais explicando isto, é so procurar! Gostou? Clica no Ali em Baicho para me Ajudar! Abraços..1 ponto
-
New Balls Pod
gabrsousa reagiu a luisfelipinho15 por um tópico no fórum
Apenas para pokemon dash. Ola galera, vim aki fazer um tutorial que acredito que muitos estão atras. Aki eu irei por como voce pode add novas balls no Pokemon Dash. Bem primeiro de tudo ira precisar de otitemeditor 0.3.7,map editor e conheçimento em mexer nesses arquivos citados alem de saber mexer em script.Bem Vamos la: Abra o remeres com o client que voce quer.Apos isso procure item por item Ate achar as pokebolas juntaveis acesa e apagada. Feito isso abra o otitemeditor 0.3.7 e procure os itens que voce achou no map editor Note que tera opçoes e tera uma sequencia numerica embaixo da foto do item e do lado Do CID Anote o numero e veja qual item é Apos ter feito isso com as pokebolas que irao dar catch,soltar poke,puxar o poke e a que sera Usada para reviver na nurse, va no menu tools ainda no itemeditor e add 4 novos items. Va no 1 item dai va no item em CID e ponha o numero que voce add para a pokebola que Dara catch, e marque Useable e Pickupable. Agora va no 2 item que você add ponha em CID o numero que voce anotou para pokebola acesa E marque a opção Pickupable Agora o 3 item que sera a ball apagada que puxara o poke va em CID e ponha o numero da pokebola apagada Que voce anotou e marque a opção Pickupable e Not Moveable Agora 4 e ultimo item o que sera usado na Nurse Joy Add em CID o mesmo numero que add no 3 item, mas nas opções Marque apenas Pickupable. 1 Parte Foi Feita agora 2 parte.Envolve Script agora. Va na pasta do seu server e em data\actions\scripts Abra seu catch e add o seguinte elseif item.itemid == XXX then--Id da pokebola que sera usada para capturar catchrate = 2--Chance ao usar essa pokebola oncatch = 198--Effect da pokebola rodando pra la e praca e fikando verde onfail = 197--Effect da pokebola rodando pra la e praca e falhando bolabola = 2652--pokebola que sera usada para liberar o poke ou seja a ball acesa Pronto agora salve e feche e abra o seu goback. e add isso: elseif item.itemid == AC or item.itemid == AP then--AC Pokebola Acesa, AP pokebola apagada gobackeff = 193--Effect da hora que ira puxar o poke pra fora ou pra dentro da ball Agora desca um poco ira achar essa linha if item.itemid == 2223 or item.itemid == 2221 then Antes de then add or item.itemid == XXX --XXX id da pokebola apagada Fikando Assim: if item.itemid == 2223 or item.itemid == 2221 or item.itemid == XXX then--XXX id da ball apagada Agora desca mais um poco ira ter outro do decima mais com outros ids das pokebolas acesas assim elseif item.itemid == 2222 or item.itemid == 2220 then ADD or item.itemid == XXXAntes de then fikando assim elseif item.itemid == 2222 or item.itemid == 2220 or item.itemid == XXX then--XXX id da ball acesa Pronto Salve e feche. Va na pasta do seu server\Data\Actions e abra Actions.xml E procure por goback e add o seguinte codigo depois do ultimo numero ;XXXAC;XXXAP ---XXXAC é id da ball acesa e XXXAP o id da ball apagada Agora procure por catch e add o seguinte depois do ultimo numero: ;XXXCA---XXXCA id da ball que sera para dar catch E procure por fainted e add ;XXXDE ---XXXDE o id da ball que é a que sera usada para reviver. Agora salve e feche e va na pasta do seu server data\creaturescripts\scripts E abra login.lua E procure por E add abaixo disso isso Expilação Greatpokeout e Greatpokein sao nomes na lib que depois irei mostrar como add no proximo passo. Bem mude apenas o que esta em verde greatpokeout é ball apagada e greatpokein ball acesa Mude o great para outro nome por exemplo super ou great ou master ou safari ou outro qualquer. Pronto feito isso salve e feche. Agora va na pasta do seu server\data\lib e abra pokelib logo ao abrir ira apareçer isso: pokein, pokeout = 2222,2223 ultrapokein, ultrapokeout = 2220, 2221 se voce estiver usando pokemon dash com apenas duas balls Add embaixo de ultrapokein, ultrapokeout = 2220, 2221 isso NOMEpokein, NOMEpokeout = 2652, 2653---NOMEpokein é o id da ball acesa e NOMEpokeout o id da ball apagada para voce nao bugar com o pokemon para fora é necessario seguir o passo do creaturescripts ai emcima e eu disse que era pra mudar o GREAT para outro nome e bem agora no NOME voce poem o nome que escolheu no login.lua Feito isso salve e feche. Agora volte na pasta creaturescripts/scripts e abra o goback.lua Feito isso procure por if getPlayerSlotItem(owner, 8).itemid == 2220 or getPlayerSlotItem(owner, 8).itemid == 2221 then doSendMagicEffect(getCreaturePosition(cid), 191) E add embaixo Explicação:2222 é o id da ball acesa 2223 apagada e dai no 10 é o effect do poke voltando pra pokebola.Agora desca um poco voce ira achar isso: if getPlayerSlotItem(owner, 8).itemid == 2220 or getPlayerSlotItem(owner, 8).itemid == 2221 then doTransformItem(getPlayerSlotItem(owner, 8).uid, 2227) Add embaixo Explicação mesma coisa do de cima mas em 2224 é o id da ball que sera transformada na que sera o pokemon morto. Ultimo passo Para curar as pokebolas. Va na pasta do seu server\data\npc\script e abra o script da sua nurse joy que cura seus pokemons E logo ira apareçer local pokeballs = {'2222', '2224'} local ultraballs = {'2220', '2227'} Add embaixo local testballs = {'AC', 'RE'} ---Explicação, AC é o id da pokebola acesa e RE o id da pokebola com pokemon morto Apos feito isso procure por isso Apos achar isso add embaixo Obs:Os ids da balls devem ser seguidos EX: Acesa:1689 Apagada:1690 Ja a que é usada para ser usada na nurse Pode variar o id:1735 Pronto salve e feche e Nao esqueça do REP+ em Creditos apenas meu e nao poste em outro forum sem minha permissao.1 ponto -
[Talkaction]Sistema M1 até M6 + Tutorial de Edições. Créditos: Apocarai PeeWee Olá, antes eu já havia postado o sistema até m3, agora venho traze-lo até m6. Do m4 até m6 decidir fazer diferente, dessa vez quem irá colocar as magias , combat e level necessário será vocês. Estou fazendo isso para que vocês entendam melhor o comando, e caso precisarem editar que não precisem e ajuda. No final do Tópico estará os tutoriais. M1 M2 M3 ----//----//----//----//----//----//----//----//----//----//----//----//----//---- M4 M5 M6 Tags Obs. QUANDO SALVAR OS COMANDOS COLOQUE O NOME DE SistemaM... [Nos pontos bote numero da magia. Tutorial Como Adicionar Magia , Combat e Level. Como adicionar novos M. Na parte após os pokemon adicionados com suas magias procure essas partes das linhas. Tempo das Magias Logo abaixo após as linhas que citei acima , se tem o tempo usado das magias. Bom é isso, caso falei alguma besteira me falem que irei arrumar, qualquer duvida me adicione no msn ou poste no tópico. Não esqueça do REP +1 ponto
-
Bom Venho hoje até aqui para mostrar a membros do XTIBIA como criar uma cave SWAMP Corretamente. 1º Passo. Criar o Formato da cave, usando os IDS a seguir.. Assim você tento criatividade poderá conseguir um formato diferente e legal. 2º passo. Criando o formato do swamp a seguir e sempre fazendo perto das borda da cave,nunca espalhado. segue a seguir os IDS. ficando desse jeito... 3ºPasso Você usara Plantas especificas para usar em pântanos "SWAMP" e distribuirá corretamente e nunca uma perto da outra e sempre pelo menos 1 sqm de distancia,usara também pedras pequena e grande, mas não exagere nas pedra grande Também usara cogumelos sempre posicionado perto do swamp. segue os ids que você deverá usar: Assim fazendo o que eu falei acima fica desse jeito... 4º Passo Você usará Debris a seguir posicionando nos cantos perto das bordas e também no meio da cave e sempre não exagere no Debris. segue os ids a seguir... Assim fazendo corretamente o que que fiz ficará desse jeito: 5º Passo Bom aqui você estará quase finalizando você vai adicionar tufos e pedrinhas andáveis no chão e sempre posicionando corretamente e não exagerando por exemplo: tufos grandes vai ficar mais perto do swamp e os pequeno mais no meio da cave as pedras pequenas ficara tanto perto e longe do swamp. Segue a image dos ids a seguir e como ficará: depois de pronto: 6º Passo. Ultimo passo você só adicionara o chão da cave, que sempre será a ultima coisa que você adicionara. segue os ids a seguir: Agora Finalizado... Obrigado pela atenção pois demoro um pouco a explicação Se te ajudei ou se gosto do Tutorial Da REP + Até o próximo Tutorial.... Agora finalizado1 ponto
-
A Arte De Mapear
xXPaquitoXx reagiu a gravor por um tópico no fórum
A arte de mapear Quem não sonha em fazer belos trabalhos como maper ? Quem não quer fazer aquela hunt legal, aquela cidade, aquela loja, ou ainda mais... Um mundo perfeito, atravez de um simples Mapeditor ! É, hoje as coisas são mais simples, com esse texto venho tentar mostrar a vocês como é fácil ser maper. Logo de inicio perguntamos: “Quem vai mapear ?” Você. Ninguém mais ninguém menos que você, então... Você tem que gostar do seu mapa, a meu ver ninguém pode julgá-lo alem de você mesmo. Vejamos, se você se pergunta, ainda: “Meus mapas são feios, ninguém jogara no meu server, não sei por detalhes e etc e tal. !” Ai que você se engana amigo, para responder essa simples pergunta basta você jogar o bom e velho Tíbia Global. Percebe certas caves, uma que eu gosto muito de dar exemplo de “um trabalho vagabundo” é a cave de Scarabs em Ankrahmun. Perceba: Com isso percebemos que o Tíbia Global não tem lá uma nota 10 em detalhamento, e tem em média 30.000 jogadores online por dia. Ai se pega e fala... Vou fazer uma coisa parecida como essa no Mapeditor, e vou fazer um server e ter 10.000 jogadores. Isso ai depende, pode até acontecer, mais mapear é uma arte. Imagine um pintor pegando uma lata de tinta e jogando em seu quadro e fala: "Pronto ta ai" - com um tom de voz irônico. Isso às vezes dá certo... Mas enfim, ta errado. Se você quer ser um maper legal, GOSTE DO QUE VOCÊ FAZ, procure melhorar, inovar, detalhar, e o mais importante se divertir. Afinal, mapear não é seu ganha pão, apenas seja feliz mapeando da sua maneira, do seu gosto. A intenção desse texto é falar que o seu mapa só tem que agradar uma pessoa, você mesmo, eu ando percebendo pessoas nesse forum que não mapeia nada, se acha todo, e ainda fica falando do trabalho dos outros com tanta confiança que chega a dar raiva. Enfim. Boa sorte a todos com seus mapas. Abraços.1 ponto -
Doorderstring(Tab)
Kuro o Shiniga reagiu a Demonbholder por um tópico no fórum
Faaala galera! Tudo tranquilo? Estreando a seção de bibliotecas, vamos a uma função que eu criei hoje a tarde. Como funciona: O parâmetro da função deve obrigatoriamente ser uma tabela, uma array. Exemplo: doOrderString({'demon', 'casa', 'xtibia'}) A função vai ordenar essas strings, e retorna uma tabela assim: {'casa', 'demon', 'xtibia'}. Função function doOrderString(tab) local t = {} local a = {} local k = {} local b = {} if type(tab) ~= "table" then return error("Param should be a table") end for x, y in pairs(tab) do if type(y) == "string" then table.insert(t, string.lower(y)) end end if #t == 0 then return error("No strings in table") end for i = 1, #t do str = nil for c, d in pairs(t) do stats = FALSE for s = 1, #d do if str == nil or string.byte(str, s, s) ~= nil then if str == nil or (string.byte(d, s, s) < string.byte(str, s, s) and stats == FALSE) then str = d end if string.byte(d, s, s) ~= string.byte(str, s, s) then stats = TRUE end if s == #d and #str > #d then str = d end end end end table.insert(a, str) table.remove(t, table.find(t, str)) end for p, w in pairs(tab) do if type(w) == "string" then for e = 1, #w do table.insert(b, w) table.insert(b, table.find(a, string.lower(w))) end end end for d = 1, #a do table.insert(k, b[table.find(b, d) -1]) end return k end Caso, você não possua a função table.find, eu a criei, ai esta ela: table.find function table.find(t, val) ret = nil for pos, mat in pairs(t) do if mat == val then ret = pos break end end return ret end É isso, deve ter alguns erros na função e foi bem difícil criá-la. Até mais.1 ponto -
Pronto Aqui esta o script da quest. Vermelho: Id que vc colocara no bau que esta no map editor. Azul: Msg q ira aparecer quando o player clikar no bau. Rosa: Nome do Script.1 ponto
-
Entre na pasta do seu servidor, entre na pasta "actions", depois na pasta "spells", abra o arquivo "spells.xml" pelo bloco de notas e adicione isso em qualquer linha vazia depois do "<spells>" <conjure name="conjure blank rune" words="adori blank" lvl="10" mana="10" soul="0" prem="0" conjureId="2260" conjureCount="1" exhaustion="1000" needlearn="0" event="function" value="conjureItem"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> </conjure>1 ponto
-
exori mas frigo exori mas hur exori con hur exori mas gran exevo gran mas hur exevo master frigo exevo gran con hur exevo gran mas san vita gran sio utevo gran sio OBS: para utevo sio e so trocar onde tem "CONDITION_PARAM_SUBID, 100" e diminui o valor E para vita sio onde tem "CONDITION_PARAM_STAT_MAXHEALTHPERCENT, 150" os buffs exori e exevo e so colocar "SKILL_DISTANCE,x" ou "SKILL_SWORD,x" (no caso ira adicionar o tanto de skill que voce colocar em 'x' no spells.xml e so colocar igual ta em baixo e ir trocando onde ta colorido <instant name="Eternal Master Winter" words="exevo master frigo" lvl="120" mana="1200" prem="1" selftarget="1" exhaustion="2000" needlearn="0" script="attack/hellcore.lua"> <vocation name="Druid"/> <vocation name="Elder Druid"/> </instant> se precisar de algo mais e so falar1 ponto
-
Tibia Tunnel
ElMagoLove reagiu a Folspa por um tópico no fórum
Antes de tudo: isto não é um bot ou hack e é permitido o uso pelo Tibia. - Você vai jogar com até 80% de redução do seu LAG/PING/DELAY com o Tibia. - É Totalmente Seguro (encriptado via SSH) e Grátis, você vai se surpreender! - O tunnel é liberado para Tibia Global e apenas bloqueado para outros OTs. TibiaTunnel.rar Scan Não liguem para o 2.3%, é um falso positivo.1 ponto -
Tinha uma tag em lugar errado <conjure name="flash arrow" words="exevo con mas vis" lvl="20" mana="100" soul="1" conjureId="7838" conjureCount="25" exhaustion="1000" needlearn="0" function="conjureItem"> tenta usa o spells.xml assim <?xml version="1.0" encoding="UTF-8"?> <spells> <!-- Attack Runes --> <rune name="Poison Field" id="2285" allowfaruse="1" charges="3" lvl="14" maglv="0" exhaustion="2000" blocktype="solid" event="script" value="attack/poison field.lua"/> <rune name="Poison Bomb" id="2286" allowfaruse="1" charges="2" lvl="25" maglv="4" exhaustion="2000" blocktype="solid" event="script" value="attack/poison bomb.lua"/> <rune name="Poison Wall" id="2289" allowfaruse="1" charges="4" lvl="29" maglv="5" exhaustion="2000" blocktype="solid" event="script" value="attack/poison wall.lua"/> <rune name="Fire Field" id="2301" allowfaruse="1" charges="3" lvl="15" maglv="1" exhaustion="2000" blocktype="solid" event="script" value="attack/fire field.lua"/> <rune name="Firebomb" id="2305" allowfaruse="1" charges="2" lvl="27" maglv="5" exhaustion="2000" blocktype="solid" event="script" value="attack/fire bomb.lua"/> <rune name="Fire Wall" id="2303" allowfaruse="1" charges="4" lvl="33" maglv="6" exhaustion="2000" blocktype="solid" event="script" value="attack/fire wall.lua"/> <rune name="Soulfire" id="2308" allowfaruse="1" charges="3" lvl="27" maglv="7" exhaustion="2000" needtarget="1" blocktype="solid" event="script" value="attack/soul fire.lua"/> <rune name="Fireball" id="2302" allowfaruse="1" charges="5" lvl="27" maglv="4" exhaustion="2000" needtarget="1" blocktype="solid" event="script" value="attack/fireball.lua"/> <rune name="Great Fireball" id="2304" allowfaruse="1" charges="4" lvl="30" maglv="4" exhaustion="2000" blocktype="solid" event="script" value="attack/great fireball.lua"/> <rune name="Energy Field" id="2277" allowfaruse="1" charges="3" lvl="18" maglv="3" exhaustion="2000" blocktype="solid" event="script" value="attack/energy field.lua"/> <rune name="Energybomb" id="2262" allowfaruse="1" charges="2" lvl="37" maglv="10" exhaustion="2000" blocktype="solid" event="script" value="attack/energy bomb.lua"/> <rune name="Energy Wall" id="2279" allowfaruse="1" charges="4" lvl="41" maglv="9" exhaustion="2000" blocktype="solid" event="script" value="attack/energy wall.lua"/> <rune name="Light Magic Missile" id="2287" allowfaruse="1" charges="10" lvl="15" exhaustion="2000" maglv="0" needtarget="1" blocktype="solid" event="script" value="attack/light magic missile.lua"/> <rune name="Heavy Magic Missile" id="2311" allowfaruse="1" charges="10" lvl="25" exhaustion="2000" maglv="3" needtarget="1" blocktype="solid" event="script" value="attack/heavy magic missile.lua"/> <rune name="Explosion" id="2313" allowfaruse="1" charges="6" lvl="31" maglv="6" exhaustion="2000" blocktype="solid" event="script" value="attack/explosion.lua"/> <rune name="Sudden Death" id="2268" allowfaruse="1" charges="3" lvl="45" maglv="15" exhaustion="1000" needtarget="1" blocktype="solid" event="script" value="attack/sudden death.lua"/> <rune name="Icicle" id="2271" allowfaruse="1" charges="5" lvl="28" maglv="4" exhaustion="2000" needtarget="1" event="script" value="attack/icicle.lua"/> <rune name="Avalanche" id="2274" allowfaruse="1" charges="4" lvl="30" maglv="4" exhaustion="2000" event="script" value="attack/avalanche.lua"/> <rune name="Stone Shower" id="2288" allowfaruse="1" charges="4" lvl="28" maglv="4" exhaustion="2000" event="script" value="attack/stone shower.lua"/> <rune name="Thunderstorm" id="2315" allowfaruse="1" charges="4" lvl="28" maglv="4" exhaustion="2000" event="script" value="attack/thunderstorm.lua"/> <rune name="Stalagmite" id="2292" allowfaruse="1" charges="10" lvl="24" maglv="3" exhaustion="2000" needtarget="1" event="script" value="attack/stalagmite.lua"/> <rune name="Holy Missile" id="2295" allowfaruse="1" charges="5" lvl="27" maglv="4" exhaustion="2000" needtarget="1" blocktype="solid" event="script" value="attack/holy missile.lua"> <vocation id="3"/> <vocation id="7" showInDescription="0"/> </rune> <!-- Healing Runes --> <rune name="Antidote Rune" id="2266" allowfaruse="1" charges="100" lvl="15" maglv="0" exhaustion="100" aggressive="0" needtarget="1" blocktype="solid" event="script" value="healing/antidote rune.lua"/> <rune name="Intense Healing Rune" id="2265" allowfaruse="1" charges="1" lvl="15" maglv="1" exhaustion="1000" aggressive="0" needtarget="1" blocktype="solid" event="script" value="healing/intense healing rune.lua"/> <rune name="Ultimate Healing Rune" id="2273" allowfaruse="1" charges="1" lvl="24" maglv="4" exhaustion="1000" aggressive="0" needtarget="1" blocktype="solid" event="script" value="healing/ultimate healing rune.lua"/> <!-- Summon Runes --> <rune name="Convince Creature" id="2290" allowfaruse="1" charges="1" lvl="16" maglv="5" exhaustion="2000" needtarget="1" blocktype="solid" event="function" value="convince"/> <rune name="Animate Dead" id="2316" allowfaruse="1" charges="1" lvl="27" maglv="4" exhaustion="2000" blocktype="solid" event="script" value="summon/animate dead rune.lua"/> <!-- Support Runes --> <rune name="Desintegrate" id="2310" allowfaruse="0" charges="3" lvl="21" maglv="4" exhaustion="2000" range="1" event="script" value="support/desintegrate rune.lua"/> <rune name="Destroy Field" id="2261" allowfaruse="1" charges="3" lvl="17" maglv="3" exhaustion="1000" aggressive="0" range="5" event="script" value="support/destroy field rune.lua"/> <rune name="Chameleon" id="2291" allowfaruse="1" charges="1" lvl="27" maglv="4" exhaustion="1000" aggressive="0" selftarget="1" blocktype="solid" event="function" value="chameleon"/> <rune name="Magic Wall" id="2293" allowfaruse="1" charges="3" lvl="32" maglv="9" exhaustion="1000" blocktype="all" event="script" value="support/magic wall rune.lua"/> <rune name="Wild Growth" id="2269" allowfaruse="1" charges="2" lvl="27" maglv="8" exhaustion="2000" blocktype="all" event="script" value="support/wild growth rune.lua"> <vocation id="2"/> <vocation id="6" showInDescription="0"/> </rune> <rune name="Paralyze" id="2278" allowfaruse="1" charges="1" lvl="54" maglv="18" exhaustion="2000" mana="1400" needtarget="1" blocktype="solid" event="script" value="support/paralyze rune.lua"> <vocation id="1"/> <vocation id="5" showInDescription="0"/> <vocation id="2"/> <vocation id="6" showInDescription="0"/> </rune> <!-- Attack Spells --> <instant name="Death Strike" words="exori mort" lvl="16" mana="20" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/death strike.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> <instant name="Flame Strike" words="exori flam" lvl="12" mana="20" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/flame strike.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> <instant name="Energy Strike" words="exori vis" lvl="12" mana="20" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/energy strike.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> <instant name="Whirlwind Throw" words="exori hur" lvl="15" mana="40" prem="1" range="5" needtarget="1" blockwalls="1" needweapon="1" exhaustion="2000" needlearn="0" event="script" value="attack/whirlwind throw.lua"> <vocation id="4"/> <vocation id="8"/> </instant> <instant name="Fire Wave" words="exevo flam hur" lvl="18" mana="25" direction="1" exhaustion="2000" needlearn="0" event="script" value="attack/fire wave.lua"> <vocation id="1"/> <vocation id="5"/> </instant> <instant name="Ethereal Spear" words="exori con" lvl="23" mana="25" prem="1" range="5" needtarget="1" exhaustion="2000" blockwalls="1" needlearn="0" event="script" value="attack/ethereal spear.lua"> <vocation id="3"/> <vocation id="7"/> </instant> <instant name="Energy Beam" words="exevo vis lux" lvl="23" mana="40" direction="1" exhaustion="2000" needlearn="0" event="script" value="attack/energy beam.lua"> <vocation id="1"/> <vocation id="5"/> </instant> <instant name="Great Energy Beam" words="exevo gran vis lux" lvl="29" mana="110" direction="1" exhaustion="2000" needlearn="0" event="script" value="attack/great energy beam.lua"> <vocation id="1"/> <vocation id="5"/> </instant> <instant name="Groundshaker" words="exori mas" lvl="33" mana="160" prem="1" needweapon="1" exhaustion="2000" needlearn="0" event="script" value="attack/groundshaker.lua"> <vocation id="4"/> <vocation id="8"/> </instant> <instant name="Berserk" words="exori" lvl="35" mana="115" prem="1" needweapon="1" exhaustion="2000" needlearn="0" event="script" value="attack/berserk.lua"> <vocation id="4"/> <vocation id="8"/> </instant> <instant name="Energy Wave" words="exevo vis hur" lvl="38" mana="170" direction="1" exhaustion="2000" needlearn="0" event="script" value="attack/energy wave.lua"> <vocation id="1"/> <vocation id="5"/> </instant> <instant name="Rage of the Skies" words="exevo gran mas vis" lvl="55" mana="650" selftarget="1" prem="1" exhaustion="2000" needlearn="0" event="script" value="attack/rage of the skies.lua"> <vocation id="1"/> <vocation id="5"/> </instant> <instant name="Fierce Berserk" words="exori gran" lvl="70" mana="340" prem="1" needweapon="1" exhaustion="2000" needlearn="0" event="script" value="attack/fierce berserk.lua"> <vocation id="4"/> <vocation id="8"/> </instant> <instant name="Hells Core" words="exevo gran mas flam" lvl="60" mana="1200" prem="1" exhaustion="2000" selftarget="1" needlearn="0" event="script" value="attack/hells core.lua"> <vocation id="1"/> <vocation id="5"/> </instant> <instant name="Divine Missile" words="exori san" lvl="40" mana="20" prem="1" range="4" casterTargetOrDirection="1" needlearn="0" blockwalls="1" exhaustion="2000" event="script" value="attack/divine missile.lua"> <vocation id="3"/> <vocation id="7"/> </instant> <instant name="Divine Caldera" words="exevo mas san" lvl="50" mana="160" prem="1" selftarget="1" exhaustion="2000" needlearn="0" event="script" value="attack/divine caldera.lua"> <vocation id="3"/> <vocation id="7"/> </instant> <instant name="Eternal Winter" words="exevo gran mas frigo" lvl="60" mana="1200" prem="1" selftarget="1" exhaustion="2000" needlearn="0" event="script" value="attack/eternal winter.lua"> <vocation id="2"/> <vocation id="6"/> </instant> <instant name="Ice Strike" words="exori frigo" lvl="15" mana="20" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/ice strike.lua"> <vocation id="1"/> <vocation id="5"/> <vocation id="2"/> <vocation id="6"/> </instant> <instant name="Ice Wave" words="exevo frigo hur" lvl="18" mana="25" direction="1" exhaustion="2000" needlearn="0" event="script" value="attack/ice wave.lua"> <vocation id="2"/> <vocation id="6"/> </instant> <instant name="Terra Strike" words="exori tera" lvl="13" mana="20" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/terra strike.lua"> <vocation id="1"/> <vocation id="5"/> <vocation id="2"/> <vocation id="6"/> </instant> <instant name="Terra Wave" words="exevo tera hur" lvl="38" mana="210" direction="1" exhaustion="2000" needlearn="0" event="script" value="attack/terra wave.lua"> <vocation id="2"/> <vocation id="6"/> </instant> <instant name="Wrath of Nature" words="exevo gran mas tera" lvl="55" mana="770" prem="1" selftarget="1" exhaustion="2000" needlearn="0" event="script" value="attack/wrath of nature.lua"> <vocation id="2"/> <vocation id="6"/> </instant> <!-- Healing Spells --> <instant name="Light Healing" words="exura" lvl="9" mana="20" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="healing/light healing.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </instant> <instant name="Antidote" words="exana pox" lvl="10" mana="30" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="healing/antidote.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </instant> <instant name="Antiflame" words="exana flam" lvl="15" mana="35" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="healing/antiflame.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </instant> <instant name="Intense Healing" words="exura gran" lvl="11" mana="70" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="healing/intense healing.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> </instant> <instant name="Heal Friend" words="exura sio" lvl="18" mana="140" prem="1" aggressive="0" needtarget="1" params="1" exhaustion="2000" needlearn="0" event="script" value="healing/heal friend.lua"> <vocation id="2"/> <vocation id="6"/> </instant> <instant name="Ultimate Healing" words="exura vita" lvl="20" mana="160" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="healing/ultimate healing.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> </instant> <instant name="Mass Healing" words="exura gran mas res" lvl="36" mana="150" prem="1" aggressive="0" exhaustion="1000" needlearn="0" event="script" value="healing/mass healing.lua"> <vocation id="2"/> <vocation id="6"/> </instant> <instant name="Divine Healing" words="exura san" lvl="35" mana="210" prem="1" selftarget="1" aggressive="0" exhaustion="1000" needlearn="0" event="script" value="healing/divine healing.lua"> <vocation id="3"/> <vocation id="7"/> </instant> <instant name="Wound Cleansing" words="exana mort" lvl="30" mana="65" prem="1" selftarget="1" aggressive="0" exhaustion="1000" needlearn="0" event="script" value="healing/wound cleasing.lua"> <vocation id="4"/> <vocation id="8"/> </instant> <!-- Support Spells --> <instant name="Light" words="utevo lux" lvl="8" mana="20" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="support/light.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </instant> <instant name="Find Person" words="exiva" lvl="8" mana="20" aggressive="0" params="1" exhaustion="1000" needlearn="0" event="function" value="searchPlayer"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </instant> <instant name="Magic Rope" words="exani tera" lvl="9" mana="20" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="support/magic rope.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </instant> <instant name="Levitate" words="exani hur" lvl="12" mana="50" prem="1" aggressive="0" exhaustion="1000" params="1" needlearn="0" event="function" value="Levitate"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </instant> <instant name="Great Light" words="utevo gran lux" lvl="13" mana="60" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="support/great light.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </instant> <instant name="Magic Shield" words="utamo vita" lvl="14" mana="50" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="support/magic shield.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> </instant> <instant name="Haste" words="utani hur" lvl="14" mana="60" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="support/haste.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </instant> <instant name="Charge" words="utani tempo hur" lvl="25" mana="100" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="support/charge.lua"> <vocation id="4"/> <vocation id="8"/> </instant> <instant name="Swift Foot" words="utamo tempo san" lvl="55" mana="400" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="support/swift foot.lua"> <vocation id="3"/> <vocation id="7"/> </instant> <instant name="Challenge" words="exeta res" lvl="20" mana="30" prem="1" aggressive="0" exhaustion="1000" needlearn="0" event="script" value="support/challenge.lua"> <vocation id="8"/> </instant> <instant name="Strong Haste" words="utani gran hur" lvl="20" mana="100" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="support/strong haste.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> <instant name="Creature Illusion" words="utevo res ina" lvl="23" mana="100" aggressive="0" params="1" exhaustion="1000" needlearn="0" event="function" value="Illusion"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> <instant name="Ultimate Light" words="utevo vis lux" lvl="26" mana="140" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="support/ultimate light.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> <instant name="Cancel Invisibility" words="exana ina" lvl="26" mana="200" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="support/cancel invisibility.lua"> <vocation id="1"/> <vocation id="5"/> </instant> <instant name="Invisibility" words="utana vid" lvl="35" mana="440" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="support/invisible.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> </instant> <instant name="Sharpshooter" words="utito tempo san" lvl="60" mana="450" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="support/sharpshooter.lua"> <vocation id="3"/> <vocation id="7"/> </instant> <instant name="Protector" words="utamo tempo" lvl="55" mana="200" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="support/protector.lua"> <vocation id="4"/> <vocation id="8"/> </instant> <instant name="Blood Rage" words="utito tempo" lvl="60" mana="290" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="support/blood rage.lua"> <vocation id="4"/> <vocation id="8"/> </instant> <instant name="Xtreme hur" words="utani fox hur" selftarget="1" aggressive="0" lvl="200" maglv="5" mana="200" soul="0" exhaustion="1" prem="1" enabled="1" script="god hur.lua"><vocation id="1"/><vocation id="2"/><vocation id="3"/><vocation id="4"/><vocation id="5"/><vocation id="6"/><vocation id="7"/><vocation id="8"/></instant> <instant name="GOD Hur" words="utani rockstar hur" selftarget="1" aggressive="0" lvl="200" maglv="5" mana="0" soul="0" exhaustion="1999" prem="1" enabled="1" script="god hur.lua"><vocation id="9"/></instant> <!-- Party Spells --> <instant name="Train Party" words="utito mas sio" lvl="32" mana="60" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="party/train.lua"> <vocation id="8"/> </instant> <instant name="Protect Party" words="utamo mas sio" lvl="32" mana="90" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="party/protect.lua"> <vocation id="7"/> </instant> <instant name="Heal Party" words="utura mas sio" lvl="32" mana="120" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="party/heal.lua"> <vocation id="6"/> </instant> <instant name="Enchant Party" words="utori mas sio" lvl="32" mana="120" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="party/enchant.lua"> <vocation id="5"/> </instant> <!-- Summon Spells --> <instant name="Summon Creature" words="utevo res" lvl="25" params="1" exhaustion="2000" needlearn="0" event="function" value="summonMonster"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> <instant name="Undead Legion" words="exana mas mort" lvl="30" mana="500" prem="1" exhaustion="2000" needlearn="0" event="script" value="summon/undead legion.lua"> <vocation id="2"/> <vocation id="6"/> </instant> <!-- Conjure Spells --> <conjure name="Conjure Arrow" words="exevo con" lvl="13" mana="100" soul="1" conjureId="2544" conjureCount="10" exhaustion="1000" needlearn="0" event="function" value="conjureItem"> <vocation id="3"/> <vocation id="7"/> </conjure> <conjure name="Food" words="exevo pan" lvl="14" mana="120" soul="1" exhaustion="1000" needlearn="0" event="function" value="conjureFood"> <vocation id="2"/> <vocation id="3"/> <vocation id="6"/> <vocation id="7"/> </conjure> <conjure name="Poisoned Arrow" words="exevo con pox" lvl="16" mana="130" soul="2" conjureId="2545" conjureCount="7" exhaustion="1000" needlearn="0" event="function" value="conjureItem"> <vocation id="3"/> <vocation id="7"/> </conjure> <conjure name="Conjure Bolt" words="exevo con mort" lvl="17" mana="140" soul="2" prem="1" conjureId="2543" conjureCount="5" exhaustion="1000" needlearn="0" event="function" value="conjureItem"> <vocation id="3"/> <vocation id="7"/> </conjure> <conjure name="Conjure Sniper Arrow" words="exevo con hur" lvl="24" mana="160" soul="3" prem="1" conjureId="7364" conjureCount="5" exhaustion="1000" needlearn="0" event="function" value="conjureItem"> <vocation id="3"/> <vocation id="7"/> </conjure> <conjure name="Explosive Arrow" words="exevo con flam" lvl="25" mana="290" soul="3" conjureId="2546" conjureCount="8" exhaustion="1000" needlearn="0" event="function" value="conjureItem"> <vocation id="3"/> <vocation id="7"/> </conjure> <conjure name="Conjure Piercing Bolt" words="exevo con grav" lvl="33" mana="180" soul="3" prem="1" conjureId="7363" conjureCount="5" exhaustion="1000" needlearn="0" event="function" value="conjureItem"> <vocation id="3"/> <vocation id="7"/> </conjure> <conjure name="Enchant Staff" words="exeta vis" lvl="41" mana="80" prem="1" conjureId="2433" reagentId="2401" exhaustion="1000" needlearn="0" event="function" value="conjureItem"> <vocation id="5"/> </conjure> <conjure name="Enchant Spear" words="exeta con" lvl="45" mana="350" soul="3" prem="1" conjureId="7367" reagentId="2389" exhaustion="1000" needlearn="0" event="function" value="conjureItem"> <vocation id="3"/> <vocation id="7"/> </conjure> <conjure name="Power Bolt" words="exevo con vis" lvl="59" mana="800" soul="4" prem="1" conjureId="2547" conjureCount="10" exhaustion="1000" needlearn="0" event="function" value="conjureItem"> <vocation id="7"/> </conjure> <conjure name="Conjure Assassin" words="exevo con san" lvl="80" mana="500" soul="0" conjureId="7368" conjureCount="15" exhaustion="1000" needlearn="0" function="conjureItem"> <vocation name="Royal Paladin"/> </conjure> <conjure name="Conjure Blank" words="adori blank" lvl="20" mana="200" soul="0" conjureId="2260" conjureCount="1" exhaustion="2000" needlearn="0" function="conjureItem"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </conjure> <conjure name="Poison Field" words="adevo grav pox" lvl="14" mana="200" soul="1" reagentId="2260" conjureId="2285" conjureCount="3" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </conjure> <conjure name="Light Magic Missile" words="adori min vis" lvl="15" mana="120" soul="1" reagentId="2260" conjureId="2287" conjureCount="10" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </conjure> <conjure name="Fire Field" words="adevo grav flam" lvl="15" mana="240" soul="1" reagentId="2260" conjureId="2301" conjureCount="3" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </conjure> <conjure name="Fireball" words="adori flam" lvl="27" mana="460" soul="3" prem="1" reagentId="2260" conjureId="2302" conjureCount="5" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="5"/> </conjure> <conjure name="Energy Field" words="adevo grav vis" lvl="18" mana="320" soul="2" reagentId="2260" conjureId="2277" conjureCount="3" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </conjure> <conjure name="Stalagmite" words="adori tera" lvl="24" mana="400" soul="2" prem="2" reagentId="2260" conjureId="2292" conjureCount="10" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="5"/> <vocation id="2"/> <vocation id="6"/> </conjure> <conjure name="Great Fireball" words="adori mas flam" lvl="30" mana="530" soul="3" reagentId="2260" conjureId="2304" conjureCount="4" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="5"/> </conjure> <conjure name="Heavy Magic Missile" words="adori vis" lvl="25" mana="350" soul="2" reagentId="2260" conjureId="2311" conjureCount="10" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="5"/> <vocation id="2"/> <vocation id="6"/> </conjure> <conjure name="Poison Bomb" words="adevo mas pox" lvl="25" mana="520" soul="2" prem="1" reagentId="2260" conjureId="2286" conjureCount="2" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="2"/> <vocation id="6"/> </conjure> <conjure name="Firebomb" words="adevo mas flam" lvl="27" mana="600" soul="4" reagentId="2260" conjureId="2305" conjureCount="2" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </conjure> <conjure name="Soulfire" words="adevo res flam" lvl="27" mana="600" soul="3" prem="1" reagentId="2260" conjureId="2308" conjureCount="3" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </conjure> <conjure name="Poison Wall" words="adevo mas grav pox" lvl="29" mana="640" soul="3" reagentId="2260" conjureId="2289" conjureCount="4" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </conjure> <conjure name="Explosion" words="adevo mas hur" lvl="31" mana="570" soul="4" reagentId="2260" conjureId="2313" conjureCount="6" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </conjure> <conjure name="Fire Wall" words="adevo mas grav flam" lvl="33" mana="780" soul="4" reagentId="2260" conjureId="2303" conjureCount="4" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </conjure> <conjure name="Energybomb" words="adevo mas vis" lvl="37" mana="880" soul="5" prem="1" reagentId="2260" conjureId="2262" conjureCount="2" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="5"/> </conjure> <conjure name="Energy Wall" words="adevo mas grav vis" lvl="41" mana="1000" soul="5" reagentId="2260" conjureId="2279" conjureCount="4" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </conjure> <conjure name="Sudden Death" words="adori gran mort" lvl="45" mana="985" soul="5" reagentId="2260" conjureId="2268" conjureCount="3" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="5"/> </conjure> <conjure name="Antidote Rune" words="adana pox" lvl="15" mana="200" soul="1" reagentId="2260" conjureId="2266" conjureCount="1" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="2"/> <vocation id="6"/> </conjure> <conjure name="Intense Healing Rune" words="adura gran" lvl="15" mana="240" soul="2" reagentId="2260" conjureId="2265" conjureCount="1" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="2"/> <vocation id="6"/> </conjure> <conjure name="Ultimate Healing Rune" words="adura vita" lvl="24" mana="400" soul="3" reagentId="2260" conjureId="2273" conjureCount="1" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="2"/> <vocation id="6"/> </conjure> <conjure name="Convince Creature" words="adeta sio" lvl="16" mana="200" soul="3" reagentId="2260" conjureId="2290" conjureCount="1" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="2"/> <vocation id="6"/> </conjure> <conjure name="Animate Dead" words="adana mort" lvl="27" mana="600" soul="5" prem="1" reagentId="2260" conjureId="2316" conjureCount="1" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </conjure> <conjure name="Chameleon" words="adevo ina" lvl="27" mana="600" soul="2" reagentId="2260" conjureId="2291" conjureCount="1" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="2"/> <vocation id="6"/> </conjure> <conjure name="Destroy Field" words="adito grav" lvl="17" mana="120" soul="2" reagentId="2260" conjureId="2261" conjureCount="3" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> </conjure> <conjure name="Desintegrate" words="adito tera" lvl="21" mana="200" soul="3" prem="1" reagentId="2260" conjureId="2310" conjureCount="3" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> </conjure> <conjure name="Magic Wall" words="adevo grav tera" lvl="32" mana="750" soul="5" prem="1" reagentId="2260" conjureId="2293" conjureCount="3" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="5"/> </conjure> <conjure name="Wild Growth" words="adevo grav vita" lvl="27" mana="600" soul="5" prem="1" reagentId="2260" conjureId="2269" conjureCount="2" needlearn="0" event="function" value="conjureRune"> <vocation id="2"/> <vocation id="6"/> </conjure> <conjure name="Paralyze" words="adana ani" lvl="54" mana="1400" soul="3" prem="1" reagentId="2260" conjureId="2278" conjureCount="1" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="2"/> <vocation id="6"/> </conjure> <conjure name="Icicle" words="adori frigo" lvl="28" mana="460" soul="3" prem="1" reagentId="2260" conjureId="2271" conjureCount="5" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="2"/> <vocation id="6"/> </conjure> <conjure name="Avalanche" words="adori mas frigo" lvl="30" mana="530" soul="3" reagentId="2260" conjureId="2274" conjureCount="4" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="2"/> <vocation id="6"/> </conjure> <conjure name="Stone Shower" words="adori mas tera" lvl="28" mana="430" soul="3" prem="1" reagentId="2260" conjureId="2288" conjureCount="4" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="2"/> <vocation id="6"/> </conjure> <conjure name="Thunderstorm" words="adori mas vis" lvl="28" mana="430" soul="3" prem="1" reagentId="2260" conjureId="2315" conjureCount="4" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="1"/> <vocation id="5"/> </conjure> <conjure name="Holy Missile" words="adori san" lvl="27" mana="350" soul="3" prem="1" reagentId="2260" conjureId="2295" conjureCount="5" exhaustion="1000" needlearn="0" event="function" value="conjureRune"> <vocation id="3"/> <vocation id="7"/> </conjure> <conjure name="flash arrow" words="exevo con mas vis" lvl="20" mana="100" soul="1" conjureId="7838" conjureCount="25" exhaustion="1000" needlearn="0" function="conjureItem"> <vocation id="3"/> <vocation id="7"/> </conjure> </spells>1 ponto
-
Seu server não suporta o tamanho do seu mapa rs. Ele diz que estourou o limite, ou seja, o server pede para que você diminua o tamanho para ele rodar normalmente. Obs: Em relação a c++ não adianta, ele é feito em XML Abraçs.1 ponto
-
Npc Guard (Dallheim) De Rookgard
BravHart reagiu a Demonbholder por um tópico no fórum
Certo, vamos lá! Em data/npcs, crie um arquivo .xml e cole isto nele: <?xml version="1.0" encoding="UTF-8"?> <npc name="NomeDoNpc" script="data/npc/scripts/NomeDoArquivo.lua" walkinterval="0" floorchange="0"> <health now="100" max="100"/> <look typeex="1448" corpse="3128"/> </npc> Edite o nome, o look type e o local onde ficará o script. Não edite o walkinterval. Agora vá em data/npcs/scripts, crie um arquivo .lua e cole isto nele: 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) local time = 3600*24 -- tempo entre uma cura e outra if msg == "hi" then if getCreatureCondition(cid, CONDITION_FIRE) or getCreatureCondition(cid, CONDITION_ENERGY) or getCreatureCondition(cid, CONDITION_POISON) then if getPlayerStorageValue(cid, 38000) - os.time() <= 0 then doCreatureAddHealth(cid, 65) selfSay("You may get better now.", cid) setPlayerStorageValue(cid, 38000, time + os.time()) else selfSay("I already helped you today, now go away!", cid) end else selfSay("Greetings tibian!", cid) end end end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Pronto, o npc está feito! Agora, pelo map editor, coloque um actionid nos tiles da ponte. Feito isso, vá em data/movevents/scripts, crie um arquivo .lua e cole isto nele: function onStepIn(cid, item, position, fromPosition) local npc = {x=158, y=52, z=7, stackpos=253} -- posição do npc, não mude o stackpos if isPlayer(cid) then if getPlayerLevel(cid) == 1 then doCreatureSay(getThingFromPos(npc).uid, "You can not continue.", 1) doTeleportThing(cid, fromPosition) end end return TRUE end Por último, vá em data/movevents, abra o arquivo movements.xml e cole esta tag nele: <movevent type="StepIn" actionid="37804" event="script" value="NomeDoArquivo.lua"/> Em actionid você coloca o mesmo actionid que colocou pelo mapeditor, e em value o nome do script que você colou o script acima. É isso, testei aqui e funcionou, aguardando confirmação. Até.1 ponto -
A idéia dele e boa /\ 'Vocês ai de cima' deveriam respeita mais as opnioes dos membros, não que vocês não respeitem mais por exemplo, se 10~20 pessoas acham que tal coisa deveria ser feita se isso é uma coisa boa porque não fazer? porque fica enrolando essa porra? não deu certo? desfaz. a voz do povo e a voz de deus Aprovação de Tutoriais: Liberar para que, moderadores e colaboradores aprovem tutoriais, gente não tem essa de que colaborador não tem experiência pra aprovar tutorial não.. se ele não tem experiência porque está no 'cargo' de colaborador?? vocês não confiam neles? ta. Download de OTservs Moderadores baixarem os otservers faze um scan, não precisa nem ser no 'vírus total'... Usando seu próprio antivírus, mais deixando claro com qual antivírus foi feito o scan, e também que avaliem dando uma nota (0~10) Anúncio de Servidores e Monte Sua Equipe Se vocês colocarem uma 'forma' onde ele só precise preenche já ajuda, claro que a solução seria uma lista estilo a otservlist mais em conjunto com o forum.. Scripting Criar algum tipo de reputação especial para eles, não só para eles e sim para mappers também, assim com certeza acho que iriam ajudar mais. algo do tipo Scripter ~> Scripter Medio ~> Scripter Expert ~> Script Supreme mais não liberar esse tipo de 'reputação' para noix membros, deixem colaboradores e moderadores avaliarem.. Mapping Bote alguém que realmente se importa com a área para desenvolver eventos, moderar concursos etc.. e usa o mesmo tipo de reputação como citado a cima Bjs :*1 ponto
-
Bom nao vou conseguir te ajudar muito mais os programas que voce vai ter que usar sao spr editor e dat editor é isso =/ Se a resposta foi inultil simplesmente a ingnore1 ponto
-
Bug Website Gesior
vinny160600 reagiu a haiguri por um tópico no fórum
Quando voce for mexer no arquivo, inves de por o acento, substitua o : á: á (& letra a acento agudo (acute)) é: é í: í o: ó u; ú ã: ã õ: õ ç: ç ê: ê1 ponto -
Preciso o scrpit monster pro pokemon 4.1 versao 8.54 com as lifes e os poderes sertinho !!! por favor1 ponto
-
Começar Otserver Online, Site Online, Ip Fixo, Net Compartilhada, Liberando Portas, E Muito Mais!
Fepks reagiu a CarlosPain por um tópico no fórum
Ui, fico muito sexy É isso que falta no XTibia, conteúdo de qualidade, com uma boa formatação, apesar de eu preferir alinhado a esquerda. Parabéns, eu não tenho o poder de aprovar, mas se tivesse já teria feito Mas bem, acho que faltou mais imagens, e você poderia ter simplificado algumas coisas, deichar de usar tanto as tags code, e bem separar por tópicos seria legal, criar uma introdução no Tutorial é fundamental e também a formatação. Obrigado pela indicação Frozen1 ponto