Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 10/18/10 em %

  1. 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.
    2 pontos
  2. thalia

    [Go/back / Catch System / Npc Heal]

    Bom galera, é um sistema de go/back, catch , NPC heal Meu sistema de ride funciona 100% com esse script do go/back... -- GO/BACK-- ~~> Crie um arquivo goback.lua em action/scripts e cole isso dentro: function onUse(cid, item, fromPosition, itemEx, toPosition) function getPokemonMaxLife(name) local file = io.open('data/monster/monsters.xml','r') local arquivo = file:read(-1):lower():match('<monster name="'..name:lower()..'" file="(.-)"/>') file:close() local data = io.open('data/monster/'..(arquivo or ''),'r') if not data then return 100 end local maximo = data:read(-1):match('max%s*=%s*"(%d+)"') data:close() return maximo end ----- Config ----- local MaximoSummon = 1 local nome1 = getItemName(item.uid) local nome = nome1:match('(.-) Pokeball') local summons = getCreatureSummons(cid) local action_id = getItemAttribute(item.uid, "aid") ------ Config ----- local summons = getCreatureSummons(cid) if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then doPlayerSendCancel(cid, "Coloque no slot certo!.") return TRUE end if getItemAttribute(item.uid,"level") >= getPlayerLevel(cid) then doPlayerSendCancel(cid, "You dont have level to use.") return TRUE end if(table.maxn(summons) < MaximoSummon) then -- no summons creature = doSummonCreature(nome, getCreaturePosition(cid)) doConvinceCreature(cid, creature) local hp = getCreatureHealth(getCreatureSummons(cid)[1]) doItemSetAttribute(getPlayerSlotItem(cid,8).uid,"aid",hp) doPlayerSay(cid, "Go,"..nome.."", TALKTYPE_SAY) registerCreatureEvent(cid, "PlayerPokeDeath") registerCreatureEvent(creature, "DiePoke") doSendMagicEffect(getCreaturePosition(creature), 188) doTransformItem(getPlayerSlotItem(cid,8).uid, 2531, 1) doItemSetAttribute(getPlayerSlotItem(cid,8).uid,"name",""..nome.." Pokeball") if action_id ~= 0 then doCreatureAddHealth(creature, -(tonumber(getPokemonMaxLife(nome) - action_id))) else doCreatureAddHealth(creature, getPokemonMaxLife(nome)) end else for _, pid in ipairs(summons) do if (table.maxn(summons) >= 1) then doItemSetAttribute(item.uid, "aid", getCreatureHealth(summons[1])) doSendMagicEffect(getCreaturePosition(creature), 188) doPlayerSay(cid, "Back,"..nome.."", TALKTYPE_SAY) doRemoveCreature(pid) doTransformItem(getPlayerSlotItem(cid,8).uid, 2532, 1) doItemSetAttribute(getPlayerSlotItem(cid,8).uid,"name", nome .." Pokeball") end end end return true end ~~> Em actions.xml add: <action itemid="2520" event="script" value="goback.lua"/> <action itemid="2531" event="script" value="goback.lua"/> <action itemid="2532" event="script" value="goback.lua"/> ~~> Em itens.xml procure por: <item id="2531" article="a" name="viking shield"> <attribute key="weight" value="6600"/> <attribute key="defense" value="22"/> <attribute key="weaponType" value="shield"/> </item> E substitui por : <item id="2531" article="a" name="Pokeball 1"> <attribute key="slotType" value="feet" /> </item> Agora procure por : <item id="2532" article="an" name="ancient shield"> <attribute key="weight" value="6100"/> <attribute key="defense" value="27"/> <attribute key="weaponType" value="shield"/> </item> E substitui por: <item id="2532" article="a" name="Pokeball 2"> <attribute key="slotType" value="feet" /> </item> Agora procure por : <item id="2520" article="a" name="demon shield"> <attribute key="description" value="This powerful shield seems to be as light as air."/> <attribute key="weight" value="2600"/> <attribute key="defense" value="35"/> <attribute key="weaponType" value="shield"/> </item> E substitui por : <item id="2520" article="a" name="Pokeball Goback"> <attribute key="slotType" value="feet" /> </item> Agora procure por : <item id="2535" article="a" name="castle shield"> <attribute key="weight" value="4900"/> <attribute key="defense" value="28"/> <attribute key="weaponType" value="shield"/> </item> E substitiu por: <item id="2535" article="a" name="Die Pokeball"> <attribute key="slotType" value="feet" /> </item> -- CATCH SYSTEM -- ~~>Em actions/script crie um arquivo catch.lua e cole dentro: local function capturou(params) doSendMagicEffect(getCreaturePosition(params.cid), 173) doPlayerSendTextMessage(params.cid, 25, 'Você capturou um pokemon! ('..params.monster..').') item = doCreateItemEx(2520) doItemSetAttribute(item, "name", ""..params.monster.." Pokeball") doItemSetAttribute(item, "aid", params.hp) doItemSetAttribute(item, "level", params.level) doPlayerAddItemEx(params.cid, item, true) end local level = { ['chansey'] = 15, -- level minimo para usar o pokemon ['squirtle'] = 15, -- level minimo para usar o pokemon ['charmander'] = 15, -- level minimo para usar o pokemon } function onUse(cid, item, fromPosition, itemEx, toPosition) local monster = getItemName(itemEx.uid):match("dead (.*)") if not monster then return doPlayerSendCancel(cid, 'Sorry, use only pokemon dead') and doSendMagicEffect(fromPosition, 2) end ball = 2520 local hpmax = 0 if itemEx.itemid == 6008 then if math.random(1,100) >= 1 then doRemoveItem(itemEx.uid) doSendMagicEffect(toPosition, 24) doRemoveItem(item.uid, 1) addEvent(capturou, 4000, {cid = cid, monster = monster, level = level[monster], ball = ball, hp = hpmax}) else doRemoveItem(itemEx.uid) doRemoveItem(item.uid, 1) doSendMagicEffect(toPosition, 23) end elseif itemEx.itemid == 6010 then if math.random(1,100) >= 1 then doRemoveItem(itemEx.uid) doSendMagicEffect(toPosition, 24) doRemoveItem(item.uid, 1) addEvent(capturou, 4000, {cid = cid, monster = monster, level = level[monster], ball = ball, hp = hpmax}) else doRemoveItem(itemEx.uid) doRemoveItem(item.uid, 1) doSendMagicEffect(toPosition, 23) end end return TRUE end ~~Editando o Catch ~~ elseif itemEx.itemid == 6010 then ~>6010 é o id do corpo do pokemon que o script ira tentar capturar. if math.random(1,100) >= 1 then ~>o 1 siginifica que ele tem 1% de chance de não capturar , que tem 99% de chance de captura, se for 10 tem 90%,se 20 tem 80%.... <~~~~~~~~~~> <~~~~~~~~~~> E em actions.xml add isto: <action itemid="xxxx" event="script" allowfaruse="10" value="catch.lua"/> Em xxxx é o numero da pokeball que captura. -- CREATURE SCRIPTS -- ~~> Em creaturescripts/scripts crie um arquivo chamado goback.lua e cole isso dentro: local pokein, pokeout = 2535,2531 function onDeath(cid, deathList) local owner = getCreatureMaster(cid) doPlayerSendTextMessage(owner, 21, "You pokemon died.") local item = getPlayerItemById(owner, TRUE, pokeout) doTransformItem(item.uid, pokein) doRemoveCreature(cid) return FALSE end ~~> Agora na mesma pasta crie outro arquivo chamado morrer.lua e cole isso dentro: local pokein, pokeout = 2532,2531 function getSummonLifes(cid) for _,x in pairs(getCreatureSummons(cid)) do return getCreatureHealth(x), getCreatureMaxHealth(x) end end function onDeath(cid) local health,maxhealth = getSummonLifes(cid) if #getCreatureSummons(cid) >= 1 then setPlayerStorageValue(cid, 61205, health) setPlayerStorageValue(cid, 61206, maxhealth) setPlayerStorageValue(cid, 61204, 0) setPlayerStorageValue(cid, 61207, 1) end if getPlayerStorageValue(cid, 63215) >= 1 then setPlayerStorageValue(cid, 61205, getPlayerStorageValue(cid, 61210)) setPlayerStorageValue(cid, 61206, getPlayerStorageValue(cid, 61209)) setPlayerStorageValue(cid, 61204, 0) setPlayerStorageValue(cid, 61207, 1) end return TRUE end Em creaturescripts.xml add isto: <event type="death" name="PlayerPokeDeath" event="script" value="morrer.lua"/> <event type="death" name="DiePoke" event="script" value="goback.lua"/> --NPC HEALER-- Em npc/scripts crie um arquivo chamado heal.lua e cole isso: local focus = 0 local talk_start = 0 local target = 0 local following = false local attacking = false dofile("data/actions/scripts/reviver.lua") function onThingMove(creature, thing, oldpos, oldstackpos, item, itemEx) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') focus = 0 talk_start = 0 end end function getPokemonMaxLife(name) local file = io.open('data/monster/monsters.xml','r') local arquivo = file:read(-1):lower():match('<monster name="'..name:lower()..'" file="(.-)"/>') file:close() local data = io.open('data/monster/'..(arquivo or ''),'r') if not data then return 100 end local maximo = data:read(-1):match('max%s*=%s*"(%d+)"') data:close() return maximo end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) if (msgcontains(msg, 'hi') and focus == 0) and getDistanceToCreature(cid) < 4 then local idballs = { [2535] = {"Pokeball"}, [2531] = {"Pokeball"}, [2532] = {"Pokeball"}, } local balls = idballs[getPlayerSlotItem(cid,8).itemid] if #getCreatureSummons(cid) >= 1 then return selfSay('Voce precisa botar seus pokemons dentro da pokebola.', cid) end if balls == nill then return selfSay('Coloque seu pokemon slot da Pokeball para ele ser curado!!') end if balls ~= nill then local nome = getItemName(getPlayerSlotItem(cid,8).uid) local poke_name = nome:match('(.-) Pokeball') doItemSetAttribute(getPlayerSlotItem(cid,8).uid, "aid", getPokemonMaxLife(poke_name)) if getPlayerStorageValue(cid, 5555) == 0 then setPlayerStorageValue(cid, 5555, 1) end local hp = getCreatureMaxHealth(cid) doCreatureAddHealth(cid, hp) selfSay('Você e seu pokemon estão curados!!') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'healing') then end elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Volte Sempre,') focus = 0 talk_start = 0 end end end function onCreatureChangeOutfit(creature) end function onThink() if (os.clock() - talk_start) > 20 then if focus > 0 then end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Bye.') focus = 0 end end end E no em npc crie um arquivo chamado heal.xml e cole isto dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Heal" script="data/npc/scripts/heal.lua" access="3" floorchange="0" walkinterval="0"> <mana now="800" max="800"/> <health now="200" max="200"/> <look type="180" head="78" body="113" legs="114" feet="0"/> </npc> AAh, já ia me esquecendo, volte em actions/scripts crie um arquivo chamado reviver.lua e cole isso dentro: function onUse(cid, item, fromPosition, itemEx, toPosition) function getPokemonMaxLife(name) local file = io.open('data/monster/monsters.xml','r') local arquivo = file:read(-1):lower():match('<monster name="'..name:lower()..'" file="(.-)"/>') file:close() local data = io.open('data/monster/'..(arquivo or ''),'r') if not data then return 100 end local maximo = data:read(-1):match('max%s*=%s*"(%d+)"') data:close() return maximo end ----- Config ----- local MaximoSummon = 1 local nome = getItemName(item.uid) local poke_name = nome:match('(.-) Pokeball') local summons = getCreatureSummons(cid) local action_id = getItemAttribute(item.uid, "aid") ----- Config ----- local summons = getCreatureSummons(cid) if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then doPlayerSendCancel(cid, "Sorry, you must put your pokeball in the right place.") return TRUE end if getPlayerStorageValue(cid, 5555) == 1 then setPlayerStorageValue(cid, 5555, 0) doTransformItem(item.uid, 2531) doItemSetAttribute(item.uid, "aid", getPokemonMaxLife(poke_name)) else doPlayerSendCancel(cid, "You poke are Dead.") end return true end E no actions.xml add isto: <action itemid="2535" event="script" value="reviver.lua"/> -------> FIM <------- Dúvidas ? Poste Aqui =D
    2 pontos
  3. Koddy

    Aprendendo A Modificar Extensions

    Saudações XTibianos! Bom, depois de muitos pedirem, insistirem, e beijarem meus pés; cá estou eu. Mas não para lhe dar uma extension de mão beijada, e sim para lhe ensinar a como fazer a sua própria. É isso mesmo! Agora você vai aprender a customizar seu Palette, criar um novo Palette; enfim, colocar os atalhos para os itens que você quiser, onde você quiser e na ordem que você quiser. Sem contar também que agora os novos itens da versão 8.6 poderão ser juntados aos diferentes pisos/paredes para facilitar na hora de mappear. Espero que ajude muita gente, e que todos possam entender com clareza. Lembrando que eu ainda não aprendi todos as funções de cada palavra, mas independente delas, consegui fazer o que quis, então vamos lá (se conserguir fazer de um jeito melhor, fique a vontade para fazer, e se quiser poste aqui sua sugestão). Aprendendo a modificar extensions Índice/Partes: •Introdução •Alterando posições de itens no Palette •Criando seu próprio Piso, com direito a borda •Criando sua própria parede, com todos os 'quatro cantos' •Criando Doodads 'Espaçosos' (estilo Fontes) •Criando Doodads 'Aleatórios' (estilo Flores) •Frequently Asked Questions - FAQ Introdução A. Alterando posições de itens no Palette B. Criando seu próprio Piso, com direito a borda C. Criando sua própria parede, com todos os 'quatro cantos' D. Criando Doodads 'Espaçosos' (estilo Fontes) E. Criando Doodads 'Aleatórios' (estilo Flores) --- Obs: Não sabe o que significa uma opção? Tente alterá-la e veja no que dá (mas por favor, não esqueça do 'BackUp'). (: --- Dicionário: 'AB' = Auto Border --- Frequently Asked Questions - FAQ (Leia antes de postar uma Dúvida): --- No mais, desejo boa sorte para o que quer que você faça modificando suas "Extensions". Ensinei tudo que eu sei, e espero continuar aprendendo para que eu possa compartilhar com vocês. Acho que este foi o tutorial mais cansativo longo (que levou alguns dias) que já fiz até hoje. Espero que tenham gostado, e por favor, agradeçam para que eu possa continuar fazendo meus tutoriais ver que meu esforço valeu a pena. Obrigado por lerem até aqui. Não deixem de continuar visitando o XTibia. Atenciosamente, Koddy.
    1 ponto
  4. DevilMoon

    [Action]-[Talkaction] Fly System

    Ola Eks Tibianos, Vim postar um Script de Fly System dando Use em Um Item!!! Voce esta se Perguntando!! Nummm Item???? Isso Mesmo!! Talkaction Explicaçao: /flyup = Verifica se tem o Piso itemid= 260 que é o Tile Invisivel e ve se nao tem nada acima para voce subir!! /flydown = Verifica se tem tem algo que voce nao pode descer como arvores paredes e etc.... ------------- Action Explicaçao: Voce da Use no Item e Sobe a Cima no Tile! ou Descee!! vá em Data>Actions>Scripts crie uma pasta.lua chamada actionfly e coloque isso: local t = { [150] = {outfit='dragon', text='Fly, dragon!', dtext='Go down, dragon!'} -- Falas } local thisCondition = createConditionObject(CONDITION_OUTFIT) setConditionParam(thisCondition, CONDITION_PARAM_TICKS, -1) addOutfitCondition(thisCondition, {lookType = 32, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0}) -- Outfit function onUse(cid, item, fromPosition, itemEx, toPosition) local v, r, s = getCreaturePosition(cid), t[item.itemid], 100 local pos = {x = v.x, y = v.y, z = 6} ----- Onde ele Precisa para dar Down -- Pode Modificar do 0 ao 7 local posd = {x = v.x, y = v.y, z = 7} ---- Onde ele Precisa para Dar Up -- Pode Modificar do 7 ao 0 if r then if v.z == 7 then if getTileItemById(pos, 460).uid > 0 then -- id do tile if doTeleportThing(cid, pos, false) then doSendMagicEffect(pos, 10) -- efeito doCreatureSay(cid, r.text, 19) return doAddCondition(cid, thisCondition) else return doPlayerSendCancel(cid, 'You can\'t fly here.') end else return doPlayerSendCancel(cid, 'You can\'t fly here.') end elseif v.z == 6 then if doTeleportThing(cid, posd, false) then doSendMagicEffect(posd, 10) -- efeito doCreatureSay(cid, r.dtext, 19) return doRemoveCondition(cid, CONDITION_OUTFIT) else return doPlayerSendCancel(cid, 'You can\'t land here.') end else return doPlayerSendCancel(cid, 'You can\'t fly here.') end else return doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE, 'There has been some error, try contacting a staff member.') end end Ok Acabamos... Uffa agora vamos ao Action.xml Adicione Isso: <action itemid="SEU ITEM" event="script" value="actionfly.lua"/> Ok Agora vamos em Talkaction... Vá em Data>Talkactions>Scripts crie uma pasta.lua chamada flyinfo e Adicione isso: local s = { {100} } local water = {4608,4609,4610,4611,4612,4613,4614,4615,4616,4617,4618,4619,4664,4665,4666,5757,5756,5755,5759,5760,5758,5761} function onSay(cid,words,param) for _,i in ipairs(s) do local r = i[1] local v = getThingPos(cid) local up,down = {x=v.x,y=v.y,z=v.z-1},{x=v.x,y=v.y,z=v.z+1} if words == '/flyup' then if getPlayerStorageValue(cid,r) > 0 then if getTileItemById(up,460).uid > 0 then doPlayerSendTextMessage(cid,20,'[Flying] You have flown up.') doSendMagicEffect(up,10) doCreatureSay(cid,'Up!',19) doTeleportThing(cid,up) return doSendMagicEffect(up,10) else doPlayerSendTextMessage(cid,20,'[Flying] You can\'t fly here.') end else doPlayerSendTextMessage(cid,20,'[Flying] You aren\'t mounted.') return true end elseif words == '/flydown' then if getPlayerStorageValue(cid,r) > 0 then if v.z >= 7 == false then if getHouseFromPos(down) == false then if(getTileItemById(down,(isInArray(water,itemid)),false).uid) then if getTileItemById(v,460).uid > 0 then doPlayerSendTextMessage(cid,20,'[Flying] You have flown down.') doSendMagicEffect(down,10) doCreatureSay(cid,'Down!',19) doTeleportThing(cid,down) return doSendMagicEffect(down,10) else doPlayerSendTextMessage(cid,20,'[Flying] You can\'t fly into ground.') end else doPlayerSendTextMessage(cid,20,'[Flying] You can\'t fly on water.') end else doPlayerSendTextMessage(cid,20,'[Flying] This is a house!') end else doPlayerSendTextMessage(cid,20,'[Flying] You can\'t fly into ground.') end else doPlayerSendTextMessage(cid,20,'[Flying] You aren\'t mounted!') return true end end return true end end Ufa, Agora vamos a Data>Talkactions.xml e Adicione Isso!! <talkaction words="/flyup;/flydown" event="script" value="flyinfo.lua"/> Creditos: Google Tradutor unknown666 Gostou do Script? Rep+ Duvidas, Elogios neste Topico!! Abraços..
    1 ponto
  5. No raw pallete vai ter as portas, na descrição terá algum escrito ou estará em branco, as que estiver closed door, apenas GOD, CM e GM podem abrir.
    1 ponto
  6. MarcelloMendes

    Duvida Do Meu Script

    Ops, erro bobo tenta: function onSay(cid, words, param) local cfg = {storage = 6666,monster = "Horse",speed = 600,lookType = 327,time = 600 * 6000 * 1000000} local summon = getPlayerStorageValue(cid, cfg.storage) function mosnter(cid) if (getTilePzInfo(getCreaturePosition(cid)) == LUA_ERROR) then local m = doCreateMonster(cfg.monster, getCreaturePosition(cid)) doConvinceCreature(cid, m) setPlayerStorageValue(cid, cfg.storage, m) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You Can'Not Summon Your Creature In Pz Zone.") return TRUE end end if param:lower() == "go" then if summon <= 0 then mosnter(cid) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have already summoned a horse.") return TRUE end elseif param:lower() == "mount" then if isCreature(summon) then local outfit = getCreatureOutfit(cid) outfit.lookType = cfg.lookType doRemoveCreature(summon) doChangeSpeed(cid, cfg.speed) doSetCreatureOutfit(cid, outfit, cfg.time) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to summon a horse.") end elseif param:lower() == "ride" then if summon > 0 then local outfit = getCreatureOutfit(cid) if outfit.lookType ~= cfg.lookType then doPlayerSendCancel(cid, "Sorry!") return TRUE if getTilePzInfo(getCreaturePosition(cid)) == 0 then doRemoveCondition(cid, CONDITION_OUTFIT) doChangeSpeed(cid, -cfg.speed) local m = doCreateMonster(cfg.monster, getCreaturePosition(cid)) doConvinceCreature(cid, m) setPlayerStorageValue(cid, cfg.storage, m) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You Can'Not Summon Your Creature In Pz Zone.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You're not riding a horse.") return TRUE end return TRUE end elseif param:lower() == "back" then if isCreature(summon) then doRemoveCreature(summon) setPlayerStorageValue(cid, cfg.storage, 0) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You do not summoned a horse.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") end return TRUE end -- Modificado --
    1 ponto
  7. MatheusGlad

    [Systems] Pokemon Systems

    Peço pra que voces parem de postar varias vezes, eu nao sou cego Se tiver mesmo bugs nos scripts, eu irei concertar. Nao precisa ficar postando toda hora, pra isso existe as PMs. Ou o msn, pra que eu possa atende-los com Team Viewer ou Assistencia Remota do windows.
    1 ponto
  8. MatheusGlad

    [Systems] Pokemon Systems

    estrellita, esse erro deve ser porque voce esqeuceu de botar a lib. Quem esta com problema rpa instalar os scripts em 8.54+ me add msn massacre-team@hotmail.com
    1 ponto
  9. luisfe23

    Votação Ads#40

    Ah pouca gente é chato, vamos começa a participar galera!
    1 ponto
  10. DretiDemon

    Aulas De Mapping #1

    Aulas de Mapping #1 Estarei "dando" umas aulas a fim de ajudar a comunidade e de mostrar para os menos experientes como é ser mapper. • Primeiro Passo: Planejamento. No mapping e em outras coisas até mesmo na vida e bom ter um planejamento do que queremos e iremos fazer, exemplo: quando vamos as compras em um supermercado levamos uma lista do que iremos comprar para não esquecer, intuam é basicamente isso com o mapping só que é feito da certa maneira. Quando vamos criar uma hunt de troll por exemplo, por onde começamos? Na maioria das vezes pelo mapa editor certo?! Mais ja pararam para pensar onde o troll vive? Apos umas pesquisas é o que eu posso mostrar a vocês. De acordo com que achei Trolls são criaturas subterrâneas que vivem em bando (de acordo com o Tibia), e de acordo com esse trecho "Viviam em cavernas ou grutas subterrâneas..", essa parte é a necessária para ter uma base e saber o que colocar em uma hunt de troll, outro trecho "Trolls são uma raça humana, como o que vive em pequenas tribos nos buracos e cavernas do Tibia..." resumindo eles são humanos intaum precisam de comida e local para dormir, agora pesquisemos sobre grutas subterrâneas e cavernas. Bom agora passemos isso para o mapa editor, darei alguns exemplos feitos por min, intaum eu insistirei sempre ate que eu veja que essa mania de usar o Auto Border para, principalmente para os iniciantes. Quando forem começar a fazer um mapa de um simples clique na letra A de seu teclado (caso use RME) para desabilita-lo ou abilita-lo. Segue um exemplo que eu fiz. Como podem ver é simples mais segue no que foi planejado, o planejamento é algo que pode ser usado também para criação do continente, outras hunts e varias outras coisas basta saber se planejar. DICA: Se tiver uma idéia, um clarão na sua mente e não sabe usar o editor muito bem passe para um papel e pratique, até que saia um resultado do qual você goste. DICA²: Eu conselho vocês de dar uma olhada nesse outro topico: Mapa para RPG e não para exposição by Wiltry, é muito bom e também esta vinculado com a parte de planejamento. Bom galerinha é so isso, sugestões, duvidas podem deixar aqui no tópico ou me enviar uma MP que eu estarei respondendo. Espero que tenham gostado e se possível em breve estarei postando mais uma aula pois eu estou em semana de prova. Creditos: 100% 4458638, conteudo exclusivo Xtibia.com!
    1 ponto
  11. noobdoxtibia

    Ads#40

    que tal um tema inédito assim como o do ads39?? PS:borda branca
    1 ponto
  12. noobdoxtibia

    Ads#38

    Sign Stock (clique aqui) tema tenso eim PS:borda branca
    1 ponto
  13. Link Quebrado! Pelas SS deve ta Bom d+ da cont@!! :smile_positivo: ARRUMA AE.. :construction: vlw
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...