Ir para conteúdo

Kolisium

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Curtir
    Kolisium recebeu reputação de Reginaldo Filho em Erro ao compilar TFS 0.3.6 Crying Damson   
    Me ajudem a solucionar o erro:

    [Linker error] undefined reference to `___dyn_tls_init_callback'
    [Linker error] undefined reference to `__setargv'

    Estou usando Stian's Repack Dev-cpp v2


    Resolvido!
    Solução: desinstalar o Mingw que estava instalado e usar o q ja veio com o Dev-cpp!
  2. Gostei
    Kolisium recebeu reputação de TioItachi em [System] Frag System Pelo DB   
    Frags System
     
    Ola pessoal, sei que tem alguns scripts de frags system no forum, mas eu achei eles um pouco confusos então decidi fazer o meu e venho por meio deste disponibiliza-lo para quem quiser usar, entaão vamos la:
     
    Testado em TFS-0.4
     
    Passo 1 - Creature Scripts



    Passo 2 - Banco de dados



    Passo 3 - Ranks gesior:




    Passo 4 - Caso queira a talkaction !rank frags




     
    Pronto, acabamos de instalar o script no server.
  3. Gostei
    Kolisium recebeu reputação de TrueServer em [System] ArenaUp System   
    ArenaUp System
     
    Ola pessoal venho por meio deste topico disponibilizar um sistema de arenaup que eu desenvolvi para meu server!
     
    O sistema funciona da seguinte maneira:
    "!arenaup enter,<monster>" -> Player entra na arena, apartir disto será sumonado 9 monstros a cada 5 segundos
     
    Condições:
    Necessario item e level minimo para entrar.
    O player fica dentro da arena no maximo 1h configuravel.
    Caso morrer a arena é limpa e setada como livre.
    Player so pode entrar na arena com algum montro preselecionado configuravel.
     
    "!arenaup leave" -> Player sai da arena.
     
    Instalação do Script
    Explicações das variaveis na lib, configurações do script tb na lib
    Em data/lib crie um arquivo chamado ArenaLib.lua e coloque isso dentro:



     
    Em creaturescripts.xml:
    <event type="PrepareDeath" name="arenaup" script="arenaup.lua"/> Em creaturescripts/script/login.lua abaixo de function onLogin(cid) coloque:
    registerCreatureEvent(cid, "arenaup") Na mesma pasta cria um arquivo chamado arenaup.lua e coloque:



     
    Em talkactions.xml coloque:
    <talkaction words="!arenaup" event="script" value="arenaup.lua"/> em talkactions/scripts crie um arquivo arenaup.lua e coloque dentro:



     
    Após feito isso o script esta instalado!
  4. Gostei
    Kolisium recebeu reputação de WhiteBubble em [System] ArenaUp System   
    ArenaUp System
     
    Ola pessoal venho por meio deste topico disponibilizar um sistema de arenaup que eu desenvolvi para meu server!
     
    O sistema funciona da seguinte maneira:
    "!arenaup enter,<monster>" -> Player entra na arena, apartir disto será sumonado 9 monstros a cada 5 segundos
     
    Condições:
    Necessario item e level minimo para entrar.
    O player fica dentro da arena no maximo 1h configuravel.
    Caso morrer a arena é limpa e setada como livre.
    Player so pode entrar na arena com algum montro preselecionado configuravel.
     
    "!arenaup leave" -> Player sai da arena.
     
    Instalação do Script
    Explicações das variaveis na lib, configurações do script tb na lib
    Em data/lib crie um arquivo chamado ArenaLib.lua e coloque isso dentro:



     
    Em creaturescripts.xml:
    <event type="PrepareDeath" name="arenaup" script="arenaup.lua"/> Em creaturescripts/script/login.lua abaixo de function onLogin(cid) coloque:
    registerCreatureEvent(cid, "arenaup") Na mesma pasta cria um arquivo chamado arenaup.lua e coloque:



     
    Em talkactions.xml coloque:
    <talkaction words="!arenaup" event="script" value="arenaup.lua"/> em talkactions/scripts crie um arquivo arenaup.lua e coloque dentro:



     
    Após feito isso o script esta instalado!
  5. Gostei
    Kolisium recebeu reputação de Tiago12345 em [System] ArenaUp System   
    ArenaUp System
     
    Ola pessoal venho por meio deste topico disponibilizar um sistema de arenaup que eu desenvolvi para meu server!
     
    O sistema funciona da seguinte maneira:
    "!arenaup enter,<monster>" -> Player entra na arena, apartir disto será sumonado 9 monstros a cada 5 segundos
     
    Condições:
    Necessario item e level minimo para entrar.
    O player fica dentro da arena no maximo 1h configuravel.
    Caso morrer a arena é limpa e setada como livre.
    Player so pode entrar na arena com algum montro preselecionado configuravel.
     
    "!arenaup leave" -> Player sai da arena.
     
    Instalação do Script
    Explicações das variaveis na lib, configurações do script tb na lib
    Em data/lib crie um arquivo chamado ArenaLib.lua e coloque isso dentro:



     
    Em creaturescripts.xml:
    <event type="PrepareDeath" name="arenaup" script="arenaup.lua"/> Em creaturescripts/script/login.lua abaixo de function onLogin(cid) coloque:
    registerCreatureEvent(cid, "arenaup") Na mesma pasta cria um arquivo chamado arenaup.lua e coloque:



     
    Em talkactions.xml coloque:
    <talkaction words="!arenaup" event="script" value="arenaup.lua"/> em talkactions/scripts crie um arquivo arenaup.lua e coloque dentro:



     
    Após feito isso o script esta instalado!
  6. Gostei
    Kolisium recebeu reputação de Wakon em [System] ArenaUp System   
    ArenaUp System
     
    Ola pessoal venho por meio deste topico disponibilizar um sistema de arenaup que eu desenvolvi para meu server!
     
    O sistema funciona da seguinte maneira:
    "!arenaup enter,<monster>" -> Player entra na arena, apartir disto será sumonado 9 monstros a cada 5 segundos
     
    Condições:
    Necessario item e level minimo para entrar.
    O player fica dentro da arena no maximo 1h configuravel.
    Caso morrer a arena é limpa e setada como livre.
    Player so pode entrar na arena com algum montro preselecionado configuravel.
     
    "!arenaup leave" -> Player sai da arena.
     
    Instalação do Script
    Explicações das variaveis na lib, configurações do script tb na lib
    Em data/lib crie um arquivo chamado ArenaLib.lua e coloque isso dentro:



     
    Em creaturescripts.xml:
    <event type="PrepareDeath" name="arenaup" script="arenaup.lua"/> Em creaturescripts/script/login.lua abaixo de function onLogin(cid) coloque:
    registerCreatureEvent(cid, "arenaup") Na mesma pasta cria um arquivo chamado arenaup.lua e coloque:



     
    Em talkactions.xml coloque:
    <talkaction words="!arenaup" event="script" value="arenaup.lua"/> em talkactions/scripts crie um arquivo arenaup.lua e coloque dentro:



     
    Após feito isso o script esta instalado!
  7. Gostei
    Kolisium recebeu reputação de Wakon em [System] Frag System Pelo DB   
    Frags System
     
    Ola pessoal, sei que tem alguns scripts de frags system no forum, mas eu achei eles um pouco confusos então decidi fazer o meu e venho por meio deste disponibiliza-lo para quem quiser usar, entaão vamos la:
     
    Testado em TFS-0.4
     
    Passo 1 - Creature Scripts



    Passo 2 - Banco de dados



    Passo 3 - Ranks gesior:




    Passo 4 - Caso queira a talkaction !rank frags




     
    Pronto, acabamos de instalar o script no server.
  8. Gostei
    Kolisium deu reputação a Fir3element em [Linux] Alguem disponibiliza RME para linux   
    https://github.com/hjnilsson/rme
     
    --
     
    Linux
     
    Assuming that you have all required tools to compile (gcc, cmake, boost, mesa, wxWidgets, libarchive) clone the project, open you terminal and do the following commands:
    mkdir build && cd build cmake .. make -j `nproc` ./rme
  9. Gostei
    Kolisium deu reputação a Fir3element em (Resolvido)Erro ao compilar Crying Dansom v8.2   
    Tenta com essa source: https://github.com/fir3element/forgottenserver036
  10. Gostei
    Kolisium deu reputação a Fir3element em (Resolvido)Erro ao compilar Crying Dansom v8.2   
    war system com escudos
    auto-stack
    op codes
    arrumei alguns bugs desconhecidos
    compilando em todos os linux
    e outras coisas q já nem lembro mais aheuhae
  11. Gostei
    Kolisium deu reputação a Fir3element em (Resolvido)[Ajuda] Linux = mysql?   
    SQLite funciona normalmente no Linux, se é o que quer saber.
    O erro aparece porque você configurou como MySQL e a database 'theforgottenserver' não existe.
     
    Na hora de compilar use isto: --enable-sqlite
  12. Gostei
    1. Abra o arquivo: /usr/include/boost/filesystem/config.hpp
    Na linha 16, troque != 3 para != 2
     
    2. otsystem.h, antes de: (± linha 125)
    #define foreach BOOST_FOREACH #define reverse_foreach BOOST_REVERSE_FOREACH #endif adicione:
    #if BOOST_VERSION < 104400 #define BOOST_DIR_ITER_FILENAME(iterator) (iterator)->path().filename() #else #define BOOST_DIR_ITER_FILENAME(iterator) (iterator)->path().filename().string() #endif luascript.cpp, troque: (± linha 740)
    std::string s = it->leaf(); por:
    std::string s = BOOST_DIR_ITER_FILENAME(it); scriptmanager.cpp (± linha 130), faça a mesma coisa
  13. Gostei
    Kolisium deu reputação a xWhiteWolf em (Resolvido)[Pedido][Action] Transporte de players.   
    não, não é um pedido simples e nunca diga que o pedido de alguém não é valido e que ela deve ir no google.. é pra isso que o fórum serve. Não quero voltar a ver esse tipo de atitude por aqui.
     
    local pos = {x = 160, y = 54, z = 7} -- posição que será teleportado local from = {x = 145, y = 40, z = 7} ---- posição de um dos cantos do area que será analisado local to = {x = 151, y = 53, z = 7} ---- posição de um dos cantos da area que será analisado function onUse(cid, item, frompos, item2, topos) function getSpectatorsFromArea(fromPosition, toPosition) local width = (math.max(fromPosition.x, toPosition.x) - math.min(fromPosition.x, toPosition.x)) / 2 + 1 local height = (math.max(fromPosition.y, toPosition.y) - math.min(fromPosition.y, toPosition.y)) / 2 + 1 local center = {x = math.min(fromPosition.x, toPosition.x) + width, y = math.min(fromPosition.y, toPosition.y) + height, z = fromPosition.z} return getSpectators(center, width, height, false) end function TeleportAllInArea(from, to)       for _, pid in pairs(getSpectatorsFromArea(from, to) or {}) do       if isPlayer(pid) then          doTeleportThing(pid, pos, true) doSendMagicEffect(getPlayerPosition(pid), 10)       end    end end TeleportAllInArea(from, to) doSendMagicEffect(getPlayerPosition(cid), 13) return true end
  14. Gostei
    Kolisium deu reputação a xWhiteWolf em New Library v. 1.2   
    Fala galera, hoje vim trazer pra vocês uma nova biblioteca de funções que eu venho desenvolvendo, pretendo ir atualizando esse tópico constantemente sempre adicionando funções novas e explicando a utilização delas. Algumas funções que eu coloquei aqui estão presentes na OTAL também, porém algumas eu fiz pequenas correções de forma que essa lib poderia facilmente substituir a OTAL sem grandes problemas (pelo menos se você utilizava apenas as funções básicas da otal)
    Todas as funções que não tem -- nome do autor do lado dela foram feitas por mim, xWhiteWolf ou Night Wolf (NW). O restante delas são créditos dos devidos autores, apenas coloquei pois considero funções vitais no server de cada um. Crie um arquivo em data/lib chamado 075 - White Wolf Functions.lua e coloque o seguinte código dentro:



     
    Agora eu vou explicar oque cada função faz porque de nada adianta lançar uma lib e não explicar oque ela faz não é mesmo? hahaha
    Obs inicial: quando uma função tiver em seus parametros um [] significa que oque está dentro do colchetes não é um parâmetro obrigatório.



    Como usar: doShowTimeByPos(cid, getCreaturePosition(cid), 20, 20)
    Irá fazer uma contagem regressiva na posição que o player se encontra começando de 20 e mandando a mensagem na mesma cor da fala dos monstros.
    Essa função é bem útil em actions/spells para fazer contagem de tempo em runas como a magic wall e ver quanto tempo falta pra magic wall sumir)

     
    Obs: Espero que ajude bastante pessoas a entender sobre funções, eu utilizei cid como o principal uid das funções nos exemplos mas você pode muito bem utilizar outros uids, fica a critério seu.

    Qualquer dúvida comentem abaixo que eu vou tentar ajudar da melhor maneira.
    Ahhh, isso daí foi testado em 8.54 mas deve funcionar em quase todas as versões que tenham as funções básicas do TFS. 

    EDIT: Pessoal, agora é sério, essa lib tem fácil umas 600 linhas, das quais umas 500 eu devo ter codado sozinho (na mão, linha por linha). Eu tive todo o trabalho de testar cada uma delas e oque eu peço é o mínimo de gratidão e respeito. Se eu te ajudei clique em Gostei, se você tiver alguma dúvida eu to me colocando a disposição de responder qualquer coisa relacionada ao tópico, mesmo que você não saiba nem oque é uma lib apenas venha aqui e escreva sua dúvida.

    EDIT 2: Duas novas funções adicionas, espero que gostem!

    EDIT 3: Três novas funções adicionadas juntamente com suas respectivas explicações.
  15. Gostei
    Kolisium deu reputação a xWhiteWolf em Magnus Challenger   
    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.
  16. Gostei
    Kolisium deu reputação a Frenesy em (Resolvido)Setar Storage em Player Offline   
    db.executeQuery("INSERT `player_storage` SET `key` = 0000, 'value' = 1, WHERE `player_id` = " .. getPlayerGUID(cid) .. ";"
  17. Gostei
    Kolisium deu reputação a LeoTK em (Resolvido)Upgrade Wand, (Upgrade System By Mock)   
    amigo, uma ideia era você criar outras wand com a mesma sprite porém com o nome que ficaria as outras tipo Wand of Vortex [1] etc.... até quando quiser configurando no weapon.xml e também sendo cada uma um iten diferente então ao usar o iten a wand mostra que teve sucesso ao dar upgrade muda a wand e ela fica mais forte isso seria uma saida mas teria que configurar a script para fazer isso em conjunto com a função que ela já tem ou faze routra script usando outro iten ...
  18. Gostei
    Kolisium recebeu reputação de xWhiteWolf em (Resolvido)Upgrade Wand, (Upgrade System By Mock)   
    Hmmm, que bad, mas mesmo assim muito obrigado amigo. Reputado!
     
    No mais é uma honra ter vc comentando o meu post, u.u vejo seus sistemas e fico lendo os codigos pra ver se aprendo algo, sou universitario de ciencia da computação mas ainda to engatinhando no lua relacionado a tibia...
  19. Gostei
    Kolisium deu reputação a xWhiteWolf em (Resolvido)Upgrade Wand, (Upgrade System By Mock)   
    esse sistema não tem esse tipo de suporte, as wands tem o dano definidos em weapons.xml, não teria como fazer um sistema que alterasse o dano que ela causa :/

Informação Importante

Confirmação de Termo