Advertisement
Guest User

Untitled

a guest
Dec 21st, 2016
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 8.52 KB | None | 0 0
  1. void* GetFirstTypeItemPorperty( char cType )
  2. {
  3.     switch( cType )
  4.     {
  5.         case _XGI_FC_WEAPON:
  6.             return g_WeaponItemProperty;
  7.         case _XGI_FC_WEAPON2:  
  8.             return g_WeaponItemProperty2;
  9.         case _XGI_FC_WEAPON3:  
  10.             return g_WeaponItemProperty3;
  11.         case _XGI_FC_CLOTHES:
  12.             return g_ClothesItemProperty;
  13.         case _XGI_FC_CLOTHES2: 
  14.             return g_ClothesItemProperty2;
  15.         case _XGI_FC_CLOTHES3: 
  16.             return g_ClothesItemProperty3;
  17.         case _XGI_FC_BOOK:     
  18.             return g_BookItemProperty;
  19.         case _XGI_FC_POTION:       
  20.             return g_PotionItemProperty;
  21.         case _XGI_FC_CONSUMING:
  22.             return g_ConsumingItemProperty;
  23.         case _XGI_FC_ELIXIR:       
  24.             return g_ElixirItemProperty;
  25.         case _XGI_FC_COUNTERACT:   
  26.             return g_CounteractItemProperty;
  27.         case _XGI_FC_RESOURCE: 
  28.             return g_ResourceItemProperty;
  29.         case _XGI_FC_QUEST:    
  30.             return g_QuestItemProperty;
  31.         case _XGI_FC_ACCESSORY:
  32.             return g_AccessoryItemProperty;
  33.         case _XGI_FC_LIFE:     
  34.             return g_LifeItemProperty;
  35.         case _XGI_FC_MUSIC:
  36.             return g_MusicItemProperty;
  37.         case _XGI_FC_PASS:     
  38.             return g_PassItemProperty; 
  39.         case _XGI_FC_SOCKET:       
  40.             return g_SocketItemProperty;
  41.         case _XGI_FC_BOX:      
  42.             return g_BoxItemProperty;
  43.         case _XGI_FC_BOXKEY:       
  44.             return g_BoxKeyItemProperty;
  45.         default:
  46.             return NULL;
  47.     }
  48. }
  49.  
  50. int CheckCashItem( char cType, short sID )
  51. {
  52.     if ( cType < 0 || cType >= _XDEF_ITEMTYPE_COUNT )
  53.         return 0;
  54.    
  55.     switch( cType )
  56.     {
  57.         case _XGI_FC_WEAPON:
  58.             {
  59.                 _XGI_WeaponItem_Property* pWeaponItem = (_XGI_WeaponItem_Property*)GetFirstTypeItemPorperty( cType );
  60.                
  61.                 if ( pWeaponItem )
  62.                 {
  63.                     if ( pWeaponItem[ sID ].cCashCheck != 0)
  64.                         return pWeaponItem[ sID ].cCashCheck;
  65.                 }
  66.             }
  67.            
  68.         break;
  69.  
  70.         case _XGI_FC_CLOTHES:
  71.             {
  72.                 XGI_ClothesItem_Property* pClothesItem = (XGI_ClothesItem_Property*)GetFirstTypeItemPorperty( cType );
  73.                
  74.                 if ( pClothesItem )
  75.                 {
  76.                     if ( pClothesItem[ sID ].cCashCheck != 0 )
  77.                         return pClothesItem[ sID ].cCashCheck;
  78.                 }
  79.             }
  80.            
  81.         break;
  82.            
  83.         case _XGI_FC_POTION:
  84.             {
  85.                 _XGI_PotionItem_Property* pPotionItem = (_XGI_PotionItem_Property*)GetFirstTypeItemPorperty( cType );
  86.                
  87.                 if ( pPotionItem )
  88.                 {
  89.                     if ( pPotionItem[ sID ].cCashCheck != 0 )
  90.                         return pPotionItem[ sID ].cCashCheck;
  91.                 }
  92.             }
  93.            
  94.         break;
  95.            
  96.         case _XGI_FC_ELIXIR:
  97.             {
  98.                 _XGI_ElixirItem_Property* pElixirItem = (XGI_ElixirItem_Property*)GetFirstTypeItemPorperty( cType );
  99.                
  100.                 if ( pElixirItem )
  101.                 {
  102.                     if ( pElixirItem[ sID ].cCashCheck != 0 )
  103.                         return pElixirItem[ sID ].cCashCheck;
  104.                 }
  105.             }
  106.            
  107.         break;
  108.            
  109.         case _XGI_FC_RESOURCE:
  110.             {
  111.                 _XGI_ResourceItem_Property* pResourceItem = (_XGI_ResourceItem_Property*)GetFirstTypeItemPorperty( cType );
  112.                
  113.                 if ( pResourceItem )
  114.                 {
  115.                     if ( pResourceItem[ sID ].cCashCheck != 0 )
  116.                         return pResourceItem[ sID ].cCashCheck;
  117.                 }
  118.             }
  119.            
  120.         break;
  121.            
  122.         case _XGI_FC_ACCESSORY:
  123.             {
  124.                 _XGI_AccessoryItem_Property* pAccessoryItem = (XGI_AccessoryItem_Property*)GetFirstTypeItemPorperty( cType );
  125.                
  126.                 if ( pAccessoryItem )
  127.                 {
  128.                     if ( pAccessoryItem[ sID ].cCashCheck != 0 )
  129.                         return pAccessoryItem[ sID ].cCashCheck;
  130.                 }
  131.             }
  132.            
  133.         break;
  134.            
  135.         case _XGI_FC_LIFE:
  136.             {
  137.                 _XGI_LifeItem_Property* pLifeItem = (_XGI_LifeItem_Property*)GetFirstTypeItemPorperty( cType );
  138.                
  139.                 if ( pLifeItem )
  140.                 {
  141.                     if ( pLifeItem[ sID ].cCashCheck != 0 )
  142.                         return pLifeItem[ sID ].cCashCheck;
  143.                 }
  144.             }
  145.            
  146.         break;
  147.            
  148.         case _XGI_FC_SOCKET:
  149.         {
  150.             _XGI_SocketItem_Property* pSocketItem = ( _XGI_SocketItem_Property* )GetFirstTypeItemPorperty( cType );
  151.            
  152.             if ( pSocketItem )
  153.             {
  154.                 if ( pSocketItem[ sID ].cCashCheck != 0 )
  155.                     return pSocketItem[ sID ].cCashCheck;
  156.             }
  157.         }
  158.        
  159.         break;
  160.        
  161.         case _XGI_FC_BOX:
  162.         {
  163.             _XGI_BoxItemProperty* pBoxItem = ( _XGI_BoxItemProperty* )GetFirstTypeItemPorperty( cType );
  164.            
  165.             if ( pBoxItem )
  166.             {
  167.                 if ( pBoxItem[ sID ].cCashCheck != 0 )
  168.                     return pBoxItem[ sID ].cCashCheck;
  169.             }
  170.         }
  171.        
  172.         break;
  173.        
  174.         default:
  175.             break;
  176.     }
  177.    
  178.     return 0;
  179. }
  180.  
  181. char GetEqualItemType( char cType )
  182. {
  183.     if ( cType < 0 || cType >= _XDEF_ITEMTYPE_COUNT )
  184.         return -1;
  185.        
  186.     switch( cType )
  187.     {
  188.         case _XGI_FC_WEAPON:
  189.         case _XGI_FC_WEAPON2:
  190.         case _XGI_FC_WEAPON3:
  191.             return _XGI_FC_WEAPON;
  192.            
  193.         case _XGI_FC_CLOTHES:
  194.         case _XGI_FC_CLOTHES2:
  195.         case _XGI_FC_CLOTHES3:
  196.             return _XGI_FC_CLOTHES;
  197.            
  198.         default:
  199.             return cType;
  200.     }
  201. }
  202.  
  203. bool _XGameItem::CheckUserTrade( char cType, unsigned short sID )
  204. {
  205.     char cEqual = GetEqualItemType( cType );
  206.    
  207.     switch( cEqual )
  208.     {
  209.         case _XGI_FC_WEAPON:
  210.         {
  211.             _XGI_WeaponItem_Property* pWeaponItem = ( _XGI_WeaponItem_Property* ) GetFirstTypeItemPorperty( cType );
  212.            
  213.             if ( pWeaponItem )
  214.             {
  215.                 if ( g_LanguageType == _XLANGUAGE_TYPE_USA && CheckCashItem( cEqual, sID ) )
  216.                     return true;
  217.                 else
  218.                     return pWeaponItem[ sID ].cUserTrade;
  219.             }
  220.         }
  221.        
  222.         break;
  223.        
  224.         case _XGI_FC_CLOTHES:
  225.         {
  226.             _XGI_ClothesItem_Property* pClothesItem = ( _XGI_ClothesItem_Property* )GetFirstTypeItemPorperty( cType );
  227.            
  228.             if ( pClothesItem )
  229.             {
  230.                 if ( g_LanguageType == _XLANGUAGE_TYPE_USA && CheckCashItem( cEqual, sID ) )
  231.                     return true;
  232.                 else
  233.                     return pClothesItem[ sID ].cUserTrade;
  234.             }
  235.         }
  236.        
  237.         break;
  238.        
  239.     case _XGI_FC_BOOK:
  240.     {
  241.         _XGI_BookItemProperty* pBookItem = ( _XGI_BookItemProperty* )GetFirstTypeItemPorperty( cType );
  242.        
  243.         if ( pBookItem )
  244.         {
  245.             if ( g_LanguageType == _XLANGUAGE_TYPE_USA && CheckCashItem( cEqual, sID ) )
  246.                 return true;
  247.             else
  248.                 return pBookItem[ sID ].cUserTrade;
  249.         }
  250.     }
  251.    
  252.     break;
  253.  
  254.     case _XGI_FC_POTION:
  255.     {
  256.         _XGI_PotionItem_Property* pPotionItem = ( _XGI_PotionItem_Property* )GetFirstTypeItemPorperty( cType );
  257.        
  258.         if ( pPotionItem )
  259.         {
  260.             if ( g_LanguageType == _XLANGUAGE_TYPE_USA && CheckCashItem( cEqual, sID ) )
  261.                 return true;
  262.             else
  263.                 return pPotionItem[ sID ].cUserTrade;
  264.         }
  265.     }
  266.    
  267.     break;
  268.    
  269.     case _XGI_FC_CONSUMING:
  270.     {
  271.         _XGI_ConsumingItem_Property* pConsumingItem = ( _XGI_ConsumingItem_Property* )GetFirstTypeItemPorperty( cType );
  272.        
  273.         if ( pConsumingItem )
  274.         {
  275.             if ( g_LanguageType == _XLANGUAGE_TYPE_USA && CheckCashItem( cEqual, sID ) )
  276.                 return true;
  277.             else
  278.                 return pConsumingItem[ sID ].cUserTrade;
  279.         }
  280.     }
  281.        
  282.     break;
  283.    
  284.     case _XGI_FC_ELIXIR:
  285.     {
  286.         _XGI_ElixirItem_Property* pElixirItem = ( _XGI_ElixirItem_Property* )GetFirstTypeItemPorperty( cType );
  287.        
  288.         if ( pElixirItem )
  289.         {
  290.             if ( g_LanguageType == _XLANGUAGE_TYPE_USA && CheckCashItem( cEqual, sID ) )
  291.                 return true;
  292.             else
  293.                 return pElixirItem[ sID ].cUserTrade;
  294.         }
  295.     }
  296.    
  297.     break;
  298.    
  299.     case _XGI_FC_COUNTERACT:
  300.         break;
  301.    
  302.     case _XGI_FC_QUEST:
  303.     {
  304.         _XGI_QuestItemProperty* pQuestItem = ( _XGI_QuestItemProperty* )GetFirstTypeItemPorperty( cType );
  305.        
  306.         if ( pQuestItem )   // selling quest items in item mall? ha, bet its a planned feature
  307.             return pQuestItem[ sID ].cUserTrade;
  308.     }
  309.    
  310.     break;
  311.    
  312.     case _XGI_FC_ACCESSORY:
  313.     {
  314.         _XGI_AccessoryItem_Property* pAccessoryItem = ( _XGI_AccessoryItem_Property* )GetFirstTypeItemPorperty( cType );
  315.        
  316.         if ( pAccessoryItem )
  317.         {
  318.             if ( g_LanguageType == _XLANGUAGE_TYPE_USA && CheckCashItem( cEqual, sID ) )
  319.                 return true;
  320.             else
  321.                 return pAccessoryItem[ sID ].cUserTrade;
  322.         }
  323.     }
  324.    
  325.     break;
  326.    
  327.     case _XGI_FC_LIFE:
  328.     {
  329.         _XGI_LifeItem_Property* pLifeItem = ( _XGI_LifeItem_Property* )GetFirstTypeItemPorperty( cType );
  330.        
  331.         if ( pLifeItem )
  332.         {
  333.             if ( g_LanguageType == _XLANGUAGE_TYPE_USA && CheckCashItem( cEqual, sID ) )
  334.                 return true;
  335.             else
  336.                 pLifeItem[ sID ].cUserTrade;
  337.         }
  338.     }
  339.    
  340.     break;
  341.    
  342.     case _XGI_FC_SOCKET:
  343.     {
  344.         _XGI_SocketItem_Property* pSocketItem = ( _XGI_SocketItem_Property* )GetFirstTypeItemPorperty( cType );
  345.        
  346.         if ( pSocketItem )
  347.         {
  348.             if ( g_LanguageType == _XLANGUAGE_TYPE_USA && CheckCashItem( cEqual, sID ) )
  349.                 return true;
  350.             else
  351.                 pSocketItem[ sID ].cUserTrade;
  352.         }
  353.     }
  354.    
  355.     break;
  356.    
  357.     case _XGI_FC_BOX:
  358.     {
  359.         _XGI_BoxItemProperty* pBoxItem = ( _XGI_BoxItemProperty* )GetFirstTypeItemPorperty( cType );
  360.        
  361.         if ( pBoxItem )
  362.         {
  363.             if ( g_LanguageType == _XLANGUAGE_TYPE_USA && CheckCashItem( cEqual, sID ) )
  364.                 return true;
  365.             else
  366.                 pBoxItem[ sID ].cUserTrade;
  367.         }
  368.     }
  369.    
  370.     break;
  371.    
  372.     case _XGI_FC_BOXKEY:
  373.     {
  374.         _XGI_BoxKeyItem_Property* pBoxKeyItem = ( _XGI_BoxKeyItem_Property* )GetFirstTypeItemPorperty( cType );
  375.        
  376.         if ( pBoxKeyItem ) // pay for keys unlock blue dragon boxes? also probably a planned feature
  377.             return pBoxKeyItem[ sID ].cUserTrade;
  378.     }
  379.    
  380.     break;
  381.     }
  382.    
  383.     return false;
  384. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement