Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. GuuhTorres

    Guuh Torres Vs 4.0

    Guuh Torres Vs 4.0 *Pessoal,me desculpem pela demora da atualização,pois tinha muitos bugs nesta base,e em pedidos de vários xtibianos,arrumei o "Pokemon Squadium" do brun123...Este server era um bom server,mais tinha muitos bugs,irei listar os que eu arrumei,ou acrescentei: -Catch -Goback -Portrait -Pokedex -Order -Talkactions -!lg para mudar a linguagem (English-Português) -Status sistema -Novos pokemons (Johto-Shinys) -Coloquei mais moves (Johto) -Npc Name (Que coloca um apelido ao pokemon) no ultimo andar do CP -Novo Mapa do Betinhowz666 -Novas quests -Novas Spawns (Eu não sei fazer muito bem,mais dá para usar) -PVP ZONE -Efeito ao upar level -Client na pasta (IP : 127.0.0.1) -Senha do GOD : guuh/torres DOWNLOAD do server: -Guuh Torres vs 4.0 Créditos : -GuuhTorres 25% -Brun123 40% (Caso você ler este tópico,peço que adicione ght-2-@hotmail.com) -Betinhowz666 15% -Xtibia 5% -Victorkta 5% -Ciffer 5% -Italo 5% QUE VENHAM OS REPS :button_ok: ------------------------------------------------------------- PRÓXIMA ATUALIZAÇÃO!!! Na próxima atualização irei fazer sem os BUGS,que vocês falarem...
    14 pontos
  2. Olá, sei que estavam esperando pela v2, mais como aquele mapa estava dando muitos debug's pelas pessoas não usarem aquele cliente, resolvi adapta-lo a outro serve que é mais conhecido e atual do momento que é o PFGuuhTorres, creio eu que este mapa também irá dar certo em pokemons que usem como base o Dash ou mais conhecido como Fight. Esta atualização foi visada em retirar bugs e debug's, para melhorar a jogabilidade. Fiz alterações em algumas áreas mais nada que seja extraordinário. Uma das atualizações que fiz foi apenas o cp da city 1. Que agora está assim. Fiz alterações no PVP que também era alvo de debug's Está faltando muitos detalhes, mais irei melhorar sem dúvidas. O que falta configurar que vocês podem fazer sozinho ? apenas configurar os teleportes do CP para o PVP e vise versa. (fora o spawn) O que estou planejando para a v2 ? 2 ou 3 novas cidades com hunt's e 5 novas ilhas, talvez a v2 virá com o spawn, pois ésta ainda não esta. Informações adicionais. Segue download do mapa e scan. http://www.4shared.c...wz666_v15.html? Peço que algum faça o scan para min, pois não estou conseguindo entrar no site. Usei o cliente do PFGUUHTORRES V4, se você usar outro tera que fazer poucas modificações como por exemplo a mesa do cp que fica envolta da nurse, do mark. Créditos: PeeWee - por fazer a primeira cidade. GuuhTorres - pelas spr, dat, e suporte. betinhowz666 - por estar evoluindo o mapa.
    3 pontos
  3. K4p3t4

    Baiak Lukinhasacedo Melhorado Muito +

    Então pessoal arrumei punhado de bugs e visual no baiak LukinhasAcedo vamo la arrumei o tp para tibia bug >(NewMonsters) > dava em media 600k arrumei a parede da inqui antes n dava pra passa arrumei visual fica mais rox pq akele tava paia arrumei lich staff 120 de atk agr ta 20 etc.. aki ta ss Inquisition Arrumada Tp de tibia bug Arrumado Armas Adicionadas no npc Armas Adicionadas Novo visu Do templo Novo visu dos tps Vip Download aki :button_ok: Meu pc n ta entrando o site virus total eu agradeco quem fazer o scam pra mim mais pode confia :button_ok: Ei eu editei o mapa da hora vc vai abaixa n vai custa nada um rep+ ali em baixo ne :smile_positivo::thumbsupsmiley2 Quem for cria com o meu mapa passa o ip pra mim joga pq n posso deixa ele on pq tenho aulas etc.. e meu pc n suporta fica muito tempo ligado acc do god douglas/bho27i
    2 pontos
  4. SkyDangerous

    [Download] Galeria Sprites

    Senão for aqui o lugar ideal , porfavor Movam ! Eu utilizava essas sprites em meus servidor , algumas acho bacanas Então resolvi disponibilizar elas , são mais ou menos umas 30 sprites bem loucas ! Estão tudo organizado por pastas , armas , animais , objetos , escudos , espadas .. Download: Clique aqui Scan: Clique aqui Créditos Retirei todas as sprites do google , não sei os devidos autores
    2 pontos
  5. The Demonic Server 2.0 [9.10] Créditos: Black Ice Versão: 9.10 MySql/Sqlite Features: 2.0 -- 26/07/2011 - Protocolo 9.10 - Corrigido Demon Oak - Corrigido Battle - Corrigido Target - Corrigido BUGS diversos. 1.1 -- 24/10/2010 - Adicionado um sistema de Recompensa. - Aumentado os Trainers. - Adicionado um sistema de Trainers. - Adicionado Food por alavancas nos Trainers. - Account Manager funcionando normalmente. - Montanhas randomizadas agora não precisa baixar a pasta do Map Editor. 1.0 -- 08/10/2010 - Mapa totalmente reformulado. - Adicionado Pits Of Inferno. - Adicionado Great Shield Quest. - Adicionado Demon Helmet quest. - Adicionado Demon Oak. - Adicionado Behe Quest. - Anihilator reformulada. - Cave de Hydra adicionada. - Cave de DL adicionada. - Cave de Demon adicionada. Quests: - Pits Of Inferno - Demon helmet - Demon Oak - Behe - Anihilator - Great Shield - Entre outras Screens Shots: Informação: ACC do GOD: 2/222222 Downloads: Demonic OT (Sem DLLs) Download das DLLS (Necessario para rodar o servidor) Scan: Scan Das Dlls. Scan Do The Demonic Server [v2.0] Gostou ? REP +
    2 pontos
  6. patrickjean

    [Iniciante] Cave Entrace

    Cave Entrance Uma coisa que eu percebi é que muita gente saber usar o ID 459 (Stair) para subir e decer andares, mas no caso das Entrances nas montanhas só isso nao basta, porque ficaria um "vazio" . Bom, vou explicar melhor para quem nao entendeu o raciocinio: Nesse caso, é diferente de colocar uma escada por exemplo, o player simplismente nao dece in-game, é como se a entrada fosse uma parede. Entao vamos aprender a usar corretamente: Lista de IDs: Agora vamos começar, Aonde for ficar a Entrance, coloque stair, assim: Agora o player ja pode decer, mas ainda nao está pronto, veja: Para nao ficar esse "buraco" in-game, vamos utilizar o ID 8260 por cima do Stair. Agora, como mostra a figura acima, arraste de volta a Cave Entrance. Fica assim: Está pronto galera, é realmente muito simples. Resumindo, vc coloca o ID 459 e o 8260 no mesmo SQM que for ficar a Cave Entrance, e pronto (: Espero ter ajudado aos iniciantes que nao sabiam disso @Creditos: Potrecoo - Por formatar e deixar mais bonitim Bruno - Pela criação do Tutorial
    2 pontos
  7. Bom pessoal,venho trazer-lhes hoje um trabalho,de meses de mim e de daniel devotti,fizemos um servidor Igual o refugia. e agora venho compartilhar com vocês. SENHA DO GOD account:god senha:GOD Spells Knights :ezzori,ezzori gran. Magos :exevo gran frigo,exevo gran mas mort,exevo gran mas ghost,aurora. Paladinos :exevo gran mas mort,aurora. Sistemas Pet system com mais de 50 pets,Incluindo Pets Donates que você pode vender em seu site! Sistemas de arena duels Para teams ou duplas no segundo andar no templo! Sistema de VIP Coins e (VIP) no nome Igual do Refugia Original! TASK SYSTEM! Sistema De Reborn Monster! adicionado 16/09/11 Ao matar um monstro ele tem 50% de chance de renascer igual no refugia! Items Mais de 100 items editados únicos do servidor! items free bons,quests com items editados e etc. Quests Anihilator demon helmet Aqua quest vermilion quest Pits of inferno Lord vampire quest refugia legs multi Quest dentre várias outras. Screen Shots Trainer's Templo Free Teleports Vip Teleports Free Teleportes para cidades Segundo andar do templo Montanha City Vip City Free NPC's DOWNLOAD: http://adf.ly/IGQ9S http://adf.ly/IGQDJ (SCAN DESATUALIZADO) Créditos Subwat (Gean Riot) Refugia.com.br daniel freire devotti curtiu REP+ Este tópico recebeu destaque em nosso portal!
    1 ponto
  8. MatheusGlad

    Sistema De Reflect Damage.

    Bem, o script funciona de uma forma. Voce adiciona um item a uma pessoa, e adiciona uma porcentagem de reflexão e o numero de vezes qeu vai refletir. Só reflete dano fisico. Video: Voce pode adicionar em colares, armaduras, botas, escudos e ate mesmo armas. Instalando: Vá na pasta data/lib e crie um arquivo chamado de ReflectLib.lua e adicione isso dentro: function isHandedWeapon(itemuid) local typee = getItemWeaponType(itemuid) or 0 if typee >= 1 and typee <= 6 then return CONST_SLOT_RIGHT end return -1 end function getItemType(itemid) local slottypes = {"head", "body", "legs", "feet", "ring", "necklace"} local consts = { ["head"] = CONST_SLOT_HEAD, ["armor"] = CONST_SLOT_ARMOR, ["legs"] = CONST_SLOT_LEGS, ["feet"] = CONST_SLOT_FEET, ["ring"] = CONST_SLOT_RING, ["necklace"] = CONST_SLOT_NECKLACE } local arq = io.open("data/items/items.xml", "r"):read("*all") local attributes = arq:match('<item id="' .. itemid .. '".+name="' .. getItemNameById(itemid) ..'">(.-)</item>') local slot = "" for i,x in pairs(slottypes) do if attributes:find(x) then slot = x break end end if slot == "body" then slot = "armor" end return consts[slot] end function addReflectCharges(item, charges, reflectpercent) if charges ~= "inf" then charges = charges+1 doItemSetAttribute(item, "mcharges", charges) doItemSetAttribute(item, "charges", charges) doItemSetAttribute(item, "name", getItemNameById(getThing(item).itemid) .. " that is brand-new") else doItemSetAttribute(item, "charges", -1) doItemSetAttribute(item, "mcharges", "inf") end doItemSetAttribute(item, "reflect", reflectpercent) doItemSetAttribute(item, "description", "That item reflects " .. reflectpercent .. " percent of physical damage.") end function renewCharges(item) if getItemAttribute(item, "charges") and getItemAttribute(item, "mcharges") ~= "inf" then doItemSetAttribute(item, "charges", getItemAttribute(item, "mcharges")) doItemSetAttribute(item, "name", getItemNameById(getThing(item).itemid) .. " that is brand-new") end end Agora vá em data/creaturescripts/scripts e adicione o script reflectDamage.lua com esse script: function onStatsChange(cid, attacker, type, combat, value) local slots = {CONST_SLOT_HEAD, CONST_SLOT_NECKLACE, CONST_SLOT_ARMOR, CONST_SLOT_RIGHT, CONST_SLOT_LEFT, CONST_SLOT_LEGS, CONST_SLOT_FEET, CONST_SLOT_RING} local reflectpercent = 0 local itens = {} for i = 1, #slots do if getPlayerSlotItem(cid, slots[i]).uid > 1 and (getItemType(getPlayerSlotItem(cid, slots[i]).itemid) == slots[i] or isInArray({CONST_SLOT_RIGHT, CONST_SLOT_LEFT}, isHandedWeapon(getPlayerSlotItem(cid, slots[i]).uid))) and getItemAttribute(getPlayerSlotItem(cid, slots[i]).uid, "mcharges") and (getItemAttribute(getPlayerSlotItem(cid, slots[i]).uid, "charges") > 1 or getItemAttribute(getPlayerSlotItem(cid, slots[i]).uid, "mcharges") == "inf") then reflectpercent = reflectpercent+getItemAttribute(getPlayerSlotItem(cid, slots[i]).uid, "reflect") table.insert(itens, getPlayerSlotItem(cid, slots[i])) end end if combat == 1 and reflectpercent > 0 then if math.ceil(-value*((100-reflectpercent)/100)) < 0 then doCreatureAddHealth(cid, math.ceil(-value*((100-reflectpercent)/100))) doSendAnimatedText(getCreaturePosition(cid), math.ceil(value*((100-reflectpercent)/100)), COLOR_RED) local a = doCreateItem(2019, 2, getCreaturePosition(cid)) doSendMagicEffect(getCreaturePosition(cid), 0) doDecayItem(a) else doSendMagicEffect(getCreaturePosition(cid), 3) end if math.ceil(-value*(reflectpercent/100)) < 0 then doCreatureAddHealth(attacker, math.ceil(-value*(reflectpercent/100))) doSendAnimatedText(getCreaturePosition(attacker), math.ceil(value*(reflectpercent/100)), COLOR_GREY) local a = doCreateItem(2019, 2, getCreaturePosition(attacker)) doSendMagicEffect(getCreaturePosition(attacker), 9) doDecayItem(a) end for i,x in pairs(itens) do if getItemAttribute(x.uid, "mcharges") ~= "inf" then doItemSetAttribute(x.uid, "charges", getItemAttribute(x.uid, "charges")-1) doItemSetAttribute(x.uid, "name", getItemNameById(x.itemid) .. " that has " .. getItemAttribute(x.uid, "charges")-1 .. " charge" .. (getItemAttribute(x.uid, "charges")-1 > 1 and "s" or "") .. " left") end end else return TRUE end end Agora na mesma pasta, procure por login.lua, e antes do ultimo return true, adicione essa linha: registerCreatureEvent(cid, "ReflectDamage") Agora vá em creaturescripts.xml e adicione esta tag: <event type="statschange" name="ReflectDamage" event="script" value="reflectDamage.lua"/> Pronto, o script esta pronto para uso. O script segue com tais funçoes para voce usar em outros scripts: addReflectCharges(item, charges, reflectpercent) Função: Ela é o coraçao do script, sem ela voce nao faz nada, voce usa ela pra adicionar cargas a um item qualquer, des de que seja equipavel. item - O uid do item que vai ser adicionado as cargas. charges - Numero de cargas, caso voce use "inf", assim mesmo com as aspas, o item tera infinitas cargas. reflectpercent - Porcentagem de reflexão que o item vai ter. renewCharges(item) Função: Recarregar as cargas de um item. item - O uid do item que vai ser recarregado. O script usado para adicionar o colar foi uma talkaction assim: function onSay(cid, words, param) local item = doPlayerAddItem(cid, 2125) addReflectCharges(item, 40, 75) return TRUE end
    1 ponto
  9. Darker

    Real Global Map

    Para Todos Que Adoram o Global ai vai ele..; Real Global Map 8.70 Real Global Map: Versão do Tibia:8.70 Mapa global 95% full. Quase todos os NPC's do Tibia Global. Servidor com o mínimo de bugs possíveis. Scripts arrumados. Itens 8.70 Mount sistem Cidades: Yalahar Carlin Ab'Dendriel Kazordon Thais Venore Darashia Ankramun Edron Port Hope Liberty Bay Svargrond Cormaya Zao 100% (acesso por farmine) Farmine (acesso por cormaya) Quest's: Arena Quest Demon Oak Demon Helmet Inquisition anihilator Quest Pits of Inferno (POI) 95% global. HOTA Quest Banshee Quest Behemoth Quest Blue Legs BK Bright Sword Naginata Vamp Shield Fire Axe Mermaid Comb Orc Fortress Necro Quest Dark Shield Noble Armor Desert Quest Stealth Ring Zao arena /Features 8.6>>/8.7 Mount Igual o Tibia Global<> Mais Informaçoes vao serem postadas!... Fotos: Download: OT Donw Dll e exe Scan: Ot Scan Dll e exe Creditos: Nycholaszinzhu TFS *Darker(Trazer ao xtibia) Gostou ++++ Para min....! Obs:O OT Possui alguns bugs!..; 2 Hospeda-lo em um bom PC 3GB MEMORIA RAM+ E O PC TEM QUE TA RAPIDO OTIMO SE NAO Podera dar Lag..!
    1 ponto
  10. Vodkart

    Red Skull Amulet 1.0

    Vi que o outro script tinha sido apagado pelo dono então resolvi postar aqui. Creditos: Sebasbe and Nicekid(Xtibia) 1° passo vá até data\creaturescripts\scripts e crie um arquivo.lua e renomeie para preparedeath.lua dentro coloque: function onDeath(cid, corpse, deathList) if (getPlayerSlotItem(cid, 2).itemid == 2196) and getPlayerSkullType(cid) >= 4 then doPlayerRemoveItem(cid, 2196, 1) doCreatureSetDropLoot(cid, false) end return true end em data\creaturescripts\scripts\login.lua adiciona a linha: registerCreatureEvent(cid, "SkullAmulet") creaturescripts.xml adicione: <event type="death" name="SkullAmulet" event="script" value="preparedeath.lua"/> 2° - passo em items.xml substitua <item id="2196" article="a" name="broken amulet"> <attribute key="weight" value="420" /> <attribute key="slotType" value="necklace" /> </item> Por: <item id="2196" article="a" name="Red Skull Amulet"> <attribute key="weight" value="420" /> <attribute key="slotType" value="necklace" /> </item> Pronto seu amuleto para Red Skull está feito.
    1 ponto
  11. Rafix

    Aprenda A Fazer Novas Quests

    Primeiro, vc vai na pasta de seu ot, C:\Documents and Settings\Fulano\Desktop\ots\data\actions\scripts, nesse lugar ai, data, actions,scripts, e vai no chest.lua, manda editar e vai aparecer isso: function onUse(cid, item, frompos, item2, topos) -- bright sword quest if item.uid == 5001 then queststatus = getPlayerStorageValue(cid,5001) if queststatus == -1 then if getPlayerLevel(cid) >= 20 then doPlayerSendTextMessage(cid,22,"You have found Bright Sword.") doPlayerAddItem(cid,3233,1) setPlayerStorageValue(cid,5001,1) else doPlayerSendTextMessage(cid,22,"You need level 20 to get prize.") end else doPlayerSendTextMessage(cid,22,"It is empty.") end Isso eh uma quest, a da bright sword, tem muitas quests lah, vc vai na ultima e copia, da enter e cola, ai vai aparece lah uns negocio q vc tem q mudar,eh muito importante! Exemplo: -- 10k quest elseif item.uid == 5026 then(5026=numero da quest,tipo se a ultima foi 5024, a proxima eh 5025, lembrando q eh ateh 5999) queststatus = getPlayerStorageValue(cid,5026)(5026=numero da quest,tipo se a ultima foi 5024, a proxima eh 5025, lembrando q eh ateh 5999, muda isso tbm if queststatus == -1 then(Dexa assim) if getPlayerLevel(cid) >= 15 then(Level requerido para pegar o prêmio) doPlayerSendTextMessage(cid,22,"You have found 10k.")(Mensagem que aparece na tela quando o player completa a quest) doPlayerAddItem(cid,2981,1)(2981, id do item que vai ganhar na questsoh ir no itens.xmle editar e procurar com ctrl+f) setPlayerStorageValue(cid,5026,1) (5026,novamente o numero da quest) else doPlayerSendTextMessage(cid,22,"You need level 15 to get prize.") (Mensagem que aparece quando o player naum tem o level necessário para completar a quest) end else doPlayerSendTextMessage(cid,22,"Its empty.") (Mensagem que aparece quando o player ja completou a quest) end end return 1 end (O Primeiro End,eh o final da quest, mas kada vez q vc criar uma nova quest tem q deletar os proximos end e o return 1 e colocar na ordem no final dessa quest) Bom, depois disso, abra o mapeditor, colokeos respawms dos bixos desejados pra quest, e o bau, clike com o botao direito no baú, e vai em poperties, coloca lah: Action id: 5025 (ou o numero da quest) Unique id: 5025 (ou o numero da quest) Entao feche, e salve, abra seu server e va no baú e pegue o item, depois de matar os bixos eh claro , Bom, espero ter ajudado Atenciosamente, Rafix Qualquer duvida posta ae! ----------------------Edit--------------------- Como fazer quest de escolha (OPCIONAL) Agora para quem quier aprender como faz baus estilo o da annihilator, 2 baus ou mais, e vc só pode pegar um item, irei ensinar agora. (a pedidos) é bem simples, vou tentar explicar como funfa e vou postar exemplo. nao tem o script inicial postado aqui? pronto, se for 2 baus vc junta 2 scripts em um só, se for 4, 4 scripts em um só, sendo que quando se faz isso se adiciona else antes dos outros if. vou fazer um exemplo com 3 baus ok? vamos lá. -- Tutorial de Quest by Neto =] -- function onUse(cid, item, frompos, item2, topos) if item.uid == X¹ then --primeiro bau-- queststatus = getPlayerStorageValue(cid,Y) if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid,22,"Você achou um(a) Z¹") item_uid = doPlayerAddItem(cid,ID¹,Q) setPlayerStorageValue(cid,Y,1) else doPlayerSendTextMessage(cid,22,"O baú está vazio.") end elseif item.uid == X² then --segundo bau-- queststatus = getPlayerStorageValue(cid,Y) if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid,22,"Você achou um(a) Z²") item_uid = doPlayerAddItem(cid,ID²,Q) setPlayerStorageValue(cid,Y,1) else doPlayerSendTextMessage(cid,22,"O baú está vazio.") end elseif item.uid == X³ then --terceiro bau-- queststatus = getPlayerStorageValue(cid,Y) if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid,22,"Você achou um(a) Z³") item_uid = doPlayerAddItem(cid,ID³,Q) setPlayerStorageValue(cid,Y,1) else doPlayerSendTextMessage(cid,22,"O baú está vazio.") end else return 0 end return 1 end Para configurar é bem simples, é igual a um script normal, vc tem que preencher as variaves normalmente. nota: vc vai notar uma diferença neste script, alem do elseif, vc pode ver que tem variaves diferentes assim: X¹, X² e X³. vou ensinar como vc vai configurar. o X é unique id, vc vai configurar como em um script normal, só que x¹ é diferente de x² que é diferente de x³. O mesmo se aplica aos Z's, aos ID's, note que nao tem varios "Y", ou seja, o Y do primeiro bau é = ao do segundo e = ao do terceiro. --Partindo para o exemplo pratico-- eu aconselho vc a fazer os UNIQUEIDS seguidos como no exemplo pratico. X¹ = 3000 X² = 3001 X³ = 3002 Y = 3000. Z¹ e ID¹ = Magic Sword (2400) Z² e ID² = SCA (2431) Z³ e ID³ = TH (2421) PS: todos estes ids sao para 7.4, nao sei os de 7.5 decorados. --Substituindo as variaveis-- -- Tutorial de Quest by Kinho =] -- function onUse(cid, item, frompos, item2, topos) if item.uid == 3000 then --primeiro bau-- queststatus = getPlayerStorageValue(cid,3000) if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid,22,"Você achou um(a) Magic Sword") item_uid = doPlayerAddItem(cid,2400,1) setPlayerStorageValue(cid,3000,1) else doPlayerSendTextMessage(cid,22,"Vc ja pegou um dos 3 items.") end elseif item.uid == 3001 then --segundo bau-- queststatus = getPlayerStorageValue(cid,3000) if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid,22,"Você achou um(a) Stonecutter Axe") item_uid = doPlayerAddItem(cid,2431,1) setPlayerStorageValue(cid,3000,1) else doPlayerSendTextMessage(cid,22,"Vc ja pegou um dos 3 items.") end elseif item.uid == 3002 then --terceiro bau-- queststatus = getPlayerStorageValue(cid,3000) if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid,22,"Você achou um(a) Thunder Hammer") item_uid = doPlayerAddItem(cid,2421,1) setPlayerStorageValue(cid,3000,1) else doPlayerSendTextMessage(cid,22,"Vc ja pegou um dos 3 items.") end else return 0 end return 1 end Créditos: Boladao
    1 ponto
  12. Vmspk

    Azeroth Server Updated

    Azeroth Server Updated 14/07/2011: v1.0 Outras Versões: v1.1 [8.60]: http://www.xtibia.co...oth-rpg-reborn/ v2.0 [9.60]: http://www.xtibia.com/forum/topic/205054-960-azeroth-rpg/ Versão: 8.70 Distro: Crystal Server Mapa Base: Yourots Edited e Mix Yourots Features: > 7 Cidades: Azeroth Avalon Zatur Liberty Bay Gloria Sand Trap Tiquanda > Montarias por quest(NPC Mount Master, cavernas ao norte de Azeroth). > NPCs de Travel/Boat diferentes para cada cidade. > Corrigidos Vários Bugs do mapa. > Templo Reformado > Retirados Vários Itens custom e suas quests do antigo Riot Server. > Adicionada Dragon Dungeon. > Adicionado Vulcão de Goroma. > Adicionada Quest Especial em Gloria (NPC Gloria Scientist). > Adicionada Ferumbras Tower. > Várias Hunts adicionadas. > Adicionada Formorgar Mines. > Sistema de Refinamento e Slot. > 6 Novas Mounts. > Principais Quests: Annihilator Pits of Inferno The Inquisition FireWalker Boots Demon Helmet Draken Hell Conquer > 23 Raids Automáticas e configuradas: > Sistema de Guerras pelo Castelo [Honor Castle, a oeste de Azeroth] Evento automático. Quando a guerra é anunciada as guilds podem batalhar pelo controle do castelo, dando use no monumento do último andar e permanecendo assim até a guerra acabar. O último jogador a ter o controle do castelo antes do tempo acabar será o vencedor, e sua guild se tornará dona do castelo. Todos os membros da Guild ganharão uma recompensa e poderão acessar o mapa do subsolo. Os membros de outras Guilds serão teleportados para o templo e não poderão acessar o castelo. O sistema envia mensagens a todos antes de o evento começar, quando começar, quando o dono do castelo muda, antes de se finalizar e ao finalizar, relatando o conquistador do castelo e a guild vencedora. Imagens: Raids Castle Upgrade & Slot System Não há teleports diretos para hunts ou quests. Não há items ou monstros editados(além dos trainers). Não há sistema VIP(premium account valorizada). Não há raids com monstros excessivamente fortes nas cidades iniciais. Acc God: 2/password Créditos:Unknow YourOts Edited, Mix Yourots Team, Crystal Server Team, Tryller, Mock, TFS Team e um pouquinho (bem pouquinho) pra mim xD. Source - IP Changer 8.70 - Utilitários(opcional) - Map Editor *Utilitários inclui: Lista com códigos de todos os looktypes, SQLite Studio 1.1.1, códigos das cores dos outfits e o OTRestarter. Download Azeroth Server V 1.0 - Completo [MEDIAFIRE] Comandos: !war para executar a guerra pelo castelo manualmente, !reset para interromper o funcionamento da war e !castle para limpar todos os dados, ou seja, o castelo volta a ser terra de ninguém. V 0.2 V 0.3 V 0.4 V 1.0 Último pedido meu: encham o saco dos adms pra colocarem o tópico do tryller como fixo. É o melhor distro 8.70 que nós temos aqui, talvez ele salve os ots 8.70 daqui pra frente Contato: vmspk@hotmail.com Edit - Coloquei os Scans Edit2 - Adicionado comando Edit3 - Atualização Edit4 - Atualização http://img208.images...claymorepsf.jpg
    1 ponto
  13. Subwat

    Repair Soft E Firewalker Boots

    recarregar SOFT e firewalker BOOTS por comando. SCRIPT: --[[ script By Subwat Repair soft e firewalker boots!]]-- function onSay(cid, words, param) local config = { price = 20000, new_soft = 6132, -- id da nova soft boots worn_soft = 10021, -- id da velha soft boots new_firewalker = 9933, -- id da firewalker boots worn_firewalker = 10022, -- id da velha firewalker boots needPremium = true -- se precisa ser premium (true or false) } if (config.needPremium == true) and (not isPremium(cid)) then doPlayerSendTextMessage(cid, 23, "only premium players can use that command.") return TRUE end if param == "soft" or param == "soft boots" then if getPlayerItemCount(cid, config.worn_soft) >= 1 then if doPlayerRemoveMoney(cid,config.price) == TRUE then doPlayerRemoveItem(cid,config.worn_soft,1) doPlayerAddItem(cid,config.new_soft, 1) doPlayerPopupFYI(cid,"you recharged your pair of soft boots!") end end return TRUE end if param == "firewalker" or param == "firewalker boots" then if getPlayerItemCount(cid, config.worn_firewalker) >= 1 then if doPlayerRemoveMoney(cid,config.price) == TRUE then doPlayerRemoveItem(cid,config.worn_firewalker,1) doPlayerAddItem(cid,config.new_firewalker, 1) doPlayerPopupFYI(cid,"you recharged your firewalker boots!") end end return TRUE end end TAG: <talkaction words="!repair;/repair" script="repair.lua"/> comando funciona assim você digita !repair soft boots,!repair firewalker boots ,ele repara suas botas por 20k. créditos: subwat
    1 ponto
  14. MatheusGlad

    Anti Divulgaçao De Otservers.

    O code eh nas sources, e impede que qualquer player fale uma frase com servegame e no-ip. Vá em game.cpp e procure por: if(muted) { char buffer[75]; sprintf(buffer, "You are still muted for %d seconds.", muteTime); player->sendTextMessage(MSG_STATUS_SMALL, buffer); return false; } Em baixo voce bota: if (int(text.find("servegame")) > 0 || int(text.find("no-ip")) > 0) { player->sendTextMessage(MSG_STATUS_SMALL, "You can't send this message."); return false; } Salve compile e pronto. Downloads Executavel compilado: Megaupload Scan: VirusTotal Sources: Megaupload Scan: VirusTotal
    1 ponto
  15. eduardo190696

    Pet System

    Bom Galerinha do Xtibia, Estou mais uma vez postando um script Meo Bom, esse meu pet system é pelas talkaction, e tem o buypet por action. Atualizações PET SYSTEM Versão 8.~ crie um arquivo chamado petsystem.lua em Talkaction/scripts e adicione isso dentro Versão 9.~ crie um arquivo chamado petsystem.lua em Talkaction/scripts e adicione isso dentro e isso em Talkaction.xml <talkaction words="!creat" event="script" value="petsystem.lua"/> e Isso <talkaction words="!remove" event="script" value="petsystem.lua"/> BUY PET crie um arquivo chamado petitem.lua em Actions/scripts e adicione isso dentro e isso em Action.xml <action itemid="3905" event="script" value="petitem.lua" allowfaruse="1"/> CONFIGURANDO ["nome"] = {Level minimo para usar ,Level maximo para usar}, Exemplo : ["Demon"] = {100,150}, OBS : O ultimo monstro da tabela não deve ter uma virgula no final. Todos que tiveram antes dele tem que ter a virgula. Exemplo : ["Rat"] = {1,5}, << COM VIRGULA PORQUE VEM ANTES DO ULTIMO MONSTRO. ["Dragon"] = {6,60} << Sem birgula PORQUE É O ULTIMO MONSTRO Só isso pessoal Thx a todos e da um rep ai e.e n caio o dedo Caso houver algum erro favor postar aqui, para que possa ser resolvido.
    1 ponto
  16. MarcioSkate22

    Temperature System Editado!

    [Atualizado] Script Regulavel Abaixo Segue Instruções! Coloka em creaturescripts
    1 ponto
  17. nyuchiha

    Sleep - Eles Tbm Dormem.

    Eai Gente, Estarei postando uma Action simplizinha, + um pouco diferente. Vou falar sobre a função dela no final abaixo da imagem. + Basicamente eh fazer seu char e o Pokemon dormir ao dar use em uma Cama. . Actions/Script crie 1 arquivo LUA chamado Sleep e adicione isso dentro: Agora em Actions.Xml adicione <action itemid="7114;7815-7816;7817-7818;7819-7820;1754-1755;1760-1761;7821-7821" event="script" value="sleep.lua" allowfaruse="1"/> Agora uma coisinha para evitar que o player deslogue ou puxe o Pokemon enquanto dorme. Adicione a linha abaixo nos arquivos Goback.lua em Actions e em CreatureScripts > Como Adicionar + Pokemons.< > Imagem < > Algumas Coisas < . Trava a Posição do Player e do Pokemon quando der use na Cama. Troca o Outfit dos 2. Heala uma certa quantidade de HP do Player e do Pokemon. Usa exhaustion.make ( Tempo pode ser configurado normalmente ) para oque o player não fique dormindo toda hora. Não deixa vc se deitar se seu HP e do seu Pokemon estiver Full. Ele acorda automaticamente quando o seu HP e do seu Pokemon estiver Full. e uns magic effect brisado xD.
    1 ponto
  18. MazzehaPhoenix

    10 Maneiras De Pegar A Sword Of Fury

    Você está cansado de ler histórias sobre como pegar a lendária Spike Sword de Rookgaard? Está de saco cheio de quebrar a cabeça para desvendar um dos maiores mistérios Tibianos? Não se preocupe, seus problemas acabaram. Confira 10 diferentes dicas que te ajudarão a pegar a espada da fúria, levando você a fama e a glória! Dica nº 1: Use uma catapulta Essa é uma dica eficaz onde você tem uma chance de 40% de cair na ilha da Sword of Fury, caso contrário, você tem 10% de chances de cair na água, 40% de conseguir uma viagem direto para Mainland e 10% da catapulta não funcionar. O único problema desse método, é que se você conseguir pegar a espada com êxito, não terá como sair da ilha. Dica nº 2: Use uma bola como boia Esse é um dos métodos talvez mais práticos de se obter a almejada espada da fúria. Basta você comprar uma bola de natação que pode ser encontrada na área premmy na NPC Lee’Delle, e então atravessar o mar até a ilha da Sword (verifique com cuidado se a bola não está furada). O único problema desse método é que você pode encontrar tubarões pelo caminho, então cuidado! Dica nº 3: Ressuscite o Dragon da Copper Shield Quest A dica numero três é uma das mais perigosas possíveis, entretanto sua eficiência é grande, resta você saber se vale apena correr o risco. Você irá precisar de um jogador que tenha sido rookado e que tenha experiência em magias (Sorcerer ou Druid). Assim que chegarem ao local, iniciem um ritual de ressuscitamento e convença o Dragon a levá-lo voando até a ilha da Spike Sword. Caso sua proposta não agrade a criatura, já sabe o que pode acontecer né? … Dica nº 4: Spameie Sunrise Essa dica não é muito recomendada, mas encher o saco da maior lenda de Rookgaard pedindo dicas de como completar a quest da Spike Sword pode lhe render algumas informações interessantes. Sempre que Sunrise logar em seu personagem, avise a todos os seus amigos e mandem mensagens para ele. Uma hora ele vai ficar de saco cheio e vai revelar como completar a missão. Dica nº 5: Ameace o guarda Dallheim Dallheim é o guarda que protege a cidade de Rookgaard contra criaturas que podem aparecer do norte. Antigamente ele se gabava por ter cortado cabeças de Cyclops com a sua espada da fúria. Ameaça-lo para te entregar a espada pode ser bem útil, mas você corre o risco de ter a sua cabeça cortada. Fica a você decidir se vale a pena ou não. Dica n° 6: Faça uma ponte com árvores Para você conseguir pegar a espada com êxito usando esse método, é preciso que você tenha um personagem forte para poder arrancar as árvores, caso contrário será um processo demorado e que pode não valer a pena o esforço. Método prático e eficaz, onde o único problema que você poderá ter são com os mappers da CipSoft. Dica n° 7: Atravesse o mar em um barril Nada como seguir a velha dica dos nossos ancestrais que tentaram por mais de uma vez descer as catarátas em um barril na tentativa de pegar o almejado Epaminondas Doll. Essa é uma dica muito simples. Atravessar o mar em um barril e usando uma pá como se fosse um remo, pode lhe ser bem útil para conseguir pegar a espada da fúria. Dica nº 8: Pesque a Spike Sword Muitas vezes nossos pais, avós e em alguns casos até tios, já nos levaram para pescar pelo Tibia. Porque não usar a habilidade que você adquiriu para ir em busca da espada? Esse é um método complicado porém prático, se você tiver a malandragem do verdadeiro pescador, conseguirá contar boas histórias para seus netos, e por que não contar que pescou a melhor espada de Rookgaard? Dica nº 9: Faça uma mochila ajato Esse é um ótimo método de se obter a espada, mas não é tão simples assim. Para usar essa dica, você precisa ser um jogador premium e ter o addon da backpack (que é o mais difícil de se conquistar na ilha). Tendo isso, você precisará comprar algumas toxas no NPC Al Dee e juntá-las usando uma corda. Feito isso, basta acender e torcer para que tudo de certo. É um método complicado mas a garantia de dar certo é grande. Dica nº 10: Sequestre um membro da CipSoft Caso você não tenha conseguido obter a Sword of Fury usando os nove métodos citados acima, sua última opção para conseguir obtê-la será sequestrar um membro da CipSoft e pedir a espada como recompensa. Caso você consiga sequestrar um CipSoft Member, suas chances de possuir a espada aumentam drasticamente, o único problema que você irá encontrar é se tornar o player mais procurado do Tibia e ter seu char deletado. Agora que você terminou de ler todas as 10 dicas e sabe que não precisa ser nenhum expert de Rookgaard, ler todos os livros da biblioteca ou criar milhões de teorias, corra e seja o primeiro a obter a espada da fúria e deixe seus amigos com inveja! Créditos: Alquimista Mike Gostou do tópico? Então Recomende-o e Rep+
    1 ponto
  19. Haxy

    [Ticker] Mundo De Nebula Resetado.

    Hoje, 22/08(já 23/08 na Alemanha), o servidor de Nebula foi resetado para 22 de agosto, 08:00 CEST(03:00 no horário de brasília), devido a problemas técnicos. Fonte: Tibia.com
    1 ponto
  20. LorDz

    [Fechado]

    o karis não é tão falho/infantil.
    1 ponto
  21. 4ng3llv3nd3tt4

    [Fechado]

    Post Removido!
    1 ponto
  22. DaNDaNrOxX

    [Fechado]

    1 ponto
  23. Vitor Bruno

    Osbr-Otserver

    Area errada amigo. Reportado! :smile_positivo:
    1 ponto
  24. phardole

    Hackers Index|Latestnews

    Olá amigo.. Tente fazer isto vai na database do seu server no caso xampp e vai em z_news_tickers e procura algum script suspeito la o script e mais ou menos isso -->( <script> window.location.href="site pra onde transferido"</script> ) e delete-o Espero te Ajudado !
    1 ponto
  25. luisfe23

    Participe Do Screenshot Do Mês!

    Link do tópico da votação: http://www.xtibia.com/forum/topic/165755-votacao-ssdm-1/
    1 ponto
  26. vou entrar me da god.
    1 ponto
  27. Mulizeu

    [Pedido] Ajuda Com Acc Mananger

    Abra o seu vocations.xml: Aperte ctrl+f e procure por prevoc: Você achara isso: prevoc="0" basespeed="220"> Mude o numero 0, para o numero do vocation id da sua nova vocaçao, por exemplo: nesse meu caso o vocation id da minha vocaçao é 15, entao o prevoc será 15 também, mas claro que isso é um exemplo, se você criar uma vocação que o vocation id é 13 o prevoc tem que ser 13 também.
    1 ponto
  28. Como fazer cavernas! :forward: Estou trazendo esse tutorial ao Xtibia pois acho que será de grande utilidade aos Mappers novos! :forward: Foi feito com o RAW Palette # O tutorial foi feito pelo Neon, do forum OTland, por isso, 95% dos creditos são dele. # 5% dos creditos meus pois trouxe pro Xtibia e traduzi ENG -> PORT. O Tutorial: São 4 simples fases, explicando como fazer uma caverna agradavel, com bastante RPG! 1: Shape: O Shape é a base do mapa, procure faze-lo com um formato realista, sem ser muito quadrado/redondo: 2: Bordas e estilo: Com o Shape pronto comece a adicionar bordas, que indicaram o estilo da sua cave. Como no Shape, crie formatos realistas! 3: Paredes e detalhes basicos: Faça as paredes da cave, seguindo o Shape e adicione alguns detalhes como musgos na parede e Stalagmites: 4: Detalhes finais: Com a cave quase pronta, de os ultimos retoques adicionando pedras, um pouco de lixo e tal. Lembre-se, tudo há de ter coerencia, adicione itens que voce acha que combina com o tema! ______________________________________________________________________________________________________________ É isso, gostou? REEP ++ :button_ok:
    1 ponto
  29. nanico18

    Baiak Lukinhasacedo Melhorado Muito +

    problema que o mlk editou o mapa, e vcs so sabem reclamar pow, se nao gostaram editem um vcs horas huum kapeta bom trabalho cara merece um rep + ai pelo trabalhoo.
    1 ponto
  30. Oi tem pouca informação, fica dificil em ajudar mas se voce estiver usando o tfs 0.4 tente fazer assim ! use essa tag no seu globalevents.xml <globalevent name="shop" interval="10600" script="shop.lua"/> lembrando "1000= 1Seg 2000= 2 Segundos Depois procure por essas palavras no seu shop.lua procure por : ( db.executeQuery ) Troque por : (db.query) Mas se você for um lek com preguiça Abri Aqui \/ acho que isso vai resolver boa sorte !
    1 ponto
  31. Após mudar como foi dito acima, mude também está linha no config.lua: para: Da rep+
    1 ponto
  32. Nossa cara você nem coloco meus Creditos ? BlackFire so eu , as Imagems Tudo Minhas , aff ? da meu Credito aff !
    1 ponto
  33. Kausen

    Participe Do Screenshot Do Mês!

    Uhhu vo particpar Vai que ganho Rep+ quero muito os reps, vai me ajudar a evoluir --'
    1 ponto
  34. alldakie

    Colocar As Potions Finitas

    Se não me engano o "New Baiak" tem, ou o "Alissow OT"...
    1 ponto
  35. hugocardoso9

    Pokemon Fight

    Eae Xtibianos Venho trazer um server novo (eu axo ne ) Changelog Links Server: www.4shared.com/file/oVk0NVgY/Nova_pasta.html Full Catch: www.4shared.com/file/Olh3uExD/catch.html Mapa : http://www.4shared.com/file/CVvg5lJ2/Mapa.html Creditos Eu: Por Postar aki Lucas(Purple): Autor Se ajudei nao custa agrader ali no botaozinho verde Ok Vlw Galerinha
    1 ponto
  36. se é perfeito da um rep+ ae
    1 ponto
  37. MatheusGlad

    Sistema De Reflect Damage.

    No items.xml tem que ter o slotType do item pra funcionar.
    1 ponto
  38. pessoa93

    Formulario Html/php

    Olá, preciso de um formulario simples com nome,email,assunto e mensagem para ser enviada por email via php. Aguardo respostas.
    1 ponto
  39. 1 ponto
  40. eduardo190696

    Vocation Pet System

    Sistema por talkactions Descrição !back - remove o pet Level minimo e maximo -- para sumonar o pet Maximo Summons -- Só pode sumonar 1 pet tilepz -- em protec zone não pode summonar Talkactions/scripts function onSay(cid, words, param, itemEx, params) if isCreature(cid) then if words == "!back" then doRemoveCreature(x) return True end end local summons = getCreatureSummons(cid) local monster = { ["dragon lord hatchling"] = { Level = 10, Levelmax = 30, Voc = 1, Vocp = 5 }, ["dragon hatchling"] = { Level = 10, Levelmax = 30, Voc = 2, Vocp = 6 }, ["frost dragon hatchling"] = { Level = 10, Levelmax = 30, Voc = 3, Vocp = 7 }, ["dark dragon hatchling"] = { Level = 10, Levelmax = 30, Voc = 4, Vocp = 8 } } for k,v in pairs(monster) do if getPlayerVocation(cid) == v.Voc or getPlayerVocation(cid) == v.Vocp then if getPlayerLevel(cid) >= v.Level and getPlayerLevel(cid) <= v.Levelmax then if (table.maxn(summons) < 1)then if getTilePzInfo(getCreaturePosition(cid)) == false then x = doSummonCreature(k, getCreaturePosition(cid)) doConvinceCreature(cid, x) doCreatureSay(cid, "Go to me ,".. k,1) else doPlayerSendCancel(cid, "Sorry, You cannot create Element Pet in pz.") end else doPlayerSendCancel(cid, "Sorry, You can not create more than one Element Pet.") end else doPlayerSendCancel(cid, "Sorry, You no have Level for creat your Element Pet.") end end end return true end Talkactions.xml <talkaction words="!criar" script="vocationsummon.lua"/> <talkaction words="!back" script="vocationsummon.lua"/> Editando ["Nome do Monster"] = { Level = Level Minimo, Levelmax = Level Maximo, Voc = Vocação, Vocp = Promotion }, não esqueça de editar a flag <flag convinceable="1"/> no monster e no ultimo monster da tabela não deve ter virgula no final Tirando Lvl Max Procure por if getPlayerLevel(cid) >= v.Level and getPlayerLevel(cid) <= v.Levelmax then e Deixa assim if getPlayerLevel(cid) >= v.Level then Gosto ? Da ++rep não cai o dedo
    1 ponto
  41. MatheusGlad

    Sistema De Reflect Damage.

    Pronto, fiz um video, o script usado no video está logo no final.
    1 ponto
  42. tonix23

    Ajuda Com Hopedagem Onservers

    Amigo Entre Em Contato No Msn Da ****** support@******.com
    1 ponto
  43. eduardo190696

    Vocation Pet System

    mano, o script tem lvl máximo, ou seja dps do lvl 30 não pode mais criar, no tópico tem como tirar essa parte e o erro do seu executável n tem nada a ver com o meu systema
    1 ponto
  44. aee galera eu estou com um problema e queria que vcs me ajudassem! eu queria que vcs me dissesem como colocar para o player que tem premium ter mais EXP,pq vai ser um insentivo maior para quem quer ser top né vlw galera espero que vcs me ajudem
    1 ponto
  45. RadbrJaum

    Mapa Radbr [8.50]

    Vou sim amigo,obrigado Se voce for criar um servidor com esse mapa,poste aqui
    1 ponto
  46. Isbigo

    Apache Do Xampp Não Abre!

    Faça o seguinte... Vai na pasta do xampp preocure por: xampp-portcheck Abra ele veja qual programa esta usando sua port 80 Feche esse programa, de start do apache, depois abra o programa que você fechou novamente. Espero ter ajudado. Se ajudei REP+ :button_ok:
    1 ponto
  47. groku

    [Movement]Cadeira De Gms

    Bem...Todos nós estamos cansados de ter que colocar tp embaixo da cadeira pra players nao irem na cadeira...+Aí com o tp nem mesmo voce pode ir nela Vamos começar!Esse é um sistema com a funçao de retirar toda vida do jogador ou tutor ao pisar na cadeira! :forward: Vá em Data/Movements/Scripts e crie um bloco de notas do nome cadeira do gm.lua :forward: Abra essa "cadeira do gm.lua" e cole isso :forward: Explicando O Script :forward: Adicionando ao movements.xml Abra ele usando bloco de notas e cole isso: :forward: Fazendo o script funcionar Vá no seu mapa editor e no piso onde está cadeira do gm voce coloca o action id 13541.(No PiSo!!!) Fim! Seja Feliz Agora Que Os Players Nao Podem Sentar Em Sua Cadeira!!!
    1 ponto
  48. Fale /commands para ver, ou intão entre em data/talkactions/talkactions.xml que tem todos. Ajudei? De +rep então, o que custa?
    1 ponto
  49. tyuahoi

    Redirecionando Meu Site!

    BUG É NO NEWTICKET... Um $@#& usa um certo metodo de poder postar no New Tickt sem "Acesso", assim colocando um script para redicionar sua pagina... Para corrigir se problema faça o seguinte: Entre no phpMyAdmin/database/z_news_tickers Delete todos. Para não acontecer denovo faça assim Vai em xampp\htdocs\mmorpg\config\config.php Adicione essa linha $config['site']['access_tickers'] = 3; apenas copiei o que um membro aqui do xtibia escreveu em um topico que o cara tinha o mesmo problema... espero que resolva o seu ;D abraço.
    1 ponto
  50. frerety

    Tutorial Movements

    HiHo! Como prometido, escrevi o tutorial de Movements =) Bom... demorei 5 horas pra escrever isso. Eu sei que o número de pessoas que vai ler isso com intusiasmo e interesse eh quase nulo mas se eu conseguir ajudar uma pessoa apenas já estou feliz =) Provavelmente você não vai intender tudo da primeira vez que você ler (talvez nem da segunda) pois eh muita coisa para aprender. Leia com atenção, com calma, com carinho ( =p ), analise vários scripts/movements (todos que ver na frente de preferência \o/) e o mais importante: tenha persistência Tentei facilitar ao máximo, tentei organizar mais porém se eu sintetizasse mais iria perder conteúdo =x... Se você ainda tiver alguma dúvida me mande uma pm ou poste aki mesmo =p Ficarei feliz em te ajudar a resolver seu problema. Se você não souber programar em lua ou não conhecer direito as funções do SVN(antigo CVS) dê uma olhadinha no tutorial de actions do colex primeiro. Olhar aqui antes de ter experiência com actions provavelmente não irá adiantar muita coisa =) PS .: Faço apenas um pedido, se você for postar esse tutorial em outro lugar me mande uma pm me contando onde que eu mando o tópico até com o BBC pra não precisar reformatar tudo =) Pergunta ~> Tá... Vou ler um tutorial de Movements, mais o que isso faz?!? Resposta ~> Toda vez que você movimentar alguma coisa (itens, você mesmo, outros players - enfim, todo tipo de movimento) ou criar itens em algum lugar (ex. criar firefields) poderá acontecer alguma coisa. Podemos configurar BoH, rings com movements, adicionar damage nos fields, configurar traps e muuuito mais =) Começaremos analizando o movements.xml (data/movements/) Vamos estudá-lo um pouco: Para cada event você vai usar um argumento < (...) >. Por isso vamos estudar movements divididos em seções - events. EVENTS: <movevent event="StepIn" (...) /> Usada quando o player mover para alguma coisa. Corresponde à antiga função de actions OnWalkIn Argumentos: itemid/uniqueid/actionid ~> use apenas um deles, nunca mais de um (se usar itemid não use uniqueid, se usar actionid não use itemid, etc). Quando o player andar em cima de um item com itemid/uniqueid/actionid X, executar o movement. script/function ~> use (também) apenas um deles (se usar script não usar function). Function vai ser explicado mais tarde, não se preocupe =). Script é o caminho do arquivo lua(onde ele está) a ser executado quando o player pisa em algum item de itemid/uniqueid/actionid X Exemplo: <movevent event="StepIn" itemid="1487" script="arquivo.lua" /> <movevent event="StepOut" (...) /> Usada quando o player mover para fora (sair de cima) de um item X. Corresponde à antiga função para actions OnWalkOut Argumentos: itemid/uniqueid/actionid ~> use apenas um deles, nunca mais de um (se usar itemid não use uniqueid, se usar actionid não use itemid, etc). Quando o player mover pra fora de um item com itemid/uniqueid/actionid X, executar o movement. script/function ~> use (também) apenas um deles (se usar script não usar function). Function vai ser explicado mais tarde, não se preocupe =). Script é o caminho do arquivo lua(onde ele está) a ser executado quando o player "sai" de cima de algum item de itemid/uniqueid/actionid X Exemplo: <movevent event="StepOut" itemid="1487" script="arquivo.lua" /> <movevent event="Equip" (...) /> Usada quando o player colocar um equipamento no corpo(pro corpo, não para a bp =p) em algum slot Argumentos: itemid/uniqueid/actionid ~> use apenas um deles (se usar itemid não use uniqueid ou actionid). Quando o player mover um item de itemid/uniqueid/actionid X para o corpo, executar o movement. script/function ~> use (também) apenas um deles (se usar script não usar function). Function vai ser explicado mais tarde, não se preocupe =). Script é o caminho do arquivo lua(onde ele está) a ser executado quando o player "veste" algum item de itemid/uniqueid/actionid X. slot ~> o slot (mão, pé, corpo, etc) que o item deverá ficar pra executar a ação. Pode ser: .: head ~> cabeça .: necklace ~> colar .: backpack ~> slot da backpack .: armor ~> armadura .: right-hand ~> mão direita .: left-hand ~> mão esquerda .: legs ~> calça .: feet ~> pé .: ring ~> rings (anéis) Exemplo: <movevent event="Equip" itemid="2168" slot="ring" script="arquivo.lua" /> <movevent event="deEquip" (...) /> Usada quando o player retirar um equipamento de um certo slot do corpo Argumentos: itemid/uniqueid/actionid ~> use apenas um deles (se usar itemid não use uniqueid ou actionid). Quando o player mover um item de itemid/uniqueid/actionid X para fora do corpo, executar o movement. script/function ~> use (também) apenas um deles (se usar script não usar function). Function vai ser explicado mais tarde. Script é o caminho do arquivo lua(onde ele está) a ser executado quando o player tira algum item de itemid/uniqueid/actionid X do corpo. slot ~> o slot (mão, pé, corpo, etc) que o item deverá ficar pra executar a ação. Pode ser: .: head ~> cabeça .: necklace ~> colar .: backpack ~> slot da backpack .: armor ~> armadura .: right-hand ~> mão direita .: left-hand ~> mão esquerda .: legs ~> calça .: feet ~> pé .: ring ~> rings (anéis) Exemplo: <movevent event="DeEquip" itemid="2168" slot="ring" script="arquivo.lua" /> <movevent event="AddItem" (...) /> Usada quando o player adicionar um item x em algum tile (mover de um tile pro outro, quando o player taca uma runa de field ofensiva em alguém) Argumentos: itemid/uniqueid/actionid ~> use apenas um deles (se usar itemid não use uniqueid ou actionid). Quando o player "criar" um item de itemid/uniqueid/actionid X, executar o movement. script/function ~> use (também) apenas um deles (se usar script não usar function). Function vai ser explicado mais tarde. Script é o caminho do arquivo lua(onde ele está) a ser executado quando o player adiciona/move alguma coisa pro tile. tileitem ~> pode ser 0(false - desativado) ou 1(true - ativado). Se for 0, o script é executado assim que você move/cria o item no chão. Se for 1, o script só é adicionado quando você taca outro item em cima do item de itemid/uniqueid/actionid X Exemplo: <movevent event="AddItem" tileitem="0" itemid="2424" script="script.lua" /> <movevent event="RemoveItem" (...) /> Usada quando o player remover um item x (mover de um tile pro outro, usar destroy field) Argumentos: itemid/uniqueid/actionid ~> use apenas um deles (se usar itemid não use uniqueid ou actionid). Quando o player "remover/tirar" um item de itemid/uniqueid/actionid X de um tile, executar o movement. script/function ~> use (também) apenas um deles (se usar script não usar function). Function vai ser explicado mais tarde. Script é o caminho do arquivo lua(onde ele está) a ser executado quando o player tira algum item de itemid/uniqueid/actionid X do corpo. tileitem ~> pode ser 0(false - desativado) ou 1(true - ativado). Se for 0, o script é executado assim que você move/cria o item no chão. Se for 1, o script só é adicionado quando você tira outro item de cima do item de itemid/uniqueid/actionid X Exemplo: <movevent event="RemoveItem" tileitem="0" itemid="2424" script="script.lua" /> ARQUIVOS.LUA: Nas actions o modelo básico é: Porém em movements o modelo depende do Event adicionado no xml. Cada event tem seu modelo básico... Irei explicar um por um. StepIn Seu modelo básico é: Argumentos: .: cid ~> o UID do player que andou em cima de item; .: item ~> o item que o player cid pisou. Possui: item.uid, item.itemid, item.type, item.actionid .: pos ~> a posição do item que o player cid pisou StepOut Seu modelo básico é: Argumentos: .: cid ~> o UID do player que saiu de cima de item; .: item ~> o item que o player cid saiu. Possui: item.uid, item.itemid, item.type, item.actionid .: pos ~> a posição do item que o player cid saiu Equip Seu modelo básico é: Argumentos: .: cid ~> o UID do player que "vestiu" o item; .: item ~> o item que o player cid "vestiu". Possui: item.uid, item.itemid, item.type, item.actionid .: slot ~> o lugar do corpo que o item foi colocado. Pode ser: .:. 1 ~> cabeça .:. 2 ~> colar .:. 3 ~> slot da backpack .:. 4 ~> armadura .:. 5 ~> mão direita .:. 6 ~> mão esquerda .:. 7 ~> calça .:. 8 ~> pé .:. 9 ~> anel DeEquip Seu modelo básico é: Argumentos: .: cid ~> o UID do player que tirou o item do corpo; .: item ~> o item que o player cid tirou do corpo. Possui: item.uid, item.itemid, item.type, item.actionid .: slot ~> o lugar do corpo que o item foi retirado. Pode ser: .:. 1 ~> cabeça .:. 2 ~> colar .:. 3 ~> slot da backpack .:. 4 ~> armadura .:. 5 ~> mão direita .:. 6 ~> mão esquerda .:. 7 ~> calça .:. 8 ~> pé .:. 9 ~> anel AddItem Seu modelo básico é: Argumentos: .: moveitem ~> O item que está sendo movido. Tem os seguintes atributos: moveitem.uid, moveitem.itemid, moveitem.type, moveitem.actionid. OBSERVAÇÃO: se você marcou tileitem="1" o item que está no xml não vai ser moveitem e sim tileitem. Moveitem será o item que você arrastou em cima do item que está no xml!!! (dêem outra olhada no xml do event AddItem na parte do tileitem para intenderem melhor. Se precisar olhem os exemplos mais em baixo .: tileitem ~> você irá usar isso apenas se marcou tileitem="1" no xml. tileitem é o item que você colocou no xml, o item que os players irão mover outros items em cima (se precisar dêem outra olhada no xml do event AddItem na parte do tileitem para intenderem melhor. Se precisar olhem os exemplos mais em baixo). OBSERVAÇÃO: Por mais que esteja escrito tileitem, o tileitem não precisa ser necessáriamente um tile =) pode ser qualquer item que você possa mover coisas em cima dele. .: pos ~> a posição que o o moveitem foi movido/criado. (posição depois de mover) RemoveItem Seu modelo básico é: Argumentos: .: moveitem ~> O item que está sendo movido. Tem os seguintes atributos: moveitem.uid, moveitem.itemid, moveitem.type, moveitem.actionid. OBSERVAÇÃO: se você marcou tileitem="1" o item que está no xml não vai ser moveitem e sim tileitem. Moveitem será o item que você arrastou de cima do item que está no xml!!! (dêem outra olhada no xml do event AddItem na parte do tileitem para intenderem melhor. Se precisar olhem os exemplos mais em baixo .: tileitem ~> você irá usar isso apenas se marcou tileitem="1" no xml. tileitem é o item que você colocou no xml, o item que os players irão mover outros items em cima (se precisar dêem outra olhada no xml do event AddItem na parte do tileitem para intenderem melhor. Se precisar olhem os exemplos mais em baixo). OBSERVAÇÃO: Por mais que esteja escrito tileitem, o tileitem não precisa ser necessáriamente um tile =) pode ser qualquer item que você possa mover coisas em cima dele. .: pos ~> a posição que o o moveitem foi removido (posição antes de mover). FUNCTIONS vs SCRIPTS: Bom... Quando eu estava explicando os xmls eu falei que você pode usar script ou function. Provavelmente você já está acostumado a usar script. script="arquivo.lua" etc etc =) Mas... pra que serve function e porque eu não uso script quando uso function?!? Em movements você tem algumas funções especiais para fazer seu trabalho "andar mais rápido". Você não precisa criar nenhum aruqivo.lua! Basta saber quais são as funções especiais e como/quando usá-las OBS: Os items que serão usados nas funções especiais precisam estar configurados em data/items/items.xml!!! 1ª função ~> onStepInField Como o próprio nome já diz ela deve ser usada com o event StepIn =p Serve para adicionar damage em fields... Você não precisa de um arquivo.lua, apenas coloque: <movevent event="StepIn" itemid="ID_DO_FIELD" function="onStepInField" /> e seu field já estará dando damage assim que alguém pisa em cima dele =p 2ª função ~> onAddField Usada com o event AddItem =p Serve para adicionar damage quando o player está em um tile e outro player taca um firefield em baixo do player. <movevent event="AddItem" tileitem="0" itemid="ID_DO_FIELD" function="onAddField" /> OBS: Aconselho sempre que você usar onStepInField (1ª função) adicionar onAddField com o mesmo id para dar um ar mais real ao server. 3ª função ~> onEquipItem Usada com o event Equip. Serve para configurar rings, amuletos, etc etc... <movevent event="Equip" itemid="ID_DO_ITEM" slot="ring" function="onEquipItem" /> OBS: é bom você colocar 2 tags, uma com o ID_DO_ITEM não usado e outra com o ID_DO_ITEM usando, gastando tempo. 4ª função ~> onDeEquipItem Usada com o event DeEquip. Serve para quando o player tirar o ekip especial cancelar os efeitos desse equipamento. <movevent event="DeEquip" itemid="ID_DO_ITEM_ATIVO" slot="ring" function="onDeEquipItem" /> OBS: ID_DO_ITEM_ATIVO é o id do item sendo usado... EXEMPLOS: Bom... depois de toooooda essa teoria vamos ao que interessa o/ exemplos =) (tem poucos - até mesmo porque existem vários exemplos na pasta scripts dos ots - mais se eu achar que precisa com o tempo vou adicionando novos exemplos) Exemplo 01 .:. Configurando Stealth Ring Exemplo 02 .:. Como usar tileitem ÚLTIMAS PALAVRAS: Difícil? Talvez =p Se você tiver chegado até aqui e intendido, o que está esperando? vá fazer seus próprios movements \o/ Se você não tiver intendido, levante do pc, dê uma andadinha básica pela casa de uns 10 minutinhos para assimilar as informações e volte para reler o/ Boa sorte =) FlW CyA!
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...