Ir para conteúdo
  • 0

Weapon que pode matar na hora ou causar "POISON"


XxPaaulinhoOxX

Pergunta

é o seguinte galerinha, eu queria um script pra colocar em uma sword, esse script teria de conter os seguintes eventos eventos:

 

-- O ÚSUARIO da arma vai perdendo soul de acordo com o tempo (variavel de tempo e soul perdida configurável pf)

 

-- A ARMA tem 10% de chance de causar um status no ATACADO, ao qual este vai perdendo 10% do maxhealth a cada 'x' segundos (quando causar o status o player que atacou deve dizer 'DEATH SENTENCE' ou algo do tipo)

 

-- A ARMA tem 3% de chance de causar DEATH (ou seja morte instantanêa, perder todo o maxhealth)

 

-- A ARMA tem 'n%' (sendo 'n' um nº) de chance de quebrar .

 

Creio que é dificil de fazer, porém, deixo meus eternos agradecimentos a quem ao menos tentar ! Obrigado !!!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

data/weapons/scripts/scythe of death.lua

local config = {
   chances = {
       curse = 10,
       coma = 3,
       breaking = 5
   },
   soulcost = 1
}

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)

local function onCurse(cid)
   if not isCreature(cid) then
       return true
   end

   doAreaCombatHealth(0, COMBAT_DEATHDAMAGE, getThingPosition(cid), 0, -(getCreatureMaxHealth(cid) * 0.1), -(getCreatureMaxHealth(cid) * 0.1), CONST_ME_MORTAREA)
   return true
end

function onUseWeapon(cid, var)
   if (config.chances.breaking * 100) > math.random(1, 10000) then
       doRemoveItem(getPlayerItemById(cid, true, 2550).uid, 1)
       return true
   end

   if getPlayerSoul(cid) < config.soulcost then
       return true
   end

   local target = variantToNumber(var)
   if (config.chances.curse * 100) > math.random(1, 10000) then
       doCreatureSay(cid, "Curse Sentence!", TALKTYPE_ORANGE_1)
       doSendDistanceShoot(getThingPosition(cid), getThingPosition(target), CONST_ANI_SUDDENDEATH)
       doSendMagicEffect(getThingPosition(target), CONST_ME_MORTAREA)
       for n = 1, 10 do
           addEvent(onCurse, n * 6 * 1000, target)
       end
   elseif (config.chances.coma * 100) > math.random(1, 10000) then
       doCreatureAddHealth(target, (1 - getCreatureMaxHealth(target)))
       doCreatureSay(cid, "Death Sentence!", TALKTYPE_ORANGE_1)
       doSendDistanceShoot(getThingPosition(cid), getThingPosition(target), CONST_ANI_SUDDENDEATH)
       doSendMagicEffect(getThingPosition(target), CONST_ME_MORTAREA)
   else
       doCombat(cid, combat, var)
   end
   doPlayerAddSoul(cid, -config.soulcost)
   return true
end

 

data/weapons/weapons.xml

<melee id="2550" level="100" unproperly="1" event="script" value="scythe of death.lua"/>

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...