• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

[Help] Items.cpp

ZORAM

New Member
Joined
Aug 6, 2013
Messages
27
Reaction score
0
Hi guys,
I'm having problems with my server sources 8:54 I get this error on the console. ([Warning - Items :: LoadFromXML] Unknown key value) then I went up to the source and I am trying to add the value of: isPokeball try to modify and add this value but I can not but who want to help me be grateful.
Here is the the part of the code and I ask your help however they can help me.

I always get error or sometimes I can compile and still get the error value.
I'm fixing this server.

A big hug and be with God!

Code:
            else if(tmpStrValue == "elementphysical")
            {
                if(readXMLInteger(itemAttributesNode, "value", intValue))
                {
                    it.abilities.elementDamage = intValue;
                    it.abilities.elementType = COMBAT_PHYSICALDAMAGE;
                }
            }
            else if(tmpStrValue == "elementfire")
            {
                if(readXMLInteger(itemAttributesNode, "value", intValue))
                {
                    it.abilities.elementDamage = intValue;
                    it.abilities.elementType = COMBAT_FIREDAMAGE;
                }
            }
            else if(tmpStrValue == "elementenergy")
            {
                if(readXMLInteger(itemAttributesNode, "value", intValue))
                {
                    it.abilities.elementDamage = intValue;
                    it.abilities.elementType = COMBAT_ENERGYDAMAGE;
                }
            }
            else if(tmpStrValue == "elementearth")
            {
                if(readXMLInteger(itemAttributesNode, "value", intValue))
                {
                    it.abilities.elementDamage = intValue;
                    it.abilities.elementType = COMBAT_EARTHDAMAGE;
                }
            }
            else if(tmpStrValue == "elementice")
            {
                if(readXMLInteger(itemAttributesNode, "value", intValue))
                {
                    it.abilities.elementDamage = intValue;
                    it.abilities.elementType = COMBAT_ICEDAMAGE;
                }
            }
            else if(tmpStrValue == "elementholy")
            {
                if(readXMLInteger(itemAttributesNode, "value", intValue))
                {
                    it.abilities.elementDamage = intValue;
                    it.abilities.elementType = COMBAT_HOLYDAMAGE;
                }
            }
            else if(tmpStrValue == "elementvenom")
            {
                if(readXMLInteger(itemAttributesNode, "value", intValue))
                {
                    it.abilities.elementDamage = intValue;
                    it.abilities.elementType = COMBAT_VENOMDAMAGE;
                }
            }
            else if(tmpStrValue == "elementfly")
            {
                if(readXMLInteger(itemAttributesNode, "value", intValue))
                {
                    it.abilities.elementDamage = intValue;
                    it.abilities.elementType = COMBAT_FLYDAMAGE;
                }
            }
            else if(tmpStrValue == "elementdeath")
            {
                if(readXMLInteger(itemAttributesNode, "value", intValue))
                {
                    it.abilities.elementDamage = intValue;
                    it.abilities.elementType = COMBAT_DEATHDAMAGE;
                }
            }
            else if(tmpStrValue == "elementlifedrain")
            {
                if(readXMLInteger(itemAttributesNode, "value", intValue))
                {
                    it.abilities.elementDamage = intValue;
                    it.abilities.elementType = COMBAT_LIFEDRAIN;
                }
            }
            else if(tmpStrValue == "elementmanadrain")
            {
                if(readXMLInteger(itemAttributesNode, "value", intValue))
                {
                    it.abilities.elementDamage = intValue;
                    it.abilities.elementType = COMBAT_MANADRAIN;
                }
            }
            else if(tmpStrValue == "elementhealing")
            {
                if(readXMLInteger(itemAttributesNode, "value", intValue))
                {
                    it.abilities.elementDamage = intValue;
                    it.abilities.elementType = COMBAT_HEALING;
                }
            }
            else if(tmpStrValue == "elementundefined")
            {
                if(readXMLInteger(itemAttributesNode, "value", intValue))
                {
                    it.abilities.elementDamage = intValue;
                    it.abilities.elementType = COMBAT_UNDEFINEDDAMAGE;
                }
            }
            else if(tmpStrValue == "replaceable" || tmpStrValue == "replacable")
            {
                if(readXMLInteger(itemAttributesNode, "value", intValue))
                    it.replaceable = (intValue != 0);
            }
            else if(tmpStrValue == "partnerdirection")
            {
                if(readXMLString(itemAttributesNode, "value", strValue))
                    it.bedPartnerDir = getDirection(strValue);
            }
            else if(tmpStrValue == "maletransformto")
            {
                if(readXMLInteger(itemAttributesNode, "value", intValue))
                {
                    it.transformUseTo[PLAYERSEX_MALE] = intValue;
                    ItemType& ot = getItemType(intValue);
                    if(!ot.transformToFree)
                        ot.transformToFree = it.id;

                    if(!it.transformUseTo[PLAYERSEX_FEMALE])
                        it.transformUseTo[PLAYERSEX_FEMALE] = intValue;
                }
            }
            else if(tmpStrValue == "femaletransformto")
            {
                if(readXMLInteger(itemAttributesNode, "value", intValue))
                {
                    it.transformUseTo[PLAYERSEX_FEMALE] = intValue;
                    ItemType& ot = getItemType(intValue);
                    if(!ot.transformToFree)
                        ot.transformToFree = it.id;

                    if(!it.transformUseTo[PLAYERSEX_MALE])
                        it.transformUseTo[PLAYERSEX_MALE] = intValue;
                }
            }
            else if(tmpStrValue == "transformto")
            {
                if(readXMLInteger(itemAttributesNode, "value", intValue))
                    it.transformToFree = intValue;
            }
                        else if(tmpStrValue == "isPokeball")
            {
                if(readXMLInteger(itemAttributesNode, "value", intValue))
                    it.transformToFree = intValue;
            }
            else
                std::cout << "[Warning - Items::loadFromXml] Unknown key value " << strValue << std::endl;
 
Change it.transformToFree to it.isPokeball

Like this:

Code:
else if(tmpStrValue == "isPokeball")
{
    if(readXMLInteger(itemAttributesNode, "value", intValue))
        it.isPokeball = intValue;
}

And declare isPokeball in items.h under Ammo_t ammoType add

Code:
bool isPokeball;

and in items.cpp under decayTime = 0; add

Code:
isPokeball = false;
 
Last edited:
Change it.transformToFree to it.isPokeball

Like this:

Code:
else if(tmpStrValue == "isPokeball")
{
    if(readXMLInteger(itemAttributesNode, "value", intValue))
        it.isPokeball = intValue;
}

And declare isPokeball in items.h under Ammo_t ammoType add

Code:
bool isPokeball;

and in items.cpp under decayTime = 0; add

Code:
isPokeball = false;

give several errors in the distro after compile, how can I add this isPokeball attribute the source?
 
Back
Top