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!

[Source Edit] [Small] [Rebirth system]

Owner
Loyal Member
Joined
May 13, 2011
Messages
1,497
Reaction score
157
It works if you do everthing i have added.

There is not more to do.
So either or copie paste it correct. Or look where you messed it up.
 
Newbie Spellweaver
Joined
Oct 22, 2006
Messages
43
Reaction score
0
Nice release raventh, mainly thanks for the re-stat code :D

One thing though, why is the following line in the rebirth function :
m_nStr = m_nSta = m_nDex = m_nInt = 50;
 
Newbie Spellweaver
Joined
Oct 22, 2006
Messages
43
Reaction score
0
I know what it does but what's the reasoning behind it? I mean first all stats get reset, you add bonus statpoints based on how many times a rebirth was done.. and then all stats get set to 50? It's slightly confusing me, that's all.
 
Owner
Loyal Member
Joined
May 13, 2011
Messages
1,497
Reaction score
157
Hmm i will look into it to see why i had it in. So you will get your answer from me today.
 
Newbie Spellweaver
Joined
Oct 22, 2006
Messages
43
Reaction score
0
Ok cool, no rush :)

Besides that here are a couple things I noticed from using the Blessed source that I'm wondering if they're fixed in yours :
- rebirth icons not showing for other users & it also sometimes changes icons for non rebirth players (like I've done a rebirth, got the icon, someone else didn't but it also shows them with the rebirth icon) I don't really care about this one but
- not getting mob exp at lvl120 99.99% (getting exp from a quest puts you at 121)


Also I looked at the restat function and currently you're not going to get a full refund if you use a re-stat. (based on the rebirth code setting stats to 50)
Wouldn't it be easier to just combine the single stat re-stat code like so :
int nAdd = 0;

nAdd = m_nStr - 15;
m_nStr = 15;
m_nRemainGP += nAdd;

nAdd = m_nSta - 15;
m_nSta = 15;
m_nRemainGP += nAdd;

nAdd = m_nDex - 15;
m_nDex = 15;
m_nRemainGP += nAdd;

nAdd = m_nInt - 15;
m_nInt = 15;
m_nRemainGP += nAdd;

That should work, right?
 
Owner
Loyal Member
Joined
May 13, 2011
Messages
1,497
Reaction score
157
Hmm i dont use blessed source. So i dont know about the Hero Quest. I have seen some new people that uses blessed source complaining about it.

As for the rebirth thing thats correct.
I am still working on it to show it correctly. I already tried different options for it but none of them works.
So i have put it a side to work on other things first. Other wise it will get me angry, I even talked with some devs about it on diff forum and even they dont know how to fix it.

About the restat.

This is what i have done with it.

When your level 175 then you will have
Your level *3+60-59-3 Total would be (463 Stat points on rebirth 1) Now with +15 Stat points it will give 478 Stat points
So its calculated on 15 stat points not on the 50. With 50 you will have 513 Stat points.
So either change the 50 to 15 or reconfigure the Rebirth section.

And the above code seems to be correct. I cant test it wright now but will see how i can do it nicer.
 
Newbie Spellweaver
Joined
Oct 22, 2006
Messages
43
Reaction score
0
Well lets say you just used your first rebirth and you're now lvl60 with 60 remaining statpoints.
Use a restat and you'll have 178 remaining statpoints. (60*3+60-59-3)

Knowing that the rebirth also gave you 50 to all stats combined with the 60 remaining statpoints you should've had 200 remaining statpoints. ( ( 50 - 15 ) * 4 ) + 60

Suppose it just needs some tweaking :D

I can't test it right now either since I'm at work.

Think I also found the rebirth icon problem :
m_nCampusPoint
vs
g_pPlayer->m_nCampusPoint

Using the first one results in all icons to be shown based on your own rebirth status, second one will be based on the rebirth status of the character?
 
Owner
Loyal Member
Joined
May 13, 2011
Messages
1,497
Reaction score
157
Yeah i already tried the second one before. But then you wont see the rebirth icon. other players have when they have done rebirth.
 
Newbie Spellweaver
Joined
Oct 22, 2006
Messages
43
Reaction score
0
Mmm sadly you're right, doesn't work :(

Re-stat I posted code works wonders though :D
 
Junior Spellweaver
Joined
Dec 28, 2015
Messages
169
Reaction score
0
Question : How can i put prizes every rebirth ? for example for the 1st rebirth i will get 50 Red chips 2nd rebirth 100 red chips? and how to make the exp harder every time i rebirth ? thanks
 
One word! Im Fawkin Pro!
Loyal Member
Joined
Jul 1, 2010
Messages
1,254
Reaction score
359
Question : How can i put prizes every rebirth ? for example for the 1st rebirth i will get 50 Red chips 2nd rebirth 100 red chips? and how to make the exp harder every time i rebirth ? thanks

Even thought you just bumped up a 3 years old thread.. I will look into your question and see if I can make what you want to work :)
 
One word! Im Fawkin Pro!
Loyal Member
Joined
Jul 1, 2010
Messages
1,254
Reaction score
359
Much Appreciated Sir =) Thanks a lot

Oke its done :)

In Mover.cpp Search for m_nCampusPoint = m_nCampusPoint + 1;

And under it add following:

Code:
CItemElem itemelem;
		itemelem.m_nItemNum = 0;
		BYTE nID;
		if(m_nCampusPoint == 1)
		{
			itemelem.m_nItemNum = 50; //Amount
			itemelem.m_dwItemId = II_CHP_RED; //Item
			( ( CUser*)this)->CreateItem( &itemelem, &nID ); //Create the Item with Amount
		}else if(m_nCampusPoint == 2)
		{
			itemelem.m_nItemNum = 100;
			itemelem.m_dwItemId = II_CHP_RED;
			( ( CUser*)this)->CreateItem( &itemelem, &nID );
		}else if (m_nCampusPoint == 3)
		{
			itemelem.m_nItemNum = 150;
			itemelem.m_dwItemId = II_CHP_RED;
			( ( CUser*)this)->CreateItem( &itemelem, &nID );
		}else if (m_nCampusPoint == 4)
		{
			itemelem.m_nItemNum = 200;
			itemelem.m_dwItemId = II_CHP_RED;
			( ( CUser*)this)->CreateItem( &itemelem, &nID );
		}else if (m_nCampusPoint == 5)
		{
			itemelem.m_nItemNum = 250;
			itemelem.m_dwItemId = II_CHP_RED;
			( ( CUser*)this)->CreateItem( &itemelem, &nID );
		}

Have fun :)
 
Junior Spellweaver
Joined
Dec 28, 2015
Messages
169
Reaction score
0
Oke its done :)

In Mover.cpp Search for m_nCampusPoint = m_nCampusPoint + 1;

And under it add following:

Code:
CItemElem itemelem;
        itemelem.m_nItemNum = 0;
        BYTE nID;
        if(m_nCampusPoint == 1)
        {
            itemelem.m_nItemNum = 50; //Amount
            itemelem.m_dwItemId = II_CHP_RED; //Item
            ( ( CUser*)this)->CreateItem( &itemelem, &nID ); //Create the Item with Amount
        }else if(m_nCampusPoint == 2)
        {
            itemelem.m_nItemNum = 100;
            itemelem.m_dwItemId = II_CHP_RED;
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
        }else if (m_nCampusPoint == 3)
        {
            itemelem.m_nItemNum = 150;
            itemelem.m_dwItemId = II_CHP_RED;
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
        }else if (m_nCampusPoint == 4)
        {
            itemelem.m_nItemNum = 200;
            itemelem.m_dwItemId = II_CHP_RED;
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
        }else if (m_nCampusPoint == 5)
        {
            itemelem.m_nItemNum = 250;
            itemelem.m_dwItemId = II_CHP_RED;
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
        }

Have fun :)

Thank you so much dude. More Power to you Much appreciated for the help (Y) SALUTE
 
Back
Top