Pifafa
New Member
- Joined
- Nov 9, 2010
- Messages
- 47
- Reaction score
- 4
hello everyone I use this Exercise Dummy script on my little server, but I suddenly found that some players were reaching a destroyed 300 skill mark. Seeing this was to see what the error was and how it was done. So, when using a buff magic and my exercise weapon, the skill goes crazy, it simply goes up by 1% or even 1 skill per hit on the dummy, someone would you know how to block the use of buff spells when using training weapons?
follow the script if you can make a correction because I couldn't.
~~PT-BR~~
olá para todos eu uso esse script para Dummy de Exercício no meu pequeno servidor, mas descobri subitamente que alguns jogadores estavam chegando a uma marca destruída de 300 habilidades. Visto isso foi ver qual era o erro e como era feito .. Pois então, ao usar uma magia de buff e mais minha arma de exercícios o skill fica louco, simplesmente sobe de 1% ou até mesmo 1 skill por hit no dummy, alguém saberia como por pra bloquerar uso de magias de buff ao usa as armas de treino?
segue o script caso tenha como fazer uma correção pois eu não consegui.
follow the script if you can make a correction because I couldn't.
~~PT-BR~~
olá para todos eu uso esse script para Dummy de Exercício no meu pequeno servidor, mas descobri subitamente que alguns jogadores estavam chegando a uma marca destruída de 300 habilidades. Visto isso foi ver qual era o erro e como era feito .. Pois então, ao usar uma magia de buff e mais minha arma de exercícios o skill fica louco, simplesmente sobe de 1% ou até mesmo 1 skill por hit no dummy, alguém saberia como por pra bloquerar uso de magias de buff ao usa as armas de treino?
segue o script caso tenha como fazer uma correção pois eu não consegui.
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ETHEREALSPEAR)
function onUseWeapon(cid, var)
local skill = getPlayerRequiredSkillTries(cid, SKILL_DISTANCE, getPlayerSkillLevel(cid, SKILL_DISTANCE))
local target = getCreatureTarget(cid)
local crit = math.random(1, 100)
if getCreatureName(target) == "Exercise Dummy" then
if getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 0 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 19 then
if crit <= 5 then
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.7), false) -- 70%
doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 70%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
else
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.5), false) -- 50%
doSendAnimatedText(getPlayerPosition(cid),"+ 50%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
end
elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 20 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 29 then
if crit <= 5 then
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.5), false) -- 60%
doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 50%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
else
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.3), false) -- 40%
doSendAnimatedText(getPlayerPosition(cid),"+ 30%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
end
elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 30 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 39 then
if crit <= 5 then
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.4), false) -- 50%
doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 40%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
else
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.2), false) -- 30%
doSendAnimatedText(getPlayerPosition(cid),"+ 20%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
end
elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 40 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 49 then
if crit <= 5 then
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.3), false) -- 50%
doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 30%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
else
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.15), false) -- 25%
doSendAnimatedText(getPlayerPosition(cid),"+ 15%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
end
elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 50 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 59 then
if crit <= 5 then
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.1), false) -- 40%
doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 10%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
else
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.05), false) -- 20%
doSendAnimatedText(getPlayerPosition(cid),"+ 5%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
end
elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 60 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 69 then
if crit <= 5 then
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.03), false) -- 30%
doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 3%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
else
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.015), false) -- 15%
doSendAnimatedText(getPlayerPosition(cid),"+ 1.5%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
end
elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 70 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 79 then
if crit <= 5 then
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.02), false) -- 20%
doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 2%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
else
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.01), false) -- 10%
doSendAnimatedText(getPlayerPosition(cid),"+ 1%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
end
elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 80 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 89 then
if crit <= 5 then
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.01), false) -- 10%
doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 1%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
else
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.005), false) -- 5%
doSendAnimatedText(getPlayerPosition(cid),"+ 0.5%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
end
elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 90 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 99 then
if crit <= 5 then
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.005), false) -- 3%
doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 0.5%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
else
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.0025), false) -- 1.5%
doSendAnimatedText(getPlayerPosition(cid),"+ 0.25%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
end
elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 100 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 109 then
if crit <= 5 then
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.0025), false) -- 1.4%
doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 0.25%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
else
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.0015), false) -- 0.7%
doSendAnimatedText(getPlayerPosition(cid),"+ 0.15%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
end
elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 110 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 119 then
if crit <= 5 then
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.001), false) -- 0.6%
doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 0.1%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
else
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.0005), false) -- 0.3%
doSendAnimatedText(getPlayerPosition(cid),"+ 0.05%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
end
elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 120 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 129 then
if crit <= 5 then
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.0005), false) -- 0.5%
doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 0.05%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
else
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.00025), false) -- 0.25%
doSendAnimatedText(getPlayerPosition(cid),"+ 0.025%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
end
elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 130 then
if crit <= 5 then
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.0003), false) -- 0.25%
doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 0.03%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
else
doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.00015), false) -- 0.15%
doSendAnimatedText(getPlayerPosition(cid),"+ 0.015%", TEXTCOLOR_RED)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return doCombat(cid, combat, var)
end
end
else
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você só pode usar o exercise weapon no 'Exercise Dummy'.")
end
end