Ir para conteúdo
  • 0
bitoca1995

Scripting [TFS 0.4 (8.6)] NPC de runas / buy with backpack

Pergunta

bitoca1995    0
bitoca1995

Boa noite,

 

Quando tento comprar algum item que seja RUNA, FLUIDO, OU QUE TENHA CHARGE,o npc não deixa eu comprar ele com backpack, e queria que comprasse com backpack tambem, caso eu colocasse buy with backpack no cliente, eu dei uma olhada e a unica coisa que achei a respeito, foi esses codigos no module dos npcs:

Spoiler

			if(SHOPMODULE_MODE == SHOPMODULE_MODE_TRADE) then
				if(itemid ~= nil and cost ~= nil) then
					if((isItemRune(itemid) or isItemFluidContainer(itemid)) and subType == nil) then
						print('[Warning] NpcSystem:', 'SubType missing for parameter item:', item)
					else
						self:addBuyableItem(nil, itemid, cost, subType, realName)
					end
				else
					print('[Warning] NpcSystem:', 'Parameter(s) missing for item:', itemid, cost)
				end
			elseif(name ~= nil and itemid ~= nil and cost ~= nil) then
				if((isItemRune(itemid) or isItemFluidContainer(itemid)) and subType == nil) then
					print('[Warning] NpcSystem:', 'SubType missing for parameter item:', item)
				else



if(name ~= nil and container ~= nil and itemid ~= nil and cost ~= nil) then
				if((isItemRune(itemid) or isItemFluidContainer(itemid)) and subType == nil) then
					print('[Warning] NpcSystem:', 'SubType missing for parameter item:', item)
				else
					local names = {}
					table.insert(names, name)
					self:addBuyableItemContainer(names, container, itemid, cost, subType, realName)
				end
			else
				print('[Warning] NpcSystem:', 'Parameter(s) missing for item:', name, container, itemid, cost)
			end
					local names = {}
					table.insert(names, name)
					self:addBuyableItem(names, itemid, cost, subType, realName)
				end
			else
				print('[Warning] NpcSystem:', 'Parameter(s) missing for item:', name, itemid, cost)
			end

 

alguem pode me ajudar e dizer se editando isso da forma correta vai resolver o problema?

Compartilhar este post


Link para o post

6 respostass a esta questão

Recommended Posts

  • 0
Majesty    1755
Majesty

data/npc/scripts/runes.lua (por Zaul):

Spoiler

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, 'spellbook')
shopModule:addBuyableItem({'magic lightwand'}, 2163, 400, 'magic lightwand')
 
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, 100, 1, 'strong health potion')
shopModule:addBuyableItem({'strong mana'}, 7589, 80, 1, 'strong mana potion')
shopModule:addBuyableItem({'great health'}, 7591, 190, 1, 'great health potion')
shopModule:addBuyableItem({'great mana'}, 7590, 120, 1, 'great mana potion')
shopModule:addBuyableItem({'great spirit'}, 8472, 190, 1, 'great spirit potion')
shopModule:addBuyableItem({'ultimate health'}, 8473, 310, 1, 'ultimate health potion')
shopModule:addBuyableItem({'antidote potion'}, 8474, 50, 1, 'antidote potion')
 
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:addBuyableItemContainer({'bp blank'}, 1998, 2260, 220, 1, 'backpack of blank runes')
shopModule:addBuyableItemContainer({'bp animate dead'}, 1998, 2316, 7520, 1, 'backpack of animate dead runes')
shopModule:addBuyableItemContainer({'bp antidote'}, 2003, 2266, 1320, 1, 'backpack of antidote runes')
shopModule:addBuyableItemContainer({'bp avalanche'}, 2002, 2274, 3620, 4, 'backpack of avalanche runes')
shopModule:addBuyableItemContainer({'bp chameleon'}, 1998, 2291, 4220, 1, 'backpack of chameleon runes')
shopModule:addBuyableItemContainer({'bp convince creature'}, 1998, 2290, 1620, 1, 'backpack of convince creature runes')
shopModule:addBuyableItemContainer({'bp desintegrate'}, 2001, 2310, 1620, 3, 'backpack of desintegrate runes')
shopModule:addBuyableItemContainer({'bp destroy field'}, 2003, 2261, 920, 3,  'backpack of destroy fields')
shopModule:addBuyableItemContainer({'bp energy bomb'}, 2003, 2262, 6520, 2, 'backpack of energy bomb runes')
shopModule:addBuyableItemContainer({'bp energy field'}, 1998, 2277, 2320, 3, 'backpack of energy fields')
shopModule:addBuyableItemContainer({'bp energy wall'}, 2002, 2279, 6820, 4, 'backpack of energy wall runes')
shopModule:addBuyableItemContainer({'bp explosion'}, 2001, 2313, 3820, 6, 'backpack of explosion runes')
shopModule:addBuyableItemContainer({'bp fire bomb'}, 2000, 2305, 4720, 2, 'backpack of fire bomb runes')
shopModule:addBuyableItemContainer({'bp fire field'}, 2000, 2301, 1720, 3,  'backpack of fire field runes')
shopModule:addBuyableItemContainer({'bp fire wall'}, 2000, 2303, 4920, 4, 'backpack of fire wall runes')
shopModule:addBuyableItemContainer({'bp fireball'}, 2000, 2302, 3020, 5,  'backpack of fire balls')
shopModule:addBuyableItemContainer({'bp great fireball'}, 2000, 2304, 3620, 4, 'backpack of great fireball runes')
shopModule:addBuyableItemContainer({'bp heavy magic missile'}, 2001, 2311, 2420, 10, 'backpack of heavy magic missile runes')
shopModule:addBuyableItemContainer({'bp holy missile'}, 1999, 2295, 1600, 5, 'backpack of holy missile runes')
shopModule:addBuyableItemContainer({'bp icicle'}, 2002, 2271, 3020, 5, 'backpack of icicle runes')
shopModule:addBuyableItemContainer({'bp intense healing'}, 2003, 2265, 1920, 1, 'backpack of intense healing runes')
shopModule:addBuyableItemContainer({'bp light magic missile'}, 1998, 2287, 820, 10, 'backpack of light magic missile runes')
shopModule:addBuyableItemContainer({'bp magic wall'}, 1999, 2293, 7020, 3, 'backpack of magic wall runes')
shopModule:addBuyableItemContainer({'bp paralyze'}, 2002, 2278, 13350, 1, 'backpack of paralyze runes')
shopModule:addBuyableItemContainer({'bp poison bomb'}, 1998, 2286, 3420, 2, 'backpack of poison bomb runes')
shopModule:addBuyableItemContainer({'bp poison field'}, 1998, 2285, 1320, 3,  'backpack of poison field runes')
shopModule:addBuyableItemContainer({'bp poison wall'}, 1998, 2289, 4220, 4, 'backpack of poison wall runes')
shopModule:addBuyableItemContainer({'bp soulfire'}, 2000, 2308, 2820, 3, 'backpack of soulfire runes')
shopModule:addBuyableItemContainer({'bp stalagmite'}, 1998, 2292, 2400, 10, 'backpack of stalagmite runes')
shopModule:addBuyableItemContainer({'bp stone shower'}, 1999, 2288, 3020, 4, 'backpack of stoneshower runes')
shopModule:addBuyableItemContainer({'bp sudden death'}, 2003, 2268, 6520, 3, 'backpack of sudden death runes')
shopModule:addBuyableItemContainer({'bp thunderstorm'}, 1999, 2315, 3020, 4, 'backpack of thunderstorm runes')
shopModule:addBuyableItemContainer({'bp ultimate healing'}, 2002, 2273, 3520, 3, 'backpack of ultimate healing runes')
shopModule:addBuyableItemContainer({'bp wild growth'}, 2002, 2269, 6420, 2, 'backpack of wild growth runes')
 
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, 180, 4, '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, 3, 'desintegrate rune')
shopModule:addBuyableItem({'destroy field'}, 2261, 45, 3,  'destroy field')
shopModule:addBuyableItem({'energy bomb'}, 2262, 325, 2, 'energy bomb rune')
shopModule:addBuyableItem({'energy field'}, 2277, 115, 3, 'energy field')
shopModule:addBuyableItem({'energy wall'}, 2279, 340, 4, 'energy wall rune')
shopModule:addBuyableItem({'explosion'}, 2313, 190, 6, 'explosion rune')
shopModule:addBuyableItem({'fire bomb'}, 2305, 235, 2, 'fire bomb rune')
shopModule:addBuyableItem({'fire field'}, 2301, 85, 3,  'fire field rune')
shopModule:addBuyableItem({'fire wall'}, 2303, 245, 4, 'fire wall rune')
shopModule:addBuyableItem({'fireball'}, 2302, 150, 5,  'fire ball')
shopModule:addBuyableItem({'great fireball'}, 2304, 180, 4, 'great fireball rune')
shopModule:addBuyableItem({'heavy magic missile'}, 2311, 120, 10, 'heavy magic missile rune')
shopModule:addBuyableItem({'holy missile missile'}, 2295, 80, 5, 'holy missile rune')
shopModule:addBuyableItem({'icicle'}, 2271, 150, 5, 'icicle rune')
shopModule:addBuyableItem({'intense healing'}, 2265, 95, 1, 'intense healing rune')
shopModule:addBuyableItem({'light magic missile'}, 2287, 40, 10, 'light magic missile rune')
shopModule:addBuyableItem({'magic wall'}, 2293, 350, 3, 'magic wall rune')
shopModule:addBuyableItem({'paralyze'}, 2278, 700, 1, 'paralyze rune')
shopModule:addBuyableItem({'poison bomb'}, 2286, 170, 2, 'poison bomb rune')
shopModule:addBuyableItem({'poison field'}, 2285, 65, 3,  'poison field')
shopModule:addBuyableItem({'poison wall'}, 2289, 210, 4, 'poison wall rune')
shopModule:addBuyableItem({'soulfire'}, 2308, 140, 3, 'soulfire rune')
shopModule:addBuyableItem({'stalagmite'}, 2292, 120, 10, 'stalagmite rune')
shopModule:addBuyableItem({'stone shower'}, 2288, 150, 4, 'stoneshower rune')
shopModule:addBuyableItem({'sudden death'}, 2268, 100, 3, 'sudden death rune')
shopModule:addBuyableItem({'thunderstorm'}, 2315, 150, 4, 'thunderstorm rune')
shopModule:addBuyableItem({'ultimate healing'}, 2273, 175, 3, 'ultimate healing rune')
shopModule:addBuyableItem({'wild growth'}, 2269, 320, 2, '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, 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())

 

data/npc/lib/npc.lua (por Cykotitan):

Spoiler

function doNpcSellItem(cid, itemid, amount, subType, ignoreCap, inBackpacks, backpack)
    amount = amount or 1
    subType = subType or 1
    ignoreCap = false
 
    local item = 0
    if(isItemStackable(itemid)) then
        if(inBackpacks) then
            item = doCreateItemEx(backpack)
            for i = 1, 20 do
                doAddContainerItem(item, itemid, amount)
            end
            amount = amount * 20
        else
            item = doCreateItemEx(itemid, amount)
        end
        if(doPlayerAddItemEx(cid, item, ignoreCap) ~= RETURNVALUE_NOERROR) then
            return 0, 0
        end
 
        return amount, 0
    end
 
    local a = 0
    if(inBackpacks) then
        local container = doCreateItemEx(backpack)
        local b = 1
        for i = 1, amount do
            item = doAddContainerItem(container, itemid, subType)
 
            if(isInArray({(getContainerCapById(backpack) * b), amount}, i)) then
                if(doPlayerAddItemEx(cid, container, ignoreCap) ~= RETURNVALUE_NOERROR) then
                    b = b - 1
                    break
                end
 
                a = i
                if(amount > i) then
                    container = doCreateItemEx(backpack)
                    b = b + 1
                end
            end
        end
 
        return a, b
    end
 
    for i = 1, amount do
        item = doCreateItemEx(itemid, subType)
 
        if(doPlayerAddItemEx(cid, item, ignoreCap) ~= RETURNVALUE_NOERROR) then
            break
        end
 
        a = i
    end
 
    return a, 0
end

 

data/npc/lib/npcsystem/modules.lua (por Cykotitan):

Spoiler

 -- Callback onBuy() function. If you wish, you can change certain Npc to use your onBuy().
    function ShopModule:callbackOnBuy(cid, itemid, subType, amount, ignoreCap, inBackpacks)
        if(exhaustion.check(cid, 182829))then
            doPlayerSendCancel(cid, "You need to wait a bit before you'll be able to purcharse next item.");
            return false;
        end
       
        local shopItem = nil
        for _, item in ipairs(self.npcHandler.shopItems) do
            if(item.id == itemid and item.subType == subType) then
                shopItem = item
                break
            end
        end
 
        if(shopItem == nil) then
            print("[ShopModule.onBuy]", "Item not found on shopItems list")
            return false
        end
 
        if(shopItem.buy == -1) then
            print("[ShopModule.onSell]", "Attempt to purchase an item which only sellable")
            return false
        end
        exhaustion.set(cid,182829,1);
        local backpack, totalCost = 1988, amount * shopItem.buy
        if(inBackpacks) then
            if getItemInfo(itemid).stackable then
                totalCost = totalCost * 20 + 20
            else
                totalCost = totalCost + math.max(1, math.floor(amount / getContainerCapById(backpack))) * 20
            end
        end
 
        local parseInfo = {
            [TAG_PLAYERNAME] = getPlayerName(cid),
            [TAG_ITEMCOUNT] = amount,
            [TAG_TOTALCOST] = totalCost,
            [TAG_ITEMNAME] = shopItem.name
        }
 
        if(getPlayerMoney(cid) < totalCost) then
            local msg = self.npcHandler:getMessage(MESSAGE_NEEDMONEY)
            doPlayerSendCancel(cid, self.npcHandler:parseMessage(msg, parseInfo))
            return false
        end
 
        subType = shopItem.subType or 1
        local a, b = doNpcSellItem(cid, itemid, amount, subType, ignoreCap, inBackpacks, backpack)
        if(a < amount) then
            local msg = self.npcHandler:getMessage(a == 0 and MESSAGE_NEEDSPACE or MESSAGE_NEEDMORESPACE)
            parseInfo[TAG_ITEMCOUNT] = a
 
            doPlayerSendCancel(cid, self.npcHandler:parseMessage(msg, parseInfo))
            if(NPCHANDLER_CONVBEHAVIOR ~= CONVERSATION_DEFAULT) then
                self.npcHandler.talkStart[cid] = os.time()
            else
                self.npcHandler.talkStart = os.time()
            end
 
            if(a > 0) then
                doPlayerRemoveMoney(cid, a * shopItem.buy + b * 20)
                return true
            end
 
            return false
        elseif a > amount then
            parseInfo[TAG_ITEMCOUNT] = a
            parseInfo[TAG_TOTALCOST] = a * shopItem.buy + 20
            totalCost = parseInfo[TAG_TOTALCOST]
        end
 
        local msg = self.npcHandler:getMessage(MESSAGE_BOUGHT)
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, self.npcHandler:parseMessage(msg, parseInfo))
 
        doPlayerRemoveMoney(cid, totalCost)
        if(NPCHANDLER_CONVBEHAVIOR ~= CONVERSATION_DEFAULT) then
            self.npcHandler.talkStart[cid] = os.time()
        else
            self.npcHandler.talkStart = os.time()
        end
 
        return true
    end

 

Fonte: 

https://otland.net/threads/players-cant-buy-runes-with-bps.159928/

Compartilhar este post


Link para o post
  • 0
bitoca1995    0
bitoca1995

obrigado pela tentativa, porem bugou o sistema todo de npc utilizando esse module, se vc n tiver mais nenhuma carta na manga, vou deixar do jeito que tá mesmo sem comprar potion com bp kkk, só me tira uma duvida por favor, não querendo abusar da tua boa vontade, mas veja se consegue me ajudar... eu peguei aquele tfs 3777 do fire elemental que vc me indicou, nele, ainda não tem a função doPlayerOpenChannel, pois bem, eu adicionei ela e consegui compilar normalmente, porem na hora de abrir o distro, dá aquele erro que tá faltando alguma dll, sendo que continua as mesmas dlls de ante que abriam o tfs normalmente, acredito que nessa função, tem algo novo, que nas dlls não tem, eu tentei trocar pelas novas dlls, tipo a dll lua mais nova, mas n resolveu, sabe me ajudar?

Compartilhar este post


Link para o post
  • 0
bitoca1995    0
bitoca1995

então, aparentemente nenhuma, eu tava usando o distro normal, com as dlls que veio junto, estava tudo certo, a unica mudança que fiz, foi modificar o creatureevent na source, para por o comando doPlayerOpenChannel, a distro compilou normalmente sem nenhum erro, gerou o tfs.exe, coloquei esse tfs.exe no lugar, e após isso, ele dá aquele erro, como se tivesse faltando alguma dll

--Edit1

deu certo, muito obrigado... ainda sobre o problema do tópico, só para especificar melhor, eu consigo comprar coisas com a backpack junto, qualquer tipo de item, menos fluids (mana potion, great mana potion e por ai vai) e runas, eu vi no module dos npcs que tem algo relacionado a iso:

Spoiler
Citar

if(SHOPMODULE_MODE == SHOPMODULE_MODE_TRADE) then
                if(itemid ~= nil and cost ~= nil) then
                    if((isItemRune(itemid) or isItemFluidContainer(itemid)) and subType == nil) then
                        print('[Warning] NpcSystem:', 'SubType missing for parameter item:', item)
                    else
                        self:addBuyableItem(nil, itemid, cost, subType, realName)
                    end
                else
                    print('[Warning] NpcSystem:', 'Parameter(s) missing for item:', itemid, cost)
                end
            elseif(name ~= nil and itemid ~= nil and cost ~= nil) then
                if((isItemRune(itemid) or isItemFluidContainer(itemid)) and subType == nil) then
                    print('[Warning] NpcSystem:', 'SubType missing for parameter item:', item)
                else
                    local names = {}
                    table.insert(names, name)
                    self:addBuyableItem(names, itemid, cost, subType, realName)
                end
            else
                print('[Warning] NpcSystem:', 'Parameter(s) missing for item:', name, itemid, cost)
            end

 

Eu acredito que tenha haver com isso, é tipo um bloqueio só para item de runa e fluids, o que será que é?

--Edit2

Spoiler

eu substitui o modules e o npc.lua e mantive o meu runes.lua, continuou com o mesmo problema, por exemplo, se eu compro uma rod ou wand com backpack, ela vem normal, vem uma backpack com a wand ou rod dentro, agora se eu compro mana potion ou sd, ela vem direto sem backpack, já cai direto na bp principal do char...

ai tentei usar o runes que vc me passou tbm, e ele aparece o seguinte erro: 

Attempt to purchase an item which only sellable...

outro detalhe que encontrei, é que dentro do modules.lua, tem o seguinte comentário:

    --    subType - The subType of each rune or fluidcontainer item. Can be left out if it is not a rune/fluidcontainer. Default value is 1.

eu pesquisei muito aqui, e os modules de varios otservs tem isso, eu retirei toda a parte que fala sobre runeitem e fluidcontainer do modules, rodou de boa, porem o erro continua, se compro runa, potion ou item de stack, ele entrega só o item, o item n vem dentro da backpack, onde será que devo editar? pq to achando que n é nos npcs que está o problema...

pode ser que tenha haver, percebi tbm que é qualquer tipo de charge, eu n consigo comprar com backpack, se eu tentar comprar por exemplo joias, as pedrinha lá, o npc entrega sem a backpack tbm, acredito eu que por ser charge..

testei com o npc de foood tbm, n consigo comprar tipo, 10 carrot com "buy with backpack", agora sem buy with backpack eu consigo... 

 

ATUALIZAÇÃO: troquei a LIB toda do npc, junto com o script do npc de runa, e o problema persiste, então realmente acredito que não seja na pasta NPC que está o problema, será que tem algum outro lugar que controla isso, ou tá direto na source isso?

 

to achando que é algum bloqueio, mas aonde será?

Compartilhar este post


Link para o post
  • 0
grilo13    60
grilo13

Você poderia tentar mudar sua distro, pois a que está usando é de antes de 2010 ou algo assim. Pra você encontrar suporte disso vai ter que ser com pessoas que estão aprendendo ou com dinossauros :P E por incrível que pareça, dinossauros preferem distros atuais do que antigas também.

Todos os tópicos que vi desse problema o pessoal "resolve" vendendo um item chamado, por exemplo, "BP de SD", onde ele compra o item que vem uma BP com SD.

https://github.com/mattyx14/otxserver

Dá uma olhada nesse TFS 1.2 pra outras versões. Acredito que seja mais fácil migrar e ter uma base mais atualizada com inúmeros bugs corrigidos do que ficar apertando tecla que não funciona.

Compartilhar este post


Link para o post
  • 0
Majesty    1755
Majesty

Você pode criar um tópico no suporte da OTland, de repente alguém que ainda mexe com TFS 0.4 pode te ajudar lá:

https://otland.net/forums/support.16/

Caso consiga resolver o problema, volte a este tópico e deixe a solução para ajudar outros usuários que quiserem o NPC com venda de runas/poções dentro da backpack.

 

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×