Postado Novembro 5, 2017 7 anos Fiz algumas alterações ... https://github.com/luanluciano93/alunia/commit/15ef85e8d4f468ebe03cea22c0708c7eae7ab784
Postado Novembro 13, 2017 7 anos Autor @luanluciano93 show de bola, bem bacana as alterações, coloque um crédito referente a mim pelo task system, acho mais viável você adicionar também aos criadores dos outros eventos/sistemas.
Postado Março 26, 2018 7 anos Em 02/10/2017 em 03:44, KotZletY disse: Salve geral, recentemente fiz um Task System para meu servidor, então gostaria de compartilha ele com vocês, assim como outros scripts que fiz e gostaria de compartilhar. Bom, vamos ao que interessa. Informações!! Task Normal - Você 1x por vez, quantas vezes quiser, repetindo a task se também quiser. Task Diaria - Você faz uma vez por dia, não podendo repeti em quanto as 24 horas não terminar. Task Rank - É mostrado na descrição do player qual rank task ele possui. Task Rank Quest - Um extra desse task system é o piso task, que funciona da seguinte maneira. Você só pode passar para um local, por exemplo, uma quest, você só pode passar pelo portal, piso, etc... caso você tenha algum rank que você irá escolher ou quantidade de task points, ou ambos junto e misturado. Kkkkkkk Task Comandos - Comandos task, 1 para ver o progresso das suas task e outro para mostrar informações do seu personagem, como uma consulta, os comandos são: !task que mostra quais task você ta fazendo, tanto diaria quanto normal e !task me que mostrar informações do seu personagem, como rank, quantidade de pontos task e quantidade de pontos task rank. Well, o resto é surpresa, cabe você descobrir! xD Para não ficar só nas palavras, mostrarei algumas imagens, várias no caso: https://imgur.com/a/6HwFy Instalação!! Muito bem, chega de conversa, como instalar logo essa bagaça. Primeiramente vá em data/lib e abra o arquivo lib.lua e adicione: dofile('data/lib/task system.lua') Ainda na pasta lib crie um arquivo.lua chamado task system.lua e adicione esse code dentro: Mostrar conteúdo oculto Mostrar conteúdo oculto task_monsters = { [1] = {nome = "monstro1", storage = 30000, amount = 20, exp = 5000, pointsTask = {1, 1}, items = {{id = 2157, count = 1}, {id = 2160, count = 3}}}, [2] = {nome = "monstro2", storage = 30001, amount = 10, exp = 10000, pointsTask = {1, 1}, items = {{id = 10521, count = 1}, {id = 2160, count = 5}}}, [3] = {nome = "monstro2", storage = 30002, amount = 10, exp = 18000, pointsTask = {1, 1}, items = {{id = 2195, count = 1}, {id = 2160, count = 8}}}, [4] = {nome = "monstro3", storage = 30003, amount = 10, exp = 20000, pointsTask = {1, 1}, items = {{id = 2520, count = 1}, {id = 2160, count = 10}}} } task_daily = { [1] = {nome = "monstroDay1", storage = 40000, amount = 10, exp = 5000, pointsTask = {1, 1}, items = {{id = 2157, count = 1}, {id = 2160, count = 3}}}, [2] = {nome = "monstroDay2", storage = 40001, amount = 10, exp = 10000, pointsTask = {1, 1}, items = {{id = 10521, count = 1}, {id = 2160, count = 5}}}, [3] = {nome = "monstroDay3", storage = 40002, amount = 10, exp = 18000, pointsTask = {1, 1}, items = {{id = 2195, count = 1}, {id = 2160, count = 8}}}, [4] = {nome = "monstroDay4", storage = 40003, amount = 10, exp = 20000, pointsTask = {1, 1}, items = {{id = 2520, count = 1}, {id = 2160, count = 10}}} } task_storage = 20020 -- storage que verifica se está fazendo alguma task e ver qual task é - task normal task_points = 20021 -- storage que retorna a quantidade de pontos task que o player tem. task_sto_time = 20022 -- storage de delay para não poder fazer a task novamente caso ela for abandonada. task_time = 20 -- tempo em horas em que o player ficará sem fazer a task como punição task_rank = 20023 -- storage do rank task taskd_storage = 20024 -- storage que verifica se está fazendo alguma task e ver qual task é - task daily time_daySto = 20025 -- storage do tempo da task daily, no caso para verificar e add 24 horas para fazer novamente a task daily local ranks_task = { [{1, 20}] = "Newbie", [{21, 50}] = "Elite", [{51, 100}] = "Master", [{101, 200}] = "Destroyer", [{201, math.huge}] = "Juggernaut" } function getTaskInfos(uid) return task_monsters[Player(uid):getStorageValue(task_storage)] or false end function getTaskDailyInfo(uid) return task_daily[Player(uid):getStorageValue(taskd_storage)] or false end function taskPoints_get(uid) if Player(uid):getStorageValue(task_points) == -1 then return 0 end return Player(uid):getStorageValue(task_points) end function taskPoints_add(uid, count) return Player(uid):setStorageValue(task_points, taskPoints_get(uid) + count) end function taskPoints_remove(uid, count) return Player(uid):setStorageValue(task_points, taskPoints_get(uid) - count) end function taskRank_get(uid) if Player(uid):getStorageValue(task_rank) == -1 then return 1 end return Player(uid):getStorageValue(task_rank) end function taskRank_add(uid, count) return Player(uid):setStorageValue(task_rank, taskRank_get(uid) + count) end function getRankTask(uid) local pontos = taskRank_get(uid) for _, z in pairs(ranks_task) do if pontos >= _[1] and pontos <= _[2] then return z end end end function getItemsFromTable(itemtable) local text = "" for v = 1, #itemtable do count, info = itemtable[v].count, ItemType(itemtable[v].id) local ret = ", " if v == 1 then ret = "" elseif v == #itemtable then ret = " - " end text = text .. ret text = text .. (count > 1 and count or info:getArticle()).." "..(count > 1 and info:getPluralName() or info:getName()) end return text end No final do tópico, ensinarei a configurar a lib. Agora vai em, data/npc e crie um arquivo.xml chamado task.xml e coloque esse code dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="NPC Task" script="task system.lua" walkinterval="0" floorchange="0"> <health now="150" max="150"/> <look type="430"/> <parameters> <parameter key="message_greet" value="Olá |PLAYERNAME|. Fiquei encarregado da missão de entregar Missões Task para ajuda a vila em alguns aspectos. Gostaria de fazer a task {normal}, {diaria}, {receber}, {abandonar}, ou gostaria de ver a {lista de tasks normais} ou a {lista de task dailys} ?"/> <parameter key="message_farewell" value="Até mais!" /> <parameter key="message_walkaway" value="Até mais!" /> </parameters> </npc> Ainda na pasta npc, entre na pasta scripts e crie um arquivo.lua chamado task system.lua e adicione esse code dentro: Mostrar conteúdo oculto Mostrar conteúdo oculto local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler)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 npcHandler:addModule(FocusModule:new()) function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local player = Player(cid) local msg = msg:lower() ------------------------------------------------------------------ if npcHandler.topic[cid] == 0 and msgcontains(msg, 'normal') then npcHandler:say("Ótimo. A task de qual monstro você gostaria de fazer ?", cid) npcHandler.topic[cid] = 1 elseif npcHandler.topic[cid] == 1 then for mon, l in pairs(task_monsters) do if player:getStorageValue(task_sto_time) < os.time() then if player:getStorageValue(task_storage) == -1 then if msg == l.nome then npcHandler:say("Muito bem, você agora está fazendo a task do {"..l.nome:gsub("^%l", string.upper).."}, você precisa matar "..l.amount.." deles. Boa Sorte!", cid) player:setStorageValue(task_storage, mon) player:setStorageValue(l.storage, 0) npcHandler.topic[cid] = 0 npcHandler:releaseFocus(cid) break else npcHandler:say("Desculpe mais não temos essa task.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já está fazendo uma task. Você só pode fazer uma por vez. Diga {!task} para ver informações sobre sua task atual.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Não estou altorizado a lhe entregar nenhuma missão, por você ter abandonado a anterior. Espere as 2 horas de punicação acabar.", cid) npcHandler.topic[cid] = 0 end end ------------------------------------------------------------------ ------------------------------------------------------------------ elseif npcHandler.topic[cid] == 0 and msgcontains(msg, 'diaria') then if player:getStorageValue(time_daySto) < os.time() then npcHandler:say("Lembre-se, é de grande importância que as task diarias sejam feita. Agora me diga, a task de qual monstro você gostaria de fazer ?", cid) npcHandler.topic[cid] = 2 else npcHandler:say('Você já completou a task diaria de hoje, espere passar as 24 horas para fazer novamente.', cid) npcHandler:releaseFocus(cid) end elseif npcHandler.topic[cid] == 2 then for mon, l in pairs(task_daily) do if player:getStorageValue(task_sto_time) < os.time() then if player:getStorageValue(taskd_storage) == -1 then if msg == l.nome then npcHandler:say("Muito bem, você agora está fazendo a task diaria do {"..l.nome:gsub("^%l", string.upper).."}, você precisa matar "..l.amount.." deles. Boa Sorte!", cid) player:setStorageValue(taskd_storage, mon) player:setStorageValue(l.storage, 0) npcHandler.topic[cid] = 0 npcHandler:releaseFocus(cid) break else npcHandler:say("Desculpe mais não temos essa task diaria.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já está fazendo uma task diaria. Você só pode fazer uma por dia. Diga {!task} para ver informações sobre sua task atual.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Não estou altorizado a lhe entregar nenhuma missão, por você ter abandonado a anterior. Espere as 2 horas de punicação acabar.", cid) npcHandler.topic[cid] = 0 end end ------------------------------------------------------------------ ------------------------------------------------------------------ elseif msgcontains(msg, 'receber') then if npcHandler.topic[cid] == 0 then npcHandler:say("Qual tipo de task você terminou, {normal} ou {diaria} ?", cid) npcHandler.topic[cid] = 3 end elseif npcHandler.topic[cid] == 3 then if msgcontains(msg, 'normal') then if getTaskInfos(player) then if player:getStorageValue(getTaskInfos(player).storage) == getTaskInfos(player).amount then local pt1 = getTaskInfos(player).pointsTask[1] local pt2 = getTaskInfos(player).pointsTask[2] local txt = 'Obrigado por ter feito a task, seus prêmios são: '..(pt1 > 1 and pt1..' pontos task' or pt1 <= 1 and pt1..' ponto task')..' e '..(pt2 > 1 and pt2..' pontos rank' or pt2 <= 1 and pt2..' ponto rank')..', ' if #getItemsFromTable(getTaskInfos(player).items) > 0 then txt = txt..'além de ganhar: '..getItemsFromTable(getTaskInfos(player).items)..', ' for g = 1, #getTaskInfos(player).items do player:addItem(getTaskInfos(player).items[g].id, getTaskInfos(player).items[g].count) end end local exp = getTaskInfos(player).exp if exp > 0 then txt = txt..'vou lhe dar também '..exp..' de experiência, ' player:addExperience(exp) end taskPoints_add(player, pt1) taskRank_add(player, pt2) player:setStorageValue(getTaskInfos(player).storage, -1) player:setStorageValue(task_storage, -1) npcHandler:say(txt..'mais uma vez obrigado e até mais!', cid) npcHandler.topic[cid] = 0 npcHandler:releaseFocus(cid) else npcHandler:say('Você ainda não terminou sua task atual. Receberá ela quando termina.', cid) npcHandler.topic[cid] = 0 npcHandler:releaseFocus(cid) end else npcHandler:say('Você não está fazendo nenhuma task.', cid) npcHandler.topic[cid] = 0 npcHandler:releaseFocus(cid) end elseif npcHandler.topic[cid] == 3 and msgcontains(msg, 'diaria') then if player:getStorageValue(time_daySto)-os.time() <= 0 then if getTaskDailyInfo(player) then if player:getStorageValue(getTaskDailyInfo(player).storage) == getTaskDailyInfo(player).amount then local pt1 = getTaskDailyInfo(player).pointsTask[1] local pt2 = getTaskDailyInfo(player).pointsTask[2] local txt = 'Obrigado por ter feito a task, seus prêmios são: '..(pt1 > 1 and pt1..' pontos task' or pt1 <= 1 and pt1..' ponto task')..' e '..(pt2 > 1 and pt2..' pontos rank' or pt2 <= 1 and pt2..' ponto rank')..', ' if #getTaskDailyInfo(player).items > 0 then txt = txt..'além de ganhar: '..getItemsFromTable(getTaskDailyInfo(player).items)..', ' for g = 1, #getTaskDailyInfo(player).items do player:addItem(getTaskDailyInfo(player).items[g].id, getTaskDailyInfo(player).items[g].count) end end local exp = getTaskDailyInfo(player).exp if exp > 0 then txt = txt..'vou lhe dar também '..exp..' de experiência, ' player:addExperience(exp) end npcHandler:say(txt..' mais uma vez obrigado e te vejo amanhã!!', cid) taskPoints_add(player, pt1) taskRank_add(player, pt2) player:setStorageValue(getTaskDailyInfo(player).storage, -1) player:setStorageValue(taskd_storage, -1) player:setStorageValue(time_daySto, 1*60*60*24+os.time()) npcHandler.topic[cid] = 0 npcHandler:releaseFocus(cid) else npcHandler:say('Você ainda não terminou sua task atual. Receberá ela quando termina.', cid) npcHandler.topic[cid] = 0 npcHandler:releaseFocus(cid) end else npcHandler:say('Você não está fazendo nenhuma task diaria.', cid) npcHandler.topic[cid] = 0 npcHandler:releaseFocus(cid) end else npcHandler:say('Você já fez uma task diaria, aguarde completar 24 horas para fazer outra novamente.', cid) npcHandler.topic[cid] = 0 npcHandler:releaseFocus(cid) end end ------------------------------------------------------------------ ------------------------------------------------------------------ elseif msgcontains(msg, 'abandonar') then if npcHandler.topic[cid] == 0 then npcHandler:say("Qual tipo de task você quer abandonar, {normal} ou {diaria} ?", cid) npcHandler.topic[cid] = 4 end elseif npcHandler.topic[cid] == 4 and msgcontains(msg, 'normal') then if getTaskInfos(player) then npcHandler:say('Lamentável essa situação, tinha fé que você me traria essa missão feita, mais estava errado. Como punição ficará 2 horas sem poder fazer qualquer task.', cid) player:setStorageValue(task_sto_time, os.time()+task_time*60*60) player:setStorageValue(getTaskInfos(player).storage, -1) player:setStorageValue(task_storage, -1) npcHandler:releaseFocus(cid) else npcHandler:say('Você não está fazendo nenhuma task para poder abandona-lá.', cid) npcHandler:releaseFocus(cid) end elseif npcHandler.topic[cid] == 4 and msgcontains(msg, 'diaria') then if getTaskDailyInfo(player) then npcHandler:say('Lamentável essa situação, tinha fé que você me traria essa missão feita, mais estava errado. Como punição ficará 2 horas sem poder fazer qualquer task.', cid) player:setStorageValue(task_sto_time, os.time()+task_time*60*60) player:setStorageValue(getTaskDailyInfo(player).storage, -1) player:setStorageValue(taskd_storage, -1) npcHandler:releaseFocus(cid) else npcHandler:say('Você não está fazendo nenhuma task diaria para poder abandona-lá.', cid) npcHandler:releaseFocus(cid) end ------------------------------------------------------------------ ------------------------------------------------------------------ elseif msgcontains(msg, "lista de tasks normais") then local text = "----**| -> Tasks Normal <- |**----\n\n" for _, d in pairs(task_monsters) do text = text .."------ [*] "..d.nome.." [*] ------ \n[+] Quantidade [+] -> ["..(player:getStorageValue(d.storage) + 1).."/"..d.amount.."]:\n[+] Prêmios [+] -> "..(#d.items > 1 and getItemsFromTable(d.items).." - " or "")..""..d.exp.." experience \n\n" end player:showTextDialog(1949, "" .. text) npcHandler:say("Aqui está a lista de task's normais.", cid) ------------------------------------------------------------------ ------------------------------------------------------------------ elseif msgcontains(msg, "lista de task dailys") then local text = "----**| -> Tasks Dailys <- |**----\n\n" for _, d in pairs(task_daily) do text = text .."------ [*] "..d.nome.." [*] ------ \n[+] Quantidade [+] -> ["..(player:getStorageValue(d.storage) + 1).."/"..d.amount.."]:\n[+] Prêmios [+] -> "..(#d.items > 1 and getItemsFromTable(d.items).." - " or "")..""..d.exp.." experience \n\n" end player:showTextDialog(1949, "" .. text) npcHandler:say("Aqui está a lista task's diaria.", cid) end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) Agora vá em data/talkactions e abra o arquivo talkactions.xml e adicione a seguinte tag: <talkaction words="!task" separator=" " script="task system.lua" /> Ainda na pasta talkactions entre na pasta scripts e crie um arquivo.lua chamado task system.lua e adicione esse code dentro dele: Mostrar conteúdo oculto Mostrar conteúdo oculto function onSay(player, words, param) local text = '---------------------------**| -> Tasks System Infos <- |**---------------------------\n' if param:lower() == "me" then text = text .. '[+] Pontos Task [+]: Você tem '..taskPoints_get(player)..' pontos Task.\n[+] Pontos Task Rank [+]: Você tem '..taskRank_get(player)..' pontos Task.\n[+] Task Rank [+]: '..getRankTask(player)..'' return false, player:popupFYI(text) end if getTaskInfos(player) then local taskNormal = player:getStorageValue(getTaskInfos(player).storage) text = text .. '\n\n [ -> ----- [+] Task Normal [+] ----- <- ]\n \n[*] Task Atual [*]: '..getTaskInfos(player).nome..' - Você precisa matar: '..getTaskInfos(player).amount..'.\n[*] Prêmios [*]: '..getItemsFromTable(getTaskInfos(player).items)..' - '..getTaskInfos(player).pointsTask[1]..' Pontos Task - '..getTaskInfos(player).pointsTask[2]..' Pontos Rank da Task. \n[*] Progresso [*]: ['..(player:getStorageValue(getTaskInfos(player).storage))..'/'..getTaskInfos(player).amount..']\n[*] Status da Task [*]: '..(taskNormal == getTaskInfos(player).amount and 'Completa' or 'Incompleta')..'!' else text = text .. '\n\n [ -> ----- [+] Task Normal [+] ----- <- ]\n \n--- Você não está fazendo Task nenhuma.' end if getTaskDailyInfo(player) then local taskDaily = player:getStorageValue(getTaskDailyInfo(player).storage) text = text .. '\n\n\n [ -> ----- [+] Task Diaria [+] ----- <- ]\n \n[*] Task Atual [*]: '..getTaskDailyInfo(player).nome..' - Você precisa matar: '..getTaskDailyInfo(player).amount..'.\n[*] Prêmios [*]: '..getItemsFromTable(getTaskDailyInfo(player).items)..' - '..getTaskDailyInfo(player).pointsTask[1]..' Pontos Task - '..getTaskDailyInfo(player).pointsTask[2]..' Pontos Rank da Task. \n[*] Progresso [*]: ['..(player:getStorageValue(getTaskDailyInfo(player).storage))..'/'..getTaskDailyInfo(player).amount..']\n[*] Status da Task [*]: '..(taskDaily == getTaskDailyInfo(player).amount and 'Completa' or 'Incompleta')..'!' else text = text .. '\n\n\n [ -> ----- [+] Task Diaria [+] ----- <- ]\n \n--- Você não está fazendo nenhuma Task Diaria.' end return false, player:popupFYI(text) end Agora vá em data/creaturescripts e abra o arquivo creaturescripts.xl e adicione a seguinte tag: <event type="kill" name="tasksystem" script="task system.lua"/> Ainda na pasta creaturescripts entre na pasta scripts e crie um arquivo.lua chamado task system.lua e adicione esse code dentro dele: Mostrar conteúdo oculto Mostrar conteúdo oculto function onKill(player, target) if target:isPlayer() or target:getMaster() then return true end if getTaskInfos(player) then if target:getName():lower() == getTaskInfos(player).nome then if player:getStorageValue(getTaskInfos(player).storage) < getTaskInfos(player).amount then player:setStorageValue(getTaskInfos(player).storage, player:getStorageValue(getTaskInfos(player).storage) + 1) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, '[Task System] Você matou ['..(player:getStorageValue(getTaskInfos(player).storage))..'/'..getTaskInfos(player).amount..'] '..target:getName()..'.') end end end if getTaskDailyInfo(player) then if target:getName():lower() == getTaskDailyInfo(player).nome then if player:getStorageValue(getTaskDailyInfo(player).storage) < getTaskDailyInfo(player).amount then player:setStorageValue(getTaskDailyInfo(player).storage, player:getStorageValue(getTaskDailyInfo(player).storage) + 1) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, '[Task System Daily] Você matou ['..(player:getStorageValue(getTaskDailyInfo(player).storage))..'/'..getTaskDailyInfo(player).amount..'] '..target:getName()..'.') end end end return true end Ainda na pasta script abra o login.lua e adicione dentro: player:registerEvent("tasksystem") Agora vá em data/events/scripts e abra o arquivo player.lua, depois de aberto, antes de: self:sendTextMessage(MESSAGE_INFO_DESCR, description) adicione: if thing:isPlayer() then description = string.format("%s\nTask Rank: "..getRankTask(thing), description) end Essa parte é um extra para aqueles que gostaria de usar a task points ou rank em alguma quest e tals... Vamos a um simples piso, vá em data/movements e abra o arquivo movements.xml eadicione a seguinte tag: <movevent event="StepIn" actionid="XXXXX" script="task system.lua"/> Onde tem XXXXX escolha um actions id e coloque no lugar dos x. Agora continuando na pasta movements, entre na pasta scripts crie um arquivo.lua chamado task system.lua e adicione esse code dentro dele: Mostrar conteúdo oculto Mostrar conteúdo oculto local pontos = 25 -- Quantos pontos precisa para poder passar. function onStepIn(player, item, position, fromPosition) if isPlayer(player) then if taskPoints_get(player) >= pontos then player:sendTextMessage(MESSAGE_EVENT_ORANGE,"Boa sorte na quest!!") taskPoints_remove(player, pontos) -- Essa função remove a quantidade de pontos task do player depois que ele passar. Caso não queira tirar os pontos do player, basta remover essa linha. else player:teleportTo(fromPosition) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE,"Você precisa ter 25 pontos task para poder passar.") end end return true end Coloque a actionid escolhida no piso que o player só passará se tiver tal quantidade de pontos. Configurando!! task_monsters = { [1] = {nome = "monstro1", storage = 30000, amount = 20, exp = 5000, pointsTask = {1, 1}, items = {{id = 2157, count = 1}, {id = 2160, count = 3}}}, [2] = {nome = "monstro2", storage = 30001, amount = 10, exp = 10000, pointsTask = {1, 1}, items = {{id = 10521, count = 1}, {id = 2160, count = 5}}}, [3] = {nome = "monstro2", storage = 30002, amount = 10, exp = 18000, pointsTask = {1, 1}, items = {{id = 2195, count = 1}, {id = 2160, count = 8}}}, [4] = {nome = "monstro3", storage = 30003, amount = 10, exp = 20000, pointsTask = {1, 1}, items = {{id = 2520, count = 1}, {id = 2160, count = 10}}} } nome - Nome do monstro.storage - É a storage que salva a quantidade de monstros já matados.amount - É a quantidade necessária de monstros matados para finalizar a task.exp - É a quantidade de Experiência que vai ganhar ao finalizar a task, caso não queira dar experiência, basta deixar em 0.pointsTask = {Task Points Que vai ganhar(Pontos usado no piso e etc..), Pontos Rank, que irá ganhar e aumentar seu rank.}items - Itens que o player vai ganhar, devem está tabelados, dentro da tabela item, adicione das tabelas contendo o id do item e count, quantidade de items que irá ganhar. Ex: items = {{id = 2157, count = 1}, {id = 2160, count = 3}} -- Aqui contém 2x tipos de itens, o 2157 e o 2160, e suas devidas quantidades que irá ganhar. items = {{id = 2157, count = 1}} -- Aqui só tem 1 tipo de item e a quantidade que vai ganhar. Adicione quantos itens quiser. O mesmo vale para as task diarias! Bom, é isso ae, qualquer duvida, crítica, sugestões, deixem ae, se precisa de suporte na instalação ou está com erro em algo estarei dando suporte, abraços e bom uso do sistema. É totalmente proibido leva meu sistema para outro site, blog ou fórum! Será que pode me ajudar ?, se sim. Como posso fazer um outro npc mais que ele contenha outros monstro difentente desses tipo um npc para cada rank.
Postado Abril 9, 2018 7 anos Aqui não está contando, alguém pode me ajudar? add tudo certinho no creaturescripts... Uso tfs 1.3 otx 3.10
Postado Abril 11, 2018 7 anos Autor @amoxicilina duplique o sistema. @vine96 registrou o evento no login.lua ? @Tópico: Irei da uma atualizada no sistema, ele está meio falho em relação ao código na qual eu não tinha experiência no dia em que fiz, iei otimiza-lo, deixa-lo mais elegante!!
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.