ownership.inc 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #include <YSI_Coding\y_hooks>
  2. #define MAX_OWNED_VEHICLES 3
  3. new Iterator:OwnedVehicle[MAX_PLAYERS]<MAX_VEHICLES>;
  4. hook OnGameModeInit()
  5. {
  6. Iter_Init(OwnedVehicle);
  7. }
  8. hook OnPlayerDisconnect(playerid, reason)
  9. {
  10. Iter_Clear(OwnedVehicle[playerid]);
  11. }
  12. hook OnPlayerFirstSpawn(playerid)
  13. {
  14. inline const OnOwnedVehicleFound()
  15. {
  16. new rows = cache_num_rows();
  17. for(new i; i < rows; i++)
  18. {
  19. new id = INVALID_ITERATOR_SLOT;
  20. cache_get_value_name_int(i, "id", id);
  21. Iter_Add(OwnedVehicle[playerid], id);
  22. }
  23. }
  24. MySQL_TQueryInline(MySQL_GetHandle(), using inline OnOwnedVehicleFound, "SELECT id FROM vehicles WHERE owner_id = %d LIMIT %d", Character_GetSQLID(playerid), MAX_OWNED_VEHICLES);
  25. }
  26. hook OnVehicleDeleted(sqlid)
  27. {
  28. foreach(new i : Player)
  29. {
  30. if(Iter_Contains(OwnedVehicle[i], sqlid))
  31. {
  32. Iter_Remove(OwnedVehicle[i], sqlid);
  33. SendAdminWarningF(i, "Vehicle SQL ID %d has been deleted from the server.", sqlid);
  34. }
  35. }
  36. }
  37. stock bool:IsPlayerOwningVehicle(playerid, vehiclesqlid)
  38. {
  39. if(Iter_Contains(OwnedVehicle[playerid], vehiclesqlid))
  40. {
  41. return true;
  42. }
  43. return false;
  44. }
  45. // TODO: Dealership system