Postado Março 28, 2015 10 anos Solução Testa ai: 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local shopWindow = {} local t = { [2195] = {price = 15}, [2493] = {price = 25}, [8931] = {price = 100} } local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks) if t[item] and getPoints(cid) < t[item].price then selfSay("você não tem "..t[item].price.." points", cid) else doPlayerAddItem(cid, item) doPlayerRemovePoints(cid, t[item].price) selfSay("aqui está seu item!", cid) end return true end local onSell = function(cid, item, subType, amount, ignoreCap, inBackpacks) if getPoints(cid) >= 0 then doPlayerRemoveItem(cid, item, 1) doPlayerAddPoints(cid, t[item].price) selfSay("Você vendeu o item por "..t[item].price.." points.", cid) end return true end if (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))then for var, ret in pairs(t) do table.insert(shopWindow, {id = var, subType = 0, buy = ret.price, sell = ret.price, name = getItemNameById(var)}) end openShopWindow(cid, shopWindow, onBuy, onSell) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Postado Março 28, 2015 10 anos Autor funcionou cara, você é demais ><' Reputado Ediit: no npc aparece que o item vale "ex: 20 golds" ao inves de points, isso eh normal ? Editado Março 28, 2015 10 anos por subhe (veja o histórico de edições)
Postado Março 28, 2015 10 anos funcionou cara, você é demais ><' Reputado Ediit: no npc aparece que o item vale "ex: 20 golds" ao inves de points, isso eh normal ? Sim, esse é o "problema" desses sistemas, pois simula um trade e no padrão está para mostrar gold.
Postado Março 28, 2015 10 anos @subhe se sua dúvida/pedido foi sanado peço que marque o post do colega acima como melhor resposta pro tópico ficar como resolvido.
Postado Março 30, 2015 10 anos @wakon Tem alguma maneira de eu por este points para ser adquiridos em algum evento? Ou algo do tipo?
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.