Jump to content
Close

Bolletox

Member
  • Content Count

    12
  • Joined

  • Last visited

  • Days Won

    1

Bolletox last won the day on January 26

Bolletox had the most liked content!

About Bolletox

  • Rank
    Baker

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Opa.. Xml do Npc: <?xml version="1.0"?> <npc name="Miner" script="data/npc/scripts/mining.lua" walkinterval="50000" floorchange="0"> <health now="1000" max="1000"/> <look type="130" head="0" body="10" legs="10" feet="0" addons="0"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|, eu vendo a {pick} para minerar e também compro os {itens} minerados"/> </parameters> </npc> Script do Npc: OBS: Para adicionar mais itens segue o exemplo. (Tem que estar na mesma ordem nas 2 tabelas!) --------CONFIG---------# local goldID = 2148 -- ID do gold local pickID = 2553 -- ID da pick local pick_value = 10 -- Preço da pick local itens = { --[NOME DO ITEM] = QUANTIDADE-- ["Skull"] = 100, ["Diamond"] = 100, ["Gold Nugget"] = 50, ["Worm"] = 30, } local cost_Item = { --[VALOR DO ITEM] = ID DO ITEM [1] = 2229, -- Skull [2] = 2145, -- Diamond [10] = 2157, -- Gold Nugget [3] = 2884, --Worm }
  2. @BilauX Por exemplo se eu tiver com a vocação super e falar com o ultimo que seria o supreme entao vai dar esse erro de callback mais se for em ordem nao vai dar erro. Eu coloquei storages pra parar esse erro
  3. @BilauX Que estranho no meu ta pegando normal, tipo voce tem que ir em ordem na fala com os npc's ex : falar primeiro com super, hyper... se não vai dar esse erro mesmo. Ultima tentativa substitua o seu vocations.xml pelo meu pra ver se vai funciona, crie os 5 npc's e teste
  4. @BilauX Tenta esse <?xml version="1.0" encoding="UTF-8"?> <vocations> <vocation id="0" name="None" description="none" needpremium="0" gaincap="10" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="1" manamultiplier="4.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="0" attackable="no"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="1" name="Sorcerer" description="a sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="3" gainhpamount="50" gainmanaticks="3" gainmanaamount="70" manamultiplier="1.1" attackspeed="150" soulmax="100" gainsoulticks="120" fromvoc="1"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="2" name="Druid" description="a druid" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="3" gainhpamount="50" gainmanaticks="3" gainmanaamount="70" manamultiplier="1.1" attackspeed="150" soulmax="100" gainsoulticks="120" fromvoc="2"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="3" name="Paladin" description="a paladin" needpremium="0" gaincap="10" gainhp="10" gainmana="15" gainhpticks="3" gainhpamount="60" gainmanaticks="3" gainmanaamount="60" manamultiplier="1.4" attackspeed="150" soulmax="100" gainsoulticks="120" fromvoc="3"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="4" name="Knight" description="a knight" needpremium="0" gaincap="10" gainhp="15" gainmana="5" gainhpticks="3" gainhpamount="70" gainmanaticks="3" gainmanaamount="50" manamultiplier="3.0" attackspeed="150" soulmax="100" gainsoulticks="120" fromvoc="4"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.3" club="1.3" sword="1.3" axe="1.3" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="5" name="Master Sorcerer" description="a master sorcerer" needpremium="1" gaincap="10" gainhp="5" gainmana="33" gainhpticks="3" gainhpamount="150" gainmanaticks="2" gainmanaamount="277" manamultiplier="1.1" attackspeed="150" soulmax="200" gainsoulticks="15" fromvoc="1" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="6" name="Elder Druid" description="an elder druid" needpremium="1" gaincap="10" gainhp="5" gainmana="33" gainhpticks="3" gainhpamount="150" gainmanaticks="2" gainmanaamount="277" manamultiplier="1.1" attackspeed="150" soulmax="200" gainsoulticks="15" fromvoc="2" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="7" name="Royal Paladin" description="a royal paladin" needpremium="1" gaincap="10" gainhp="15" gainmana="15" gainhpticks="2" gainhpamount="250" gainmanaticks="2" gainmanaamount="250" manamultiplier="1.4" attackspeed="150" soulmax="200" gainsoulticks="15" fromvoc="3" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="8" name="Elite Knight" description="an elite knight" needpremium="1" gaincap="10" gainhp="20" gainmana="5" gainhpticks="2" gainhpamount="245" gainmanaticks="2" gainmanaamount="200" manamultiplier="3.0" attackspeed="150" soulmax="210" gainsoulticks="15" fromvoc="4" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="9" name="Super Sorcerer" description="a super sorcerer" needpremium="1" gaincap="10" gainhp="7" gainmana="38" gainhpticks="3" gainhpamount="180" gainmanaticks="2" gainmanaamount="295" manamultiplier="1.2" attackspeed="245" soulmax="210" gainsoulticks="18" fromvoc="9" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="10" name="Super Druid" description="an super druid" needpremium="1" gaincap="10" gainhp="7" gainmana="38" gainhpticks="3" gainhpamount="180" gainmanaticks="2" gainmanaamount="295" manamultiplier="1.2" attackspeed="245" soulmax="210" gainsoulticks="18" fromvoc="10" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="11" name="Super Paladin" description="an super paladin" needpremium="1" gaincap="10" gainhp="20" gainmana="20" gainhpticks="2" gainhpamount="270" gainmanaticks="2" gainmanaamount="265" manamultiplier="1.4" attackspeed="1000" soulmax="210" gainsoulticks="18" fromvoc="11" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.2" shielding="1.2" fishing="1.1" experience="1.0"/> </vocation> <vocation id="12" name="Super Knight" description="a super knight" needpremium="1" gaincap="10" gainhp="22" gainmana="8" gainhpticks="2" gainhpamount="260" gainmanaticks="2" gainmanaamount="210" manamultiplier="3.0" attackspeed="200" soulmax="210" gainsoulticks="18" fromvoc="12" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> </vocations>
  5. @BilauX Manda seu vocations.xml pra eu dar uma olhada
  6. @BilauX Substitua o que esta no arquivo vocations.lua por esse: 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 changeVocation(cid) if getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 9 or getPlayerVocation(cid) == 13 or getPlayerVocation(cid) == 17 or getPlayerVocation(cid) == 21 or getPlayerVocation(cid) == 25 then return "Sorcerer" end if getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 10 or getPlayerVocation(cid) == 14 or getPlayerVocation(cid) == 18 or getPlayerVocation(cid) == 22 or getPlayerVocation(cid) == 26 then return "Druid" end if getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 11 or getPlayerVocation(cid) == 15 or getPlayerVocation(cid) == 19 or getPlayerVocation(cid) == 23 or getPlayerVocation(cid) == 27 then return "Paladin" end if getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 12 or getPlayerVocation(cid) == 16 or getPlayerVocation(cid) == 20 or getPlayerVocation(cid) == 24 or getPlayerVocation(cid) == 28 then return "Knight" end end local vocStage1 = { --[ID DA VOCATION ATUAL DO PLAYER] = {prom = ID DA VOCACAO QUE O PLAYER VAI GANHAR} --EX: [99] = {promo = 102} [1] = {prom = 9}, [2] = {prom = 10}, [3] = {prom = 11}, [4] = {prom = 12}, } local vocStage2 = { [9] = {prom = 13}, [10] = {prom = 14}, [11] = {prom = 15}, [12] = {prom = 16}, } local vocStage3 = { [13] = {prom = 17}, [14] = {prom = 18}, [15] = {prom = 19}, [16] = {prom = 20}, } local vocStage4 = { [17] = {prom = 21}, [18] = {prom = 22}, [19] = {prom = 23}, [20] = {prom = 24}, } local vocStage5 = { [21] = {prom = 25}, [22] = {prom = 26}, [23] = {prom = 27}, [24] = {prom = 28} } function vocationStage1(cid, message, keywords, parameters, node) if vocStage1[getPlayerVocation(cid)] ~= vocStage1[getPlayerVocation(cid)].prom then doPlayerSetVocation(cid, vocStage1[getPlayerVocation(cid)].prom) selfSay("Voce foi promovido para a classe Super de Promotion!", cid) doBroadcastMessage("O player "..getCreatureName(cid).." foi promovido para Super " ..changeVocation(cid), MESSAGE_INFO_DESCR) doSendMagicEffect(getThingPos(cid), CONST_ME_SOUND_GREEN) end end function vocationStage2(cid, message, keywords, parameters, node) if vocStage2[getPlayerVocation(cid)] ~= vocStage2[getPlayerVocation(cid)].prom then doPlayerSetVocation(cid, vocStage2[getPlayerVocation(cid)].prom) selfSay("Voce foi promovido para a classe Hyper de Promotion!", cid) doBroadcastMessage("O player "..getCreatureName(cid).." foi promovido para Hyper " ..changeVocation(cid), MESSAGE_INFO_DESCR) doSendMagicEffect(getThingPos(cid), CONST_ME_SOUND_GREEN) end end function vocationStage3(cid, message, keywords, parameters, node) if vocStage3[getPlayerVocation(cid)] ~= vocStage3[getPlayerVocation(cid)].prom then doPlayerSetVocation(cid, vocStage3[getPlayerVocation(cid)].prom) selfSay("Voce foi promovido para a classe Stronger de Promotion!", cid) doBroadcastMessage("O player "..getCreatureName(cid).." foi promovido para Stronger " ..changeVocation(cid), MESSAGE_INFO_DESCR) doSendMagicEffect(getThingPos(cid), CONST_ME_SOUND_GREEN) end end function vocationStage4(cid, message, keywords, parameters, node) if vocStage4[getPlayerVocation(cid)] ~= vocStage4[getPlayerVocation(cid)].prom then doPlayerSetVocation(cid, vocStage4[getPlayerVocation(cid)].prom) selfSay("Voce foi promovido para a classe OverPower de Promotion!", cid) doBroadcastMessage("O player "..getCreatureName(cid).." foi promovido para OverPower " ..changeVocation(cid), MESSAGE_INFO_DESCR) doSendMagicEffect(getThingPos(cid), CONST_ME_SOUND_GREEN) end end function vocationStage5(cid, message, keywords, parameters, node) if vocStage5[getPlayerVocation(cid)] ~= vocStage5[getPlayerVocation(cid)].prom then doPlayerSetVocation(cid, vocStage5[getPlayerVocation(cid)].prom) selfSay("Voce foi promovido para a classe Supreme de Promotion!", cid) doBroadcastMessage("O player "..getCreatureName(cid).." foi promovido para Supreme "..changeVocation(cid), MESSAGE_INFO_DESCR) doSendMagicEffect(getThingPos(cid), CONST_ME_SOUND_GREEN) end end local node1 = keywordHandler:addKeyword({'super promote'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer ser promovido para as vocacoes Supers?'}) node1:addChildKeyword({'yes'}, vocationStage1, {npcHandler = npcHandler, onlyFocus = true, reset = true}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Good Bye.', reset = true}) local node2 = keywordHandler:addKeyword({'hyper promote'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer ser promovido para as vocacoes Hypers?'}) node2:addChildKeyword({'yes'}, vocationStage2, {npcHandler = npcHandler, onlyFocus = true, reset = true}) node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Good Bye.', reset = true}) local node3 = keywordHandler:addKeyword({'stronger promote'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer ser promovido para as vocacoes Strongers?'}) node3:addChildKeyword({'yes'}, vocationStage3, {npcHandler = npcHandler, onlyFocus = true, reset = true}) node3:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Good Bye.', reset = true}) local node4 = keywordHandler:addKeyword({'overpower promote'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer ser promovido para as vocacoes OverPowers?'}) node4:addChildKeyword({'yes'}, vocationStage4, {npcHandler = npcHandler, onlyFocus = true, reset = true}) node4:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Good Bye.', reset = true}) local node5 = keywordHandler:addKeyword({'supreme promote'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer ser promovido para as vocacoes Supremes?'}) node5:addChildKeyword({'yes'}, vocationStage5, {npcHandler = npcHandler, onlyFocus = true, reset = true}) node5:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Good Bye.', reset = true}) npcHandler:addModule(FocusModule:new())
  7. @BilauX Vamos lá: 1° Passo: Vá na pasta data/npc e crie os 5 npcs: EX do npc que vai dar a Promotion Super Explicação: Em Verde vai ser o Nome do Npc. Em Azul vai ser a palavra-chave que o player vai ter que dizer (Se voce alterar aqui terá que alterar no Script lá). 2° Passo: Depois de Criado os 5 NPC's vá para a pasta data/XML e abra o vocations.xml: Aqui voce tera que criar as 5 promotions vou deixar um exemplo. Explicando: Em Roxo será os ID's das vocações em ordem crescente. Veja qual é o ID da ultima vocação do seu server e vá seguindo em ordem (1,2,3,4,5,6,7,8..). Em Vermelho você coloca o mesmo ID da vocação. Ex O Super Paladin tem o ID 11 então o fromvoc será o ID 11 também. Em Laranja será o nome que ira aparecer quando o player der Look. O resto é meio que auto explicativo o que faz. Se nao souber da uma pesquisada no forum. 3° Passo Depois de criar os NPC's e as vocações vai na pasta data/npc/scripts e crie um arquivo chamado vocations.lua e cole isso dentro. Explicando: [ID DA VOCATION ATUAL DO PLAYER] = {prom = ID DA VOCACAO QUE O PLAYER VAI GANHAR} Em Verde serão os ID da Vocação ATUAL que o Player. Ex: O player é Druid então será o ID 2, veja no XML vocations. (Eu deixei com a vocação normal 1-Sorcerer, 2-Druid,3- Paladin, 4-Knight). Em Azul é o ID da Vocação que o Player irá ganhar. Em Vermelho é aquela palavra-chave de quando foi criado os NPC's. (Se você mudou a palavra-chave quando criou o Npc então você terá que mudar aqui também, porque isso sera o que o player terá que dizer para ganhar a promotion).
  8. @damiaotorres function onUse(cid, item, fromPosition, itemEx, toPosition) local porcentagem = math.random(1, 10) local exhausted_seconds = 10 -- Segundos de exhausted local exhausted_storage = 74800 if(os.time() < getPlayerStorageValue(cid, exhausted_storage)) then doSendMagicEffect(fromPosition, CONST_ME_POFF) doPlayerSendCancel(cid, "You are exhausted".. exhausted_seconds .. " seconds") else doCreatureAddHealth(cid, getCreatureMaxHealth(cid) * (porcentagem / 10)) setPlayerStorageValue(cid, exhausted_storage, os.time() + exhausted_seconds) doSendAnimatedText(getThingPos(cid), "Pérola", 71) doSendMagicEffect(getCreaturePosition(cid), 29) doPlayerSendTextMessage(cid,19, porcentagem.."% do seu hp total foi healado!") doRemoveItem(item.uid, 1) end return true end
  9. @Jinx Nao sei se vai funcionar eu nao testei veja ai data/creaturevents/scripts/remove_vip.lua data/creatureevents/scripts/login.lua data/creatureevents/creaturescripts.xml
  10. @Neto340 Não garanto que vá funcionar pois eu testei em server 8.6. pos_teleport = { createPos = {x=165,y=67,z=7,stackpos=1}, -- posição aonde será criado o teleport toPos = {x=160,y=54,z=7} -- para onde vai levar o player } pos = { -- Posições da pedras, Pedra 1,2,3,4 --Adiciona outra pos ['exemplo_nome'] = {x=XXXXX,y=XXXXX,z=XXXXX} ['pedra1'] = {x=162,y=70,z=7}, ['pedra2'] = {x=164,y=70,z=7}, ['pedra3'] = {x=166,y=70,z=7}, ['pedra4'] = {x=168,y=70,z=7} } local stone_default = 1304 -- ID stone normal local stone_echanted = 1355 -- ID stone encantada local id_item_use = 7760 -- ID do item que vai ser usar (Enchanted Small Ruby) local count = 4 -- Quantidade de Enchanted Small Ruby local time = 3 -- Tempo para voltar as pedras e sumir o teleport local teleport = 1387 -- ID teleport function onUse(cid, item, fromPosition, itemEx, toPosition) if not isPlayer(cid) then return false end if itemEx.uid == 6454 and getPlayerItemCount(cid,id_item_use) >= count then doTransform() doPlayerRemoveItem(cid,id_item_use,count) end end function doTransform() for k,v in pairs(pos) do doTransformItem(getTileItemById(v, stone_default).uid,stone_echanted) end doCreateTeleport(teleport,pos_teleport.toPos,pos_teleport.createPos) addEvent(function() for k,v in pairs(pos) do doTransformItem(getTileItemById(v, stone_echanted).uid,stone_default) end doRemoveItem(getTileItemById(pos_teleport.createPos,teleport).uid,1) doSendMagicEffect(pos_teleport.createPos,10) end,1000 * time) end XML: <action itemid="7760" event="script" value="stones.lua"/> OBS: Coloque o UNIQUEID da pedra com o numero 6454 para que o script funcione!

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Create New...