Guest User

[Include] SA:MP GetLastDriver

a guest
Apr 2nd, 2020
423
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.85 KB | None | 0 0
  1. /*  SA-MP GetLastDriver
  2.  *
  3.  *  (c) Copyright 2020, Kaliber
  4.  *
  5.  */
  6. /******************************************************************************/
  7. /*
  8.     native GetLastDriver(vehicleid);
  9. */
  10. /******************************************************************************/
  11. #if defined _last_driver_included
  12.     #endinput
  13. #endif
  14. #define _last_driver_included
  15. /******************************************************************************/
  16. #if !defined _samp_included
  17.     #include <a_samp>
  18. #endif
  19. /******************************************************************************/
  20. public OnPlayerStateChange(playerid, newstate, oldstate)
  21. {
  22.     if(newstate == PLAYER_STATE_DRIVER)
  23.     {
  24.         new n[MAX_PLAYER_NAME];
  25.         GetPlayerName(playerid,n,MAX_PLAYER_NAME);
  26.         setproperty(.value = GetPlayerVehicleID(playerid)+1000, .string = n);
  27.     }
  28.     #if defined Veh_Driver_OnPlayerStateChange
  29.         return Veh_Driver_OnPlayerStateChange(playerid, newstate, oldstate);
  30.     #else
  31.         return 1;
  32.     #endif
  33. }
  34. #if defined Veh_Driver_OnPlayerStateChange
  35.     forward Veh_Driver_OnPlayerStateChange(playerid, newstate, oldstate);
  36. #endif
  37. #if defined _ALS_OnPlayerStateChange
  38.     #undef OnPlayerStateChange
  39. #else
  40.     #define _ALS_OnPlayerStateChange
  41. #endif
  42. #define OnPlayerStateChange Veh_Driver_OnPlayerStateChange
  43. /******************************************************************************/
  44. stock GetLastDriver(vehicleid)
  45. {
  46.     new bool:f,str[MAX_PLAYER_NAME];
  47.     if(existproperty(.value=vehicleid+1000))
  48.     {
  49.         getproperty(.value=vehicleid+1000, .string=str),strunpack(str, str, sizeof(str));
  50.         for(new i=GetPlayerPoolSize(),n[MAX_PLAYER_NAME]; i!=-1; i--)
  51.         {
  52.             if(GetPlayerName(i,n,MAX_PLAYER_NAME) && !strcmp(n,str))
  53.             {
  54.                 f = true;
  55.                 break;
  56.             }
  57.         }
  58.         if(!f) deleteproperty(.value=vehicleid+1000);
  59.     }
  60.     if(!f) str = "Niemand";
  61.     return str;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment