help for code

08/17/2024 12:44 sasa5214#1
if(Rebot::Config.AutoMP && Rebot::Config.AutoPotion && Rebot::Config.MpItemID != 0 && ((((float)g_pCICPlayer->m_mpCurrent/(float)g_pCICPlayer->m_mpMax) * 100) < Rebot::Config.MpPercent) && g_pCICPlayer && g_pCICPlayer->Status !=2)
{
CIFSlotWithHelp* pSlot;
CIFInventory* pInventory = g_pCGInterface->GetMainPopup()->GetInventory();
if(pInventory)
{
for (int i = 0; i < g_pCICPlayer->m_inventorySize; i++)
{
pSlot = *reinterpret_cast<CIFSlotWithHelp**>(pInventory->pSlots + (i * 4));
if(pSlot->ItemInfo && pSlot)
{
if ( pSlot->ItemInfo->GetItemData()->m_id == Rebot::Config.MpItemID)
{
if((time(NULL) - lastClickTime12 > 0.5)) {

CMsgStreamBuffer buf(0x704C);
buf << (byte)(pSlot->UniqueID()- 100 + 0xD);
buf << (UINT16)(pSlot->ItemInfo->GetItemData()->TID) ;
SendMsg(buf);
lastClickTime12 = time(NULL);
}
break;
}
}
}
}

}



this code make for macro crash when use mp bot any one can hellp ?
07/06/2025 03:52 ryaneichner#2
Quote:
Originally Posted by sasa5214 View Post
if(Rebot::Config.AutoMP && Rebot::Config.AutoPotion && Rebot::Config.MpItemID != 0 && ((((float)g_pCICPlayer->m_mpCurrent/(float)g_pCICPlayer->m_mpMax) * 100) < Rebot::Config.MpPercent) && g_pCICPlayer && g_pCICPlayer->Status !=2)
{
CIFSlotWithHelp* pSlot;
CIFInventory* pInventory = g_pCGInterface->GetMainPopup()->GetInventory();
if(pInventory)
{
for (int i = 0; i < g_pCICPlayer->m_inventorySize; i++)
{
pSlot = *reinterpret_cast<CIFSlotWithHelp**>(pInventory->pSlots + (i * 4));
if(pSlot->ItemInfo && pSlot)
{
if ( pSlot->ItemInfo->GetItemData()->m_id == Rebot::Config.MpItemID)
{
if((time(NULL) - lastClickTime12 > 0.5)) {

CMsgStreamBuffer buf(0x704C);
buf << (byte)(pSlot->UniqueID()- 100 + 0xD);
buf << (UINT16)(pSlot->ItemInfo->GetItemData()->TID) ;
SendMsg(buf);
lastClickTime12 = time(NULL);
}
break;
}
}
}
}

}



this code make for macro crash when use mp bot any one can hellp ?

try it>

if (Rebot::Config.AutoMP && Rebot::Config.AutoPotion && Rebot::Config.MpItemID != 0 &&
g_pCICPlayer && g_pCICPlayer->Status != 2 &&
((float)g_pCICPlayer->m_mpCurrent / (float)g_pCICPlayer->m_mpMax) * 100 < Rebot::Config.MpPercent)
{
CIFInventory* pInventory = g_pCGInterface->GetMainPopup()->GetInventory();
if (pInventory && pInventory->pSlots)
{
for (int i = 0; i < g_pCICPlayer->m_inventorySize; i++)
{
CIFSlotWithHelp* pSlot = *reinterpret_cast<CIFSlotWithHelp**>(pInventory->pSlots + (i * 4));
if (pSlot && pSlot->ItemInfo)
{
if (pSlot->ItemInfo->GetItemData()->m_id == Rebot::Config.MpItemID)
{
clock_t now = clock();
if ((now - lastClickTime12) > (CLOCKS_PER_SEC / 2)) // 0.5 sec
{
CMsgStreamBuffer buf(0x704C);
buf << (byte)(pSlot->UniqueID() - 100 + 0xD);
buf << (UINT16)(pSlot->ItemInfo->GetItemData()->TID);
SendMsg(buf);
lastClickTime12 = now;
}
break;
}
}
}
}
}