1 // Property of Alientrap/AK
2 // custom/player/color.qc
7 color = shirt * 16 + pants
16 void( string pValue ) _IDNC_SendSyncCmd = {
17 local float lPants, lShirt, lCombined;
19 lCombined = stof( pValue );
20 lPants = lCombined & 0x0F;
21 lShirt = (lCombined & 0xF0) / 16;
23 cmd( "color ", ftos( lPants ), " ", ftos( lShirt ), "\n" );
24 print( "%color ", ftos( lPants ), " ", ftos( lShirt ), "\n" );
29 String_EntitySet( self, value, cvar_string( "_cl_color" ) );
30 String_EntitySet( self, _syncValue, self.value );
35 _IDNC_SendSyncCmd( self.value );
37 String_EntitySet( self, _syncValue, self.value );
40 void() _IDNC_Test_Start =
42 _IDNC_SendSyncCmd( self.value );
45 void() _IDNC_Test_End =
47 String_EntitySet( self, value, self._syncValue );
48 _IDNC_SendSyncCmd( self.value );
53 String_EntitySet( self, value, self.defValue );
57 void( float pEvent ) Item_Data_Nex_Color_DataEvent =
69 case ITEM_DATA_TEST_START:
72 case ITEM_DATA_TEST_END:
78 void() Item_Data_Nex_Color_Spawn =
82 self._reinit = _IDNC_Sync;
83 self._dataEvent = Item_Data_Nex_Color_DataEvent;
88 Item_DataLink_Nex_PantsColor
92 void( float pEvent ) Item_DataLink_Nex_PantsColor_DataEvent =
94 Item_DataLink_Update();
96 if( pEvent == ITEM_DATALINK_SET ) {
97 Item_DataLink_Value_Clamp();
100 local float lNewColor;
102 self._realValue = stof( self.value );
104 lShirt = (stof( self._link.value ) & 0xF0) / 16;
105 lNewColor = self._realValue + lShirt * 16;
107 self._link._realValue = lNewColor;
108 String_EntitySet( self._link, value, Util_FloatToClampedText( lNewColor, 1.0 ) );
110 Raise_DataEvent( self._link, ITEM_DATALINK_SET );
112 } else if( !self._link )
114 else if( pEvent == ITEM_DATALINK_GET ) {
115 Raise_DataEvent( self._link, ITEM_DATALINK_GET );
116 self._realValue = stof( self._link.value ) & 0x0F;
118 Item_DataLink_Value_Clamp();
119 String_EntitySet( self, value, Item_DataLink_Value_ClampedText() );
121 Raise_DataEvent( self._link, pEvent );
124 void() Item_DataLink_Nex_PantsColor_Spawn =
126 Item_DataLink_Value_Spawn();
128 self.stepValue = 1.0;
130 self._dataEvent = Item_DataLink_Nex_PantsColor_DataEvent;
135 Item_DataLink_Nex_ShirtColor
139 void( float pEvent ) Item_DataLink_Nex_ShirtColor_DataEvent =
141 Item_DataLink_Update();
143 if( pEvent == ITEM_DATALINK_SET ) {
144 Item_DataLink_Value_Clamp();
147 local float lNewColor;
149 self._realValue = stof( self.value );
151 lPants = stof( self._link.value ) & 0x0F;
152 lNewColor = self._realValue * 16 + lPants;
154 self._link._realValue = lNewColor;
155 String_EntitySet( self._link, value, Util_FloatToClampedText( lNewColor, 1.0 ) );
157 Raise_DataEvent( self._link, ITEM_DATALINK_SET );
159 } else if( !self._link )
161 else if( pEvent == ITEM_DATALINK_GET ) {
162 Raise_DataEvent( self._link, ITEM_DATALINK_GET );
163 self._realValue = (stof( self._link.value ) & 0xF0) / 16;
165 Item_DataLink_Value_Clamp();
166 String_EntitySet( self, value, Item_DataLink_Value_ClampedText() );
168 Raise_DataEvent( self._link, pEvent );
171 void() Item_DataLink_Nex_ShirtColor_Spawn =
173 Item_DataLink_Value_Spawn();
175 self.stepValue = 1.0;
177 self._dataEvent = Item_DataLink_Nex_ShirtColor_DataEvent;