How to refresh character state?

Newbie Spellweaver
Joined
Feb 4, 2017
Messages
5
Reaction score
0
I just kicked one of my characters from the guild to join the other guild but as you know, I still need to wait another 48 hrs just to join another guild. How do I refresh this? Many thanks.
 
Can be done 3 different ways, here's the php way (Lost Crusade Website):
Code:
if(isset($_POST['guildrejoin_submit'])) {
                    odbc_exec($mssql, 'USE [CHARACTER_01_DBF]');
                    $check = odbc_exec($mssql, 'SELECT COUNT(*) AS count FROM [CHARACTER_TBl] WHERE m_szName=\''.mssql_escape_string($_POST['guildrejoin_char']).'\' AND account=\''.mssql_escape_string($_SESSION['user']).'\'');
                    if(odbc_result($check, 'count') > 0) {
                        if(odbc_exec($mssql, 'UPDATE [CHARACTER_TBL] SET m_tGuildMember=\'20080808000000\' WHERE m_szName=\''.mssql_escape_string($_POST['guildrejoin_char']).'\'')) {
                            echo '<div class="success">Your guilds Rejoin time has been successfully completed!</div>';
                        }
                    } else {
                        echo '<div class="fail">Your guilds Rejoin time could not be returned!</div>';
                    }
                }
                echo '<h3>Guild Rejoin</h3>';
                echo '<form method="post">
                    <table>
                        <tr>
                            <td>Character:</td>
                            <td><input type="text" name="guildrejoin_char" />
                        </tr>
                        <tr>
                            <td></td>
                            <td><input type="submit" name="guildrejoin_submit" value="Reset" />
                        </tr>
                    </table>
                </form>';

And now the source way, Credits to nabby59

How to change the amount of time before you can rejoin a guild:

This has two parts. The first is the cache so this works while you stay logged in and the second you have to change some stored procedures in the database.

First part:

Find this line in DPCacheSrvr (its in there twice):
Code:
pPlayer->m_tGuildMember += CTimeSpan( 2, 0, 0, 0 );

Change the (2, 0, 0, 0) to what you want in the format of (Days, Hours, Minutes, Seconds). i.e. 5 minutes (0, 0, 5, 0)

Second part:

Find the GUILD_STR stored procedure in CHARACTER_DBF and find this in the procedure (Again its there twice):
Code:
SET m_tGuildMember = CONVERT(CHAR(8),DATEADD(d,2,GETDATE()),112) 
+ RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(hh,DATEADD(d,2,GETDATE()))),2) 
+ RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(mi,DATEADD(d,2,GETDATE()))),2) 
+ RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(ss,DATEADD(d,2,GETDATE()))),2)

Now change
Code:
DATEADD(d,2,GETDATE())))

to the same value you entered above. i.e. 5 minutes again

Code:
DATEADD(mi,5,GETDATE())))

And lastly, the Manual SQL only way.
Code:
USE CHARACTER_01_DBF
GO
UPDATE [CHARACTER_TBL] SET m_tGuildMember='20080808000000' WHERE m_szName='YOUR COOL CHAR NAME'
GO

Also, you should have posted this in the support section as this is a help question :P
 
Back