[Release] Virtuos Files v19 [FIXED]

09/09/2014 23:34 Sanctuary'#136
Quote:
Originally Posted by yasunii View Post
kann mir einer helfen die wings werden nicht angezeigt irgendein model fehler habe aber keine ahnung was ich da machen muss

Hier mein Skype name : Domsenbobb
Einfach melden und anschreiben
Ich rate dir von den Virtuos Files ab.

Die Systeme sind mies gecodet wie ein Großteil der Communiyt sagt und die Serverfiles laufen nicht stabil.
09/10/2014 16:19 iii123#137
Ultimate socketed 1 handed weapons (axe and swd) stack stats..
example:
1. Equip Ultimate G Axe with +35% PvP (Diamond)
2. Equip Ultimate G Axe with +75 INT (Diamond)
3. Un equip Ultimate G Axe of PvP Damage (the INT one move to first slot)
4. Un equip Ultimate G Axe of INT
5. Repeat process some times
6. See how stats get stacked

Please any fix? Me idea is dont move second weapon to first hand
10/22/2014 18:54 Sammyz#138
Quote:
Originally Posted by iii123 View Post
Ultimate socketed 1 handed weapons (axe and swd) stack stats..
example:
1. Equip Ultimate G Axe with +35% PvP (Diamond)
2. Equip Ultimate G Axe with +75 INT (Diamond)
3. Un equip Ultimate G Axe of PvP Damage (the INT one move to first slot)
4. Un equip Ultimate G Axe of INT
5. Repeat process some times
6. See how stats get stacked

Please any fix? Me idea is dont move second weapon to first hand
^ is due to all those "pro virtous features" lol, simply remove all the virtous features problem solved.

//////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////

__WEAPON_MERGE does not properly save, like op has stated does save it does not.
__NAV_FIX actually breaks the navigator more then original release.
Aura Glow not even completed.
Madrigal Gift has a sexy teleport glitch.
Element Fusion has a nice little exploit.

Not sure what was actually fixed in this besides 3 things which where all released in the original thread. Sources are almost identical honestly, anyone with winMerge or CompareIT can see this.

If your gonna release stuff, then at least man up and be honest about the release and don't tell people things are fixed when they are actually not fixed.
10/23/2014 14:12 eiskalt92#139
wie kann ich das Fixen?
11/19/2014 05:56 NickHough#140
Hey,

I'm not 100% sure if this is just a problem for me or not but,

Whenever i load the channel select screen it just hangs.
Just sits there saying "Connecting to Server".
I won't show the character selection screen, i am running locally to test and can't seem to get it to shift past channel select.

Any help would be appreciated
11/19/2014 16:51 Rhyder`#141
i think you'v got an error on the outside of your resource can you show us?
11/19/2014 19:30 NickHough#142
Hey,

Like i said the only error i get is this
]

and this shouldn't have that great an impact on the loading of the character screen, the world\texture folder is there and doesn't have any .res files.
I will however now just delete all the folders i got and copy the folders from the Resource folder to my Client folder

Edit:
after deleting the folders from the flyff client i downloaded and used assuming it would be compatible, i now get no errors but it still won't load in to the character select screen.
11/21/2014 04:02 NickHough#143
Okay new problem now.
I managed to get in to the character select screen, but when i create a character it doesn't display, another concerning thing is that the greenish glow doesn't show either.
I am unsure if this is 2 separate problems or the same one.
Before anyone asks i have tried pressing enter after creating a character just to see if that loads in to the game but it doesn't

Thanks
Nick
11/23/2014 05:23 Ecrypter#144
how about consignment when i press next the neuz will close
11/23/2014 05:57 Rhyder`#145
Quote:
Originally Posted by Ecrypter View Post
how about consignment when i press next the neuz will close
does this source has consignment?
11/23/2014 14:28 pppp10#146
restart server.model change not save.

how to fix?
11/23/2014 15:39 Rhyder`#147
Quote:
Originally Posted by pppp10 View Post
restart server.model change not save.

how to fix?
check on Dbmanagersave.cpp this function: void CDbManager::SaveOneItem( CItemElem* pItemElem, PItemStruct pItemStruct )
11/24/2014 03:17 NickHough#148
Hello, again i have still not fixed character not loading from the database in the character select screen after creating one (no error generated). Does anyone know the function that calls characters to the screen. I have checked void CDPClient::SendSealChar( ) down too void CDPClient::SendSealCharSet( DWORD dwData ), but can't find anything wrong with them.

To get my server to work, i have had to edit the Character_Str procedure and removed the *= clause from the procedure as my server wouldn't start whilst they were there (using MSSQL 2014) as that prevented me loading the character screen before (got stuck after pressing enter on channel select), would this cause the problem?

Any help would be amazing
Thanks
11/24/2014 05:32 pppp10#149
Quote:
Originally Posted by jayjei14 View Post
check on Dbmanagersave.cpp this function: void CDbManager::SaveOneItem( CItemElem* pItemElem, PItemStruct pItemStruct )
you help me please.

PHP Code:
void CDbManager::SaveOneItem( CItemElem* pItemElem, PItemStruct pItemStruct )
{
    
char szPiercing[32]        = {0,};

    if( 
pItemElem->IsEmpty() == FALSE )
    {
#if __VER >= 11 // __MA_VER11_05    // ฤษธฏลอ บภภฮ ฐลทก ฑโดษ world,database,neuz
        
if( pItemElem->m_dwItemId == II_SYS_SYS_SCR_SEALCHARACTER )
#if __VER >= 19
            
sprintf( pItemStruct->szItem, "%d,%d,%d,%d,,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",
#else
            
sprintf( pItemStruct->szItem, "%d,%d,%d,%d,,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d/",
#endif
                    
pItemElem->m_dwObjId, pItemElem->m_dwItemId,
                    
0, 0, 
                    
pItemElem->m_nItemNum, pItemElem->m_nRepairNumber,
                    
pItemElem->m_nHitPoint, pItemElem->m_nRepair,
                    
0, pItemElem->m_byFlag,
                    
pItemElem->GetSerialNumber(), pItemElem->GetOption(), 
                      
pItemElem->m_bItemResist, pItemElem->m_nResistAbilityOption,
                      
pItemElem->m_idGuild,
                    
pItemElem->m_nResistSMItemId
                
);
        else
#if __VER >= 19
            
sprintf( pItemStruct->szItem, "%d,%d,%d,%d,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",
#else
#ifdef    __WEAPON_LEVELING
            
sprintf( pItemStruct->szItem, "%d,%d,%d,%d,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d/",
#else // __WEAPON_LEVELING
#ifdef __MODEL_CHANGE 
            
sprintf( pItemStruct->szItem, "%d,%d,%d,%d,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d/",
#else __MODEL_CHANGE
            
sprintf( pItemStruct->szItem, "%d,%d,%d,%d,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d/",
#endif //__MODEL_CHANGE
#endif // __WEAPON_LEVELING
#endif
                    
pItemElem->m_dwObjId, pItemElem->m_dwItemId,
                    
0, 0, pItemElem->m_szItemText,
                    
pItemElem->m_nItemNum, pItemElem->m_nRepairNumber,
                    
pItemElem->m_nHitPoint, pItemElem->m_nRepair,
                    
0, pItemElem->m_byFlag,
                    
pItemElem->GetSerialNumber(), pItemElem->GetOption(), 
                      
pItemElem->m_bItemResist, pItemElem->m_nResistAbilityOption,
                      
pItemElem->m_idGuild,
                    
pItemElem->m_nResistSMItemId
#ifdef __WEAPON_LEVELING
                    
, pItemElem->m_nWeaponLevel
                    
, pItemElem->m_nWeaponExp
#endif // __WEAPON_LEVELING

#ifdef __MODEL_CHANGE
                    
, pItemElem->m_dwnewID
#endif //__MODEL_CHANGE
                
);
#if __VER >= 19
#ifdef __WEAPON_MERGE
        
if( pItemElem->IsMerged() )
        {
            
char szMergedData[32];
            
sprintf( szMergedData, ",%I64d,%d", pItemElem->GetMergedRandomOptItemId(), pItemElem->GetMergedWeaponATK() );
            
strcat( pItemStruct->szItem, szMergedData );
        }
#endif
#ifdef __LOOKCHANGE
        //if( pItemElem->IsChangedLook() )
        
{
            
char szLook[16];
            
sprintf( szLook, ",%d", (int)pItemElem->GetLook() );
            
strcat( pItemStruct->szItem, szLook );
        }
#endif // __LOOKCHANGE
        
strcat( pItemStruct->szItem, "/" );
#endif
#else    //  __MA_VER11_05    // ฤษธฏลอ บภภฮ ฐลทก ฑโดษ world,database,neuz
        // item
        
sprintf( pItemStruct->szItem, "%d,%d,%d,%d,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d/",
                
pItemElem->m_dwObjId, pItemElem->m_dwItemId,
                
0, 0, pItemElem->m_szItemText,
                
pItemElem->m_nItemNum, pItemElem->m_nRepairNumber,
                
pItemElem->m_nHitPoint, pItemElem->m_nRepair,
                
0, pItemElem->m_byFlag,
                
pItemElem->GetSerialNumber(), pItemElem->GetOption(), 
                  
pItemElem->m_bItemResist, pItemElem->m_nResistAbilityOption,
                  
pItemElem->m_idGuild,
                
pItemElem->m_nResistSMItemId
            
);
#endif // __MA_VER11_05    // ฤษธฏลอ บภภฮ ฐลทก ฑโดษ world,database,neuz



        // ext
#if __VER >= 11 // __SYS_IDENTIFY
        
sprintf( pItemStruct->szExt, "%d,%d,%I64d"
#if __VER >= 15 // __PETVIS    
            
",%d"
#endif // __PETVIS
            
"/", pItemElem->m_bCharged, pItemElem->m_dwKeepTime, pItemElem->GetRandomOptItemId()
#if __VER >= 15 // __PETVIS
            
, static_cast<int>( pItemElem->m_bTranformVisPet )
#endif // __PETVIS
            
);
#else    // __SYS_IDENTIFY
        
sprintf( pItemStruct->szExt, "%d,%d,%d/", pItemElem->m_bCharged, pItemElem->m_dwKeepTime, pItemElem->GetRandomOptItemId() );
#endif    // __SYS_IDENTIFY

        // piercing
#if __VER >= 12 // __EXT_PIERCING
        
ItemProp* itemProp = prj.GetItemProp( pItemElem->m_dwItemId );
        if( 
itemProp && itemProp->IsUltimate() )
        {
            
sprintf( pItemStruct->szPiercing, "%d", pItemElem->GetUltimatePiercingSize() );
            for( 
int nPirecing = 0 ; nPirecing < pItemElem->GetUltimatePiercingSize(); ++nPirecing )
            {
                
sprintf( szPiercing, ",%d", pItemElem->GetUltimatePiercingItem( nPirecing ) );
                
strncat( pItemStruct->szPiercing, szPiercing, sizeof(szPiercing) );
            }
            if( 
pItemElem->GetPiercingSize() > 0 )
            {
                
sprintf( szPiercing, ",%d", pItemElem->GetPiercingSize() );
                
strncat( pItemStruct->szPiercing, szPiercing, sizeof(szPiercing) );
            }
        }
        else
#endif // __EXT_PIERCING
            
sprintf( pItemStruct->szPiercing, "%d", pItemElem->GetPiercingSize() );

        for( 
int nPirecing = 0 ; nPirecing < pItemElem->GetPiercingSize(); ++nPirecing )
        {
            
sprintf( szPiercing, ",%d", pItemElem->GetPiercingItem( nPirecing ) );
            
strncat( pItemStruct->szPiercing, szPiercing, sizeof(szPiercing) );
        }
#if __VER >= 15 // __PETVIS
        
if( pItemElem->IsVisPet() )
        {
            for( 
nPirecing = 0; nPirecing < pItemElem->GetPiercingSize(); ++nPirecing )
            {
                
sprintf( szPiercing, ",%d", pItemElem->GetVisKeepTime( nPirecing ) );
                
strncat( pItemStruct->szPiercing, szPiercing, sizeof(szPiercing) );
            }
        }
#endif // __PETVIS
#ifdef __WEAPON_MERGE
        
if( pItemElem->IsMerged() )
        {
            
sprintf( szPiercing, ",%d", pItemElem->GetMergedPiercingSize() );
            
strncat( pItemStruct->szPiercing, szPiercing, sizeof(szPiercing) );
            for( 
int i = 0; i < pItemElem->GetMergedPiercingSize(); ++i )
            {
                
sprintf( szPiercing, ",%d", pItemElem->GetMergedPiercingItem( i ) );
                
strncat( pItemStruct->szPiercing, szPiercing, sizeof(szPiercing) );
            }
        }
#endif
        
strcat( pItemStruct->szPiercing, "/" );

        
// pet
        
if( pItemElem->m_pPet )
        {
            
sprintf( pItemStruct->szPet, "1,%d,%d,%d,%d,%d", 
                
pItemElem->m_pPet->GetKind(), pItemElem->m_pPet->GetLevel(),
                
pItemElem->m_pPet->GetExp(), pItemElem->m_pPet->GetEnergy(),
                
pItemElem->m_pPet->GetLife() );
            for( 
int i = PL_D; i <= pItemElem->m_pPet->GetLevel(); i++ )
            {
                
char szAvailLevel[16]    = { 0,};
                
sprintf( szAvailLevel, ",%d", pItemElem->m_pPet->GetAvailLevel( i ) );
                
strcat( pItemStruct->szPet, szAvailLevel );
            }
#ifdef __PET_1024
            
char szTemp[MAX_PET_NAME_FMT+1]        = { 0,};
            
char szFmt[MAX_PET_NAME_FMT]    = { 0,};
            
SetDBFormatStr( szFmt, MAX_PET_NAME_FMT, pItemElem->m_pPet->GetName() );
            
sprintf( szTemp, ",%s", szFmt );
            
strcat( pItemStruct->szPet, szTemp );
#endif    // __PET_1024
            
strcat( pItemStruct->szPet, "/" );
        }
        else
        {
            
sprintf( pItemStruct->szPet, "0/" );
        }
    }
    else
    {
        
// item
        
ZeroMemory( pItemStruct->szItem, sizeof(pItemStruct->szItem) );
        
// ext
        
sprintf( pItemStruct->szExt, "%d,%d,%d/", 0, 0, 0 );
        
// piercing
        
sprintf( pItemStruct->szPiercing, "%d/", 0 );
        
// pet
        
sprintf( pItemStruct->szPet, "0/" );
    }
} 
11/25/2014 19:35 NickHough#150
Hello

Okay a fix for anyone who is using MSSQL 2012 or higher you will need this CHARACTER_STR to ensure your server works.

You need this because the *= is not recognised as a left outer join anymore, therefore you have to use the new syntax for left outer join as shown in the spoiler