BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

NPC Pedido.

NPC Pedido.

#1 NPC Pedido. el Vie Oct 04, 2013 10:37 pm

Amy Azzkaban


Miembro
Necesito un NPC que venda algunos items con actionid, y si es posible que en trade se vea con un nombre distinto.

Por ejemplo, si es un sabre, que diga algo distinto.

Me ayudan?

#2 Re: NPC Pedido. el Vie Oct 04, 2013 11:56 pm

Hadictox


Novato
Hace un tiempo estuve buscando que un npc me diera items con actionid y no lo consegui... lo solucione fue creando items con actionid, utilizando el mismo sprite... para eso tienes que editar el tibia.dat y añadir el item que quieres usar. no se si sepas hacerlo... necesitas q te explique?

#3 Re: NPC Pedido. el Sáb Oct 05, 2013 7:28 am

Strack


Scripter
not tested!

amy.xml
Código:

<?xml version="1.0"?>

<npc name="Amy" script="data/npc/scripts/amy.lua" walkinterval="0" access="5" lookdir="3">
    <mana now="800" max="800"/>
    <health now="200" max="200"/>
    <look type="404" head="114" body="114" legs="113" feet="114" addons="0"/>
   <parameters>
        <parameter key="message_greet" value="Hola |PLAYERNAME|. Dime {trade} para ver mis items." />
    </parameters>
</npc>
amy.lua
Código:

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 actionid = 5005

local itemWindow = {
   {id=2385, subType=0, buy=3000, sell=0, name="Sabre of The Legend"},
   {id=2376, subType=0, buy=3000, sell=0, name="Sword of Void"}
}

local items = {}
for _, item in ipairs(itemWindow) do
   items[item.id] = {buyPrice = item.buy, sellPrice = item.sell, subType = item.subType, realName = item.name}
end

local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
   if(items[item] == nil) then
      selfSay("Ehm.. lo siento... esto no deberia estar aqui. No esta a la venta!", cid)
      return
   end
   
   if getPlayerMoney(cid) < items[item].buyPrice then
      selfSay("You don't have enough money.", cid)
      return
   end
   
   doPlayerRemoveMoney(cid, items[item].buyPrice)
   local itemex = doCreateItem(item, 1 , getCreaturePosition(cid))
   doItemSetAttribute(itemex, "aid", actionid)
   doPlayerAddItemEx(cid, itemex)
   selfSay("Aquí tienes.", cid)   
   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') then
      openShopWindow(cid, itemWindow, onBuy, onSell)
      npcHandler:say("Esto es lo que vendo...", cid)
   end
return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Lo que tienes que editar del script es esto:
Código:

local actionid = 5005

local itemWindow = {
   {id=2385, subType=0, buy=3000, sell=0, name="Sabre of The Legend"},
   {id=2376, subType=0, buy=3000, sell=0, name="Sword of Void"}
}
en actionid le pones el action que tendran los items
y dentro de itemwindow, id = id del item (imagen que se verá en trade), buy = precio de compra, name = nombre que se verá en trade

#4 Re: NPC Pedido. el Sáb Oct 05, 2013 10:53 am

enrikito15


Miembro
olle @Strack Como Le aria en el script si quisiera otro item debes de dinero?

#5 Re: NPC Pedido. Hoy a las 8:47 pm

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.

 

¿Quién está en línea?

En total hay 0 usuarios en línea: 0 Registrados, 0 Ocultos y 0 Invitado

Usuarios navegando en este foro: Ninguno

Forum Statistics

Nuestros miembros han públicado un total de posts en temas.
Actualmente hay miembros registrados.
Démosle la bienvenida al miembro más reciente,
La mayor cantidad de usuarios en línea ha sido de .