Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. Benny

    [X] Abstract Smudge SPEEDART

    Bem, o @moskitinho tinha pedido a "técnica" Isso não é muito bem um tutorial, mas a ideia é essa hauhau Enfim, abraços ~
    2 pontos
  2. Use esta versão com proteções: --local toloot = {11441, 11441, 11443, 11444, 11445, 11446, 11447, 11448, 11449,11450, 11451, 11452, 11453, 11454, 12618, 12232, 12244} -- PREFERENCIAL - SE QUISER APENAS COM ALGUNS ITENS function onUse(cid, item, frompos, item2, topos) if getItemAttribute(item.uid, "corpseowner") ~= cid then doPlayerSendCancel(cid, "You're not the owner.") return true end if getPlayerStorageValue(cid, 4919) < 1 then return false else local items = {} for x=0, (getContainerSize(item.uid)) do local itens = getContainerItem(item.uid, 0) if itens and itens.uid > 0 and itens.itemid ~= 0 then --if isInArray(toloot, itens.itemid) then table.insert(items, {i=itens.itemid, q=itens.type}) doRemoveItem(itens.uid) --break --end end end for y=1, #items do doPlayerAddItemStacking(cid, items[y].i, items[y].q) doPlayerSendTextMessage(cid, 20, "Looted "..items[y].q.."x "..getItemNameById(items[y].i)..".") end if #items > 0 then return true else return false end end end --[[ AUTO LOOT BY GABRIEL SALES SE QUISER ATIVAR O AUTOLOOT APENAS PARA ALGUNS ITENS, ADICIONE OS IDS NA TABELA toloot E TIRE OS COMENTÁRIOS(--). --]]
    2 pontos
  3. RigBy

    Arena System Inovador

    Blz, vou da inicio hoje quando chegar do pre-vestibular, se eu tiver alguma duvida eu posto aqui. :hi:
    2 pontos
  4. zipter98

    Arena System Inovador

    Na verdade eu pretendia fazer quando tivesse mais tempo livre (por ser um código grande), mas tudo bem. Se desistir, avise aqui, por gentileza. Se tiver alguma dificuldade, peço que também informe aqui para podermos ajudá-lo.
    2 pontos
  5. Avronex

    [Encerrado]RealPoke Apresentação

    RealPoke Boa noite pessoal! Estou aqui novamente pra retomarmos o que havíamos comessado! Muitos tiveram a oportunidade de estar jogando o servidor em seus 2 meses em que ficou online pra que pudesse ser encontrado bugs e desbalanceamentos. Para os que achavam que tinha se acabado o projeto se enganaram! Depois dos vários bugs voltei a trabalhar em todos eles e a resolver os mesmos. Ainda sim estou trabalhando no balanceamento e em alguns bugs simples que ainda nao parei para resolver por serem simples. Gostaria de aproveitar e agradeçer a todos que ajudaram seja reportando bugs ou até mesmo aqui no fórum que está sendo de grande ajuda! MiniMap Nós contamos com os principais sistemas de todo os servidores como abaixo listados e alguns de nossa própria autoria: [+] 1ª Geração 100%. [+] 2ª Geração 100%. [+] Pokemons com level. [+] Transparencia em pokemons, items e efeitos. [+] Catch System 100%. [+] Shiny's 1ª , 2ª geração 100%. [+] Pokémons balanceados. [+] Continente Kanto 100%. [+] Continente Johto 20%. [+] TM System 100%. [+] Boost System. [+] Smeargle System 100%. [+] Vitaminas Attack, Sp.Attack, Defense, Speed e HP. [+] Fly, ride, surf 100%. [+] Order 100%. [+] Moves de acordo com a Bulbapedia. [+] Autoloot 100%. [+] Autowalk 100%. [+] Passive and Agressive pokemons. [+] Players nao bloqueiam respawn. Mais algumas imagens: A todos que gostaram e querem ver mais imagens venho convidar a acompanhar o nosso projeto pelo Facebook: RealPoke Comentem!
    1 ponto
  6. Bruno

    Wand of Elements

    Introdução: É uma wand que ataca vários elementos aleatoriamente, porém não somente isso, você pode travar um único elemento através de uma talkaction. OBS: Testado em tfs 0.4 Instalação: Vá até data/weapons/scripts e crie um arquivo chamando wandelementos.lua e coloque o seguinte conteúdo: local min, max = 1700,1900 --Ataque mínino e ataque máximo local w = { [1] = {ef = 36, sh = 3, dmg = COMBAT_FIREDAMAGE}, [2] = {ef = 42, sh = 28, dmg = COMBAT_ICEDAMAGE}, [3] = {ef = 46, sh = 38, dmg = COMBAT_POISONDAMAGE}, [4] = {ef = 17, sh = 31, dmg = COMBAT_DEATHDAMAGE}, [5] = {ef = 47, sh = 35, dmg = COMBAT_ENERGYDAMAGE}, [6] = {ef = 36, sh = 31, dmg = COMBAT_PHYSICALDAMAGE}, [7] = {ef = 49, sh = 37, dmg = COMBAT_HOLYDAMAGE} } function onUseWeapon(cid, var) local effect = getPlayerStorageValue(cid, 4561) local target = getCreatureTarget(cid) if target ~= 0 then local wx = w[effect] or w[math.random(#w)] doSendDistanceShoot(getThingPos(cid), getThingPos(target), wx.sh) addEvent(doAreaCombatHealth, 100, cid, wx.dmg, getThingPos(target), 0, -min, -max, wx.ef) end return true end Altere o min e max de acordo com sua necessidade. Agora vá em data/weapons/weapons.xml e coloque o seguinte conteúdo: <wand id="7424" level="100" mana="30" event="script" value="wandelementos.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5" showInDescription="0"/> <vocation id="6" showInDescription="0"/> </wand> Altere o id, level e mana de acordo com sua necessidade. Agora vamos configurar a talkaction que troca os elementos. Vá até data/talkactions/scripts e crie um arquivo chamando elementos.lua e coloque o seguinte conteúdo: local config = { wand_id = 7424, --ID da wand types = { ["all"] = -1, --Ataca os elementos aleatoriamente ["fire"] = 1, ["ice"] = 2, ["poison"] = 3, ["death"] = 4, ["energy"] = 5, ["physical"] = 6, ["holy"] = 7 } } function onSay(cid, words, param) local wand_left = getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid local wand_right = getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid if wand_left ~= config.wand_id and wand_right ~= config.wand_id then doPlayerSendCancel(cid, "Voce deve estar equipado com uma ".. getItemNameById(config.wand_id) .." para usar este comando.") return true end if config.types[param] then setPlayerStorageValue(cid, 4561, config.types[param]) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Sua wand ira atacar ".. param .. ".") else local str = "" for i, _ in pairs(config.types) do str = str .. ", ".. i end doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Os elementos disponiveis sao: ".. string.sub(str, 3, #str) ..".") end return true end Altere o wand_id conforme configurado em weapons. Agora vá em data/talkactions/talkactions.xml e coloque o seguinte conteúdo: <talkaction words="!elemento;/elemento" event="script" value="elementos.lua"/> Exemplo de funcionamento: Agradeço MaXwEllDeN pela ajuda.
    1 ponto
  7. RodriigoRobson

    Pokemon Enigma Online 24hrs

    Pokemon Enigma Online Base: PDA by: Bolz Adaptado + Sources Site Blog Atualizado: https://pokeenigma.blogspot.com/ Comunidade Facebook: https://www.facebook.com/PokeEnigmaOnline Download Client link1: https://mega.co.nz/#!0M0SQR4J!P2jxHkOGuU71Xdm7VjQe8dkKKpYDbq9Wa7otoiTkkYk Download Client link2: http://www.mediafire.com/download/5shin1hl5bbdx24/Enigma_Client_1.0.rar Mapa do Servidor: http://uploaddeimagens.com.br/imagens/1-png--847 Informações Gerais PokeEnigma: - 1-2 Geração - 1 Shiny Geração - 2 Geração (Pokemons Enigmas Edited) - 352 Houses - 13 Cidades - Algumas Quests (Nao tem Quests Novos Ainda) - Order (blink/teleport/fly/control mind/Dig/Cut) - 50 Players + Online (Double Exp) - Catching (Mostrando a Rate da Ball e o Bonus Premium) - Status Poke - Surf - Goback - Pokedex - Computer - Fishing - Nurse Heal - PVP TEAM - PVP X1 - Evolution - Teleport - Monstro ataca Summon (Add Nas Sources) - Pokemon passivo (Add Nas Sources) - BoosT machine - Ditto system - Scyther e scyzor (Team) - Fly - Teleport Pokemon - Travel (MOTO) - 8 Box e Shiny Box - Aura - Bike system - Catch Channel - Boost Stone Vip +80 dando diferença (VIP) de Força a cada Boost - 30% a + de Catch para Jogadores Premium - 30% a + de Exp para Jogadores Premium - Clan system dando dobro de força! - Saffari Zone - Torneio - BattleField (Event) - Win e Lose e Torneio (Score Look) - Mega Task (Task Full Separados por Elementos) - Autoloot - Algumas Imagens do Jogo: - Bom Jogo a Todos =)
    1 ponto
  8. RodriigoRobson

    [Duvida] Crashs PDA 2015

    o Pokemon Blue nao é PDA e mais dificil de Configurar para adicionar novos Pokemons , da um Trabalho!
    1 ponto
  9. SkyLigh

    Pokemon Enigma Online 24hrs

    pronto,resolvido sem querer errei.
    1 ponto
  10. Mano isso é um action, acho que você deve ta querendo a tag <action actionid="ACTIONID" script="nome do script.lua"/> ps: to no celular mas eu acho que a tag é assim mesmo.
    1 ponto
  11. Mudrock

    ERRO LOCALHOST/INSTALL.PHP

    abra o arquivo install substitua 127.0.0.1 por 192.168.1.36
    1 ponto
  12. RigBy

    Arena System Inovador

    Acho que ninguém deve ta fazendo então, vou tentar fazer e daqui para amanha, domingo, segunda... eu posto aqui caso eu tenha conseguido fazer. instale o getCreaturePathTo, acho que eu vou utilizar ele. :hi:
    1 ponto
  13. Uddy

    Pokemon Enigma Online 24hrs

    se eu ti falar que ta na área errada?, kk aqui é divulga - se para achar uma equipe o certo seria: http://www.xtibia.com/forum/forum/808-servidores-derivados/ reportado. Vo entra lá, ver como q é
    1 ponto
  14. RigBy

    Preciso Urgente destes scripts!

    function onUse(cid, item, fromPosition, itemEx, toPosition) local tpos = { [1025] = 24, -- [action id da porta] = level para passar na porta, [1026] = 26, [1027] = 27, } if tpos[item.actionid] then if getPlayerLevel(cid) >= tpos[item.actionid] then doTeleportThing(cid, fromPosition) else doPlayerSendTextMessage(cid, 22, "Voce precisa ser level "..tpos[item.actionid].." para passar pela porta") end end return true end
    1 ponto
  15. local doors = { --[actionid] = {level = xxx, pos = {x = x, y = y, z = z}}, [4810] = {level = 50, pos = {x = 1049, y = 590, z = 7}}, --etc, } function onUse(cid, item) local door = doors[item.actionid] if door then if getPlayerLevel(cid) < door.level then return doPlayerSendCancel(cid, "You need level "..door.level.." to pass here.") end doTeleportThing(cid, door.pos) end return true end
    1 ponto
  16. Avronex

    [Encerrado]RealPoke Apresentação

    Obrigado, esperamos todos voces! Nova foto adicionada.
    1 ponto
  17. Dei uma pesquisada achei um que funciona com storage feito pelo Doggynub. procure por: void Monster::doAttacking(uint32_t interval) { if(!attackedCreature || (isSummon() && attackedCreature == this)) return; logo abaixo adicione: Player* player = attackedCreature->getPlayer(); std::string value; std::string check = "15"; if (getName() == "Rat" && player && ( !(player->getStorage(8000,value)) || check != value ) ) { setFollowCreature(NULL); setAttackedCreature(NULL); searchTarget(TARGETSEARCH_NEAREST); } procure por: bool Monster::selectTarget(Creature* creature) { #ifdef __DEBUG__ std::cout << "Selecting target... " << std::endl; #endif if(!isTarget(creature)) return false; CreatureList::iterator it = std::find(targetList.begin(), targetList.end(), creature); if(it == targetList.end()) { //Target not found in our target list. #ifdef __DEBUG__ std::cout << "Target not found in targetList." << std::endl; #endif return false; } logo abaixo adicione: Player* player = creature->getPlayer(); std::string value; std::string check = "15"; if (getName() == "Rat" && player && ( !(player->getStorage(8000,value)) || check != value ) ) return false; onde tam "Rat" é o nome do Mob que você que. em 8000 é o id da storage em 15 é o valor da storage Agora so basta fazer um onLogin para que quando o player logue é for de tal vocação ele ganhe a storage local voc = 1 function onLogin(cid) if getPlayerVocation(cid) == voc then setPlayerStorageValue(cid, 8000, 15) end return true end
    1 ponto
  18. Amigo, basta procurar, se tivesse procurado realmente tinha encontrado: http://www.xtibia.com/forum/topic/233143-wand-of-elements/ Espero ter ajudado.
    1 ponto
  19. veja esse http://www.xtibia.com/forum/topic/162958-porta-com-level/
    1 ponto
  20. moskitinho

    Aperto no Coração

    Nunca mais vai ser tão bom como já foi um dia... Achei as fotos em flogões e sério bate mó emoção em lembrar de muitos momentos. Lich Paulistinha, meu primeiro char no Tibia em Elera. E o que dizer dessa char? É muito zika! Belfahar eterno! :emocionado: E pra quem não sabe da história essa foi minha primeira account. A Lich Paulistinha na foto era druid, eu voltei pra rook e virei knight e anos depois voltei de novo e hoje é sorcerer. O Belfahar foi meu char em Astera inspirado na Tripida e no Theaso brag. Cheguei no level 180 e por problemas pessoais eu escolhi deixar a account.
    1 ponto
  21. Adiciona isto no começo do script, acima de tudo. <?xml version="1.0" encoding="ISO-8859-1"?>
    1 ponto
  22. Só de ter mounts nessa versão, já deixa todos os outros servidores como inferiores. Parabéns pelo projeto! Não tenho dúvidas de que daqui um tempo terá bastantes players.
    1 ponto
  23. RigBy

    Preciso Urgente destes scripts!

    pronto agora esta para quando loga, ainda não entendi o primeiro script, então explica melhor ai Creaturescript: .lua function onLogin(cid) local item = getPlayerSlotItem(cid, 2) -- slot if item.uid > 0 then if item.itemid == 2580 then -- item que tem que ter doTransformItem(item.uid, 7573) -- item que vai ganha end end return true end .xml <event type="login" name="Loga" event="script" value="script.lua"/>
    1 ponto
  24. Peterwild

    RadBR - Tibia como você nunca viu!

    Bem-vindos Quem somos? Há 7 anos online e trazendo muita diversão, somos um servidor alternativo do jogo Tibia. Temos como prioridade dedicarmos a qualidade desde o jogo ao site, com uma super estrutura, visando a opinião dos jogadores. Nossas exclusivas ideias fazem de nós um AOTS (Alternative Open Tibia Server) diferente de qualquer outro, com novos itens, novas criaturas, duas novas vocações, mais praticidade com site e npcs atendendo em português, mais lealdade com regras levadas a sério, cheaters rigorosamente proibidos e muito mais. Desvende os mistérios de nosso mapa único, grande e em constante atualização. Venha se divertir, jogue RadBR! Assista ao nosso trailer Melhor servidor O RadBR foi eleito o melhor servidor no concurso público de uma comunidade tibiana em 2012. Sete anos online Nunca tivemos e não pretendemos ter reset. Mapa exclusivo Mapa único e exclusivo, repleto de mistérios, com mais de 10 cidades. Reset level Pioneiro no sistema de reset level. Aumente leveis de uma forma diferente. Estrutura 3 super dedicados no melhor datacenter do mundo. Diferencial Novos itens, monstros, vocações, sistemas e outros, tornando um jogo totalmente novo. Protegido Jogue tranquilo, temos proteção contra ataques DDoS e outros. Fórum Acesse o fórum e encontre entretenimento, suporte, tutoriais e mais. Venda de itens e contas Venda de forma segura seus itens, mesmo que estiver offline, e contas. Cheaters Rigorosamente proibidos, sistema anti-bot ativo. Montarias Dome seu parceiro de aventuras. Tasks Derrote criaturas em troca de recompensas. Eventos Nas principais datas comemorativas e automáticos diariamente. Português Site e NPCs em português. Updates Atualizações periódicas, sempre com novidades. Crie já sua conta! Equipe RadBR
    1 ponto
  25. Fiz um vídeo expondo minha visão sobre o assunto e gostaria de compartilhá-la com vocês: (sem falar que deu um trabalhão pra fazer...)
    1 ponto
  26. Não sei se existe um script igual, mas estou postando o meu. Precisei de um npc que apresentasse um enigma. Descrição: Um npc que pode ser usado em quests. Pede ao player para resolver o enigma. Função: Se o player acertar a resposta poderá passar por um certo 'stone tile' ou porta. Se o player errar a resposta será 'sumonado' um certo monstro em um certo SQM. Vá até data/npc/ duplique um arquivo XML de algum npc. Mude o nome para Servo e cole isto: Legenda: Na cor ◘: Nome do NPC que será mostrado no OT. Vá até data/npc/scripts/ duplique um arquivo.lua de algum script de outro npc. Mude o nome para port_inf e cole isto: Legenda: Na cor ◘ : O enigma que será falado pelo NPC. Na cor ◘ : A resposta correta. Na cor ◘ : Número da storage: no caso, numero do actionid que terá que ser adicionado no tile/porta. Na cor ◘ : Nome do monstro que será 'sumonado' se o player errar a resposta. Na cor ◘ : Cordenadas de onde aparecerá o monstro. Depois disso, adicione o actionid no tile/porta que o player poderá passar só após responder o enigma. No meu caso adicionei o actionid: 313131 em uma Stone Tile. Agora é só importar o NPC no seu RME ou seu outro Map Editor. E mudar as falas do NPC se quiser ou se precisar. -Mas tome cuidado com as palavras que precisam ser faladas. Pronto! Seu npc está pronto! Meu resultado: Meu primeiro tópico e também meu primeiro script. Podem me corrigir e me xingar se estiver um lixo. Se tiver algo inútil no código, me avisem. É que foi tudo baseado no Henricus. Dúvida: Alguém sabe se há uma possibilidade/script onde o npc faria perguntas variadas aleatoriamente? Falow. Espero que tenha ajudado alguém. Créditos: 50% para mim e 50% para o cara que fez o Henricus (npc da Inquisition).
    1 ponto
  27. Nottinghster

    [Npc] Simon The Beggar & Amber

    Fala ae galera XTibiana! Alguns de vocês devem saber que eu sou o criador do Tibia World RPG OldSchool Server e como eu ando fazendo MUITOS NPCs para o meu Servidor, resolvi liberar alguns dos meus NPCs mais fáceis de fazer e é claro que não vou postar um dificil como a The Queen of the Banshee NPC até porque não sou nenhum idiota Só para lembrar que todos os meus NPCs são baseados nos arquivos originais de NPC da Cipsoft! Vamos parar de conversa e vamos aos Scripts: Amber.xml (Rookgaard) <?xml version="1.0"?> <npc name="Amber" script="amber.lua" walkinterval="1000" access="3" floorchange="0"> <health now="100" max="100"/> <look type="137" head="59" body="113" legs="132" feet="76"/> <parameters> <parameter key="message_greet" value="Oh hello, nice to see you |PLAYERNAME|." /> <parameter key="message_farewell" value="See you later." /> <parameter key="module_keywords" value="1" /> <parameter key="keywords" value="how are you;job;explore;adventure;sea;time;help;information;dungeon;sewer;assistant;monster;cyclops;minotaur;dragon;raft;quest;mission;seymour;academy;king;thais;cipfried;dallheim;hyancith;willie;obi;weapon;magic;tibia;castle;orc" /> <parameter key="keyword_reply1" value="I am recovering from a sea journey." /> <parameter key="keyword_reply2" value="I explore and seek adventure." /> <parameter key="keyword_reply3" value="I have been almost everywhere in Tibia." /> <parameter key="keyword_reply4" value="I fought fierce monsters, climbed the highest mountains, and crossed the sea on a raft." /> <parameter key="keyword_reply5" value="My trip over the sea was horrible. The weather was bad, the waves high and my raft quite simple." /> <parameter key="keyword_reply6" value="Sorry, I lost my watch in a storm." /> <parameter key="keyword_reply7" value="I can't help you much beyond information." /> <parameter key="keyword_reply8" value="Just ask and I'll try to answer." /> <parameter key="keyword_reply9" value="I have not had the time to explore the dungeons of this isle, but I have seen two big caves in the east, and there is a ruined tower in the northwest." /> <parameter key="keyword_reply10" value="I like sewers. I made my very first battle experience in the Thais sewers. The small sewersystem of Rookgaard has some nasty rats to fight." /> <parameter key="keyword_reply11" value="I have a job of great responsibility. Mostly I keep annoying persons away from my boss." /> <parameter key="keyword_reply12" value="Oh, I fought orcs, cyclopses, minotaurs, and even green dragons." /> <parameter key="keyword_reply13" value="Horrible monsters they are." /> <parameter key="keyword_reply14" value="Horrible monsters they are." /> <parameter key="keyword_reply15" value="Horrible monsters they are." /> <parameter key="keyword_reply16" value="I left my raft at the south eastern shore. I forgot my private notebook on it. If you could return it to me I would be very grateful." /> <parameter key="keyword_reply17" value="I left my raft at the south eastern shore. I forgot my private notebook on it. If you could return it to me I would be very grateful." /> <parameter key="keyword_reply18" value="I left my raft at the south eastern shore. I forgot my private notebook on it. If you could return it to me I would be very grateful." /> <parameter key="keyword_reply19" value="I think this poor guy was a bad choice as the head of the academy." /> <parameter key="keyword_reply20" value="A fine institution, but it needs definitely more funds from the king." /> <parameter key="keyword_reply21" value="King Tibianus is the ruler of Thais." /> <parameter key="keyword_reply22" value="A fine city, but the king has some problems enforcing the law." /> <parameter key="keyword_reply23" value="A gentle person. You should visit him, if you have problems." /> <parameter key="keyword_reply24" value="An extraordinary warrior. He's the first and last line of defense of Rookgaard." /> <parameter key="keyword_reply25" value="Hyacinth is a great healer. He lives somewhere hidden on this isle." /> <parameter key="keyword_reply26" value="He's funny in his own, gruffy way." /> <parameter key="keyword_reply27" value="He's a funny little man." /> <parameter key="keyword_reply28" value="The best weapons on this isle are just toothpicks, compared with the weapons warriors of the mainland wield." /> <parameter key="keyword_reply29" value="You can learn spells only in the guildhalls of the mainland." /> <parameter key="keyword_reply30" value="I try to explore each spot of Tibia, and one day I will succeed." /> <parameter key="keyword_reply31" value="If you travel to Thais, you really should visit the marvelous castle." /> <parameter key="keyword_reply32" value="Not the nicest guys you can encounter. I had some clashes with them and was prisoner of the orcs for some months." /> <parameter key="module_shop" value="1"/> <parameter key="shop_buyable" value=""/> </parameters> </npc> Amber.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(npcHandler.focus ~= cid) then return false end -- NPC Amber feito por Rodrigo (Nottinghster) -- Inicio Amber NPC if msgcontains(msg, 'book') or msgcontains(msg, 'notebook') then selfSay('Do you bring me my notebook?') talk_state = 1 elseif msgcontains(msg, 'yes') and talk_state == 1 and getPlayerItemCount(cid,1950) >= 1 then selfSay('Excellent. Here, take this short sword, that might serve you well.') doPlayerAddItem(cid, 2406) doPlayerRemoveItem(cid,1950, 1) talk_state = 0 elseif msgcontains(msg, 'yes') and talk_state == 1 and getPlayerItemCount(cid,1950) == 0 then selfSay('Hm, you don\'t have it.') talk_state = 0 elseif msgcontains(msg, 'no') and talk_state == 1 then selfSay('Too bad.') talk_state = 0 elseif msgcontains(msg, 'orcish') or msgcontains(msg, 'language') or msgcontains(msg, 'prisoner') then selfSay('I speak some orcish words, not much though, just \'yes\' and \'no\' and such basic.') talk_state = 2 elseif msgcontains(msg, 'yes') and talk_state == 2 then selfSay('It\'s \'mok\' in orcish. I help you more about that if you have some food.') elseif msgcontains(msg, 'no') and talk_state == 2 then selfSay('In orcish that\'s \'burp\'. I help you more about that if you have some food.') elseif msgcontains(msg, 'food') then selfSay('My favorite dish is salmon. Oh please, bring me some of it.') elseif msgcontains(msg, 'salmon') then selfSay('Yeah! If you give me some salmon I will tell you more about the orcish language.') talk_state = 3 elseif msgcontains(msg, 'yes') and talk_state == 3 and getPlayerItemCount(cid,2668) >= 1 then selfSay('Thank you. Orcs call arrows \'pixo\'.') doPlayerRemoveItem(cid,2668,1) elseif msgcontains(msg, 'yes') and talk_state == 3 and getPlayerItemCount(cid,2668) == 0 then selfSay('You don\'t have one!') talk_state = 0 elseif msgcontains(msg, 'bye') and (talk_state >= 1 and talk_state <= 3) then selfSay('See you later.') talk_state = 0 end -- Final Amber NPC -- NPC Amber feito por Rodrigo (Nottinghster) return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Simon the Beggar.xml (Deeper Fibula Quest) <?xml version="1.0"?> <npc name="Simon the Beggar" script="simon.lua" walkinterval="1000" access="3" floorchange="0"> <health now="100" max="100"/> <look type="128" head="116" body="123" legs="32" feet="40"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. I am a poor man. Please help me." /> <parameter key="message_farewell" value="Have a nice day." /> <parameter key="module_keywords" value="1" /> <parameter key="keywords" value="job;beggar;gold;name;simon;dermot;village;key;dungeon;fibula;timur;worlf;flute;minotaurs;minos;treasure;giant spider;monster;jetty;ship;tibia" /> <parameter key="keyword_reply1" value="I have no job. I am a beggar." /> <parameter key="keyword_reply2" value="I have no gold and no job, so I am a beggar." /> <parameter key="keyword_reply3" value="I need gold. I love gold. I need help." /> <parameter key="keyword_reply4" value="My name is Simon. I am a very poor man." /> <parameter key="keyword_reply5" value="I am Simon. The poorest human all over the continent." /> <parameter key="keyword_reply6" value="The magistrate of the village. I heard he is selling something for the Fibula Dungeon." /> <parameter key="keyword_reply7" value="To the north is the village Fibula. A very small village." /> <parameter key="keyword_reply8" value="Key? There are a lot of keys. Please change the topic." /> <parameter key="keyword_reply9" value="I heard a lot about the Fibula Dungeon. But I never was there." /> <parameter key="keyword_reply10" value="I hate Fibula. Too many wolves are here." /> <parameter key="keyword_reply11" value="I hate Timur. He is too expensive. But sometimes I find maces and hatchets. Timur is buying these items." /> <parameter key="keyword_reply12" value="Please kill them ... ALL." /> <parameter key="keyword_reply13" value="Har, har. The stupid Dermot lost his flute. I know that some minotaurs have it in their treasure room." /> <parameter key="keyword_reply14" value="Very rich monsters. But they are too strong for me. However, there are even stronger monsters." /> <parameter key="keyword_reply15" value="Very rich monsters. But they are too strong for me. However, there are even stronger monsters." /> <parameter key="keyword_reply16" value="I know there are two rooms. And I know you can pass only the first door. The second door can't be opened." /> <parameter key="keyword_reply17" value="I know that terrible monster. It killed the fishers on the isle to the north." /> <parameter key="keyword_reply18" value="The strongest monster I know is the giant spider." /> <parameter key="keyword_reply19" value="I hate this jetty. I have never seen a ship here." /> <parameter key="keyword_reply20" value="There is a large sea-monster outside. I think there is no gritty captain to sail in this quarter." /> <parameter key="keyword_reply21" value="Hehe, do you have a shovel? I can sell you a shovel if you want to return to Tibia." /> <parameter key="module_shop" value="1"/> <parameter key="shop_buyable" value="shovel,2554,50;"/> </parameters> </npc> Simon.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(npcHandler.focus ~= cid) then return false end -- NPC Simon (Deeper Fibula Quest) feito por Rodrigo (Nottinghster) -- Inicio Simon NPC local player_gold = getPlayerItemCount(cid,2148) local player_plat = getPlayerItemCount(cid,2152)*100 local player_crys = getPlayerItemCount(cid,2160)*10000 local player_money = player_gold + player_plat + player_crys if msgcontains(msg, 'help') then selfSay('I need gold. Can you spend me 100 gold pieces?') talk_state = 1 elseif msgcontains(msg, 'yes') and talk_state == 1 and player_money >= 100 then selfSay('Thank you very much. Can you spend me 500 more gold pieces? I will give you a nice hint.') doPlayerRemoveMoney(cid, 100) talk_state = 2 elseif msgcontains(msg, 'yes') and talk_state == 1 and player_money < 100 then selfSay('You\'ve not enough money for me.') elseif msgcontains(msg, 'yes') and talk_state == 2 and player_money >= 500 then doPlayerRemoveMoney(cid, 500) selfSay('That\'s great! I have stolen something from Dermot. You can buy it for 200 gold. Do you want to buy it?') talk_state = 3 elseif msgcontains(msg, 'yes') and talk_state == 2 and player_money < 500 then selfSay('You\'ve not enough money for me.') elseif msgcontains(msg, 'yes') and talk_state == 3 and player_money >= 200 then selfSay('Now you own the hot key.') doPlayerRemoveMoney(cid, 200) key = doPlayerAddItem(cid, 2087,1) doSetItemActionId(key,3940) talk_state = 0 elseif msgcontains(msg, 'yes') and talk_state == 3 and player_money < 200 then selfSay('Pah! I said 200 gold. You don\'t have so much.') elseif msgcontains(msg, 'bye') and (talk_state >= 1 and talk_state <= 3) then selfSay('Have a nice day.') talk_state = 0 end -- Final Simon NPC -- NPC Simon (Deeper Fibula Quest) feito por Rodrigo (Nottinghster) return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Agora se divirtam!
    1 ponto
  28. luisfe23

    [Monster] O Curandeiro

    Olá XTibianos, eu tinha um ot antigamente e nele eu tinha criado um monster qe parecia muito com player, claro qe eu editei scripts para fazer isso pqe nao intendo muito. Hoje eu resolvi compartilhar ele com vcs, garanto qe vcs irao gostar, pois os players do meu ot ficavam se perguntando se era player ou moster, hehe. Qdo meu ot tava on eu fiz um video dele, ta ai pra qem qiser ver: http://www.youtube.com/watch?v=X60wUZqpZpA Obs: Meu ot era xp 999x Vamos ao script do monster e ao script da magia qe faz ele falar magias e se curar. Na pasta data/monster crie um arquivo em formato XML chamado Curandeiro. Dentro dele adicione isso: <?xml version="1.0" encoding="UTF-8"?> <monster name="Curandeiro" nameDescription="Curandeiro (Level 2598). He is a Elder Druid" race="blood" experience="150000" speed="850" manacost="0"> <health now="90000" max="90000"/> <look type="133" head="116" body="94" legs="114" feet="114" addons="3" corpse="3058"/> <targetchange interval="20000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="1"/> <flag canpushitems="1"/> <flag staticattack="100"/> <flag lightlevel="233"/> <flag lightcolor="35"/> <flag targetdistance="3"/> <flag runonhealth="500"/> <flag skull="4" /> </flags> <attacks> <attack name="deathmage" interval="1200" chance="100000" range="6" min="-2300" max="-2900"> </attack> </attacks> <defenses armor="27" defense="52" /> <immunities> <immunity physical="0"/> <immunity energy="0"/> <immunity fire="0"/> <immunity poison="0"/> <immunity lifedrain="0"/> <immunity paralyze="1"/> <immunity outfit="0"/> <immunity drunk="0"/> <immunity invisible="1"/> </immunities> <loot> <item id="2183" countmax="1" chance1="100000" chancemax="0"/> <item id="2656" countmax="1" chance1="100000" chancemax="0"/> <item id="2640" countmax="1" chance1="100000" chancemax="0"/> <item id="2470" countmax="1" chance1="100000" chancemax="0"/> <item id="2506" countmax="1" chance1="100000" chancemax="0"/> <item id="2514" countmax="1" chance1="100000" chancemax="0"/> <item id="2173" countmax="1" chance1="100000" chancemax="0"/> <item id="10518" chance="100000"> <inside> <item id="7590" chance="100000"/> <item id="2268" chance="100000"/> <item id="2160" countmax="100" chance="100000"/> </inside> </item> </loot> </monster> Agora abra o arquivo monster.xml e adicione isto: <monster name="Curandeiro" file="curandeiro.xml"/> Agora o monster esta adicionado. Iremos agora adicionar a spell qe faz ele se parecer com player, falar magias, usar exura, etc... Dentro da pasta data/spells abra o arquivo spells.xml e coloqe isso: <instant name="deathmage" words="deathmage" lvl="100000" mana="5000000" prem="1" aggressive="0" needtarget="1" params="0" exhaustion="100" soul="3500" script="deathmage.lua" /> Obs: level 100000 para nenhum player usar. Agora abra a pasta scripts e crie um arquivo chamado deathmage.lua, dentro dele coloqe isto: -- haste local combatHaste = createCombatObject() setCombatParam(combatHaste, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combatHaste, COMBAT_PARAM_AGGRESSIVE, 0) setCombatParam(combatHaste, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_TICKS, 14000) setConditionFormula(condition, 0, 350, 0, 350) setCombatCondition(combatHaste, condition) -- outfit local outCombat = createCombatObject() setCombatParam(outCombat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN) local condition = createConditionObject(CONDITION_OUTFIT) setConditionParam(condition, CONDITION_PARAM_TICKS, 3 * 24 * 3600 * 1000) -- here time in miliseconds, default 3 days addOutfitCondition(condition, 0, 12, 114, 114, 94, 94) addOutfitCondition(condition, 0, 35, 114, 114, 94, 94) addOutfitCondition(condition, 0, 300, 114, 114, 94, 94) addOutfitCondition(condition, 0, 287, 114, 114, 94, 94) addOutfitCondition(condition, 0, 303, 114, 114, 94, 94) addOutfitCondition(condition, 0, 231, 114, 114, 94, 94) addOutfitCondition(condition, 0, 243, 114, 114, 94, 94) addOutfitCondition(condition, 0, 244, 114, 114, 94, 94) addOutfitCondition(condition, 0, 246, 114, 114, 94, 94) addOutfitCondition(condition, 0, 240, 114, 114, 94, 94) addOutfitCondition(condition, 0, 326, 114, 114, 94, 94) addOutfitCondition(condition, 0, 307, 114, 114, 94, 94) addOutfitCondition(condition, 0, 55, 114, 114, 94, 94) setCombatCondition(outCombat, condition) -- exevo san local sanCombat = createCombatObject() setCombatParam(sanCombat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(sanCombat, COMBAT_PARAM_EFFECT, CONST_ME_FIREDAMAGE) setCombatParam(sanCombat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLFIRE) function onGetDmg1(cid, level, maglevel) return -60, -200 end setCombatCallback(sanCombat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetDmg1") -- SD local sdCombat = createCombatObject() setCombatParam(sdCombat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(sdCombat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(sdCombat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) function onGetDmg2(cid, level, maglevel) return 250, 500 end setCombatCallback(sdCombat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetDmg2") function onCastSpell(cid, var) if(isCreature(variantToNumber(var)) == TRUE) then if(getCreatureCondition(cid, CONDITION_OUTFIT) == 0) then -- random outfit doCombat(0, outCombat, numberToVariant(cid)) end if(getCreatureHealth(cid) < 500 and getCreatureCondition(cid, CONDITION_HASTE) == 0) then doCombat(0, combatHaste, numberToVariant(cid)) doCreatureSay(cid,"Speed",TALKTYPE_SAY) else if(math.random(0,99) > 80 and (getCreatureMaxHealth(cid) - getCreatureHealth(cid) > 450)) then -- 20% percent chance to heal when hp lose higher then 450 doTargetCombatHealth(0, cid, COMBAT_HEALING, 25000, 35000, CONST_ME_MAGIC_BLUE) doCreatureSay(cid,"Exura Vita",TALKTYPE_ORANGE_1) elseif(math.random(0,99) > 60 and (getCreatureMaxHealth(cid) - getCreatureHealth(cid) > 750)) then -- 40% percent chance to heal when hp lose higher then 750 doTargetCombatHealth(0, cid, COMBAT_HEALING, 25000, 35000, CONST_ME_MAGIC_BLUE) doCreatureSay(cid,"Exura Vita",TALKTYPE_ORANGE_1) elseif(math.random(0,99) > 20 and (getCreatureMaxHealth(cid) - getCreatureHealth(cid) > 950)) then -- 80% percent chance to heal when hp lose higher then 950 doTargetCombatHealth(0, cid, COMBAT_HEALING, 25000, 35000, CONST_ME_MAGIC_BLUE) doCreatureSay(cid,"Exura Vita",TALKTYPE_ORANGE_1) elseif(getCreatureMaxHealth(cid) - getCreatureHealth(cid) > 300) then -- 100% to drink great spirit potion if hp lose higher then 100 doTargetCombatHealth(0, cid, COMBAT_HEALING, 600, 700, CONST_ME_MAGIC_BLUE) doCreatureSay(cid, "Aaaah...", TALKTYPE_ORANGE_1) end end if(math.random(0,99) > 60) then -- 40% to shot sd doCombat(cid, sdCombat, var) doTargetCombatHealth(cid, variantToNumber(var), COMBAT_DEATHDAMAGE, -10000, -20500, CONST_ME_NONE) elseif(math.random(0,99) > 60) then -- 70% to shot exori san doCombat(cid, sdCombat, var) doTargetCombatHealth(cid, variantToNumber(var), COMBAT_DEATHDAMAGE, -4000, -5500, CONST_ME_NONE) doCreatureSay(cid,"Exori Mort",TALKTYPE_ORANGE_1) elseif(math.random(0,99) > 60) then -- 70% to shot exori san doCombat(cid, sdCombat, var) doTargetCombatHealth(cid, variantToNumber(var), COMBAT_DEATHDAMAGE, -4000, -5500, CONST_ME_NONE) doCreatureSay(cid,"Exori Mort",TALKTYPE_ORANGE_1) end end end Pronto! Agora é só colocar ele no seu servidor, espero qe tenham gostado. Não copiem, exclusividade XTibia ! Abraços.
    1 ponto
  29. Nottinghster

    [Npc] Seymour De Rookgaard

    Fala ae galera XTibiana! Alguns de vocês devem saber que eu sou o criador do Tibia World RPG OldSchool Server e como eu ando fazendo MUITOS NPCs para o meu Servidor, resolvi liberar alguns dos meus NPCs mais fáceis de fazer e é claro que não vou postar um dificil como a The Queen of the Banshee NPC até porque não sou nenhum idiota Só para lembrar que todos os meus NPCs são baseados nos arquivos originais de NPC da Cipsoft! Vamos parar de conversa e vamos aos Scripts: Arquivo em que o NPC foi baseado (arquivo original da CipSoft): # GIMUD - Graphical Interface Multi User Dungeon # seymour.npc: Datenbank fuer den Schulleiter Seymour Name = "Seymour" Sex = male Race = 1 Outfit = (128,115-69-87-116) Home = [32103,32195,7] Radius = 1 GoStrength = 5 Behaviour = { ADDRESS,"hello",! -> "Hello, %N. What do you need?" ADDRESS,"hi",! -> * ADDRESS,! -> Idle BUSY,"hi$",! -> "%N, I am already talking to somebody else! Please wait until it is your turn.", Queue BUSY,"hello$",! -> * BUSY,! -> NOP VANISH,! -> "Good bye! And remember: No running up and down in the academy!" "bye" -> "Good bye! And remember: No running up and down in the academy!", Idle "farewell" -> * "how","are","you" -> "Well, the king doesn't send troops anymore, the academy is dreadfully low on money, and the end of the world is pretty nigh. Apart from that I am reasonably fine, I suppose." "sell" -> "I sell the Key to Adventure for 5 gold! If you are interested, tell me that you want to buy the key." "job" -> "I am the master of this fine academy." "academy" -> "Our academy has a library, a training center in the cellars and the oracle upstairs." "library" -> "Go and read our books. Ignorance may mean death, so be careful." "train" -> "You can try some basic things down there, but don't challenge the monsters in our arena if you are inexperienced." "center" -> * "cellar" -> * "oracle" -> "You will find the oracle upstairs. Talk to the oracle as soon as you have made level 8. Choose a vocation and a new home town, and you will be sent off to the continent." "vocation" -> * "key" -> Type=2969, Data=4600, Amount=1, Price=5, "Do you want to buy the Key to Adventure for %P gold coins?", Topic=1 Topic=1,"no" -> "As you wish." Topic=1,"yes",CountMoney>=Price -> "Here you are.", DeleteMoney, Create(Type) Topic=1,"yes" -> "You don't have enough money." Topic=1 -> "Only nonsense on your mind, eh?" "rookgaard" -> "Here on Rookgaard we have some people, a temple, some shops, a farm and an academy." "name" -> "My name is Seymour, but to you I am 'Sir' Seymour." "seymour" -> * "sir" -> "At least you know how to address a man of my importance." "time" -> "It is %T, so you are late. Hurry!" "help" -> "I can assist you with my advice." "hint" -> * "people" -> "Well, there's me, Cipfried, Willie, Obi, Amber, Dallheim, Al Dee, Norma, and Hyacinth." "advice" -> "Read the blackboard for some hints and visit the training center in the cellar." "monster" -> "You can learn about Tibia's monsters in our library." "dungeon",level<3 -> "There are some dungeons on this isle, but almost all of them are too dangerous for you at the moment." "dungeon",level>2 -> "There are some dungeons on this isle. You should be strong enough to explore them now, but make sure to take a rope with you." "sewer" -> "Our sewers are overrun with rats. If you own some equipment you could go down a sewer grate and fight the vermin." "god" -> "You can learn much about Tibia's gods in our library." "gamemaster" -> "If you have serious problems with the game or with other people who are harassing you, contact a counsellor or a gamemaster using CTRL+R." "counsellor" -> * "king" -> "Hail to King Tibianus! Long live our king! Not that he cares for an old veteran who is stuck on this godforsaken island..." "obi" -> "A cousin of Thais' smith Sam. He has a shop here where you can buy most stuff an adventurer needs." "cipfried" -> "A humble monk with healing powers, and a pupil of the great Quentin himself." "amber" -> "A traveller from the main land. I wonder what brought her here, since no one comes here of his own free will." "willie" -> "Willie is a fine farmer, although he has short temper." "hyacinth" -> "A mysterious druid who lives somewhere in the wilderness. He sells precious life fluids." "dallheim" -> "Oh good Dallheim! What a fighter he is! Without him we would be doomed." "al","dee" -> "He is a shop owner in the northwestern part of the village." "quentin" -> "He is responsible for the temple in Thais." "life","fluid" -> "A rare magic potion that restores health." "fuck",male -> "For this remark I will wash your mouth with soap, young man!", EffectOpp(8) "fuck",female -> "For this remark I will wash your mouth with soap, young lady!", EffectOpp(8) "bug" -> "Nasty little creatures, but once you have a suitable weapon and perhaps a shield they will be no match for you." "weapon" -> "You need fine weapons to fight the tougher beasts. Unfortunately only the most basic weapons and armor are available here. You will have to fight some monsters to get a better weapon." "magic" -> "The only magic-user on this isle is old Hyacinth." "tibia" -> "Oh, how I miss the crowded streets of Thais. I know one day I will get promoted and get a job at the castle... I must get out of here! The faster the better! It is people like you who are driving me mad." "castle" -> "The castle of Thais is the greatest achievement in Tibian history." "mission",level<4 -> "You are pretty inexperienced. I think killing rats is a suitable challenge for you. For each fresh rat I will give you two shiny coins of gold." "quest",level<4 -> * "mission",level>3 -> "Well I would like to send our king a little present, but I do not have a suitable box. If you find a nice box, please bring it to me." "quest",level>3 -> * "rat" -> Type=3994, Amount=1, Price=2, "Have you brought a dead rat to me to pick up your reward?", Topic=2 %1,1<%1,"rat" -> Type=3994, Amount=%1, Price=2*%1, "Have you brought %A dead rats to me to pick up your reward?", Topic=2 Topic=2,"yes",Count(Type)>=Amount -> "Thank you! Here is your reward.", Delete(Type), CreateMoney Topic=2,"yes" -> "HEY! You don't have one! Stop playing tricks on fooling me or I will give you some extra work!" Topic=2,"yes",Amount>1 -> "HEY! You do not have so many!" Topic=2 -> "Go and find some rats to kill!" "box" -> Type=2856, Amount=1, "Do you have a suitable present box for me?", Topic=3 Topic=3,"yes",Count(Type)>=Amount -> "THANK YOU! Here is a helmet that will serve you well.", Delete(Type), Create(3374) Topic=3,"yes" -> "HEY! You don't have one! Stop playing tricks on me or I will give some extra work!" Topic=3 -> * } Seymour.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Seymour" script="seymour.lua" walkinterval="1000" access="3" floorchange="0"> <health now="100" max="100"/> <look type="128" head="115" body="69" legs="87" feet="116" addons="0"/> <parameters> <parameter key="message_greet" value="Hello, |PLAYERNAME|. What do you need?" /> <parameter key="message_placedinqueue" value="|PLAYERNAME|, I am already talking to somebody else! Please wait until it is your turn." /> <parameter key="message_farewell" value="Good bye, |PLAYERNAME|! And remember: No running up and down in the academy!" /> <parameter key="message_walkaway" value="Good bye, |PLAYERNAME|! And remember: No running up and down in the academy!" /> <parameter key="message_idletimeout" value="Good bye, |PLAYERNAME|! And remember: No running up and down in the academy!" /> <parameter key="message_buy" value="Have you brought a dead rat to me to pick up your reward?" /> <parameter key="message_onsell" value="Thank you! Here is your reward." /> <parameter key="message_nothaveitem" value="HEY! You don't have one! Stop playing tricks on fooling me or I will give you some extra work!" /> <parameter key="module_keywords" value="1" /> <parameter key="keywords" value="how are you;sell;job;academy;library;train;center;cellar;oracle;vocation;rookgaard;name;seymour;sir;help;hint;people;advice;monster;sewer;god;gamemaster;counsellor;king;obi;cipfried;amber;willie;hyancith;dallheim;al dee;quentin;life fluid;bug;weapon;magic;tibia;castle;" /> <parameter key="keyword_reply1" value="Well, the king doesn't send troops anymore, the academy is dreadfully low on money, and the end of the world is pretty nigh. Apart from that I am reasonably fine, I suppose." /> <parameter key="keyword_reply2" value="I sell the Key to Adventure for 5 gold! If you are interested, tell me that you want to buy the key." /> <parameter key="keyword_reply3" value="I am the master of this fine academy." /> <parameter key="keyword_reply4" value="Our academy has a library, a training center in the cellars and the oracle upstairs." /> <parameter key="keyword_reply5" value="Go and read our books. Ignorance may mean death, so be careful." /> <parameter key="keyword_reply6" value="You can try some basic things down there, but don't challenge the monsters in our arena if you are inexperienced." /> <parameter key="keyword_reply7" value="You can try some basic things down there, but don't challenge the monsters in our arena if you are inexperienced." /> <parameter key="keyword_reply8" value="You can try some basic things down there, but don't challenge the monsters in our arena if you are inexperienced." /> <parameter key="keyword_reply9" value="You will find the oracle upstairs. Talk to the oracle as soon as you have made level 8. Choose a vocation and a new home town, and you will be sent off to the continent." /> <parameter key="keyword_reply10" value="You will find the oracle upstairs. Talk to the oracle as soon as you have made level 8. Choose a vocation and a new home town, and you will be sent off to the continent." /> <parameter key="keyword_reply11" value="Here on Rookgaard we have some people, a temple, some shops, a farm and an academy." /> <parameter key="keyword_reply12" value="My name is Seymour, but to you I am 'Sir' Seymour." /> <parameter key="keyword_reply13" value="My name is Seymour, but to you I am 'Sir' Seymour." /> <parameter key="keyword_reply14" value="At least you know how to address a man of my importance." /> <parameter key="keyword_reply15" value="I can assist you with my advice." /> <parameter key="keyword_reply16" value="I can assist you with my advice." /> <parameter key="keyword_reply17" value="Well, there's me, Cipfried, Willie, Obi, Amber, Dallheim, Al Dee, Norma, and Hyacinth." /> <parameter key="keyword_reply18" value="Read the blackboard for some hints and visit the training center in the cellar." /> <parameter key="keyword_reply19" value="You can learn about Tibia's monsters in our library." /> <parameter key="keyword_reply20" value="Our sewers are overrun with rats. If you own some equipment you could go down a sewer grate and fight the vermin." /> <parameter key="keyword_reply21" value="You can learn much about Tibia's gods in our library." /> <parameter key="keyword_reply22" value="If you have serious problems with the game or with other people who are harassing you, contact a counsellor or a gamemaster using CTRL+R." /> <parameter key="keyword_reply23" value="If you have serious problems with the game or with other people who are harassing you, contact a counsellor or a gamemaster using CTRL+R." /> <parameter key="keyword_reply24" value="Hail to King Tibianus! Long live our king! Not that he cares for an old veteran who is stuck on this godforsaken island..." /> <parameter key="keyword_reply25" value="A cousin of Thais' smith Sam. He has a shop here where you can buy most stuff an adventurer needs." /> <parameter key="keyword_reply26" value="A humble monk with healing powers, and a pupil of the great Quentin himself." /> <parameter key="keyword_reply27" value="A traveller from the main land. I wonder what brought her here, since no one comes here of his own free will." /> <parameter key="keyword_reply28" value="Willie is a fine farmer, although he has short temper." /> <parameter key="keyword_reply29" value="A mysterious druid who lives somewhere in the wilderness. He sells precious life fluids." /> <parameter key="keyword_reply30" value="Oh good Dallheim! What a fighter he is! Without him we would be doomed." /> <parameter key="keyword_reply31" value="He is a shop owner in the northwestern part of the village." /> <parameter key="keyword_reply32" value="He is responsible for the temple in Thais." /> <parameter key="keyword_reply33" value="A rare magic potion that restores health." /> <parameter key="keyword_reply34" value="Nasty little creatures, but once you have a suitable weapon and perhaps a shield they will be no match for you." /> <parameter key="keyword_reply35" value="You need fine weapons to fight the tougher beasts. Unfortunately only the most basic weapons and armor are available here. You will have to fight some monsters to get a better weapon." /> <parameter key="keyword_reply36" value="The only magic-user on this isle is old Hyacinth." /> <parameter key="keyword_reply37" value="Oh, how I miss the crowded streets of Thais. I know one day I will get promoted and get a job at the castle... I must get out of here! The faster the better! It is people like you who are driving me mad." /> <parameter key="keyword_reply38" value="The castle of Thais is the greatest achievement in Tibian history." /> <parameter key="module_shop" value="1"/> <parameter key="shop_buyable" value="" /> <parameter key="shop_sellable" value="dead rat,2813,2" /> </parameters> </npc> Seymour.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(npcHandler.focus ~= cid) then return false end -- NPC Seymour feito por Rodrigo (Nottinghster) -- Inicio NPC Seymour local player_gold = getPlayerItemCount(cid,2148) local player_plat = getPlayerItemCount(cid,2152)*100 local player_crys = getPlayerItemCount(cid,2160)*10000 local player_money = player_gold + player_plat + player_crys if msgcontains(msg, 'dungeon') and getPlayerLevel(cid) < 3 then selfSay('There are some dungeons on this isle, but almost all of them are too dangerous for you at the moment.') elseif msgcontains(msg, 'dungeon') and getPlayerLevel(cid) > 2 then selfSay('There are some dungeons on this isle. You should be strong enough to explore them now, but make sure to take a rope with you.') elseif msgcontains(msg, 'mission') or msgcontains(msg, 'quest') and getPlayerLevel(cid) < 4 then selfSay('You are pretty inexperienced. I think killing rats is a suitable challenge for you. For each fresh rat I will give you two shiny coins of gold.') elseif msgcontains(msg, 'mission') or msgcontains(msg, 'quest') and getPlayerLevel(cid) > 3 then selfSay('Well I would like to send our king a little present, but I do not have a suitable box. If you find a nice box, please bring it to me.') elseif msgcontains(msg, 'key') then selfSay('Do you want to buy the Key to Adventure for 5 gold coins?') talk_state = 1 elseif msgcontains(msg, 'yes') and talk_state == 1 and player_money >= 5 then selfSay('Here you are.') doPlayerRemoveMoney(cid, 5) key = doPlayerAddItem(cid, 2088,1) doSetItemActionId(key,4600) talk_state = 0 elseif msgcontains(msg, 'yes') and talk_state == 1 and player_money < 5 then selfSay('You don\'t have enough money.') elseif msgcontains(msg, 'no') and talk_state == 1 then selfSay('As you wish.') talk_state = 0 elseif msgcontains(msg, 'box') then selfSay('Do you have a suitable present box for me?') talk_state = 2 elseif msgcontains(msg, 'yes') and talk_state == 2 and getPlayerItemCount(cid,1990) >= 1 then selfSay('THANK YOU! Here is a helmet that will serve you well.') doPlayerRemoveItem(cid, 1990, 1) doPlayerAddItem(cid, 2480, 1) talk_state = 0 elseif msgcontains(msg, 'yes') and talk_state == 2 and getPlayerItemCount(cid,1990) == 0 then selfSay('HEY! You don\'t have one! Stop playing tricks on fooling me or I will give you some extra work!') talk_state = 0 elseif msgcontains(msg, 'bye') and (talk_state >= 1 and talk_state <= 2) then selfSay('See you later.') talk_state = 0 end -- Final Seymour NPC -- NPC Seymour feito por Rodrigo (Nottinghster) return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) É isso ai galera abraço!
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...