BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

{ayuda} Formulas

{ayuda} Formulas

#1 {ayuda} Formulas el Mar Oct 28, 2014 12:45 am

Black Prada


Miembro
function onGetFormulaValues(cid, level, skill, attack, factor)
  local level = level / 2
  return -level
end


si quiero que pegue dependiendo de la distancia de un paladin ? o de el sword axe o club de un kina o del ml de un mago como le aria?

por decir un paladin con 150 de distancia me gustaiqa que quedara asi

150 *2 hay son 300 que eso le pegara al player

ya que estoi usando esta formula :/

function onGetFormulaValues(cid, skill)
return -(skill * 4.0), -(skill * 4.2)
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

saludos amigos

#2 Re: {ayuda} Formulas el Mar Oct 28, 2014 8:58 am

Sirakx


Moderador
digamos te quedaría así.

Código:

function onGetFormulaValues(cid, level, skill)
   return -skill*2, -skill*2
end

te explicare onGetFormulaValues(cid, level, skill) <--- esto como tal retorna lo necesario para saber tu nivel tu skill, el arma que usas etc.. te dire como usarlo... cid es un identificador que retorna lo que es el jugador, level es el level del jugador y skill es el skill del jugador, si quieres que ataque con su skill del jugador este dependerá de que arma este usando, digamos si esta usando un arco y flecha o una spear tomara el skill de distance, si esta usando una sword tomara el skill de sword obviamente  solo funciona con los skill queda fuera el magic level ya que para ello existe otra formula, y esto queda así return -skill*2, -skill*2 por que antes de la "," va el golpe menor y después de la coma va el golpe mayor es decir si tiene de distance 100 entonces pegaría de 200 a 200 un golpe exacto obviamente no pegara exactamente 200 ya que debes de tomar en cuenta la defensa del monster o si es inmune a ese poder etc..

http://celesta-global.net/

#3 Re: {ayuda} Formulas el Mar Oct 28, 2014 9:15 am

Black Prada


Miembro
Muchisimas gracias amigo por contestarme & que buena explicacion me has dado ya tenemos a otro en la comunidad que es atento con los demas usuarios! GRACIAS+
entonces quedaria asi:

function onGetFormulaValues(cid, level, skill)
return -skill*2, -skill*2
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")


pd: en el caso del magic level como  quedaria amigo?

de antemano reitero gracias por tu ayuda

#4 Re: {ayuda} Formulas el Mar Oct 28, 2014 9:36 am

Sirakx


Moderador
para magia es a si

Código:

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ICEAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 1.4, 2.8, 40, 70)

te explico cada que crees combate objeto tienes que definir el tipo:

Código:

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)

en este caso es COMBAT_ICEDAMAGE pero existen muchos mas los cuales son:

Código:

COMBAT_NONE = 0
COMBAT_PHYSICALDAMAGE = 1
COMBAT_ENERGYDAMAGE = 2
COMBAT_EARTHDAMAGE = 4
COMBAT_POISONDAMAGE = 4
COMBAT_FIREDAMAGE = 8
COMBAT_UNDEFINEDDAMAGE = 16
COMBAT_LIFEDRAIN = 32
COMBAT_MANADRAIN = 64
COMBAT_HEALING = 128
COMBAT_DROWNDAMAGE = 256
COMBAT_ICEDAMAGE = 512
COMBAT_HOLYDAMAGE = 1024
COMBAT_DEATHDAMAGE = 2048

ya si no quieres poner el nombre también puedes poner los números un ejemplo:

Código:

setCombatParam(combat, COMBAT_PARAM_TYPE,  1)

debes también agregarle un efecto:

Código:

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ICEAREA)

el cual aqui es CONST_ME_ICEAREA pero existen mucho mas los cuales son:

Código:

CONST_ME_DRAWBLOOD = 0
CONST_ME_LOSEENERGY = 1
CONST_ME_POFF = 2
CONST_ME_BLOCKHIT = 3
CONST_ME_EXPLOSIONAREA = 4
CONST_ME_EXPLOSIONHIT = 5
CONST_ME_FIREAREA = 6
CONST_ME_YELLOW_RINGS = 7
CONST_ME_GREEN_RINGS = 8
CONST_ME_HITAREA = 9
CONST_ME_TELEPORT = 10
CONST_ME_ENERGYHIT = 11
CONST_ME_MAGIC_BLUE = 12
CONST_ME_MAGIC_RED = 13
CONST_ME_MAGIC_GREEN = 14
CONST_ME_HITBYFIRE = 15
CONST_ME_HITBYPOISON = 16
CONST_ME_MORTAREA = 17
CONST_ME_SOUND_GREEN = 18
CONST_ME_SOUND_RED = 19
CONST_ME_POISONAREA = 20
CONST_ME_SOUND_YELLOW = 21
CONST_ME_SOUND_PURPLE = 22
CONST_ME_SOUND_BLUE = 23
CONST_ME_SOUND_WHITE = 24
CONST_ME_BUBBLES = 25
CONST_ME_CRAPS = 26
CONST_ME_GIFT_WRAPS = 27
CONST_ME_FIREWORK_YELLOW = 28
CONST_ME_FIREWORK_RED = 29
CONST_ME_FIREWORK_BLUE = 30
CONST_ME_STUN = 31
CONST_ME_SLEEP = 32
CONST_ME_WATERCREATURE = 33
CONST_ME_GROUNDSHAKER = 34
CONST_ME_HEARTS = 35
CONST_ME_FIREATTACK = 36
CONST_ME_ENERGYAREA = 37
CONST_ME_SMALLCLOUDS = 38
CONST_ME_HOLYDAMAGE = 39
CONST_ME_BIGCLOUDS = 40
CONST_ME_ICEAREA = 41
CONST_ME_ICETORNADO = 42
CONST_ME_ICEATTACK = 43
CONST_ME_STONES = 44
CONST_ME_SMALLPLANTS = 45
CONST_ME_CARNIPHILA = 46
CONST_ME_PURPLEENERGY = 47
CONST_ME_YELLOWENERGY = 48
CONST_ME_HOLYAREA = 49
CONST_ME_BIGPLANTS = 50
CONST_ME_CAKE = 51
CONST_ME_GIANTICE = 52
CONST_ME_WATERSPLASH = 53
CONST_ME_PLANTATTACK = 54
CONST_ME_TUTORIALARROW = 55
CONST_ME_TUTORIALSQUARE = 56
CONST_ME_MIRRORHORIZONTAL = 57
CONST_ME_MIRRORVERTICAL = 58
CONST_ME_SKULLHORIZONTAL = 59
CONST_ME_SKULLVERTICAL = 60
CONST_ME_ASSASSIN = 61
CONST_ME_STEPSHORIZONTAL = 62
CONST_ME_BLOODYSTEPS = 63
CONST_ME_STEPSVERTICAL = 64
CONST_ME_YALAHARIGHOST = 65
CONST_ME_BATS = 66
CONST_ME_SMOKE = 67
CONST_ME_INSECTS = 68
CONST_ME_DRAGONHEAD = 69

al igual también puedes poner los numero.

También pones un área efecto:

Código:

setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE)

el cual en este caso es CONST_ANI_ICE pero existen muchos mas los cuales son:

Código:

CONST_ANI_SPEAR = 0
CONST_ANI_BOLT = 1
CONST_ANI_ARROW = 2
CONST_ANI_FIRE = 3
CONST_ANI_ENERGY = 4
CONST_ANI_POISONARROW = 5
CONST_ANI_BURSTARROW = 6
CONST_ANI_THROWINGSTAR = 7
CONST_ANI_THROWINGKNIFE = 8
CONST_ANI_SMALLSTONE = 9
CONST_ANI_DEATH = 10
CONST_ANI_LARGEROCK = 11
CONST_ANI_SNOWBALL = 12
CONST_ANI_POWERBOLT = 13
CONST_ANI_POISON = 14
CONST_ANI_INFERNALBOLT = 15
CONST_ANI_HUNTINGSPEAR = 16
CONST_ANI_ENCHANTEDSPEAR = 17
CONST_ANI_REDSTAR = 18
CONST_ANI_GREENSTAR = 19
CONST_ANI_ROYALSPEAR = 20
CONST_ANI_SNIPERARROW = 21
CONST_ANI_ONYXARROW = 22
CONST_ANI_PIERCINGBOLT = 23
CONST_ANI_WHIRLWINDSWORD = 24
CONST_ANI_WHIRLWINDAXE = 25
CONST_ANI_WHIRLWINDCLUB = 26
CONST_ANI_ETHEREALSPEAR = 27
CONST_ANI_ICE = 28
CONST_ANI_EARTH = 29
CONST_ANI_HOLY = 30
CONST_ANI_SUDDENDEATH = 31
CONST_ANI_FLASHARROW = 32
CONST_ANI_FLAMMINGARROW = 33
CONST_ANI_SHIVERARROW = 34
CONST_ANI_ENERGYBALL = 35
CONST_ANI_SMALLICE = 36
CONST_ANI_SMALLHOLY = 37
CONST_ANI_SMALLEARTH = 38
CONST_ANI_EARTHARROW = 39
CONST_ANI_EXPLOSION = 40
CONST_ANI_CAKE = 41

al igual también puedes poner números.

ahora bien añades el tipo de ataque:

Código:

setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 1.4, 2.8, 40, 70)

lo cual en este caso es COMBAT_FORMULA_LEVELMAGIC pero existen otros tipos de ataques los cuales son:

Código:

COMBAT_FORMULA_UNDEFINED = 0
COMBAT_FORMULA_LEVELMAGIC = 1
COMBAT_FORMULA_SKILL = 2
COMBAT_FORMULA_DAMAGE = 3

COMBAT_FORMULA_LEVELMAGIC se refiere que atacaras conforme al magic level y los números 5, 5, 1.4, 2.8, 40, 70 se multiplican con tu ml. y el resultado es el ataque.

el script que pusiste si esta bien así

http://celesta-global.net/

#5 Re: {ayuda} Formulas el Mar Oct 28, 2014 9:56 am

Black Prada


Miembro
gracias & eacto men esto es lo que nunca e entendido como se multiplica estos numeros con mi ml

5, 5, 1.4, 2.8, 40, 70)

#6 Re: {ayuda} Formulas Hoy a las 12:18 pm

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.

 

¿Quién está en línea?

En total hay 1 usuario en línea: 1 Registrado, 0 Ocultos y 0 Invitado

Usuarios navegando en este foro: vicente9908

Forum Statistics

Nuestros miembros han públicado un total de posts en temas.
Actualmente hay miembros registrados.
Démosle la bienvenida al miembro más reciente,
La mayor cantidad de usuarios en línea ha sido de .