Advertisement
Hanger

GetVehicleColor v2.1 - Proper Hooks

Aug 3rd, 2014
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.     SA-MP "GetVehicleColor v2.1" Include
  3.     Copyright © 2011 RyDeR`
  4. */
  5.  
  6. #if defined _Included_GetVehicleColor
  7.     #endinput
  8. #endif
  9.  
  10. #define _Included_GetVehicleColor
  11.  
  12. #define PROPERTY_OFFSET(%0) \
  13.     ((((%0) * ((%0) << 1)) << 2) + 65536)
  14.  
  15. stock n_AddStaticVehicle(modelID, Float: spawn_X, Float: spawn_Y, Float: spawn_Z, Float: z_Angle, color1, color2)
  16. {
  17.     if(color1 < 0 || color2 < 0)
  18.     {
  19.         color1 = random(127);
  20.         color2 = random(127);
  21.     }
  22.     modelID = AddStaticVehicle(modelID, spawn_X, spawn_Y, spawn_Z, z_Angle, color1, color2);
  23.    
  24.     new
  25.         colorStr[24]
  26.     ;  
  27.     format(colorStr, sizeof(colorStr), "%d-%d", color1, color2);
  28.     setproperty(_, "", PROPERTY_OFFSET(modelID), colorStr);
  29.    
  30.     return modelID;
  31. }
  32. #if defined _ALS_AddStaticVehicle
  33.     #undef AddStaticVehicle
  34. #else
  35.     #define _ALS_AddStaticVehicle
  36. #endif
  37. #define AddStaticVehicle n_AddStaticVehicle
  38.  
  39. stock n_AddStaticVehicleEx(modelID, Float: spawn_X, Float: spawn_Y, Float: spawn_Z, Float: z_Angle, color1, color2, respawn_Delay)
  40. {
  41.     if(color1 < 0 || color2 < 0)
  42.     {
  43.         color1 = random(127);
  44.         color2 = random(127);
  45.     }
  46.     modelID = AddStaticVehicleEx(modelID, spawn_X, spawn_Y, spawn_Z, z_Angle, color1, color2, respawn_Delay);
  47.    
  48.     new
  49.         colorStr[24]
  50.     ;  
  51.     format(colorStr, sizeof(colorStr), "%d-%d", color1, color2);
  52.     setproperty(_, "", PROPERTY_OFFSET(modelID), colorStr);
  53.    
  54.     return modelID;
  55. }
  56. #if defined _ALS_AddStaticVehicleEx
  57.     #undef AddStaticVehicleEx
  58. #else
  59.     #define _ALS_AddStaticVehicleEx
  60. #endif
  61. #define AddStaticVehicleEx n_AddStaticVehicleEx
  62.  
  63. stock n_CreateVehicle(modelID, Float: spawn_X, Float: spawn_Y, Float: spawn_Z, Float: z_Angle, color1, color2, respawn_Delay)
  64. {
  65.     if(color1 < 0 || color2 < 0)
  66.     {
  67.         color1 = random(127);
  68.         color2 = random(127);
  69.     }
  70.     modelID = CreateVehicle(modelID, spawn_X, spawn_Y, spawn_Z, z_Angle, color1, color2, respawn_Delay);
  71.    
  72.     new
  73.         colorStr[24]
  74.     ;  
  75.     format(colorStr, sizeof(colorStr), "%d-%d", color1, color2);
  76.     setproperty(_, "", PROPERTY_OFFSET(modelID), colorStr);
  77.    
  78.     return modelID;
  79. }
  80. #if defined _ALS_CreateVehicle
  81.     #undef CreateVehicle
  82. #else
  83.     #define _ALS_CreateVehicle
  84. #endif
  85. #define CreateVehicle n_CreateVehicle
  86.  
  87. stock n_DestroyVehicle(vehicleID)
  88. {
  89.     deleteproperty(_, "", PROPERTY_OFFSET(vehicleID));
  90.    
  91.     return DestroyVehicle(vehicleID);
  92. }
  93. #if defined _ALS_DestroyVehicle
  94.     #undef DestroyVehicle
  95. #else
  96.     #define _ALS_DestroyVehicle
  97. #endif
  98. #define DestroyVehicle n_DestroyVehicle
  99.  
  100. stock n_ChangeVehicleColor(vehicleID, color1, color2)
  101. {
  102.     new
  103.         colorStr[24]
  104.     ;  
  105.     format(colorStr, sizeof(colorStr), "%d-%d", color1, color2);
  106.     setproperty(_, "", PROPERTY_OFFSET(vehicleID), colorStr);
  107.    
  108.     return ChangeVehicleColor(vehicleID, color1, color2);
  109. }
  110. #if defined _ALS_ChangeVehicleColor
  111.     #undef ChangeVehicleColor
  112. #else
  113.     #define _ALS_ChangeVehicleColor
  114. #endif
  115. #define ChangeVehicleColor n_ChangeVehicleColor
  116.  
  117. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  118. {
  119.     new
  120.         colorStr[24]
  121.     ;  
  122.     format(colorStr, sizeof(colorStr), "%d-%d", color1, color2);
  123.     setproperty(_, "", PROPERTY_OFFSET(vehicleid), colorStr);
  124.    
  125.     #if defined n_OnVehicleRespray
  126.         return n_OnVehicleRespray(playerid, vehicleid, color1, color2);
  127.     #else
  128.         return 0;
  129.     #endif
  130. }
  131. #if defined _ALS_OnVehicleRespray
  132.     #undef OnVehicleRespray
  133. #else
  134.     #define _ALS_OnVehicleRespray
  135. #endif
  136. #define OnVehicleRespray n_OnVehicleRespray
  137. #if defined n_OnVehicleRespray
  138.     forward n_OnVehicleRespray(playerid, vehicleid, color1, color2);
  139. #endif
  140.  
  141. stock GetVehicleColor(vehicleID, &color1, &color2)
  142. {
  143.     vehicleID = PROPERTY_OFFSET(vehicleID);
  144.    
  145.     if(existproperty(_, "", vehicleID))
  146.     {
  147.         new
  148.             colorStr[24],
  149.             strPos
  150.         ;
  151.         getproperty(_, "", vehicleID, colorStr);
  152.         strunpack(colorStr, colorStr);
  153.        
  154.         if((strPos = strfind(colorStr, "-")) != -1)
  155.         {
  156.             color1 = strval(colorStr);
  157.             color2 = strval(colorStr[strPos + 1]);
  158.             return 1;
  159.         }
  160.     }
  161.     return 0;
  162. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement