[Req] Person with C++ knowledge required.

komapok

New Member
Joined
Jul 27, 2012
Messages
28
Reaction score
1
In search of a person with c++ knowledge,capable to find and fix bugs, add other required things in the source codes of a mu online server.
To put the pieces of a server together and create a good stable project. Paid work. Pm if you are interested.
 
Why don't you just share in details what exactly are the problems, how to reproduce them and information about the files? You have better chances to get your thing done for free by sharing that info, instead of relying on personal messages
 
Why don't you just share in details what exactly are the problems, how to reproduce them and information about the files? You have better chances to get your thing done for free by sharing that info, instead of relying on personal messages
The problem itself is that i am 0 in c++ and i don't know myself how to do many things in there. Also because the time is a bit pressing me and i have no possibility to rely on just good samaritians who will want to help for free. It is more convinient for a person to work if the person gets paid for the job. Has more interest in it. But about the problems: for example to make infinite elf arrows instead of 255. The server files are muemu sources from kayito. I will try to make a short video about another broblems there are in the server and post it here. Thank you very much for the reply and the idea.
 
Last edited:
About the arrows and bolts:
GameServer->Damage->Attack.cpp line 499 and 511 - replace them with "return true;"
before:
C++:
bool CAttack::DecreaseArrow(LPOBJ lpObj)
{
    if (lpObj->Type != OBJECT_USER || lpObj->Class != CLASS_FE)
    {
        return true;
    }

    if (lpObj->Inventory[0].m_Index >= GET_ITEM(4, 0) && lpObj->Inventory[0].m_Index < GET_ITEM(5, 0) && lpObj->Inventory[0].m_Index != GET_ITEM(4, 15) && lpObj->Inventory[0].m_Slot == 0)
    {
        if (lpObj->Inventory[1].m_Index != GET_ITEM(4, 7) || lpObj->Inventory[1].m_Durability < 1)
        {
            return false;
        }
        else
        {
            gItemManager.DecreaseItemDur(lpObj, 1, 1);
        }
    }

    if (lpObj->Inventory[1].m_Index >= GET_ITEM(4, 0) && lpObj->Inventory[1].m_Index < GET_ITEM(5, 0) && lpObj->Inventory[1].m_Index != GET_ITEM(4, 7) && lpObj->Inventory[1].m_Slot == 1)
    {
        if (lpObj->Inventory[0].m_Index != GET_ITEM(4, 15) || lpObj->Inventory[0].m_Durability < 1)
        {
            return false;
        }
        else
        {
            gItemManager.DecreaseItemDur(lpObj, 0, 1);
        }
    }

    return true;
}
after
C++:
bool CAttack::DecreaseArrow(LPOBJ lpObj)
{
    if (lpObj->Type != OBJECT_USER || lpObj->Class != CLASS_FE)
    {
        return true;
    }

    if (lpObj->Inventory[0].m_Index >= GET_ITEM(4, 0) && lpObj->Inventory[0].m_Index < GET_ITEM(5, 0) && lpObj->Inventory[0].m_Index != GET_ITEM(4, 15) && lpObj->Inventory[0].m_Slot == 0)
    {
        if (lpObj->Inventory[1].m_Index != GET_ITEM(4, 7) || lpObj->Inventory[1].m_Durability < 1)
        {
            return false;
        }
        else
        {
            return true;
        }
    }

    if (lpObj->Inventory[1].m_Index >= GET_ITEM(4, 0) && lpObj->Inventory[1].m_Index < GET_ITEM(5, 0) && lpObj->Inventory[1].m_Index != GET_ITEM(4, 7) && lpObj->Inventory[1].m_Slot == 1)
    {
        if (lpObj->Inventory[0].m_Index != GET_ITEM(4, 15) || lpObj->Inventory[0].m_Durability < 1)
        {
            return false;
        }
        else
        {
            return true;
        }
    }

    return true;
}

Or just modify the whole function to return true :D You can also remove the caller
 
Last edited:
关于箭头和螺栓:
GameServer->Damage->Attack.cpp 第 499 和 511 行 - 将它们替换为“return true;”
前:
C++:
bool CAttack::DecreaseArrow(LPOBJ lpObj)
{
    if (lpObj->类型!= OBJECT_USER || lpObj->类!= CLASS_FE)
    {
        返回真;
    }

    if (lpObj->Inventory[0].m_Index >= GET_ITEM(4, 0) && lpObj->Inventory[0].m_Index < GET_ITEM(5, 0) && lpObj->Inventory[0].m_Index != GET_ITEM( 4, 15) && lpObj->库存[0].m_Slot == 0)
    {
        if (lpObj->Inventory[1].m_Index != GET_ITEM(4, 7) || lpObj->Inventory[1].m_Durability < 1)
        {
            返回假;
        }
        别的
        {
            gItemManager.DecreaseItemDur(lpObj, 1, 1);
        }
    }

    if (lpObj->Inventory[1].m_Index >= GET_ITEM(4, 0) && lpObj->Inventory[1].m_Index < GET_ITEM(5, 0) && lpObj->Inventory[1].m_Index != GET_ITEM( 4, 7) && lpObj->库存[1].m_Slot == 1)
    {
        if (lpObj->Inventory[0].m_Index != GET_ITEM(4, 15) || lpObj->Inventory[0].m_Durability < 1)
        {
            返回假;
        }
        别的
        {
            gItemManager.DecreaseItemDur(lpObj, 0, 1);
        }
    }

    返回真;
}[/代码][/剧透]
后
[剧透=“代码”]
[CODE=cpp]bool CAtack::DecreaseArrow(LPOBJ lpObj)
{
    if (lpObj->类型!= OBJECT_USER || lpObj->类!= CLASS_FE)
    {
        返回真;
    }

    if (lpObj->Inventory[0].m_Index >= GET_ITEM(4, 0) && lpObj->Inventory[0].m_Index < GET_ITEM(5, 0) && lpObj->Inventory[0].m_Index != GET_ITEM( 4, 15) && lpObj->库存[0].m_Slot == 0)
    {
        if (lpObj->Inventory[1].m_Index != GET_ITEM(4, 7) || lpObj->Inventory[1].m_Durability < 1)
        {
            返回假;
        }
        别的
        {
            返回真;
        }
    }

    if (lpObj->Inventory[1].m_Index >= GET_ITEM(4, 0) && lpObj->Inventory[1].m_Index < GET_ITEM(5, 0) && lpObj->Inventory[1].m_Index != GET_ITEM( 4, 7) && lpObj->库存[1].m_Slot == 1)
    {
        if (lpObj->Inventory[0].m_Index != GET_ITEM(4, 15) || lpObj->Inventory[0].m_Durability < 1)
        {
            返回假;
        }
        别的
        {
            返回真;
        }
    }

    返回真;
}[/代码]
[/剧透]

或者只是修改整个函数以返回 true:D 也可以删除调用者
[/QUOTE]
可以留下你的联系方式吗?