Ir para conteúdo
  • Cadastre-se

Tadelho

Membro
  • Total de itens

    60
  • Registro em

  • Última visita

Sobre Tadelho

  • Rank
    Dedicado

Informação de Perfil

  • Eu sou
    Designer

Últimos Visitantes

1566 visualizações
  1. Na verdade até tem, mas daria um bom trabalho e provavelmente te faria reescrever uma porção de magias, items que dão skill, etc. A ideia seria trabalhar com os buffs em storages voltadas só para isso. Por exemplo: na storage 9999 nós guardaremos todas modificações de skill de Sword. Sempre que uma magia, item ou efeito de algo mudar o skill, você deve passar o valor para a storage e trabalhar com ele a partir de lá (e isso dá um certo trabalho, mas é possível). Isso permite não só a verificação do valor, mas também trabalhá-los de diversas formas. Eu uso um sistema desses em meu servidor.
  2. @Guilherme HP , vou te dar uma ideia adaptando um script que uso no meu servidor. Crie um creaturescript chamado "playerdodge.lua", por exemplo. (o nome você escolhe). Nele, vamos montar um script que, sempre que o jogador for receber um dano, fará uma verificação afim de anular ou não o dano recebido. O script ficaria mais ou menos como: local dodgechance = 20 -- chance em % do sistema dodge funcionar local multiplier = 0 -- valor pelo qual o dano será multiplicado function onStatsChange(cid, attacker, type, combat, value) if type == STATSCHANGE_HEALTHLOSS then if
  3. @BruniinBR Tente assim: local tempo = 30 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo * 900) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setCombatCondition(combat, condition) function heal(cid) local formula = 30 * getPlayerLevel(cid) for i = 1, tempo do addEvent(doCreatureAddHealth, 200 * i, cid, (formula / tempo)) end end functio
  4. Cara, eu não sei qual servidor e qual versão você está utilizando, mas talvez a solução passe pelo mesmo método encontrado neste tópico que deixarei ao final; isto é, uma pequena edição no código fonte do seu servidor (que deverá ser compilado novamente a partir da modificação). Infelizmente eu não sei exatamente qual é o trecho de código que condiciona isso que você quer.
  5. Eu não mais um consumidor de OTs há bastante tempo, mas aqueles com os quais mais me envolvi e joguei mais tempo sempre foram OTs com perspectivas de um longo-prazo. Em geral, RPG, de preferência com conteúdo original. PVP, para mim, era completamente descartável. Entretanto, eu digo isso com consciência de que eu não represento o interesse geral da média dos jogadores - esses sim parecem gostar do jogo pelo seu aspecto de briga de gangues. O barato das pessoas me parece estar em "dominar o servidor" ou coisa do gênero (assim como nos servidores globais). Outro fator a ser consider
  6. Conforme tive uma dúvida outro dia, consegui obter uma solução satisfatória e, sabendo que pode ser a dúvida de mais gente, resolvi compartilhar na forma deste pequeno tutorial. A ideia é muito simples: fazer com que uma spell de área atinga apenas alguns alvos conforme uma característica específica. Isso pode ser bastante útil para diversas ideias, além do script base servir para tantos outros efeitos interessantes. Atenção, fiz os scripts para: TFS 0.4.0 Teremos como base para esse exemplo a magia "divine caldera", o famoso "exevo mas san". Nela ter
  7. @KillerWatts O problema é que eu precisaria saber qual a fórmula de dano que você está utilizando aí no seu servidor... supondo que você esteja utilizando a fórmula original do TFS 0.3.6, ficaria assim: local level = getPlayerLevel(cid) local attack = x -- insira o valor de atk que você quer simular local distance = getPlayerSkill(cid, SKILL_DISTANCE, false) local min = math.ceil(level * 0.2) local max = math.ceil((2 * (attack * (distance + 5.8) / 25 + (level - 1) / 10.)) OBS1: Você só precisa substituir ali no lugar do "x" o atk que você quer simular, por exemplo, "65" (igual
  8. Cara, pelo que entendi você não está calculando o dano por uma fórmula, está apenas configurando ali na primeira linha do código os valores para o dano mínimo e o dano máximo: "min, max". Nesse caso, você pode simplesmente alterar isso para a fórmula desejada. Por exemplo: local level = getPlayerLevel(cid) local distance = getPlayerSkill(cid, SKILL_DISTANCE, false) local min = (level * 1 + distance * 2.5) - 15 local max = (level * 2 + distance * 3.2) + 30 Sacou a ideia? Ali é só um exemplo, você colocaria a fórmula que você quer, seja ela qual for.
  9. @EDIT -- EU MESMO CONSEGUI SOLUCIONAR O CASO! VEJA EM: Diga em poucas palavras a base utilizada (Nome do servidor ou nome do website). TFS 0.4.0 Qual erro está surgindo/O que você procura? Fala, pessoal. Gostaria que vocês me dessem ideias de como seria possível fazer uma spell de área que só dê dano nas criaturas com um determinado nome. Vamos tomar como exemplo a magia divine caldera (exevo mas san, no código abaixo), e apenas as criaturas "rat" e "cave rat". Como eu faria para que essa magia só desse dano nos ratos e ignorasse os
  10. @leozincorsair Substitui o seguinte: local chance1, chance2, chance3 = math.random(1,100) Por: local chance1 = math.random(1,100) local chance2 = math.random(1,100) local chance3 = math.random(1,100) Testei no TFS 0.4.0 e funcionou.
  11. Fala, pessoal! Algum de vocês tem sprites diferentes de dragões além das do próprio jogo ou sabe onde eu poderia encontrar alguma? Estava querendo fazer alguns novos dragões... andei procurando mas só encontrei essa: Se vocês souberem de alguma que possam compartilhar, eu agradeço!
  12. Sim, eu entendi isso. O problema é que com essa disposição de 50%-30%-10%, em 10% das vezes não acontecerá do jogador ganhar qualquer um dos itens listados. Mesmo que o sorteio dos itens seja independente, ainda há o risco também de nenhum dos itens ser sorteado, então eu assumi que ele simplesmente perderá em 10% das vezes. @leozincorsair Sorteio para ganhar um item ou outro, 1° script. Sorteio independente de cada item, 2° script. -- CONFIGURAÇÕES -- PR = {11413, 11414, 11467} -- ID dos itens que será sorteado. money = {9970, 'Royal Coins'} -- ID do crystal coin e nome.
  13. @leozincorsair Só tem um problema: 50 + 30 + 10 = 90%. Os outros 10% serão o quê? O jogador não ganha coisa alguma?
  14. Diga a chance que você quer para cada item. {11413, 11414, 11467}. (Algo como: 11413 = 20%, 11414 = 30% e 11467 = 50%, por exemplo).
  15. @elielder duas coisas a serem consideradas: 1°, você deu reload na configuração e nos monstros após aplicar as alterações? Do contrário, elas não surtirão efeito. 2°, a probabilidade é para cada item individualmente, então digamos que você listou nesse caso 5 itens diferentes com 0,9% de chance de drop para cada. Estatisticamente, a cada 100 criaturas que o jogador matar, ele obterá "4,5" (entre 4 e 5) itens, sendo 1 de cada. Se entre esses 5 itens, como um todo, você quiser que apenas 1 item venha de loot a cada 100 criaturas, você deve colocar neles a chance de 0
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo