Tipo do script: Slayer Yourots v11
Protocolo (versão do Tibia): 8.40
Servidor utilizado: The Forgotten Server
Nível de experiência:
Adicionais/Informações: quero um npc que venda addon de mostros.
Valendo Rep+.
Tipo do script: Slayer Yourots v11
Protocolo (versão do Tibia): 8.40
Servidor utilizado: The Forgotten Server
Nível de experiência:
Adicionais/Informações: quero um npc que venda addon de mostros.
Valendo Rep+.
Primeiro tens que ir em data/XML/outfits.xml e colar as tags dos novos outfits.
Exemplo:
<outfit id="25"> <list gender="0-3" lookType="159" name="Elf"/> </outfit> <outfit id="26"> <list gender="0-3" lookType="160" name="Dwarf"/> </outfit>
Explicando:
outfit id = você coloca o numero de identificação, veja o numero da ultima outfit id e coloque o proximo numero, obs: "não é o numero da outfit".
gender = male e female.
looktype = agora sim e o numero correspondente a outfit do monstro, vc pode descobrir looks diferentes usando o comando "/newtype numero".
name = nome que vai aparecer na hra de escolher a out.
Você ainda pode usar a tag apenas para premium usar o out, ficaria assim:
<outfit id="25" premium="yes">
Depois disso os players ja poderão escolher as outfits de monstros.
Agora as que você quiser que os player só possam usar depois de comprar no npc, use tags com tags diferentes, assim:
<outfit id="25" quest="40850"> <list gender="0-3" lookType="159" name="Elf"/> </outfit> <outfit id="26" quest="40851"> <list gender="0-3" lookType="160" name="Dwarf"/> </outfit>
Ou, apenas premium que comprarem no npc, basta adicionar a tag do premium.
Agora criando o npc, vai na pasta data/npc/ duplica um arquivo e nomeia para "Monsterout Seller" sem as aspas e nele cole:
<?xml version="1.0" encoding="UTF-8"?> <npc name="Monsterout Seller" script="outseller.lua" walkinterval="2000" floorchange="0"> <health now="999999" max="999999"/> <look type="12" corpse="2212"/> <!-- troque o looktype para o outfit que o npc vai estar --> <parameters> <parameter key="message_greet" value="Eu vendo {monster outfits}!."/> </parameters> </npc>
Agora em data/npc/scripts, duplica um arquivo e nomeia para "outseller" sem as aspas e nele cole:
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, 'monster outfits') then selfSay('I Sell outfit {Elf}, {Dwarf}. For 10k each.', cid) talkState[talkUser] = 2 elseif talkState[talkUser] == 2 then if msgcontains(msg, 'Elf') then if (doPlayerRemoveMoney(cid, 10000)) then -- preço que custara o out de elf doSendMagicEffect(getCreaturePosition(cid), 30) -- effect que o player recebera selfSay('Você recebeu o Elf Outfit.', cid) setPlayerStorageValue(cid, 40850) -- aqui você poem o nomero da quest que você setou no outfit.xml para o elf else selfSay('Você não possui dinheiro suficiente.', cid) end talkState[talkUser] = 3 elseif msgcontains(msg, 'Dwarf') then if (doPlayerRemoveMoney(cid, 10000)) then -- preço que custara o out de dwarf doSendMagicEffect(getCreaturePosition(cid), 30) -- effect que o player recebera selfSay('Você recebeu o Dwarf Outfit.', cid) setPlayerStorageValue(cid, 40851) -- aqui você poem o nomero da quest que você setou no outfit.xml para o elf else selfSay('Você não possui dinheiro suficiente.', cid) end talkState[talkUser] = 1 else selfSay('Não posso realizar comprar outfit monster.', cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Agora sóh adicionar o npc no mapa e testar! Fiz rapidinho então ficou meia boca, quando tiver mais tempo ageito o código para ficar mais facil.
Te ajudei. Então REP+
Meus Trabalhos:
O melhor pokebot!
eu ponho o npc no mapa pelo map editor mais ele n aparece.
você colocou o npc em um local que ja tem Spawn ?
Fabio Augustus - Infraestrutura
Skype: guhsvasc
sóh pra testar o script, com o gm fais o comando "/n Monsterout Seller" sem as aspas.
Te ajudei. Então REP+
Meus Trabalhos:
O melhor pokebot!
Ja tentei nao da serto aparece que o npc nao existe.
[04/04/2012 13:09:49] luaDoCreateNpc(). Npc name(Monsterout Seller) not found
Então fisese algo errado no arquivo Monsterout Seller.xml
Te ajudei. Então REP+
Meus Trabalhos:
O melhor pokebot!
Deu serto mudei
<outfit id="25" quest="40850">
<list gender="0-3" lookType="159" name="Elf"/>
</outfit>
<outfit id="26" quest="40851">
<list gender="0-3" lookype="160" name="Dwarf"/>
</outfit
mudei para um que ja tinha no meu meu ot Rep+
Tópico movido para Pedidos Atendidos.