• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    [NPC] Npc Trade windows Vip Item for item especial

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Hola usuarios de tibiaface


    Bueno muy simple este es un npc qe vende item por otro item en especial en el juego pero este npc te hace trade como cualquier otro npc en forma ordenada como ejemplo le mostraremos una imagen para que se den cuenta:


    [NPC] Npc Trade windows Vip Item for item especial Captur11


    Nos vamos a:

    Data/Npc/Scripts
    copiamos cualquier script y renombramos por shop.lua y pegamos esto dentro:

    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, price2 = 10}, -- [ITEMID TO SELL] = {Buy cost (0 = not buyable), sell cost (0 = not sellable)}
    [2493] = {price = 25, price2 = 0},
    [2361] = {price = 30, price2 = 0},
    [8851] = {price = 20, price2 = 0},
    [8925] = {price = 30, price2 = 0},
    [2640] = {price = 50, price2 = 0},
    [2494] = {price = 100, price2 = 0},
    [9932] = {price = 50, price2 = 0},
    [2472] = {price = 70, price2 = 0},
    [8931] = {price = 100, price2 = 0}
    }
    local TradeItem = 6527
    local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
    if getPlayerItemCount(cid, TradeItem) < t[item].price*amount then
    selfSay("You don't have enough christmas token.", cid)
    else
    doPlayerAddItem(cid, item, amount)
    doPlayerRemoveItem(cid, TradeItem, t[item].price*amount)
    doPlayerSendTextMessage(cid, 20, "You have bought " .. amount .. "x " .. getItemNameById(item) .. " for " .. t[item].price*amount .. " christmas token.")
    end
    return true
    end
    local onSell = function(cid, item, subType, amount)
    doPlayerRemoveItem(cid, item, amount)
    doPlayerAddItem(cid, TradeItem, t[item].price2*amount)
    doPlayerSendTextMessage(cid, 20, "You have sold " .. amount .. "x " .. getItemNameById(item) .. " for " .. t[item].price*amount .. " christmas token.")
    --selfSay("Here your are!", cid)
    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 = ret.price2, name = getItemNameById(var)})
    end
    openShopWindow(cid, shopWindow, onBuy, onSell) end
    return true
    end
    npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
    npcHandler:addModule(FocusModule:new())

    luego nos vamos a:

    Data/npc
    copiamos cualquier archivo y pegamos esto:

    Código:
    <?xml version="1.0" encoding="UTF-8"?>
    <npc name="Shop" nameDescription="Shop, vip vendedor" script="shop.lua" walkinterval="2000" floorchange="0" skull="green">
       <health now="100" max="100"/>
       <look type="130" head="39" body="122" legs="125" feet="57" addons="0"/>
       <parameters>
          <parameter key="message_greet" value="Hola |PLAYERNAME|.  {trade} para comprar items"/>
          <parameter key="message_decline" value="Is |TOTALCOST| gold coins too much for you? Get out of here!"/>
       </parameters>
    </npc>



    [NPC] Npc Trade windows Vip Item for item especial YNU5B25
    2 participantes
    http://www.tibiaface.com

    Invitado

    Anonymous
    Invitado
    : el npc no me vende nada si no tengo cristal coins

    2 participantes

    Psycho

    Psycho
    Moderador
    Moderador
    Maya y como aria que este npc vendra por Premium Points?



    AFC By Psycho & DMOT Server
    [Tienes que estar registrado y conectado para ver este vínculo]
    2 participantes
    http://digidarkss.com

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    te vas a data/lib y creas un nuevo lua 048-ppoints.lua y pegas esto dentro

    Código:
    function getAccountPoints(cid)
        local res = db.getResult('select `premium_points` from accounts where name = \''..getPlayerAccount(cid)..'\'')
        if(res:getID() == -1) then
          return false
        end
        local ret = res:getDataInt("premium_points")
        res:free()
        return tonumber(ret)
    end
     
    function doAccountAddPoints(cid, count)
        return db.executeQuery("UPDATE `accounts` SET `premium_points` = '".. getAccountPoints(cid) + count .."' WHERE `name` ='"..getPlayerAccount(cid).."'")
    end
     
    function doAccountRemovePoints(cid, count)
        return db.executeQuery("UPDATE `accounts` SET `premium_points` = '".. getAccountPoints(cid) - count .."' WHERE `name` ='"..getPlayerAccount(cid).."'")
    end


    luego aqui tienes el npc

    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, price2 = 10}, -- [ITEMID TO SELL] = {Buy cost (0 = not buyable), sell cost (0 = not sellable)}
                [2493] = {price = 25, price2 = 0},
                [2361] = {price = 30, price2 = 0},
                [8851] = {price = 20, price2 = 0},
                [8925] = {price = 30, price2 = 0},
                [2640] = {price = 50, price2 = 0},
                [2494] = {price = 100, price2 = 0},
                [9932] = {price = 50, price2 = 0},
                [2472] = {price = 70, price2 = 0},
                [8931] = {price = 100, price2 = 0}
                }
             
                local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
                if getAccountPoints(cid) < t[item].price*amount then
                selfSay("You don't have enough christmas token.", cid)
                else
                doPlayerAddItem(cid, item, amount)
                doAccountRemovePoints(cid, t[item].price*amount)
               
                doPlayerSendTextMessage(cid, 20, "You have bought " .. amount .. "x " .. getItemNameById(item) .. " for " .. t[item].price*amount .. " premium point.")
                end
                return true
                end
                local onSell = function(cid, item, subType, amount)
                doPlayerRemoveItem(cid, item, amount)
                doAccountAddPoints(cid, t[item].price2*amount)
               
                doPlayerSendTextMessage(cid, 20, "You have sold " .. amount .. "x " .. getItemNameById(item) .. " for " .. t[item].price*amount .. " premium point.")
                --selfSay("Here your are!", cid)
                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 = ret.price2, name = getItemNameById(var)})
                end
                openShopWindow(cid, shopWindow, onBuy, onSell) end
                return true
                end
                npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
                npcHandler:addModule(FocusModule:new())



    [NPC] Npc Trade windows Vip Item for item especial YNU5B25
    2 participantes
    http://www.tibiaface.com

    Psycho

    Psycho
    Moderador
    Moderador
    Exelente maya pero por que necesita dinero del juego para q puedan comprar!..



    AFC By Psycho & DMOT Server
    [Tienes que estar registrado y conectado para ver este vínculo]
    2 participantes
    http://digidarkss.com

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Psycho escribió:Exelente maya pero por que necesita dinero del juego para q puedan comprar!..

    no se va poder siempre tendras que llevar dinero en la backpack



    [NPC] Npc Trade windows Vip Item for item especial YNU5B25
    2 participantes
    http://www.tibiaface.com

    Psycho

    Psycho
    Moderador
    Moderador
    xD!. ok!.. pero aun asi me sirvio mucho!.. gracias



    AFC By Psycho & DMOT Server
    [Tienes que estar registrado y conectado para ver este vínculo]
    2 participantes
    http://digidarkss.com

    Contenido patrocinado


    2 participantes

    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.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).