Ir para conteúdo
Banner com Efeitos

Dmy Recaida

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Dmy Recaida recebeu reputação de samlecter em Aumentar limite de efeitos   
    o meu da esse erro
     
    [Linker error] undefined reference to `Game::addMagicEffect(Position const&, unsigned char, bool)'  
  2. Gostei
    Dmy Recaida deu reputação a xWhiteWolf em Tibia Guitar Hero [0.3.6~0.4]   
    Fala pessoal, hoje vim trazer pra vocês um sistema que eu desenvolvi em outro fórum e decidi trazer pra cá
    Chega de falatório e vamos direto aos negócios:
     
    Introdução: O sistema em si é uma cópia dos jogos de ritmo (GuitarFreaks, Band Hero, Rocksmith e o próprio Guitar Hero). Neste jogo pequenas notas irão cair pela tela até atingir um local especial, onde você poderá usar as teclas (Shift + 7, Shift + 8, Shift + 9, ou apenas 7, 9 e 9 [com Num Lock desativado]) para escolher as direções que as notas estão afim de "ativá-las". Uma vez ativada a nota ela será "queimada" e será considerado 1 acerto. Caso você não consiga ativar a nota e ela passar direto, um efeito de fumaça indicará o "Miss", o mesmo vale para se você tentar ativar uma região sem notas.
     
    Sistema de pontuação: Haverão 3 classificadores estatísticos para cada música tocada, sendo eles:
    Notas acertadas: O principal fator de ponto, ele que definirá seu recorde e o valor máximo q ele pode assumir será o número de notas da música.
    Movimentos errados: Quantidade de movimentos que você fez para alguma região que não possuia notas, conta como pontuação punitiva.
    Notas passadas/erradas: Quantidade de notas que você deixou escapar, note que as notas acertadas + notas passadas compõe o número total de notas da música.

    Por enquanto o sistema não possui nenhum preço para se jogar mas também não possui nenhuma recompensa, fiz com o intuito de ser apenas um mini game divertido dentro do Tibia. Porém o código é livre e está disponibilizado aqui embaixo pra qualquer um modificar como desejar.
    Video explicativo: Dificuldades: O mini game possui 3 dificuldades, porém essa quantidade é tão configurável quanto as pré definições de cada dificuldade. Além da quantidade de notas ser diferente, a velocidade com que elas descem e consequentemente o tempo que você tem pra acertá-las fica diminuido. 
     
    Diferenciais: Um forte diferencial desse sistema é que ele foi feito seguindo todas as regras possíveis pra melhorar seu desempenho, desde funções recursivas leves até separação em funções encapsuladas que carregam apenas as informações necessárias. O sistema contém também algumas seguranças  que serão explicadas mais abaixo juntamente com o código para prevenir bugs e garantir diversão sem dores de cabeça!
    Instalação (Map Editor): Primeiramente faça uma área parecida com essa daqui:

    Não precisa ser igualzinha, apenas seguir a mesma proporção

    Agora use a ferramenta de No-Logout para setar os quadradinhos que contém UID e UID2 escritos como No-Logout, isso vai impedir que players desloguem e fiquem presos dentro da sala (se eles derem exit, quando eles relogarem estarão do lado de fora da sala)
    Ainda olhando a foto acima, coloque 42320 nos pisos que estão escritos UID, e 42319 no piso que contém UID2.

    Nas alavancas, coloque uid 2819 em todas elas e coloque actionid 101 para a alavanca do fácil, 102 na alavanca do médio e 103 na do dificil;
    A regra é sempre 100 + dificuldade, como nós estamos utilizando apenas 3 será do 101 ao 103.
    Note que se você esquecer ou colocar uma dificuldade não existente o sistema adotará a dificuldade 1 como padrão para aquela alavanca.



    Se chegou até aqui, meus parabéns. Muito provável que você tenha feito tudo certo. Agora vamos à parte do código.
     
    Instalação (scripts): Em actions.xml insira essa linha
    <action uniqueid="2819" event="script" value="GHtest.lua"/> Agora em data/actions/scripts crie um arquivo com extensão.lua e chameo de GHtest. Insira o seguinte bloco de instruções dentro dele:
     
    <movevent type="StepIn" uniqueid="42320;42319" event="script" value="GHTestmov.lua"/> Por fim crie um arquivo chamado GHTestmov.lua em data/movements/scripts e preencha seu conteúdo com as linhas abaixo:
    Configurando seu sistema (básico):
      Para as pessoas que querem configurar apenas as coisas básicas, você pode fazê-lo nas primeiras linhas de cada script (actions/movements) ou alterando diretamente na lib, irei ensinar passo a passo aqui oque significa cada coisa.
    Alterando a lib As coisas básicas que podem ser alteradas na lib são as seguintes:
    dif = { -- [dificuldade] = notas que serao tocadas (nil = vazio, 0 = primeira posicao, 1 = segunda e 2 = terceira) [1] = {nil,nil,0,1,2,nil,nil,2,1,1,0,0,2,0,1}, [2] = {nil,nil,0,1,1,2,1,1,0,0,2,0,1,nil,1,2,1,1,0,0,2,0,1}, [3] = {nil,nil,0,nil,1,nil,1,1,0,0,2,0,1,1,1,nil,0,2,1,1,0,0,2,1,1,0,nil,2,2,1,1,1,1,2} } delay = { -- delay entre cada nota de acordo com a dificuldade [dificuldade] = delay [1] = 500, [2] = 400, [3] = 300 } recorde = { -- salva os recordes de cada dificuldade separadamente [1] = 12724, [2] = 12725, [3] = 12726 } dif separa como será cada música de cada dificuldade, as notas sempre serão nesse exato formato. nil significa que não estarei usando posição nenhuma naquela linha, 0 significa a primeira posição (nota verde), 1 significa segunda opção (nota vermelha) e 2 significa terceira opção (nota azul). Eu aconselho a começar todas as músicas com 2 ou mais 'nil' para dar tempo de o player entender que vai começar. A distribuição que eu usei foi meio que aleatória então sinta-se a vontade pra mudar tanto o tamanho das musicas quanto a variedade de notas.
    delay é a tabela que oganiza os delays de cada dificuldade, isso significa que para a dificuldade 1(fácil) nós temos 500 milisegundos para cada mudança de nota (1000 milisegundos = 1 segundo), ou seja, a cada 2 passadas de nota temos 1 segundo dentro da sala. No modo hard a cada 300 milisegundos mudamos a nota, deixando o jogo muito mais rápido e dificil. 

    recorde é a tabela que possui os storages que irão salvar os recordes nas respectivas dificuldades.
    Alterando actions local storage_point = 12721 -- storage que salva os pontos local storage_erradas = 12722 -- storage que salva as notas erradas local storage_passadas = 12723 -- storage que salva as notas que passaram Apenas mude os storages
     
    Alterando movements local itemid = 1680 --- coloque o id da nota do meio local npos = {x = 141, y = 51, z = 7} -- posicao que ira nascer a primeira nota local storage_point = 12721 -- storage que salva os pontos local storage_erradas = 12722 -- storage que salva as notas erradas local storage_passadas = 12723 -- storage que salva as notas que passaram aconselho mexer somente nos storages, mantendo igual à action.
     
     
     
    Só abra o spoiler abaixo se você estiver descontente com a forma que seu código roda e tiver certeza absoluta de que você tem o conhecimento necessário para alterar as coisas que vou explicar.
  3. Gostei
    Dmy Recaida deu reputação a Absolute em [10.9] TFS 1.2 - CAST SYSTEM - REWARD - ALL FIXED   
    TFS 1.2 v10.90 - CAST SYSTEM 100%

     
    Olá pessoal do TK, a alguns dias venho trabalhando nessas sources junto com um amigo, todavia várias coisas foram ajustadas, inclusive a otimizei fixando diversos erros.
    O Trabalho foi acompanhado com Lundrial, djarek e otimizado por mim a minutos atrás.

     
    Sobre:
    Versão: 10.90 (LATEST VERSION)
    TFS 1.2 (LATEST VERSION)
    Reward Chest 100%
    Anti Clone system 100%
    Exiva em nomes longos
    Passando em cima dos players evitando WAR TRAP
    Auto Re-mount 100%
    Algumas funções fixadas
    Diversas modificações simples corrigidas, sem dúvida a melhor source da atualidade.
     
    Irei atualizando as versões de login juntamente com o tibia.com, aderir novidades quando sair e etc.
     
     

    ATIVANDO O CAST SYSTEM
    Realize os passos abaixo para o funcionamento do cast system em seu servidor:
    Em config.lua abaixo de:
    maxPacketsPerSecond = 25 Insira as seguintes linhas:
    enableLiveCasting = false liveCastPort = 7173  
    Agora vá até data/lib/core abra o arquivo player.lua e substitua:
    networkMessage:sendToPlayer(self) por
    networkMessage:sendToPlayer(self, false)  
     
    Em data/talkactions/scripts crie um arquivo com o nome startcast.lua com o seguinte conteúdo:
    function onSay(player, words, param) if player:startLiveCast(param) then player:sendTextMessage(MESSAGE_INFO_DESCR, "You have started casting your gameplay.") else player:sendCancelMessage("You're already casting your gameplay.") end return false end  
    Ainda em data/talkactions/scripts crie outro arquivo com o nome stopcast.lua com o seguinte conteúdo:
    function onSay(player, words, param) if player:stopLiveCast(param) then player:sendTextMessage(MESSAGE_INFO_DESCR, "You have stopped casting your gameplay.") else player:sendCancelMessage("You're not casting your gameplay.") end return false +end  
    Agora em data/talkactions abra o arquivo talkactions.xml procure por:
    <talkaction words="!online" script="online.lua" /> Logo abaixo adicione as seguintes linhas:
    <talkaction words="!cast" separator=" " script="startcast.lua" /> <talkaction words="!stopcast" script="stopcast.lua" />  
    Agora para finalizar, vá até o seu PHPMYADMIN, selecione seu banco de dados e insira a QUERY:
    CREATE TABLE IF NOT EXISTS `live_casts` ( `player_id` int(11) NOT NULL, `cast_name` varchar(255) NOT NULL, `password` boolean NOT NULL DEFAULT false, `description` varchar(255), `spectators` smallint(5) DEFAULT 0, UNIQUE KEY `player_id_2` (`player_id`), FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE ) ENGINE=InnoDB;  
    Caso tenha dúvidas de como inserir, segue um basic rs:

     

     

     
    Feito, seu servidor agora possui CAST SYSTEM 100%!

     
     
     
    REWARD SYSTEM
    Caso seu servidor ainda não possua REWARD SYSTEM e queira adiciona-lo, basta adicionar os scripts:
    http://www.tibiaking.com/forum/topic/64654-reward-chest-boss-reward-tfs-12/ 
    (Importante lembrar que APENAS OS SCRIPTS devem ser adicionados, os códigos já estão opcionais nesta source)

     
    Download das sources: https://www.sendspace.com/file/q51k5d
    Scan: https://www.virustotal.com/pt/file/5e677cb5c3351852108ffa622e704cedfb1743b07b7cfad647666a2995da3212/analysis/1450298429/
    PS: Aí estão as sources para compilarem em LINUX ou WINDOWS, não mexo com windows caso alguém queira compilar para windows e posta-la, agradeço.
     
    Créditos:


     
     
     
    Enfim, a melhor source está ai pra vocês, espero que façam um bom proveito.
     
     
    Demais dúvidas, por favor, comentem ao tópico
     
    BOM PROVEEEITO, É DO TKKKK :D
     
     

     
     
     
     
     
     
     
     
     

Informação Importante

Confirmação de Termo