Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Held Items Com Tiers


Tutorial do necessário:


Vá em Configuration.lua(data/lib) e no fim adicione isso:
--> [HELDS] <--
-- X --
AtkBonus1 = 1.10
AtkBonus2 = 1.20
AtkBonus3 = 1.30
AtkBonus4 = 1.40
AtkBonus5 = 1.50
AtkBonus6 = 1.60
AtkBonus7 = 1.70
DefBonus1 = 1.10
DefBonus2 = 1.20
DefBonus3 = 1.30
DefBonus4 = 1.40
DefBonus5 = 1.50
DefBonus6 = 1.60
DefBonus7 = 1.70
DmgReturn1 = 0.04
DmgReturn2 = 0.05
DmgReturn3 = 0.06
DmgReturn4 = 0.07
DmgReturn5 = 0.08
DmgReturn6 = 0.09
DmgReturn7 = 0.10
HellBonus1 = 2.50
HellBonus2 = 2.60
HellBonus3 = 2.70
HellBonus4 = 2.80
HellBonus5 = 2.90
HellBonus6 = 3
HellBonus7 = 3.50
PoisonBonus1 = 2.50
PoisonBonus2 = 2.60
PoisonBonus3 = 2.70
PoisonBonus4 = 2.80
PoisonBonus5 = 2.90
PoisonBonus6 = 3
PoisonBonus7 = 3.50
-- Y --
Regen1 = 700
Regen2 = 1000
Regen3 = 1500
Regen4 = 2000
Regen5 = 2500
Regen6 = 3000
Regen7 = 3500
Cure1 = 10
Cure2 = 20
Cure3 = 30
Cure4 = 40
Cure5 = 50
Cure6 = 60
Cure7 = 70

--> [HELDS] <--

Bom, esses são os bonus dos helds, a medida que for criando helds, deve-se adicionar os bonus.



Agora vá em "Data/Actions/Scripts" e crie um arquivo.lua com nome de HeldSystem, e dentro bote:

local heldTable = {
-- X --
--[ID] = {attribute = "heldx", ident = 1}, -- Defense 1
--[ID2] = {attribute = "heldx", ident = 2}, -- Defense 2
--[ID3] = {attribute = "heldx", ident = 3}, -- Defense 3
--[ID4] = {attribute = "heldx", ident = 4}, -- Defense 4
--[ID5] = {attribute = "heldx", ident = 5}, -- Defense 5
--[ID6] = {attribute = "heldx", ident = 6}, -- Defense 6
--[ID7] = {attribute = "heldx", ident = 7}, -- Defense 7
--[ID] = {attribute = "heldx", ident = 8}, -- Attack 1
--[ID2] = {attribute = "heldx", ident = 9}, -- Attack 2
--[ID3] = {attribute = "heldx", ident = 10}, -- Attack 3
--[ID4] = {attribute = "heldx", ident = 11}, -- Attack 4
--[ID5] = {attribute = "heldx", ident = 12}, -- Attack 5
--[ID6] = {attribute = "heldx", ident = 13}, -- Attack 6
--[ID7] = {attribute = "heldx", ident = 14}, -- Attack 7
--[ID] = {attribute = "heldx", ident = 15}, -- Return 1
--[ID2] = {attribute = "heldx", ident = 16}, -- Return 2
--[ID3] = {attribute = "heldx", ident = 17}, -- Return 3
--[ID4] = {attribute = "heldx", ident = 18}, -- Return 4
--[ID5] = {attribute = "heldx", ident = 19}, -- Return 5
--[ID6] = {attribute = "heldx", ident = 20}, -- Return 6
--[ID7] = {attribute = "heldx", ident = 21}, -- Return 7
--[ID] = {attribute = "heldx", ident = 22}, -- Hellfire 1
--[ID2] = {attribute = "heldx", ident = 23}, -- Hellfire 2 
--[ID3] = {attribute = "heldx", ident = 24}, -- Hellfire 3
--[ID4] = {attribute = "heldx", ident = 25}, -- Hellfire 4 
--[ID5] = {attribute = "heldx", ident = 26}, -- Hellfire 5
--[ID6] = {attribute = "heldx", ident = 27}, -- Hellfire 6
--[ID7] = {attribute = "heldx", ident = 28}, -- Hellfire 7
--[ID] = {attribute = "heldx", ident = 29}, -- Poison 1
--[ID2] = {attribute = "heldx", ident = 30}, -- Poison 2
--[ID3] = {attribute = "heldx", ident = 31}, -- Poison 3
--[ID4] = {attribute = "heldx", ident = 32}, -- Poison 4
--[ID5] = {attribute = "heldx", ident = 33}, -- Poison 5
--[ID6] = {attribute = "heldx", ident = 34}, -- Poison 6
--[ID7] = {attribute = "heldx", ident = 35}, -- Poison 7
-- Y -- 
--[ID] = {attribute = "heldy", ident = 1}, -- Regeneration 1
--[ID2] = {attribute = "heldy", ident = 2}, -- Regeneration 2
--[ID3] = {attribute = "heldy", ident = 3}, -- Regeneration 3
--[ID4] = {attribute = "heldy", ident = 4}, -- Regeneration 4
--[ID5] = {attribute = "heldy", ident = 5}, -- Regeneration 5
--[ID6] = {attribute = "heldy", ident = 6}, -- Regeneration 6
--[ID7] = {attribute = "heldy", ident = 7}, -- Regeneration 7
--[ID] = {attribute = "heldy", ident = 8}, -- Cure 1 
--[ID2] = {attribute = "heldy", ident = 9}, -- Cure 2
--[ID3] = {attribute = "heldy", ident = 10}, -- Cure 3
--[ID4] = {attribute = "heldy", ident = 11}, -- Cure 4
--[ID5] = {attribute = "heldy", ident = 12}, -- Cure 5
--[ID6] = {attribute = "heldy", ident = 13}, -- Cure 6
--[ID7] = {attribute = "heldy", ident = 14}, -- Cure 7
}

function onUse(cid, item, frompos, item2, topos)

if not isPokeball(item2.itemid) or #getCreatureSummons(cid) > 0 then return false end
if not heldTable[item.itemid] then return false end

held = heldTable[item.itemid]
pokename = getItemAttribute(item2.uid, "poke")
heldname = getItemInfo(item.itemid).name

doSetItemAttribute(item2.uid, held.attribute, held.ident)
doRemoveItem(item.uid, 1)
doSendMagicEffect(getThingPos(cid), 14)
sendMsgToPlayer(cid, 27, "Your "..pokename.." has gained a "..heldname..".")
return true
end

Na tabela HeldTable, que está no começo do script, você ve tudo que precisará para os proximos passos, no caso a inserção dos helds.
Attribute = Atributo(Heldx ou Heldy)
Ident = Valor Do Attribute(identificará o held e o tier)
EX: Ident 27 = Hellfire tier 6.
ID = Id do item, cada id deve ser um Held e um Tier.
Todos estão com "--" para que não seja lido até que o held seja inserido.



No Actions.xml(Data/Actions) adicione esta tag:

<action itemid="ID;ID2;ID3" event="script" value="heldsystem.lua"/>

Vá adicionando IDS a medida que for adicionando helds, cada ID desse deve estar no Heldsystem.lua, na HeldTable.




Adicionando Helds:


X-Attack:


Função: Cada tier adiciona uma porcentagem de ataque.
Vá no Heldsystem.lua(data/actions/scripts) e tire os "--" dos X-Attack, ficando assim:
[ID] = {attribute = "heldx", ident = 8}, -- Attack 1
[ID2] = {attribute = "heldx", ident = 9}, -- Attack 2
[ID3] = {attribute = "heldx", ident = 10}, -- Attack 3
[ID4] = {attribute = "heldx", ident = 11}, -- Attack 4
[ID5] = {attribute = "heldx", ident = 12}, -- Attack 5
[ID6] = {attribute = "heldx", ident = 13}, -- Attack 6
[ID7] = {attribute = "heldx", ident = 14}, -- Attack 7

Em cada ID adicione o id do held e seu respectivo tier.
Adicione os ids no Actions.xml.



Agora, vá em Exp2.lua(Data/Creaturescripts/Scripts) e procure por:

elseif combat == COMBAT_PHYSICALDAMAGE then



E em cima coloque:

-- X-Attack --
    if isSummon(attacker) and isPlayer(getCreatureMaster(attacker)) then
    local TierArray = {8, 9, 10, 11, 12, 13, 14}
    local Tiers = {
[8] = {bonus = AtkBonus1},
[9] = {bonus = AtkBonus2},
[10] = {bonus = AtkBonus3},
[11] = {bonus = AtkBonus4},
[12] = {bonus = AtkBonus5},
[13] = {bonus = AtkBonus6},
[14] = {bonus = AtkBonus7},
}
 local ball = getPlayerSlotItem(getCreatureMaster(attacker), 8)
local Tier = getItemAttribute(ball.uid, "heldx")
    local bonusatk = {}
    if isInArray(TierArray, getItemAttribute(ball.uid, "heldx")) then
    bonusatk = Tiers[Tier].bonus
    else
    bonusatk = 1
    end
        multiplier = multiplier * bonusatk
    end
    -- X-Attack --



Configure as %(porcentagens) no Configuration.lua(Data/Lib).
Nessa parte:

AtkBonus1 = 1.10
AtkBonus2 = 1.20
AtkBonus3 = 1.30
AtkBonus4 = 1.40
AtkBonus5 = 1.50
AtkBonus6 = 1.60
AtkBonus7 = 1.70

1.10 = 10%
1.70 = 70%
E assim vai.




X-Hellfire e X-Poison:


Função: Aumenta uma porcentagem do Burn/Poison dependendo do tier.

Vá no Heldsystem.lua(Data/Actions/Scripts) e tire os "--" do X-Poison e do X-Hellfire, Ficando assim:
[ID] = {attribute = "heldx", ident = 22}, -- Hellfire 1
[ID2] = {attribute = "heldx", ident = 23}, -- Hellfire 2 
[ID3] = {attribute = "heldx", ident = 24}, -- Hellfire 3
[ID4] = {attribute = "heldx", ident = 25}, -- Hellfire 4 
[ID5] = {attribute = "heldx", ident = 26}, -- Hellfire 5
[ID6] = {attribute = "heldx", ident = 27}, -- Hellfire 6
[ID7] = {attribute = "heldx", ident = 28}, -- Hellfire 7
[ID] = {attribute = "heldx", ident = 29}, -- Poison 1
[ID2] = {attribute = "heldx", ident = 30}, -- Poison 2
[ID3] = {attribute = "heldx", ident = 31}, -- Poison 3
[ID4] = {attribute = "heldx", ident = 32}, -- Poison 4
[ID5] = {attribute = "heldx", ident = 33}, -- Poison 5
[ID6] = {attribute = "heldx", ident = 34}, -- Poison 6
[ID7] = {attribute = "heldx", ident = 35}, -- Poison 7

Em cada ID adicione o id do item e seu respectivo tier.
Adicione os Ids no Actions.xml.



Agora, vá no Exp2.lua(data/Creaturescripts/Scripts) e procure por:

if damageCombat == FIREDAMAGE and not isBurning(cid) then
	   local ret = {}
	   ret.id = cid
	   ret.cd = math.random(5, 12)
	   ret.check = getPlayerStorageValue(cid, conds["Burn"])
	   ret.damage = isSummon(attacker) and getMasterLevel(attacker)+getPokemonBoost(attacker) or getPokemonLevel(attacker)
	   ret.cond = "Burn"

	   doCondition2(ret)
    elseif damageCombat == POISONDAMAGE and not isPoisoned(cid) then
       local ret = {}
	   ret.id = cid
	   ret.cd = math.random(6, 15)
	   ret.check = getPlayerStorageValue(cid, conds["Poison"])
	   local lvl = isSummon(attacker) and getMasterLevel(attacker) or getPokemonLevel(attacker)
       ret.damage = math.floor((getPokemonLevel(attacker)+lvl)/2)
	   ret.cond = "Poison"

	   doCondition2(ret)
    end



E deixe assim:

if damageCombat == FIREDAMAGE and not isBurning(cid) then
    -- Helfire --
    local hellfire = {}
    if isSummon(attacker) and isPlayer(getCreatureMaster(attacker)) then
local ball = getPlayerSlotItem(getCreatureMaster(attacker), 8)
local TierArray = {22, 23, 24, 25, 26, 27, 28}
local Tiers = {
[22] = {bonus = HellBonus1},
[23] = {bonus = HellBonus2},
[24] = {bonus = HellBonus3},
[25] = {bonus = HellBonus4},
[26] = {bonus = HellBonus5},
[27] = {bonus = HellBonus6},
[28] = {bonus = HellBonus7},
}
local Tier = getItemAttribute(ball.uid, "heldx")
if Tier then
hellfire = Tiers[Tier].bonus
elseif not isInArray(TierArray, getItemAttribute(ball.uid, "heldx")) then
hellfire = 1
    end
    end
    -- Hellfire --
       local ret = {}
       ret.id = cid
       ret.cd = math.random(5, 12)
       ret.check = getPlayerStorageValue(cid, conds["Burn"])
       ret.damage = isSummon(attacker) and (getMasterLevel(attacker)+getPokemonBoost(attacker)) * hellfire or getPokemonLevel(attacker)
       ret.cond = "Burn"
       
       doCondition2(ret)
    elseif damageCombat == POISONDAMAGE and not isPoisoned(cid) then
    -- Poison --
    local xpoison = {}
    if isSummon(attacker) and isPlayer(getCreatureMaster(attacker)) then
local ball = getPlayerSlotItem(getCreatureMaster(attacker), 8)
local TierArray = {29, 30, 31, 32, 33, 34, 35}
local Tiers = {
[29] = {bonus = PoisonBonus1},
[30] = {bonus = PoisonBonus2},
[31] = {bonus = PoisonBonus3},
[32] = {bonus = PoisonBonus4},
[33] = {bonus = PoisonBonus5},
[34] = {bonus = PoisonBonus6},
[35] = {bonus = PoisonBonus7},
}
local Tier = getItemAttribute(ball.uid, "heldx")
if Tier then
xpoison = Tiers[Tier].bonus
elseif not isInArray(TierArray, getItemAttribute(ball.uid, "heldx")) then
xpoison = 1
end
    end
    -- Poison --
       local ret = {}
       ret.id = cid
       ret.cd = math.random(6, 15)
       ret.check = getPlayerStorageValue(cid, conds["Poison"])
       local lvl = isSummon(attacker) and (getMasterLevel(attacker)) * xpoison or getPokemonLevel(attacker)
       ret.damage = math.floor((getPokemonLevel(attacker)+lvl)/2)
       ret.cond = "Poison"
       
       doCondition2(ret)
    end



Configure as porcentagens no Configuration.lua(Data/Lib) nessa parte:

HellBonus1 = 2.50
HellBonus2 = 2.60
HellBonus3 = 2.70
HellBonus4 = 2.80
HellBonus5 = 2.90
HellBonus6 = 3
HellBonus7 = 3.50
PoisonBonus1 = 2.50
PoisonBonus2 = 2.60
PoisonBonus3 = 2.70
PoisonBonus4 = 2.80
PoisonBonus5 = 2.90
PoisonBonus6 = 3
PoisonBonus7 = 3.50




X-Return:


Função: Retorna o dano recebido multiplicado por um valor de acordo com o tier.

Vamos lá, primeiro vá no Heldsystem.lua(Data/Actions/Scripts) e tire os "--" do return, ficando assim:
[ID] = {attribute = "heldx", ident = 15}, -- Return 1
[ID2] = {attribute = "heldx", ident = 16}, -- Return 2
[ID3] = {attribute = "heldx", ident = 17}, -- Return 3
[ID4] = {attribute = "heldx", ident = 18}, -- Return 4
[ID5] = {attribute = "heldx", ident = 19}, -- Return 5
[ID6] = {attribute = "heldx", ident = 20}, -- Return 6
[ID7] = {attribute = "heldx", ident = 21}, -- Return 7

Cada ID deve ser um item com seu respectivo tier.
Adicione o id no actions.xml também.



Vá no Exp2.lua(Data/Creaturescripts/Scripts) e procure por:

 if isInArray(specialabilities["counter"], getCreatureName(cid)) then
	      if math.random(1, 100) <= 10 then
	         doCreatureAddHealth(attacker, -valor, 3, 180)    
	         valor = 0
	         doSendAnimatedText(getThingPosWithDebug(cid), "COUNTER", 215)
          end
       end      
    else
       valor = valor / getDefense(cid)
    end



E deixem assim:

       if isInArray(specialabilities["counter"], getCreatureName(cid)) then
          if math.random(1, 100) <= 10 then
             doCreatureAddHealth(attacker, -valor, 3, 180)    
             valor = 0
             doSendAnimatedText(getThingPosWithDebug(cid), "COUNTER", 215)
          end
       end   
-- Return --        
if isSummon(cid) and isPlayer(getCreatureMaster(cid)) then
local returnbonus = {}
local ball = getPlayerSlotItem(getCreatureMaster(cid), 8)
local Tiers = {
[15] = {bonus = DmgReturn1},
[16] = {bonus = DmgReturn2},
[17] = {bonus = DmgReturn3},
[18] = {bonus = DmgReturn4},
[19] = {bonus = DmgReturn5},
[20] = {bonus = DmgReturn6},
[21] = {bonus = DmgReturn7},
}
local Tier = getItemAttribute(ball.uid, "heldx")
if Tier and Tier > 14 and Tier < 22 then
returnbonus = math.floor((valor * Tiers[Tier].bonus))
elseif not isInArray(Tiers, Tier) then
returnbonus = 0
end
doCreatureAddHealth(attacker, -returnbonus)
end
-- Return --
else
-- Return --        
if isSummon(cid) and isPlayer(getCreatureMaster(cid)) then
local returnbonus = {}
local ball = getPlayerSlotItem(getCreatureMaster(cid), 8)
local Tiers = {
[15] = {bonus = DmgReturn1},
[16] = {bonus = DmgReturn2},
[17] = {bonus = DmgReturn3},
[18] = {bonus = DmgReturn4},
[19] = {bonus = DmgReturn5},
[20] = {bonus = DmgReturn6},
[21] = {bonus = DmgReturn7},
}
local Tier = getItemAttribute(ball.uid, "heldx")
if Tier and Tier > 14 and Tier < 22 then
returnbonus = math.floor((valor * Tiers[Tier].bonus))
elseif not isInArray(Tiers, Tier) then
returnbonus = 0
end
doCreatureAddHealth(attacker, -returnbonus)
end
-- Return --
valor = valor / getDefense(cid)
end



Defina as porcentagens no Configuration.lua(Data/Lib) nessa parte:

DmgReturn1 = 0.04
DmgReturn2 = 0.05
DmgReturn3 = 0.06
DmgReturn4 = 0.07
DmgReturn5 = 0.08
DmgReturn6 = 0.09
DmgReturn7 = 0.10




Y-Regeneration:


Função: Regenera uma quantidade de life/segundo definida no script de acordo com o held.

Pra começar tire os "--" do Regeneration no Heldsystem.lua(Data/Actions/Scripts), Ficando assim:
[ID] = {attribute = "heldy", ident = 1}, -- Regeneration 1
[ID2] = {attribute = "heldy", ident = 2}, -- Regeneration 2
[ID3] = {attribute = "heldy", ident = 3}, -- Regeneration 3
[ID4] = {attribute = "heldy", ident = 4}, -- Regeneration 4
[ID5] = {attribute = "heldy", ident = 5}, -- Regeneration 5
[ID6] = {attribute = "heldy", ident = 6}, -- Regeneration 6
[ID7] = {attribute = "heldy", ident = 7}, -- Regeneration 7

Cada ID é um item e um tier.
Adicione o id no actions.xml tambem.



Agora, vá no Some Functions.lua(Data/Lib) e no final adicione isto:

function isPlayerOnline(uid)
	return isInArray(getPlayersOnline(), uid)
end

function doRegenerateWithY(cid, sid)
if isPlayerOnline(cid) then
local ball = getPlayerSlotItem(cid, 8) or getPlayerSlotItem(getCreatureMaster(cid), 8)
local Tiers = {
[1] = {bonus = Regen1},
[2] = {bonus = Regen2},
[3] = {bonus = Regen3},
[4] = {bonus = Regen4},
[5] = {bonus = Regen5},
[6] = {bonus = Regen6},
[7] = {bonus = Regen7},
}
if isPlayer(cid) and #getCreatureSummons(cid) > 0 then
local Tier = getItemAttribute(ball.uid, "heldy")
if Tier and Tier > 0 and Tier < 8 then
if not getCreatureCondition(cid, CONDITION_INFIGHT) then
if getCreatureHealth(sid) < getCreatureMaxHealth(sid) then
addEvent(function() doCreatureAddHealth(sid,Tiers[Tier].bonus) doSendAnimatedText(getThingPos(sid), "+ "..Tiers[Tier].bonus, 30) end, 0)
end
addEvent(doRegenerateWithY, 1000, cid, sid)  
else
addEvent(doRegenerateWithY, 1000, cid, sid)
end
end   
end
end 
end



Agora, vá no Goback.lua(Data/Actions/Scripts) e Procure por:

adjustStatus(pk, item.uid, true, true, true)



E deixe assim:

	adjustStatus(pk, item.uid, true, true, true)
	doRegenerateWithY(getCreatureMaster(pk), pk)



Pronto, você pode configurar os bonus no Configuration.lua(Data/Lib), nessa parte:

Regen1 = 700
Regen2 = 1000
Regen3 = 1500
Regen4 = 2000
Regen5 = 2500
Regen6 = 3000
Regen7 = 3500




X-Defense:


Função: Aumenta a defesa do pokemon em um valor definido no script.

Pra começar é como sempre, vá no Heldsystem.lua(Data/Actions/Scripts) e tire os "--" do defense, ficando assim:
[ID] = {attribute = "heldx", ident = 1}, -- Defense 1
[ID2] = {attribute = "heldx", ident = 2}, -- Defense 2
[ID3] = {attribute = "heldx", ident = 3}, -- Defense 3
[ID4] = {attribute = "heldx", ident = 4}, -- Defense 4
[ID5] = {attribute = "heldx", ident = 5}, -- Defense 5
[ID6] = {attribute = "heldx", ident = 6}, -- Defense 6
[ID7] = {attribute = "heldx", ident = 7}, -- Defense 7

Cada ID é um item e cada item tem seu respectivo tier.
Não esqueça de adicionar no Actions.xml(Data/Actions).



Depois, vá em Level System.lua(Data/Lib) e procure por:

    setPlayerStorageValue(pk, 1001, pokes[getCreatureName(pk)].offense * (getMasterLevel(pk) + getPokemonBoost(pk)))
	setPlayerStorageValue(pk, 1002, pokes[getCreatureName(pk)].defense)             
	setPlayerStorageValue(pk, 1003, pokes[getCreatureName(pk)].agility)
	setPlayerStorageValue(pk, 1004, pokes[getCreatureName(pk)].vitality * (getMasterLevel(pk) + getPokemonBoost(pk)))
	setPlayerStorageValue(pk, 1005, pokes[getCreatureName(pk)].specialattack * (getMasterLevel(pk) + getPokemonBoost(pk)))



E deixe assim:

-- Defense -- 
local bonusdef = {}
local Tiers = {
[1] = {bonus = DefBonus1},
[2] = {bonus = DefBonus2},
[3] = {bonus = DefBonus3},
[4] = {bonus = DefBonus4},
[5] = {bonus = DefBonus5},
[6] = {bonus = DefBonus6},
[7] = {bonus = DefBonus7},
}
local Tier = getItemAttribute(item, "heldx")
if Tier and Tier > 0 and Tier < 8 then
bonusdef = Tiers[Tier].bonus
else
bonusdef = 1
end
-- Defense --
    setPlayerStorageValue(pk, 1001, pokes[getCreatureName(pk)].offense * (getMasterLevel(pk) + getPokemonBoost(pk)))
	setPlayerStorageValue(pk, 1002, (pokes[getCreatureName(pk)].defense) * bonusdef)             
	setPlayerStorageValue(pk, 1003, pokes[getCreatureName(pk)].agility)
	setPlayerStorageValue(pk, 1004, pokes[getCreatureName(pk)].vitality * (getMasterLevel(pk) + getPokemonBoost(pk)))
	setPlayerStorageValue(pk, 1005, pokes[getCreatureName(pk)].specialattack * (getMasterLevel(pk) + getPokemonBoost(pk)))



Agora é só configurar os valores no Configuration.lua(Data/Lib), nessa parte:

DefBonus1 = 1.10
DefBonus2 = 1.20
DefBonus3 = 1.30
DefBonus4 = 1.40
DefBonus5 = 1.50
DefBonus6 = 1.60
DefBonus7 = 1.70

1.10 = 10%
1.70 = 70%




Y-Cure:


Função: Seu pokemon tem chance de auto-medicine.

Começa como sempre, tire os "--" do Heldsystem.lua(Data/Actions/Scripts), ficando assim:
[ID] = {attribute = "heldy", ident = 8}, -- Cure 1 
[ID2] = {attribute = "heldy", ident = 9}, -- Cure 2
[ID3] = {attribute = "heldy", ident = 10}, -- Cure 3
[ID4] = {attribute = "heldy", ident = 11}, -- Cure 4
[ID5] = {attribute = "heldy", ident = 12}, -- Cure 5
[ID6] = {attribute = "heldy", ident = 13}, -- Cure 6
[ID7] = {attribute = "heldy", ident = 14}, -- Cure 7

Sempre tenho que lembrar? KK
Cada ID é um item, e cada item tem seu Tier.
Adicione no Actions.xml(Data/Actions) também.



Agora, vá no Some Functions.lua(Data/Lib) e no final adicione isto:

function doCureWithY(cid, sid)
if isPlayerOnline(cid) then
local ball = getPlayerSlotItem(cid, 8) or getPlayerSlotItem(getCreatureMaster(cid), 8)
local Tiers = {
[8] = {chance = Cure1},
[9] = {chance = Cure2},
[10] = {chance = Cure3},
[11] = {chance = Cure4},
[12] = {chance = Cure5},
[13] = {chance = Cure6},
[14] = {chance = Cure7},
}
local Tier = getItemAttribute(ball.uid, "heldy")
if isPlayer(cid) and #getCreatureSummons(cid) > 0  and Tier then
if Tier > 7 and Tier < 15 then
if math.random(1,100) <= Tiers[Tier].chance then
doCureStatus(sid, "all")
doSendMagicEffect(getThingPosWithDebug(sid), 14)
end
addEvent(doCureWithY, 1000, cid, sid)  
end
end
end   
end



Se ainda não tiver a função "isPlayerOnline", adicione em baixo:

function isPlayerOnline(uid)
	return isInArray(getPlayersOnline(), uid)
end



Agora, vá no Goback.lua(Data/Actions/Scripts) e procure por:

adjustStatus(pk, item.uid, true, true, true)



E em baixo adicione:

doCureWithY(getCreatureMaster(pk), pk)



Sempre a mesma coisa, pra configurar as chances, vá no Configuration.lua(Data/Lib), nessa parte:

Cure1 = 10
Cure2 = 20
Cure3 = 30
Cure4 = 40
Cure5 = 50
Cure6 = 60
Cure7 = 70

10 = 10%
70 = 70%




X-Boost:


Função: Aumenta o boost do pokemon em um valor definido pelo tier.

Bom, agora as coisas começam a mudar, ja que o Heldsystem.lua(Data/Actions/Scripts) não tem o X-Boost, vocês vão aprender a adicionar held lá(MUUUUITO DIFICIL). É assim, la no Heldsystem.lua, vai depois do ultimo held do tipo(x/y) e adiciona isso:
[ID1] = {attribute = "heldx", ident = 36}, -- Boost 1
[ID2] = {attribute = "heldx", ident = 37}, -- Boost 2
[ID3] = {attribute = "heldx", ident = 38}, -- Boost 3
[ID4] = {attribute = "heldx", ident = 39}, -- Boost 4
[ID5] = {attribute = "heldx", ident = 40}, -- Boost 5
[ID6] = {attribute = "heldx", ident = 41}, -- Boost 6
[ID7] = {attribute = "heldx", ident = 42}, -- Boost 7

Ident é a identificaçao, logo, a cada held vai aumentando, o boost fica depois do poison.
Cada id é um item, e cada item, um tier diferente.



Dificil né? Agora, vamos ao que importa, vá no Level System.lua(Data/Lib), e, levando em conta que você está aqui, creio que ja adicionou o X-Defense, então deve estar assim:

-- Defense -- 
local bonusdef = {}
local Tiers = {
[1] = {bonus = DefBonus1},
[2] = {bonus = DefBonus2},
[3] = {bonus = DefBonus3},
[4] = {bonus = DefBonus4},
[5] = {bonus = DefBonus5},
[6] = {bonus = DefBonus6},
[7] = {bonus = DefBonus7},
}
local Tier = getItemAttribute(item, "heldx")

if Tier and Tier > 0 and Tier < 8 then
bonusdef = Tiers[Tier].bonus
else
bonusdef = 1
end
-- Defense --
    setPlayerStorageValue(pk, 1001, pokes[getCreatureName(pk)].offense * (getMasterLevel(pk) + getPokemonBoost(pk)))
	setPlayerStorageValue(pk, 1002, (pokes[getCreatureName(pk)].defense) * bonusdef)             
	setPlayerStorageValue(pk, 1003, pokes[getCreatureName(pk)].agility)
	setPlayerStorageValue(pk, 1004, pokes[getCreatureName(pk)].vitality * (getMasterLevel(pk) + getPokemonBoost(pk)))
	setPlayerStorageValue(pk, 1005, pokes[getCreatureName(pk)].specialattack * (getMasterLevel(pk) + getPokemonBoost(pk)))



É só deixar assim:

-- Defense -- 
local bonusdef = {}
local Tiers = {
[1] = {bonus = DefBonus1},
[2] = {bonus = DefBonus2},
[3] = {bonus = DefBonus3},
[4] = {bonus = DefBonus4},
[5] = {bonus = DefBonus5},
[6] = {bonus = DefBonus6},
[7] = {bonus = DefBonus7},
}
local Tier = getItemAttribute(item, "heldx")

if Tier and Tier > 0 and Tier < 8 then
bonusdef = Tiers[Tier].bonus
else
bonusdef = 1
end
-- Defense --
-- Boost -- 
local bonusboost = {}
local Tiers2 = {
[36] = {bonus = BoostBonus1},
[37] = {bonus = BoostBonus2},
[38] = {bonus = BoostBonus3},
[39] = {bonus = BoostBonus4},
[40] = {bonus = BoostBonus5},
[41] = {bonus = BoostBonus6},
[42] = {bonus = BoostBonus7},
}
if Tier and Tier > 35 and Tier < 43 then
bonusboost = Tiers2[Tier].bonus
else
bonusboost = 0
end
-- Boost -- 
    setPlayerStorageValue(pk, 1001, pokes[getCreatureName(pk)].offense * (getMasterLevel(pk) + getPokemonBoost(pk)) + bonusboost)
	setPlayerStorageValue(pk, 1002, (pokes[getCreatureName(pk)].defense) * bonusdef + bonusboost)             
	setPlayerStorageValue(pk, 1003, pokes[getCreatureName(pk)].agility)
	setPlayerStorageValue(pk, 1004, pokes[getCreatureName(pk)].vitality * (getMasterLevel(pk) + getPokemonBoost(pk)) + bonusboost)
	setPlayerStorageValue(pk, 1005, pokes[getCreatureName(pk)].specialattack * (getMasterLevel(pk) + getPokemonBoost(pk)) + bonusboost)



Pronto, mas agora falta ir no Configuration.lua(Data/Lib) e depois de:

PoisonBonus1 = 2.50
PoisonBonus2 = 2.60
PoisonBonus3 = 2.70
PoisonBonus4 = 2.80
PoisonBonus5 = 2.90
PoisonBonus6 = 3
PoisonBonus7 = 3.50



Bote isso:

BoostBonus1 = 5
BoostBonus2 = 8
BoostBonus3 = 12
BoostBonus4 = 15
BoostBonus5 = 18
BoostBonus6 = 22
BoostBonus7 = 25



Ai é só configurar os valores e.e

Por enquanto é só, vou adicionando os que ja tinham sem Tier assim que possivel.
PS: Os items dos helds devem ser do tipo "Usar Em".


Look:


PDA 1.9.1 Sem level.
Adapte ao seu servidor:
local NPCBattle = {
["Brock"] = {artig = "He is", cidbat = "Pewter"},
["Misty"] = {artig = "She is", cidbat = "Cerulean"},
["Blaine"] = {artig = "He is", cidbat = "Cinnabar"},
["Sabrina"] = {artig = "She is", cidbat = "Saffron"},         --alterado v1.9 \/ peguem tudo!
["Kira"] = {artig = "She is", cidbat = "Viridian"},
["Koga"] = {artig = "He is", cidbat = "Fushcia"},
["Erika"] = {artig = "She is", cidbat = "Celadon"},
["Surge"] = {artig = "He is", cidbat = "Vermilion"},
}

local xhelds = {
[1] = {name = "X-Defense(Tier: 1)"},
[2] = {name = "X-Defense(Tier: 2)"},
[3] = {name = "X-Defense(Tier: 3)"},
[4] = {name = "X-Defense(Tier: 4)"},
[5] = {name = "X-Defense(Tier: 5)"},
[6] = {name = "X-Defense(Tier: 6)"},
[7] = {name = "X-Defense(Tier: 7)"},
[8] = {name = "X-Attack(Tier : 1)"},
[9] = {name = "X-Attack(Tier : 2)"},
[10] = {name = "X-Attack(Tier: 3)"},
[11] = {name = "X-Attack(Tier: 4)"},
[12] = {name = "X-Attack(Tier: 5)"},
[13] = {name = "X-Attack(Tier: 6)"},
[14] = {name = "X-Attack(Tier: 7)"},
[15] = {name = "X-Return(Tier: 1)"},
[16] = {name = "X-Return(Tier: 2)"},
[17] = {name = "X-Return(Tier: 3)"},
[18] = {name = "X-Return(Tier: 4)"},
[19] = {name = "X-Return(Tier: 5)"},
[20] = {name = "X-Return(Tier: 6)"},
[21] = {name = "X-Return(Tier: 7)"},
[22] = {name = "X-Hellfire(Tier: 1)"},
[23] = {name = "X-Hellfire(Tier: 2)"},
[24] = {name = "X-Hellfire(Tier: 3)"},
[25] = {name = "X-Hellfire(Tier: 4)"},
[26] = {name = "X-Hellfire(Tier: 5)"},
[27] = {name = "X-Hellfire(Tier: 6)"},
[28] = {name = "X-Hellfire(Tier: 7)"},
[29] = {name = "X-Poison(Tier: 1)"},
[30] = {name = "X-Poison(Tier: 2)"},
[31] = {name = "X-Poison(Tier: 3)"},
[32] = {name = "X-Poison(Tier: 4)"},
[33] = {name = "X-Poison(Tier: 5)"},
[34] = {name = "X-Poison(Tier: 6)"},
[35] = {name = "X-Poison(Tier: 7)"},
}

local yhelds = {
[1] = {name = "Y-Regeneration(Tier: 1)"},
[2] = {name = "Y-Regeneration(Tier: 2)"},
[3] = {name = "Y-Regeneration(Tier: 3)"},
[4] = {name = "Y-Regeneration(Tier: 4)"},
[5] = {name = "Y-Regeneration(Tier: 5)"},
[6] = {name = "Y-Regeneration(Tier: 6)"},
[7] = {name = "Y-Regeneration(Tier: 7)"},
[8] = {name = "Y-Cure(Tier: 1)"},
[9] = {name = "Y-Cure(Tier: 2)"},
[10] = {name = "Y-Cure(Tier: 3)"},
[11] = {name = "Y-Cure(Tier: 4)"},
[12] = {name = "Y-Cure(Tier: 5)"},
[13] = {name = "Y-Cure(Tier: 6)"},
[14] = {name = "Y-Cure(Tier: 7)"},
}

function onLook(cid, thing, position, lookDistance)
                                                          
local str = {}
                                              
if not isCreature(thing.uid) then
   local iname = getItemInfo(thing.itemid)
   if isPokeball(thing.itemid) and getItemAttribute(thing.uid, "poke") then
      
      unLock(thing.uid)
      local lock = getItemAttribute(thing.uid, "lock")        
      local pokename = getItemAttribute(thing.uid, "poke")
      local heldx = getItemAttribute(thing.uid, "heldx")
local heldy = getItemAttribute(thing.uid, "heldy")
      table.insert(str, "You see "..iname.article.." "..iname.name..".")   
      if getItemAttribute(thing.uid, "unique") then               
         table.insert(str, " It's an unique item.")   
      end
      table.insert(str, "\nIt contains "..getArticle(pokename).." "..pokename..".\n")  
      if lock and lock > 0 then
         table.insert(str, "It will unlock in ".. os.date("%d/%m/%y %X", lock)..".\n")  
      end
      local boost = getItemAttribute(thing.uid, "boost") or 0
      if boost > 0 then
         table.insert(str, "Boost level: +"..boost..".\n")
      end
      if getItemAttribute(thing.uid, "nick") then
         table.insert(str, "It's nickname is: "..getItemAttribute(thing.uid, "nick")..".\n")
      end
      if heldx and heldy then
table.insert(str, "Holding: "..(xhelds[heldx].name).." and "..(yhelds[heldy].name)..". ")
elseif heldx then
table.insert(str, "Holding: "..(xhelds[heldx].name)..". ")
elseif heldy then
table.insert(str, "Holding: "..(yhelds[heldy].name)..". ")
end
      if getItemAttribute(thing.uid, "gender") == SEX_MALE then
         table.insert(str, "It is male.")
      elseif getItemAttribute(thing.uid, "gender") == SEX_FEMALE then
         table.insert(str, "It is female.")
      else
         table.insert(str, "It is genderless.")
      end
      doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, table.concat(str))
      return false
      
   elseif string.find(iname.name, "fainted") or string.find(iname.name, "defeated") then     

      table.insert(str, "You see a "..string.lower(iname.name)..". ")     
      if isContainer(thing.uid) then
         table.insert(str, "(Vol: "..getContainerCap(thing.uid)..")")
      end
      table.insert(str, "\n")
      if getItemAttribute(thing.uid, "gender") == SEX_MALE then
         table.insert(str, "It is male.")
      elseif getItemAttribute(thing.uid, "gender") == SEX_FEMALE then
         table.insert(str, "It is female.")
      else
         table.insert(str, "It is genderless.")
      end
      doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, table.concat(str))
      return false

   elseif isContainer(thing.uid) then     --containers

      if iname.name == "dead human" and getItemAttribute(thing.uid, "pName") then
         table.insert(str, "You see a dead human (Vol:"..getContainerCap(thing.uid).."). ")
         table.insert(str, "You recognize ".. getItemAttribute(thing.uid, "pName")..". ".. getItemAttribute(thing.uid, "article").." was killed by a ")
         table.insert(str, getItemAttribute(thing.uid, "attacker")..".")
      else   
         table.insert(str, "You see "..iname.article.." "..iname.name..". (Vol:"..getContainerCap(thing.uid)..").")
      end
      if getPlayerGroupId(cid) >= 4 and getPlayerGroupId(cid) <= 6 then
         table.insert(str, "\nItemID: ["..thing.itemid.."]")     
         local pos = getThingPos(thing.uid)
         table.insert(str, "\nPosition: [X: "..pos.x.."][Y: "..pos.y.."][Z: "..pos.z.."]")  
      end
      doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, table.concat(str))
      return false
      
   elseif getItemAttribute(thing.uid, "unique") then    
      local p = getThingPos(thing.uid)
   
      table.insert(str, "You see ")
      if thing.type > 1 then
         table.insert(str, thing.type.." "..iname.plural..".")
      else
         table.insert(str, iname.article.." "..iname.name..".")
      end
      table.insert(str, " It's an unique item.\n"..iname.description)
      
      if getPlayerGroupId(cid) >= 4 and getPlayerGroupId(cid) <= 6 then
         table.insert(str, "\nItemID: ["..thing.itemid.."]")
         table.insert(str, "\nPosition: ["..p.x.."]["..p.y.."]["..p.z.."]")
      end
   
      sendMsgToPlayer(cid, MESSAGE_INFO_DESCR, table.concat(str))
      return false
   else
      return true
   end
end

local npcname = getCreatureName(thing.uid)
if ehNPC(thing.uid) and NPCBattle[npcname] then    --npcs duel
   table.insert(str, "You see "..npcname..". "..NPCBattle[npcname].artig.." leader of the gym from "..NPCBattle[npcname].cidbat..".")
   doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, table.concat(str))
   return false
end
if getPlayerStorageValue(thing.uid, 697548) ~= -1 then    
   table.insert(str, getPlayerStorageValue(thing.uid, 697548))                                   
   local pos = getThingPos(thing.uid)
   if youAre[getPlayerGroupId(cid)] then
      table.insert(str, "\nPosition: [X: "..pos.x.."][Y: "..pos.y.."][Z: "..pos.z.."]")
   end
   doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, table.concat(str))  
   return false
end

if not isPlayer(thing.uid) and not isMonster(thing.uid) then    --outros npcs
   table.insert(str, "You see "..getCreatureName(thing.uid)..".")
   doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, table.concat(str))
   return false
end

if isPlayer(thing.uid) then     --player
   doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, getPlayerDesc(cid, thing.uid, false))  
return false
end

if getCreatureName(thing.uid) == "Evolution" then return false end

if not isSummon(thing.uid) then   --monstros
   
   table.insert(str, "You see a wild "..string.lower(getCreatureName(thing.uid))..".\n")
   table.insert(str, "Hit Points: "..getCreatureHealth(thing.uid).." / "..getCreatureMaxHealth(thing.uid)..".\n")
   if getPokemonGender(thing.uid) == SEX_MALE then
      table.insert(str, "It is male.")
   elseif getPokemonGender(thing.uid) == SEX_FEMALE then
      table.insert(str, "It is female.")
   else
      table.insert(str, "It is genderless.")
   end
   doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, table.concat(str))
   return false

elseif isSummon(thing.uid) and not isPlayer(thing.uid) then  --summons

   local boostlevel = getItemAttribute(getPlayerSlotItem(getCreatureMaster(thing.uid), 8).uid, "boost") or 0
   if getCreatureMaster(thing.uid) == cid then
      local myball = getPlayerSlotItem(cid, 8).uid
      table.insert(str, "You see your "..string.lower(getCreatureName(thing.uid))..".")
      if boostlevel > 0 then
         table.insert(str, "\nBoost level: +"..boostlevel..".")
      end
      table.insert(str, "\nHit points: "..getCreatureHealth(thing.uid).."/"..getCreatureMaxHealth(thing.uid)..".")
      table.insert(str, "\n"..getPokemonHappinessDescription(thing.uid))
      doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, table.concat(str))
   else
      doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You see a "..string.lower(getCreatureName(thing.uid))..".\nIt belongs to "..getCreatureName(getCreatureMaster(thing.uid))..".")
   end
   return false
end
return true
end



Trade System.lua(Data/Creaturescripts/Scripts):

local xhelds = {
[1] = {name = "X-Defense(Tier: 1)"},
[2] = {name = "X-Defense(Tier: 2)"},
[3] = {name = "X-Defense(Tier: 3)"},
[4] = {name = "X-Defense(Tier: 4)"},
[5] = {name = "X-Defense(Tier: 5)"},
[6] = {name = "X-Defense(Tier: 6)"},
[7] = {name = "X-Defense(Tier: 7)"},
[8] = {name = "X-Attack(Tier : 1)"},
[9] = {name = "X-Attack(Tier : 2)"},
[10] = {name = "X-Attack(Tier: 3)"},
[11] = {name = "X-Attack(Tier: 4)"},
[12] = {name = "X-Attack(Tier: 5)"},
[13] = {name = "X-Attack(Tier: 6)"},
[14] = {name = "X-Attack(Tier: 7)"},
[15] = {name = "X-Return(Tier: 1)"},
[16] = {name = "X-Return(Tier: 2)"},
[17] = {name = "X-Return(Tier: 3)"},
[18] = {name = "X-Return(Tier: 4)"},
[19] = {name = "X-Return(Tier: 5)"},
[20] = {name = "X-Return(Tier: 6)"},
[21] = {name = "X-Return(Tier: 7)"},
[22] = {name = "X-Hellfire(Tier: 1)"},
[23] = {name = "X-Hellfire(Tier: 2)"},
[24] = {name = "X-Hellfire(Tier: 3)"},
[25] = {name = "X-Hellfire(Tier: 4)"},
[26] = {name = "X-Hellfire(Tier: 5)"},
[27] = {name = "X-Hellfire(Tier: 6)"},
[28] = {name = "X-Hellfire(Tier: 7)"},
[29] = {name = "X-Poison(Tier: 1)"},
[30] = {name = "X-Poison(Tier: 2)"},
[31] = {name = "X-Poison(Tier: 3)"},
[32] = {name = "X-Poison(Tier: 4)"},
[33] = {name = "X-Poison(Tier: 5)"},
[34] = {name = "X-Poison(Tier: 6)"},
[35] = {name = "X-Poison(Tier: 7)"},
}

local yhelds = {
[1] = {name = "Y-Regeneration(Tier: 1)"},
[2] = {name = "Y-Regeneration(Tier: 2)"},
[3] = {name = "Y-Regeneration(Tier: 3)"},
[4] = {name = "Y-Regeneration(Tier: 4)"},
[5] = {name = "Y-Regeneration(Tier: 5)"},
[6] = {name = "Y-Regeneration(Tier: 6)"},
[7] = {name = "Y-Regeneration(Tier: 7)"},
[8] = {name = "Y-Cure(Tier: 1)"},
[9] = {name = "Y-Cure(Tier: 2)"},
[10] = {name = "Y-Cure(Tier: 3)"},
[11] = {name = "Y-Cure(Tier: 4)"},
[12] = {name = "Y-Cure(Tier: 5)"},
[13] = {name = "Y-Cure(Tier: 6)"},
[14] = {name = "Y-Cure(Tier: 7)"},
}

function onTradeRequest(cid, target, item)

	for a, b in pairs (pokeballs) do
		if b.use == item.itemid then
			doPlayerSendCancel(cid, "You can't trade this item.")
		return false
		end
	end
	
	if isContainer(item.uid) then
	   local bagItems = getItensUniquesInContainer(item.uid)
	   if #bagItems >= 1 then
	      doPlayerSendCancel(cid, "Has a Unique Item in this bag, you can't trade this item.")     --alterado v1.6
	      return false
       end     
	elseif getItemAttribute(item.uid, "unique") then    --alterado v1.6
	   doPlayerSendCancel(cid, "It is a Unique Item, you can't trade this item.")
	   return false
	end   
	
	if isContainer(item.uid) then
	   local itens = getPokeballsInContainer(item.uid)
	   if #itens >= 1 then                             
	      for i = 1, #itens do
	          local lvl = getItemAttribute(itens[i], "level")
	          local name = getItemAttribute(itens[i], "poke")
	          if not lvl then
	             doItemSetAttribute(itens[i], "level", pokes[name].level)     --alterado v1.6
              end
           end
       end
    elseif isPokeball(item.itemid) then
	   local lvl = getItemAttribute(item.uid, "level")
	   local name = getItemAttribute(item.uid, "poke")
	   if not lvl then
	      doItemSetAttribute(item.uid, "level", pokes[name].level)
       end
    end
    
    if getPlayerStorageValue(cid, 52480) >= 1 then             --alterado v1.6.1
       doPlayerSendTextMessage(cid, 20, "You can't do that while be in a duel!")
       return false
    end
    
    if isPokeball(item.itemid) then
       local name = getItemAttribute(item.uid, "poke")            --alterado v1.8 \/
       local boost = getItemAttribute(item.uid, "boost") or 0
       local nick = getItemAttribute(item.uid, "nick") or ""
    
       local str = "Pokemon in trade: "
       str = str.."•Name: "..name.."   •Boost: "..boost.."   "
       if nick ~= "" then str = str.."•Nick: "..nick.."" end
	   local heldx = getItemAttribute(item.uid, "heldx")
       local heldy = getItemAttribute(item.uid, "heldy")
	   if heldx and heldy then
str = str.."Holding: "..(xhelds[heldx].name).." and "..(yhelds[heldy].name)..". "
elseif heldx then
str = str.."Holding: "..(xhelds[heldx].name)..". "
elseif heldy then
str = str.."Holding: "..(yhelds[heldy].name)..". "
end
       sendMsgToPlayer(target, 20, str)
    end
                                                            --alterado v1.8 \/
    if isContainer(item.uid) then
	   local itens = getPokeballsInContainer(item.uid)
	   if #itens >= 1 then                             
	      for i = 1, #itens do
	          if isPokeball(getThing(itens[i]).itemid) then
	             local name = getItemAttribute(itens[i], "poke")            
                 local boost = getItemAttribute(itens[i], "boost") or 0
                 local nick = getItemAttribute(itens[i], "nick") or ""
				 	   local heldx = getItemAttribute(itens[i], "heldx")
       local heldy = getItemAttribute(itens[i], "heldy")
    
                 local str = "Pokemon in trade: "
                 str = str.."•Name: "..name.."   •Boost: "..boost.."   "
                 if nick ~= "" then str = str.."•Nick: "..nick.."" end
				  if heldx and heldy then
str = str.."Holding: "..(xhelds[heldx].name).." and "..(yhelds[heldy].name)..". "
elseif heldx then
str = str.."Holding: "..(xhelds[heldx].name)..". "
elseif heldy then
str = str.."Holding: "..(yhelds[heldy].name)..". "
end
                 sendMsgToPlayer(target, 20, str)
              end
          end
	   end       
    end
    

return true
end

local function noCap(cid, sid)
	if isCreature(cid) then
		doPlayerSendCancel(cid, "You can't carry more than six pokemons, trade cancelled.")
	end
	if isCreature(sid) then
		doPlayerSendCancel(sid, "You can't carry more than six pokemons, trade cancelled.")
	end
end

function onTradeAccept(cid, target, item, targetItem)

	local pbs = #getPokeballsInContainer(item.uid)
	local cancel = false
	local p1 = 0
	local p2 = 0
	local itemPokeball = isPokeball(item.itemid) and 1 or 0
	local targetItemPokeball = isPokeball(targetItem.itemid) and 1 or 0

    if getPlayerMana(cid) + itemPokeball > 6 then  --alterado v1.6
	   cancel = true
	   p1 = cid
    end
    if getPlayerMana(target) + targetItemPokeball > 6 then  --alterado v1.6
	   cancel = true
	   p2 = target
    end
    
	if pbs > 0 and getCreatureMana(target) + pbs > 6 + targetItemPokeball then
		cancel = true	
		p1 = target
	end

	pbs = #getPokeballsInContainer(targetItem.uid)

	if pbs > 0 and getCreatureMana(cid) + pbs > 6 + itemPokeball then
		cancel = true
		p2 = cid
	end

	if cancel then
		addEvent(noCap, 20, p1, p2)
	return false
	end

	if itemPokeball == 1 and targetItemPokeball == 1 then
		setPlayerStorageValue(cid, 8900, 1)
		setPlayerStorageValue(target, 8900, 1)
	end

return true
end



Em ambos, é só ir adicionando items na tabela com seu ident.

Fila:


X-Lucky(sem sources :s)
X-Agility(Coming)
X-Rage(Coming)
X-Strafe(Coming)


Créditos:


Slicer(ajudou no Regeneration)
Zipter98(Ajudou no Regeneration)
Stylo Maldoso(ajudou na organização)

PS: É só uma base.
Ao Usar Esse Sistema, Peço Que Botem Créditos.
Não Exijo, Mas Aprecio.

Posso desenvolver qualquer held(lucky apenas com sources). Skype: gabriel.sales.01

Editado por Gabrielbsales (veja o histórico de edições)

Att. Featzen.

  • Respostas 34
  • Visualizações 15.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Bom aki funfo 

  • Pretende continuar? Posso te ajudar, recortei algumas sprites, logo recortarei todas, e ainda posso ajudar nos scripts, curto muito essa parada de held.

  • Gente, estou com todos os helds no meu servidor sem dar erro em nehum. O erro de vocês, provavelmente está na hora de colar o código, vocês estão comendo algum "end", ou colocando um "end" onde n devi

Posted Images

  • 3 weeks later...
  • 3 weeks later...
Postado

cara eu não intendi pra que serve isso

Bom amigo isso e um sistema que tem que server para dar 1 bonus ao pokemon

Meus Trabalhos
 
Tudo em Desenvolvimento mais att em breve
Estou parado
 
Tudo Removido

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo