Pesquisar na Comunidade
Mostrando resultados para as tags ''Monster%2FNPC''.
Encontrado 45 registros
-
Npc de montarias full 9.6
Fala galerinha, estava dando uma revisada nos npc's do ot server que estou fazendo, então eu quis fazer um npc que tivesse todas as montarias da versão 9.6 para vender. Eu tenho 2 npc's de montarias, um dos players free, e o outro de player premium, o que eu vou passar pra vocês é o premium, então se você quiser fazer o free é só apagar as montarias que você quiser no arquivo LUA. (obs: eu criei uma montaria especial pra esse npc premium, o Rei Scorpiao, eu aumentei a velocidade dele no XML de montarias, se você quiser aumentar também é só ir na pasta "DATA" do seu otserver e abrir a pasta "XML", lá tem o arquivo "mounts", abra e procure pelo "Sandstone Scorpion" modifique o nome do seu gosto e o "speed" ). Espero que gostem, qualquer duvida deixe um comentário ps: Fatinhoplay
-
[NPC] Papai Noel - Que dá presente
Bom galera, sei que o natal acabou de passar, porém esqueci de postar esse system antes... Fiz uma versão 2.0 do meu npc de natal (papai noel). Agora ao invés do bom velhinho entregar diretamente o item, vc recebe uma caixa que ao clicar vc recebe um item 100% aleatorio (dentre os itens que foram programados dentro do script). Funciona assim: o player vai até o papai noel e fala: hi, aí o papai noel fala ho-ho-ho... aí o player responde sim (ou yes) e então o player recebe uma caixa. Ao clicar na caixa, o player recebe um dos itens, que estiverem programados no script, de forma aleatoria. Então vamo lá. Pra adicionar esse system, primeiro vá na pasta data/npc e crie um arquivo chamado Papai Noel.xml e coloque isso dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Papai Noel" script="data/npc/scripts/papai_noel.lua" walkinterval="1500" speed="100" walkradius="2" floorchange="0"> <health max="100" now="100"/> <look type="160" head="0" body="113" legs="94" feet="132" addons="0" mount="0"/> <parameters> <!--MESSAGES--> <parameter key="message_greet" value="HO-HO-HO, |PLAYERNAME| bem-vindo. Voce gostaria de um presente?"/> <parameter key="message_farewell" value="HO-HO-HO, tenha um feliz natal, |PLAYERNAME|."/> </parameters> </npc> Agora vá na pasta data/npc/scripts e crie um arquivo chamado papai_noel.lua e coloque isso dentro: Agora vá na pasta data/actions e adicione essa tag dentro do arquivo actions.xml: <action itemid="11401" event="script" value="giftbox.lua"/> Agora va na pasta data/actions/scripts e crie um arquivo chamado giftbox.lua e coloque isso dentro: local items = { [1]=2160, --ID do item 1 [2]=2157, --ID do item 2 [3]=2121} --ID do item 3 local stor = (11401+os.date("%Y")) --Nao mexa function onUse(cid) if getPlayerStorageValue(cid, stor) ~= 1 then a = math.random(1, #items) doPlayerAddItem(cid, items[a], 1) setPlayerStorageValue(cid, stor, 1) else doPlayerSendCancel(cid, "Voce ja pegou seu presente.") end doPlayerRemoveItem(cid, 11401, 1) return true end E isso é tudo pessoal!
-
[Monster] Arvore que cura
Bom, esse é meu primeiro tópico, não sei se esta na area correta (se nao tiver, por favor, mudem). espero que gostem Esse monstro tem o looktype de uma arvore magica (aquela com brilhos em volta) Qual a utilidade dela ?? R: Voce pode botar para druida envocar essa arvore, ai em uma quest bem massa, voce envoca essas arvores e ataca o tank, assim, elas irão curar ele. Bom, vamos lá: Em data/monster crie magic tree.xml e coloque: <?xml version="1.0" encoding="UTF-8"?><monster name="Magic Tree" nameDescription="a magic tree" race="venom" experience="0" speed="0" manacost="1000"> <health now="15000" max="15000"/> <look typeex="2699" corpse="6047"/> <targetchange interval="100" chance="20"/> <strategy attack="0" defense="0"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" skill="0" attack="0" poison="5"/> <attack name="poison" interval="1000" chance="25" range="7" min="+300" max="+900"> <attribute key="shootEffect" value="poison"/> <attribute key="areaEffect" value="greenspark"/> </attack> <attack name="speed" interval="1000" chance="34" range="7" speedchange="+550" duration="30000"> <attribute key="shootEffect" value="poison"/> <attribute key="areaEffect" value="greenspark"/> </attack> <attack name="poison" interval="1000" chance="12" radius="3" target="0" min="+40" max="+130"> <attribute key="areaEffect" value="poison"/> </attack> </attacks> <defenses armor="20" defense="22"> <defense name="healing" interval="100" chance="17" min="300" max="700"> <attribute key="areaEffect" value="blueshimmer"/> </defense> </defenses> <elements> <element earthPercent="100"/> <element physicalPercent="30"/> <element energyPercent="10"/> <element icePercent="7"/> <element firePercent="-20"/> </elements> <immunities> <immunity invisible="1"/> </immunities> <loot> <item id="2148" countmax="37" chance="43000"/><!-- gold coin --> <item id="2666" countmax="2" chance="36500"/><!-- meat --> <item id="2671" countmax="2" chance="20000"/><!-- ham --> <item id="2802" chance="8000"/><!-- sling herb --> <item id="2804" chance="8000"/><!-- shadow herb --> <item id="2747" chance="7500"/><!-- grave flower--> <item id="1987" chance="90000"><!-- bag --> <inside> <item id="2792" chance="10000"/><!-- dark mushroom --> <item id="7732" chance="3000"/><!-- seeds --> </inside> </item> </loot> </monster> Em data/monster/monster.xml adicione a linha: <monster name="Magic Tree" file="magic tree.xml"/> só mais uma coisa, ela não é imune a dano, então, podera morrer por ataques em area ou algo parecido!! Criado 100% por : Zazeros
-
NPC Dicer
Bom dia jovens, graças ao grande Omega eu consegui terminar o código do NPC Dicer, a função para checar o gold foi feita por ele então deem um beijo nele O NPC é parecido com aqueles BOTS que ficam no tibia global em yalahar normalmente, você joga uma quantia em gold e fala L ou H também pode ser Low ou High e com sorte pode ganhar o dobro da quantia apostada, exemplo: Eu vou lá jogo 20k na mesa e falo Low, caso caia nos números 1, 2 ou 3 eu irei ganhar o dobro da quantia que eu apostei que no foi 20k, mas se cair nos números 4, 5 ou 6 eu iria perder esses 20k. O High é a mesma coisa porém ao contrario, se eu falo High e cair nos numero 4, 5 ou 6 eu ganho o dobro da quantia que eu apostei e se cair no 1, 2 ou 3 eu perderia tudo. Crie um arquivo em data/npc com o nome dicer.xml e adicione isso dentro: <?xml version="1.0"?> <npc name="Dicer" script="data/npc/scripts/dicer.lua" walkinterval="1000" floorchange="0"> <health now="100" max="100"/> <look type="132" head="114" body="0" legs="0" feet="114" addons="3"/> <parameters> <parameter key="message_greet" value="Ola {|PLAYERNAME|}, caso queria tentar a sorte diga {L} ou {Low} para apostar nos numeros {1}, {2} ou {3} ||| {H} ou {High} para apostar nos numeros {4}, {5} ou {6}!" /> </parameters> </npc> Agora vá até data/npc/scripts e crie um arquivo com o nome dicer.lua e adicione isso dentro: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local coins = {[2148] = 1, [2152] = 100, [2160] = 10000} function countMoneyOnPos(pos) local money = 0 for stack = 1, 50 do pos.stackpos = stack local item = getThingFromPos(pos) if item and item.uid > 0 then if coins[item.itemid] then money = money + coins[item.itemid] * item.type end end end return money end local posCoal = {x = 169, y = 58, z = 7} -- POSIÇÃO DO COAL, ONDE O GOLD DEVE ESTAR local posNpc = {x = 193, y = 45, z = 7} -- POSIÇÃO DO NPC local pos = getPosByDir(getThingPos(cid), getCreatureLookDirection(cid), 1) -- NÃO ALTERAR if msgcontains(msg, 'l') or msgcontains(msg, 'L') or msgcontains(msg, 'low') or msgcontains(msg, 'Low') then if countMoneyOnPos(pos) > 0 then if math.random(1, 6) <= 3 then doPlayerAddMoney(cid, countMoneyOnPos(pos)*2) doRemoveItem(getTileItemById(pos, 2148).uid) repeat until not doRemoveItem(getTileItemById(pos, 2148).uid) doRemoveItem(getTileItemById(pos, 2152).uid) repeat until not doRemoveItem(getTileItemById(pos, 2152).uid) doRemoveItem(getTileItemById(pos, 2160).uid) repeat until not doRemoveItem(getTileItemById(pos, 2160).uid) doSendMagicEffect(posNpc, 26) doSendMagicEffect(posNpc, 28) doCreatureSay(getNpcId(), getCreatureName(cid)..' tirou o numero '..math.random(1, 3)..', parabéns!', TALKTYPE_ORANGE_1) else doRemoveItem(getTileItemById(pos, 2148).uid) repeat until not doRemoveItem(getTileItemById(pos, 2148).uid) doRemoveItem(getTileItemById(pos, 2152).uid) repeat until not doRemoveItem(getTileItemById(pos, 2152).uid) doRemoveItem(getTileItemById(pos, 2160).uid) repeat until not doRemoveItem(getTileItemById(pos, 2160).uid) doSendMagicEffect(posNpc, 2) doSendMagicEffect(posNpc, 26) doCreatureSay(getNpcId(), getCreatureName(cid)..' tirou o numero '..math.random(4, 6)..', tente novamente!', TALKTYPE_ORANGE_1) end else doCreatureSay(getNpcId(), getCreatureName(cid)..', coloque uma quantia de gold no recipiente para começar a apostar!', TALKTYPE_ORANGE_1) end elseif msgcontains(msg, 'h') or msgcontains(msg, 'H') or msgcontains(msg, 'high') or msgcontains(msg, 'High') then if countMoneyOnPos(pos) > 0 then if math.random(1, 6) <= 3 then doPlayerAddMoney(cid, countMoneyOnPos(pos)*2) doRemoveItem(getTileItemById(pos, 2148).uid) repeat until not doRemoveItem(getTileItemById(pos, 2148).uid) doRemoveItem(getTileItemById(pos, 2152).uid) repeat until not doRemoveItem(getTileItemById(pos, 2152).uid) doRemoveItem(getTileItemById(pos, 2160).uid) repeat until not doRemoveItem(getTileItemById(pos, 2160).uid) doSendMagicEffect(posNpc, 26) doSendMagicEffect(posNpc, 28) doCreatureSay(getNpcId(), getCreatureName(cid)..' tirou o numero '..math.random(4, 6)..', parabéns!', TALKTYPE_ORANGE_1) else doRemoveItem(getTileItemById(pos, 2148).uid) repeat until not doRemoveItem(getTileItemById(pos, 2148).uid) doRemoveItem(getTileItemById(pos, 2152).uid) repeat until not doRemoveItem(getTileItemById(pos, 2152).uid) doRemoveItem(getTileItemById(pos, 2160).uid) repeat until not doRemoveItem(getTileItemById(pos, 2160).uid) doSendMagicEffect(posNpc, 2) doSendMagicEffect(posNpc, 26) doCreatureSay(getNpcId(), getCreatureName(cid)..' tirou o numero '..math.random(1, 3)..', tente novamente!', TALKTYPE_ORANGE_1) end else doCreatureSay(getNpcId(), getCreatureName(cid)..', coloque uma quantia de gold no recipiente para começar a apostar!', TALKTYPE_ORANGE_1) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Você deve fazer alterações nesta parte: local posCoal = {x = 169, y = 58, z = 7} -- POSIÇÃO DO COAL, ONDE O GOLD DEVE ESTAR local posNpc = {x = 193, y = 45, z = 7} -- POSIÇÃO DO NPC Aconselhável montar uma área pro npc ficar idêntica a da fotos para não bugar o código, o coal() deve sempre ficar na frente do player pois a função ira chegar o gold a frente do player. Ao falar Hi Npc verificando que não tem gold no coal Vencendo uma aposta Perdendo uma aposta Créditos: Markin(Anne) Omega pela função de checar o gold
-
Oracle 100% Editavel
Seguinte, Este Script Sera Postado Somente Aqui No Tibia King. Até Agora Nenhum Script Foi Criado Do Genero, Pelomenos Eu Nao Achei. Bom, Se Voce Tem Algum Conhecimento Em Scripting Fique Avontade Para Fazer Alterações ;P Ja Se Voce Nao Tiver Simplesmente Altere Oque Eu Ensinar Aqui! Vamos Ao Que Intereça Download Dos Scripts Para Os Preguiçosos Creditos: 100% Beluci Gamer / EU
-
NPC Mendigo
Explicação: É um npc que pede ajuda para quem passa, se a pessoa o ajudar ela será teleportada pra um lugar configurável, e nesse lugar a pessoa coloca o que quiser. Vá em data/npc e crie um arquivo chamado Mendigo.xml e coloque o seguinte conteúdo: Agora vá em data/npc/scripts e crie um arquivo chamado mendigo.lua e coloque o seguinte conteúdo:
-
Como Editar um NPC 8.6 [VENDA]
Ola pessoal, aqui é tony hoje vou ensinar vocês como mexer em um Npc edita-lo, e o quer serve as Principais Configurações Vamos começar Vamos pegar essa parte Simples. <npc name="Dark Rodo" script="data/npc/scripts/runes.lua" access="5" lookdir="1"> <health now="1000" max="1000"/> <look type="133" head="0" body="86" legs="0" feet="38" addons="1"/> </npc> npc name Nome dado o NPC, no caso aqui é o Dark rodo Vendedor de Magias e Wands e Rods. Script="data/npc/scripts/runes.lua" Aqui é o Lugar a onde esta a Venda dele, os Itens a ser vendidos tendo Preço ID e o Nome do Item <health now="1000" max="1000"/> Health now e max é a vida do Npc exemplo aqui esta 1000 se eu coloca-se 20 ele teria somente 20 de vida mesmo que ele não seja atacado. <look type="133" head="0" body="86" legs="0" feet="38" addons Look type é o Addon do Npc, no caso 133 é o Addon Mage, se você subistituir para 302 ele vai ficar com roupa de GOD ou 75 para Roupa de GM, HEAD BODY LEGS FEET é a cor da Roua do NPC addons="1" é 1 ou 2, First addon ou Second Addon. que o npc tera
-
NPC Trade/Storage
Falaa pessoal do TK! Trouxe um script que fiz aqui para o meu servidor e gostaria de compartilhar com vocês: A idéia é bem simples: É apenas um NPC que só vende items para você se você tiver tal storage. Testado em: 8.60 local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local choose = {} local cancel = {} local available = {} --== Configurar storage e Items a venda aqui. local stor = 1500 -- configurar storage aqui local Trade = { {id=15646, buy=200, sell=0, name='buggy backpack'}, {id=10522, buy=200, sell=0, name='crown backpack'}, {id=10518, buy=200, sell=0, name='demon backpack'}, {id=11243, buy=200, sell=0, name='dragon backpack'}, } --== Fim das Configurações. local function setNewTradeTable(table) local items = {} for _, v in ipairs(table) do items[v.id] = {itemId = v.id, buyPrice = v.buy, sellPrice = v.sell, subType = 0, realName = v.name} end return items end local function setNewLineTable(oldTable, newTable) for k, v in pairs(oldTable) do table.insert(newTable, k, v) end return true end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'Trade') or msgcontains(msg, 'trade')) and getPlayerStorageValue(cid, stor) == 1 then selfSay('Essas são minhas ofertas!', cid) tradeRank = Trade local items = setNewTradeTable(tradeRank) local function onBuy(cid, item, subType, amount, ignoreCap, inBackpacks) if items[item].buyPrice then doPlayerAddItem(cid, items[item].itemId, amount) doPlayerRemoveMoney(cid, items[item].buyPrice * amount) return true end return true end local function onSell(cid, item, subType, amount, ignoreCap, inBackpacks) if items[item].sellPrice then doPlayerAddMoney(cid, items[item].sellPrice * amount) doPlayerRemoveItem(cid, items[item].itemId, amount) return true end return true end openShopWindow(cid, tradeRank, onBuy, onSell) else selfSay('Desculpe, mas você não tem o que é necessário para negociar comigo.', cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Esse é meu primeiro script para a galera do TK. Espero que gostem! Abraços!
-
Sistema Akatsuki
Sistema Akatsuki Bom jah vir muitas gente atras desse sistema entao eu resolvir cria um e posta pra ajuda os amigos esse vaii ser meu primeiro topico de script, entao vamos lah. Vá em Data/Npc e crum npc com o nome Tobi abra e cole isso: Vá em Data/npc/script e crie o bloco de notas com o nome AkatsukiSystem e cole isso: vou explicar um pouco como funcionar. Bem tem que arruma 6 coraçoes vá até o npc tobi e fale com ele, ele vaii fazer um troca com vc. vc vaii ganha uma roupa(Roupa da Akatsuki) com essa roupa vc jah estará tendo da Akatsuki. Pra quem quer que Fique o nome Membro Akatsuki Ao da Look Vá Até A Pasta Data/creaturescripts/scripts crie um bloco de notas com o nome showvoc e cole isso. Vá até Data/creaturescripts e va ate creaturescripts.xml e cole isso Mas quem usar Nto Jah vaii tem isso é só acrescenta o Akatsuki member. funcionar que quando o player fala com o npc tobi vc receberá o Storange Que Esta De Azul em cima o que esta de verde é o numero que estará Showvoc. O Id do Coracoes e a quantidade que vai perdi e remove, é o Rosa e amarelo no script. local level = 1-- Level preciso pra entra para akatsuki local itemid = 5943 -- id do coração local quantidade = 6 -- quantos hearts e preciso local bonushp = 300000 -- quanto de bonus de life vai ganha local bonusmp = 30000 -- quanto de bonus de mana vai ganha local experience = 20 -- Experience rates no caso 2x a experiencia do seu servidor. --[Vocation] = ( Nova Vocation, New Outfit(Roupa) ) [1] = { 5, 128}, [2] = { 6, 129}, [3] = { 7, 130}, [4] = { 8, 131}, } Bom gente espero que deu pra entende mas como é meu primeiro topíco eu penso que fale a verdade o que achou pra min tenta melhora nos poximo topicos. Creditos
-
[Tutorial] Monstro morre e aparece teleport
cara farei tu tutorial rapido tomara que gostem 1 crie seu monstro normalmalmente copie o arquivo xml de um monstro em C:\Users\Usuário\Desktop\naruto\Naruto Online\data\monster e renomeie para o nome do monstro q vc quer e edite o basico como skills look type experience speed entre outros 2-criado seu monstro adicione assim em monsters.xml 3- Em vermelho o id do teleport que aparecera e so ver no map editor qual teleport vc quer em azul o nome da criatura roxo onde o teleport ira aparecer laranja pra onde ira te teleportar Pronto agora so ligar o server lembrando as magias , loot, entre otros pode mudar pois este meu monstro e de ot naruto mais o sistema de teleport funciona
-
[NPC] NPC de viajem [CONFIGURAVEL]
Bom, percebi que muitos servers usam teleport por não tem um npc digamos assim que teleport para determinado local, então resolvi posta aqui um código de um NPC totalmente configuravel até se o player sem premium account viaja ou não. Primeiro crie um arquivo xml com o nome que você deseja dentro de DATA/NPC <?xml version="1.0" encoding="UTF-8"?> <npc name="John" script="viajador.lua" walkinterval="350000" floorchange="0" speed="0"> <health now="100" max="100"/> <look type="662" head="114" body="94" legs="57" feet="0"/> <parameters> <parameter key="message_greet" value="Ola. Para mais informacoes de meus servicos diga {travel}." /> <parameter key="message_farewell" value="Tchau." /> <parameter key="message_walkaway" value="Tchau." /> </parameters> </npc> Entendendo o script: Ali em NPC Name é o nome do NPC, no caso ali está john, você pode modificalo para o nome que você deseja. Script é o nome do arquivo que você irá criar na pasta scripts, é o nosso proximo passo looktype é o outfit que ele vai usar, Head é a cor do cabelo dele, body é a cor da camisa, legs é a cor d a calça e feet a cor da bota. Proximo passo vai na pasta scripts dentro da NPC e crie um arquivo chamado viajar.lua ou o nome que você escolheuem script ali em cima || Npc/Scripts Entendendo o script: PREMIUM: Ali em amarelo onde tem "premium" ta assim premium = true, no caso "true" é sim e "false" é não ali o script pergunta se precisa de premium para viajar, se sim você deixa true se não coloque false. LEVEL: Level necessario para poder usar o NPC. COST: È quanto custará os serviços do NPC, lembrando que o preço está em golds. DESTINATION: é as coordenadas para onde o npc deverá teleporta o player. Gostou ?? da um REP++
-
[DOWNLOAD] Monsters 8.60
Monsters 8.60 (37 pastas) Créditos: Otland (Imagens: Daaniel) Imagem:
-
NPC Que muda nome
Olá, bom muitos vieram pedindo esse script e vou ajudar a vocês de como criar um NPC QUE MUDA NOME DO JOGADOR! Vamos lá primeiro passo abra a pasta data/npcs. crie um arquivo chamado Kemi Change Nick.xml Agora abra a pasta scripts . Data/npc/scripts e crie um arquivo chamado renamer.lua Pronto o npc ja irá estar funcionando, lembrando que ele cobra 100 crystal coins para mudar o nome. Caso queira colocar outro equipamento para cobrar. SUBSTITUA: POR:
-
[NPC] Task RPG
Olá King Tibianos, Estava sem fazer nada esses dias (como sempre) e de repente veio uma ideia de uma Task que a meu ver ficou bem legal e seria muito bom e um servidor RPG. Eu particularmente gosto muito de quests e missões com muito RPG e se depender de mim haverá muitos scripts de quests e missões com um bom RPG, sem mais delongas vou explicar a Task e depois os scripts. -- Explicando Task -- Em busca da corda - Primeira Parte Primeiramente você irá falar com o NPC Heron, ele irá dizer que emprestou sua corda ao seu vizinho que mora mais ao sul e ele esqueceu de devolver (como sempre vizinho nunca te devolve nada, desde o café emprestado atá a xícara), então ele pede para você ir buscar. Provando sua Bravura - Segunda Parte Chegando em seu vizinho Vence você irá pedir a corda para ele e ele nada folgado falará pra você "provar sua bravura" descobrindo que tipo de criatura está em seu porão, ele te dará uma presa e pedirá que você vá até o professor local e pergunte que tipo de criatura teria uma presa daquela. Ao encontrar o professor ele pegará a preza e dirá que tipo de criatura é aquela. Você volta no Vence e diz a ele que criatura é, ele dirá que não faz a mínima ideia de que criatura é aquela então nada folgado2 pedirá que você vá até o porão dele e mate para ele 5 dessas criaturas e volte perguntando sobre o Heron. Matando as 5 criaturas você volta e fala sobre Heron (seu vizinho) e ele te dará a corda e mais uma recompensa por ter limpado o porão dele. Devolvendo a Corda - Última Parte Voltando ao Heron você falará com ele sobre a corda e ele te dará uma recompensa. Mas não é qualquer corda que é aceita na quest, ele só aceita a corda dele. Como ele sabe qual é a corda dele? Simples quando Vence devolve a corda de Heron, ele coloca um ActionID que o Heron checará quando você for devolver, se não for a corda dele, ele não aceitará. Transições Vence Darwin -- Scripts NPC -- Heron Vence Darwin -- Scripts -- Crie um arquivo chamado stair.lua na pasta data/movements/scripts e cole isso function onStepIn(cid, item, position, fromPosition) if getPlayerStorageValue(cid, 40500) == 1 then return true else doTeleportThing(cid, fromPosition) doPlayerSendTextMessage(cid, 18, 'You don\'t have access on the area') end end Adicione a seguinte linha no arquivo movements.xml que se encontra na pasta data/movements <movevent type="AddItem" uniqueid="6587" event="script" value="stair.lua"/> Na pasta mods crie um arquivo chamado TaskVence.xml e cole isso <?xml version="1.0" encoding="ISO-8859-1"?> <mod name="Kill Carrion Worm" version="1.0" enabled="yes"> <config name="KillM_func"><![CDATA[ tsk = { storages = {40501,40500}, task = {"carrion worm", 5} } ]]></config> <event type="login" name="AreKill" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "CountTask") return true end]]> </event> <event type="kill" name="CountTask" event="script"><![CDATA[ domodlib('KillM_func') function onKill(cid, target) if isMonster(target) then local n = string.lower(getCreatureName(target)) if n == tsk.task[1] and getPlayerStorageValue(cid, tsk.storages[2]) >= 1 then local contagem = getPlayerStorageValue(cid, tsk.storages[1]) if (contagem == -1) then contagem = 1 end if not tonumber(contagem) then return true end if contagem > tsk.task[2] then return true end setPlayerStorageValue(cid, tsk.storages[1], contagem+1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,""..(contagem == tsk.task[2] and "Congratulations! You finished the task of "..n.."." or "defeated. Total [" .. contagem .. "/" .. tsk.task[2] .. "] " .. n .. ".").."") end end return true end]]> </event> </mod> Testado e está 100% funcional Dúvidas? Me avise. Att. Giovani Rodrigo
-
[NPC] Vendedor de Outfit
Olá galerinha do TibiaKing, tudo firmeza? Resolvi trazer um script{`NPC} aqui pro TibiaKing que vai ajudar muito varias pessoas. Função do NPC: Ele vende uma outfit[ROUPA](CONFIGURAVEL) por x tanto de money(CONFIGURAVEL) Vá ate data/npc copie um arquivo xml e renomeie para outfitseller e cole isso dentro: Depois vá ate data/npc/script e copie um arquivo.lua e renomeie para outfitseller e cole isso: Bom galera é isso ai, espero ter ajudado vocês. Até a proxima
-
[NPC] Mensageira - Players deixam mensagens num bloco de notas
Oi. Eu fiz esse NPC para que ele possa deixar mensagens em um bloco de notas para que os administradores vejam. É uma forma de comunicação com os jogadores. [data/npc/Mensageira.xml] <npc name="Mensageira" script="data/npc/scripts/messenger.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="347" head="20" body="100" legs="50" feet="99" corpse="2212"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Eu tenho a função de deixar mensagens para que o administrador possa ler mais tarde, como críticas, ou simplesmente um bom dia. Gostaria de deixar uma {mensagem}?"/> </parameters> </npc> [data/npc/scripts/messenger.lua] local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local moneyTo = {} local playerTo = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end if talkState[cid] == 1 then selfSay("A mensagem \""..msg.."\" foi deixada. Obrigado pela contribuicao! Sua mensagem sera revisada por um administrador.", cid) local texto = "" local read = io.open("mensagens.txt", "r") texto = read:read("*all") read:close() local write = io.open("mensagens.txt", "w") write:write(texto.."["..getPlayerName(cid)..", "..os.date("%c").."]: \""..msg.."\"\n") write:close() talkState[cid] = 0 elseif msgcontains(msg, 'mensagem') then selfSay("Escreva a mensagem que voce gostaria de deixar. Pede-se rever o texto e escrever claramente o que deseja. Spam causa banimento por IP.", cid) talkState[cid] = 1 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Aí você deixa ele no templo, sei lá, faz qualquer coisa Só pra avisar, o mensagens.txt fica na pasta raiz do servidor, lá onde tem config.lua
-
[NPC] Quest's Missions
Como Funciona - Este NPC dá missões para fazer. Quando o jogador volta após uma missão, o NPC conta o quanto ele fez missões. Se o jogador fez a quantidade de buscas feitas no NPC, ele irá obter experiência e passar para a próxima missão. Se todas as missões são feitas, ele vai receber um item como recompensa. A contagem de quests trabalha com armazenamento, portanto, use o armazenamento que você usa para as suas missões. Vá em data/npc, crie um arquivo .xml e renomeie para Luffy, adicione isso - <?xml version="1.0" encoding="UTF-8"?> <npc name="Luffy" script="questmissions.lua" walkinterval="2000" speed="0" floorchange="0"> <health now="150" max="150"/> <look type="134" head="59" body="76" legs="119" feet="0" addons="3"/> <parameters> <parameter key="message_greet" value="Hello, I love doing {quests}, some of them are quite hard though."/> </parameters> </npc> Vá na pasta scripts da pasta npc, crie um arquivo .lua e renomeie para questmissions, cole isso - Se preferir, use este, com mensagens diferentes - Créditos - Limos
-
NPC de Premium
Primeiramente, gostaria de dizer que eu estava procurando um npc similar a este por ai.. mas infelizmente não encontrei, então decidi pegar algum parecido e editar a meu gosto No final do tópico vou explicar mais algumas coisas.. enfim, vamos lá Essa é a parte que você irá colocar dentro do XML. <npc name="Max" script="data/npc/scripts/max.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="132" head="94" body="114" legs="86" feet="0" addons="3"/> <parameters> <parameter key="message_greet" value="Seja bem vindo |PLAYERNAME|, estaria interessado em adquirir uma {premium}?"/> <parameter key="message_walkaway" value="Cuide-se, |PLAYERNAME|."/> <parameter key="message_farewell" value="Tenha cuidado, |PLAYERNAME|."/> </parameters> </npc> E isso aqui você irá jogar dentro do arquivo .lua que você irá criar. local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid -- Conversa Jogador/NPC if(msgcontains(msg, 'valor')) then selfSay('Eu posso lhe dar 3 dias de premium por 100,000 gold coins.', cid) elseif(msgcontains(msg, 'premium') or msgcontains(msg, 'Premium')) then selfSay('Você gostaria de comprar 3 dias de premium?', cid) talkState[talkUser] = 1 -- Confirmação da Compra elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(doPlayerRemoveItem(cid, 2160, 10) == true) then selfSay('Muito bem! Aproveite!', cid) doPlayerAddPremiumDays(cid, 3) talkState[talkUser] = 0 elseif(doPlayerRemoveItem(cid, 2152, 1000) == true) then selfSay('Muito bem! Aproveite!', cid) doPlayerAddPremiumDays(cid, 3) talkState[talkUser] = 0 elseif(doPlayerRemoveItem(cid, 2148, 100000) == true) then selfSay('Muito bem! Aproveite!', cid) doPlayerAddPremiumDays(cid, 3) talkState[talkUser] = 0 else selfSay('Desculpe, você não tem o {valor} necessário parar comprar uma premium.', cid) talkState[talkUser] = 0 end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Agora vamos as explicações.. Esse código em si eu peguei aqui no próprio TK de um outro usuário não me recordo qual pois fechei a página .. então os créditos vão para ele.. se quiser se manifestar aqui na página, sinta-se livre Mas o código não fazia exatamente o que eu queria.. pois era necessário que o player tive-se APENAS crystal coins com ele.. caso ele tive-se o valor da premium em platinum coins ou gold que fosse, o NPC não aceitava.. então eu editei o NPC para checar se o jogador tem o valor necessário em qualquer um dos 3 tipos de dinheiro (crystal/platinum/gold) Agora.. isso é um script tão simples.. mas porque se preocupar com algo assim? Depende do tipo de servidor que você está fazendo.. eu estou criando um OT voltando para o RPG, onde não será possivel trocar gold para platinum e talz.. quero fazer algo diferente.. e se o jogador esqueçer de trocar o dinheiro no banco por exemplo? Ele iria ter que andar um monte denovo para poder apenas trocar.. esse é o intuito do meu NPC, fazer com que problemas como esse não venham a aconteçer Fora isso.. eu adicionei uma fala de Bye para o nome (detesto a fala padrão deles) que pode ser editada, e uma fala para quando o player andar para longe do npc. No mais mesmo é só isso, algo simples.. pode ser inútil para muitos, ainda mais que hoje em dia ninguem se interessa em fazer um ot que venda premium pelo NPC ao invés do comando !buypremium.. mas se houver alguem que se interesse, espero que esse tópico seja de grande ajuda
-
[NPC] Tic Tac Toe
Nome: TIC TAC TOE GAME Autor: sailorv5 Servidor Testado: Original Tibia 9.80 - Cliente 9.80 Descrição e/ou Informações Adicionais: é um NPC inteligente capaz de jogar o jogo da velha (3 niveis, fácil, médio e pro) Scripts e Como Instalar: ver abaixo Como Instalar - Vá em data/npc, crie um arquivo .xml com o nome de GM tic tac e adicione isso - <?xml version="1.0"?> <npc name="Master of tic tac toe" script="data/npc/scripts/games/tictactoe.lua" access="9" lookdir="3"> <health now="1000000" max="1000000"/> <look type="266" head="0" body="0" legs="0" feet="0"/> </npc> Depois, ainda na pasta npc, vá na pasta scripts. Crie uma pasta chamada games. Dentro dela, crie um arquivo .lua com o nome de tictactoe e adicione isto - Agora na mesma pasta, crie um arquivo .lua com o nome de tictactoeVAR e adicione isto - Agora crie um arquivo .lua com nome de tictactoeFUNC e adicione isto - Agora crie outro arquivo .lua com o nome de tictactoeLVhard e adicione isto - Vídeo - Antes de dizerem "CADE OS CRÉDITOS?!", leiam o tópico.
-
Script De Natal :D
- [NPC] Papai Noel por Vocação
Olá abigos e abigas, fiz um script aqui meio atrasado para o natal rs, bom eu até que gostei espero que vocês achem algo útil para ele. Abra a pasta NPC crie um arquivo com nome papainoel.xml e adicione isso dentro: <?xml version="1.0"?> <npc name="Papai Noel" script="data/npc/scripts/papainoel.lua" walkinterval="1000" floorchange="0"> <health now="100" max="100"/> <look type="160" head="0" body="112" legs="93" feet="95"/> <parameters> <parameter key="message_greet" value="Ho-Ho! {|PLAYERNAME|}, para pegar seu presente basta voce falar {present druid}, {present sorcerer}, {present knight} ou {present paladin}!" /> </parameters> </npc> Depois abra a pasta NPC/scripts crie um arquivo com o nome papainoel.lua e adicione isso dentro: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local itemdruid = {{2160, 100}, {9778, 1}, {6512, 1}} -- itens que Elder Druid ira ganhar local itemsorcerer = {{2160, 100}, {8867, 1}, {6512, 1}} -- itens que Master Sorcerer ira ganhar local itemknight = {{2160, 100}, {2472, 1}, {6512, 1}} -- itens que Elite Knight ira ganhar local itempaladin = {{2160, 100}, {2500, 1}, {6512, 1}} -- itens que Royal Paladin ira ganhar local a = { level = 150, -- Level para falar com o Papai Noel storage = 72621, -- Não trocar } if msgcontains(msg, 'present druid') then if getPlayerStorageValue(cid,a.storage) == -1 then if getPlayerVocation(cid) == 6 then if getPlayerLevel(cid) >= a.level then selfSay('Ho-ho Feliz Natal '..getPlayerName(cid)..', você recebeu seus itens de {Druid}!', cid) for _, b in pairs(itemdruid) do doPlayerAddItem(cid, b[1], b[2]) doSendMagicEffect(getPlayerPosition(cid), 28) setPlayerStorageValue(cid,a.storage,1) end else doSendMagicEffect(getPlayerPosition(cid), 2) selfSay('{'..getPlayerName(cid)..'} você precisa ser level {'..a.level..'} para receber sua recompensa, faltam apenas {'..a.level - getPlayerLevel(cid)..'}. Ho-ho!', cid) end else selfSay('Voce não é {Elder Druid} '..getPlayerName(cid)..'!', cid) end else selfSay('{'..getPlayerName(cid)..'} voce ja pegou seu presente!', cid) end end if msgcontains(msg, 'present sorcerer') then if getPlayerStorageValue(cid,a.storage) == -1 then if getPlayerVocation(cid) == 5 then if getPlayerLevel(cid) >= a.level then selfSay('Ho-ho Feliz Natal '..getPlayerName(cid)..', você recebeu seus itens de {Sorcerer}!', cid) for _, b in pairs(itemsorcerer) do doPlayerAddItem(cid, b[1], b[2]) doSendMagicEffect(getPlayerPosition(cid), 28) setPlayerStorageValue(cid,a.storage,1) end else doSendMagicEffect(getPlayerPosition(cid), 2) selfSay('{'..getPlayerName(cid)..'} você precisa ser level {'..a.level..'} para receber sua recompensa, faltam apenas {'..a.level - getPlayerLevel(cid)..'}. Ho-ho!', cid) end else selfSay('Voce não é {Master Sorcerer} '..getPlayerName(cid)..'!', cid) end else selfSay('{'..getPlayerName(cid)..'} voce ja pegou seu presente!', cid) end end if msgcontains(msg, 'present knight') then if getPlayerStorageValue(cid,a.storage) == -1 then if getPlayerVocation(cid) == 8 then if getPlayerLevel(cid) >= a.level then selfSay('Ho-ho Feliz Natal '..getPlayerName(cid)..', você recebeu seus itens de {Knight}!', cid) for _, b in pairs(itemknight) do doPlayerAddItem(cid, b[1], b[2]) doSendMagicEffect(getPlayerPosition(cid), 28) setPlayerStorageValue(cid,a.storage,1) end else doSendMagicEffect(getPlayerPosition(cid), 2) selfSay('{'..getPlayerName(cid)..'} você precisa ser level {'..a.level..'} para receber sua recompensa, faltam apenas {'..a.level - getPlayerLevel(cid)..'}. Ho-ho!', cid) end else selfSay('Voce não é {Elite Knight} '..getPlayerName(cid)..'!', cid) end else selfSay('{'..getPlayerName(cid)..'} voce ja pegou seu presente!', cid) end end if msgcontains(msg, 'present paladin') then if getPlayerStorageValue(cid,a.storage) == -1 then if getPlayerVocation(cid) == 7 then if getPlayerLevel(cid) >= a.level then selfSay('Ho-ho Feliz Natal '..getPlayerName(cid)..', você recebeu seus itens de {Paladin}!', cid) for _, b in pairs(itempaladin) do doPlayerAddItem(cid, b[1], b[2]) doSendMagicEffect(getPlayerPosition(cid), 28) setPlayerStorageValue(cid,a.storage,1) end else doSendMagicEffect(getPlayerPosition(cid), 2) selfSay('{'..getPlayerName(cid)..'} você precisa ser level {'..a.level..'} para receber sua recompensa, faltam apenas {'..a.level - getPlayerLevel(cid)..'}. Ho-ho!', cid) end else selfSay('Voce não é {Royal Paladin} '..getPlayerName(cid)..'!', cid) end else selfSay('{'..getPlayerName(cid)..'} voce ja pegou seu presente!', cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Informações: - O npc verificar a vocação do player e adiciona itens conforme sua vocação. - O level minimo para se usar o NPC é 150 - Só pode pegar o presente uma vez - Itens e level minimo configurável. Imagens do NPC: Ao falar com o npc: NPC verificando que o player pediu o presente que não é da sua vocação: NPC verificando que o player não tem o level minimo para pegar o presente e informando quantos leveis faltam para o player poder pegar o presente: Mensagem ao receber o presente: NPC informando que o player já pegou o presente: Créditos: Markin- Mostro com aparencia de item(ajuda)
- [Tutor Automático] em PopUP
Fala galerinha do TK tranquilidade? Hoje trago a vocês um sistema de npc TUTOR Automático. WTF IS IT? Nada melhor que um vídeo explicativo que fiz exclusivamente pra vocês do Tibiaking, (ASSISTA PARA ENTENDER E INSTALAR) segue: Pós assistir o vídeo, na sua pasta principal do servidor crie um arquivo .txt com o nome de comand e adicione o seguinte dentro do mesmo: Saiba meus 10 Mandamentos, AHUA BAHIA EH NOIX! 1 - Viva para descansar. 2 - Ame a sua cama, ela é o seu templo. 3 - Se ver alguém descansando, ajude-o. 4 - Descanse de dia para poder dormir à noite. 5 - O trabalho é sagrado, não toque nele. 6 - Nunca faça amanhã, o que você pode fazer depois de amanhã. 7 - Trabalhe o menos possível; o que tiver para ser feito, deixe que outra pessoa faça. 8 - Calma, nunca ninguém morreu por descansar, mas você pode se machucar trabalhando... 9 - Quando sentir desejo de trabalhar, sente-se e espere que ele passe. 10 - Não se esqueça, trabalho é saúde. Deixe o seu para os doentes. Depois, crie um arquivo com o nome Baiano.xml e coloque dentro da pasta data/npc com o seguinte conteúdo: <?xml version="1.0" encoding="UTF-8"?> <npc name="Baiano" script="data/npc/scripts/info2.lua" walkinterval="0" speed="0" floorchange="0"> <health now="100" max="100"/> <look typeex="3840"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME| diga {10 mandamentos} e me deixa descansar, vlw meu rei!"/> <parameter key="message_farewell" value="Vlw meu rei visite www.tibiaking.com o maior forum de open tibia do Brasil"/> <parameter key="message_walkaway" value="Vlw meu rei visite www.tibiaking.com o maior forum de open tibia do Brasil" /> </parameters> </npc> Para finalizar, crie um arquivo com o nome de info2.lua e coloque na pasta data/npc/scripts com o conteúdo: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, "10 mandamentos") then file = io.open('comand.txt','r') notice = file:read(-1) doPlayerPopupFYI(cid, notice) file:close() end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Lembrando que diz como base um NPC Baiano apenas para exemplo, que fique claro que não tenho nada contra baianos e adoro essa bahia linda *-*, FOI IDEIA DO DANIIIIIIIIIIIIIIIIIIIII! AUEHAUE ZOAS! Qualquer dúvida peço que poste ou me comunique, será um prazer ajuda-lo. Até o próximo script =) Créditos: Absolute Daaniel Emerson- NPC de Vende Itens de Addon - [10.41]
NPC de Vende Itens de Addon Patch v1.0 AVISO: Esse projeto meu é para eu sempre está atualizando o NPC quando sair coisa novas e atualiza aqui no tropico sempre ele atualizado. <?xml version="1.0" encoding="UTF-8"?> <npc name="Bulma" script="default.lua" walkinterval="2000" speed="100" walkradius="4" floorchange="0"> <health max="100" now="100"/> <look type="131" head="113" body="57" legs="95" feet="113" addons="3" mount="0"/> <parameters> <!--MESSAGES--> <parameter key="message_greet" value="Oi |PLAYERNAME|, Eu posso vender alguns items necessarios para seus addons, diga-me {trade} para ver o que eu posso lhe vender."/> <parameter key="message_farewell" value="Good bye, |PLAYERNAME|."/> <parameter key="message_buy" value="Do you want to buy |ITEMCOUNT| |ITEMNAME| for |TOTALCOST| gold coins?"/> <parameter key="message_onbuy" value="Here you are."/> <parameter key="message_bought" value="Bought |ITEMCOUNT|x |ITEMNAME| for |TOTALCOST| gold."/> <parameter key="message_sell" value="Do you want to sell |ITEMCOUNT| |ITEMNAME| for |TOTALCOST| gold coins?"/> <parameter key="message_onsell" value="Here you are, |TOTALCOST| gold."/> <parameter key="message_sold" value="Sold |ITEMCOUNT|x |ITEMNAME| for |TOTALCOST| gold."/> <parameter key="message_missingmoney" value="You don't have enough money."/> <parameter key="message_needmoney" value="You don't have enough money."/> <parameter key="message_missingitem" value="You don't have so many."/> <parameter key="message_needitem" value="You do not have this object."/> <parameter key="message_needspace" value="You do not have enough capacity."/> <parameter key="message_needmorespace" value="You do not have enough capacity for all items."/> <parameter key="message_idletimeout" value="Good bye."/> <parameter key="message_decline" value="Then not."/> <parameter key="message_sendtrade" value="Of course, just browse through my wares."/> <parameter key="message_noshop" value="Sorry, I'm not offering anything."/> <parameter key="message_oncloseshop" value="Thank you, come back whenever you're in need of something else."/> <parameter key="message_alreadyfocused" value="|PLAYERNAME|, I am already talking to you."/> <parameter key="message_walkaway_male" value="Good bye."/> <parameter key="message_walkaway_female" value="Good bye."/> <!--SHOP--> <parameter key="module_shop" value="1"/> <parameter key="shop_buyable" value="ankh,2193,5000;ape fur,5883,500;banana staff,3966,2000;bat wing,5894,200;bear paw,5896,3000;behemoth claw,5930,10000;blue piece of cloth,5912,5000;bonelord eye,5898,3000;brown piece of cloth,5913,1000;Brutus Bloodbeard's hat,6099,50000;chicken feather,5890,400;Deadeye Devious' eye patch,6102,70000;demonic essence,6500,900;dragon claw,5919,100000;dream warden claw,22609,5000000;dream warden mask,22610,7000000;dubious piece of cloth,13541,100000;elemental spikes,13940,30000000;enchanted chicken wing,5891,20000;eye patch,6098,1000;Ferumbras' hat,5903,50000000;fish fin,5895,2000;green piece of cloth,5910,200;hardened bone,5925,70;heaven blossom,5921,250;holy orchid,5922,400;honeycomb,5902,40;hook,6097,600;huge chunk of crude iron,5892,15000;iron ore,5880,500;legion helmet,2480,22;lizard leather,5876,150;lizard scale,5881,120;ludicrous piece of cloth,13544,5000;luminous piece of cloth,13545,5000;magic sulphur,5904,8000;mandrake,5015,30000;minotaur leather,5878,80;nose ring,5804,40000;obvious piece of cloth,13543,5000;ominous piece of cloth,13540,5000;peg leg,6126,600;perfect behemoth fang,5893,500;piece of draconian steel,5889,4000;piece of hell steel,5888,1000;piece of royal steel,5887,10000;pirate voodoo doll,5810,500;plague bell,13926,10000;plague mask,13925,2000;red dragon leather,5948,300;red dragon scale,5882,200;red piece of cloth,5911,300;Ron the Ripper's sabre,6101,90000;shard,7290,2000;slime mould,13758,5000;sniper gloves,5875,2000;soul stone,5809,250000;spider silk,5879,4000;spirit container,5884,40000;spool of yarn,5886,50000;the Lethal Lissy's shirt,6100,30000;tribal mask,3967,250;turtle shell,5899,200;voluminous piece of cloth,13542,5000;white piece of cloth,5909,500;wolf paw,5897,70;yellow piece of cloth,5914,150;mage's cap,13756,10000000"/> </parameters> </npc> CREDITO do Sistema: Elime's NPC Editor REPORTE BUG's Agradeço a Todo que viu o Tropico Que DEUS TE ABENÇOE- NPC Reborn
Olá galera do TK, venho trazer para vocês uma script bem utilizada em WODBO's, porem essa é pra 8.54. Função da script: Reseta o level, da 20.000 de [life|mana] e uma nova vocação. Vá ate data/npc copie um arquivo .xml e de um novo nome(Reborn.xml) e cole isso: <npc name="Reborn Man" script="data/npc/scripts/reborn.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="100" max="100"/> <look type="118" head="57" body="59" legs="40" feet="76" addons="3"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. Reborn!" /> </parameters> </npc> Depois va ate data/npc/scripts copie um arquivo.lua e de um novo nome: (Reborn.lua) local focus = 0 local talk_start = 0 local target = 0 local following = false local attacking = false function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('?????.') focus = 0 talk_start = 0 end 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 selfSay('Hello. If you ready I can "Reborn" you.') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Desculpe, ' .. getCreatureName(cid) .. '! Hey!.') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'reborn') and getPlayerStorageValue(cid,30023) == 1 then selfSay('Sorry, but you are after reborn.') focus = 0 talk_start = 0 elseif msgcontains(msg, 'reborn') and getPlayerLevel(cid) < 300 and getPlayerStorageValue(cid,30023) ~= -1 then selfSay('Hehe, I say If you READY. You do not have 300 lvl.') elseif msgcontains(msg, 'reborn') then selfSay('Are you sure?') talk_state = 2 elseif msgcontains(msg, 'yes') and talk_state == 2 and getPlayerLevel(cid) >= 300 and getPlayerVocation(cid) == 49 then setPlayerStorageValue(cid,30023,1) doReborn(cid, 1, 42, 82) talk_state = 0 elseif msgcontains(msg, 'yes') and talk_state == 2 then selfSay('Sorry, ' .. getCreatureName(cid) .. '! You must have got last transform.') elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Good bye.') focus = 0 talk_start = 0 end end end function onThink() doNpcSetCreatureFocus(focus) if (os.clock() - talk_start) > 45 then if focus > 0 then selfSay('Next Please...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Good bye then.') focus = 0 end end end Para configurar a vocação atual, a vocação que vai dar reborn e a nova outfit é nessa tag: elseif msgcontains(msg, 'yes') and talk_state == 2 and getPlayerLevel(cid) >= 300 and getPlayerVocation(cid) == 49 then setPlayerStorageValue(cid,30023,1) doReborn(cid, 1, 42, 82) talk_state = 0 Adicionem isso na pasta lib/050-function pra funcionar a tag doReborn function doReborn(cid, level, looktype, vocation) db.executeQuery("UPDATE `players` SET `level` = " .. level .. " WHERE `id` = " .. getGlobalStorageValue(1000) .. ";") db.executeQuery("UPDATE `players` SET `looktype` = " .. looktype .. " WHERE `id` = " .. getGlobalStorageValue(1000) .. ";") db.executeQuery("UPDATE `players` SET `vocation` = " .. vocation .. " WHERE `id` = " .. getGlobalStorageValue(1000) .. ";") doRemoveCreature(cid) return TRUE Até a proxima galera. Creditos: DBWarrior - [NPC] Papai Noel por Vocação
Informação Importante
Confirmação de Termo