Postado Março 22, 2018 7 anos Abri um OT 8.60 recentemente, porém desde quando abri ele os NPC's estão com um bug. Ex. Quando eu crio um NPC ./n Loot Buyer, ele cria normal, falo hi,trade ele funciona normal, mostra tudo que ele vende, porém.... Quando vou criar outro NPC, ./n Mage Seller, ele não responde o hi, só me responde se eu falar "trade" e quando mostra os items pra vender, ele vende tudo que o Loot Buyer vende, e assim por diante, se eu criar um Soft Boots Seller, ele vende tudo que o Loot buyer vende. Alguem sabe resolver?
Postado Março 22, 2018 7 anos Autor 16 minutos atrás, Weslley Kiyo disse: Posta os scripts .xml e .lua(se existir) dos npcs Loot Buyer.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Loot Buyer" script="data/npc/scripts/loot.lua" walkinterval="2000" floorchange="0"> <health now="150" max="150"/> <look type="155" head="79" body="114" legs="71" feet="0" addons="3"/> <parameters> <parameter key="module_shop" value="1"/> <parameter key="message_greet" value="Hello |PLAYERNAME|. I buy swords, clubs, axes, helmets, boots, legs, shields and armors."/> <parameter key="shop_sellable" value="royal helmet,2498,40000;warrior helmet,2475,6000;crusader helmet,2497,9000;crown helmet,2491,5000;devil helmet,2462,4000;mystic turban,2663,500;chain helmet,2458,35;iron helmet,2459,30;steel boots,2645,60000;boots of haste,2195,40000;golden boots,2646,100000;magic plate armor,2472,100000;dragon scale mail,2492,60000;demon armor,2494,90000;golden armor,2466,30000;crown armor,2487,20000;knight armor,2476,5000;blue robe,2656,15000;lady armor,2500,2500;plate armor,2463,400;brass armor,2465,200;chain armor,2464,100;golden legs,2470,80000;crown legs,2488,15000;knight legs,2477,6000;plate legs,2647,500;brass legs,2487,100;mastermind shield,2514,80000;demon shield,2520,40000;blessed shield,2523,150000;great shield,2522,100000;magma boots,7891,100000;nightmare shield,6391,100000;frozen starlight,2361,120000;vampire shield,2534,25000;medusa shield,2536,8000;amazon shield,2537,4000;crown shield,2519,5000;tower shield,2528,4000;guardian shield,2515,200;beholder shield,2518,1500;dwarven shield,2525,100;magic longsword,2390,150000;warlord sword,2408,100000;magic sword,2400,90000;giant sword,2393,10000;bright sword,2407,6000;ice rapier,2396,4000;fire sword,2392,3000;serpent sword,2409,1500;spike sword,2383,800;two handed sword,2377,400;broad sword,2413,70;short sword,2406,30;sword,2376,25;dragon lance,2414,10000;stonecutter axe,2431,90000;guardian halberd,2427,7500;fire axe,2432,10000;knight axe,2430,2000;double axe,2387,200;halberd,2381,200;battle axe,2378,100;hatchet,2388,20;war hammer,2391,6000;thunder hammer,2421,90000;skull staff,2436,1000;dragon hammer,2434,2000;clerical mace,2423,200;battle hammer,2417,60;mace,2398,30;"/> </parameters> </npc> Loot Buyer.script 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 -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! keywordHandler:addKeyword({'helmets'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy royal (40k), warrior (6k), crusader (9k), crown (5k), devil (4k), chain (35gp) and iron helmets (30gp), also mystic turbans (500gp).'}) keywordHandler:addKeyword({'boots'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy golden boots (100k), steel boots (40k) and boots of haste (40k).'}) keywordHandler:addKeyword({'armors'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy golden (30k), crown (20k), knight (5k), lady (7,5k), plate (400gp), brass (200gp) and chain armors (100gp), also mpa (100k), dsm (60k) and blue robes (15k).'}) keywordHandler:addKeyword({'legs'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy golden (80k), crown (15k), knight (6k), plate (500gp) and brass legs (100gp).'}) keywordHandler:addKeyword({'shields'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy blessed (150k), great (100k), demon (40k), vampire (25k), medusa (8k), amazon (4k), crown (5k), tower (4k), dragon (3k), guardian (2k), beholder (1k), and dwarven shields (100gp), also mms (80k).'}) keywordHandler:addKeyword({'swords'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy giant (10k), bright (6k), fire (3k) serpent (1.5k), spike (800gp) and two handed swords (400gp), also ice rapiers (4k), magic longswords (150k), magic swords (90k), warlord swords (100k) broad swords (70gp), short swords (30gp), sabres (25gp) and swords (25gp).'}) keywordHandler:addKeyword({'axes'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy fire (10k), guardian halberds (7,5k) knight (2k), double (200gp) and battle axes (100gp), also dragon lances (10k), stonecutters axes (90k), halberds (200gp) and hatchets (20gp).'}) keywordHandler:addKeyword({'clubs'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy thunder hammers (90k), war (6k), dragon (2k) and battle hammers (60gp), also skull staffs (10k) and clerical maces (200gp).'}) npcHandler:addModule(FocusModule:new()) Mage Seller.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Mage Seller" script="data/npc/scripts/runes.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="130" head="39" body="114" legs="114" feet="94" addons="1"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Eu vendo runes, potions e etc. Diga {trade}."/> <parameter key="message_decline" value="Is |TOTALCOST| gold coins too much for you? Get out of here!"/> </parameters> </npc> Mage Seller.script 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 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 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 intense healing'}, 2000, 2265, 1900, 25, 'backpack of intense healing rune') shopModule:addBuyableItemContainer({'bp blank rune'}, 2000, 2260, 200, 25, 'backpack of blank rune') shopModule:addBuyableItemContainer({'bp ultimate healing'}, 2000, 2273, 3500, 25, 'backpack of ultimate healing rune') shopModule:addBuyableItemContainer({'bp magic wall'}, 2000, 2293, 7000, 25, 'backpack of magic wall rune') shopModule:addBuyableItemContainer({'bp destroy field'}, 2000, 2261, 900, 25, 'backpack of destroy field rune') shopModule:addBuyableItemContainer({'bp light magic missile'}, 2000, 2287, 800, 25, 'backpack of light magic missile rune') shopModule:addBuyableItemContainer({'bp heavy magic missile'}, 2000, 2311, 2400, 25, 'backpack of heavy magic missile rune') shopModule:addBuyableItemContainer({'bp great fireball'}, 2000, 2304, 3600, 25, 'backpack of great fireball rune') shopModule:addBuyableItemContainer({'bp explosion'}, 2000, 2313, 5000, 25, 'backpack of explosion rune') shopModule:addBuyableItemContainer({'bp sudden death'}, 2000, 2268, 6500, 25, 'backpack of sudden death rune') shopModule:addBuyableItemContainer({'bp mage sd'}, 2000, 2263, 2000000, 100, 'backpack of mage sd rune') shopModule:addBuyableItemContainer({'bp paralyze'}, 2000, 2278, 14000, 25, 'backpack of paralyze rune') shopModule:addBuyableItemContainer({'bp animate dead'}, 2000, 2316, 6500, 25, 'backpack of animate dead rune') shopModule:addBuyableItemContainer({'bp convince creature'}, 2000, 2290, 1600, 25, 'backpack of convince creature rune') shopModule:addBuyableItemContainer({'bp chameleon'}, 2000, 2291, 4200, 25, 'backpack of chameleon rune') shopModule:addBuyableItemContainer({'bp desintegrate'}, 2000, 2310, 1600, 25, 'backpack of desintegreate rune') shopModule:addBuyableItemContainer({'bp icicle'}, 2000, 2271, 2000, 25, 'backpack of icicle rune') shopModule:addBuyableItemContainer({'bp stalagmite'}, 2000, 2292, 2000, 25, 'backpack of stalagmite rune') shopModule:addBuyableItemContainer({'bp avalanche'}, 2000, 2274, 2000, 25, 'backpack of avalanche rune') shopModule:addBuyableItemContainer({'bp stone shower'}, 2000, 2288, 2000, 25, 'backpack of stone shower rune') shopModule:addBuyableItem({'instense healing'}, 2265, 95, 25, 'intense healing rune') shopModule:addBuyableItem({'blank rune'}, 2260, 10, 1, 'blank rune') shopModule:addBuyableItem({'ultimate healing'}, 2273, 175, 25, 'ultimate healing rune') shopModule:addBuyableItem({'magic wall'}, 2293, 350, 25, 'magic wall rune') shopModule:addBuyableItem({'light magic missile'}, 2287, 40, 25, 'light magic missile rune') shopModule:addBuyableItem({'heavy magic missile'}, 2311, 120, 25, 'heavy magic missile rune') shopModule:addBuyableItem({'great fireball'}, 2304, 180, 25, 'great fireball rune') shopModule:addBuyableItem({'explosion'}, 2313, 250, 25, 'explosion rune') shopModule:addBuyableItem({'sudden death'}, 2268, 350, 25, 'sudden death rune') shopModule:addBuyableItem({'mage sd'}, 2263, 100000, 100, 'mage sd rune') shopModule:addBuyableItem({'creat bomb'}, 2264, 100000, 25, 'creat bomb rune') shopModule:addBuyableItem({'paralyze'}, 2278, 700, 25, 'paralyze rune') shopModule:addBuyableItem({'animate dead'}, 2316, 375, 25, 'animate dead rune') shopModule:addBuyableItem({'convince creature'}, 2290, 80, 25, 'convince creature rune') shopModule:addBuyableItem({'chameleon'}, 2291, 210, 25, 'chameleon rune') shopModule:addBuyableItem({'desintegrate'}, 2310, 80, 25, 'desintegreate rune') shopModule:addBuyableItem({'icicle'}, 2271, 100, 25, 'icicle rune') shopModule:addBuyableItem({'stalagmite'}, 2292, 100, 25, 'stalagmite rune') shopModule:addBuyableItem({'avalanche'}, 2274, 100, 25, 'avalanche rune') shopModule:addBuyableItem({'stone shower'}, 2288, 100, 25, 'stone shower 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 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, 'wand of vortex') shopModule:addBuyableItem({'wand of dragonbreath', 'dragonbreath'}, 2191, 1000, 'wand of dragonbreath') shopModule:addBuyableItem({'wand of decay', 'decay'}, 2188, 5000, 'wand of decay') shopModule:addBuyableItem({'wand of draconia', 'draconia'}, 8921, 7500, 'wand of draconia') shopModule:addBuyableItem({'wand of cosmic energy', 'cosmic energy'}, 2189, 10000, 'wand of cosmic energy') shopModule:addBuyableItem({'wand of inferno', 'inferno'}, 2187, 15000, 'wand of inferno') shopModule:addBuyableItem({'wand of starstorm', 'starstorm'}, 8920, 18000, 'wand of starstorm') shopModule:addBuyableItem({'snakebite rod', 'snakebite'}, 2182, 500, 'snakebite rod') shopModule:addBuyableItem({'moonlight rod', 'moonlight'}, 2186, 1000, 'moonlight rod') shopModule:addBuyableItem({'necrotic rod', 'necrotic'}, 2185, 5000, 'necrotic rod') shopModule:addBuyableItem({'terra rod', 'terra'}, 2181, 10000, 'terra rod') shopModule:addBuyableItem({'hailstorm rod', 'hailstorm'}, 2183, 15000, 'hailstorm rod') shopModule:addBuyableItem({'springsprout rod', 'springsprout'}, 8912, 18000, 'springsprout rod') shopModule:addBuyableItem({'underworld rod', 'underworld'}, 8910, 22000, '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'}, 7958, 9000, 'wand of starstorm') npcHandler:addModule(FocusModule:new()) Não vou postar todos porque até NPC que nem vende item bugou junto(NPC que troca o sexo, passou a vender também).
Postado Abril 13, 2018 7 anos posta o arquivo ..\data\NPC\Lib\NPC.lua e o arquivo ..data\npc\scripts\default.lua n conheço tanto de 8.6.. mais pelo q sei, n tem nada de errado nos npc.. oq parece eh q vc tah usando script de tfs 1.0 em um server 0.4...
Postado Abril 13, 2018 7 anos Autor 1 hora atrás, HolyMaN disse: posta o arquivo ..\data\NPC\Lib\NPC.lua e o arquivo ..data\npc\scripts\default.lua n conheço tanto de 8.6.. mais pelo q sei, n tem nada de errado nos npc.. oq parece eh q vc tah usando script de tfs 1.0 em um server 0.4... Agora os NPC's nem respondem cara.. falo hi, eles nem respondem :\ npc.lua -- Include the Advanced NPC System dofile('data/npc/lib/npcsystem/npcsystem.lua') function doMessageCheck(message, keyword) if(type(keyword) == "table") then return table.isStrIn(keyword, message) else local a, b = message:lower():find(keyword:lower()) if(a ~= nil and b ~= nil) then return true end end return false end function selfGotoIdle() following = false attacking = false selfAttackCreature(0) target = 0 end function selfMoveToCreature(id) if(id == 0 or id == nil) then selfGotoIdle() end local t = {} t.x, t.y, t.z = getCreaturePosition(id) if(t.x == nil) then selfGotoIdle() else moveToPosition(t.x, t.y, t.z) end end function getDistanceToCreature(id) if(id == 0 or id == nil) then selfGotoIdle() end local c = {} c.x, c.y, c.z = getCreaturePosition(id) if(c.x == nil) then return nil end local s = {} s.x, s.y, s.z = selfGetPosition() if(s.z ~= c.z) then return nil end return math.max(math.abs(s.x - c.x), math.abs(s.y - c.y)) end function doNpcSellItem(cid, itemid, amount, subType, ignoreCap, inBackpacks, backpack) local amount = amount or 1 local subType = subType or 0 local ignoreCap = ignoreCap and TRUE or FALSE local item = 0 if(isItemStackable(itemid) == TRUE) then item = doCreateItemEx(itemid, amount) 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, 1) local b = 1 for i = 1, amount do item = doAddContainerItem(container, itemid, subType) if(itemid == ITEM_PARCEL) then doAddContainerItem(item, ITEM_LABEL) end if(isInArray({(getContainerCapById(backpack) * b), amount}, i) == TRUE) then if(doPlayerAddItemEx(cid, container, ignoreCap) ~= RETURNVALUE_NOERROR) then break end a = i if(amount > i) then container = doCreateItemEx(backpack, 1) b = b + 1 end end end return a, b end for i = 1, amount do item = doCreateItemEx(itemid, subType) if(itemid == ITEM_PARCEL) then doAddContainerItem(item, ITEM_LABEL) end if(doPlayerAddItemEx(cid, item, ignoreCap) ~= RETURNVALUE_NOERROR) then break end a = i end return a, 0 end function doPosRemoveItem(_itemid, n, position) local thing = getThingFromPos({x = position.x, y = position.y, z = position.z, stackpos = 1}) if(thing.itemid == _itemid) then doRemoveItem(thing.uid, n) return true end return false end function isPlayerPremiumCallback(cid) return isPremium(cid) == TRUE end function selfSayChannel(cid, message) return selfSay(message, cid, FALSE) end msgcontains = doMessageCheck moveToPosition = selfMoveTo moveToCreature = selfMoveToCreature selfMoveToPosition = selfMoveTo doNpcBuyItem = doPlayerRemoveItem default.lua 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 npcHandler:addModule(FocusModule:new())
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.