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.
