azerothcore-wotlk icon indicating copy to clipboard operation
azerothcore-wotlk copied to clipboard

Repeat Tips for Beginners Tutorial

Open cjl3230 opened this issue 2 years ago • 20 comments

Current Behaviour

players need to complete turorials everytime they log in.

Expected Blizzlike Behaviour

Tutorials completed by all players no longer appear

Source

No response

Steps to reproduce the problem

1.Create a character and complete tutorials. 2.Re-login will continue to prompt the novice tutorial

Extra Notes

No response

AC rev. hash/commit

70f3891352744ede66b12c3e1b2e52d3d5794564

Operating system

Windows 10 x64

Custom changes or Modules

No response

cjl3230 avatar Jun 07 '22 01:06 cjl3230

I can confirm this happens also on chromiecraft live server and has to be fixed also camera position on newly created character appears not right behind of newly created character.

Saikur0n avatar Jun 08 '22 07:06 Saikur0n

also camera position on newly created character appears not right behind of newly created character.

That's already been reported here.

heyitsbench avatar Jun 08 '22 07:06 heyitsbench

also camera position on newly created character appears not right behind of newly created character.

That's already been reported here.

Yeah, I know. I have submitted this issue on chromiecraft and this simple issue is still hasn't been fixed. :D It is so fun to see that on warmane it is fixed and some other bugs also fixed, but on chromiecraft some other bugs fixed, while on warmane they aren't. :D But I like the way azerothcore is going even if in slow pace. ;)

Saikur0n avatar Jun 09 '22 06:06 Saikur0n

@Saikur0n That's because a lot of private servers don't release their fixes to the public, and that's why so many fixes in a lot of private servers are fragmented. You can find a video that talks about it here: https://www.youtube.com/watch?v=YIiGOgNdGts

Gultask avatar Jun 10 '22 17:06 Gultask

@cjl3230 Do you have your client/WTF files set to read-only? Placing the client folder in ProgramFiles may also cause problems like these. It works fine for me.

Gultask avatar Jun 10 '22 20:06 Gultask

@Gultask I'm sure the entire World of Warcraft client folder is not read-only. And not in the ProgramFiles directory

cjl3230 avatar Jun 11 '22 17:06 cjl3230

I have no issues with the tutorials. Completing the first one you get and logging out and back in does not trigger the same tutorial. The tutorial flag is account-specific and not character-specific so even new characters on the same account won't trigger the tutorial a second time.

The flag is set in the config-cache.wtf file inside the WTF/Account/<AccountName> folder so perhaps you should look to make sure it's not read-only or perhaps you're removing it somehow.

I highly doubt AzerothCore has any control of the tutorials since if you remove the config-cache.wtf file it will trigger the tutorials again. If AC could control it, there wouldn't be a tutorial after removing that file.

noisiver avatar Jun 11 '22 19:06 noisiver

@tkn963 This is not the case, and when I connect to my local trinitycore server, the tutorial is normal. It does not repeat.It is repeated on the azerothcore server. @Gultask So I'm sure it's a server-side problem

cjl3230 avatar Jun 12 '22 13:06 cjl3230

I have no issues with the tutorials. Completing the first one you get and logging out and back in does not trigger the same tutorial. The tutorial flag is account-specific and not character-specific so even new characters on the same account won't trigger the tutorial a second time.

The flag is set in the config-cache.wtf file inside the WTF/Account/<AccountName> folder so perhaps you should look to make sure it's not read-only or perhaps you're removing it somehow.

I highly doubt AzerothCore has any control of the tutorials since if you remove the config-cache.wtf file it will trigger the tutorials again. If AC could control it, there wouldn't be a tutorial after removing that file.

@tkn963 I confirmed that the entire directory is read-write (not read-only) including the config-cache.wtf file. Are you connecting to azerothcore server? What is the hash rev?

cjl3230 avatar Jun 12 '22 13:06 cjl3230

@Gultask @tkn963 In my case, my entire folder of wow also is not read-only and also all files and subfolders is in read-write permission. Completing first one tutorials like Quest givers, Combat Mode, Looting, Backpack, Ding, Player Status etc... and logging out (exiting the game completely). I mean don't logout to the character selection screen, in this case tutorial tips won't pop out, but logout completely from the account and log in again typing your password to your account and enter the world with the same character and you should see beginners tutorial tips pops out again and if you press "next" arrow, tips will loop several times in strange order also. This is weird behavior, for example if some newbie tries to play on your server. I know this could be so rare case and most players disable tips immediately. For example I want to see all in game tutorials while I play the game, just for curiosity. ^ ^ I know, I am a strange guy. This problem is happening on the ChromieCraft live server. May be in the future I will also contribute in coding some scripts and trying fixing something like this, but I don't know C++, I know Java, JS, C basics. :) Just studying and in learning process.

But returning to the problem, when I change realm to Warmane server, previously deleting Account folder in WTF folder, that has been created by chromiecraft login server. On Warmane server I don't see such weird tutorial tips behavior. Tips that has been completed doesn't appear again on the same character, but also on other characters on the account. I assume this is Chromiecraft - AzerothCore server side problem. May be they don't have entry in their database that tutorials have been read and values in config-cache.wtf doesn't sync with those DB entries. Just my assumption, I don't know anything about emulation of wow. :D

Just try to reproduce this problem on live ChromieCraft server.

Saikur0n avatar Jun 12 '22 15:06 Saikur0n

@tkn963 This is not the case, and when I connect to my local trinitycore server, the tutorial is normal. It does not repeat.It is repeated on the azerothcore server. @Gultask So I'm sure it's a server-side problem

I agree with you, I assume that Warmane server is based on TrinityCore and thus thus they don't have such problem.

Saikur0n avatar Jun 12 '22 15:06 Saikur0n

@Gultask @tkn963 config-cache.wtf file has "flaggedTutorials" entry which indicates that Internal cvar for saving completed tutorials in order...It is successfully created and saved by game session, but after exiting this game session and entering to the game again, the tutorials repeat itself even if file exist and has entries that created by previous session. I assume AzerothCore server doesn't read this values and restarts Tutorials from the beginning.

Saikur0n avatar Jun 12 '22 16:06 Saikur0n

@tkn963 On Warmane server, even after deleting manually file config-cache.wtf from the Account folder, tutorial tips doesn't reappear in game on that server. I am sure on 100% that problem on AzerothCore server.

Saikur0n avatar Jun 12 '22 17:06 Saikur0n

https://github.com/azerothcore/azerothcore-wotlk/blob/491f73382b4620d91fcd0cc47459f6b5f9c2aabc/src/server/game/Server/WorldSession.cpp#L920

LoadTutorialsData is never called.I think the problem is that the server does not read the information from the database and send it to the client.

cjl3230 avatar Jun 13 '22 00:06 cjl3230

I am not having issues with the tutorials regardless. There is a reason why it's repeating, for some people, and I had no idea there was actually meant to be a flag saved to the database. I never had that issue with any core at any point in time, in fact, no matter how many years you go back.

After your comments I did look more closely and did find this in the account_data table that does make it clear that you're correct in that it should be sent by the server. For that I stand corrected. The value saved is the same one I see in client-cache.wtf.

image

noisiver avatar Jun 13 '22 02:06 noisiver

Hope the problem will be fixed on ChromieCraft as soon as possible.

Saikur0n avatar Jun 13 '22 03:06 Saikur0n

image

@Gultask @tkn963 @Saikur0n I add LoadTutorialsData() in void WorldSession::SendTutorialsData() and it works fine. But I'm not particularly familiar with the business logic of azerothcore, so I'm just giving a possible solution to the problem. This change works fine on my client.

cjl3230 avatar Jun 13 '22 07:06 cjl3230

@cjl3230 Thank you for sharing your solution. ^ ^ May be it will be the hint to devs for fixing problem. I have compared AzerothCore's this part of Code and Trinity Core similar part of Code, but they are not identical. The code is bit different in each core even if methods name same.

Trinity core in this part of code: -> void WorldSession::LoadTutorialsData(PreparedQueryResult result)

accepts object 'PreparedQueryResult result' in the method and use it in conditional statement

While AzerothCore in this part of code: -> void WorldSession::LoadTutorialsData()

doesn't accept any object in this method, but it utilizes this "PreparedQueryResult result" object inside of method logic assigning to it Queried object from DB.

Hope devs of ChromieCraft pay attention to this soon. :D

Saikur0n avatar Jun 13 '22 09:06 Saikur0n

The problem is still not fixed on the live ChromieCraft server. : (

Saikur0n avatar Jul 27 '22 10:07 Saikur0n

The problem is still not fixed on the live ChromieCraft server. : (

yes, not fixed yet

cjl3230 avatar Jul 28 '22 07:07 cjl3230