[Ajuda] Bonus Por Addon

Mehahbr
em Lixeira Pública

Mehahbr

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/12/11Posts: 15Char no Tibia: GOD Mehah

Ae pessoal!

 

Eu to tendo problemas com um script que eu penei um pouco pra conseguir achar que adiciona alguns bônus de acordo com os addons do player. Os de aumento de skill estão funcionando corretamente, quando coloco ele adiciona e quando retiro ele anula o bônus. Porém com os adicionais de HP e MP o personagem recebe o bônus certo, porém quando você tenta encher a mana máxima que agora é maior, mesmo com poções, o jogo não passa do antigo MP total que ele tinha antes dos addons. Não sei se consegui descrever corretamente, estou enviando então meu script como está, se puderem me ajudar serei grato.

 

Abraço.

 

"Em creaturescripts.xml tá assim:"

 

<event type="outfit" name="Addons" event="script" value="outfits.lua"/>
<event type="login" name="AddonsLogin" event="script" value="outfits.lua"/>

 

"Em creaturescripts/scripts/nomedoscript.lua tá assim:"

 

local hunter = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(hunter, CONDITION_PARAM_TICKS, -1)
setConditionParam(hunter, CONDITION_PARAM_SKILL_DISTANCE, 3)


local knight = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(knight, CONDITION_PARAM_TICKS, -1)
setConditionParam(knight, CONDITION_PARAM_SKILL_SWORD, 3)

local mage = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(mage, CONDITION_PARAM_TICKS, -1)
setConditionParam(mage, CONDITION_PARAM_STAT_MAGICLEVEL, 2)

local barbarian = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(barbarian, CONDITION_PARAM_TICKS, -1)
setConditionParam(barbarian, CONDITION_PARAM_SKILL_AXE, 3)

local norse = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(norse, CONDITION_PARAM_TICKS, -1)
setConditionParam(norse, CONDITION_PARAM_SKILL_SHIELD, 2)

local nightmare = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(norse, CONDITION_PARAM_TICKS, -1)
setConditionParam(norse, CONDITION_PARAM_SKILL_SHIELD, 3)

local speed1 = createConditionObject(CONDITION_HASTE)
setConditionParam(speed1, CONDITION_PARAM_TICKS, -1)
setConditionParam(speed1, CONDITION_PARAM_SPEED, 10)

local speed2 = createConditionObject(CONDITION_HASTE)
setConditionParam(speed2, CONDITION_PARAM_TICKS, -1)
setConditionParam(speed2, CONDITION_PARAM_SPEED, 20)

outfitBonusTable = { --- [] = {condition = , maxHealth = , maxMana = }
[128] = {maxHealth = 100, condition = speed1, typ = CONDITION_HASTE}, [136] = {maxHealth = 100, condition = speed1, typ = CONDITION_HASTE}, --Citizen
[129] = {condition = hunter}, [137] = {condition = hunter}, --Hunter
[130] = {maxMana = 200}, [138] = {maxMana = 200}, --Mage
[131] = {condition = knight}, [139] = {condition = knight}, --Knight
[133] = {maxMana = 100}, [141] = {maxMana = 100}, --Summoner
[134] = {condition = knight}, [142] = {condition = knight}, --Warrior
[143] = {condition = barbarian}, [147] = {condition = barbarian}, --Barbarian
[144] = {condition = mage}, [148] = {condition = mage}, --Druid
[145] = {maxHealth = 100, maxMana = 100}, [149] = {maxHealth = 100, maxMana = 100}, --Wizard
[146] = {maxHealth = 200, maxMana = 200, condition = speed1, typ = CONDITION_HASTE}, [150] = {maxHealth = 200, maxMana = 200, condition = speed1, typ = CONDITION_HASTE}, --Oriental
[152] = {condition = speed2, typ = CONDITION_HASTE}, [156] = {condition = speed2, typ = CONDITION_HASTE}, --Assassin
[154] = {condition = mage}, [158] = {condition = mage}, --Shaman
[251] = {condition = norse, maxHealth = 200}, [252] = {condition = norse, maxHealth = 200}, --Norse
[268] = {condition = nightmare, maxHealth = 100}, [269] = {condition = nightmare, maxHealth = 100}, --Nightmare
[270] = {maxHealth = 100, maxMana = 100, condition = speed1, typ = CONDITION_HASTE}, [273] = {maxHealth = 100, maxMana = 100, condition = speed1, typ = CONDITION_HASTE}, --Jester
[278] = {maxHealth = 200}, [279] = {maxHealth = 200}, --Brotherhood
[288] = {maxHealth = 500, maxMana = 500, condition = speed2, typ = CONDITION_HASTE}, [289] = {maxHealth = 500, maxMana = 500, condition = speed2, typ = CONDITION_HASTE}, --Demonhunter
[324] = {condition = mage, maxHealth = 200, maxMana = 200}, [325] = {condition = mage, maxHealth = 200, maxMana = 200} --Yalaharian
}

function onLogin(cid)
registerCreatureEvent(cid, "Addons")
local oldOutfit = getCreatureOutfit(cid)

if (oldOutfit.lookAddons ~= 3) or (outfitBonusTable[oldOutfit.lookType] == nil) or ((outfitBonusTable[oldOutfit.lookType]).condition == nil) then
return true
end
doAddCondition(cid, (outfitBonusTable[oldOutfit.lookType]).condition)
return true
end

function onOutfit(cid, old, current)
if old.lookAddons == 3 and outfitBonusTable[old.lookType] then --Bonus off
if (outfitBonusTable[old.lookType]).maxHealth ~= nil then
setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) -(outfitBonusTable[old.lookType]).maxHealth)
doCreatureAddHealth(cid, -(outfitBonusTable[old.lookType]).maxHealth)
doRemoveCondition(cid, CONDITION_INFIGHT)
end
if (outfitBonusTable[old.lookType]).maxMana ~= nil then
setCreatureMaxMana(cid, getCreatureMaxMana(cid) -(outfitBonusTable[old.lookType]).maxMana)
doCreatureAddMana(cid, -(outfitBonusTable[old.lookType]).maxMana)
doRemoveCondition(cid, CONDITION_INFIGHT)
end
if (outfitBonusTable[old.lookType]).condition ~= nil then
(outfitBonusTable[old.lookType]).typ = ( (outfitBonusTable[old.lookType]).typ == nil) and CONDITION_ATTRIBUTES or (outfitBonusTable[old.lookType]).typ
doRemoveCondition(cid, (outfitBonusTable[old.lookType]).typ)
end
end
if current.lookAddons == 3 and outfitBonusTable[current.lookType] then --Bonus on
if (outfitBonusTable[current.lookType]).maxHealth ~= nil then
setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) +(outfitBonusTable[current.lookType]).maxHealth)
doCreatureAddHealth(cid, (outfitBonusTable[current.lookType]).maxHealth)
end
if (outfitBonusTable[current.lookType]).maxMana ~= nil then
setCreatureMaxMana(cid, getCreatureMaxMana(cid) +(outfitBonusTable[current.lookType]).maxMana)
doCreatureAddMana(cid, (outfitBonusTable[current.lookType]).maxMana)
end
if (outfitBonusTable[current.lookType]).condition ~= nil then
doAddCondition(cid, (outfitBonusTable[current.lookType]).condition)
end
end
return true
end 

AnneMotta

o choro pode durar uma noite mas a alegria vem pela manha ♪
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 22/01/12Posts: 842Char no Tibia: Stephan

mande pm que lhe mando o meu addon bonus.

 

@ E D I T E D

 

Já ajudei o(a) mebro por pm, peço que mova o topico.

RIP AnneMotta 21/01/2012 - 15/01/2014

Liga das lendas: RUSHEI B1 DE AWP

owi6giO.png

milbradt

Desativado
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 04/12/09Posts: 188

Edited~

Pow anne.. sem comentarios, talvez não só esse membro não saiba como arrumar mas outros tambem, então poste para todos verem!

Os Brasileiros sempre estão nessa de não ajudar o Proximo, sempre assim...

 

Se tiver Mais Membros com essa duvida, eu testei o addon bonus dele, unica coisa que precisou fazer foi o seguinte:

 

Em data/creaturescripts/scripts/Login.lua:

 

registerCreatureEvent(cid, "Addons")

 

apenas adicionar isso e devera funcionar. ( Aqui deu certo assim)

Site NtoUltimate:

www.ntoultimate.com.br