Character Wipe Asking

10/12/2014 19:50 Ecrypter#1
Hi epvpers limme know how to fully wipe the character in flyff.,?
because i try to wipe in database in CHARACTER_TBL, will its wipe but when i create character and the same name of the old character that i wipe., they comes up again and have the item before.,

thanks in advance to your answer!!
10/14/2014 03:07 Myths of Soul#2
Use the Sedrikas Aio and all Changes and Charakters + Accounts removt :3
10/18/2014 01:40 GentrosOne#3
you can use this skript

Delete Normaly Players:
Code:
Use [CHARACTER_01_DBF]
GO
delete from [CHARACTER_TBL] where m_chAUTHORITY = 'F'
Go
and wen you edit the m_chAUTHORITY to "Z" can you delet all Administrators.

sorry for my bad english.
10/18/2014 10:53 Drabur#4
Quote:
Originally Posted by GentrosOne View Post
you can use this skript

Delete Normaly Players:
Code:
Use [CHARACTER_01_DBF]
GO
delete from [CHARACTER_TBL] where m_chAUTHORITY = 'F'
Go
and wen you edit the m_chAUTHORITY to "Z" can you delet all Administrators.

sorry for my bad english.
This will just delete the character not the inventory of them
10/18/2014 23:33 xTwiLightx#5
TRUNCATE every table, except the BASE_VALUE_TBL.
10/19/2014 11:59 Ecrypter#6
even i delete the character when i create same name they say character name is already created., and i press back and enter again to the login character, all item and char has back,
12/25/2014 12:10 Zeljian#7
how to truncate?
12/25/2014 13:53 Razzer~#8
Thats why the Databaseserver sets the status of the character in CHARACTER_TBL isBlock to D . The D signals that the character is going to be deleted.

in DBManager.cpp :: CDbManager::RemovePlayer(
PHP Code:
DBQryCharacterszQuery"D1"idPlayerg_appInfo.dwSyslpDbOverlappedPlus->AccountInfo.szAccountszNo);
    
    if( 
FALSE == qry->Exec(szQuery) )
    {
        
WriteLog"%s, %d\t%s\r\n\t%s, %s"__FILE____LINE__szQuerylpDbOverlappedPlus->AccountInfo.szAccountlpDbOverlappedPlus->AccountInfo.szPassword );
        
FreeRequestlpDbOverlappedPlus );
        return;
    } 
Here you can see that the Database sets the isBlock of the character to D . But the point is that the character is never going to be deleted, it will be just blocked. Because of that there are still the values of the character in INVENTORY_TBL and others.

Hint: Look at the procedure CHARACTER_DEL_STR, try to understand it and write a new one for your purpose. The CHARACTER_DEL_STR never gets called in FlyFF (When you find it tell me), but you can do it.

Greetz

Maybe i am going to release the procedure later.
12/26/2014 07:51 xTwiLightx#9
Quote:
Originally Posted by Razzer~ View Post
Thats why the Databaseserver sets the status of the character in CHARACTER_TBL isBlock to D . The D signals that the character is going to be deleted.

in DBManager.cpp :: CDbManager::RemovePlayer(
PHP Code:
DBQryCharacterszQuery"D1"idPlayerg_appInfo.dwSyslpDbOverlappedPlus->AccountInfo.szAccountszNo);
    
    if( 
FALSE == qry->Exec(szQuery) )
    {
        
WriteLog"%s, %d\t%s\r\n\t%s, %s"__FILE____LINE__szQuerylpDbOverlappedPlus->AccountInfo.szAccountlpDbOverlappedPlus->AccountInfo.szPassword );
        
FreeRequestlpDbOverlappedPlus );
        return;
    } 
Here you can see that the Database sets the isBlock of the character to D . But the point is that the character is never going to be deleted, it will be just blocked. Because of that there are still the values of the character in INVENTORY_TBL and others.

Hint: Look at the procedure CHARACTER_DEL_STR, try to understand it and write a new one for your purpose. The CHARACTER_DEL_STR never gets called in FlyFF (When you find it tell me), but you can do it.

Greetz

Maybe i am going to release the procedure later.
It gets called via Server Agent Job ;)
12/26/2014 11:53 Razzer~#10
Gibt es da eine gewisse Zeit wo er die Query ausführt?
Edit: Der Job muss von der Datenbank selber ausgeführt werden, in der AiO als auch in deiner ist kein Job geschrieben. Also wird die Prozedur wirklich nicht aufgerufen, ausser ich finde noch irgendwo in der Source etwas.
12/26/2014 21:23 xTwiLightx#11
Quote:
Originally Posted by Razzer~ View Post
Gibt es da eine gewisse Zeit wo er die Query ausführt?
Edit: Der Job muss von der Datenbank selber ausgeführt werden, in der AiO als auch in deiner ist kein Job geschrieben. Also wird die Prozedur wirklich nicht aufgerufen, ausser ich finde noch irgendwo in der Source etwas.
Server Agent ist auch nicht bei den Express Versionen von SQL Server dabei, da brauche ich auch nicht den Code der Jobs dazupacken ;p

[Only registered and activated users can see links. Click Here To Register...]

Offi ruft die Prozedur täglich um 04:00 Uhr auf.