Npc Que Vende Addons De Monstros.

Felipefox34
em Scripts

Felipefox34

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/01/12Posts: 11Char no Tibia: Cadeachinela

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+.

pokemontibia0jd.gif

jhon992

Dono JhonBot
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/06/11Posts: 631Char no Tibia: Warrior of Mort

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.

Felipefox34

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/01/12Posts: 11Char no Tibia: Cadeachinela

eu ponho o npc no mapa pelo map editor mais ele n aparece.

pokemontibia0jd.gif

Beeki

Ex-Coordenador XDev
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 12/03/11Posts: 1900Gênero: MasculinoChar no Tibia: Nokte

você colocou o npc em um local que ja tem Spawn ?

Fabio Augustus - Infraestrutura

Skype: guhsvasc

jhon992

Dono JhonBot
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/06/11Posts: 631Char no Tibia: Warrior of Mort

Felipefox34

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/01/12Posts: 11Char no Tibia: Cadeachinela

Ja tentei nao da serto aparece que o npc nao existe.

[04/04/2012 13:09:49] luaDoCreateNpc(). Npc name(Monsterout Seller) not found

pokemontibia0jd.gif

jhon992

Dono JhonBot
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/06/11Posts: 631Char no Tibia: Warrior of Mort

Felipefox34

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/01/12Posts: 11Char no Tibia: Cadeachinela

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+

pokemontibia0jd.gif

HisashiitYamaguti

O Cortiço - Aluísio Azevedo.
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 17/07/11Posts: 705

Tópico movido para Pedidos Atendidos.

hisashi.png