Postado Junho 27, 2023 2 anos Este é o script que funciona para tfs 1.3 Quero adaptá-lo para canary/otservbr. Preciso separar os itens por seções, por exemplo: runes ou potions ou rings etc... ? Hi runes (abre a opção só de runas) Hi potions (abre a opção só de potions) Abaixo disponibilizo o script que funciona para tfs 1.3 Alguém poderia me ajudar? David Refiller TFS 1.3.lua "Antes de morrer, viva!" http://fast-baiak.com BAIAK 8.60 MAIS COMPLETO DA ATUALIDADE! Se leu eh viado!
Postado Junho 28, 2023 2 anos --Hi! --Buy Runes, Buy Potions e Buy Rings 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 options = { ['potions'] = { {name = 'ultimate mana potion', id = 26029, buy = 438}, {name = 'ultimate health potion', id = 8473, buy = 310}, {name = 'strong health potion', id = 7588, buy = 100}, {name = 'strong mana potion', id = 7589, buy = 80}, }, ['runes'] = { {name = "avalanche rune", id = 2274, buy = 25}, {name = "chameleon rune", id = 2291, buy = 210}, }, ['rings'] = { {name = "ring of healing", id = 2214, buy = 100}, {name = "ring of the sky", id = 2123, buy = 200}, } } local function greetCallback(cid) npcHandler:setMessage(MESSAGE_GREET, "Bem-vindo! O que você gostaria de comprar hoje?") return true end local function creatureSayCallback(cid, type, msg) local player = Player(cid) if not npcHandler:isFocused(cid) then return false end if msgcontains(msg, "potions") then local optionText = "Aqui estão as poções disponíveis para compra:\n" for i, potion in ipairs(options['potions']) do optionText = optionText .. "\n[" .. i .. "] " .. potion.name .. " (" .. potion.buy .. " gold coins)" end npcHandler:say(optionText, cid) elseif msgcontains(msg, "runes") then local optionText = "Aqui estão as runas disponíveis para compra:\n" for i, rune in ipairs(options['runes']) do optionText = optionText .. "\n[" .. i .. "] " .. rune.name .. " (" .. rune.buy .. " gold coins)" end npcHandler:say(optionText, cid) elseif msgcontains(msg, "rings") then local optionText = "Aqui estão os anéis disponíveis para compra:\n" for i, ring in ipairs(options['rings']) do optionText = optionText .. "\n[" .. i .. "] " .. ring.name .. " (" .. ring.buy .. " gold coins)" end npcHandler:say(optionText, cid) elseif msgcontains(msg, "buy") or msgcontains(msg, "comprar") then local parameters = string.explode(msg, ' ') local category = parameters[2] local itemIndex = tonumber(parameters[3]) if category and itemIndex then local itemList = options[category] if itemList then local item = itemList[itemIndex] if item then local itemId = item.id local itemPrice = item.buy if player:getMoney() >= itemPrice then player:addItem(itemId, 1) player:removeMoney(itemPrice) npcHandler:say("Aqui está o seu " .. item.name .. ". Obrigado pela compra!", cid) else npcHandler:say("Desculpe, você não possui dinheiro suficiente para comprar este item.", cid) end else npcHandler:say("Desculpe, esse não é um item válido.", cid) end else npcHandler:say("Desculpe, essa não é uma categoria válida.", cid) end else npcHandler:say("Desculpe, comando inválido. Use 'buy category itemNumber'.", cid) end else return false end return true end npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código. #OpenSource #Programação #Contribuição
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.