Postado Janeiro 19, 2015 10 anos 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: 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 Janeiro 22, 2015 10 anos por mateusak (veja o histórico de edições)
Postado Janeiro 19, 2015 10 anos 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 Janeiro 21, 2015 10 anos 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.