Ir para conteúdo

Featured Replies

Postado

Seguinte pessoal meu otserver é 8.60 TFS 0.3.6 MYSQL, eu tenho um script de uma arma que no caso é esse aqui :

 

Spoiler

local min, max = 5000,10000 --Ataque mínino e ataque máximo

local w = {
    [1] = {ef = 15, sh = 33, dmg = COMBAT_FIREDAMAGE},
    [2] = {ef = 43, sh = 34, dmg = COMBAT_ICEDAMAGE},
    [3] = {ef = 8, sh = 39, dmg = COMBAT_POISONDAMAGE},
    [4] = {ef = 38, sh = 23, dmg = COMBAT_DEATHDAMAGE},
    [5] = {ef = 47, sh = 32, dmg = COMBAT_ENERGYDAMAGE},
    [6] = {ef = 9, sh = 21, dmg = COMBAT_PHYSICALDAMAGE},
    [7] = {ef = 48, sh = 17, dmg = COMBAT_HOLYDAMAGE}
}

function onUseWeapon(cid, var)
        local effect = getPlayerStorageValue(cid, 4561)
        local target = getCreatureTarget(cid)
        
        if target ~= 0 then
                local wx = w[effect] or w[math.random(#w)]
                doSendDistanceShoot(getThingPos(cid), getThingPos(target), wx.sh)
                addEvent(doAreaCombatHealth, 100, cid, wx.dmg, getThingPos(target), 0, -min, -max, wx.ef)
        end
        return true
end

 

 

Porem, esse script e de uma weapon que eu criei de paladin, que no caso ela lança as flechas com os efeitos e os danos elementais...

so que o dano dela é tipo wand, queria que se tivesse como manter as shoottypes e também os efeitos e tbm os elementos... porem o dano seja comforme a skill DISTANCE do player, por exemplo uma Star !!!

se puderem me ajudar ficarei muito feliz em reputalos !!

@moviebr Obrigado !!!

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

  • Respostas 8
  • Visualizações 2.7k
  • Created
  • Última resposta

Top Posters In This Topic

Postado

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.

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

Postado
  • Autor
38 minutos atrás, moviebr disse:

Qual a tag que está no weapons.xml dela?

 

<distance id="2410" swing="true" level="7" event="script" value="donatearrow.lua"/> <!-- Donate Knife -->

 

essa tag !

3 minutos atrás, Tadelho disse:

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 o os valores para dano mínimo e 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.

 

 

cara me desculpa, sou meio leigo no assunto... poderia fazer tipo o dano de uma assassin star ? exemplo (assassin star Atk 350 ) so que dai o dano dela vai ser conforme o skill distance do player !!! e no caso ali vc colocou "SKILL_DISTANCE, false" seria true né ?

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

Postado

@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 uma assassin star), ou "300", enfim, o que você quiser.

OBS2: Isso estará simulando golpes sempre no modo "full attack".

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

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo