Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 06/22/18 em todas áreas

  1. PoRaI

    OTClient Module Maker

    Bom, tem um tempo que eu tinha começado a desenvolver esse programa mas havia parado. Estou voltando com ele e vou trazer exclusivamente para o XTibia. Um programa para criar janelas para o OTClient. Ele ainda está um tanto quanto incompleto, mas, estou fazendo este post para mostrar o progresso dele. Quando as principais funções estiverem prontas, irei publica-lo e irei lançar constantes atualizações. É algo que eu vou usar, então, irei trabalhar bem nele. GIFS: Um plano que eu tinha em mente: Conforme vou atualizando, vou postando aqui. Qualquer duvida ou sugestão, deixe ai nos comentários. :3
    1 ponto
  2. Walox

    Walox / Logos Poketibia - PSD TEMPLATE

    Logo Poketibia PSD Template Fala guys tudo tramquilo ?? bom venho trazer para vocês algumas logos que eu fiz, essas logos eu fiz para meu servidor PokéFantasy mas vou usar somente uma ner haha então estarei disponibilizando para vocês as outras eu sei que não estão perfeitas mas acho que já ajuda quem esta iniciando rs vou estar deixando ai as imagens e o link para download se gostar deixa aquele REP+ pra ajudar. PS: a logo do raio eu estou usando em meu projeto então não esta no pacote blz BAIXAR LOGOS
    1 ponto
  3. Benny

    [Encerrado] NPC BUGANDO

    Tenta assim local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) -- OTServ event handling functions start 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 -- OTServ event handling functions end function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false end if msgcontains(msg, 'bp of ultimate healing') then npcHandler:say('Do you want to buy a backpack of ultimate healing rune for 3000 gold coins?') talk_state = 1 elseif msgcontains(msg, 'yes') and talk_state == 1 then if getPlayerMoney(cid) >= 3000 then blue_bp = doPlayerAddItem(cid, 2002, 1) doAddContainerItem(blue_bp, 2273, 1) doAddContainerItem(blue_bp, 2273, 1) doAddContainerItem(blue_bp, 2273, 1) doAddContainerItem(blue_bp, 2273, 1) doAddContainerItem(blue_bp, 2273, 1) doAddContainerItem(blue_bp, 2273, 1) doAddContainerItem(blue_bp, 2273, 1) doAddContainerItem(blue_bp, 2273, 1) doAddContainerItem(blue_bp, 2273, 1) doAddContainerItem(blue_bp, 2273, 1) doAddContainerItem(blue_bp, 2273, 1) doAddContainerItem(blue_bp, 2273, 1) doAddContainerItem(blue_bp, 2273, 1) doAddContainerItem(blue_bp, 2273, 1) doAddContainerItem(blue_bp, 2273, 1) doAddContainerItem(blue_bp, 2273, 1) doAddContainerItem(blue_bp, 2273, 1) doAddContainerItem(blue_bp, 2273, 1) doAddContainerItem(blue_bp, 2273, 1) doAddContainerItem(blue_bp, 2273, 1) doPlayerRemoveMoney(cid, 3000) npcHandler:say('Thank you for buying.') talk_state = 0 else npcHandler:say('You don\'t have enough money.') talk_state = 0 end end if msgcontains(msg, 'bp of sudden death') then npcHandler:say('Do you want to buy a backpack of sudden death rune for 6000 gold coins?') talk_state = 2 elseif msgcontains(msg, 'yes') and talk_state == 2 then if getPlayerMoney(cid) >= 5500 then grey_bp = doPlayerAddItem(cid, 2003, 1) doAddContainerItem(grey_bp, 2268, 3) doAddContainerItem(grey_bp, 2268, 3) doAddContainerItem(grey_bp, 2268, 3) doAddContainerItem(grey_bp, 2268, 3) doAddContainerItem(grey_bp, 2268, 3) doAddContainerItem(grey_bp, 2268, 3) doAddContainerItem(grey_bp, 2268, 3) doAddContainerItem(grey_bp, 2268, 3) doAddContainerItem(grey_bp, 2268, 3) doAddContainerItem(grey_bp, 2268, 3) doAddContainerItem(grey_bp, 2268, 3) doAddContainerItem(grey_bp, 2268, 3) doAddContainerItem(grey_bp, 2268, 3) doAddContainerItem(grey_bp, 2268, 3) doAddContainerItem(grey_bp, 2268, 3) doAddContainerItem(grey_bp, 2268, 3) doAddContainerItem(grey_bp, 2268, 3) doAddContainerItem(grey_bp, 2268, 3) doAddContainerItem(grey_bp, 2268, 3) doAddContainerItem(grey_bp, 2268, 3) doPlayerRemoveMoney(cid, 5500) npcHandler:say('Thank you for buying.') talk_state = 0 else npcHandler:say('You don\'t have enough money.') talk_state = 0 end end if msgcontains(msg, 'bp of heavy magic missile') then npcHandler:say('Do you want to buy a backpack of heavy magic missile rune for 2000 gold coins?') talk_state = 3 elseif msgcontains(msg, 'yes') and talk_state == 3 then if getPlayerMoney(cid) >= 2000 then purple1_bp = doPlayerAddItem(cid, 2001, 1) doAddContainerItem(purple1_bp, 2311, 5) doAddContainerItem(purple1_bp, 2311, 5) doAddContainerItem(purple1_bp, 2311, 5) doAddContainerItem(purple1_bp, 2311, 5) doAddContainerItem(purple1_bp, 2311, 5) doAddContainerItem(purple1_bp, 2311, 5) doAddContainerItem(purple1_bp, 2311, 5) doAddContainerItem(purple1_bp, 2311, 5) doAddContainerItem(purple1_bp, 2311, 5) doAddContainerItem(purple1_bp, 2311, 5) doAddContainerItem(purple1_bp, 2311, 5) doAddContainerItem(purple1_bp, 2311, 5) doAddContainerItem(purple1_bp, 2311, 5) doAddContainerItem(purple1_bp, 2311, 5) doAddContainerItem(purple1_bp, 2311, 5) doAddContainerItem(purple1_bp, 2311, 5) doAddContainerItem(purple1_bp, 2311, 5) doAddContainerItem(purple1_bp, 2311, 5) doAddContainerItem(purple1_bp, 2311, 5) doAddContainerItem(purple1_bp, 2311, 5) doPlayerRemoveMoney(cid, 2000) npcHandler:say('Thank you for buying.') talk_state = 0 else npcHandler:say('You don\'t have enough money.') talk_state = 0 end end if msgcontains(msg, 'bp of great fireball') then npcHandler:say('Do you want to buy a backpack of great fireball rune for 3000 gold coins?') talk_state = 4 elseif msgcontains(msg, 'yes') and talk_state == 4 then if getPlayerMoney(cid) >= 3000 then red_bp = doPlayerAddItem(cid, 2000, 1) doAddContainerItem(red_bp, 2304, 4) doAddContainerItem(red_bp, 2304, 4) doAddContainerItem(red_bp, 2304, 4) doAddContainerItem(red_bp, 2304, 4) doAddContainerItem(red_bp, 2304, 4) doAddContainerItem(red_bp, 2304, 4) doAddContainerItem(red_bp, 2304, 4) doAddContainerItem(red_bp, 2304, 4) doAddContainerItem(red_bp, 2304, 4) doAddContainerItem(red_bp, 2304, 4) doAddContainerItem(red_bp, 2304, 4) doAddContainerItem(red_bp, 2304, 4) doAddContainerItem(red_bp, 2304, 4) doAddContainerItem(red_bp, 2304, 4) doAddContainerItem(red_bp, 2304, 4) doAddContainerItem(red_bp, 2304, 4) doAddContainerItem(red_bp, 2304, 4) doAddContainerItem(red_bp, 2304, 4) doAddContainerItem(red_bp, 2304, 4) doAddContainerItem(red_bp, 2304, 4) doPlayerRemoveMoney(cid, 3000) npcHandler:say('Thank you for buying.') talk_state = 0 else npcHandler:say('You don\'t have enough money.') talk_state = 0 end end if msgcontains(msg, 'bp of explosion') or msgcontains(msg, 'bp of explo') then npcHandler:say('Do you want to buy a backpack of explosion rune for 4000 gold coins?') talk_state = 5 elseif msgcontains(msg, 'yes') and talk_state == 5 then if getPlayerMoney(cid) >= 4000 then purple2_bp = doPlayerAddItem(cid, 2001, 1) doAddContainerItem(purple2_bp, 2313, 3) doAddContainerItem(purple2_bp, 2313, 3) doAddContainerItem(purple2_bp, 2313, 3) doAddContainerItem(purple2_bp, 2313, 3) doAddContainerItem(purple2_bp, 2313, 3) doAddContainerItem(purple2_bp, 2313, 3) doAddContainerItem(purple2_bp, 2313, 3) doAddContainerItem(purple2_bp, 2313, 3) doAddContainerItem(purple2_bp, 2313, 3) doAddContainerItem(purple2_bp, 2313, 3) doAddContainerItem(purple2_bp, 2313, 3) doAddContainerItem(purple2_bp, 2313, 3) doAddContainerItem(purple2_bp, 2313, 3) doAddContainerItem(purple2_bp, 2313, 3) doAddContainerItem(purple2_bp, 2313, 3) doAddContainerItem(purple2_bp, 2313, 3) doAddContainerItem(purple2_bp, 2313, 3) doAddContainerItem(purple2_bp, 2313, 3) doAddContainerItem(purple2_bp, 2313, 3) doAddContainerItem(purple2_bp, 2313, 3) doPlayerRemoveMoney(cid, 4000) npcHandler:say('Thank you for buying.') talk_state = 0 else npcHandler:say('You don\'t have enough money.') talk_state = 0 end end
    1 ponto
  4. PoRaI

    [Encerrado] Opcodes?

    ProtocolGame.registerExtendedOpcode(80, tasksInfo) já tentou usar fora do init?
    1 ponto
  5. Krono

    Adicionar novos Efects ao servidor

    Bom, encontrei esse tutorial, e estou compartilhando com vocês para sanar algumas duvidas. Ele ensina como aumentar o numero de efects no tibia, alterando as sourcers do servidor, é importante que todos os passos sejam seguidos a com rigor, e que mantenha um backup em caso de erro. Tutorial: Primeiramente, você precisará da source do distro usado em seu servidor ou uma source compatível com a versão do seu servidor. Tendo elas, abra o arquivo .dev (com o Dev-C++, é claro). No arquivo const.h, procure por: enum MagicEffect_t Você poderá notar que o código só estará configurado até o último efeito (no caso, 68): enum MagicEffect_t { MAGIC_EFFECT_DRAW_BLOOD = 0x00, MAGIC_EFFECT_LOSE_ENERGY = 0x01, MAGIC_EFFECT_POFF = 0x02, MAGIC_EFFECT_BLOCKHIT = 0x03, MAGIC_EFFECT_EXPLOSION_AREA = 0x04, MAGIC_EFFECT_EXPLOSION_DAMAGE = 0x05, MAGIC_EFFECT_FIRE_AREA = 0x06, MAGIC_EFFECT_YELLOW_RINGS = 0x07, MAGIC_EFFECT_POISON_RINGS = 0x08, MAGIC_EFFECT_HIT_AREA = 0x09, MAGIC_EFFECT_TELEPORT = 0x0A, //10 MAGIC_EFFECT_ENERGY_DAMAGE = 0x0B, //11 MAGIC_EFFECT_WRAPS_BLUE = 0x0C, //12 MAGIC_EFFECT_WRAPS_RED = 0x0D, //13 MAGIC_EFFECT_WRAPS_GREEN = 0x0E, //14 MAGIC_EFFECT_HITBY_FIRE = 0x0F, //15 MAGIC_EFFECT_POISON = 0x10, //16 MAGIC_EFFECT_MORT_AREA = 0x11, //17 MAGIC_EFFECT_SOUND_GREEN = 0x12, //18 MAGIC_EFFECT_SOUND_RED = 0x13, //19 MAGIC_EFFECT_POISON_AREA = 0x14, //20 MAGIC_EFFECT_SOUND_YELLOW = 0x15, //21 MAGIC_EFFECT_SOUND_PURPLE = 0x16, //22 MAGIC_EFFECT_SOUND_BLUE = 0x17, //23 MAGIC_EFFECT_SOUND_WHITE = 0x18, //24 MAGIC_EFFECT_BUBBLES = 0x19, //25 MAGIC_EFFECT_CRAPS = 0x1A, //26 MAGIC_EFFECT_GIFT_WRAPS = 0x1B, //27 MAGIC_EFFECT_FIREWORK_YELLOW = 0x1C, //28 MAGIC_EFFECT_FIREWORK_RED = 0x1D, //29 MAGIC_EFFECT_FIREWORK_BLUE = 0x1E, //30 MAGIC_EFFECT_STUN = 0x1F, //31 MAGIC_EFFECT_SLEEP = 0x20, //32 MAGIC_EFFECT_WATERCREATURE = 0x21, //33 MAGIC_EFFECT_GROUNDSHAKER = 0x22, //34 MAGIC_EFFECT_HEARTS = 0x23, //35 MAGIC_EFFECT_FIREATTACK = 0x24, //36 MAGIC_EFFECT_ENERGY_AREA = 0x25, //37 MAGIC_EFFECT_SMALLCLOUDS = 0x26, //38 MAGIC_EFFECT_HOLYDAMAGE = 0x27, //39 MAGIC_EFFECT_BIGCLOUDS = 0x28, //40 MAGIC_EFFECT_ICEAREA = 0x29, //41 MAGIC_EFFECT_ICETORNADO = 0x2A, //42 MAGIC_EFFECT_ICEATTACK = 0x2B, //43 MAGIC_EFFECT_STONES = 0x2C, //44 MAGIC_EFFECT_SMALLPLANTS = 0x2D, //45 MAGIC_EFFECT_CARNIPHILA = 0x2E, //46 MAGIC_EFFECT_PURPLEENERGY = 0x2F, //47 MAGIC_EFFECT_YELLOWENERGY = 0x30, //48 MAGIC_EFFECT_HOLYAREA = 0x31, //49 MAGIC_EFFECT_BIGPLANTS = 0x32, //50 MAGIC_EFFECT_CAKE = 0x33, //51 MAGIC_EFFECT_GIANTICE = 0x34, //52 MAGIC_EFFECT_WATERSPLASH = 0x35, //53 MAGIC_EFFECT_PLANTATTACK = 0x36, //54 MAGIC_EFFECT_TUTORIALARROW = 0x37, //55 MAGIC_EFFECT_TUTORIALSQUARE = 0x38, //56 MAGIC_EFFECT_MIRRORHORIZONTAL = 0x39, //57 MAGIC_EFFECT_MIRRORVERTICAL = 0x3A, //58 MAGIC_EFFECT_SKULLHORIZONTAL = 0x3B, //59 MAGIC_EFFECT_SKULLVERTICAL = 0x3C, //60 MAGIC_EFFECT_ASSASSIN = 0x3D, //61 MAGIC_EFFECT_STEPSHORIZONTAL = 0x3E, //62 MAGIC_EFFECT_BLOODYSTEPS = 0x3F, //63 MAGIC_EFFECT_STEPSVERTICAL = 0x40, //64 MAGIC_EFFECT_YALAHARIGHOST = 0x41, //65 MAGIC_EFFECT_BATS = 0x42, //66 MAGIC_EFFECT_SMOKE = 0x43, //67 MAGIC_EFFECT_INSECTS = 0x44, //68 MAGIC_EFFECT_LAST = MAGIC_EFFECT_INSECTS, //for internal use, dont send to client MAGIC_EFFECT_NONE = 0xFF, MAGIC_EFFECT_UNKNOWN = 0xFFFF }; Agora basta dar continuidade, configurando novos efeitos, como desejar. Por exemplo, aqui está configurado até o efeito 90 (source de NTO): enum MagicEffect_t { MAGIC_EFFECT_DRAW_BLOOD = 0x00, MAGIC_EFFECT_LOSE_ENERGY = 0x01, MAGIC_EFFECT_POFF = 0x02, MAGIC_EFFECT_BLOCKHIT = 0x03, MAGIC_EFFECT_EXPLOSION_AREA = 0x04, MAGIC_EFFECT_EXPLOSION_DAMAGE = 0x05, MAGIC_EFFECT_FIRE_AREA = 0x06, MAGIC_EFFECT_YELLOW_RINGS = 0x07, MAGIC_EFFECT_POISON_RINGS = 0x08, MAGIC_EFFECT_HIT_AREA = 0x09, MAGIC_EFFECT_TELEPORT = 0x0A, //10 MAGIC_EFFECT_ENERGY_DAMAGE = 0x0B, //11 MAGIC_EFFECT_WRAPS_BLUE = 0x0C, //12 MAGIC_EFFECT_WRAPS_RED = 0x0D, //13 MAGIC_EFFECT_WRAPS_GREEN = 0x0E, //14 MAGIC_EFFECT_HITBY_FIRE = 0x0F, //15 MAGIC_EFFECT_POISON = 0x10, //16 MAGIC_EFFECT_MORT_AREA = 0x11, //17 MAGIC_EFFECT_SOUND_GREEN = 0x12, //18 MAGIC_EFFECT_SOUND_RED = 0x13, //19 MAGIC_EFFECT_POISON_AREA = 0x14, //20 MAGIC_EFFECT_SOUND_YELLOW = 0x15, //21 MAGIC_EFFECT_SOUND_PURPLE = 0x16, //22 MAGIC_EFFECT_SOUND_BLUE = 0x17, //23 MAGIC_EFFECT_SOUND_WHITE = 0x18, //24 MAGIC_EFFECT_BUBBLES = 0x19, //25 MAGIC_EFFECT_CRAPS = 0x1A, //26 MAGIC_EFFECT_GIFT_WRAPS = 0x1B, //27 MAGIC_EFFECT_FIREWORK_YELLOW = 0x1C, //28 MAGIC_EFFECT_FIREWORK_RED = 0x1D, //29 MAGIC_EFFECT_FIREWORK_BLUE = 0x1E, //30 MAGIC_EFFECT_STUN = 0x1F, //31 MAGIC_EFFECT_SLEEP = 0x20, //32 MAGIC_EFFECT_WATERCREATURE = 0x21, //33 MAGIC_EFFECT_GROUNDSHAKER = 0x22, //34 MAGIC_EFFECT_HEARTS = 0x23, //35 MAGIC_EFFECT_FIREATTACK = 0x24, //36 MAGIC_EFFECT_ENERGY_AREA = 0x25, //37 MAGIC_EFFECT_SMALLCLOUDS = 0x26, //38 MAGIC_EFFECT_HOLYDAMAGE = 0x27, //39 MAGIC_EFFECT_BIGCLOUDS = 0x28, //40 MAGIC_EFFECT_ICEAREA = 0x29, //41 MAGIC_EFFECT_ICETORNADO = 0x2A, //42 MAGIC_EFFECT_ICEATTACK = 0x2B, //43 MAGIC_EFFECT_STONES = 0x2C, //44 MAGIC_EFFECT_SMALLPLANTS = 0x2D, //45 MAGIC_EFFECT_CARNIPHILA = 0x2E, //46 MAGIC_EFFECT_PURPLEENERGY = 0x2F, //47 MAGIC_EFFECT_YELLOWENERGY = 0x30, //48 MAGIC_EFFECT_HOLYAREA = 0x31, //49 MAGIC_EFFECT_BIGPLANTS = 0x32, //50 MAGIC_EFFECT_CAKE = 0x33, //51 MAGIC_EFFECT_GIANTICE = 0x34, //52 MAGIC_EFFECT_WATERSPLASH = 0x35, //53 MAGIC_EFFECT_PLANTATTACK = 0x36, //54 MAGIC_EFFECT_TUTORIALARROW = 0x37, //55 MAGIC_EFFECT_TUTORIALSQUARE = 0x38, //56 MAGIC_EFFECT_MIRRORHORIZONTAL = 0x39, //57 MAGIC_EFFECT_MIRRORVERTICAL = 0x3A, //58 MAGIC_EFFECT_SKULLHORIZONTAL = 0x3B, //59 MAGIC_EFFECT_SKULLVERTICAL = 0x3C, //60 MAGIC_EFFECT_ASSASSIN = 0x3D, //61 MAGIC_EFFECT_STEPSHORIZONTAL = 0x3E, //62 MAGIC_EFFECT_BLOODYSTEPS = 0x3F, //63 MAGIC_EFFECT_STEPSVERTICAL = 0x40, //64 MAGIC_EFFECT_YALAHARIGHOST = 0x41, //65 MAGIC_EFFECT_BATS = 0x42, //66 MAGIC_EFFECT_SMOKE = 0x43, //67 MAGIC_EFFECT_EFEITO69 = 0x44, //69 MAGIC_EFFECT_EFEITO70 = 0x45, //70 MAGIC_EFFECT_EFEITO71 = 0x46, //71 MAGIC_EFFECT_EFEITO72 = 0x47, //72 MAGIC_EFFECT_EFEITO73 = 0x48, //73 MAGIC_EFFECT_EFEITO74 = 0x49, //74 MAGIC_EFFECT_EFEITO75 = 0x50, //75 MAGIC_EFFECT_EFEITO76 = 0x51, //76 MAGIC_EFFECT_EFEITO77 = 0x52, //77 MAGIC_EFFECT_EFEITO78 = 0x53, //78 MAGIC_EFFECT_EFEITO79 = 0x54, //79 MAGIC_EFFECT_EFEITO80 = 0x55, //80 MAGIC_EFFECT_EFEITO81 = 0x56, //81 MAGIC_EFFECT_EFEITO82 = 0x57, //82 MAGIC_EFFECT_EFEITO83 = 0x58, //83 MAGIC_EFFECT_EFEITO84 = 0x59, //84 MAGIC_EFFECT_EFEITO85 = 0x60, //85 MAGIC_EFFECT_EFEITO86 = 0x61, //86 MAGIC_EFFECT_EFEITO87 = 0x62, //87 MAGIC_EFFECT_EFEITO88 = 0x63, //88 MAGIC_EFFECT_EFEITO89 = 0x64, //89 MAGIC_EFFECT_EFEITO90 = 0x65, //90 MAGIC_EFFECT_LAST = MAGIC_EFFECT_EFEITO90, //for internal use, dont send to client MAGIC_EFFECT_NONE = 0xFF, MAGIC_EFFECT_UNKNOWN = 0xFFFF }; Não esqueça de deixar MAGIC_EFFECT_LAST, sempre como sendo o último efeito configurado. Por exemplo, se o meu último efeito configurado é MAGIC_EFFECT_EFEITO71 = 0x46, //71, então, ficará como: MAGIC_EFFECT_LAST = MAGIC_EFFECT_EFEITO71, No arquivo tools.cpp, procure por: MagicEffectNames magicEffectNames[] = Basta configurar os efeitos novamente, assim como no arquivo anterior (const.h). Ficando assim (no caso, também até o 90): MagicEffectNames magicEffectNames[] = { {"redspark", MAGIC_EFFECT_DRAW_BLOOD}, {"bluebubble", MAGIC_EFFECT_LOSE_ENERGY}, {"poff", MAGIC_EFFECT_POFF}, {"yellowspark", MAGIC_EFFECT_BLOCKHIT}, {"explosionarea", MAGIC_EFFECT_EXPLOSION_AREA}, {"explosion", MAGIC_EFFECT_EXPLOSION_DAMAGE}, {"firearea", MAGIC_EFFECT_FIRE_AREA}, {"yellowbubble", MAGIC_EFFECT_YELLOW_RINGS}, {"greenbubble", MAGIC_EFFECT_POISON_RINGS}, {"blackspark", MAGIC_EFFECT_HIT_AREA}, {"teleport", MAGIC_EFFECT_TELEPORT}, {"energy", MAGIC_EFFECT_ENERGY_DAMAGE}, {"blueshimmer", MAGIC_EFFECT_WRAPS_BLUE}, {"redshimmer", MAGIC_EFFECT_WRAPS_RED}, {"greenshimmer", MAGIC_EFFECT_WRAPS_GREEN}, {"fire", MAGIC_EFFECT_HITBY_FIRE}, {"greenspark", MAGIC_EFFECT_POISON}, {"mortarea", MAGIC_EFFECT_MORT_AREA}, {"greennote", MAGIC_EFFECT_SOUND_GREEN}, {"rednote", MAGIC_EFFECT_SOUND_RED}, {"poison", MAGIC_EFFECT_POISON_AREA}, {"yellownote", MAGIC_EFFECT_SOUND_YELLOW}, {"purplenote", MAGIC_EFFECT_SOUND_PURPLE}, {"bluenote", MAGIC_EFFECT_SOUND_BLUE}, {"whitenote", MAGIC_EFFECT_SOUND_WHITE}, {"bubbles", MAGIC_EFFECT_BUBBLES}, {"dice", MAGIC_EFFECT_CRAPS}, {"giftwraps", MAGIC_EFFECT_GIFT_WRAPS}, {"yellowfirework", MAGIC_EFFECT_FIREWORK_YELLOW}, {"redfirework", MAGIC_EFFECT_FIREWORK_RED}, {"bluefirework", MAGIC_EFFECT_FIREWORK_BLUE}, {"stun", MAGIC_EFFECT_STUN}, {"sleep", MAGIC_EFFECT_SLEEP}, {"watercreature", MAGIC_EFFECT_WATERCREATURE}, {"groundshaker", MAGIC_EFFECT_GROUNDSHAKER}, {"hearts", MAGIC_EFFECT_HEARTS}, {"fireattack", MAGIC_EFFECT_FIREATTACK}, {"energyarea", MAGIC_EFFECT_ENERGY_AREA}, {"smallclouds", MAGIC_EFFECT_SMALLCLOUDS}, {"holydamage", MAGIC_EFFECT_HOLYDAMAGE}, {"bigclouds", MAGIC_EFFECT_BIGCLOUDS}, {"icearea", MAGIC_EFFECT_ICEAREA}, {"icetornado", MAGIC_EFFECT_ICETORNADO}, {"iceattack", MAGIC_EFFECT_ICEATTACK}, {"stones", MAGIC_EFFECT_STONES}, {"smallplants", MAGIC_EFFECT_SMALLPLANTS}, {"carniphila", MAGIC_EFFECT_CARNIPHILA}, {"purpleenergy", MAGIC_EFFECT_PURPLEENERGY}, {"yellowenergy", MAGIC_EFFECT_YELLOWENERGY}, {"holyarea", MAGIC_EFFECT_HOLYAREA}, {"bigplants", MAGIC_EFFECT_BIGPLANTS}, {"cake", MAGIC_EFFECT_CAKE}, {"giantice", MAGIC_EFFECT_GIANTICE}, {"watersplash", MAGIC_EFFECT_WATERSPLASH}, {"plantattack", MAGIC_EFFECT_PLANTATTACK}, {"tutorialarrow", MAGIC_EFFECT_TUTORIALARROW}, {"tutorialsquare", MAGIC_EFFECT_TUTORIALSQUARE}, {"mirrorhorizontal", MAGIC_EFFECT_MIRRORHORIZONTAL}, {"mirrorvertical", MAGIC_EFFECT_MIRRORVERTICAL}, {"skullhorizontal", MAGIC_EFFECT_SKULLHORIZONTAL}, {"skullvertical", MAGIC_EFFECT_SKULLVERTICAL}, {"assassin", MAGIC_EFFECT_ASSASSIN}, {"stepshorizontal", MAGIC_EFFECT_STEPSHORIZONTAL}, {"bloodysteps", MAGIC_EFFECT_BLOODYSTEPS}, {"stepsvertical", MAGIC_EFFECT_STEPSVERTICAL}, {"yalaharighost", MAGIC_EFFECT_YALAHARIGHOST}, {"bats", MAGIC_EFFECT_BATS}, {"smoke", MAGIC_EFFECT_SMOKE}, {"efeito69", MAGIC_EFFECT_EFEITO69}, {"efeito70", MAGIC_EFFECT_EFEITO70}, {"efeito71", MAGIC_EFFECT_EFEITO71}, {"efeito72", MAGIC_EFFECT_EFEITO72}, {"efeito73", MAGIC_EFFECT_EFEITO73}, {"efeito74", MAGIC_EFFECT_EFEITO74}, {"efeito75", MAGIC_EFFECT_EFEITO75}, {"efeito76", MAGIC_EFFECT_EFEITO76}, {"efeito77", MAGIC_EFFECT_EFEITO77}, {"efeito78", MAGIC_EFFECT_EFEITO78}, {"efeito79", MAGIC_EFFECT_EFEITO79}, {"efeito80", MAGIC_EFFECT_EFEITO80}, {"efeito81", MAGIC_EFFECT_EFEITO81}, {"efeito82", MAGIC_EFFECT_EFEITO82}, {"efeito83", MAGIC_EFFECT_EFEITO83}, {"efeito84", MAGIC_EFFECT_EFEITO84}, {"efeito85", MAGIC_EFFECT_EFEITO85}, {"efeito86", MAGIC_EFFECT_EFEITO86}, {"efeito87", MAGIC_EFFECT_EFEITO87}, {"efeito88", MAGIC_EFFECT_EFEITO88}, {"efeito89", MAGIC_EFFECT_EFEITO89}, {"efeito90", MAGIC_EFFECT_EFEITO90} }; Não esqueça de configurar exatamente como em const.h. Por exemplo, se no arquivo anterior o efeito 71 está configurado como: MAGIC_EFFECT_EFEITO71 = 0x46, //71 Então, você terá que configurar o mesmo efeito com os mesmos caracteres do nome desse efeito em tools.cpp (no código, digo configurar os caracteres exatamente iguais aos do arquivo anterior, após a vírgula >): {"efeito71", MAGIC_EFFECT_EFEITO71}, Compile e adicione o executável do distro à seu servidor. Vamos a configuração no seu servidor. Vá até o diretório da pasta lib (data/lib) e abra o arquivo 000-constant.lua. Nele, procure por: CONST_ME_ E então configure, logo após o último efeito (no caso, 68 seria: CONST_ME_INSECTS = 68), todos os efeitos com os mesmos caracteres dos quais você adicionou na source em const.h e tools.cpp. Se você configurou por exemplo, até o efeito número 80 nos arquivos anteriores, então no script da lib ficaria dessa forma: CONST_ME_DRAWBLOOD = 0 CONST_ME_LOSEENERGY = 1 CONST_ME_POFF = 2 CONST_ME_BLOCKHIT = 3 CONST_ME_EXPLOSIONAREA = 4 CONST_ME_EXPLOSIONHIT = 5 CONST_ME_FIREAREA = 6 CONST_ME_YELLOW_RINGS = 7 CONST_ME_GREEN_RINGS = 8 CONST_ME_HITAREA = 9 CONST_ME_TELEPORT = 10 CONST_ME_ENERGYHIT = 11 CONST_ME_MAGIC_BLUE = 12 CONST_ME_MAGIC_RED = 13 CONST_ME_MAGIC_GREEN = 14 CONST_ME_HITBYFIRE = 15 CONST_ME_HITBYPOISON = 16 CONST_ME_MORTAREA = 17 CONST_ME_SOUND_GREEN = 18 CONST_ME_SOUND_RED = 19 CONST_ME_POISONAREA = 20 CONST_ME_SOUND_YELLOW = 21 CONST_ME_SOUND_PURPLE = 22 CONST_ME_SOUND_BLUE = 23 CONST_ME_SOUND_WHITE = 24 CONST_ME_BUBBLES = 25 CONST_ME_CRAPS = 26 CONST_ME_GIFT_WRAPS = 27 CONST_ME_FIREWORK_YELLOW = 28 CONST_ME_FIREWORK_RED = 29 CONST_ME_FIREWORK_BLUE = 30 CONST_ME_STUN = 31 CONST_ME_SLEEP = 32 CONST_ME_WATERCREATURE = 33 CONST_ME_GROUNDSHAKER = 34 CONST_ME_HEARTS = 35 CONST_ME_FIREATTACK = 36 CONST_ME_ENERGYAREA = 37 CONST_ME_SMALLCLOUDS = 38 CONST_ME_HOLYDAMAGE = 39 CONST_ME_BIGCLOUDS = 40 CONST_ME_ICEAREA = 41 CONST_ME_ICETORNADO = 42 CONST_ME_ICEATTACK = 43 CONST_ME_STONES = 44 CONST_ME_SMALLPLANTS = 45 CONST_ME_CARNIPHILA = 46 CONST_ME_PURPLEENERGY = 47 CONST_ME_YELLOWENERGY = 48 CONST_ME_HOLYAREA = 49 CONST_ME_BIGPLANTS = 50 CONST_ME_CAKE = 51 CONST_ME_GIANTICE = 52 CONST_ME_WATERSPLASH = 53 CONST_ME_PLANTATTACK = 54 CONST_ME_TUTORIALARROW = 55 CONST_ME_TUTORIALSQUARE = 56 CONST_ME_MIRRORHORIZONTAL = 57 CONST_ME_MIRRORVERTICAL = 58 CONST_ME_SKULLHORIZONTAL = 59 CONST_ME_SKULLVERTICAL = 60 CONST_ME_ASSASSIN = 61 CONST_ME_STEPSHORIZONTAL = 62 CONST_ME_BLOODYSTEPS = 63 CONST_ME_STEPSVERTICAL = 64 CONST_ME_YALAHARIGHOST = 65 CONST_ME_BATS = 66 CONST_ME_SMOKE = 67 CONST_ME_INSECTS = 68 CONST_ME_EFEITO69 = 69 CONST_ME_EFEITO70 = 70 CONST_ME_EFEITO71 = 71 CONST_ME_EFEITO72 = 72 CONST_ME_EFEITO73 = 73 CONST_ME_EFEITO74 = 74 CONST_ME_EFEITO75 = 75 CONST_ME_EFEITO76 = 76 CONST_ME_EFEITO77 = 77 CONST_ME_EFEITO78 = 78 CONST_ME_EFEITO79 = 79 CONST_ME_EFEITO80 = 80 CONST_ME_EFEITO81 = 81 CONST_ME_EFEITO82 = 82 CONST_ME_EFEITO83 = 83 CONST_ME_EFEITO84 = 84 CONST_ME_EFEITO85 = 85 CONST_ME_EFEITO86 = 86 CONST_ME_EFEITO87 = 87 CONST_ME_EFEITO88 = 88 CONST_ME_EFEITO89 = 89 CONST_ME_EFEITO90 = 90 CONST_ME_NONE = 255 CONST_ME_LAST = CONST_ME_EFEITO90 Pronto novos efeitos adicionados. Creditos: Bizzle Espero que o tutorial seja de utilidade. Att~~ Krono
    1 ponto
  6. Boa tarde galera! Eu sou Crist. Martins, programador Delphi! A pouco tempo atrás, criei um tópico informando sobre o projeto YTC (Your Tibia Client). Que tem como objetivo: customizar o jogo Tibia, de um modo simples e prático. Infelizmente, o projeto foi em vão.. Porém, algumas partes foram concluídas, e então.. estou disponibilizando-as nesse exato momento. Abaixo, ensinarei como configurar os arquivos *.xml das 3 features vistas abaixo: Preview: Download: (servidor: 4shared) Tibia842.rar Tibia854.rar Tibia857.rar Tibia860.rar Tibia861.rar Tibia862.rar Tibia870.rar Obs: Após baixar a versão para seu cliente, adicione manualmente seus arquivos .pic, .spr e .dat. Editando: Config <Config> <WindowText>YourTibiaClient Project!</WindowText> <ChangeIP>1</ChangeIP> <IP>MeuOpenTibiaServer.ServerGame.com</IP> <Port>7171</Port> <RsaKey>109120132967399429278860960508995541528237502902798129123468757937266291492576446330739696001110603907230888610072655818825358503429057592827629436413108566029093628212635953836686562675849720620786279431090218017681061521755056710823876476444260558147179707119674283982419152118103759076030616683978566631413</RsaKey> </Config> </Config> WindowText: Nome da janela (default: @tibia "Tibia", @YTC "YourTibiaClient Project!") ChangeIp: Ativar troca de IP no cliente (default: 1 - Falso: 0, Verdadeiro: 1) IP: IP a ser trocado pelo seu servidor (default: MeuOpenTibiaServer.ServerGame.com) Port: Porta de conecção do seu servidor (default: 7171) RsaKey: RsaKey de conexão do seu servidor (default: OpenTibia) Editando: CreaturesText (Creature Description) <CreaturesText> <CreatureText> <Name> <Text>Obi</Text> <Color>1</Color> <Red>200</Red> <Blue>0</Blue> <Green>255</Green> </Name> <Description> <Text>Banker</Text> <Color>1</Color> <Red>0</Red> <Blue>237</Blue> <Green>0</Green> </Description> </CreatureText> </CreaturesText> Obs: Para a descrição de cada criatura, uma nova tag "CreatureText" é necessaria. Name/Description: Tag respectiva ao nome/descrição da criatura. Text: Nome/descrição da criatura. Color: Alterar a cor do texto (default: 1 - Falso: 0, Verdadeiro: 1) Blue, Red, Green: Cores no padrão RGB, os valores vao de 0 à 255. (info: http://pt.wikipedia.org/wiki/RGB) Editando: Labels <Labels> <Label> <X>690</X> <Y>10</Y> <Text>Hell Yeah Lol pqp hehehe</Text> <Font>1</Font> <Alignment>1</Alignment> <Red>0</Red> <Green>255</Green> <Blue>255</Blue> </Label> </Labels> Obs: Para cada Label adicional, uma nova tag "Label" é necessaria. X/Y: Posicionamento X/Y (em pixels) na tela. Text: Texto a ser escrito no label. Font: Fonte do label. (default: 1 - Vão de 1 à 4) Alignment: Alinhamento do label. (default: 1 - Direita: 0, Centro: 1, Esquerda: 2) Blue, Red, Green: Cores no padrão RGB, os valores vao de 0 à 255. (info: http://pt.wikipedia.org/wiki/RGB) Editando: Context Menus <ContextMenus> <ContextMenu> <EventID>30000</EventID> <Text>unjust Kills</Text> <ShortCut>(YTC)</ShortCut> <Separator>1</Separator> <Type>1</Type> <scriptFile>UnjustKillsMenu.lua</ScriptFile> </ContextMenu> </ContextMenus> Obs: Para cada ContextMenu adicional, uma nova tag "ContextMenu" é necessaria. EventID: ID do contextMenu, cada contextmenu deve ter o seu(Deve ser maior que 30000). Text: Texto do contextMenu. ShortCut: Shortcut do contextMenu. Separator: Separator do contextMenu. (default: 1 - Falso: 0, Verdadeiro: 1) Type: Tipo do contextMenu. Vai de 0 a 6 que correspondem a seguinte configuração: 0: AllMenus 1: SetOutfitContextMenu 2: PartyActionContextMenu 3: CopyNameContextMenu 4: TradeWithContextMenu 5: LookContextMenu 6: AttackContextMenu ScriptFile: o arquivo *.lua que vai ser acionado quando o contextmenu for clicado. Editando: ScriptFile Esse arquivo deve ficar adentro da pasta ContextMenus, localizada na pasta principal do Tibia (onde encontra-se o arquivo: "Tibia.exe") DoSay(1, "Unjustkills") Essa é a unica função presente, sua função é fazer com que o personagem fale, um talkaction. o primeiro parametro corresponde ao tipo de fala: 1 (normal), 2 (grito) e 3 (whipers). o segundo parametro corresponde ao texto a ser falado (sempre utilize "aspas"). E então é isso, pessoal. Espero que tenham gostado! Gostaria de agradecer ao meus amigos Kazz (morgado4ever) e ao Bino (LookToVask) que vieram me ajudando conforme o projeto andava, e que inclusive (Kazz), editou esse tópico para melhor entendimento!
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...