Wolfman weapon bug (m)

Indította isolator05, 2015-02-18, 10:12:10

Üdv.
Van egy nagy problémám. A farkasember a fegyvereket csak 1 kézbe tartja.


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 segítettem ne sajnáld a + t.

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.

2015-02-19, 08:25:04 #2 Utolsó szerkesztés: 2015-02-19, 08:50:16 Szerző: isolator05
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.
Ha segítettem ne sajnáld a + t.

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 :)
Ha segítettem ne sajnáld a + t.

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.
Ha segítettem ne sajnáld a + t.

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?
Ha segítettem ne sajnáld a + t.

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.
Ha segítettem ne sajnáld a + t.

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.
Ha segítettem ne sajnáld a + t.

Ez felel azért, hogy tudd fejleszteni a képességét:
Kód (char_skill.cpp) Kijelölés
bool CHARACTER::CanUseSkill(DWORD dwSkillVnum) const

Nomeg ez:
Kód (char_skill.cpp) Kijelölés
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:
Kód (char.cpp) Kijelölés
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.
Ha segítettem ne sajnáld a + t.

2015-02-20, 20:43:21 #14 Utolsó szerkesztés: 2015-02-20, 20:51:01 Szerző: [VIP]P3NG3R
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 :)
Ha segítettem ne sajnáld a + t.