Kosztüm effect

Indította Xeron, 2017-12-01, 15:54:02

2017-12-01, 15:54:02 Utolsó szerkesztés: 2017-12-01, 16:04:35 Szerző: M3RX
Sziasztok!

Kis segítséget kérnék nem tudom mi lehet a hiba :D

InstanceBase.cpp
if (pItem->GetSubType() == CItemData::COSTUME_BODY)
{
DWORD szItem = pItem->GetIndex();
long szMsm = pItem->GetValue(3);

if (szMsm == VALUE_MSM_1 || szMsm == VALUE_MSM_2 ||
szMsm == VALUE_MSM_3 || szMsm == VALUE_MSM_4 ||
szMsm == VALUE_MSM_5 || szMsm == VALUE_MSM_6 ||
szMsm == VALUE_MSM_7 || szMsm == VALUE_MSM_8 ||
szMsm == VALUE_MSM_9 || szMsm == VALUE_MSM_10)

if (szItem == VALUE_VNUM_1 || szItem == VALUE_VNUM_2 ||
szItem == VALUE_VNUM_3 || szItem == VALUE_VNUM_4 ||
szItem == VALUE_VNUM_5 || szItem == VALUE_VNUM_6 ||
szItem == VALUE_VNUM_7 || szItem == VALUE_VNUM_8 ||
szItem == VALUE_VNUM_9 || szItem == VALUE_VNUM_10)
{

switch (VNUM);

case 41003:
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_SPECIAL);
break;

case 41304:
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_SPECIAL2);
break;
}
}


InstanceBase.h:

enum ECostumeEffectMsm
{
VALUE_MSM_1 = 40032, // = vnum [ (M) -> 41003, (F) -> 41004]
VALUE_MSM_2 = 40033, // = vnum [ (M) -> 41005, (F) -> 41006]
VALUE_MSM_3 = 40034, // = vnum [ (M) -> 41007, (F) -> 41008]
VALUE_MSM_4 = 40035, // = vnum [ (M) -> 41009, (F) -> 41010]
VALUE_MSM_5 = 40036, // = vnum [ (M) -> 41011, (F) -> 41012]
VALUE_MSM_6 = 40037, // = vnum [ (M) -> 41013, (F) -> 41014]
VALUE_MSM_7 = 40038, // = vnum [ (M) -> 41015, (F) -> 41016]
VALUE_MSM_8 = 40039, // = vnum [ (M) -> 41017, (F) -> 41018]
VALUE_MSM_9 = 40040, // = vnum [ (M) -> 41019, (F) -> 41020]
VALUE_MSM_10 = 40041, // = vnum [ (M) -> 41021, (F) -> 41022]
};

enum ECostumeEffectVnum
{
VALUE_VNUM_1 = 41003,
VALUE_VNUM_2 = 41304,
VALUE_VNUM_3 = 41005,
VALUE_VNUM_4 = 41006,
VALUE_VNUM_5 = 41307,
VALUE_VNUM_6 = 41308,
VALUE_VNUM_7 = 41309,
VALUE_VNUM_8 = 41310,
VALUE_VNUM_9 = 41311,
VALUE_VNUM_10 = 41312,
};


És ettől nem fordul le:

1>..\..\source\UserInterface\InstanceBase.cpp(2906): warning C4060: switch statement contains no 'case' or 'default' labels
1>..\..\source\UserInterface\InstanceBase.cpp(2908): error C2360: initialization of 'szMsm' is skipped by 'case' label
1>          ..\..\source\UserInterface\InstanceBase.cpp(2891) : see declaration of 'szMsm'
1>..\..\source\UserInterface\InstanceBase.cpp(2908): error C2360: initialization of 'szItem' is skipped by 'case' label
1>          ..\..\source\UserInterface\InstanceBase.cpp(2890) : see declaration of 'szItem'
1>..\..\source\UserInterface\InstanceBase.cpp(2912): error C2360: initialization of 'szMsm' is skipped by 'case' label
1>          ..\..\source\UserInterface\InstanceBase.cpp(2891) : see declaration of 'szMsm'
1>..\..\source\UserInterface\InstanceBase.cpp(2912): error C2360: initialization of 'szItem' is skipped by 'case' label
1>          ..\..\source\UserInterface\InstanceBase.cpp(2890) : see declaration of 'szItem'


Ha valaki tudna nekem ebben segíteni hogy itt mit írhattam el azt előre is megköszönném!
"A színpadon törtek elÅ' belÅ'lem a sötét erÅ'k!"

2017-12-01, 16:12:48 #1 Utolsó szerkesztés: 2017-12-01, 16:14:40 Szerző: udvatt108
Rosszúl van nyitva a switch...

Üzenet összefésülés: 2017-12-01, 16:14:40

InstanceBase.cpp:
if (pItem->GetSubType() == CItemData::COSTUME_BODY)
{
DWORD szItem = pItem->GetIndex();
long szMsm = pItem->GetValue(3);

if (szMsm == VALUE_MSM_1 || szMsm == VALUE_MSM_2 ||
szMsm == VALUE_MSM_3 || szMsm == VALUE_MSM_4 ||
szMsm == VALUE_MSM_5 || szMsm == VALUE_MSM_6 ||
szMsm == VALUE_MSM_7 || szMsm == VALUE_MSM_8 ||
szMsm == VALUE_MSM_9 || szMsm == VALUE_MSM_10)

if (szItem == VALUE_VNUM_1 || szItem == VALUE_VNUM_2 ||
szItem == VALUE_VNUM_3 || szItem == VALUE_VNUM_4 ||
szItem == VALUE_VNUM_5 || szItem == VALUE_VNUM_6 ||
szItem == VALUE_VNUM_7 || szItem == VALUE_VNUM_8 ||
szItem == VALUE_VNUM_9 || szItem == VALUE_VNUM_10)
{

switch (VNUM){

case 41003:
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_SPECIAL);
break;

case 41304:
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_SPECIAL2);
break;
}
}
Egy programozási nyelv akkor alacsony szintű, ha arra kényszeríti az embert, hogy az érdektelen dolgokra is odafigyeljen.

Köszi :D Megy a + :D
"A színpadon törtek elÅ' belÅ'lem a sötét erÅ'k!"

Szívesen
Egy programozási nyelv akkor alacsony szintű, ha arra kényszeríti az embert, hogy az érdektelen dolgokra is odafigyeljen.

Valamiért most is hibát ír!
"A színpadon törtek elÅ' belÅ'lem a sötét erÅ'k!"

Mert az egyik if state nincs bezárva xd
Egy programozási nyelv akkor alacsony szintű, ha arra kényszeríti az embert, hogy az érdektelen dolgokra is odafigyeljen.

Na ez kínai xD
"A színpadon törtek elÅ' belÅ'lem a sötét erÅ'k!"

Am minek a 2. if ha ott a switch? ???

2017-12-01, 16:24:21 #8 Utolsó szerkesztés: 2017-12-01, 16:27:19 Szerző: udvatt108

if (pItem->GetSubType() == CItemData::COSTUME_BODY)
{
DWORD szItem = pItem->GetIndex();
long szMsm = pItem->GetValue(3);

if ((szMsm == VALUE_MSM_1 || szMsm == VALUE_MSM_2 ||
szMsm == VALUE_MSM_3 || szMsm == VALUE_MSM_4 ||
szMsm == VALUE_MSM_5 || szMsm == VALUE_MSM_6 ||
szMsm == VALUE_MSM_7 || szMsm == VALUE_MSM_8 ||
szMsm == VALUE_MSM_9 || szMsm == VALUE_MSM_10) and (szItem == VALUE_VNUM_1 || szItem == VALUE_VNUM_2 ||
szItem == VALUE_VNUM_3 || szItem == VALUE_VNUM_4 ||
szItem == VALUE_VNUM_5 || szItem == VALUE_VNUM_6 ||
szItem == VALUE_VNUM_7 || szItem == VALUE_VNUM_8 ||
szItem == VALUE_VNUM_9 || szItem == VALUE_VNUM_10))
{

switch (VNUM){

case 41003:
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_SPECIAL);
break;

case 41304:
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_SPECIAL2);
break;
}
}


Üzenet összefésülés: 2017-12-01, 16:24:55

Én sem értem a két if-t, de próbáld most.
Egy programozási nyelv akkor alacsony szintű, ha arra kényszeríti az embert, hogy az érdektelen dolgokra is odafigyeljen.

Idézetet írta: udvatt108 Dátum 2017-12-01, 16:24:21

if (pItem->GetSubType() == CItemData::COSTUME_BODY)
{
DWORD szItem = pItem->GetIndex();
long szMsm = pItem->GetValue(3);

if ((szMsm == VALUE_MSM_1 || szMsm == VALUE_MSM_2 ||
szMsm == VALUE_MSM_3 || szMsm == VALUE_MSM_4 ||
szMsm == VALUE_MSM_5 || szMsm == VALUE_MSM_6 ||
szMsm == VALUE_MSM_7 || szMsm == VALUE_MSM_8 ||
szMsm == VALUE_MSM_9 || szMsm == VALUE_MSM_10) and (szItem == VALUE_VNUM_1 || szItem == VALUE_VNUM_2 ||
szItem == VALUE_VNUM_3 || szItem == VALUE_VNUM_4 ||
szItem == VALUE_VNUM_5 || szItem == VALUE_VNUM_6 ||
szItem == VALUE_VNUM_7 || szItem == VALUE_VNUM_8 ||
szItem == VALUE_VNUM_9 || szItem == VALUE_VNUM_10)
{

switch (VNUM){

case 41003:
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_SPECIAL);
break;

case 41304:
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_SPECIAL2);
break;
}
}


