OkMuOnline


NowaHosting


AlphaServers


Resultados 1 a 1 de 1
  1. #1
    Membro ADMTec's Avatar

    Data de Ingresso
    Sep 2022
    Posts
    1
    Thanks Thanks Given 
    39
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Mentioned
    0 Post(s)
    País
    Brazil

    Codigo que lida com o efeito dos Itens quando sobem de levele do (+0 a +15)

    pessoal alguem saberia me informar como e que o main cria o efeito no item quando ele sobe de level ??? eu estou querendo recriar o mesmo efeito na Unreal engine !
    se puderem me indicar onde posso achar o codigo fonte que lida com essa questao !

    Achei esse parte na source do main da WebZen porem nao sei bem se e o que eu preciso !

    Código:
    #ifdef LDS_MR0_MOD_PATIALPHYSIQMODEL_PHYSICPROCESS_FIX     // ºÎºÐ ¹°¸®¸Þ½¬¸¦ Åë ¹°¸®¸Þ½¬ °´Ã¼·Î ó¸®if(p &&
          (  Type == MODEL_PANTS+18 ||     // ¹ý»ç ±×·£µå¼Ò¿ï ¹ÙÁö
             Type == MODEL_PANTS+19 ||
             Type == MODEL_PANTS+22 )      // ¹ý»ç ºí·¢¼Ò¿ï ¹ÙÁö
             )
       {     
          if( !p->m_pCloth[0] )
          {
             int numCloth = 0;     // ¹°¸® ¸ðµ¨ °¹¼ö
             
             // 1. Åë¹°¸® ¸ðµ¨ ¼±¾ð
             CPhysicsCloth *pCloth[2] = { NULL, NULL };
             
             switch(Type)
             {
             case MODEL_PANTS+18:   // ¹ý»ç ±×·£µå¼Ò¿ï ¹ÙÁö
                {
                   numCloth = 1;
                   pCloth[0] = new CPhysicsCloth;
                   pCloth[0]->Create( o, 17, 0.0f, 9.0f, 7.0f, 5, 8, 45.0f, 85.0f, 
                      BITMAP_PANTS_G_SOUL, 
                      BITMAP_PANTS_G_SOUL, 
                      PCT_MASK_ALPHA | PCT_HEAVY | PCT_STICKED | PCT_SHORT_SHOULDER, MODEL_PANTS+18, 2 );
                   pCloth[0]->AddCollisionSphere( 0.0f, -15.0f, -20.0f, 30.0f, 2);
                }
                break;
             case MODEL_PANTS+19:
                {
                   numCloth = 0;
                }
                break;
             case MODEL_PANTS+22:   // ¹ý»ç ºí·¢¼Ò¿ï ¹ÙÁö
                {
                   numCloth = 1;
                   pCloth[0] = new CPhysicsCloth;
                   pCloth[0]->Create( o, 17, 0.0f, 9.0f, 7.0f, 7, 5, 50.0f, 100.0f, 
                      BITMAP_PANTS_B_SOUL_PHYSIQMESH, 
                      BITMAP_PANTS_B_SOUL_PHYSIQMESH, 
                      PCT_MASK_ALPHA | PCT_HEAVY | PCT_STICKED | PCT_SHORT_SHOULDER,MODEL_PANTS+18, 2 );
                   pCloth[0]->AddCollisionSphere( 0.0f, -15.0f, -20.0f, 30.0f, 2);
                }
                break;
             }  // switch(Type)
             
             p->m_byNumCloth = numCloth;
             p->m_pCloth[0] = ( void*)pCloth[0];
             p->m_pCloth[1] = ( void*)pCloth[1];
          }  
          else   // if ( !c->Object.m_pCloth)
          {
             for ( int i=0; i<p->m_byNumCloth; i++ )
             {  
                CPhysicsCloth *pCloth = (CPhysicsCloth*)p->m_pCloth[i];
                
                float Flag = 0.005f;
                if( g_isCharacterBuff(o, eDeBuff_Stun ) 
                   || g_isCharacterBuff(o, eDeBuff_Sleep ) )
                {
                   Flag = 0.0f;
                }
                
                if ( pCloth[i].GetOwner() == NULL) // Áö¿öÁø ºÎºÐÀÌ¸é ±×¸®Áö ¾Ê°í Åë°úÇÑ´Ù.
                {
                   continue;
                }
                else
                {
                   if ( !pCloth[i].Move2( Flag, 5))
                   {
                      DeleteCloth(NULL, o, p);
                   }
                   else   // if ( !pCloth[i].Move2( Flag, 5))
                   {
                      int iPhysiqMesh = -1;
    
                      switch( Type )
                      {
                      case MODEL_PANTS+18:   // ¹ý»ç ±×·£µå¼Ò¿ï ¹ÙÁö    
                      case MODEL_PANTS+22:   // ¹ý»ç ºí·¢¼Ò¿ï ¹ÙÁö
                         {
                            iPhysiqMesh = 2;
                         }
                         break;
                      }
    
                      vec3_t    v3LightPhysicMesh;
                      if(g_pOption->GetRenderLevel())
                      {
                         int iItemLevel = (ItemLevel>>3)&15;
    
                         if(iItemLevel < 8 && g_pOption->GetRenderLevel() >= 1)  //  +7
                         {
                            //Vector(Light[0]*0.8f,Light[1]*0.8f,Light[2]*0.8f,b->BodyLight);
                            //RenderPartObjectBody(b,o,Type,Alpha,RenderType);
                            //RenderPartObjectBodyColor(b,o,Type,Alpha,RENDER_CHROME|RENDER_BRIGHT,1.f);
    
                            Vector(Light[0]*0.8f,Light[1]*0.8f,Light[2]*0.8f,v3LightPhysicMesh);
                            pCloth[i].Render( &v3LightPhysicMesh);
                            pCloth[i].Render_MappingOption( *b, iPhysiqMesh, RENDER_CHROME|RENDER_BRIGHT, true, v3LightPhysicMesh, -1, Alpha );
                         }
                         else if(iItemLevel < 9 && g_pOption->GetRenderLevel() >= 1)  //  +8
                         {
                            //Vector(Light[0]*0.8f,Light[1]*0.8f,Light[2]*0.8f,b->BodyLight);
                            //RenderPartObjectBody(b,o,Type,Alpha,RenderType);
                            //RenderPartObjectBodyColor(b,o,Type,Alpha,RENDER_CHROME|RENDER_BRIGHT,1.f);
    
                            Vector(Light[0]*0.8f,Light[1]*0.8f,Light[2]*0.8f,v3LightPhysicMesh);
                            pCloth[i].Render( &v3LightPhysicMesh);
                            pCloth[i].Render_MappingOption( *b, iPhysiqMesh, RENDER_CHROME|RENDER_BRIGHT, true, v3LightPhysicMesh, -1, Alpha );
                         }
                         else if(iItemLevel < 10 && g_pOption->GetRenderLevel() >= 2) //  +9
                         {
                            //Vector(Light[0]*0.9f,Light[1]*0.9f,Light[2]*0.9f,b->BodyLight);
                            //RenderPartObjectBody(b,o,Type,Alpha,RenderType);
                            //RenderPartObjectBodyColor(b,o,Type,Alpha,RENDER_CHROME|RENDER_BRIGHT|(RenderType&RENDER_EXTRA),1.f);
                            //RenderPartObjectBodyColor(b,o,Type,Alpha,RENDER_METAL|RENDER_BRIGHT|(RenderType&RENDER_EXTRA),1.f);
    
                            Vector(Light[0]*0.9f,Light[1]*0.9f,Light[2]*0.9f,v3LightPhysicMesh);
                            pCloth[i].Render( &v3LightPhysicMesh);
                            pCloth[i].Render_MappingOption( *b, iPhysiqMesh, RENDER_CHROME|RENDER_BRIGHT|(RenderType&RENDER_EXTRA), true, v3LightPhysicMesh, -1, Alpha );
                            //pCloth[i].Render_MappingOption( *b, iPhysiqMesh, RENDER_METAL|RENDER_BRIGHT|(RenderType&RENDER_EXTRA), true, v3LightPhysicMesh, -1, Alpha );
                         }
                         else if(iItemLevel < 11 && g_pOption->GetRenderLevel() >= 2) //  +10
                         {
                            //Vector(Light[0]*0.9f,Light[1]*0.9f,Light[2]*0.9f,b->BodyLight);
                            //RenderPartObjectBody(b,o,Type,Alpha,RenderType);
                            //RenderPartObjectBodyColor(b,o,Type,Alpha,RENDER_CHROME|RENDER_BRIGHT|(RenderType&RENDER_EXTRA),1.f);
                            //RenderPartObjectBodyColor(b,o,Type,Alpha,RENDER_METAL|RENDER_BRIGHT|(RenderType&RENDER_EXTRA),1.f);
    
                            Vector(Light[0]*0.9f,Light[1]*0.9f,Light[2]*0.9f,v3LightPhysicMesh);
                            pCloth[i].Render( &v3LightPhysicMesh);
                            pCloth[i].Render_MappingOption( *b, iPhysiqMesh, RENDER_CHROME|RENDER_BRIGHT|(RenderType&RENDER_EXTRA), true, v3LightPhysicMesh, -1, Alpha );
                            //pCloth[i].Render_MappingOption( *b, iPhysiqMesh, RENDER_METAL|RENDER_BRIGHT|(RenderType&RENDER_EXTRA), true, v3LightPhysicMesh, -1, Alpha );
                         }
                         else if(iItemLevel < 12 && g_pOption->GetRenderLevel() >= 3) //  +11
                         {
                            //Vector(Light[0]*0.9f,Light[1]*0.9f,Light[2]*0.9f,b->BodyLight);
                            //RenderPartObjectBody(b,o,Type,Alpha,RenderType);
                            //RenderPartObjectBodyColor2(b,o,Type,1.f,RENDER_CHROME2|RENDER_BRIGHT|(RenderType&RENDER_EXTRA),1.f);
                            //RenderPartObjectBodyColor(b,o,Type,Alpha,RENDER_METAL|RENDER_BRIGHT|(RenderType&RENDER_EXTRA),1.f);
                            //RenderPartObjectBodyColor(b,o,Type,Alpha,RENDER_CHROME|RENDER_BRIGHT|(RenderType&RENDER_EXTRA),1.f);
                            
                            Vector(Light[0]*0.9f,Light[1]*0.9f,Light[2]*0.9f,v3LightPhysicMesh);
                            pCloth[i].Render( &v3LightPhysicMesh);
                            pCloth[i].Render_MappingOption( *b, iPhysiqMesh, RENDER_CHROME2|RENDER_BRIGHT|(RenderType&RENDER_EXTRA), true, v3LightPhysicMesh, -1, 1.0f );
                            //pCloth[i].Render_MappingOption( *b, iPhysiqMesh, RENDER_METAL|RENDER_BRIGHT|(RenderType&RENDER_EXTRA), true, v3LightPhysicMesh, -1, Alpha );
                            pCloth[i].Render_MappingOption( *b, iPhysiqMesh, RENDER_CHROME|RENDER_BRIGHT|(RenderType&RENDER_EXTRA), true, v3LightPhysicMesh, -1, Alpha );
                         }
                         else if(iItemLevel < 13 && g_pOption->GetRenderLevel() >= 3) //  +12
                         {
                            //Vector(Light[0]*0.9f,Light[1]*0.9f,Light[2]*0.9f,b->BodyLight);
                            //RenderPartObjectBody(b,o,Type,Alpha,RenderType);
                            //RenderPartObjectBodyColor2(b,o,Type,1.f,RENDER_CHROME2|RENDER_BRIGHT|(RenderType&RENDER_EXTRA),1.f);
                            //RenderPartObjectBodyColor(b,o,Type,Alpha,RENDER_METAL|RENDER_BRIGHT|(RenderType&RENDER_EXTRA),1.f);
                            //RenderPartObjectBodyColor(b,o,Type,Alpha,RENDER_CHROME|RENDER_BRIGHT|(RenderType&RENDER_EXTRA),1.f);
    
                            Vector(Light[0]*0.9f,Light[1]*0.9f,Light[2]*0.9f,v3LightPhysicMesh);
                            pCloth[i].Render( &v3LightPhysicMesh);
                            pCloth[i].Render_MappingOption( *b, iPhysiqMesh, RENDER_CHROME2|RENDER_BRIGHT|(RenderType&RENDER_EXTRA), true, v3LightPhysicMesh, -1, 1.0f );
                            //pCloth[i].Render_MappingOption( *b, iPhysiqMesh, RENDER_METAL|RENDER_BRIGHT|(RenderType&RENDER_EXTRA), true, v3LightPhysicMesh, -1, Alpha );
                            pCloth[i].Render_MappingOption( *b, iPhysiqMesh, RENDER_CHROME|RENDER_BRIGHT|(RenderType&RENDER_EXTRA), true, v3LightPhysicMesh, -1, Alpha );
                         }
                         else if(iItemLevel < 14 && g_pOption->GetRenderLevel() >= 4) //  +13
                         {
                            //Vector(Light[0]*0.9f,Light[1]*0.9f,Light[2]*0.9f,b->BodyLight);
                            //RenderPartObjectBody(b,o,Type,Alpha,RenderType);
                            //RenderPartObjectBodyColor2(b,o,Type,1.f,RENDER_CHROME4|RENDER_BRIGHT|(RenderType&RENDER_EXTRA),1.f);
                            //RenderPartObjectBodyColor(b,o,Type,Alpha,RENDER_METAL|RENDER_BRIGHT|(RenderType&RENDER_EXTRA),1.f);
                            //RenderPartObjectBodyColor(b,o,Type,Alpha,RENDER_CHROME|RENDER_BRIGHT|(RenderType&RENDER_EXTRA),1.f);
    
                            Vector(Light[0]*0.9f,Light[1]*0.9f,Light[2]*0.9f,v3LightPhysicMesh);
                            pCloth[i].Render( &v3LightPhysicMesh);
                            pCloth[i].Render_MappingOption( *b, iPhysiqMesh, RENDER_CHROME4|RENDER_BRIGHT|(RenderType&RENDER_EXTRA), true, v3LightPhysicMesh, -1, 1.0f );
                            //pCloth[i].Render_MappingOption( *b, iPhysiqMesh, RENDER_METAL|RENDER_BRIGHT|(RenderType&RENDER_EXTRA), true, v3LightPhysicMesh, -1, Alpha );
                            pCloth[i].Render_MappingOption( *b, iPhysiqMesh, RENDER_CHROME|RENDER_BRIGHT|(RenderType&RENDER_EXTRA), true, v3LightPhysicMesh, -1, Alpha );
                         }
                         else
                         {
                            //VectorCopy(Light,b->BodyLight);
                            //RenderPartObjectBody(b,o,Type,Alpha,RenderType);
    
                            Vector(Light[0]*0.8f,Light[1]*0.8f,Light[2]*0.8f,v3LightPhysicMesh);
                            pCloth[i].Render( &v3LightPhysicMesh);
                            pCloth[i].Render_MappingOption( *b, iPhysiqMesh, RENDER_CHROME|RENDER_BRIGHT|(RenderType&RENDER_EXTRA), true, v3LightPhysicMesh, -1, 1.0f );
                         }
                      }  // if(g_pOption->GetRenderLevel())
    
                      // ¾×¼³·±Æ® È¿°ú¿¡ ´ëÇÑ Ã³¸®
                      if((Option1&63)>0)
                      {
                         float fLuminosity = sinf(WorldTime*0.002f)*0.5f+0.5f;
                         Vector(fLuminosity,fLuminosity*0.3f,1.f-fLuminosity,v3LightPhysicMesh);
    
                         pCloth[i].Render_MappingOption( *b, iPhysiqMesh, 
                                        RENDER_CHROME|RENDER_BRIGHT|(RenderType&RENDER_EXTRA),
                                        true, v3LightPhysicMesh, -1, 1.0f, 1.0f, false );
                      }
    
                   }  // if ( !pCloth[i].Move2( Flag, 5))
    
                }
             } // for ( int i=0; i<p->m_byNumCloth; i++ )
          } // if( p->m_pCloth[0] ) 
       }
    Last edited by ADMTec; 09-27-2022 at 07:17 PM.

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • You may not post Resposta(s)
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •