Ir para conteúdo

Sistema de entrega de bps variadas


Poccnn

Posts Recomendados

Esse sistema eu criei a muito tempo para quando um player compra pots e runas no npc, ele entregue uma bolsa mais adequada para cada tipo de pot e runa comprada nele.

 

Abra o  arquivo npc/libs/modulos.lua

 

Procure pela função:

Citar

function ShopModule:callbackOnBuy(cid, itemid, subType, amount, ignoreCap, inBackpacks, realName) 

 

Dentro dessa função, procure pela variável chamada backpack ou backpackid (não lembro como estava escrito exatamente, pois faz muito tempo que modifiquei) e apague ela.

 

No lugar onde ela estava, adicione isso:

Citar

local bp = { -- Marcryzius 
   -- [bp id] = {pots/runas} 
      [3940] = {2285,2286,2287,2288,2289,2290,2291,2292}, -- green camouflage bp 
      [10518] = {7588,7591,7618,8473, 2301,2302,2303,2304,2305,2306,2307,2308}, -- red demon bp 
      [11238] = {7589,7590,7620, 2309,2310,2311,2312,2313,2314,2315,2316,8472}, -- purple minotaur bp 
      [10521] = {2269,2270,2271,2272,2273,2274,2275,2276}, -- blue moon bp 
      [5926] = {2260,2261,2262,2263,2264,2265,2266,2267,2268},  --grey pirate bp 
      [10522] = {2293,2294,2295,2296,2297,2298,2299,2300}, -- golden crown bp 
      [11235] = {2277,2278,2279,2280,2281,2282,2283,2284}, -- expedition bp 
   } 
   local backpack = (getPlayerVocation(cid) == 0) and 1987 or getBpToTrade(bp,itemid) 

 

Salve e pode fechar o arquivo. 

 

Agora abra o arquivo data/libs/050-functions.lua

Adicione essa função nele:

Citar

function getBpToTrade(struct,itemid) --[[( Marcryzius )]]-- 
local itemid = tonumber(itemid) 
   if not(type(struct) == 'table' or type(itemid) == 'number')then 
   return false,print('NPCS Modules -> ShopModule; function getBpToTrade: struct or itemid invalid') end 
   for bp,v in pairs(struct) do 
      if(type(v) == 'table')then 
         for _,id in pairs(v) do 
            if(id == itemid)then return bp end 
         end 
      end 
   end 
   return 1988 
end 

 

Salve e pode fechar o arquivo. 

 

Agora toda vez que alguém for comprar algum item listado na tabela bp, ele receberá  (caso ele queira compra em bps) uma backpack correspondente ao item que ele comprou.

 

Essa inserção desse sistema foi feito para a versão tfs 0.3.6 - 8.54; não sei se funciona em outras versões. 

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...