Advertisement
Guest User

Untitled

a guest
Sep 2nd, 2010
401
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.99 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. /*
  4. native CreatePrivateVehicle(pName[],id,Float:x,Float:y,Float:z,Float:r,c1,c2)
  5. native MakeVehiclePrivateForPlayer(vehicleid,pName[])
  6. native MakeVehiclePublicForAll(vehicleid)
  7. native LendVehicleToPlayer(vehicleid,playerid)
  8. native ReturnVehicleToOwner(vehicleid)
  9. native IsPlayerOwner(playerid,vehicleid)
  10. */
  11.  
  12. new gpVehicle[MAX_VEHICLES][32];
  13. new gOwner[MAX_VEHICLES][32];
  14. new gWarned[MAX_PLAYERS];
  15.  
  16. stock CreatePrivateVehicle(pName[], id, Float:x, Float:y, Float:z, Float:r, c1, c2)
  17. {
  18.     new veh = AddStaticVehicle(id,x,y,z,r,c1,c2);
  19.     format(gpVehicle[veh],32,"%s",pName);
  20.     format(gOwner[veh],32,"%s",pName);
  21.     return veh;
  22. }
  23.  
  24. stock MakeVehiclePrivateForPlayer(vehicleid,pName[])
  25. {
  26.     format(gpVehicle[vehicleid],32,"%s",pName);
  27.     format(gOwner[vehicleid],32,"%s",pName);
  28.     return 1;
  29. }
  30.  
  31. stock MakeVehiclePublicForAll(vehicleid)
  32. {
  33.     new tmp[32];
  34.     format(gpVehicle[vehicleid],sizeof tmp,"%s",tmp);
  35.     return 1;
  36. }
  37.  
  38. stock LendVehicleToPlayer(vehicleid,playerid)
  39. {
  40.     new pName[32];
  41.     GetPlayerName(playerid,pName,32);
  42.     format(gpVehicle[vehicleid],32,"%s",pName);
  43.     return 1;
  44. }
  45.  
  46. stock ReturnVehicleToOwner(vehicleid)
  47. {
  48.     format(gpVehicle[vehicleid],32,"%s",gOwner[vehicleid]);
  49.     return 1;
  50. }
  51.  
  52. stock IsPlayerOwner(playerid,vehicleid)
  53. {
  54.     new pName[32];
  55.     GetPlayerName(playerid,pName,32);
  56.     if (strcmp(gOwner[vehicleid],pName,true)) return 1;
  57.     return 0;
  58. }
  59.  
  60. public OnPlayerConnect(playerid)
  61. {
  62.     gWarned[playerid] = 0;
  63.     CallLocalFunction("PVehicle_OnPlayerConnect", "i", playerid);
  64.     return 1;
  65. }
  66.  
  67. #if defined _ALS_OnPlayerConnect
  68.     #undef OnPlayerConnect
  69. #else
  70.     #define _ALS_OnPlayerConnect
  71. #endif
  72.  
  73. #define OnPlayerConnect PVehicle_OnPlayerConnect
  74. forward PVehicle_OnPlayerConnect(playerid);
  75.  
  76. public OnPlayerStateChange(playerid, newstate, oldstate)
  77. {
  78.     if (newstate == PLAYER_STATE_DRIVER)
  79.     {
  80.         new
  81.             pName[MAX_PLAYER_NAME],
  82.             string[128],
  83.             veh = GetPlayerVehicleID(playerid);
  84.         GetPlayerName(playerid, pName, sizeof (pName));
  85.         if (strcmp(pName, gpVehicle[veh], true))
  86.         {
  87.             if (gWarned[playerid] == 1)
  88.             {
  89.                 format(string,sizeof string,"[PVehicle] You have been punished (second attempt for trying to steal %s's private vehicle).", gpVehicle[veh]);
  90.                 SendClientMessage(playerid, 0xFF3200FF, string);
  91.                 SetPlayerHealth(playerid, 0.0);
  92.                 gWarned[playerid] = 0;
  93.             } else {
  94.                 format(string,sizeof string,"[PVehicle] Do not steal a private Vehicle or you get punished! (first attempt for trying to steal %s's private vehicle).", gpVehicle[veh]);
  95.                 SendClientMessage(playerid,0xFFCC00FF,string);
  96.                 gWarned[playerid]++;
  97.                 RemovePlayerFromVehicle(playerid);
  98.             }
  99.         }
  100.     }
  101.     CallLocalFunction("PVehicle_OnPlayerStateChange", "iii", playerid, newstate, oldstate);
  102.     return 1;
  103. }
  104.  
  105. #if defined _ALS_OnPlayerStateChange
  106.     #undef OnPlayerStateChange
  107. #else
  108.     #define _ALS_OnPlayerStateChange
  109. #endif
  110.  
  111. #define OnPlayerStateChange PVehicle_OnPlayerStateChange
  112. forward PVehicle_OnPlayerStateChange(playerid, newstate, oldstate);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement