Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem, max lvl na source.


Rekomendowane odpowiedzi

Opublikowano

Witam. Od kilku dni bawie się na source, dziś postanowiłem zwiększyć max lvl do 500 tak by sprawdzić. Wszystko ładnie się skompilowało, jednak pojawiły się problemy. Game startuje, lecz po zalogowaniu się do gry już na pierwszy rzut oka nie jest dobrze.

 

1) W oknie wyboru postaci pokazuje dziwny czas gry oraz lvl, ponadto źle wyświetla status.

SS:

2797014678238921527212.png

 

 

2) Po nadaniu np. 260lvl jest okej, dale 260lvl dopóki nie lognę. Po relogu spada do 4, jak dam 261 do 5 itd. Punkty statusu oraz umiejętności zostają tak, jakbym miał ten 260lvl.

SS:

 

8315014678238921527212.png

 

 

I tak raczej nie będę z takiego lvl korzystał, ale jak już się okazało, że coś zrobiłem źle chciałbym wiedzieć co, a sam nic nie mogę dojrzeć. Może ktoś z Was będzie w stanie pomóc. ;)

Opublikowano

nie zmieniłeś w bince wartości z byte na inta / lub coś za duzo zmieniłeś bo masz dużo coś czasu gry :D

w bazie dajesz z tiny int na inta

Po zmianie na:

    INT                byLevel;

w bince w nie pokazuje w ogóle postaci na koncie, nowej stworzyć nie mogę. Nic się nie wczytuje. Czyżbym to też zrobił źle? ;d

Co do bazy, dopiero zaczynam się uczyć, nie mam pojęcia gdzie to zmienić. :P

 

edit:

 

syserr clienta nic w tym temacie nie wysypał. Nie wiem co zepsułem, jak edytowałem tylko binkę.   xD

 

Jakby ktoś miał chęci pomóc - syserr ch1:

 

SYSERR: Jul  6 21:04:37 :: ChildLoop: AsyncSQL: query failed: Table 'player.string' doesn't exist (query: SELECT name, text FROM string errno: 1146)
SYSERR: Jul  6 21:04:41 :: ReadDragonSoulTableFile: dragon_soul_table.txt load error
SYSERR: Jul  6 21:04:41 :: Boot: cannot load DragonSoulTable: locale/poland/dragon_soul_table.txt

 

SYSERR: Jul  6 21:04:59 :: GetServerLocation: location error name Nick mapindex 0 1526726898 x 651 empire 2

  syserr db:

 

SYSERR: Jul  6 21:04:35 :: Start: TABLE_POSTFIX not configured use default

SYSERR: Jul  6 21:04:35 :: DirectQuery: AsyncSQL::DirectQuery : mysql_query error: Column 'name' in field list is ambiguous
query: SELECT empire, pid, name, money, windate FROM monarch a, player b where a.pid=b.id

 

Wiem, jestem idiotą.  xD  Każdy się kiedyś uczył.

Opublikowano

 

nie zmieniłeś w bince wartości z byte na inta / lub coś za duzo zmieniłeś bo masz dużo coś czasu gry :D

w bazie dajesz z tiny int na inta

Po zmianie na:

    INT                byLevel;

w bince w nie pokazuje w ogóle postaci na koncie, nowej stworzyć nie mogę. Nic się nie wczytuje. Czyżbym to też zrobił źle? ;d

Co do bazy, dopiero zaczynam się uczyć, nie mam pojęcia gdzie to zmienić. :P

 

edit:

 

syserr clienta nic w tym temacie nie wysypał. Nie wiem co zepsułem, jak edytowałem tylko binkę.   xD

 

Jakby ktoś miał chęci pomóc - syserr ch1:

 

SYSERR: Jul  6 21:04:37 :: ChildLoop: AsyncSQL: query failed: Table 'player.string' doesn't exist (query: SELECT name, text FROM string errno: 1146)
SYSERR: Jul  6 21:04:41 :: ReadDragonSoulTableFile: dragon_soul_table.txt load error
SYSERR: Jul  6 21:04:41 :: Boot: cannot load DragonSoulTable: locale/poland/dragon_soul_table.txt

 

SYSERR: Jul  6 21:04:59 :: GetServerLocation: location error name Nick mapindex 0 1526726898 x 651 empire 2

  syserr db:

 

SYSERR: Jul  6 21:04:35 :: Start: TABLE_POSTFIX not configured use default

SYSERR: Jul  6 21:04:35 :: DirectQuery: AsyncSQL::DirectQuery : mysql_query error: Column 'name' in field list is ambiguous
query: SELECT empire, pid, name, money, windate FROM monarch a, player b where a.pid=b.id

 

Wiem, jestem idiotą.  xD  Każdy się kiedyś uczył.

 

e tam ja z tibią tylko sie bawie ale pewnie ta sama struktura

 

wiesz co dam ci zaraz kody

a co do bazy danych masz ją np jak sie łączysz przez navicat

 

to tak:

syser mówi ze brakuje ci tabeli string w bazie player z monarch wyjeb name lub zmien na name1 bo na to jeszcze fixa nie widzialem zeby ktos zrobil i wgle nie wiadomo po co to tam jest.

 

jak sie polaczysz navicatem wez baze player szukaj tiny int level i zmien na int level

w bbince masz za malo zmiany lub zle zmieniasz albo po stronie game nie zmienileś odpowiednio

zmieniałeś w tables.h? z byte na inta

 

a w bince zmieniales 

 

tak to powinno wygladać 

tables.h

typedef struct SSimplePlayer
{
	DWORD		dwID;
	char		szName[CHARACTER_NAME_MAX_LEN + 1];
	BYTE		byJob;
	int		byLevel;
	DWORD		dwPlayMinutes;
	BYTE		byST, byHT, byDX, byIQ;
	WORD		wMainPart;
	BYTE		bChangeName;
	WORD		wHairPart;
	BYTE		bDummy[4];
	long		x, y;
	long		lAddr;
	WORD		wPort;
	BYTE		skill_group;
} TSimplePlayer;
typedef struct SPlayerTable
{
	DWORD	id;

	char	name[CHARACTER_NAME_MAX_LEN + 1];
	char	ip[IP_ADDRESS_LENGTH + 1];

	WORD	job;
	BYTE	voice;

	int	level;
	BYTE	level_step;
	short	st, ht, dx, iq;

	DWORD	exp;
	INT		gold;

	BYTE	dir;
	INT		x, y, z;
	INT		lMapIndex;

	long	lExitX, lExitY;
	long	lExitMapIndex;

	short       hp;
	short       sp;

	short	sRandomHP;
	short	sRandomSP;

	int         playtime;

	short	stat_point;
	short	skill_point;
	short	sub_skill_point;
	short	horse_skill_point;

	TPlayerSkill skills[SKILL_MAX_NUM];

	TQuickslot  quickslot[QUICKSLOT_MAX_NUM];

	BYTE	part_base;
	WORD	parts[PART_MAX_NUM];

	short	stamina;

	BYTE	skill_group;
	long	lAlignment;
	char	szMobile[MOBILE_MAX_LEN + 1];

	short	stat_reset_count;

	THorseInfo	horse;

	DWORD	logoff_interval;

	int		aiPremiumTimes[PREMIUM_MAX_NUM];
} TPlayerTable;

binka:

packet.h

typedef struct SSimplePlayerInformation
{
    DWORD               dwID;
    char                szName[CHARACTER_NAME_MAX_LEN + 1];
    BYTE                byJob;
    int                byLevel;
    DWORD               dwPlayMinutes;
    BYTE                byST, byHT, byDX, byIQ;
//	WORD				wParts[CRaceData::PART_MAX_NUM];
    WORD                wMainPart;
    BYTE                bChangeName;
	WORD				wHairPart;
    BYTE                bDummy[4];
	long				x, y;
	LONG				lAddr;
	WORD				wPort;
	BYTE				bySkillGroup;
} TSimplePlayerInformation;

a tak btw chyba jest gdzies w necie juz tutorial o tym.

ja ci gotowca nie dam bo dopiero co zainstalowalem sobie freebsd no chyba ze wieczorkiem

Opublikowano

Teraz to całkiem.

Po wybraniu postaci wywala do logowania.

Podczas Tworzenia nowej "Nie możesz stworzyć postaci" jakiego nicku bym nie wpisał. 

PS

8940314679041271527212.png a postać ma ustawiony 105lvl.  :((

Opublikowano

Teraz to całkiem.

Po wybraniu postaci wywala do logowania.

Podczas Tworzenia nowej "Nie możesz stworzyć postaci" jakiego nicku bym nie wpisał. 

PS

8940314679041271527212.png a postać ma ustawiony 105lvl.  :((

zmieniałeś w char.cpp itp?

jeżeli ci zalezy to jutro ci wysle na pw full lvl z screnami ze dziala

+ całe kody które zmieniałem

 

char.cpp

zmieniasz na

void CHARACTER::SetLevel(int level)
{
m_points.level = level;

if (IsPC())
{
if (level < PK_PROTECT_LEVEL)
SetPKMode(PK_MODE_PROTECT);
else if (GetGMLevel() != GM_PLAYER)
SetPKMode(PK_MODE_PROTECT);
else if (m_bPKMode == PK_MODE_PROTECT)
SetPKMode(PK_MODE_PEACE);
}
}

dalej lecisz char.h

		void			SetLevel(int level);

		int                     GetGMLevel() const;

typedef struct character_point
{
	long			points[POINT_MAX_NUM];

	BYTE			job;
	BYTE			voice;

	int			level;
	DWORD			exp;
	long			gold;

	int				hp;
	int				sp;

	int				iRandomHP;
	int				iRandomSP;

	int				stamina;

	BYTE			skill_group;
} CHARACTER_POINT;
	int			gm_level;

common/lenght.h

	PLAYER_MAX_LEVEL_CONST	= 300, //tu dajesz sobie jaki max lvl potem mozesz ustawic w configu channela

i tyle chyba tyle jutro wysle ci jakby ci nie dzialalo na priv

 

 

 

ZAPOMNIAŁEM ZE JESZCZE TO W CHAR.CPP

INT CHARACTER::GetGMLevel() const
{
	if (test_server)
		return GM_IMPLEMENTOR;
	return m_pointsInstant.gm_level;
}
Opublikowano

 

Teraz to całkiem.

Po wybraniu postaci wywala do logowania.

Podczas Tworzenia nowej "Nie możesz stworzyć postaci" jakiego nicku bym nie wpisał. 

PS

8940314679041271527212.png a postać ma ustawiony 105lvl.  :((

zmieniałeś w char.cpp itp?

jeżeli ci zalezy to jutro ci wysle na pw full lvl z screnami ze dziala

+ całe kody które zmieniałem

 

char.cpp

zmieniasz na

void CHARACTER::SetLevel(int level)
{
m_points.level = level;

if (IsPC())
{
if (level < PK_PROTECT_LEVEL)
SetPKMode(PK_MODE_PROTECT);
else if (GetGMLevel() != GM_PLAYER)
SetPKMode(PK_MODE_PROTECT);
else if (m_bPKMode == PK_MODE_PROTECT)
SetPKMode(PK_MODE_PEACE);
}
}

dalej lecisz char.h

		void			SetLevel(int level);

		int                     GetGMLevel() const;

typedef struct character_point
{
	long			points[POINT_MAX_NUM];

	BYTE			job;
	BYTE			voice;

	int			level;
	DWORD			exp;
	long			gold;

	int				hp;
	int				sp;

	int				iRandomHP;
	int				iRandomSP;

	int				stamina;

	BYTE			skill_group;
} CHARACTER_POINT;
	int			gm_level;

common/lenght.h

	PLAYER_MAX_LEVEL_CONST	= 300, //tu dajesz sobie jaki max lvl potem mozesz ustawic w configu channela

i tyle chyba tyle jutro wysle ci jakby ci nie dzialalo na priv

 

 

 

ZAPOMNIAŁEM ZE JESZCZE TO W CHAR.CPP

INT CHARACTER::GetGMLevel() const
{
	if (test_server)
		return GM_IMPLEMENTOR;
	return m_pointsInstant.gm_level;
}

 

Poprawiłem to czego nie miałem i dalej dzieje się to samo, już nic z tego nie rozumiem.

Opublikowano

@1361622928-U485574.pngMyrcz

jak masz kopie kodu to zmień na nowy i dodaj to co ja podałem i  zobacz czy działa bo coś mi sie zdaje ze ty coś zle zmieniłeś zaraz sam sprawdze i pokaze ss zw.

Wrzuciłem kopie, zmieniłem tylko to co podałeś i dalej te same błędy co na początku. Czyli lvl i czas gry z dupy itp.

Opublikowano

 

@1361622928-U485574.pngMyrcz

jak masz kopie kodu to zmień na nowy i dodaj to co ja podałem i  zobacz czy działa bo coś mi sie zdaje ze ty coś zle zmieniłeś zaraz sam sprawdze i pokaze ss zw.

Wrzuciłem kopie, zmieniłem tylko to co podałeś i dalej te same błędy co na początku. Czyli lvl i czas gry z dupy itp.

 

kompilowałeś game/db binke?

Opublikowano

 

 

@1361622928-U485574.pngMyrcz

jak masz kopie kodu to zmień na nowy i dodaj to co ja podałem i  zobacz czy działa bo coś mi sie zdaje ze ty coś zle zmieniłeś zaraz sam sprawdze i pokaze ss zw.

Wrzuciłem kopie, zmieniłem tylko to co podałeś i dalej te same błędy co na początku. Czyli lvl i czas gry z dupy itp.

 

kompilowałeś game/db binke?

 

No jakbym nie skompilował to bym nie wiedział, że nie działa... Aż taki idiota ze mnie nie jest, żeby nie skompilować i pisać, że nie działa.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...