Enchanted

Indította Deadly2000, 2018-07-11, 12:52:20

Sziasztok, van nekem az enchanted system azaz kosztüm bónuszoló.. Ami nagyon jól működik és ott van a pánt is.

Ezáltal mivel mindkettő kosztüm lehet forgatni a pántot is. És az lenne kérdésem ,hogy mivel lehetne lekorlátozni ,hogy a pántot ne tudja forgatni..

Próbálkoztam már ez működik nem tudja ,de ugyan úgy semmilyen más kosztümöt sem tudok forgatni.

// Enchant costume
if (item->GetVnum() == 70064)
{
if (item2->GetType() != ITEM_COSTUME)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ITEM_ISNT_COSTUME"));
return false;
}
if (item->GetVnum() != 85204 && item->GetVnum() != 85201 && item->GetVnum() != 85202 && item->GetVnum() != 85203 &&
item->GetVnum() != 85205 && item->GetVnum() != 85206 && item->GetVnum() != 85207 && item->GetVnum() != 85208 &&
item->GetVnum() != 85209 && item->GetVnum() != 85211 && item->GetVnum() != 85212 && item->GetVnum() != 85213 &&
item->GetVnum() != 85214 && item->GetVnum() != 85215 && item->GetVnum() != 85216 && item->GetVnum() != 85217 &&
item->GetVnum() != 85218)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ITEM_ISNT_COSTUME"));
return false;
}
if (item2->GetAttributeCount() == 0)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ITEM_HASNT_ATTRIBUTE"));
return false;
}
}
// Enchanted _vége

2018-07-11, 13:50:44 #1 Utolsó szerkesztés: 2018-07-11, 16:41:35 Szerző: K3zX
A második ifben ne !=-ket használj hanem ==
És ne & hanem || (& Akkor kell ha pl egy range-et adsz meg mert ez az "és")

De amúgy range-t szerintem jobb lenne megadni:
// Enchant costume
if (item->GetVnum() == 70064)
{
if (item2->GetType() != ITEM_COSTUME)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ITEM_ISNT_COSTUME"));
return false;
}
if (item2->GetVnum() >= 85200 && item2->GetVnum() <= 85299)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ITEM_ISNT_COSTUME"));
return false;
}
if (item2->GetAttributeCount() == 0)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ITEM_HASNT_ATTRIBUTE"));
return false;
}
}
// Enchanted _vége


85200 - 85299-ig tiltva.

Szerk: item szerkesztve item2-re

2018-07-11, 15:16:40 #2 Utolsó szerkesztés: 2018-07-11, 15:18:46 Szerző: 5310pati
Van egyszerűbb is :o ::)
if (item2->GetSubType() == COSTUME_SASH)
return false;


Am jó az a "ranges" megoldás is, de akkor legalább a jó tárgyra írd. Az "item" az az amivel bónuszolod v tudomisén mit csinálsz ;D és az item2 az amire ráhúztad a tárgyat, ergo neked azt kell vizsgálni h kosztüm-e és h nem pánt.

Köszönöm srácok :)