• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Pedido] Ayuda con npc de mounts

    Compartir:

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

    1default [Pedido] Ayuda con npc de mounts el Lun Oct 30, 2017 12:00 am

    jesusaron

    avatar
    Miembro
    Miembro
    Hola amigos alguien que me pueda pasar un npc de mounts que te pida ciertos items y te otorge la mount
    10.10
    tfs 1.0
    gracias

    Ver perfil de usuario

    2default Re: [Pedido] Ayuda con npc de mounts el Lun Oct 30, 2017 11:55 am

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    aqui esta el npc

    Código:
    <?xml version="1.0"?>
    <npc name="Mount Seller" script="data/npc/scripts/buymount.lua" walkinterval="1" floorchange="0">
    <health now="100" max="100"/>
      <look type="335" head="0" body="88" legs="0" feet="0" addons="3" mount="379"/>
    <parameters>
    <parameter key="message_greet" value="Hello |PLAYERNAME|.I have many {mounts} to sell for you!" />
    </parameters>
    </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
    function AddMount(cid, message, keywords, parameters, node) --by vodka
    if(not npcHandler:isFocused(cid)) then
    return false
    end
    if (isPlayerPremiumCallback == nil or isPlayerPremiumCallback(cid) == true or parameters.premium == false) then
    if(parameters.level ~= nil and getPlayerLevel(cid) < parameters.level) then
    npcHandler:say('You must reach level ' .. parameters.level .. ' to buy this mount.', cid)
    elseif canPlayerRideMount(cid, parameters.mountid) then
    npcHandler:say('you already have this mount!', cid)
    elseif not doRemoveItemsFromList(cid,parameters.items) then
    npcHandler:say('Sorry You need '..getItemsFromList(parameters.items)..' to buy this mount!', cid)
    else
    doPlayerAddMount(cid, parameters.mountid)
    npcHandler:say('Here is your mount!', cid)
    npcHandler:resetNpc()
    end
    else
    npcHandler:say('I can only allow premium players to buy this mount.', cid)
    end
    npcHandler:resetNpc()
    return true
    end
    local mounts = {
    {"widow queen", items = {{6527,10}}, mountid = 1, level = 10, premium = true},
    {"racing bird", items = {{6527,5}}, mountid = 2, level = 15, premium = true},
    {"war bear", items = {{6527,5}}, mountid = 3, level = 15, premium = true},
    {"black sheep", items = {{6527,7}}, mountid = 4, level = 15, premium = true},
    {"midnight panther", items = {{6527,10}}, mountid = 5, level = 15, premium = true},
    {"draptor", items = {{6527,20}}, mountid = 6, level = 15, premium = true},
    {"titanica", items = {{6527,20}}, mountid = 7, level = 15, premium = true},
    {"tin lizzard", items = {{6527,15}}, mountid = 8, level = 15, premium = true},
    {"blazebringer", items = {{6527,25}}, mountid = 9, level = 15, premium = true},
    {"rapid boar", items = {{6527,15}}, mountid = 10, level = 15, premium = true},
    {"stampor", items = {{6527,30}}, mountid = 11, level = 15, premium = true},
    {"undead cavebear", items = {{6527,30}}, mountid = 12, level = 15, premium = true},
    {"mounts", text = "I sell these mounts: {Widow Queen},{Racing Bird},{War Bear},{Black Sheep},{Midnight Panther},{Draptor},{Titanica},{Tin Lizzard},{Blazebringer},{Rapid Boar},{Stampor},{Undead Cavebear}"}
    }
    for i = 1, #mounts do local get = mounts[i] if type(get.items) == "table" then
    local node = keywordHandler:addKeyword({get[1]}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "You want to buy the mount " .. get[1] .. " for "..getItemsFromList(get.items).." ?"})
    node:addChildKeyword({"yes"}, AddMount, {items = get.items,mountid = get.mountid, level = get.level, premium = get.premium})
    node:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Ok, then.", reset = true})
    else keywordHandler:addKeyword({get[1]}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = get.text}) end end
    mounts = nil npcHandler:addModule(FocusModule:new())



    Ver perfil de usuario http://www.tibiaface.com

    3default error el Vie Nov 03, 2017 12:39 pm

    jesusaron

    avatar
    Miembro
    Miembro
    me da error en
    getItemsFtomlist
    en la linea 46

    Ver perfil de usuario

    4default Re: [Pedido] Ayuda con npc de mounts el Vie Nov 03, 2017 1:04 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    agrega a tus 50-function o tu gobal.lua estas funciones

    Código:
    function getItemsFromList(items)
    local str = ''
    if table.maxn(items) > 0 then
    for i = 1, table.maxn(items) do
    str = str .. items[i][2] .. ' ' .. getItemNameById(items[i][1])
    if i ~= table.maxn(items) then str = str .. ', ' end end end
    return str
    end
    function doRemoveItemsFromList(cid,items)
    local count = 0
    if table.maxn(items) > 0 then
    for i = 1, table.maxn(items) do
    if getPlayerItemCount(cid,items[i][1]) >= items[i][2] then
    count = count + 1 end  end  end
    if count == table.maxn(items) then
    for i = 1, table.maxn(items) do doPlayerRemoveItem(cid,items[i][1],items[i][2]) end
    else return false end
    return true end
    function doPlayerGiveItem(cid, itemid, amount, subType)
        local item = 0
        if(isItemStackable(itemid)) then
            item = doCreateItemEx(itemid, amount)
            if(doPlayerAddItemEx(cid, item, true) ~= RETURNVALUE_NOERROR) then
                return false
            end
        else
            for i = 1, amount do
                item = doCreateItemEx(itemid, subType)
                if(doPlayerAddItemEx(cid, item, true) ~= RETURNVALUE_NOERROR) then
                    return false
                end
            end
        end



    Ver perfil de usuario http://www.tibiaface.com

    5default se te paso un end o coma el Vie Nov 03, 2017 1:16 pm

    jesusaron

    avatar
    Miembro
    Miembro
    creo que se te paso una coma o end porque me da error con cual cosa

    Ver perfil de usuario

    6default Re: [Pedido] Ayuda con npc de mounts el Vie Nov 03, 2017 1:37 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    captura del error



    Ver perfil de usuario http://www.tibiaface.com

    7default falto el Vie Nov 03, 2017 2:08 pm

    jesusaron

    avatar
    Miembro
    Miembro
    falto poner un end alfinal

    Ver perfil de usuario

    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.

     

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