[Release]Command

06/20/2016 13:02 banktakung#1
PHP Code:

BOOL TextCmd_NPCSpawn
CScannerscanner 
{
#ifdef __WORLDSERVER
    
CUserpUser = (CUser*)scanner.dwValue;
    
D3DXVECTOR3 vPos    pUser->GetPos();
    
CWorldpWorld    pUser->GetWorld();
    
    
MoverProppMoverProp    NULL;
    
    
scanner.GetToken();
    
DWORD dwID    _ttoiscanner.Token );
    
pMoverProp prj.GetMoverPropExdwID );
    
    
scanner.GetToken();
    
CString strName scanner.Token;
    
    if( 
pMoverProp && pMoverProp->dwID != )
    {
        
CMoverpMover    = (CMover*)CreateObjD3DDEVICEOT_MOVERdwID );
        
lstrcpypMover->m_szCharacterKeystrName );
        
pMover->InitNPCProperty();
        
pMover->InitCharacterpMover->GetCharacter() );
        
pMover->SetPosvPos );
        
pMover->InitMotionMTI_STAND );
        
pMover->UpdateLocalMatrix();
        
pMover->m_dwTickCreated        GetTickCount();
        
pWorld->ADDOBJpMoverTRUEpUser->GetLayer() );
    }
    else
    {
        
pUser->AddText"Wrong Parameter" );
    }
#endif // __WORLDSERVER
    
return TRUE;

example
/command 210 "MaFl_Juria"
06/20/2016 17:52 Lumi#2
I'm not sure, but can't you also create npcs with /createnpc?
06/20/2016 19:57 banktakung#3
Quote:
Originally Posted by ​Lumi View Post
I'm not sure, but can't you also create npcs with /createnpc?

no. to create npc must load character script too.
06/21/2016 02:18 KetchupSamurai#4
Neat little command ;)
06/21/2016 12:38 Drabur#5
@[Only registered and activated users can see links. Click Here To Register...] Das hier ist schon immer drin. Und ich meine das es auch funktioniert. Habs aber nicht getestet.
PHP Code:
BOOL TextCmd_CreateCharCScannerscanner )       

#ifdef __WORLDSERVER
    
CUserpUser = (CUser*)scanner.dwValue;
    
D3DXVECTOR3 vPos pUser->GetPos();
    
CWorldpWorld    pUser->GetWorld();
    
    
MoverProppMoverProp    NULL;

    
scanner.GetToken();
    if( 
scanner.tokenType == NUMBER 
    {
        
DWORD dwID    _ttoiscanner.Token );
        
pMoverProp prj.GetMoverPropExdwID );
    }
    else
        
pMoverProp    prj.GetMoverPropscanner.Token );

    
scanner.GetToken();
    
CString strName scanner.Token;

    if( 
pMoverProp && pMoverProp->dwID != )
    {
        
DWORD dwNum    scanner.GetNumber();
        if( 
dwNum 100 dwNum 100;
        if( 
dwNum == dwNum 1;

        
BOOL bActiveAttack scanner.GetNumber();
        for( 
DWORD dw 0dw dwNumdw++ )
        {
            
CMoverpMover = (CMover*)CreateObjD3DDEVICEOT_MOVERpMoverProp->dwID );
            if( 
NULL == pMover ) return FALSE// ASSERT( pObj );
            
strcpypMover->m_szCharacterKeystrName );
            
pMover->InitNPCProperty();
            
pMover->InitCharacterpMover->GetCharacter() );
            
pMover->SetPosvPos );
            
pMover->InitMotionMTI_STAND );
            
pMover->UpdateLocalMatrix();
            if( 
bActiveAttack )
                
pMover->m_bActiveAttack bActiveAttack;
            
pWorld->ADDOBJpMoverTRUEpUser->GetLayer() );
        }
    }
#endif    // __WORLDSERVER
    
return TRUE;

06/28/2016 17:15 FlyffServices#6
Ja ist das selbe nur spezifischer und mit mehr kontrollen bzw. funktionsumfang.