Üdv.
Van egy nagy problémám. A farkasember a fegyvereket csak 1 kézbe tartja.
(https://board.ddmt2.net/proxy.php?request=http%3A%2F%2Fkepfeltoltes.hu%2F150218%2F762245852N_vtelen_www.kepfeltoltes.hu_.jpg&hash=d0b58fa072395f7e8ca6fb404815dda23e3e40e7)
Olvastam olyat hogy a subtype-t változtassam meg 7-re 8-ról. De ez érdekes lenne, mert txt használok. A db meg 8-nak olvassa be. A kliens oldalon viszont nem tudom, hogy a bin-be hol kellene változtatnom hogy kétkezes legyen.
Ha forráskódot használsz, akkor keresd ki ezt...
enum EWeaponSubTypes
{
WEAPON_SWORD,
WEAPON_DAGGER,
WEAPON_BOW,
WEAPON_TWO_HANDED,
WEAPON_BELL,
WEAPON_FAN,
WEAPON_ARROW,
WEAPON_CLAW,
WEAPON_NUM_TYPES,
WEAPON_NONE = WEAPON_NUM_TYPES+1,
};
gamelib/itemdata.h
és szerkesszed át erre
enum EWeaponSubTypes
{
WEAPON_SWORD,
WEAPON_DAGGER, //Ŕ̵µ·ů
WEAPON_BOW,
WEAPON_TWO_HANDED,
WEAPON_BELL,
WEAPON_FAN,
WEAPON_ARROW,
WEAPON_NUM_TYPES,
WEAPON_CLAW,
WEAPON_NONE = WEAPON_NUM_TYPES+1,
};
Itt a NUM_TYPES után van a claw, így majd két kézbe fogja érzékelni a fegyvert.
1000 szeres hála érte. Megy a plusz. Még sajna van 2 kérdésem amit nem értek:
1.
Hogyan lehet megvalósítani, hogy a női kasztnál ne legyen wolfman? Tehát a férfi az 5 kasz a női meg 4 kaszt csak a kari választásnál? Csak azt sem tudom mi a felelős érte. A szerver vagy a kliens oldal.
2.
A skill-ekre nem tudok pontot rakni. A játék megadot 104pontot, megvannak a skillek és mellete ott a + jel, csak mikor rányomok akkor nem történik semmi.
Pythonban kell azt szerkeszteni... Annyira még ezzel a részével nem foglalkoztam, de majd ránézek kicsit később, és ha megtalálom akkor leírom. De itt kell keresgélni "introcreate.py"
köszönöm hogy segítesz te is Pisti :)
Próbáld ki, hogy ezt sort:
self.__MakeCharacter(1, 4, playerSettingModule.RACE_WOLFMAN_M)
Ebből a tömbböl:
self.__MakeCharacter(0, 0, playerSettingModule.RACE_WARRIOR_M)
self.__MakeCharacter(0, 1, playerSettingModule.RACE_ASSASSIN_M)
self.__MakeCharacter(0, 2, playerSettingModule.RACE_SURA_M)
self.__MakeCharacter(0, 3, playerSettingModule.RACE_SHAMAN_M)
self.__MakeCharacter(0, 4, playerSettingModule.RACE_WOLFMAN_M)
self.__MakeCharacter(1, 0, playerSettingModule.RACE_WARRIOR_W)
self.__MakeCharacter(1, 1, playerSettingModule.RACE_ASSASSIN_W)
self.__MakeCharacter(1, 2, playerSettingModule.RACE_SURA_W)
self.__MakeCharacter(1, 3, playerSettingModule.RACE_SHAMAN_W)
self.__MakeCharacter(1, 4, playerSettingModule.RACE_WOLFMAN_M) --nem csaj karakter
Erre módosítod:
self.__MakeCharacter(0, 0, playerSettingModule.RACE_WARRIOR_M)
self.__MakeCharacter(0, 1, playerSettingModule.RACE_ASSASSIN_M)
self.__MakeCharacter(0, 2, playerSettingModule.RACE_SURA_M)
self.__MakeCharacter(0, 3, playerSettingModule.RACE_SHAMAN_M)
self.__MakeCharacter(0, 4, playerSettingModule.RACE_WOLFMAN_M)
self.__MakeCharacter(1, 0, playerSettingModule.RACE_WARRIOR_W)
self.__MakeCharacter(1, 1, playerSettingModule.RACE_ASSASSIN_W)
self.__MakeCharacter(1, 2, playerSettingModule.RACE_SURA_W)
self.__MakeCharacter(1, 3, playerSettingModule.RACE_SHAMAN_W)
#self.__MakeCharacter(1, 4, playerSettingModule.RACE_WOLFMAN_M) --nem csaj karakter
Ha ez után is ott az űr, akkor máshoz is hozzá kell nyúlni. ;)
Megtörtént. Most karakter nélküli slot van ott.
Ahogy írja pisti, így elég sok dolgot kell szerkeszteni hogyha kiakarod azt venni. Mivel az egész rendszer 5 karaktert akar betölteni oda. Tehát a pythonba is kéne szerkeszteni dolgokat, meg szerintem a binary-ba is.
Értelek.És köszi.Akkor belevetem magam.
A skill bug-al kapcsolatban nem tud senki segíteni?
Idéz2.
A skill-ekre nem tudok pontot rakni. A játék megadot 104pontot, megvannak a skillek és mellete ott a + jel, csak mikor rányomok akkor nem történik semmi.
Ez a bug. Nem lehet pontot rakni a skillekre.
Szerver oldalon nézz rá... char_skill.cpp ha jól emlékszem.
Csatoltam egy fájlt... nézz rá. Én ezeket szerkesztettem benne ha jólemlékszem. Nem biztos hogy kivan mentve minden :/
Köszönöm. Megpróbáltam, de nem hozott változást. Továbra se lehet pontot rakni a skillekre.
Ez felel azért, hogy tudd fejleszteni a képességét:
bool CHARACTER::CanUseSkill(DWORD dwSkillVnum) const
Nomeg ez:
void CHARACTER::SkillLevelUp(DWORD dwVnum, BYTE bMethod)
Ennél van 1 switch, amiből valszeg hiányzik neked egy case, bár ez a skill_proto-ban változtatható(bType).
if (bMethod == SKILL_UP_BY_POINT)
{
int idx;
switch (pkSk->dwType)
{
case 0:
idx = POINT_SUB_SKILL;
break;
case 1:
case 2:
case 3:
case 4:
case 6:
case 7: //Wolfman
idx = POINT_SKILL;
break;
case 5:
idx = POINT_HORSE_SKILL;
break;
default:
sys_err("Wrong skill type %d skill vnum %d", pkSk->dwType, pkSk->dwVnum);
return;
}
if (GetPoint(idx) < 1)
return;
PointChange(idx, -1);
}
Nem tudom neked hogy van a kasztkiosztás, de nekem így:
sys_log(0, "LEVELUP: %s %d NEXT EXP %d", GetName(), GetLevel(), GetNextExp());
// WOLFMAN ĽöŔÎÁ· ĆŻĽöĂł¸® (ĽöŔÎÁ·Ŕş Á÷±şŔĚ ÇĎłŞŔ̹ǷÎ, 5·ąş§ŔĚ µÇ¸é ą«Á¶°Ç 1ąř Á÷±şŔ¸·Î ĽłÁ¤ÇÔ. ÇϵĺÄÚµů ¤¸¤µ)
if (GetJob() == JOB_WOLFMAN && val == 5 && GetSkillGroup() == 0)
SetSkillGroup(1);
PointChange(POINT_NEXT_EXP, GetNextExp(), false);
Köszönöm.
Tényleg hiányoztak amiket küldtél P3NG3R. De még mindig ugyan az a helyzet. Inkább csatolom a char_skill-char.cpp-t hátha találtok valamit ami nem jó.
Ja és még csatolom a wolfman questet amit adtak a szerverhez.
IsLearnableSkill kimaradt :)
Próbáld ki, de nézd meg előbb mi változott.
Köszönöm szépen :)
Minden összejött végre :)