Advertisement
Guest User

Zezombia

a guest
May 1st, 2008
1,775
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.00 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. #define white 0xFFFFFFFF
  4.  
  5. public OnPlayerCommandText(playerid, cmdtext[])
  6. {
  7.     new cmd[256], idx;
  8.     cmd = strtok(cmdtext, idx);
  9.  
  10.     if(strcmp(cmd, "/v", true) == 0)
  11.     {
  12.         if(IsPlayerAdmin(playerid) == 0) return 0;
  13.  
  14.         new var1;
  15.         new tmp1[256];
  16.        
  17.         tmp1 = strtok(cmdtext, idx);
  18.         if(!strlen(tmp1)) return SendClientMessage(playerid, white, "USE: /v [id]");
  19.         var1 = strval(tmp1);
  20.  
  21.         if(var1 < 400 || var1 > 611)
  22.         {
  23.             return SendClientMessage(playerid, white, "USE: Car IDs go from 400 to 611");
  24.         }
  25.  
  26.         new Float:x, Float:y, Float:z, Float:a;
  27.         GetPlayerFacingAngle(playerid, a);
  28.         GetPlayerPos(playerid, x, y, z);
  29.        
  30.         if(IsPlayerInAnyVehicle(playerid) == 1)
  31.         {
  32.             GetXYInFrontOfPlayer(playerid, x, y, 8);
  33.         }
  34.         else
  35.         {
  36.             GetXYInFrontOfPlayer(playerid, x, y, 5);
  37.         }
  38.        
  39.         new i = GetPlayerInterior(playerid);
  40.        
  41.         new v = CreateVehicle(var1, x, y, z, a+90, -1, -1, 0);
  42.        
  43.         LinkVehicleToInterior(v, i);
  44.        
  45.         new string[100];
  46.         format(string, sizeof(string), "Car with id %d has been spawned", var1);
  47.         SendClientMessage(playerid, white, string);
  48.        
  49.         new pname[26];
  50.         GetPlayerName(playerid, pname, sizeof(pname));
  51.         printf("RCON (In-Game): [%s] sent command: v %d", pname, var1);
  52.         return 1;
  53.     }
  54.     return 0;
  55. }
  56.  
  57. stock strtok(const string[], &index)
  58. {
  59.     new length = strlen(string);
  60.     while ((index < length) && (string[index] <= ' '))
  61.     {
  62.         index++;
  63.     }
  64.  
  65.     new offset = index;
  66.     new result[20];
  67.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  68.     {
  69.         result[index - offset] = string[index];
  70.         index++;
  71.     }
  72.     result[index - offset] = EOS;
  73.     return result;
  74. }
  75.  
  76. stock GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
  77. {
  78.     new Float:a;
  79.  
  80.     GetPlayerPos(playerid, x, y, a);
  81.     GetPlayerFacingAngle(playerid, a);
  82.  
  83.     if(GetPlayerVehicleID(playerid))
  84.     {
  85.         GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
  86.     }
  87.  
  88.     x += (distance * floatsin(-a, degrees));
  89.     y += (distance * floatcos(-a, degrees));
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement