Ir para conteúdo

Featured Replies

  • 5 months later...
  • Respostas 82
  • Visualizações 15.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @Jobs hehehe, nice, nice, nice, não mexo com modalwindow, meu servidor é 8.60, usando OTX 1.3, então como não tem diferença os scripts para as versões 1.x, então resolvi postar, vai pegar em todos, se

  • ja tô usando seu lindão!  mais pra frente, seria muito foda se você fizesse modal window! beijos, otimo sistema *-*    

  • Saquei, sim funcionou direitinho aqui, 10x tfs 1.2 xd 

Posted Images

Postado
  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, 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:

Mostrar conteúdo oculto

 

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:

Mostrar conteúdo oculto

 

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

 

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

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:

Mostrar conteúdo oculto

      

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:

Mostrar conteúdo oculto

 

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:

Mostrar conteúdo oculto

 

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!

eu tentei adptar isso em um poketibia deu uns erros  mas se eu nao conseguir resolver vou pedir ajuda heuheuheu

  • 2 years later...

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo