Ir para conteúdo

Featured Replies

Postado

Outro script que vou liberar para agradecer ao TK.

 

Esse script faz com que o dano do target vá se dividindo e espalhando entre os monstros, um chain. 

 

Imagem:

gSH8TaM.png

 

Script:

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)
 
local shock = createConditionObject(CONDITION_CHANNELMUTEDTICKS)
setConditionParam(shock, CONDITION_PARAM_TICKS, 990)
 
function onUseWeapon(cid, var)
if getPlayerVocation(cid) == 4 then
local target = getCreatureTarget(cid)
local tpos = getCreaturePosition(target)
local cfg = {
min = ((getPlayerLevel(cid)*0.1) + (getPlayerMagLevel(cid)*1.1) + (getPlayerSkill(cid, 2)*0.1)),
max = ((getPlayerLevel(cid)*0.1) + (getPlayerMagLevel(cid)*1.2) + (getPlayerSkill(cid, 2)*0.2)),
storage = 15002,
maximo = 32
}
setPlayerStorageValue(cid, cfg.storage, 2)
local dano = math.random(cfg.min, cfg.max)
local function doChainEffect(pos)
for k = -1, 1 do 
for j = -1, 1 do
local c = Creature(getTopCreature({x=pos.x+j, y=pos.y+k, z=pos.z}).uid) or 0
if c ~= 0 and c ~= Creature(cid) and not c:getCondition(CONDITION_CHANNELMUTEDTICKS) then 
local m = getPlayerStorageValue(cid, cfg.storage)
if (dano/m) >= 1 and m <= cfg.maximo then
if c == Creature(getTopCreature(tpos).uid) then
doTargetCombatHealth(cid, c, COMBAT_ENERGYDAMAGE, -dano, -dano, CONST_ME_PURPLEENERGY)
else
doTargetCombatHealth(cid, c, COMBAT_ENERGYDAMAGE, -(dano/m), -(dano/m), CONST_ME_PURPLEENERGY)
end
c:addCondition(shock, true)
addEvent(function()
setPlayerStorageValue(cid, cfg.storage, m*2)
doChainEffect(c:getPosition())
end, 1)
end
end
end 
end
end
doChainEffect(tpos)
end
return doCombat(cid, combat, var)
end

 

Ali em máximo é quantos targets o chain vai pegar antes de parar, porém a contagem aqui é diferente; para cada monstro afetado ele dobra a contagem. Ou seja, 5 monstros é igual a: 1, 2, 4, 6, 12. Lembrando que 5 monstros é 5 de cada lado. 10x10 se preferir.

 

Storage é a storage usada.

 

Min e max são as formulas de dano.

 

Em weapons.xml:

 

TFS 1.0:

 

<melee id="2413" unproperly="1" function="default" script="nome.lua">                               <- É só por essa tag na arma desejada
<vocation name="Knight"/>
<vocation name="Elite Knight" showInDescription="0"/>
</melee>
 
Outro TFS:
 
<melee id="2413" unproperly="1" function="default" event="script" value="nome.lua">                               <- É só por essa tag na arma desejada
<vocation name="Knight"/>
<vocation name="Elite Knight" showInDescription="0"/>
</melee>

 

 

Modificação e redistribuição é permitida dentro do TK, com meus créditos. Lembrando que o script pode estar mal feito, eu não sabia programar direito na época, por isso conto com a ajuda de todos para melhorar o script. Provavelmente só funciona em TFS 1.0 para cima.

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

Postado

Legal, mas peço para que você formate melhor o seu tópico. Dê ao menos um exemplo de instalação, há membros que não sabem como aplicar em seus servidores.
E se possível, forneça algumas imagens para que eles entendam de forma mais clara, como é o script em uso.
Você têm 48 horas para modificar o seu post, ou, ele será movido para a lixeira.

Postado

Ficou muito bom, parabéns.
Seu tópico foi aprovado e movido para a seção correta. Você também recebeu 1 ponto de reputação positiva por compartilhar isto conosco.
Aguardamos por mais conteúdos assim :)

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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo