Postado Abril 8, 2017 8 anos Autor Arquivo luckypoints.lua atualizado dia 08/04/17 para correção de erros nas variáveis anycreature e ignorecfg, feedback do erro por @Semideus Life is so meaningless, there is nothing worth a smile So goodbye, I'll miss you sugestões?
Postado Abril 15, 2017 8 anos Em 16/3/2017 ás 18:51, rogaforyn2 disse: Lucky Coins Lucky Coins é um sistema para configurar determinados monstros ou todos os monstros do servidor para droparem Lucky Coins com uma determinada rate, com elas é possível programar itens para serem comprados, visando itens vip, que com varias LCs é possível obter, ou qualquer tipo de item. Não sei já tem algo parecido to nem aí tb Configurações - Mudança por variáveis em alguns textos. - ID Modal configurável. - Efeito ao ganhar a coin pode ser ativado e mudado. - Itens e preços configuráveis. - Pode substituir as rates com a sua ou não, sem mudar em todos monstros. - Dá pra habilitar em todos os monstros e deixar alguns com rates diferentes. - Boost 2x, 3x, 4x em tudo apenas com uma variável. Instalação creaturescripts.xml: <event type="kill" name="LuckyPoints" script="luckypoints.lua"/> <event type="ModalWindow" name="ModalWindow_LuckyCoins" script="modalluckycoins.lua"/> talkactions.xml <!-- lucky coins --> <talkaction words="!luckycoins" separator=" " script="luckycoinstalk.lua" /> creaturescripts/scripts/ luckypoints.lua Ocultar conteúdo --: Configurações Gerais :-- local storage = 32143 --: Storage do script local msg = "You have found a lucky coin, say !luckycoins for more info." --: Mensagem ao jogador quando recebe uma coin local showqtd = 1 --: Mostrar QTD de coins na msg? 1-Sim, 0-Não local qtdtext = "You have" --: Texto que mostra antes da qtd de lucky coins, ex: você pode trocar para 'voce tem' --: VISUAL :-- local enableeffect = 1 --: Mostrar efeito ao pegar a coin(ajuda a visualizar melhor)? 1 - Sim, 0 - Não. local effect = CONST_ME_FERUMBRAS --: Efeito para mostrar, só é usado se for habilitado --: RATES :-- local boost = 1 --: Aumenta as chances de obter coins para todos os monstros. 1 = 1x, 2 = 2x etc... local anycreature = 1 --: Todas as criaturas podem dropar. 0 - Não, 1 - Sim. local anycrate = 20 --: Chance de dropar em qlqr criatura 200 = 0,005% local ignorecfg = 1 --: Ignorar as chances da configuração? 1=sim 0=não --: Nota: ignorecfg = 1 faz com que todas as chances passem a ser da anycrate, independente da cfg --: Altere os monstros, o nome e o a chance de obter a coin :-- local config = { -- Quanto maior for o valor, menores são as chances de conseguir a coin ["Demon"] = {chance = 600}, -- 600 significa a chance de um em 600 ["Ferumbras"] = {chance = 30}, -- 30 significa a chance de uma em 30... etc ["Rat"] = {chance = 1}, -- 100% de chance ["Rotworm"] = {chance = 2}, -- 50% de chance ["Dog"] = {chance = 10} -- 10% de chance } function onKill(cid, target, lastHit) if (isPlayer(target)) then return true end local monster = getCreatureName(target) local rand if (ignorecfg ~= 1) then for index, arraymonster in ipairs(config) do if ((arraymonster ~= monster) and (anycreature == 0)) then return true end end if (((config[monster])) == nil) then rand = anycrate else rand = ((config[monster].chance) / boost) end else rand = anycrate end local storageatual = getPlayerStorageValue(cid, storage) local plural = "s" local qtd = "" if (rand < 1) then rand = 1 end if (storageatual == 1) then plural = "" end if (showqtd == 1) then qtd = " " .. qtdtext .. " " .. storageatual + 1 .. " lucky coin" .. plural .. "." end if (math.random(rand) == 1) then setPlayerStorageValue(cid, storage, storageatual + 1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, msg .. qtd) if (enableeffect == 1) then doSendMagicEffect(getPlayerPosition(cid), effect) end end return true end modalluckycoins.lua Ocultar conteúdo --: Configurações Gerais :-- local storage = 32143 --: Storage do script, a mesma do creaturescript luckypoints.lua e do talk local modalid = 1053 --: O mesmo valor que na luckycoinstalk function onModalWindow(player, modalWindowId, buttonId, choiceId) player:unregisterEvent("ModalWindow_LuckyCoins") if modalWindowId == modalid then if buttonId == 100 and choiceId ~= nil and choiceId ~= 255 then local itemprice = (lucky_items[ordem[choiceId]].price) local pstorage = (player:getStorageValue(storage)) local itemid = (ordem[choiceId]) if ((pstorage) >= (itemprice)) then player:setStorageValue(storage, (pstorage - itemprice)) player:addItem(itemid, 1) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You bought a " .. (ItemType(itemid):getName()) .. " for " .. (itemprice) .. " coin(s)." ) else player:sendCancelMessage('You dont have enough lucky coins.') end end end end talkactions/scripts/ luckycoinstalk.lua Ocultar conteúdo --: Configurações Gerais :-- local storage = 32143 --: Storage do script, a mesma do creaturescript luckypoints.lua local msg = "Lucky Coins are used here to buy vip items by playing the game. You can buy it at our shop, tp at temple." --: Mensagem sobre o sistema local msgtwo = "You can view your luckycoins by typing !luckycoins amount." --: Só mostra se não tiver o parametro local msgbuy = "These are the items that you can buy: Soft Boots" local modalid = 1053 --: O mesmo valor que na luckycoinstalk --: AMOUNT :-- local qtdtext = "You have" --: Texto que mostra antes da qtd de lucky coins, ex: você pode trocar para 'voce tem' --: BUY :-- local title = "Buy items with your lucky coins!" --: Titulo da tela local message = "Click to buy a item!" --: Conteudo da msg, apos ela é mostrado o num de lucky coins --: ITENS COMPRAVEIS :-- -- [ID DO ITEM] = {price = PREÇODOITEM}, lucky_items = { [6132] = {price = 1}, -- SOFT BOOTS [2514] = {price = 3}, -- MMS [2537] = {price = 5}, -- Amazon Shield [2499] = {price = 10}, -- Amazon Helmet [2500] = {price = 100} -- Amazon Armor } ordem = {} --MAX de 254 itens function onSay(player, words, param) local storageatual = player:getStorageValue(storage) local plural = "s" local qtd = "" if (storageatual < 0) then storageatual = 0 player:setStorageValue(storage, 0) end if (storageatual == 1) then plural = "" end qtd = " " .. qtdtext .. " " .. storageatual .. " lucky coin" .. plural .. "." if (param == "amount") then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, qtd) elseif (param == "buy") then --if (onlypz == 1 and player:isPzLocked()) then player:sendCancelMessage('You are not in protection zone.') return false end adições futuras for k in pairs (ordem) do ordem [k] = nil end player:registerEvent("ModalWindow_LuckyCoins") local window = ModalWindow(modalid, title, message .. qtd) window:addButton(100, "Buy") window:addButton(101, "Cancel") for k in pairs(lucky_items) do table.insert(ordem, k) end table.sort(ordem) for i = 1, #ordem do local k, v = ordem[i], lucky_items[ ordem[i] ] window:addChoice(i, string.upper((ItemType(k):getName())) .. " - " .. lucky_items[k].price .. " " .. "lucky coin(s)") end window:setDefaultEnterButton(100) window:setDefaultEscapeButton(101) window:sendToPlayer(player) else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, msg .. " " .. msgtwo) end return false end Screenshots Créditos Eu Ao matar demônios ou rat, eu não obter as lucky coins, que isso é devido?
Postado Abril 26, 2017 8 anos Em 2017-3-16 ás 21:51, rogaforyn2 disse: Lucky Coins Lucky Coins é um sistema para configurar determinados monstros ou todos os monstros do servidor para droparem Lucky Coins com uma determinada rate, com elas é possível programar itens para serem comprados, visando itens vip, que com varias LCs é possível obter, ou qualquer tipo de item. Não sei já tem algo parecido to nem aí tb Configurações - Mudança por variáveis em alguns textos. - ID Modal configurável. - Efeito ao ganhar a coin pode ser ativado e mudado. - Itens e preços configuráveis. - Pode substituir as rates com a sua ou não, sem mudar em todos monstros. - Dá pra habilitar em todos os monstros e deixar alguns com rates diferentes. - Boost 2x, 3x, 4x em tudo apenas com uma variável. Instalação creaturescripts.xml: <event type="kill" name="LuckyPoints" script="luckypoints.lua"/> <event type="ModalWindow" name="ModalWindow_LuckyCoins" script="modalluckycoins.lua"/> talkactions.xml <!-- lucky coins --> <talkaction words="!luckycoins" separator=" " script="luckycoinstalk.lua" /> creaturescripts/scripts/ luckypoints.lua Ocultar conteúdo --: Configurações Gerais :-- local storage = 32143 --: Storage do script local msg = "You have found a lucky coin, say !luckycoins for more info." --: Mensagem ao jogador quando recebe uma coin local showqtd = 1 --: Mostrar QTD de coins na msg? 1-Sim, 0-Não local qtdtext = "You have" --: Texto que mostra antes da qtd de lucky coins, ex: você pode trocar para 'voce tem' --: VISUAL :-- local enableeffect = 1 --: Mostrar efeito ao pegar a coin(ajuda a visualizar melhor)? 1 - Sim, 0 - Não. local effect = CONST_ME_FERUMBRAS --: Efeito para mostrar, só é usado se for habilitado --: RATES :-- local boost = 1 --: Aumenta as chances de obter coins para todos os monstros. 1 = 1x, 2 = 2x etc... local anycreature = 1 --: Todas as criaturas podem dropar. 0 - Não, 1 - Sim. local anycrate = 20 --: Chance de dropar em qlqr criatura 200 = 0,005% local ignorecfg = 1 --: Ignorar as chances da configuração? 1=sim 0=não --: Nota: ignorecfg = 1 faz com que todas as chances passem a ser da anycrate, independente da cfg --: Altere os monstros, o nome e o a chance de obter a coin :-- local config = { -- Quanto maior for o valor, menores são as chances de conseguir a coin ["Demon"] = {chance = 600}, -- 600 significa a chance de um em 600 ["Ferumbras"] = {chance = 30}, -- 30 significa a chance de uma em 30... etc ["Rat"] = {chance = 1}, -- 100% de chance ["Rotworm"] = {chance = 2}, -- 50% de chance ["Dog"] = {chance = 10} -- 10% de chance } function onKill(cid, target, lastHit) if (isPlayer(target)) then return true end local monster = getCreatureName(target) local rand if (ignorecfg ~= 1) then for index, arraymonster in ipairs(config) do if ((arraymonster ~= monster) and (anycreature == 0)) then return true end end if (((config[monster])) == nil) then rand = anycrate else rand = ((config[monster].chance) / boost) end else rand = anycrate end local storageatual = getPlayerStorageValue(cid, storage) local plural = "s" local qtd = "" if (rand < 1) then rand = 1 end if (storageatual == 1) then plural = "" end if (showqtd == 1) then qtd = " " .. qtdtext .. " " .. storageatual + 1 .. " lucky coin" .. plural .. "." end if (math.random(rand) == 1) then setPlayerStorageValue(cid, storage, storageatual + 1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, msg .. qtd) if (enableeffect == 1) then doSendMagicEffect(getPlayerPosition(cid), effect) end end return true end modalluckycoins.lua Ocultar conteúdo --: Configurações Gerais :-- local storage = 32143 --: Storage do script, a mesma do creaturescript luckypoints.lua e do talk local modalid = 1053 --: O mesmo valor que na luckycoinstalk function onModalWindow(player, modalWindowId, buttonId, choiceId) player:unregisterEvent("ModalWindow_LuckyCoins") if modalWindowId == modalid then if buttonId == 100 and choiceId ~= nil and choiceId ~= 255 then local itemprice = (lucky_items[ordem[choiceId]].price) local pstorage = (player:getStorageValue(storage)) local itemid = (ordem[choiceId]) if ((pstorage) >= (itemprice)) then player:setStorageValue(storage, (pstorage - itemprice)) player:addItem(itemid, 1) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You bought a " .. (ItemType(itemid):getName()) .. " for " .. (itemprice) .. " coin(s)." ) else player:sendCancelMessage('You dont have enough lucky coins.') end end end end talkactions/scripts/ luckycoinstalk.lua Ocultar conteúdo --: Configurações Gerais :-- local storage = 32143 --: Storage do script, a mesma do creaturescript luckypoints.lua local msg = "Lucky Coins are used here to buy vip items by playing the game. You can buy it at our shop, tp at temple." --: Mensagem sobre o sistema local msgtwo = "You can view your luckycoins by typing !luckycoins amount." --: Só mostra se não tiver o parametro local msgbuy = "These are the items that you can buy: Soft Boots" local modalid = 1053 --: O mesmo valor que na luckycoinstalk --: AMOUNT :-- local qtdtext = "You have" --: Texto que mostra antes da qtd de lucky coins, ex: você pode trocar para 'voce tem' --: BUY :-- local title = "Buy items with your lucky coins!" --: Titulo da tela local message = "Click to buy a item!" --: Conteudo da msg, apos ela é mostrado o num de lucky coins --: ITENS COMPRAVEIS :-- -- [ID DO ITEM] = {price = PREÇODOITEM}, lucky_items = { [6132] = {price = 1}, -- SOFT BOOTS [2514] = {price = 3}, -- MMS [2537] = {price = 5}, -- Amazon Shield [2499] = {price = 10}, -- Amazon Helmet [2500] = {price = 100} -- Amazon Armor } ordem = {} --MAX de 254 itens function onSay(player, words, param) local storageatual = player:getStorageValue(storage) local plural = "s" local qtd = "" if (storageatual < 0) then storageatual = 0 player:setStorageValue(storage, 0) end if (storageatual == 1) then plural = "" end qtd = " " .. qtdtext .. " " .. storageatual .. " lucky coin" .. plural .. "." if (param == "amount") then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, qtd) elseif (param == "buy") then --if (onlypz == 1 and player:isPzLocked()) then player:sendCancelMessage('You are not in protection zone.') return false end adições futuras for k in pairs (ordem) do ordem [k] = nil end player:registerEvent("ModalWindow_LuckyCoins") local window = ModalWindow(modalid, title, message .. qtd) window:addButton(100, "Buy") window:addButton(101, "Cancel") for k in pairs(lucky_items) do table.insert(ordem, k) end table.sort(ordem) for i = 1, #ordem do local k, v = ordem[i], lucky_items[ ordem[i] ] window:addChoice(i, string.upper((ItemType(k):getName())) .. " - " .. lucky_items[k].price .. " " .. "lucky coin(s)") end window:setDefaultEnterButton(100) window:setDefaultEscapeButton(101) window:sendToPlayer(player) else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, msg .. " " .. msgtwo) end return false end Screenshots Créditos Eu Parabéns pelo Script. Porem, estou com um problema, mato muitos bichos e não consigo obter os pontos... já mechi nas rates de toda forma... o que poderia ser ? Meu servidor é o Global 10.99 TFS. 1.2, disponibilizado aqui no TK pelo Maluco -- Att,Lucas Soledade Desenvolvedor de Servidores Inovação -> Colossus Server <-
Postado Maio 17, 2017 8 anos Voce conseguiria fazer para assim que matar players, tambem conseguir o lucky coin?
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.