Postado Dezembro 25, 2016 8 anos Olá galera, estou fazendo esse tópico pois estou com um npc que vende um item q n sei qual é (honor points) e quero muda-lo, quero mudar o item abaixo para qualquer outro, desde que eu saiba qual é esse item, se alguém puder alterar e me mandar eu agradeço. 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 Honor_Storage = 215548 function getHonorPoints(cid) local Honor = getPlayerStorageValue(cid, Honor_Storage) return Honor < 0 and 0 or Honor end local shopWindow = {} local t = { [12632] = {price = 25}, -- Janemba Helmet [12633] = {price = 50}, -- Cell Helmet [12629] = {price = 15}, -- Piccolo Cap [12657] = {price = 15}, -- Super C17 Armor [12660] = {price = 10}, -- Fusion Armor [12680] = {price = 10}, -- Fusion Legs [12694] = {price = 10}, -- Fusion Boots [12662] = {price = 25}, -- Legendary Armor [12681] = {price = 25}, -- Legendary Legs [12695] = {price = 25}, -- Legendary Boots } local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks) if t[item] and getHonorPoints(cid) < t[item].price then selfSay("Voce não tem "..t[item].price.." Honor Points.", cid) else doPlayerAddItem(cid, item) setPlayerStorageValue(cid, Honor_Storage, getPlayerStorageValue(cid, Honor_Storage) - t[item].price) selfSay("Aqui está seu item.", 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 = 0, name = getItemNameById(var)}) end openShopWindow(cid, shopWindow, onBuy, onSell) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Postado Dezembro 25, 2016 8 anos compra o item da look vai ter uma id você pega essa id vai até o script da control+f coloca a id e procura
Postado Dezembro 25, 2016 8 anos Autor 2 minutos atrás, Lost666 disse: compra o item da look vai ter uma id você pega essa id vai até o script da control+f coloca a id e procura o problema que não é item, é points .... já tentei fazer isso, não vai nem a pau
Postado Dezembro 25, 2016 8 anos entendi, esse script funciona com storage, se você quer trocar por gold apenas edite um normal caso queira por item mesmo use o script abaixo local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local Topic = {} 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 (msgcontains(msg, "hello") or msgcontains(msg, "hi")) and (not npcHandler:isFocused(cid)) then npcHandler:say(getPlayerSex(cid) == 0 and "Well hello there lovely lady! How may I help you today?" or "Well hello sir, how may I help you today?", cid) Topic[cid] = 0 npcHandler:addFocus(cid) elseif msgcontains(msg, "cape") and npcHandler:isFocused(cid) then npcHandler:say("I can give you a new {cape} in exchange for a dirty one.", cid) Topic[cid] = 1 elseif Topic[cid] == 1 then if msgcontains(msg, "yes") then if doPlayerRemoveItem(cid, 2237, 1) then npcHandler:say("Here you are.", cid) doPlayerAddItem(cid, 2654, 1) doPlayerAddItem(cid, 2649, 1) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) Topic[cid] = 0 else npcHandler:say("You do not have a dirt cape to exchange.", cid) Topic[cid] = 0 end elseif msgcontains(msg, "no") then npcHandler:say("Okay then.", cid) Topic[cid] = 0 end elseif(not npcHandler:isFocused(cid)) then return false elseif msgcontains(msg, "bye") or msgcontains(msg, "farewell") and npcHander:isFocused(cid) then npcHandler:say("Good bye.", cid, TRUE) Topic[cid] = nil npcHandler:releaseFocus(cid) elseif msgcontains(msg, "job") then npcHandler:say("I can give you a new {cape} in exchange for a dirty one.", cid) Topic[cid] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:setMessage(MESSAGE_WALKAWAY, "Good bye.")
Postado Dezembro 25, 2016 8 anos Esse é o suporte da madrugada kkk !Bom pelo que eu vi no script esses Honor Points não são físicos ou seja são strogs adicionadas ao personagens. Esse npc faz o seguinte :Pesquisa entre as stroagers do player para ver se ele tem. Caso ele tenha ele abate a quantidade de stroagers em troca do item. Por isso não se cria honor Points , você adquire. A não ser que você crie um item que ao clicar nele roda um script adicionando essa stroager no player fazendo com que ele adquira esses ( honor Points )Enviado de meu LG-K350 usando Tapatalk
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.