BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

[Editar] Npc

[Editar] Npc

#1 [Editar] Npc el Miér Jul 30, 2014 8:22 pm

TheFenix


Miembro
Hola Que tal.
Bueno tengo un script de Sheenita, disculpa si lo e escrito mal, Me gustaría que me ayudaran a editar este npc:

Código:
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

npcHandler:setMessage(MESSAGE_GREET, "Hola |PLAYERNAME|. Yo vendo Items de Donador Solo dejame mostrarte la {Lista} y dime que necesitas.")

function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end

-- LISTA ITEMS
if(msgcontains(msg, 'list')) then
doShowTextDialog(cid, 1968, "Objetos de Donador\n\n[15 points] Boots\n[15 points] Boots of haste")
end

local sheenita_items = {
      -- CONFIG = NAME, ID, POINTS
      ["Boots"] = {5462, 15},
      ["boots of haste"] = {2195, 15},
      }

-- NO MOVER NADA
for text_sheenita, x in pairs(sheenita_items) do
      if (msgcontains(msg, text_sheenita)) then
        if getPremiumPoints(cid) < x[2] then
            selfSay("Disculpa, Tu necesitas ".. x[2] .." Puntos de Donador para comprar ".. getItemNameById(x[1])..".", cid)
        else
              doRemovePoints(cid, x[2])
                  doPlayerAddItem(cid,x[1])
                            doPlayerSave(cid)
            selfSay("As comprado ".. getItemNameById(x[1]) .." por ".. x[2] .." Puntos de Donador, Gracias Por donar!", cid)
        end
      end
  end

return true
end

npcHandler:setCallback(CALLBACK_GREET, greetCallback)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Bueno La cosa es que tienes que hablar con el npc´s y decirle "lista", hay muestra una lista de objetos, y le decimos al npc´s el items que necesitamos o queramos comprar...

Bueno a mi me gustaría que en vez de mostrar la lista apareciera algo como "el mercado" :
ejemplo, algo así :
[Tienes que estar registrado y conectado para ver esa imagen]

Bueno si alguien puede ayudarme, Gracias >.<

#2 Re: [Editar] Npc el Jue Jul 31, 2014 5:47 pm

TheFenix


Miembro
@up >-<

#3 Re: [Editar] Npc el Jue Jul 31, 2014 6:03 pm

Muzstang


Scripter
El problema es que seguira saliendo gold coins en el trade es por eso que lo hice de ese modo.

Igual aqui te lo dejo, tiene las mismas funciones que el otro script.
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
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
local shopWindow = {}
local t = {
      [2195] = {price = 15},
      [2493] = {price = 25},
      [2361] = {price = 30},
      [8851] = {price = 20},
      [8925] = {price = 30},
      [2640] = {price = 50},
      [2494] = {price = 100},
      [9932] = {price = 50},
      [2472] = {price = 70},
      [8931] = {price = 48}
      }
local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
    if t[item] and getPremiumPoints(cid) < t[item].price then
        selfSay("You dont have "..t[item].price.." points", cid)
        else
        doPlayerAddItem(cid, item)
        doRemovePoints(cid, t[item].price)
        selfSay("Here is you item!", cid)
      end
    return true
end
if (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))then
            for var, ret in pairs(t) do
                    table.insert(shopWindow, {id = var, subType = 0, buy = ret.price, sell = 0, name = getItemNameById(var)})
                end
            openShopWindow(cid, shopWindow, onBuy, onSell)
        end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

#4 Re: [Editar] Npc el Jue Jul 31, 2014 6:13 pm

TheFenix


Miembro
>.< Gracias, lastima que se necesite dinero a parte de los points ...


problema solucionado MeGusta >.<

Gracias Sheenita

#5 Re: [Editar] Npc Hoy a las 11:21 am

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 .