Funcionamento:
Ao derrotar Pokémon selvagem, existe uma chance do seu corpo emitir uma aura, basta você passar por cima dele para receber novamente a mesma experiência dada pelo Pokémon.
em creaturescript procure por pokeexp.lua
dentro procure por:
local givenexp = getWildPokemonExp(cid)
coloque em baixo:
local expTotal = 0
procure por:
local expTotal = math.floor(playerExperienceRate * givenexp * getDamageMapPercent(pk, cid))
substitua por:
expTotal = math.floor(playerExperienceRate * givenexp * getDamageMapPercent(pk, cid))
procure por:
if corpse.itemid ~= 0 then
coloque em baixo:
local configBonusExp = {
text = "exp",
colorText = COLOR_POISON,
effect = 100,
time_effect = 5,
chance = 100
}
if math.random(1, 100) <= configBonusExp.chance then
doItemSetAttribute(corpse.uid, "bonusexp", expTotal)
doItemSetAttribute(corpse.uid, "aid", 64700)
for i = 1, configBonusExp.time_effect do
addEvent(doSendMagicEffect, 1000*i, getThingPos(cid), configBonusExp.effect)
addEvent(doSendAnimatedText, 1000*i, getThingPos(cid), "+"..expTotal.." "..configBonusExp.text, configBonusExp.colorText)
end
end
agora em movements
em movements.xml procure por:
<movements>
em baixo coloque
<movevent type="StepIn" actionid="64700" event="script" value="doubleExp.lua"/>
em movements/scripts crie um arquivo lua com o nome de doubleExp.lua
coloque dentro:
function onStepIn(cid, item, position, fromPosition)
if not isPlayer(cid) then return true end
local owner = getItemAttribute(item.uid, "corpseowner")
if owner and isCreature(owner) and isPlayer(owner) and cid == owner then
local expBonus = getItemAttribute(item.uid, "bonusexp")
doPlayerAddExp(cid, expBonus)
sendMsgToPlayer(cid, 27, "Your has gained a "..expBonus.." Experience Points.")
doItemEraseAttribute(item.uid, "aid")
doItemEraseAttribute(item.uid, "bonusexp")
end
return true
end
Créditos:
eu > Sukito/Gristony