Hey guys i need to ask you for a huge favour. I was looking for a script that was like this:
You have an specific weapon, that attacks X physical, but, also, whe you use a talkaction like: !weapon "element", you say an element and gives an extra attack.
For example:
It attacks 40 physical, then you say !weapon ice, and now it attacks 40 physical + 15 ice. That with every element (ice, fire, earth, energy, death, holy and physical)
I had a MOD, but it was with a wand and I "edited" so it could work with a club, but it does not. If someone could help me it would be great. I leave the MOD in which I based, and the changes I did (which didn't work).
The original:
"Mine":
If you could help me I would thank you a LOT (and yes i would give you REP+).
Thanks in advance.
You have an specific weapon, that attacks X physical, but, also, whe you use a talkaction like: !weapon "element", you say an element and gives an extra attack.
For example:
It attacks 40 physical, then you say !weapon ice, and now it attacks 40 physical + 15 ice. That with every element (ice, fire, earth, energy, death, holy and physical)
I had a MOD, but it was with a wand and I "edited" so it could work with a club, but it does not. If someone could help me it would be great. I leave the MOD in which I based, and the changes I did (which didn't work).
The original:
HTML:
<?xml version="1.0" encoding="UTF-8"?>
<mod name="Weapon multi-elements" version="1.0" author="Leyendario." contact="otserv.es" enabled="yes">
<config name="configuracion"><![CDATA[
config = {
min1 = 0.2, -- multiplicador de tu ml
min2 = 100, -- minimo de daño
max1 = 1.2, -- multiplicador de tu lvl
max2 = 300, -- maximo de daño
storage = 6999,
dinero = 10 * 1000 -- 1cc, pon 0 si no quieres que cobre.
}
par = {
["fisico"] = {1, CONST_ME_HITAREA},
["energy"] = {2, CONST_ME_ENERGYHIT},
["tierra"] = {3, CONST_ME_HITBYPOISON},
["fuego"] = {4, CONST_ME_HITBYFIRE},
["hielo"] = {5, CONST_ME_ICEATTACK},
["holy"] = {6, CONST_ME_HOLYDAMAGE},
["death"] = {7, CONST_ME_MORTAREA}
}
]]></config>
<talkaction words="!arma" event="script"><![CDATA[
domodlib('configuracion')
function onSay(cid, words, param, channel)
local p = par[param]
if p then
if getPlayerMoney(cid) < config.dinero then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "necesitas " ..config.dinero.. " gold coins.")
end
doPlayerRemoveMoney(cid, config.dinero)
setPlayerStorageValue(cid, config.storage, p[1])
doSendMagicEffect(getCreaturePosition(cid), p[2])
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Ahora usas daño ".. param ..".")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "los comandos son fisico, energy, tierra, fuego, hielo, holy y death.")
end
return 0
end
]]></talkaction>
<wand id="2190" level="1" mana="2" event="script"><![CDATA[
domodlib('configuracion')
local fisico = createCombatObject() -- 1
setCombatParam(fisico, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(fisico, COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD)
setCombatParam(fisico, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WHIRLWINDSWORD)
setCombatFormula(fisico, COMBAT_FORMULA_LEVELMAGIC, -config.min1, -config.min2, -config.max1, -config.max2)
local energy = createCombatObject() -- 2
setCombatParam(energy, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(energy, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT)
setCombatParam(energy, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
setCombatFormula(energy, COMBAT_FORMULA_LEVELMAGIC, -config.min1, -config.min2, -config.max1, -config.max2)
local tierra = createCombatObject() -- 3
setCombatParam(tierra, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(tierra, COMBAT_PARAM_EFFECT, CONST_ME_HITBYPOISON)
setCombatParam(tierra, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_POISON)
setCombatFormula(tierra, COMBAT_FORMULA_LEVELMAGIC, -config.min1, -config.min2, -config.max1, -config.max2)
local fuego = createCombatObject() -- 4
setCombatParam(fuego, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(fuego, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
setCombatParam(fuego, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLHOLY)
setCombatFormula(fuego, COMBAT_FORMULA_LEVELMAGIC, -config.min1, -config.min2, -config.max1, -config.max2)
local hielo = createCombatObject() -- 5
setCombatParam(hielo, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(hielo, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(hielo, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE)
setCombatFormula(hielo, COMBAT_FORMULA_LEVELMAGIC, -config.min1, -config.min2, -config.max1, -config.max2)
local holy = createCombatObject() -- 6
setCombatParam(holy, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(holy, COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
setCombatParam(holy, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLHOLY)
setCombatFormula(holy, COMBAT_FORMULA_LEVELMAGIC, -config.min1, -config.min2, -config.max1, -config.max2)
local death = createCombatObject() -- 7
setCombatParam(death, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(death, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(death, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH)
setCombatFormula(death, COMBAT_FORMULA_LEVELMAGIC, -config.min1, -config.min2, -config.max1, -config.max2)
function onUseWeapon(cid, var)
local valor = getPlayerStorageValue(cid, config.storage)
doCombat(cid, valor == 2 and energy or valor == 3 and tierra or valor == 4 and fuego or valor == 5 and hielo or valor == 6 and holy or valor == 7 and death or fisico, var)
return true
end
]]>
<vocation id="2"/>
</wand>
<item id="2190" article="a" name="Multi-Elements Wand" override="yes">
<attribute key="description" value="Esta es un arma multi-elements." />
<attribute key="weight" value="1900" />
<attribute key="weaponType" value="wand" />
<attribute key="range" value="3" />
</item>
</mod>
"Mine":
HTML:
<?xml version="1.0" encoding="UTF-8"?>
<mod name="Weapon multi-elements" version="1.0" author="Leyendario." contact="otserv.es" enabled="yes">
<config name="configuracion"><![CDATA[
config = {
storage = 6999,
dinero = 0 * 1000 -- 1cc, pon 0 si no quieres que cobre.
}
par = {
["physic"] = {1, CONST_ME_HITAREA},
["energy"] = {2, CONST_ME_ENERGYHIT},
["earth"] = {3, CONST_ME_HITBYPOISON},
["fire"] = {4, CONST_ME_HITBYFIRE},
["ice"] = {5, CONST_ME_ICEATTACK},
["holy"] = {6, CONST_ME_HOLYDAMAGE},
["death"] = {7, CONST_ME_MORTAREA}
}
]]></config>
<talkaction words="!weapon" event="script"><![CDATA[
domodlib('configuracion')
function onSay(cid, words, param, channel)
local p = par[param]
if p then
if getPlayerMoney(cid) < config.dinero then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "need " ..config.dinero.. " gold coins.")
end
doPlayerRemoveMoney(cid, config.dinero)
setPlayerStorageValue(cid, config.storage, p[1])
doSendMagicEffect(getCreaturePosition(cid), p[2])
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Now you are using ".. param ..".")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "the commands are, physic, energy, earth, fire, ice, death and holy.")
end
return 0
end
]]></talkaction>
<item id="7450" level="150" mana="0" event="script"><![CDATA[
domodlib('configuration')
local physic = createCombatObject() -- 1
setCombatParam(physic, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(physic, COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD)
setCombatParam(physic, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WHIRLWINDCLUB)
function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill + attack, level / 5
return -(skillTotal / 3 + levelTotal), -(skillTotal + levelTotal)
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
local energy = createCombatObject() -- 2
setCombatParam(energy, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(energy, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT)
setCombatParam(energy, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill + attack, level / 5
return -(skillTotal / 3 + levelTotal), -(skillTotal + levelTotal)
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
local earth = createCombatObject() -- 3
setCombatParam(earth, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(earth, COMBAT_PARAM_EFFECT, CONST_ME_HITBYPOISON)
setCombatParam(earth, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_POISON)
function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill + attack, level / 5
return -(skillTotal / 3 + levelTotal), -(skillTotal + levelTotal)
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
local fire = createCombatObject() -- 4
setCombatParam(fire, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(fire, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
setCombatParam(fire, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLFIRE)
function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill + attack, level / 5
return -(skillTotal / 3 + levelTotal), -(skillTotal + levelTotal)
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
local ice = createCombatObject() -- 5
setCombatParam(ice, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(ice, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(ice, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE)
function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill + attack, level / 5
return -(skillTotal / 3 + levelTotal), -(skillTotal + levelTotal)
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
local holy = createCombatObject() -- 6
setCombatParam(holy, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(holy, COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
setCombatParam(holy, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLHOLY)
function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill + attack, level / 5
return -(skillTotal / 3 + levelTotal), -(skillTotal + levelTotal)
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
local death = createCombatObject() -- 7
setCombatParam(death, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(death, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(death, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH)
function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill + attack, level / 5
return -(skillTotal / 3 + levelTotal), -(skillTotal + levelTotal)
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onUseWeapon(cid, var)
local valor = getPlayerStorageValue(cid, config.storage)
doCombat(cid, valor == 2 and energy or valor == 3 and earth or valor == 4 and fire or valor == 5 and ice or valor == 6 and holy or valor == 7 and death or physic, var)
return true
end
]]>
<vocation id="4"/>
</item>
<item id="7450" article="a" name="Elemental Hammer">
<attribute key="description" value="The leyend tells that the blacksmith who forged it made a pact whith the gods, so his hammer could control every existant element." />
<attribute key="weight" value="500" />
<attribute key="defense" value="37" />
<attribute key="attack" value="55" />
<attribute key="weaponType" value="club" />
</item>
</mod>
If you could help me I would thank you a LOT (and yes i would give you REP+).
Thanks in advance.