Ir para conteúdo

wizv321

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    wizv321 deu reputação a lucasprimolemos em Task System 1.2+   
    Parabéns @KotZletY muito bom mesmo!
     
    Uso tfs 1.3 porém eu coloco o nome do exemplo Rotworm ou Rotworms, mas ele não identifica quando falo com NPC e digo nome do monster


     
    task_monsters = { [1] = {nome = "Rotworms", storage = 30000, amount = 40, exp = 5000, pointsTask = {1, 1}, items = {{id = 2157, count = 1}, {id = 2160, count = 3}}}, [2] = {nome = "Rotworm", storage = 30001, amount = 80, exp = 10000, pointsTask = {1, 1}, items = {{id = 10521, count = 1}, {id = 2160, count = 2}}},  
    Não sei qual problema, poderia me ajudar? 
     
    EDIT (monsters ok)
    Eu coloquei o nome em letra minúscula e funcionou, vou continuar testando, por enquanto ok.
     
    EDIT2 (task rank + task points show)
    Percebi que o task points e rank não estão aparecendo no channel, como faço para ativa-los?
     
    EDIT3 (task rank + task points RESOLVIDO)
    Bom vi que no código tinha as funções que puxavam essas informações, portanto apenas modifiquei o lugar delas e agora esta aparecendo
    function onSay(player, words, param) local text = ' ****** Tasks System Information ****** \n\n[+] Pontos Task [+]: Voce tem '..taskPoints_get(player)..' pontos Task.\n[+] Pontos Task Rank [+]: Voce tem '..taskRank_get(player)..' pontos Task.\n[+] Task Rank [+]: '..getRankTask(player)..'\n' if param:lower() == "me" then text = text .. '[+] Pontos Task [+]: Voce tem '..taskPoints_get(player)..' pontos Task.\n[+] Pontos Task Rank [+]: Voce 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\n[*] Task Atual [*]: '..getTaskInfos(player).nome..' - Voce precisa matar: '..getTaskInfos(player).amount..'.\n[*] Premios [*]: '..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\n- Voce nao esta fazendo Task nenhuma.' end if getTaskDailyInfo(player) then local taskDaily = player:getStorageValue(getTaskDailyInfo(player).storage) text = text .. '\n\n\n ****** [+] Task Diaria [+] ****** \n \n\n[*] Task Atual [*]: '..getTaskDailyInfo(player).nome..' - Voce precisa matar: '..getTaskDailyInfo(player).amount..'.\n[*] Premios [*]: '..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\n- Voce nao esta fazendo nenhuma Task Diaria.' end return false, player:popupFYI(text) end
    Valeu tudo ok por enquanto!! rsrs
  2. Gostei
    wizv321 deu reputação a KotZletY em Task System 1.2+   
    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, será explicado na parte do script, leiam com atenção.
    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: Removida, colocarei novas!
     
                                                                                                             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:
     
    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="Hello |PLAYERNAME|. I'm in charge of delivering missions to the players. Would you like to do a {normal} task, {daily} task, {receive} your reward from a task or {abandon} a task ? You can also see the {normal task list} and the {daily task list}."/> <parameter key="message_farewell" value="See you later." /> <parameter key="message_walkaway" value="See you later." /> </parameters> </npc> Ainda na pasta npc, entre na pasta scripts e crie um arquivo.lua chamado task system.lua e adicione esse code dentro:
     
    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:
     
    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:
    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:isCreature() then if thing:isPlayer() then description = string.format("%s\nTask Rank: "..getRankTask(thing), description) end end  
                                                                                            Extra(Opcional)!!
     
    Extra,  vá em data/movements/scripts e crie um  arquivo chamado tile task.lua, depois de aberto, antes de:
          
    Vá em data/movements/movements.xml adicione: 
    <movevent event="StepIn" actionid="XXXX" script="tile task.lua"/>  
    Explicação: Com esse movements acima, você só poderá passar por o piso caso tenha pontos task necessário para passar, se ativar a opção, removePoints então a mesma quantidade de pontos necessária para passar, será removida, ao passar, caso esteja desativada, então
    apenas será necessário ter os pontos task para passar. Em XXXX coloque o actionid, e o actionid coloque no piso desejado!
     
    New Extra: Vá em data/movements/scripts e crie um arquivo chamado tile task2.lua e adicione o seguinte scripts:
     
    Vá em data/movements/movements.xml adicione:  
    <movevent event="StepIn" actionid="XXXX" script="tile task2.lua"/> Explicação: Ao adicionar esse movements acima, você só poderá passar pelo piso caso seu rank task seja igual ou superior ao rank definido na variável, caso não seja igual e nem superior, não será possível passar.
    Configure na lib, a sequência de ranks de acordo com a sequência de rank da tabela de pontos, assim:
     
    A sequência precisa está igual e numeradas.
                                                                                             Configurando!!
    task_monsters = { [1] = {name = "monster1", mons_list = {"monster_t2", "monster_t3"}, storage = 30000, amount = 20, exp = 5000, pointsTask = {1, 1}, items = {{id = 2157, count = 1}, {id = 2160, count = 3}}}, [2] = {name = "monster2", mons_list = {"", ""}, storage = 30001, amount = 10, exp = 10000, pointsTask = {1, 1}, items = {{id = 10521, count = 1}, {id = 2160, count = 5}}}, [3] = {name = "monster3", mons_list = {"", ""}, storage = 30002, amount = 10, exp = 18000, pointsTask = {1, 1}, items = {{id = 2195, count = 1}, {id = 2160, count = 8}}}, [4] = {name = "monster4", mons_list = {"", ""}, storage = 30003, amount = 10, exp = 20000, pointsTask = {1, 1}, items = {{id = 2520, count = 1}, {id = 2160, count = 10}}} } task_daily = { [1] = {name = "monsterDay1", mons_list = {"monsterDay1_t2", "monsterDay1_t3"}, storage = 40000, amount = 10, exp = 5000, pointsTask = {1, 1}, items = {{id = 2157, count = 1}, {id = 2160, count = 3}}}, [2] = {name = "monsterDay2", mons_list = {"", ""}, storage = 40001, amount = 10, exp = 10000, pointsTask = {1, 1}, items = {{id = 10521, count = 1}, {id = 2160, count = 5}}}, [3] = {name = "monsterDay3", mons_list = {"", ""}, storage = 40002, amount = 10, exp = 18000, pointsTask = {1, 1}, items = {{id = 2195, count = 1}, {id = 2160, count = 8}}}, [4] = {name = "monsterDay4", mons_list = {"", ""}, storage = 40003, amount = 10, exp = 20000, pointsTask = {1, 1}, items = {{id = 2520, count = 1}, {id = 2160, count = 10}}} }                                        
                                                  
    nome - Nome do monstro.
    mons_list - Nome dos monstro que são semelhantes e que matando eles também contará.
    Exemplo:
    name = "troll", mons_list = {"troll","frost troll","island troll"} e assim matando,  troll, frost troll e island troll contará na task também.
    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!

Informação Importante

Confirmação de Termo