Rev Whatever --- It's the last version we used at RoseZA

Welcome in the osRose emulator Project.

Moderators: osRose dev team, ospRose dev team, osiRose dev team, Moderators

Re: Rev Whatever --- It's the last version we used at RoseZA

Postby PurpleYouko on Thu Feb 02, 2017 4:27 pm

There is no job requirement of 1 in the Skills STB
The possible entries in the "job requirement" field are
  1. 41  Soldier Job
  2. 42  Muse Job
  3. 43  Hawker Job
  4. 44  Dealer Job
  5. 46  First Job
  6. 47  Second Job
  7. 48  Third Job
  8. 51  Soldier 2nd Advanced Jobs
  9. 52  Muse 2nd Advanced Jobs
  10. 53  Hawker 2nd Advanced Jobs
  11. 54  Dealer 2nd Advanced Jobs
  12. 56  Soldier 3rd Advanced Jobs
  13. 57  Muse 3rd Advanced Jobs
  14. 58  Hawker 3rd Advanced Jobs
  15. 59  Dealer 3rd Advanced Jobs
  16. 61  Knight Job
  17. 62  Champion Job
  18. 63  Mage Job
  19. 64  Cleric Job
  20. 65  Raider Job
  21. 66  Scout Job
  22. 67  Bourgeois Job
  23. 68  Artisan Job
  24. 71  Soldier and Hawker Job
  25.  

You can't use any value less than 41. It won't be recognised in the client as a valid job requirement for the skill

I haven't tested storage yet. It's possible that it might be misaligned with the player inventory due to the addition of costumes
Need to lookup information on NARose items, skills, quests?
Now featuring a newly completed skill tree for all classes
Formatting fixed for different resolutions
Image

"A Gazelle is nothing but a giraffe plotted logarithmicaly"
User avatar
PurpleYouko
Rose Guru
Rose Guru
 
Posts: 4579
Joined: Fri Aug 10, 2007 2:05 pm

Re: Rev Whatever --- It's the last version we used at RoseZA

Postby NewMilenium on Thu Feb 02, 2017 7:50 pm

About the job requirements > Wonderful! I'll remove them again then.

Now, do you happen to know what are exactly for the "classid" of the database in "list_skills" ?

Still no tip on how to display all skills, or how to change the category of job skills so that they're displayed elsewhere..?

[Storage] Would an inventory misalignment explain the "received unknown packet" ?

[Bug] No idea on why I can't attack nor use a skill on anything most of the time?


Sorry for all those questions, but I was making much more significant progresses when you were giving me informations. The problems I have now can be found nowhere on the web, it seems.
NewMilenium
Jelly Bean
Jelly Bean
 
Posts: 32
Joined: Wed Jan 04, 2017 12:54 pm

Re: Rev Whatever --- It's the last version we used at RoseZA

Postby PurpleYouko on Thu Feb 02, 2017 10:38 pm

Now, do you happen to know what are exactly for the "classid" of the database in "list_skills" ?

What exactly do you mean by the "database" in list_skills?
We don't have any skills in databases. We load all skill data from the STBs. We haven't loaded skills from a database since rev 80 in about 2008

[Storage] Would an inventory misalignment explain the "received unknown packet" ?

Yes it quite possibly could do something weird with packets. I'm not sure about an entire unknown packet but the structure could definitely be wrong

[Bug] No idea on why I can't attack nor use a skill on anything most of the time?

I still can't explain that one.
You might want to keep up to date with that repo though. I've been working on this codebase quite a bit these last few days. I fixed teh problem with going to Zant and just today I fixed a combat issue that was crashing the server when a player died.
I also just discovered that some of the STBs in the client don't match the ones in the server so I will be adding the good ones into the server soon.
Specifically the server did not contain the right maps. No Map 71 (muris) whereas list_zones.stb in the client VFS did have it. Where there are some errors like this I suspect there will be others
Need to lookup information on NARose items, skills, quests?
Now featuring a newly completed skill tree for all classes
Formatting fixed for different resolutions
Image

"A Gazelle is nothing but a giraffe plotted logarithmicaly"
User avatar
PurpleYouko
Rose Guru
Rose Guru
 
Posts: 4579
Joined: Fri Aug 10, 2007 2:05 pm

Re: Rev Whatever --- It's the last version we used at RoseZA

Postby NewMilenium on Fri Feb 03, 2017 11:44 am

PurpleYouko wrote:What exactly do you mean by the "database" in list_skills?
We don't have any skills in databases. We load all skill data from the STBs. We haven't loaded skills from a database since rev 80 in about 2008


Well, I mean the one you provided in your server files,
Image

and so, as I followed the numerous advices and tutorials on this forum, that's one I added like others to the database,
Image


Storage > I'll wait for you see about it, I don't know what to do.


Attack bug > Yes, I'm gonna try to update the server files with yours, while not destroying the modifications I've made.

PurpleYouko wrote:I also just discovered that some of the STBs in the client don't match the ones in the server so I will be adding the good ones into the server soon.

Urg...



Edit:
//PY: No lamame!! just NO. We don't EVER have to send it here if we actually coded it properly elsewhere.. Sheesh!!
//Special cases.... Facepalm

Wonderful. The joys of coding. :roll:

Okay, I've updated ALL my server with your new files. I still have the attack issue, the skills issue, the storage issue.

I found how to display in "basic" the skills (5th column of the list_skills.STB, i've put "11"), or in PAT (32), except they replace existing skills. And as each skill has its own placement, and as there are like 20 different tabs (3 per class, 1 per subclass, something like that), skills replace each other when done that way.
So I need to simply add tabs, ideally I would just need to be able to display ALL jobs tabs.

I think it involves modifying lines 381 to 418 in playerdata.cpp ... I have no idea how though...
  1. //class skills.
  2.     good_family=0;
  3.     for(UINT i=0;i<MAX_CLASS_SKILL;i++)
  4.     {
  5.         coff[i]=-1;
  6.         char* tmp=strtok((i==0?row[21]:NULL), ",");
  7.         if (tmp==NULL)
  8.             continue;
  9.  
  10.         int temp=atoi(tmp);
  11.         if (temp==0)
  12.             continue;
  13.         int indexfamily=GoodSkill(temp);
  14.         if (indexfamily==-1)
  15.         {
  16.             Log(MSG_WARNING,"Incorrect skill detected %i",temp);
  17.             do_save=true;
  18.             continue;
  19.         }
  20.  
  21.         if (indexfamily!=good_family)
  22.         {
  23.             Log(MSG_WARNING,"Skill %i should be in family %s instead of family %s",temp,tab_names[indexfamily],tab_names[good_family]);
  24.             do_save=true;
  25.         }
  26.  
  27.         if(cur_cskills[indexfamily]>=max_skills[indexfamily])
  28.         {
  29.             Log(MSG_WARNING,"Already too much skills in family %s, no room for skill %i",tab_names[indexfamily],temp);
  30.             do_save=true;
  31.             continue;
  32.         }
  33.  
  34.         cskills[cur_cskills[indexfamily]].id=temp;
  35.         cskills[cur_cskills[indexfamily]].level=1;
  36.         coff[i]=cur_cskills[indexfamily];
  37.         cur_cskills[indexfamily]++;
  38.     }
NewMilenium
Jelly Bean
Jelly Bean
 
Posts: 32
Joined: Wed Jan 04, 2017 12:54 pm

Re: Rev Whatever --- It's the last version we used at RoseZA

Postby PurpleYouko on Fri Feb 03, 2017 3:28 pm

the code you posted there is only used to load your current skills from your save file.
If you modify this code in any way you are more than likely going to break all your save files and make all your characters unplayable as your worldserver will almost certainly crash on loading the character.

That's some very delicate code there. The slightest change can have some really nasty side effects. Believe me, whatever it is you are trying to achieve (and I'm still not entirely sure what that is) changing code here isn't going to fix it.

If all you want to do is remove all job requirements from skills then all you have to do is remove the job requirements in the STB. After that, they ALL become "basic skills" and nothing will ever be saved or loaded through the "class skills" section again. The very definition of "Basic" skills are that there is no job requirement for them

As to the skills database table. It's a red herring. Don't go chasing that thing. You might as well delete it completely since we don't use it.
You have to remember this was a server that we all threw together from bit of this and bits of that. Pretty much everything was just thrown in there with the intention of sorting it all out later. Later never came though since roseZA stopped running a couple of weeks after starting the project.
I had all but forgotten it myself until i decided to prune all useless junk from my hard drive and came across it again. There are literally tons of useless files in this thing. I will gradually be removing them from the repo as i go through them all bit by bit. For now though I'm not yet sure of all the files that can be removed. List_skills.sql is definitely one of them though. It's a 10+ year old legacy code file that we do not use for anything

I see you found some of my comments.
That particular one comes from the middle of the QSD handling code where the old code was sending an 0x0730 packet to the client under certain very precise circumstances. It was a bad place to be doing that. No packet should ever be sent from that part of the code. They should all be handled from some place in WorldPackets.cpp where they can be run outside the main loop. Sending that 0x0730 in that location was breaking fetch quests and occasionally sending an extra packet where one wasn't needed so that it would go through the entire QSD handler twice on a monster death instead of just once like it should.
Need to lookup information on NARose items, skills, quests?
Now featuring a newly completed skill tree for all classes
Formatting fixed for different resolutions
Image

"A Gazelle is nothing but a giraffe plotted logarithmicaly"
User avatar
PurpleYouko
Rose Guru
Rose Guru
 
Posts: 4579
Joined: Fri Aug 10, 2007 2:05 pm

Re: Rev Whatever --- It's the last version we used at RoseZA

Postby PurpleYouko on Fri Feb 03, 2017 3:54 pm

Before : I removed all jobs requirements in the STB and put classid=0 in the database. I could learn all skills, none would be displayed anywhere.


Did you try looking in the basic skills section of the skills window?
Same place that you will find pickup and sit down
Need to lookup information on NARose items, skills, quests?
Now featuring a newly completed skill tree for all classes
Formatting fixed for different resolutions
Image

"A Gazelle is nothing but a giraffe plotted logarithmicaly"
User avatar
PurpleYouko
Rose Guru
Rose Guru
 
Posts: 4579
Joined: Fri Aug 10, 2007 2:05 pm

Re: Rev Whatever --- It's the last version we used at RoseZA

Postby NewMilenium on Fri Feb 03, 2017 3:55 pm

Re: KTRose Source code release

Post by NewMilenium on Thu Jan 05, 2017 9:02 pm

Hello,

(i tried to post this in a new topic but it seems it won't work)

I'm quite a beginner in all involved tasks here, but I learnt last 2 days, in order to setup a local ktrose server. Ultimately, my goal is to change all skills to remove the class requirements and change xp and drop rates to play again that old game alone or with close family in LAN.





Re: KTRose Source code release

Post by NewMilenium on Fri Jan 06, 2017 7:14 pm


Now I'll start messing around with XP rate, Drop rates, and then...... I'll try removing class requirements to skills.
I'll make this game classless (and solo / coop). :D








Re: KTRose Source code release

Postby NewMilenium on Sat Jan 07, 2017 6:50 pm
In case anyone comes by...

===| Things solved and how : |===

I managed to remove all job requirements in skills. It wasn't complicated, it is in 3 steps :
1) I removed all values of the column 35 in LIST_SKILL.STB ,
2) copy-pasted it to the client,
3) in the dabatase, in skills_data, there is a column "class" where values are like "62|0|0|0|0", i've put the first number to 0 in the whole column.





Re: KTRose Source code release

Post by NewMilenium on Thu Jan 12, 2017 9:21 pm


it will require to change the code to allow the game to list all skills regardless of the jobs...






Re: Rev Whatever --- It's the last version we used at RoseZA

Post by NewMilenium on Fri Jan 13, 2017 5:34 pm


3) being able to show all skills learnt and not just one of a given job.







Re: Rev Whatever --- It's the last version we used at RoseZA

Postby NewMilenium on Fri Jan 13, 2017 5:48 pm


2) I need a way to show all skills learnt regardless of the current class of the character, just to be able to see their effects and upgrade them,







Re: Rev Whatever --- It's the last version we used at RoseZA

Postby NewMilenium on Mon Jan 16, 2017 2:19 pm

3) I need a way to show all skills learnt regardless of the current class of the character, just to be able to see their effects and upgrade them.
NewMilenium
Jelly Bean
Jelly Bean
 
Posts: 32
Joined: Wed Jan 04, 2017 12:54 pm

Re: Rev Whatever --- It's the last version we used at RoseZA

Postby NewMilenium on Fri Feb 03, 2017 3:57 pm

Aaaand today,
So I need to simply add tabs, ideally I would just need to be able to display ALL jobs tabs.


------------------------------------------------------------------


PurpleYouko :
Did you try looking in the basic skills section of the skills window?
Same place that you will find pickup and sit down

Yes, of course, and not only that, but I said a bit further how I managed, by another way, to display them there.

Here :
Re: Rev Whatever --- It's the last version we used at RoseZA

Post by NewMilenium on Fri Feb 03, 2017 11:44 am

I found how to display in "basic" the skills (5th column of the list_skills.STB, i've put "11"), or in PAT (32), except they replace existing skills. And as each skill has its own placement, and as there are like 20 different tabs (3 per class, 1 per subclass, something like that), skills replace each other when done that way.
NewMilenium
Jelly Bean
Jelly Bean
 
Posts: 32
Joined: Wed Jan 04, 2017 12:54 pm

Re: Rev Whatever --- It's the last version we used at RoseZA

Postby NewMilenium on Fri Feb 03, 2017 7:03 pm

After discussing with PurpleYouko,

[Showing all skills] > my problem lies somewhere in the client. Something decides to show the windows belonging to the job and not to show the others. It is somewhere in the client\3Ddata\Control\Xml files...

If anyone has an idea...


[no attack nor skill working] > seems random... no idea where to search for now.

[bad packet for the item storage] > PurpleYouko will check later, another time.
NewMilenium
Jelly Bean
Jelly Bean
 
Posts: 32
Joined: Wed Jan 04, 2017 12:54 pm

Re: Rev Whatever --- It's the last version we used at RoseZA

Postby PurpleYouko on Fri Feb 24, 2017 7:07 pm

Managed to figure out what was going on with the storage.

In this client they have (for some reason) gotten rid of the 0x07ae packet that is sent whenever we move an item in or out of storage.
They replaced it with a new packet 0x07c8 which has a very similar format so our server still gets the information it needs if we simply add a new packet to the list in WorldServer.cpp and point it to the same place the old 0x07ae used to go.
They also apparently changed the format of the receiving packet structure in the client side.
First thing I tried was simply to change the returned packet id from 0x07ae to 0x07c8. Didn't work.

next I tried forcing the storage window to update by simply resending the 0x07ad (initial setup packet for the transaction) after processing the transaction in the server.
This had some degree of success. It changed the storage window but failed to change the inventory window.
It's also no really ideal as the 0x07ad packet sends the entire storage data rather than just the one or slot that we changed.

Then I added a neat little call to CPlayer->UpdateInventory (which just sends data related to one or two slots) to fix the inventory side of it and now we have a solution to the problem.

Updated files are on the repo which you can all find here https://github.com/PurpleYouko/rosZA_server just in case you might have forgotten
Need to lookup information on NARose items, skills, quests?
Now featuring a newly completed skill tree for all classes
Formatting fixed for different resolutions
Image

"A Gazelle is nothing but a giraffe plotted logarithmicaly"
User avatar
PurpleYouko
Rose Guru
Rose Guru
 
Posts: 4579
Joined: Fri Aug 10, 2007 2:05 pm

PreviousNext

Return to Support - OsRose Emulator

Who is online

Users browsing this forum: No registered users and 2 guests