-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
- 0 respostas
- 1228 visualizações
-
- 0 respostas
- 936 visualizações
-
- 1 resposta
- 2154 visualizações
-
- 1 resposta
- 1134 visualizações
-
- 0 respostas
- 620 visualizações
-
Pergunta
Fjinst 36
Olá, gostaria de pedir um favor para vocês, tenho dois npcs aqui comigo, um que vende items só por moeda especifica e outro que vende magias abrindo o module trade
Gostaria de pedir para juntar esses dois npcs no sentido que o npc que vende magia pelo trade, só venda por moeda especifica, só isso
Resumindo: Npc de magia que vende a magia por moeda especifica.
Segue abaixo os dois npcs que tenho
Npc que vende por moeda especifica
local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)local talkState = {}function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endfunction creatureSayCallback(cid, type, msg)if(not npcHandler:isFocused(cid)) thenreturn falseendlocal talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cidlocal itemid = 2137 -- Novos points ( default é scarab coin )local shopWindow = {}local t = { [8201] = {price = 2}, [8203] = {price = 3}, [8202] = {price = 4}, [8204] = {price = 5}, [8205] = {price = 10}, [2524] = {price = 10}, [9093] = {price = 10}, [9050] = {price = 10}, [9083] = {price = 10}, [9099] = {price = 5}, [9098] = {price = 20}, [9097] = {price = 3} }local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)if t[item] and getPlayerItemCount(cid, itemid) < t[item].price thenselfSay("you do not have "..t[item].price.." scarab coin.", cid)elsedoPlayerAddItem(cid, item)doPlayerRemoveItem(cid, itemid, (t[item].price))selfSay("Here you item", cid) endreturn trueendif (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))thenfor var, ret in pairs(t) dotable.insert(shopWindow, {id = var, subType = 0, buy = ret.price, sell = 0, name = getItemNameById(var)})endopenShopWindow(cid, shopWindow, onBuy, onSell)endreturn trueendnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new())
Npc que vende magia por modulo trade
local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)local talkState = {}function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endfunction creatureSayCallback(cid, type, msg)if(not npcHandler:isFocused(cid)) thenreturn falseendlocal talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cidlocal shopWindow = {}local spells = {{id=2260, buy = 100, name = "Exori Mas Light", spell_name = "Exori Mas Light", vocations = {1,2,3,4,5,6,7,8}, level = 125}}local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)if not getPlayerLearnedInstantSpell(cid, shopWindow[item].Words) thenif getPlayerLevel(cid) >= shopWindow[item].Level thenif isInArray(shopWindow[item].Vocs, getPlayerVocation(cid)) thendoPlayerRemoveMoney(cid, shopWindow[item].Price)doPlayerLearnInstantSpell(cid, shopWindow[item].Words)npcHandler:say("Voce aprendeu uma magia chamada "..shopWindow[item].Words, cid)elsenpcHandler:say("Voce nao possui classe suficiente para adquirir essa magia.", cid)endelsenpcHandler:say("Voce precisa ter nivel "..shopWindow[item].Level.." ou mais para comprar essa magia.", cid)endelsenpcHandler:say("Voce ja adquiriu essa magia.", cid)endreturn trueendif msgcontains(msg, 'trade') or msgcontains(msg, 'magias') thenfor var, item in pairs(spells) doshopWindow[item.id] = {Level = item.level, Vocs = item.vocations, item_id = item.id, Price = item.buy, subType = 0, Words = item.spell_name, SpellName = item.name}endopenShopWindow(cid, spells, onBuy, onSell)endreturn trueendnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new())
Ambos npcs não são de minha autoria, se eu lembrasse de qual post eu tirei, eu colocaria os creditos respectivos, enfim, agradeço pela ajuda.
Editado por FjinstPequena Correção.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados