Jump to content
Sign in to follow this  
Brothers

Adding improved pet fruits

Recommended Posts

Hello guys,

 

I just tried to add improved pet fruits. It all looked good, until i tried to lvl my pet, the fruit just disappeared and pet stayed level 42..
Here is what i did:


First added them into Iteminfo:     (imma show simply one line, otherwise too much spam)

7027    Improved Strength Fruit    n0153    10130005    0    0    0    0    0    0    58    0    0    0    0    0    1    1    1    1    99    0    360    -1,-2,-2,-2    0    -1,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2    0    0    -1,-2,-2,-2,-2,-2,-2,-2,-2,-2    -1,-2,-2,-2,-2,-2,-2,-2,-2,-2    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0,0    0,0    0,0    0,0    0,0    0,0    0,0    0,0    0,0    0,0    0,0    0,0    0,0    0,0    0,0    0,0    0,0    0,0    0,0    0,0    0,0    0,0    0    0,0    0,0    0    0    0    0    0    0    0    0    0    ItemUse_Great_Strup    0    0    0    0,0    0    0    Double click to use when a fairy reaches Level 42 and its EXP bar is full. It will increase a Fairy's Level by 1 and Strength by 1 point.

Then put ItemUse_Great_Strup in ItemEffect:

 

--Improved Fruits
function ItemUse_Great_Strup ( role , Item , Item_Traget )
local ret = CheckJingLingLv2( role , Item_Traget )
    if ret == 0 then
        SystemNotice ( role , "Fairy Lv lower than 42. Unable to use Improved Strenght Fruit")
        UseItemFailed ( role )
        return
    end
    local Cha_Boat = 0
    Cha_Boat = GetCtrlBoat ( role )
    if Cha_Boat ~= nil then
        SystemNotice( role , "Cannot use while sailing" )
        UseItemFailed ( role )
        return
    end
    local Item_type = GetItemType ( Item )
    local Item_Traget_Type = GetItemType ( Item_Traget )
    local Item_Num = GetItemID ( Item )
    local Check_Exp = 0
    local Elf_MaxEXP = GetItemAttr(Item_Traget,ITEMATTR_MAXENERGY)

    if Item_type == 58 and Item_Traget_Type == 59 then
                Item_Traget_ID = GetItemID ( Item_Traget )
                        Item_bg = GetChaItem ( role , 2 , 1 )
                Check_Exp = CheckElf_EXP ( role , Item_Traget )
                if Check_Exp == 0 then
                    SystemNotice(role , "Growth rate is not full. Unable to feed pet with Improved Strenght Fruit" )
                    UseItemFailed ( role )
                elseif Item_bg ~= Item_Traget then
                            SystemNotice(role , "Pet must be in the Pet Slot. Feeding Failed." )
                    UseItemFailed ( role )
                else
                      Lvup_Str_4 ( role , Item_Num , Item_Traget )
                end
        end
end

 

 

Then put   Lvup_Str_4 into function

function Lvup_Str_4 ( role , Item_Num ,Item_Traget )
        local attr_type =  ITEMATTR_VAL_STR
        Elf_LvUp_4 ( role , Item_Num , Item_Traget , attr_type )
end

Then at the end:
 

--Improved Fruit

function Elf_LvUp_4 ( role , Item_Num , Item_Traget , attr_type )      
                
        local str = GetItemAttr( Item_Traget ,ITEMATTR_VAL_STR )        
        local con = GetItemAttr( Item_Traget ,ITEMATTR_VAL_CON )        
        local agi = GetItemAttr( Item_Traget ,ITEMATTR_VAL_AGI )        
        local dex = GetItemAttr( Item_Traget ,ITEMATTR_VAL_DEX )      
        local sta = GetItemAttr( Item_Traget ,ITEMATTR_VAL_STA )      
        local Elf_MaxEXP = GetItemAttr(Item_Traget,ITEMATTR_MAXENERGY)
        local Elf_MaxURE = GetItemAttr(Item_Traget,ITEMATTR_MAXURE)
 
        local Lv = str + agi + dex + con + sta
        local attr_type_num = GetItemAttr( Item_Traget ,attr_type )
 
        local a = 1 / ( math.floor ( ( 1 + ( math.pow ( ( Lv / 10 ) , 3 ) ) ) * 10 ) / 10 * math.max ( 0.01 ,( 1 - attr_type_num * 0.05 ) ) )
        
        if Lv >= 52 then
                a = 1 / ( math.floor ( ( 1 + ( math.pow ( ( Lv / 10 ) , 3 ) ) ) * 10 ) / 10 ) * math.max ( 0.01 ,( 1 - attr_type_num * 0.05 ) )
        end
        
        local b = Percentage_Random ( a )
        
                local item_energe = GetItemAttr( Item_Traget ,ITEMATTR_ENERGY )
              
        if b == 1 then                                          
                        AddItemEffect(role , Item_Traget , 0  )
                item_energe = 0
                SystemNotice (role , "Pet level up successfully! Growth rate is depleted")      
                
                                attr_type_num = attr_type_num + 1
                SetItemAttr ( Item_Traget , attr_type , attr_type_num )
 
                local Item_MAXENERGY = 240 * ( Lv + 1 )
                
                if Item_MAXENERGY > 6480 then
                        Item_MAXENERGY = 6480
                end
 
 
                local Item_MAXURE_NUM = Elf_MaxURE + 2000
 
                if Item_MAXURE_NUM > 32000 then
                        Item_MAXURE_NUM = 32000
                end
                
                SetItemAttr ( Item_Traget , ITEMATTR_MAXENERGY , Item_MAXENERGY )
                SetItemAttr ( Item_Traget , ITEMATTR_MAXURE , Item_MAXURE_NUM )
                ResetItemFinalAttr(Item_Traget)
                        AddItemEffect(role , Item_Traget , 1  )
        else                                                  
                item_energe = 0.5 * item_energe
                SystemNotice (role , "Pet level up failed! Growth rate reduced by half")        
        end
                SetItemAttr ( Item_Traget , ITEMATTR_ENERGY , item_energe )
 
 
end

 

 

I dont see what i miss.... Is it a line into Iteminfo?? It does work tho.... even copied working line of Snow Dragon Fruit, and just simply changed itemeffect...
 

Edited by Brothers
Im blond, had a fight with my keyboard..

Share this post


Link to post
Share on other sites

Thanks! It works now! I've found a line i didnt used...
local ret = CheckJingLingLv2( role , Item_Traget )

 

so added in function:

 

---Improved Fruits
function CheckJingLingLv2 ( role , Item_Traget)
                local ItemID = GetItemID ( Item_Traget )
                local str_Traget = GetItemAttr( Item_Traget ,ITEMATTR_VAL_STR )          --Strenght
                local con_Traget = GetItemAttr( Item_Traget ,ITEMATTR_VAL_CON )          --Constitution
                local agi_Traget = GetItemAttr( Item_Traget ,ITEMATTR_VAL_AGI )          --Agility
                local dex_Traget = GetItemAttr( Item_Traget ,ITEMATTR_VAL_DEX )          --Accuracy
                local sta_Traget = GetItemAttr( Item_Traget ,ITEMATTR_VAL_STA )          --Spirit
                local lv_Traget = str_Traget + con_Traget + agi_Traget + dex_Traget + sta_Traget  --Stat To Add For A Level
                if lv_Traget < 42 then
                        return 0
                else
                        return 1
        
                end
        if lv_Traget > 52 then
                        return 0
                else
                        return 1
        
                end
 
end

Share this post


Link to post
Share on other sites

Few years later, back to my old files..
Sadly still everytime i try to use the iproved items, notihing happends
Added the files above, checked lua err and found this:

[07-02 22:15:29]resource/script\calculate\functions.lua:6100: attempt to call global `GetElfLV' (a nil value)

What do i need to do with GetElfLV?

Edited by Brothers

Share this post


Link to post
Share on other sites
49 minutes ago, Brothers said:

Few years later, back to my old files..
Sadly still everytime i try to use the iproved items, notihing happends
Added the files above, checked lua err and found this:

[07-02 22:15:29]resource/script\calculate\functions.lua:6100: attempt to call global `GetElfLV' (a nil value)

What do i need to do with GetElfLV?

Try check if you have every code that it need. This one from the compile script in Mega folder. I did not check myself since it works for me when I get the files.

Functions.lua


-- improved fruit
 
function Lvup_Str_4 ( role , Item_Num ,Item_Traget )
        local attr_type =  ITEMATTR_VAL_STR
        --SystemNotice(role ,attr_type )
        Elf_LvUp_4 ( role , Item_Num , Item_Traget , attr_type )
end
 
function Lvup_Con_4 ( role , Item_Num ,Item_Traget )
        local attr_type =  ITEMATTR_VAL_CON
        Elf_LvUp_4 ( role , Item_Num , Item_Traget , attr_type )
end
 
function Lvup_Agi_4 ( role , Item_Num ,Item_Traget )
        local attr_type = ITEMATTR_VAL_AGI
        Elf_LvUp_4 ( role , Item_Num , Item_Traget , attr_type )
end
 
function Lvup_Dex_4 ( role , Item_Num ,Item_Traget )
        local attr_type = ITEMATTR_VAL_DEX
        Elf_LvUp_4 ( role , Item_Num , Item_Traget , attr_type )
end
 
function Lvup_Sta_4 ( role , Item_Num ,Item_Traget )
        local attr_type = ITEMATTR_VAL_STA
        Elf_LvUp_4 ( role , Item_Num , Item_Traget , attr_type )
end
 
function Elf_LvUp_4 ( role , Item_Num , Item_Traget , attr_type )      
                
        local str = GetItemAttr( Item_Traget ,ITEMATTR_VAL_STR )        
        local con = GetItemAttr( Item_Traget ,ITEMATTR_VAL_CON )        
        local agi = GetItemAttr( Item_Traget ,ITEMATTR_VAL_AGI )        
        local dex = GetItemAttr( Item_Traget ,ITEMATTR_VAL_DEX )      
        local sta = GetItemAttr( Item_Traget ,ITEMATTR_VAL_STA )      
        local Elf_MaxEXP = GetItemAttr(Item_Traget,ITEMATTR_MAXENERGY)
        local Elf_MaxURE = GetItemAttr(Item_Traget,ITEMATTR_MAXURE)
 
        local Lv = str + agi + dex + con + sta
        local attr_type_num = GetItemAttr( Item_Traget ,attr_type )
 
        local a = 1 / ( math.floor ( ( 1 + ( math.pow ( ( Lv / 10 ) , 3 ) ) ) * 10 ) / 10 * math.max ( 0.01 ,( 1 - attr_type_num * 0.05 ) ) )
        
        if Lv >= 50 then
                a = 1 / ( math.floor ( ( 1 + ( math.pow ( ( Lv / 10 ) , 3 ) ) ) * 10 ) / 10 ) * math.max ( 0.01 ,( 1 - attr_type_num * 0.05 ) )
        end
        
        local b = Percentage_Random ( a )
        
                local item_energe = GetItemAttr( Item_Traget ,ITEMATTR_ENERGY )
              
        if b == 1 then                                          
                        AddItemEffect(role , Item_Traget , 0  )
                item_energe = 0
                SystemNotice (role , "Pet level up successfully! Growth rate is depleted")      
                
                                attr_type_num = attr_type_num + 1
                SetItemAttr ( Item_Traget , attr_type , attr_type_num )
 
                local Item_MAXENERGY = 240 * ( Lv + 1 )
                
                if Item_MAXENERGY > 6480 then
                        Item_MAXENERGY = 6480
                end
 
 
                local Item_MAXURE_NUM = Elf_MaxURE + 2000
 
                if Item_MAXURE_NUM > 32000 then
                        Item_MAXURE_NUM = 32000
                end
                
                SetItemAttr ( Item_Traget , ITEMATTR_MAXENERGY , Item_MAXENERGY )
                SetItemAttr ( Item_Traget , ITEMATTR_MAXURE , Item_MAXURE_NUM )
                ResetItemFinalAttr(Item_Traget)
                        AddItemEffect(role , Item_Traget , 1  )
        else                                                  
                item_energe = 0.5 * item_energe
                SystemNotice (role , "Pet level up failed! Growth rate reduced by half")        
        end
                SetItemAttr ( Item_Traget , ITEMATTR_ENERGY , item_energe )
 
 
end
 
function CheckJingLingLv2 ( role , Item_Traget)
                local ItemID = GetItemID ( Item_Traget )
                local str_Traget = GetItemAttr( Item_Traget ,ITEMATTR_VAL_STR )          --Strenght
                local con_Traget = GetItemAttr( Item_Traget ,ITEMATTR_VAL_CON )          --Constitution
                local agi_Traget = GetItemAttr( Item_Traget ,ITEMATTR_VAL_AGI )          --Agility
                local dex_Traget = GetItemAttr( Item_Traget ,ITEMATTR_VAL_DEX )          --Accuracy
                local sta_Traget = GetItemAttr( Item_Traget ,ITEMATTR_VAL_STA )          --Spirit
                local lv_Traget = str_Traget + con_Traget + agi_Traget + dex_Traget + sta_Traget  --Stat to add for a lv
                if lv_Traget < 42 then
                        return 0
                else
                        return 1
        
                end
		if lv_Traget > 50 then
                        return 0
                else
                        return 1
        
                end
 
end






ItemEffect.lua:




function ItemUse_Great_Strup ( role , Item , Item_Traget )
local ret = CheckJingLingLv2( role , Item_Traget )
if ret == 0 then
SystemNotice ( role , "Fairy Lv lower than 42. Unable to use Improved Strenght Fruit")
UseItemFailed ( role )
return
end
local Cha_Boat = 0
Cha_Boat = GetCtrlBoat ( role )
if Cha_Boat ~= nil then
SystemNotice( role , "Cannot use while sailing" )
UseItemFailed ( role )
return
end
local Item_type = GetItemType ( Item )
local Item_Traget_Type = GetItemType ( Item_Traget )
local Item_Num = GetItemID ( Item )
local Check_Exp = 0
local Elf_MaxEXP = GetItemAttr(Item_Traget,ITEMATTR_MAXENERGY)
local Item_Target_ID = GetItemID ( Item_Traget )
local Pet_Slot = GetChaItem ( role , 2 , 1  )
local Pet_ID = GetItemID ( Pet_Slot )
 
if Item_Target_ID ~= Pet_ID then
SystemNotice(role , "Pet must be in the Pet Slot" )
UseItemFailed ( role )
return
end
 
  local Item_bg = GetChaItem ( role , 2 , 1  )
if Item_type == 58 and Item_Traget_Type == 59 then
Check_Exp = CheckElf_EXP ( role , Item_Traget )
if Check_Exp == 0 then
SystemNotice(role , "Growth rate is not full. Unable to feed pet with Improved Strenght Fruit" )
UseItemFailed ( role )
else
Lvup_Str_4 ( role , Item_Num , Item_Traget )
end
end
end
 
function ItemUse_Great_Agiup ( role , Item , Item_Traget )
local ret = CheckJingLingLv2( role , Item_Traget )
if ret == 0 then
SystemNotice ( role , "Fairy Lv lower than 42. Unable to use Improved Agility Fruit")
UseItemFailed ( role )
return
end
local Cha_Boat = 0
Cha_Boat = GetCtrlBoat ( role )
if Cha_Boat ~= nil then
SystemNotice( role , "Cannot use while sailing" )
UseItemFailed ( role )
return
end
local Item_type = GetItemType ( Item )
local Item_Traget_Type = GetItemType ( Item_Traget )
local Item_Num = GetItemID ( Item )
local Check_Exp = 0
local Elf_MaxEXP = GetItemAttr(Item_Traget,ITEMATTR_MAXENERGY)
local Item_Target_ID = GetItemID ( Item_Traget )
local Pet_Slot = GetChaItem ( role , 2 , 1  )
local Pet_ID = GetItemID ( Pet_Slot )
 
if Item_Target_ID ~= Pet_ID then
SystemNotice(role , "Pet must be in the Pet Slot" )
UseItemFailed ( role )
return
end
 
  local Item_bg = GetChaItem ( role , 2 , 1  )
if Item_type == 58 and Item_Traget_Type == 59 then
Check_Exp = CheckElf_EXP ( role , Item_Traget )
if Check_Exp == 0 then
SystemNotice(role , "Growth rate is not full. Unable to feed pet with Improved Agility Fruit" )
UseItemFailed ( role )
else
Lvup_Agi_4 ( role , Item_Num , Item_Traget )
end
end
end
 
 
function ItemUse_Great_Dexup ( role , Item , Item_Traget )
local ret = CheckJingLingLv2( role , Item_Traget )
if ret == 0 then
SystemNotice ( role , "Fairy Lv lower than 42. Unable to use Improved Accuracy Fruit")
UseItemFailed ( role )
return
end
local Cha_Boat = 0
Cha_Boat = GetCtrlBoat ( role )
if Cha_Boat ~= nil then
SystemNotice( role , "Cannot use while sailing" )
UseItemFailed ( role )
return
end
local Item_type = GetItemType ( Item )
local Item_Traget_Type = GetItemType ( Item_Traget )
local Item_Num = GetItemID ( Item )
local Check_Exp = 0
local Elf_MaxEXP = GetItemAttr(Item_Traget,ITEMATTR_MAXENERGY)
local Item_Target_ID = GetItemID ( Item_Traget )
local Pet_Slot = GetChaItem ( role , 2 , 1  )
local Pet_ID = GetItemID ( Pet_Slot )
 
if Item_Target_ID ~= Pet_ID then
SystemNotice(role , "Pet must be in the Pet Slot" )
UseItemFailed ( role )
return
end
 
  local Item_bg = GetChaItem ( role , 2 , 1  )
if Item_type == 58 and Item_Traget_Type == 59 then
Check_Exp = CheckElf_EXP ( role , Item_Traget )
if Check_Exp == 0 then
SystemNotice(role , "Growth rate is not full. Unable to feed pet with Improved Accuracy Fruit" )
UseItemFailed ( role )
else
Lvup_Dex_4 ( role , Item_Num , Item_Traget )
end
end
end
 
function ItemUse_Great_Conup ( role , Item , Item_Traget )
 
local ret = CheckJingLingLv2( role , Item_Traget )
if ret == 0 then
SystemNotice ( role , "Fairy Lv lower than 42. Unable to use Improved Constitution Fruit")
UseItemFailed ( role )
return
end
local Cha_Boat = 0
Cha_Boat = GetCtrlBoat ( role )
if Cha_Boat ~= nil then
SystemNotice( role , "Cannot use while sailing" )
UseItemFailed ( role )
return
end
local Item_type = GetItemType ( Item )
local Item_Traget_Type = GetItemType ( Item_Traget )
local Item_Num = GetItemID ( Item )
local Check_Exp = 0
local Elf_MaxEXP = GetItemAttr(Item_Traget,ITEMATTR_MAXENERGY)
local Item_Target_ID = GetItemID ( Item_Traget )
local Pet_Slot = GetChaItem ( role , 2 , 1  )
local Pet_ID = GetItemID ( Pet_Slot )
 
if Item_Target_ID ~= Pet_ID then
SystemNotice(role , "Pet must be in the Pet Slot" )
UseItemFailed ( role )
return
end
 
  local Item_bg = GetChaItem ( role , 2 , 1  )
if Item_type == 58 and Item_Traget_Type == 59 then
Check_Exp = CheckElf_EXP ( role , Item_Traget )
if Check_Exp == 0 then
SystemNotice(role , "Growth rate is not full. Unable to feed pet with Improved Constitution Fruit" )
UseItemFailed ( role )
else
Lvup_Con_4 ( role , Item_Num , Item_Traget )
end
end
end
 
function ItemUse_Great_Staup ( role , Item , Item_Traget )
local ret = CheckJingLingLv2( role , Item_Traget )
if ret == 0 then
SystemNotice ( role , "Fairy Lv lower than 42. Unable to use Improved Spirit Fruit")
UseItemFailed ( role )
return
end
local Cha_Boat = 0
Cha_Boat = GetCtrlBoat ( role )
if Cha_Boat ~= nil then
SystemNotice( role , "Cannot use while sailing" )
UseItemFailed ( role )
return
end
local Item_type = GetItemType ( Item )
local Item_Traget_Type = GetItemType ( Item_Traget )
local Item_Num = GetItemID ( Item )
local Check_Exp = 0
local Elf_MaxEXP = GetItemAttr(Item_Traget,ITEMATTR_MAXENERGY)
local Item_Target_ID = GetItemID ( Item_Traget )
local Pet_Slot = GetChaItem ( role , 2 , 1  )
local Pet_ID = GetItemID ( Pet_Slot )
 
if Item_Target_ID ~= Pet_ID then
SystemNotice(role , "Pet must be in the Pet Slot" )
UseItemFailed ( role )
return
end
 
  local Item_bg = GetChaItem ( role , 2 , 1  )  
if Item_type == 58 and Item_Traget_Type == 59 then
Check_Exp = CheckElf_EXP ( role , Item_Traget )
if Check_Exp == 0 then
SystemNotice(role , "Growth rate is not full. Unable to feed pet with Improved Spirit Fruit" )
UseItemFailed ( role )
else
Lvup_Sta_4 ( role , Item_Num , Item_Traget )
end
end
end

 

Share this post


Link to post
Share on other sites
On 7/2/2023 at 11:07 PM, kyleflow said:

Try check if you have every code that it need. This one from the compile script in Mega folder. I did not check myself since it works for me when I get the files.


Functions.lua


-- improved fruit
 
function Lvup_Str_4 ( role , Item_Num ,Item_Traget )
        local attr_type =  ITEMATTR_VAL_STR
        --SystemNotice(role ,attr_type )
        Elf_LvUp_4 ( role , Item_Num , Item_Traget , attr_type )
end
 
function Lvup_Con_4 ( role , Item_Num ,Item_Traget )
        local attr_type =  ITEMATTR_VAL_CON
        Elf_LvUp_4 ( role , Item_Num , Item_Traget , attr_type )
end
 
function Lvup_Agi_4 ( role , Item_Num ,Item_Traget )
        local attr_type = ITEMATTR_VAL_AGI
        Elf_LvUp_4 ( role , Item_Num , Item_Traget , attr_type )
end
 
function Lvup_Dex_4 ( role , Item_Num ,Item_Traget )
        local attr_type = ITEMATTR_VAL_DEX
        Elf_LvUp_4 ( role , Item_Num , Item_Traget , attr_type )
end
 
function Lvup_Sta_4 ( role , Item_Num ,Item_Traget )
        local attr_type = ITEMATTR_VAL_STA
        Elf_LvUp_4 ( role , Item_Num , Item_Traget , attr_type )
end
 
function Elf_LvUp_4 ( role , Item_Num , Item_Traget , attr_type )      
                
        local str = GetItemAttr( Item_Traget ,ITEMATTR_VAL_STR )        
        local con = GetItemAttr( Item_Traget ,ITEMATTR_VAL_CON )        
        local agi = GetItemAttr( Item_Traget ,ITEMATTR_VAL_AGI )        
        local dex = GetItemAttr( Item_Traget ,ITEMATTR_VAL_DEX )      
        local sta = GetItemAttr( Item_Traget ,ITEMATTR_VAL_STA )      
        local Elf_MaxEXP = GetItemAttr(Item_Traget,ITEMATTR_MAXENERGY)
        local Elf_MaxURE = GetItemAttr(Item_Traget,ITEMATTR_MAXURE)
 
        local Lv = str + agi + dex + con + sta
        local attr_type_num = GetItemAttr( Item_Traget ,attr_type )
 
        local a = 1 / ( math.floor ( ( 1 + ( math.pow ( ( Lv / 10 ) , 3 ) ) ) * 10 ) / 10 * math.max ( 0.01 ,( 1 - attr_type_num * 0.05 ) ) )
        
        if Lv >= 50 then
                a = 1 / ( math.floor ( ( 1 + ( math.pow ( ( Lv / 10 ) , 3 ) ) ) * 10 ) / 10 ) * math.max ( 0.01 ,( 1 - attr_type_num * 0.05 ) )
        end
        
        local b = Percentage_Random ( a )
        
                local item_energe = GetItemAttr( Item_Traget ,ITEMATTR_ENERGY )
              
        if b == 1 then                                          
                        AddItemEffect(role , Item_Traget , 0  )
                item_energe = 0
                SystemNotice (role , "Pet level up successfully! Growth rate is depleted")      
                
                                attr_type_num = attr_type_num + 1
                SetItemAttr ( Item_Traget , attr_type , attr_type_num )
 
                local Item_MAXENERGY = 240 * ( Lv + 1 )
                
                if Item_MAXENERGY > 6480 then
                        Item_MAXENERGY = 6480
                end
 
 
                local Item_MAXURE_NUM = Elf_MaxURE + 2000
 
                if Item_MAXURE_NUM > 32000 then
                        Item_MAXURE_NUM = 32000
                end
                
                SetItemAttr ( Item_Traget , ITEMATTR_MAXENERGY , Item_MAXENERGY )
                SetItemAttr ( Item_Traget , ITEMATTR_MAXURE , Item_MAXURE_NUM )
                ResetItemFinalAttr(Item_Traget)
                        AddItemEffect(role , Item_Traget , 1  )
        else                                                  
                item_energe = 0.5 * item_energe
                SystemNotice (role , "Pet level up failed! Growth rate reduced by half")        
        end
                SetItemAttr ( Item_Traget , ITEMATTR_ENERGY , item_energe )
 
 
end
 
function CheckJingLingLv2 ( role , Item_Traget)
                local ItemID = GetItemID ( Item_Traget )
                local str_Traget = GetItemAttr( Item_Traget ,ITEMATTR_VAL_STR )          --Strenght
                local con_Traget = GetItemAttr( Item_Traget ,ITEMATTR_VAL_CON )          --Constitution
                local agi_Traget = GetItemAttr( Item_Traget ,ITEMATTR_VAL_AGI )          --Agility
                local dex_Traget = GetItemAttr( Item_Traget ,ITEMATTR_VAL_DEX )          --Accuracy
                local sta_Traget = GetItemAttr( Item_Traget ,ITEMATTR_VAL_STA )          --Spirit
                local lv_Traget = str_Traget + con_Traget + agi_Traget + dex_Traget + sta_Traget  --Stat to add for a lv
                if lv_Traget < 42 then
                        return 0
                else
                        return 1
        
                end
		if lv_Traget > 50 then
                        return 0
                else
                        return 1
        
                end
 
end






ItemEffect.lua:




function ItemUse_Great_Strup ( role , Item , Item_Traget )
local ret = CheckJingLingLv2( role , Item_Traget )
if ret == 0 then
SystemNotice ( role , "Fairy Lv lower than 42. Unable to use Improved Strenght Fruit")
UseItemFailed ( role )
return
end
local Cha_Boat = 0
Cha_Boat = GetCtrlBoat ( role )
if Cha_Boat ~= nil then
SystemNotice( role , "Cannot use while sailing" )
UseItemFailed ( role )
return
end
local Item_type = GetItemType ( Item )
local Item_Traget_Type = GetItemType ( Item_Traget )
local Item_Num = GetItemID ( Item )
local Check_Exp = 0
local Elf_MaxEXP = GetItemAttr(Item_Traget,ITEMATTR_MAXENERGY)
local Item_Target_ID = GetItemID ( Item_Traget )
local Pet_Slot = GetChaItem ( role , 2 , 1  )
local Pet_ID = GetItemID ( Pet_Slot )
 
if Item_Target_ID ~= Pet_ID then
SystemNotice(role , "Pet must be in the Pet Slot" )
UseItemFailed ( role )
return
end
 
  local Item_bg = GetChaItem ( role , 2 , 1  )
if Item_type == 58 and Item_Traget_Type == 59 then
Check_Exp = CheckElf_EXP ( role , Item_Traget )
if Check_Exp == 0 then
SystemNotice(role , "Growth rate is not full. Unable to feed pet with Improved Strenght Fruit" )
UseItemFailed ( role )
else
Lvup_Str_4 ( role , Item_Num , Item_Traget )
end
end
end
 
function ItemUse_Great_Agiup ( role , Item , Item_Traget )
local ret = CheckJingLingLv2( role , Item_Traget )
if ret == 0 then
SystemNotice ( role , "Fairy Lv lower than 42. Unable to use Improved Agility Fruit")
UseItemFailed ( role )
return
end
local Cha_Boat = 0
Cha_Boat = GetCtrlBoat ( role )
if Cha_Boat ~= nil then
SystemNotice( role , "Cannot use while sailing" )
UseItemFailed ( role )
return
end
local Item_type = GetItemType ( Item )
local Item_Traget_Type = GetItemType ( Item_Traget )
local Item_Num = GetItemID ( Item )
local Check_Exp = 0
local Elf_MaxEXP = GetItemAttr(Item_Traget,ITEMATTR_MAXENERGY)
local Item_Target_ID = GetItemID ( Item_Traget )
local Pet_Slot = GetChaItem ( role , 2 , 1  )
local Pet_ID = GetItemID ( Pet_Slot )
 
if Item_Target_ID ~= Pet_ID then
SystemNotice(role , "Pet must be in the Pet Slot" )
UseItemFailed ( role )
return
end
 
  local Item_bg = GetChaItem ( role , 2 , 1  )
if Item_type == 58 and Item_Traget_Type == 59 then
Check_Exp = CheckElf_EXP ( role , Item_Traget )
if Check_Exp == 0 then
SystemNotice(role , "Growth rate is not full. Unable to feed pet with Improved Agility Fruit" )
UseItemFailed ( role )
else
Lvup_Agi_4 ( role , Item_Num , Item_Traget )
end
end
end
 
 
function ItemUse_Great_Dexup ( role , Item , Item_Traget )
local ret = CheckJingLingLv2( role , Item_Traget )
if ret == 0 then
SystemNotice ( role , "Fairy Lv lower than 42. Unable to use Improved Accuracy Fruit")
UseItemFailed ( role )
return
end
local Cha_Boat = 0
Cha_Boat = GetCtrlBoat ( role )
if Cha_Boat ~= nil then
SystemNotice( role , "Cannot use while sailing" )
UseItemFailed ( role )
return
end
local Item_type = GetItemType ( Item )
local Item_Traget_Type = GetItemType ( Item_Traget )
local Item_Num = GetItemID ( Item )
local Check_Exp = 0
local Elf_MaxEXP = GetItemAttr(Item_Traget,ITEMATTR_MAXENERGY)
local Item_Target_ID = GetItemID ( Item_Traget )
local Pet_Slot = GetChaItem ( role , 2 , 1  )
local Pet_ID = GetItemID ( Pet_Slot )
 
if Item_Target_ID ~= Pet_ID then
SystemNotice(role , "Pet must be in the Pet Slot" )
UseItemFailed ( role )
return
end
 
  local Item_bg = GetChaItem ( role , 2 , 1  )
if Item_type == 58 and Item_Traget_Type == 59 then
Check_Exp = CheckElf_EXP ( role , Item_Traget )
if Check_Exp == 0 then
SystemNotice(role , "Growth rate is not full. Unable to feed pet with Improved Accuracy Fruit" )
UseItemFailed ( role )
else
Lvup_Dex_4 ( role , Item_Num , Item_Traget )
end
end
end
 
function ItemUse_Great_Conup ( role , Item , Item_Traget )
 
local ret = CheckJingLingLv2( role , Item_Traget )
if ret == 0 then
SystemNotice ( role , "Fairy Lv lower than 42. Unable to use Improved Constitution Fruit")
UseItemFailed ( role )
return
end
local Cha_Boat = 0
Cha_Boat = GetCtrlBoat ( role )
if Cha_Boat ~= nil then
SystemNotice( role , "Cannot use while sailing" )
UseItemFailed ( role )
return
end
local Item_type = GetItemType ( Item )
local Item_Traget_Type = GetItemType ( Item_Traget )
local Item_Num = GetItemID ( Item )
local Check_Exp = 0
local Elf_MaxEXP = GetItemAttr(Item_Traget,ITEMATTR_MAXENERGY)
local Item_Target_ID = GetItemID ( Item_Traget )
local Pet_Slot = GetChaItem ( role , 2 , 1  )
local Pet_ID = GetItemID ( Pet_Slot )
 
if Item_Target_ID ~= Pet_ID then
SystemNotice(role , "Pet must be in the Pet Slot" )
UseItemFailed ( role )
return
end
 
  local Item_bg = GetChaItem ( role , 2 , 1  )
if Item_type == 58 and Item_Traget_Type == 59 then
Check_Exp = CheckElf_EXP ( role , Item_Traget )
if Check_Exp == 0 then
SystemNotice(role , "Growth rate is not full. Unable to feed pet with Improved Constitution Fruit" )
UseItemFailed ( role )
else
Lvup_Con_4 ( role , Item_Num , Item_Traget )
end
end
end
 
function ItemUse_Great_Staup ( role , Item , Item_Traget )
local ret = CheckJingLingLv2( role , Item_Traget )
if ret == 0 then
SystemNotice ( role , "Fairy Lv lower than 42. Unable to use Improved Spirit Fruit")
UseItemFailed ( role )
return
end
local Cha_Boat = 0
Cha_Boat = GetCtrlBoat ( role )
if Cha_Boat ~= nil then
SystemNotice( role , "Cannot use while sailing" )
UseItemFailed ( role )
return
end
local Item_type = GetItemType ( Item )
local Item_Traget_Type = GetItemType ( Item_Traget )
local Item_Num = GetItemID ( Item )
local Check_Exp = 0
local Elf_MaxEXP = GetItemAttr(Item_Traget,ITEMATTR_MAXENERGY)
local Item_Target_ID = GetItemID ( Item_Traget )
local Pet_Slot = GetChaItem ( role , 2 , 1  )
local Pet_ID = GetItemID ( Pet_Slot )
 
if Item_Target_ID ~= Pet_ID then
SystemNotice(role , "Pet must be in the Pet Slot" )
UseItemFailed ( role )
return
end
 
  local Item_bg = GetChaItem ( role , 2 , 1  )  
if Item_type == 58 and Item_Traget_Type == 59 then
Check_Exp = CheckElf_EXP ( role , Item_Traget )
if Check_Exp == 0 then
SystemNotice(role , "Growth rate is not full. Unable to feed pet with Improved Spirit Fruit" )
UseItemFailed ( role )
else
Lvup_Sta_4 ( role , Item_Num , Item_Traget )
end
end
end

 

Thanks, it worked!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...