Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Need some help - New Quest format? or is it something else?

Junior Spellweaver
Joined
May 10, 2007
Messages
123
Reaction score
31
Greetings,

I am being brave here and reaching out for some help. I don't typically post for help here on RZ as it's changed a lot since the times I started back in 2008. If anyone feels generous enough to provide any feedback that would be very helpful. I have been working and investigating this for some time now so it's not like I have not researched the forums for help and the reason for reaching out to anyone else who has possibly come across what I am experiencing.It has to do with quests in the "new" system. I have already researched the new INT configs and yes they are changed from back in the good old days. I have implemented those changes to the 2017 core files (just to test and get to know the newer systems). I will start off with what I have in terms of files both on client and server.First off I did a test by NOT updating the databases with the new query that is supposed to be run. I am talking about this one:


Code:
USE [kal_auth]ALTER TABLE Login ADD PWD2ND int NOT NULL DEFAULT 0USE [kal_db]ALTER TABLE Player ADD HonorPoint int NOT NULL DEFAULT 0ALTER TABLE Player ADD HonorKill int NOT NULL DEFAULT 0ALTER TABLE Player ADD HonorDeath int NOT NULL DEFAULT 0ALTER TABLE Player ADD DKPTotal int NOT NULL DEFAULT 0ALTER TABLE Player ADD DKPWin int NOT NULL DEFAULT 0ALTER TABLE Player ADD PLTotal int NOT NULL DEFAULT 0ALTER TABLE Player ADD PLWin int NOT NULL DEFAULT 0ALTER TABLE Player ADD SVTotal int NOT NULL DEFAULT 0ALTER TABLE Player ADD SVWin int NOT NULL DEFAULT 0ALTER TABLE Player ADD RewardPoint int NOT NULL DEFAULT 0ALTER TABLE Player ADD EmokDay int NOT NULL DEFAULT 0ALTER TABLE Player ADD EmokTime int NOT NULL DEFAULT 0ALTER TABLE Item ADD PetTime int NOT NULL DEFAULT 0ALTER TABLE Item ADD ItemStat int NOT NULL DEFAULT 0ALTER TABLE Item ADD Lock varchar(16) NOT NULL DEFAULT 'nopwd'ALTER TABLE Quest ADD QuestTime int NOT NULL DEFAULT 0ALTER TABLE Quest ADD QuestRepeat int NOT NULL DEFAULT 0ALTER TABLE Quest ADD MonsterCount int NOT NULL DEFAULT 0

First here are some excerpts from my files (nothing new...these are basic quests from INT).
On the client config.pk and namely the Task.dat file:

spicman - Need some help - New Quest format? or is it something else? - RaGEZONE Forums

My InitNPC.txt (just the first quest NPC I am showing here) Chun-Sooin:


spicman - Need some help - New Quest format? or is it something else? - RaGEZONE Forums




My Quest.txt for this quest (9001):



spicman - Need some help - New Quest format? or is it something else? - RaGEZONE Forums


So what I decided to do first is NOT update my databases with the query so they look like this:



spicman - Need some help - New Quest format? or is it something else? - RaGEZONE Forums



I go ahead and create a brand new character and login to the system and then immediately check my database and it has been updated as expected:



spicman - Need some help - New Quest format? or is it something else? - RaGEZONE Forums




And if I press Q for my Quest Log this is what I have:



spicman - Need some help - New Quest format? or is it something else? - RaGEZONE Forums




Great, if I go to Chun-Sooin I get the whole cinematic scene etc etc and all is working as it should.Now if I go ahead and update my tables with the query:


spicman - Need some help - New Quest format? or is it something else? - RaGEZONE Forums
spicman - Need some help - New Quest format? or is it something else? - RaGEZONE Forums




I create a brand new character and then login to the system and check my Quest table I don't have any updates there:



spicman - Need some help - New Quest format? or is it something else? - RaGEZONE Forums




As expected, because of this I have nothing show up when I press Q for my Quest log:



spicman - Need some help - New Quest format? or is it something else? - RaGEZONE Forums



If I go ahead and delete the added columns from the Quest table (QuestTime, QuestRepeat, MonsterCount) and try again, I am back in business again. Now I understand these are required for repeatable quest etc. But I am puzzled why this is happening. Do I have the correct query or is it something to do with the way I have my files and need to modify them slightly in order for the quests to work once again?

Although most quests work when the query is not run. There are some that still don't work like Boatman Gwang-Chun that the prophet in Narootuh asks you to go talk to.
I am looking for any help or clues. Also because of the new query and new core plugin files would Data.dll on the server side have a role here?
Well that's it...sorry for the BIG post. I thought if I had a problem I would be as detailed as possible to better show and explain the complete situation.
Thanks for anyone that does actually help out!
Cheers!
 
off@kal. - on@gw2/d3 :)
Joined
May 30, 2009
Messages
772
Reaction score
480
without running query, the quests failed to save flags to db. About the repeatable quests....I'm out, didnt quite look at those yet.

oh, ye checked it myself now

if (Type == 91)
{
int PID = 0, Quest = 0, Time = 0, Repeat = 0, Count = 0;
xCDB dbItem;
CDB(&dbItem);
Read((char *)pPos, (unsigned int)"ddddd", &PID, &Quest, &Repeat, &Count, &Time);

if (PID && Quest)
{
Execute((SQLHSTMT*)&dbItem, "UPDATE Quest SET [QuestTime] = %d, [QuestRepeat] = %d, [MonsterCount] = %d WHERE [PID] = %d AND [Quest] = %d", Time, Repeat, Count, PID, Quest);
Execute((SQLHSTMT*)&dbItem, "UPDATE Quest SET [QuestTime] = %d, [QuestRepeat] = %d, [MonsterCount] = %d WHERE [PID] = %d AND [Quest] = %d", Time, Repeat, Count, PID, Quest);
Execute((SQLHSTMT*)&dbItem, "UPDATE Quest SET [QuestTime] = %d, [QuestRepeat] = %d, [MonsterCount] = %d WHERE [PID] = %d AND [Quest] = %d", Time, Repeat, Count, PID, Quest);
}

return FreeCDB(&dbItem);
}

if (Type == 92)
{
int PID = 0; DWORD QuestID = 0, QuestClear = 0, QuestTime = 0, QuestRepeat = 0, MonsterCount = 0;
xCDB ydbItem;
CDB(&ydbItem);
Read((char *)pPos, (unsigned int)"d", &PID);

if (PID)
{
BindDword(&ydbItem, &QuestID);
BindDword(&ydbItem, &QuestClear);
BindDword(&ydbItem, &QuestTime);
BindDword(&ydbItem, &QuestRepeat);
BindDword(&ydbItem, &MonsterCount);

if (Execute((SQLHSTMT*)&ydbItem, "SELECT TOP 100 [Quest], [Clear], [QuestTime], [QuestRepeat], [MonsterCount] FROM Quest WHERE [PID] = %d", PID))
{
while (Fetch(&ydbItem))
{
if (QuestID)
{
Sleep(5);
ServerSend((int)Socket, 56, "dddddd", PID, QuestID, QuestClear, QuestTime, QuestRepeat, MonsterCount);
}
}
}
}

return FreeCDB(&ydbItem);
}
 
Upvote 0
Experienced Elementalist
Joined
Sep 29, 2008
Messages
224
Reaction score
436
USE [kal_auth]
ALTER TABLE Login ADD PWD2ND int NOT NULL DEFAULT 0
USE [kal_db]
ALTER TABLE Player ADD HonorPoint int NOT NULL DEFAULT 0
ALTER TABLE Player ADD HonorKill int NOT NULL DEFAULT 0
ALTER TABLE Player ADD HonorDeath int NOT NULL DEFAULT 0
ALTER TABLE Player ADD DKPTotal int NOT NULL DEFAULT 0
ALTER TABLE Player ADD DKPWin int NOT NULL DEFAULT 0
ALTER TABLE Player ADD PLTotal int NOT NULL DEFAULT 0
ALTER TABLE Player ADD PLWin int NOT NULL DEFAULT 0
ALTER TABLE Player ADD SVTotal int NOT NULL DEFAULT 0
ALTER TABLE Player ADD SVWin int NOT NULL DEFAULT 0
ALTER TABLE Player ADD RewardPoint int NOT NULL DEFAULT 0
ALTER TABLE Player ADD EmokDay int NOT NULL DEFAULT 0
ALTER TABLE Player ADD EmokTime int NOT NULL DEFAULT 0
ALTER TABLE Item ADD PetTime int NOT NULL DEFAULT 0
ALTER TABLE Item ADD ItemStat int NOT NULL DEFAULT 0
ALTER TABLE Item ADD Lock varchar(16) NOT NULL DEFAULT 'nopwd'
ALTER TABLE Quest ADD QuestTime int NOT NULL DEFAULT 0
ALTER TABLE Quest ADD QuestRepeat int NOT NULL DEFAULT 0
ALTER TABLE Quest ADD MonsterCount int NOT NULL DEFAULT 0

just run the query, u need the columbs in quest table... also be sure that u r using correct data.dll
about event, i never noticed it or none told me it. easyly can be fix but i am not going to help about it (maybe at pm to spicman thats all not spam me)
 
Last edited by a moderator:
Upvote 0
Back
Top