Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Pilar Bosses

 

Informações:
Em uma sala existem pilares e cada pilar sumona 1 boss, mas para sumonar um boss mais forte você deve passar por todos os otros. 

Descrição:
Em uma sala existem vários pilares cada pilar com uma uniqueid, quando o player da use ele ira sumonar um boss, se o player o matar pode sumonar um boss mais forte, caso morra o bixo ficara lá para outros. 

 

OBS: Alterar uniqueids de acordo com o que for usar as que estão não são utilizáveis. 

Sigam as instruções das linhas que apresentam "-- Alterar".

 

Instalação

 

Vá em data/actions/actions.xml e adicione essa tag.

    <action uniqueid="12345;12346;12347;12348;12349;12350;12351;12352;12353;12354;12355" script="pilarbosses.lua" /> -- NÃO ESQUEÇA DE ALTERAR AS UNIQUESIDS

 

Vá em data/actions/scripts/ e crie um arquivo chamado pilarbosses.lua dentro dele coloque isso.

function onUse(cid, item, fromPosition, itemEx, toPosition)
         local i = 1
         local storage = 12666  -- ALTERAR storage do sistema
         local global_storage = getGlobalStorageValue(storage)
         local player_storage = getPlayerStorageValue(cid, storage) + 2 
         local config = {
                         {boss = "Rotworm", pos = {x = 146, y = 63, z = 8}, level = 1, unique_id = 12345},
                         {boss = "Dragon", pos = {x = 146, y = 63, z = 8}, level = 1, unique_id = 12346},
                         {boss = "Demon", pos = {x = 146, y = 63, z = 8}, level = 1, unique_id = 12347},
                         {boss = "Morgaroth", pos = {x = 146, y = 63, z = 8}, level = 1, unique_id = 12348},
                         {boss = "Rat", pos = {x = 146, y = 63, z = 8}, level = 1, unique_id = 12349},
                         {boss = "Wolf", pos = {x = 146, y = 63, z = 8}, level = 1, unique_id = 12350},           -- ALTERAR ao mudar as Unique_id mudar também na pasta actions.xml
                         {boss = "Orc", pos = {x = 146, y = 63, z = 8}, level = 1, unique_id = 12351},
                         {boss = "Orc Spearman", pos = {x = 146, y = 63, z = 8}, level = 1, unique_id = 12352},
                         {boss = "Orc Warrior", pos = {x = 146, y = 63, z = 8}, level = 1, unique_id = 12353},
                         {boss = "Orc Shaman", pos = {x = 146, y = 63, z = 8}, level = 1, unique_id = 12354},
                         {boss = "Orc Rider", pos = {x = 146, y = 63, z = 8}, level = 1, unique_id = 12355},
                       -- Boss = Nome do Boss  Pos onde o bixo vai nascer   level necessario  uniqueid usado em cada pilar 
         }
         
         if global_storage == 1 then 
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Já Existe Um Boss Vivo.")
                return TRUE
         end
         
         while i <= #config do
                    if item.uid == config.unique_id then
                            if getPlayerLevel(cid) >= config.level then
                                if player_storage == i then
                                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Se Prepare o "..config[player_storage].boss.." Vai Nascer em 5 segundos.")
                                        addEvent(doCreateMonster,5000,config[player_storage].boss, config[player_storage].pos)
                                        setGlobalStorageValue(storage, 1)
                                        break
                                else
                                        if i <= player_storage then
                                           doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você já Matou o "..config.boss..".")
                                           doSendMagicEffect(getThingPos(cid), 2)
                                           break
                                        end
                                        
                                        if i >= player_storage then
                                           doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Vá Matar o "..config[player_storage].boss.." Antes De Matar Esse Boss.")
                                           doSendMagicEffect(getThingPos(cid), 2)
                                           break
                                        end
                                end
                            else
                                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não tem level "..config.level..".")
                                doSendMagicEffect(getThingPos(cid), 2)
                                break
                            end
                    end
                    i = i + 1
         end
         
         return TRUE
end

 

Vá em data/creaturescripts/creaturescripts.xml e adicione essa tag.

<event type="kill" name="pilarbosses" event="script" value="pilarbosses.lua"/>

 

Vá em data/creaturescripts/scripts/login.lua e adicione essa tag.

registerCreatureEvent(cid, "pilarbosses")

 

Vá em data/creaturescripts/scripts/ e crie um arquivo chamado pilarbosses.lua

function onKill(cid, target, lasthit)
 
         local storage = 12666  -- ALTERAR storage do sistema
         local player_storage = getPlayerStorageValue(cid, storage) + 1
         local creature = getCreatureName(target):lower()
         local config = {
                         {boss = "Rotworm"},
                         {boss = "Dragon"},
                         {boss = "Demon"},
                         {boss = "Morgaroth"},
                         {boss = "Rat"},
                         {boss = "Wolf"},
                         {boss = "Orc"},
                         {boss = "Orc Spearman"},
                         {boss = "Orc Warrior"},
                         {boss = "Orc Shaman"},
                         {boss = "Orc Rider"},
         }
 
         local i = 1
         
         while i <= #config do
               if creature == config.boss:lower() then
                        setPlayerStorageValue(cid, storage, player_storage)
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você Matou o Boss "..config.boss..", Parabéns.")
                        setGlobalStorageValue(storage, -1)
                        break
               end
               i = i + 1
         end
        
         return TRUE
end

 

Pronto instalado com sucesso.
Créditos Pelo Script:
100% - Gabisa00

Créditos Pela Ideia:
100% - Brunds

Dúvidas, bugs, sugestões, somente no tópico.

Gostou do Sistema Faça Seu Pedido Aqui!

Editado por gabisa00 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

muito bom valeu ^^


amigo está aparecendo este erro ...

 

print \/

 

33lpo38.png

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites

Achei um erro, talvez seja só isso, se funcionar ou não por favor post o resultado, eu não testo meus scripts.

 

function onKill(cid, target, lasthit)
 
         local storage = 12666  -- ALTERAR storage do sistema
         local player_storage = getPlayerStorageValue(cid, storage) + 1
 
         local config = {
                         {boss = "NomeDoBoss"},
                         {boss = "NomeDoBoss"},
                         {boss = "NomeDoBoss"},
                         {boss = "NomeDoBoss"},
                         {boss = "NomeDoBoss"},      -- ALTERAR colocar nome de todos os bosses somente 1 vez
                         {boss = "NomeDoBoss"},
                         {boss = "NomeDoBoss"},
                         {boss = "NomeDoBoss"},
                         {boss = "NomeDoBoss"},
                         {boss = "NomeDoBoss"},
                         {boss = "NomeDoBoss"},
         }
 
         local i = 1
         
         while i <= #config do
               if getCreatureName(target) == config.boss then
                        setPlayerStorageValue(cid, storage, player_storage)
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você Matou o Boss "..config.boss..", Parabéns.")
                        break
               end
               i = i + 1
         end
        
         return TRUE
end

Link para o post
Compartilhar em outros sites

deu tudo certo mais tem dois problemas o 1º é não tem exausted os players podem ficar clicando varias veses e varios bosses serão sumonados e a outra é quando mata o boss do primeiro pilar .... continua pedindo para matar o mesmo ;/

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites

no aguardo


obs: tinha esquecido de te falar poderia colocar assim o player deu use matou o boss e ganhou a storage ai ele não pode mais dar use no mesmo pilar ou seja o player vai no pilar da use mata o boss e ganha a storage ai se ele tentar dar use denovo fala você ja matou este boss.

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites

Pronto amigo, resolvi todos os problemas e incrementei aquilo que você me pediu, eu edited o post principal, então pode usar os aquivos de lá.

 

OBS: trocar tanto a action como o creaturevent.

 

Obrigado pela atenção.

Link para o post
Compartilhar em outros sites

ahhhh OBRIGADO! agora está perfeito ^^ bom uma pergunta ... eu posso fazer mais um pedido lá no topico ou é apenas um pedido por pessoa ...?

Editado por brunds (veja o histórico de edições)

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por xWhiteWolf
      Fala galera, hoje vim trazer o projeto pronto do Magnus Challenger pra vocês instalarem no servidor de vocês!   

      Pra quem não conhece é um sistema de Tasks baseado no Zezenia onde você pode escolher entre tasks de matar monstros ou de coletar certos items para o npc Magnus, um guerreiro famoso da cidade que está atolado de tarefas e precisa da sua ajuda!

      Peguei os aspectos que eu julguei serem os principais do modelo do Zezenia e editei com algumas coisas que eu achei que ficariam melhores.
      Quem quiser pode ver um vídeo comentado de como o sistema funciona:




      Dito isso vou ensinar vocês como instalar isso no server:
      Pra começar vá em data\creaturescripts\scripts e procure login.lua, agora vá até o final do arquivo e antes do último return true coloque essas linhas abaixo

      ainda em creaturescripts procure creaturescripts.xml e adicione essa linha junto com as outras que já estão lá (seguindo o padrão)
      <!-- TASK SYSTEM --> <event type="kill" name="tasksystem" script="tasksystem.lua"/> Agora crie um arquivo em creaturescripts\scripts com o nome de tasksystem.lua e adicione o seguinte à ele:




      Terminada a parte da contagem de kill vamos ao NPC em si.
      Crie um arquivo chamado Magnus.xml em data\npc e coloque isso dentro dele:




      Agora em data\npc\scripts crie um arquivo chamado zezeniaa.lua e adicione esse conteúdo dentro do arquivo:





      ~~~~~~~~~~~~~~~~ FEITO ISSO ESTÁ TERMINADO ~~~~~~~~~~~~~~~~~~

      Agora aprendendo a configurar:
       
      No tasksystem vc pode editar isso daqui:
      Eu fiz um sistema onde se vc estiver em party com alguém e a pessoa matar os bixos conta como se você tivesse matado; Assim incentiva o pessoal a ir numa cave de Dragon e ao invés de matar quem está lá pra ficar sozinho na cave, eles vão chamar party pra fazerem a task juntos.. assim fazer amigos fica mais fácil e com maiores laços é maior a chance do povo não abandonar o seu server.

      Apenas digite "true" ou "false" pra ativar/desativar esse sistema e em baixo temos a distancia máxima pro monstro estar do cara que está fazendo a task pra contar o kill. Se a distancia entre o monstro e a pessoa for maior que 7 não vai contar pra ele a kill.


      No zezeniaa.lua as coisas que dão pra configurar são maiores mas são igualmente simples:
      Toda vez que vc pedir uma task short (curta) vc vai ter de 100 a 400 monstros pra matar, ele gera um número de 0 a 6 e multiplica por 5 e soma com os 100 iniciais.. o mesmo vale pra todos os outros valores.

      levelcollect é o level mínimo pra fazer tasks do tipo collect.
      time é o tempo em segundos que você vai ficar sem poder falar com o npc caso desista de alguma task, o padrão é 8 * 60 * 60 (8 horas)
      bonus é por quanto vai multiplicar caso vc permita que o npc escolha aleatoriamente entre todas as opções.. o padrão é 20% de bonus (1.2)
      multiplicador é uma coisa que eu adicionei pra ficar mais fácil mexer na fórmula sem cometer cagadas, se vc tá ganhando 10% de exp e quer ganhar 80% é só colocar 8 no multiplicador.

       
      Isso daqui é o banco de dados principal do sistema de kill, toda vez que vc escolher uma task do tipo fácil, médio, dificil ele vai acessar essas tabelas contendo o nome das criaturas.. vc pode facilmente adicionar novos nomes, o npc já está programado pra lidar com isso, apenas siga o padrão e mantenha sempre o último sem vírgula!

      Ex: adicionando Morgaroth na tabela de hard
      local hard = { [1] = "Giant Spider", [2] = "Dragon Lord", [3] = "Grim Reaper", [4] = "Demon", [5] = "Crystal Spider", [6] = "Demon Skeleton", [7] = "Juggernaut", [8] = "Destroyer", [9] = "Hand of Cursed Fate", [10] = "Morgaroth" } atente-se também pra não repetir o número no index.. se o anterior era [9] use [10].

      O restante das tabelas são separadas para o banco de dados das tasks de collect:
       
      segue a mesma lógica da de kill só que aqui você tem o id dos itens que serão usados... aquela count não tem nada a ver com o item pois ele vai gerar tanto o item aleatoriamente quanto à count;
      Ex: 
      [1] = {id = 5880, count = 20}, -- iron ore isso não significa que se cair iron ore (id 5880) irá cair sempre 20.. até porque eu poderia escolher uma task long e easy e pegar a task de trazer até 50 iron ores, apenas tente manter os padrões que são os intervalos definidos.
      No easy ele varia de 10 a 20, no medium ele varia de 20 a 35 e no hard de 40 a 50.



      Espero que vocês tenham curtido, é um sistema grande mas bem simples de se mexer... se tiverem quaisquer problemas podem comentar aqui. Deu trabalho fazer isso então se você gostou deixe o seu comentário aí e o seu "Gostei" que vai me incentivar a trazer mais coisas desse tipo pra cá. Abraços do lobo.


      PS: Pra sumonar o npc digite com o GOD: /n Magnus ou coloque ele pelo map editor.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo