Advertisement
Guest User

.

a guest
Jul 2nd, 2015
392
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.58 KB | None | 0 0
  1. stock DynVeh_Spawn(iDvSlotID)
  2. {
  3. if(!(0 <= iDvSlotID < MAX_DYNAMIC_VEHICLES)) return 1;
  4. new string[128];
  5. format(string, sizeof(string), "Attempting to spawn DV Slot ID %d", iDvSlotID);
  6. Log("logs/dvspawn.log", string);
  7. new tmpdv = INVALID_VEHICLE_ID;
  8. if(DynVehicleInfo[iDvSlotID][gv_iSpawnedID] != INVALID_VEHICLE_ID)
  9. {
  10. tmpdv = DynVeh[DynVehicleInfo[iDvSlotID][gv_iSpawnedID]];
  11. DynVeh[DynVehicleInfo[iDvSlotID][gv_iSpawnedID]] = -1;
  12. }
  13. if(DynVehicleInfo[iDvSlotID][gv_iSpawnedID] != INVALID_VEHICLE_ID) {
  14. if(tmpdv == iDvSlotID) {
  15. format(string, sizeof(string), "Destroying Vehicle ID %d for DV Slot %d",DynVehicleInfo[iDvSlotID][gv_iSpawnedID], iDvSlotID);
  16. Log("logs/dvspawn.log", string);
  17. DestroyVehicle(DynVehicleInfo[iDvSlotID][gv_iSpawnedID]);
  18. DynVehicleInfo[iDvSlotID][gv_iSpawnedID] = INVALID_VEHICLE_ID;
  19. for(new i = 0; i != MAX_DV_OBJECTS; i++)
  20. {
  21. if(DynVehicleInfo[iDvSlotID][gv_iAttachedObjectID][i] != INVALID_OBJECT_ID) {
  22. DestroyDynamicObject(DynVehicleInfo[iDvSlotID][gv_iAttachedObjectID][i]);
  23. DynVehicleInfo[iDvSlotID][gv_iAttachedObjectID][i] = INVALID_OBJECT_ID;
  24. }
  25. }
  26. }
  27. }
  28. if(!(400 < DynVehicleInfo[iDvSlotID][gv_iModel] < 612)) {
  29. format(string, sizeof(string), "Invalid Vehicle Model ID for DV Slot %d", iDvSlotID);
  30. Log("logs/dvspawn.log", string);
  31. return 1;
  32. }
  33. if(DynVehicleInfo[iDvSlotID][gv_iDisabled] == 1) return 1;
  34. if(DynVehicleInfo[iDvSlotID][gv_igID] != INVALID_GROUP_ID && tmpdv != -1) {
  35. new iGroupID = DynVehicleInfo[iDvSlotID][gv_igID];
  36. if(arrGroupData[iGroupID][g_iGroupType] == 1 || arrGroupData[iGroupID][g_iGroupType] == 3 || arrGroupData[iGroupID][g_iGroupType] == 6 || arrGroupData[iGroupID][g_iGroupType] == 7)
  37. {
  38. if(arrGroupData[iGroupID][g_iBudget] >= floatround(DynVehicleInfo[iDvSlotID][gv_iUpkeep] / 2))
  39. {
  40. arrGroupData[iGroupID][g_iBudget] -= floatround(DynVehicleInfo[iDvSlotID][gv_iUpkeep] / 2);
  41. new str[128], file[32];
  42. format(str, sizeof(str), "Vehicle Slot ID %d RTB fee cost $%d to %s's budget fund.", iDvSlotID, floatround(DynVehicleInfo[iDvSlotID][gv_iUpkeep] / 2), arrGroupData[iGroupID][g_szGroupName]);
  43. new month, day, year;
  44. getdate(year,month,day);
  45. format(file, sizeof(file), "grouppay/%d/%d-%d-%d.log", iGroupID, month, day, year);
  46. Log(file, str);
  47. }
  48. else
  49. {
  50. DynVehicleInfo[iDvSlotID][gv_iDisabled] = 1;
  51. return 1;
  52. }
  53. }
  54. }
  55. DynVehicleInfo[iDvSlotID][gv_iSpawnedID] = CreateVehicle(DynVehicleInfo[iDvSlotID][gv_iModel], DynVehicleInfo[iDvSlotID][gv_fX], DynVehicleInfo[iDvSlotID][gv_fY], DynVehicleInfo[iDvSlotID][gv_fZ], DynVehicleInfo[iDvSlotID][gv_fRotZ], DynVehicleInfo[iDvSlotID][gv_iCol1], DynVehicleInfo[iDvSlotID][gv_iCol2], VEHICLE_RESPAWN);
  56. DynVeh_Save(iDvSlotID);
  57. format(string, sizeof(string), "Vehicle ID %d spawned for DV Slot %d",DynVehicleInfo[iDvSlotID][gv_iSpawnedID], iDvSlotID);
  58. Log("logs/dvspawn.log", string);
  59. SetVehicleHealth(DynVehicleInfo[iDvSlotID][gv_iSpawnedID], DynVehicleInfo[iDvSlotID][gv_fMaxHealth]);
  60. SetVehicleVirtualWorld(DynVehicleInfo[iDvSlotID][gv_iSpawnedID], DynVehicleInfo[iDvSlotID][gv_iVW]);
  61. LinkVehicleToInterior(DynVehicleInfo[iDvSlotID][gv_iSpawnedID], DynVehicleInfo[iDvSlotID][gv_iInt]);
  62. VehicleFuel[DynVehicleInfo[iDvSlotID][gv_iSpawnedID]] = DynVehicleInfo[iDvSlotID][gv_fFuel];
  63. DynVeh[DynVehicleInfo[iDvSlotID][gv_iSpawnedID]] = iDvSlotID;
  64. for(new i = 0; i != MAX_DV_OBJECTS; i++)
  65. {
  66. if(DynVehicleInfo[iDvSlotID][gv_iAttachedObjectModel][i] != INVALID_OBJECT_ID && DynVehicleInfo[iDvSlotID][gv_iAttachedObjectModel][i] != 0)
  67. {
  68. DynVehicleInfo[iDvSlotID][gv_iAttachedObjectID][i] = CreateDynamicObject(DynVehicleInfo[iDvSlotID][gv_iAttachedObjectModel][i],0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  69. AttachDynamicObjectToVehicle(DynVehicleInfo[iDvSlotID][gv_iAttachedObjectID][i], DynVehicleInfo[iDvSlotID][gv_iSpawnedID], DynVehicleInfo[iDvSlotID][gv_fObjectX][i], DynVehicleInfo[iDvSlotID][gv_fObjectY][i], DynVehicleInfo[iDvSlotID][gv_fObjectZ][i], DynVehicleInfo[iDvSlotID][gv_fObjectRX][i], DynVehicleInfo[iDvSlotID][gv_fObjectRY][i], DynVehicleInfo[iDvSlotID][gv_fObjectRZ][i]);
  70.  
  71. }
  72. }
  73. if(!isnull(DynVehicleInfo[iDvSlotID][gv_iPlate])) {
  74. SetVehicleNumberPlate(DynVehicleInfo[iDvSlotID][gv_iSpawnedID], DynVehicleInfo[iDvSlotID][gv_iPlate]);
  75. }
  76. Vehicle_ResetData(DynVehicleInfo[iDvSlotID][gv_iSpawnedID]);
  77. LoadGroupVehicleMods(DynVehicleInfo[iDvSlotID][gv_iSpawnedID]);
  78. return 1;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement