Sziasztok! Sikerült berakni a fegyver kosztümöt, viszont akadt egy kis problémám. Mégpedig, hogy nem veszi fel a
kosztüm fegyvert a karakter. Minden sikeresen lefordult, kliens sysser, szerver syslog/sysser üres.
Ez alapján raktam be:
[spoiler]http://metin2hungary.net/index.php?topic=194077.0[/spoiler]
Itt az item_proto
19000 fegyO ITEM_COSTUME COSTUME_WEAPON_SWORD 2 ANTI_ASSASSIN | ANTI_MUDANG | ANTI_DROP | ANTI_SELL | ANTI_STACK NONE NONE NONE 0 0 0 0 100 REAL_TIME 2592000 LIMIT_NONE 0 APPLY_ATT_SPEED 5 APPLY_ATT_GRADE_BONUS 100 APPLY_NONE 0 0 0 0 0 0 0 5 0 0
A segítségeket előre is köszönöm!
A SZERVERBEN NINCS OFFLINESHOP, ÉS PÁNTRENDSZER. Bár nem tudom, hogy ez számít-e.
Most vettem észre 2 bugot.
Üzenet összefésülés: 2017-06-17, 20:53:27
.
Makró nélkül kell berakni, mint a témában is írják.
Tehát az ilyeneket:
ifdef
---
endif
helyett a pirossal kijelölt sor maradjon csak.
Ha esetleg nemnagyon értenéd miről beszélek:
char_item.cpp
#ifdef COSTUME_WEAPON
,WEAR_COSTUME_WEAPON
#endif
helyett
,WEAR_COSTUME_WEAPON
Köszi a segítséget, most már tudni fogom, hogy mi az a makró. :D Reggel megpróbálom, aztán írok.
Üzenet összefésülés: 2017-06-18, 11:09:23
Na, a helyzet a következő: Ha nem írom oda az IFDEF, ENDIFET, akkor nem fordul le. Ha ottvan, akkor igen.
Valahol rosszul vetted ki, de írnia kell a fordításnál hogy hol.
(Pl ha van else ág, akkor azt is ki kell venni,)
Ifdef
-- (ebben az esetben is csak ez kell)
else
---
endif
Itt van a hiba:
char_item.cpp:6341: error: 'WEAR_COSTUME_WEAPON' was not declared in this scope
char_item.cpp: In member function 'bool CHARACTER::CanEquipNow(CItem*, const TIt emPos&, const TItemPos&)':
char_item.cpp:7483: error: 'COSTUME_WEAPON_SWORD' was not declared in this scope
char_item.cpp:7499: error: 'WEAR_COSTUME_WEAPON' was not declared in this scope
char_item.cpp:7502: error: 'COSTUME_WEAPON_SWORD' was not declared in this scope
char_item.cpp:7480: warning: unused variable 'itemType'
char_item.cpp:7481: warning: unused variable 'itemSubType'
char_item.cpp: In member function 'bool CHARACTER::CanUnequipNow(CItem*, const T ItemPos&, const TItemPos&)':
char_item.cpp:7621: error: 'WEAR_COSTUME_WEAPON' was not declared in this scope
gmake: *** [OBJDIR/char_item.o] Error 1
gmake: *** Waiting for unfinished jobs....
cmd_general.cpp: In function 'void do_costume(CHARACTER*, const char*, int, int) ':
cmd_general.cpp:2106: error: 'WEAR_COSTUME_WEAPON' was not declared in this scop e
gmake: *** [OBJDIR/cmd_general.o] Error 1
root@host:/usr/src/mainline/Srcs/Server/game/src #
És itt írja a hibákat/t
case POINT_COSTUME_ATTR_BONUS:
{
static BYTE abSlot[] = {
WEAR_COSTUME_BODY,
WEAR_COSTUME_HAIR,
WEAR_COSTUME_WEAPON
};
Természetesen itt írja: WEAR_COSTUME_WEAPON
char_item.cpp 6341, 7483, 7499, 7502, 7621
cmd_general.cpp 2106
Ezekben a sorokba valami szar van.
-Kivetted a makrókat rendesen?
-A leírás szerint csináltál mindent?
-Biztos hogy teljesen működőképes a leírás?
Samurai kitett témája alapján csináltam. Tegnap beraktam makrókkal, le is fordult, csak nem tudtam felvenni a fegyvert. Most nincsenek makrók, és nem is fordul le. Step, ezekbe a sorokba vannak a most berakott fegyver kosztüm rendszer.
A kiemelt sorokba van a hiba, amit ír a fordításnál.
6341:
static BYTE abSlot[] = {
WEAR_COSTUME_BODY,
WEAR_COSTUME_HAIR,
ERRE A SORRA ÍR HIBÁT > WEAR_COSTUME_WEAPON[/color]
};
7483:
ERRE A SORRA ÍR HIBÁT >if (item->GetType() == ITEM_COSTUME && item->GetSubType() >= COSTUME_WEAPON_SWORD)
{
LPITEM weapon = GetWear(WEAR_WEAPON);
if (!weapon)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You must equip weapon first"));
return false;
}
if (weapon->GetSubType() + COSTUME_WEAPON_SWORD != item->GetSubType())
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You must equip costume weapon with same type of weapon"));
return false;
}
}
7499:
if (item->GetType() == ITEM_WEAPON)
{
ERRE A SORRA ÍR HIBÁT > LPITEM weapon = GetWear(WEAR_COSTUME_WEAPON);
if (weapon)
{
if (weapon->GetSubType() - COSTUME_WEAPON_SWORD != item->GetSubType())
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You must equip weapon with same type of costume"));
return false;
}
}
}
A többi hiba is mind a betett rendszerre hibádzik.
CSATOLTAM A FÁJLOKAT EGY RARBA.
Amúgy ha jól emlékszek, akkor én is makróval raktam be először, de attól még felvette, csak ugye a skillek bebuggoltak, kivettem a makrókat, de a karik skilljei csak akkor javultak meg miután visszatettem egy mysql mentést, szerintem a player táblát (legalábbis skill oszlopot) nagyon összekutyulta.
Amúgy mivel ezek a hibák a WEAR_COSTUME_WEAPON-ra mutatnak így a common-ba nézd meg hogy ott is kivetted-e a makrókat, ha igen és szerinted jól, akkor másold be nekem.
A service.h-ba meg vedd ki a #define COSTUME_WEAPON mert ugye többet nem használjuk a makrót.
Nem szeretném elkiabálni, de lehetséges, hogy most lefordítja. A common-t kihagytam.. A témát nem zárom, biztos, hogy lesz még probléma :D
Üzenet összefésülés: 2017-06-18, 14:10:07
Lefordult minden, viszont a fegyvert most sem lehet felvenni.. :-\
Valaki? :-[
Senki se tud?