• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    error en npcs

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

    1Resuelto error en npcs el Lun Jul 17, 2017 3:46 pm

    joseolaizo

    avatar
    Miembro
    Miembro
    Mi Problema:
    cuando intento comprar el item "spellbook" en cualquier npc , me tira este error en consola y no me da item ni hace nada.

    [Tienes que estar registrado y conectado para ver este vínculo]

    el codigo del spellbook en mi items.xml es 2175

    el archivo del npc es
    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 shopModule = ShopModule:new()
    npcHandler:addModule(shopModule)


    shopModule:addBuyableItem({'magic lightwand'}, 2163, 400, 'magic lightwand')
    shopModule:addBuyableItem({'spellbook'}, 2217, 150, 'spellbook')
    shopModule:addBuyableItem({'small health'}, 8704, 20, 1, 'small health potion')
    shopModule:addBuyableItem({'health potion'}, 7618, 45, 1, 'health potion')
    shopModule:addBuyableItem({'mana potion'}, 7620, 50, 1, 'mana potion')
    shopModule:addBuyableItem({'strong health'}, 7588, 60, 1, 'strong health potion')
    shopModule:addBuyableItem({'strong mana'}, 7589, 60, 1, 'strong mana potion')
    shopModule:addBuyableItem({'great health'}, 7591, 80, 1, 'great health potion')
    shopModule:addBuyableItem({'great mana'}, 7590, 120, 1, 'great mana potion')
    shopModule:addBuyableItem({'great spirit'}, 8472, 200, 1, 'great spirit potion')
    shopModule:addBuyableItem({'ultimate health'}, 8473, 310, 1, 'ultimate health potion')
    shopModule:addBuyableItem({'antidote potion'}, 8474, 50, 1, 'antidote potion')
    shopModule:addBuyableItem({'potion flask'}, 7636, 1000, 0, 'potion flask')

    shopModule:addSellableItem({'normal potion flask', 'normal flask'}, 7636, 5, 'empty small potion flask')
    shopModule:addSellableItem({'strong potion flask', 'strong flask'}, 7634, 10, 'empty strong potion flask')
    shopModule:addSellableItem({'great potion flask', 'great flask'}, 7635, 15, 'empty great potion flask')

    shopModule:addBuyableItem({'blank rune'}, 2260, 10, 1, 'blank rune')
    shopModule:addBuyableItem({'animate dead'}, 2316, 375, 1, 'animate dead rune')
    shopModule:addBuyableItem({'antidote'}, 2266, 65, 1, 'antidote rune')
    shopModule:addBuyableItem({'avalanche'}, 2274, 45, 1, 'avalanche rune')
    shopModule:addBuyableItem({'chameleon'}, 2291, 210, 1, 'chameleon rune')
    shopModule:addBuyableItem({'convince creature'}, 2290, 80, 1, 'convince creature rune')
    shopModule:addBuyableItem({'desintegrate'}, 2310, 80, 1, 'desintegrate rune')
    shopModule:addBuyableItem({'destroy field'}, 2261, 45, 1,  'destroy field')
    shopModule:addBuyableItem({'energy bomb'}, 2262, 325, 1, 'energy bomb rune')
    shopModule:addBuyableItem({'energy field'}, 2277, 115, 1, 'energy field')
    shopModule:addBuyableItem({'energy wall'}, 2279, 340, 1, 'energy wall rune')
    shopModule:addBuyableItem({'explosion'}, 2313, 90, 1, 'explosion rune')
    shopModule:addBuyableItem({'fire bomb'}, 2305, 65, 1, 'fire bomb rune')
    shopModule:addBuyableItem({'fire field'}, 2301, 45, 1,  'fire field rune')
    shopModule:addBuyableItem({'fire wall'}, 2303, 85, 1, 'fire wall rune')
    shopModule:addBuyableItem({'fireball'}, 2302, 80, 1,  'fire ball')
    shopModule:addBuyableItem({'great fireball'}, 2304, 45, 1, 'great fireball rune')
    shopModule:addBuyableItem({'heavy magic missile'}, 2311, 30, 1, 'heavy magic missile rune')
    shopModule:addBuyableItem({'holy missile missile'}, 2295, 80, 1, 'holy missile rune')
    shopModule:addBuyableItem({'icicle'}, 2271, 50, 1, 'icicle rune')
    shopModule:addBuyableItem({'intense healing'}, 2265, 55, 1, 'intense healing rune')
    shopModule:addBuyableItem({'light magic missile'}, 2287, 40, 1, 'light magic missile rune')
    shopModule:addBuyableItem({'magic wall'}, 2293, 116, 1, 'magic wall rune')
    shopModule:addBuyableItem({'paralyze'}, 2278, 600, 1, 'paralyze rune')
    shopModule:addBuyableItem({'poison bomb'}, 2286, 120, 1, 'poison bomb rune')
    shopModule:addBuyableItem({'poison field'}, 2285, 65, 1,  'poison field')
    shopModule:addBuyableItem({'poison wall'}, 2289, 110, 1, 'poison wall rune')
    shopModule:addBuyableItem({'soulfire'}, 2308, 70, 1, 'soulfire rune')
    shopModule:addBuyableItem({'stalagmite'}, 2292, 45, 1, 'stalagmite rune')
    shopModule:addBuyableItem({'stone shower'}, 2288, 45, 1, 'stoneshower rune')
    shopModule:addBuyableItem({'sudden death'}, 2268, 105, 1, 'sudden death rune')
    shopModule:addBuyableItem({'thunderstorm'}, 2315, 50, 1, 'thunderstorm rune')
    shopModule:addBuyableItem({'ultimate healing'}, 2273, 175, 1, 'ultimate healing rune')
    shopModule:addBuyableItem({'wild growth'}, 2269, 160, 1, 'wild growth rune')

    shopModule:addBuyableItemContainer({'bp slhp'}, 2000, 8704, 400, 1, 'backpack of small health potions')
    shopModule:addBuyableItemContainer({'bp hp'}, 2000, 7618, 900, 1, 'backpack of health potions')
    shopModule:addBuyableItemContainer({'bp mp'}, 2001, 7620, 1000, 1, 'backpack of mana potions')
    shopModule:addBuyableItemContainer({'bp shp'}, 2000, 7588, 2000, 1, 'backpack of strong health potions')
    shopModule:addBuyableItemContainer({'bp smp'}, 2001, 7589, 1600, 1, 'backpack of strong mana potions')
    shopModule:addBuyableItemContainer({'bp ghp'}, 2000, 7591, 3800, 1, 'backpack of great health potions')
    shopModule:addBuyableItemContainer({'bp gmp'}, 2001, 7590, 2400, 1, 'backpack of great mana potions')
    shopModule:addBuyableItemContainer({'bp gsp'}, 1999, 8472, 3800, 1, 'backpack of great spirit potions')
    shopModule:addBuyableItemContainer({'bp uhp'}, 2000, 8473, 6200, 1, 'backpack of ultimate health potions')
    shopModule:addBuyableItemContainer({'bp ap'}, 2002, 8474, 2000, 1, 'backpack of antidote potions')

    shopModule:addBuyableItem({'wand of vortex', 'vortex'}, 2190, 500, 1, 'wand of vortex')
    shopModule:addBuyableItem({'wand of dragonbreath', 'dragonbreath'}, 2191, 1000, 1, 'wand of dragonbreath')
    shopModule:addBuyableItem({'wand of decay', 'decay'}, 2188, 2000, 1, 'wand of decay')
    shopModule:addBuyableItem({'wand of draconia', 'draconia'}, 8921, 3000, 1, 'wand of draconia')
    shopModule:addBuyableItem({'wand of cosmic energy', 'cosmic energy'}, 2189, 4000, 1, 'wand of cosmic energy')
    shopModule:addBuyableItem({'wand of inferno', 'inferno'}, 2187, 5000, 1, 'wand of inferno')
    shopModule:addBuyableItem({'wand of starstorm', 'starstorm'}, 8920, 6000, 1, 'wand of starstorm')
    shopModule:addBuyableItem({'wand of voodoo', 'voodoo'}, 8922, 7000, 1, 'wand of voodoo')

    shopModule:addBuyableItem({'snakebite rod', 'snakebite'}, 2182, 500, 1, 'snakebite rod')
    shopModule:addBuyableItem({'moonlight rod', 'moonlight'}, 2186, 1000, 1, 'moonlight rod')
    shopModule:addBuyableItem({'necrotic rod', 'necrotic'}, 2185, 2000, 1, 'necrotic rod')
    shopModule:addBuyableItem({'northwind rod', 'northwind'}, 8911, 3000, 1, 'northwind rod')
    shopModule:addBuyableItem({'terra rod', 'terra'}, 2181, 4000, 1, 'terra rod')
    shopModule:addBuyableItem({'hailstorm rod', 'hailstorm'}, 2183, 5000, 1, 'hailstorm rod')
    shopModule:addBuyableItem({'springsprout rod', 'springsprout'}, 8912, 6000, 1, 'springsprout rod')
    shopModule:addBuyableItem({'underworld rod', 'underworld'}, 8910, 7000, 1, 'underworld rod')

    shopModule:addSellableItem({'wand of vortex', 'vortex'}, 2190, 250, 'wand of vortex')
    shopModule:addSellableItem({'wand of dragonbreath', 'dragonbreath'}, 2191, 500, 'wand of dragonbreath')
    shopModule:addSellableItem({'wand of decay', 'decay'}, 2188, 1000, 'wand of decay')
    shopModule:addSellableItem({'wand of draconia', 'draconia'}, 8921, 2000, 'wand of draconia')
    shopModule:addSellableItem({'wand of cosmic energy', 'cosmic energy'}, 2189, 3000, 'wand of cosmic energy')
    shopModule:addSellableItem({'wand of inferno', 'inferno'},2187, 4000, 'wand of inferno')
    shopModule:addSellableItem({'wand of starstorm', 'starstorm'}, 8920, 5000, 'wand of starstorm')
    shopModule:addSellableItem({'wand of voodoo', 'voodoo'}, 8922, 6000, 'wand of voodoo')

    shopModule:addSellableItem({'snakebite rod', 'snakebite'}, 2182, 250,'snakebite rod')
    shopModule:addSellableItem({'moonlight rod', 'moonlight'}, 2186, 500, 'moonlight rod')
    shopModule:addSellableItem({'necrotic rod', 'necrotic'}, 2185, 1000, 'necrotic rod')
    shopModule:addSellableItem({'northwind rod', 'northwind'}, 8911, 2000, 'northwind rod')
    shopModule:addSellableItem({'terra rod', 'terra'}, 2181, 3000, 'terra rod')
    shopModule:addSellableItem({'hailstorm rod', 'hailstorm'}, 2183, 4000, 'hailstorm rod')
    shopModule:addSellableItem({'springsprout rod', 'springsprout'}, 8912, 5000, 'springsprout rod')
    shopModule:addSellableItem({'underworld rod', 'underworld'}, 8910, 6000, 'underworld rod')

    local items = {[1] = 2190, [2] = 2182, [5] = 2190, [6] = 2182}
    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, 'first rod') or msgcontains(msg, 'first wand')) then
     if(isSorcerer(cid) or isDruid(cid)) then
     if(getPlayerStorageValue(cid, 30002) <= 0) then
     selfSay('So you ask me for a {' .. getItemNameById(items[getPlayerVocation(cid)]) .. '} to begin your advanture?', cid)
     talkState[talkUser] = 1
     else
     selfSay('What? I have already gave you one {' .. getItemNameById(items[getPlayerVocation(cid)]) .. '}!', cid)
     end
     else
     selfSay('Sorry, you aren\'t a druid either a sorcerer.', cid)
     end
     elseif(msgcontains(msg, 'yes')) then
     if(talkState[talkUser] == 1) then
     doPlayerAddItem(cid, items[getPlayerVocation(cid)], 1)
     selfSay('Here you are young adept, take care yourself.', cid)
     setPlayerStorageValue(cid, 30002, 1)
     end
     talkState[talkUser] = 0
     elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser])) then
     selfSay('Ok then.', cid)
     talkState[talkUser] = 0
     end

     return true
    end

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

    gracias de antemano :3


    Imagen de mi error:


    Esta en:
    Consola

    Ver perfil de usuario

    2Resuelto Re: error en npcs el Lun Jul 17, 2017 4:11 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    tu problema esta aqui
    Código:
    shopModule:addBuyableItem({'spellbook'}, 2217, 150, 'spellbook')

    por

    Código:
    shopModule:addBuyableItem({'spellbook'}, 2175, 150, 1, 'spellbook')


    aqui tienes todo 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
     
    local shopModule = ShopModule:new()
    npcHandler:addModule(shopModule)
     
    shopModule:addBuyableItem({'spellbook'}, 2175, 150, 1, 'spellbook')
    shopModule:addBuyableItem({'magic lightwand'}, 2163, 400, 1, 'magic lightwand')
     
    shopModule:addSellableItem({'normal potion flask', 'normal flask'}, 7636, 5, 'empty small potion flask')
    shopModule:addSellableItem({'strong potion flask', 'strong flask'}, 7634, 10, 'empty strong potion flask')
    shopModule:addSellableItem({'great potion flask', 'great flask'}, 7635, 15, 'empty great potion flask')
     
    shopModule:addBuyableItem({'wand of vortex', 'vortex'}, 2190, 500, 1, 'wand of vortex')
    shopModule:addBuyableItem({'wand of dragonbreath', 'dragonbreath'}, 2191, 1000, 1, 'wand of dragonbreath')
    shopModule:addBuyableItem({'wand of decay', 'decay'}, 2188, 5000, 1, 'wand of decay')
    shopModule:addBuyableItem({'wand of draconia', 'draconia'}, 8921, 7500, 1, 'wand of draconia')
    shopModule:addBuyableItem({'wand of cosmic energy', 'cosmic energy'}, 2189, 10000, 1, 'wand of cosmic energy')
    shopModule:addBuyableItem({'wand of inferno', 'inferno'}, 2187, 15000, 1, 'wand of inferno')
    shopModule:addBuyableItem({'wand of starstorm', 'starstorm'}, 8920, 18000, 1, 'wand of starstorm')
    shopModule:addBuyableItem({'wand of voodoo', 'voodoo'}, 8922, 22000, 1, 'wand of voodoo')
     
    shopModule:addBuyableItem({'snakebite rod', 'snakebite'}, 2182, 500, 1, 'snakebite rod')
    shopModule:addBuyableItem({'moonlight rod', 'moonlight'}, 2186, 1000, 1, 'moonlight rod')
    shopModule:addBuyableItem({'necrotic rod', 'necrotic'}, 2185, 5000, 1, 'necrotic rod')
    shopModule:addBuyableItem({'northwind rod', 'northwind'}, 8911, 7500, 1, 'northwind rod')
    shopModule:addBuyableItem({'terra rod', 'terra'}, 2181, 10000, 1, 'terra rod')
    shopModule:addBuyableItem({'hailstorm rod', 'hailstorm'}, 2183, 15000, 1, 'hailstorm rod')
    shopModule:addBuyableItem({'springsprout rod', 'springsprout'}, 8912, 18000, 1, 'springsprout rod')
    shopModule:addBuyableItem({'underworld rod', 'underworld'}, 8910, 22000, 1, 'underworld rod')
     
    shopModule:addSellableItem({'wand of vortex', 'vortex'}, 2190, 250, 'wand of vortex')
    shopModule:addSellableItem({'wand of dragonbreath', 'dragonbreath'}, 2191, 500, 'wand of dragonbreath')
    shopModule:addSellableItem({'wand of decay', 'decay'}, 2188, 2500, 'wand of decay')
    shopModule:addSellableItem({'wand of draconia', 'draconia'}, 8921, 3750, 'wand of draconia')
    shopModule:addSellableItem({'wand of cosmic energy', 'cosmic energy'}, 2189, 5000, 'wand of cosmic energy')
    shopModule:addSellableItem({'wand of inferno', 'inferno'},2187, 7500, 'wand of inferno')
    shopModule:addSellableItem({'wand of starstorm', 'starstorm'}, 8920, 9000, 'wand of starstorm')
    shopModule:addSellableItem({'wand of voodoo', 'voodoo'}, 8922, 11000, 'wand of voodoo')
     
    shopModule:addSellableItem({'snakebite rod', 'snakebite'}, 2182, 250, 'snakebite rod')
    shopModule:addSellableItem({'moonlight rod', 'moonlight'}, 2186, 500,  'moonlight rod')
    shopModule:addSellableItem({'necrotic rod', 'necrotic'}, 2185, 2500, 'necrotic rod')
    shopModule:addSellableItem({'northwind rod', 'northwind'}, 8911, 3750, 'northwind rod')
    shopModule:addSellableItem({'terra rod', 'terra'}, 2181, 5000, 'terra rod')
    shopModule:addSellableItem({'hailstorm rod', 'hailstorm'}, 2183, 7500, 'hailstorm rod')
    shopModule:addSellableItem({'springsprout rod', 'springsprout'}, 8912, 9000, 'springsprout rod')
    shopModule:addSellableItem({'underworld rod', 'underworld'}, 8910, 11000, 'underworld rod')
     
    local items = {[1] = 2190, [2] = 2182, [5] = 2190, [6] = 2182}
    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, 'first rod') or msgcontains(msg, 'first wand')) then
            if(isSorcerer(cid) or isDruid(cid)) then
                if(getPlayerStorageValue(cid, 30002) <= 0) then
                    selfSay('So you ask me for a {' .. getItemNameById(items[getPlayerVocation(cid)]) .. '} to begin your advanture?', cid)
                    talkState[talkUser] = 1
                else
                    selfSay('What? I have already gave you one {' .. getItemNameById(items[getPlayerVocation(cid)]) .. '}!', cid)
                end
            else
                selfSay('Sorry, you aren\'t a druid either a sorcerer.', cid)
            end
        elseif(msgcontains(msg, 'yes')) then
            if(talkState[talkUser] == 1) then
                doPlayerAddItem(cid, items[getPlayerVocation(cid)], 1)
                selfSay('Here you are young adept, take care yourself.', cid)
                setPlayerStorageValue(cid, 30002, 1)
            end
            talkState[talkUser] = 0
        elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser])) then
            selfSay('Ok then.', cid)
            talkState[talkUser] = 0
        end
     
        return true
    end
     
    npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
    npcHandler:addModule(FocusModule:new())



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

    3Resuelto Re: error en npcs el Lun Jul 17, 2017 4:52 pm

    joseolaizo

    avatar
    Miembro
    Miembro
    Very Happy Resuelto Gracias Very Happy

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