C++ Copy Attr

Indította TheSLESH, 2018-09-26, 09:05:43

Megpróbáltam, C++-ban egy olyan tárgyat összehozni, ami egy tárgyra ráhúzva, kicseréli a tárgyat egy másikra, a bónuszaival együtt, nos a végeredmény az lett, hogy ráhuzom bármilyen tárgyra, akkor kiirja az ELSE ágat, és ad egy megfelelő tárgyat, bónuszok nélkül... Valaki kitudná javítani, hogy megfelelően működjön?


case 88990 :
{
LPITEM item2;

if (!IsValidItemPosition(DestCell) || !(item2 = GetInventoryItem(wDestCell)))
return false;

if (item2->IsExchanging() == true)
return false;

if (item2->GetID() == 24021)
{
int bonusztipus0 = item2->GetAttributeType(0);
int bonuszertek0 = item2->GetAttributeValue(0);
int bonusztipus1 = item2->GetAttributeType(1);
int bonuszertek1 = item2->GetAttributeValue(1);
int bonusztipus2 = item2->GetAttributeType(2);
int bonuszertek2 = item2->GetAttributeValue(2);
int bonusztipus3 = item2->GetAttributeType(3);
int bonuszertek3 = item2->GetAttributeValue(3);
int bonusztipus4 = item2->GetAttributeType(4);
int bonuszertek4 = item2->GetAttributeValue(4);
int bonusztipus5 = item2->GetAttributeType(5);
int bonuszertek5 = item2->GetAttributeValue(5);
int bonusztipus6 = item2->GetAttributeType(6);
int bonuszertek6 = item2->GetAttributeValue(6);
int koertek1 = item2->GetSocket(0);
int koertek2 = item2->GetSocket(1);
int koertek3 = item2->GetSocket(2);

item_new->SetForceAttribute(0,bonusztipus0,bonuszertek0);
item_new->SetForceAttribute(1,bonusztipus1,bonuszertek1);
item_new->SetForceAttribute(2,bonusztipus2,bonuszertek2);
item_new->SetForceAttribute(3,bonusztipus3,bonuszertek3);
item_new->SetForceAttribute(4,bonusztipus4,bonuszertek4);
item_new->SetForceAttribute(5,bonusztipus5,bonuszertek5);
item_new->SetForceAttribute(6,bonusztipus6,bonuszertek6);
item_new->SetSocket(0, koertek1);
item_new->SetSocket(1, koertek2);
item_new->SetSocket(2, koertek3);
item_new->AddSocket();
item_new->UpdatePacket();
item_new->Save();
ITEM_MANAGER::instance().RemoveItem(item2);
ChatPacket(CHAT_TYPE_INFO, "Sikeres!");
item->GetID();
item->SetCount(item->GetCount() - 1);
LPITEM item_new = AutoGiveItem(24211, 1);
}
else
{
ChatPacket(CHAT_TYPE_INFO, "Ezen a tárgyon nem használhatod. ");
}
}
break;
Az ember csak fiatalon találhat ki igazán új dolgokat. Utána már túl tapasztalt, túl híres (...) és túl ostoba.

Mivel nem GetID kell neked hanem GetVnum.
"Tisztelet a kivételnek! Mindig tisztelet a kivételnek!"
"KezdÅ' vagyok, ne nézz le... (:"

Tökéletes köszi!:)
Az ember csak fiatalon találhat ki igazán új dolgokat. Utána már túl tapasztalt, túl híres (...) és túl ostoba.