Üzenet összefésülés: 2017-12-01, 16:24:55

Én sem értem a két if-t, de próbáld most.

Eszem meg ál ugyan ugy hibát ír
"A színpadon törtek elÅ' belÅ'lem a sötét erÅ'k!"

kihagytam egy zarojelet xd frissitettem a kodot bocsi
Egy programozási nyelv akkor alacsony szintű, ha arra kényszeríti az embert, hogy az érdektelen dolgokra is odafigyeljen.

1>..\..\source\UserInterface\InstanceBase.cpp(2898): error C2146: syntax error : missing ')' before identifier 'and'
1>..\..\source\UserInterface\InstanceBase.cpp(2902): error C2059: syntax error : ')'
1>..\..\source\UserInterface\InstanceBase.cpp(2905): error C2143: syntax error : missing '}' before 'switch'
1>..\..\source\UserInterface\InstanceBase.cpp(2905): error C2143: syntax error : missing ';' before 'switch'
1>..\..\source\UserInterface\InstanceBase.cpp(2898): error C3861: 'and': identifier not found
1>..\..\source\UserInterface\InstanceBase.cpp(2905): error C2065: 'VNUM' : undeclared identifier
1>..\..\source\UserInterface\InstanceBase.cpp(2905): error C2050: switch expression not integral


Ott az and-nél van a hiba valamiért azt nem akarja elfogadni így :D
"A színpadon törtek elÅ' belÅ'lem a sötét erÅ'k!"

Nem hogy a fajlod toltened fel..

if (pItem->GetSubType() == CItemData::COSTUME_BODY)
{
DWORD szItem = pItem->GetIndex();
long szMsm = pItem->GetValue(3);

if ((szMsm == VALUE_MSM_1 || szMsm == VALUE_MSM_2 ||
szMsm == VALUE_MSM_3 || szMsm == VALUE_MSM_4 ||
szMsm == VALUE_MSM_5 || szMsm == VALUE_MSM_6 ||
szMsm == VALUE_MSM_7 || szMsm == VALUE_MSM_8 ||
szMsm == VALUE_MSM_9 || szMsm == VALUE_MSM_10) && (szItem == VALUE_VNUM_1 || szItem == VALUE_VNUM_2 ||
szItem == VALUE_VNUM_3 || szItem == VALUE_VNUM_4 ||
szItem == VALUE_VNUM_5 || szItem == VALUE_VNUM_6 ||
szItem == VALUE_VNUM_7 || szItem == VALUE_VNUM_8 ||
szItem == VALUE_VNUM_9 || szItem == VALUE_VNUM_10))
{

switch (VNUM){

case 41003:
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_SPECIAL);
break;

case 41304:
__AttachEffect(EFFECT_REFINED + EFFECT_BODYARMOR_SPECIAL2);
break;
}
}
}
Egy programozási nyelv akkor alacsony szintű, ha arra kényszeríti az embert, hogy az érdektelen dolgokra is odafigyeljen.

Várj felteszem nézd meg :D

"A színpadon törtek elÅ' belÅ'lem a sötét erÅ'k!"

Amit elobb adtam kodot azzal is csinald meg, azzal jonak kell lennie. Csak tabrol vk azt szar error firkanli.
Egy programozási nyelv akkor alacsony szintű, ha arra kényszeríti az embert, hogy az érdektelen dolgokra is odafigyeljen.

a VNUM a baj neki valamiért !

"A színpadon törtek elÅ' belÅ'lem a sötét erÅ'k!"

A switchben lévő VNUM nincs definiálva, persze h nem fordul le a kód.

tehát akkor így meg tudom csinálni hogy minden kosztihoz más effectet rendeljen?
"A színpadon törtek elÅ' belÅ'lem a sötét erÅ'k!"

Igy igaz, látod ha add az egész fájlt s rálátni az egesz kódra mi ki nem derul.
Egy programozási nyelv akkor alacsony szintű, ha arra kényszeríti az embert, hogy az érdektelen dolgokra is odafigyeljen.

Gondoltam annyi azért menni fog magától hogy a VNUM-ot átírja a sajátjára :-\ ;D