C_far

/bk (+ /v) | zcmd + sscanf + y_va

Jan 27th, 2018
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.04 KB | None | 0 0
  1. #pragma compat 1
  2.  
  3. #include "a_samp"
  4.  
  5. #undef MAX_PLAYERS
  6. #define MAX_PLAYERS 5
  7.  
  8. #include "zcmd"
  9. #include "sscanf2"
  10. #include "YSI\y_va"
  11.  
  12. #define INFINITY (Float:0x7F800000)
  13.  
  14. #define Scm_Params (3)
  15.  
  16. // native Scm(playerid, color, const fmat[], ...);
  17. stock Scm(playerid, color, const fmat[], va_args<>)
  18. {
  19.     if(numargs() == Scm_Params) return SendClientMessage(playerid, color, fmat);
  20.  
  21.     static
  22.         str[145];
  23.        
  24.     va_format(str, sizeof(str), fmat, va_start<Scm_Params>);    
  25.     return SendClientMessage(playerid, color, str);
  26. }
  27.  
  28. #define Sce(%0,%1) Scm(%0, 0xAA0000FF, "ERREUR{FFFFFF}: "%1)
  29. #define Scu(%0,%1) Scm(%0, 0xAA0000FF, "USAGE{AAAAAA}: "%1)
  30.  
  31. main()
  32. {
  33.  
  34. }
  35.  
  36. //--------------------------------------------------------------------------------------
  37.  
  38. public OnGameModeInit()
  39. {
  40.     SetGameModeText("GM: TutoVideo");
  41.     ShowPlayerMarkers(PLAYER_MARKERS_MODE_OFF);
  42.  
  43.     return true;
  44. }
  45.  
  46. public OnPlayerSpawn(playerid)
  47. {  
  48.     SetPlayerHealth(playerid, INFINITY);
  49.     SetPlayerPos(playerid, 2032.1702, 1344.1896, 10.8203);
  50.     SetPlayerFacingAngle(playerid, 270.1425);
  51.     SetPlayerColor(playerid, -1);
  52.     SetPlayerSkin(playerid, 252);
  53.    
  54.     return true;
  55. }
  56.  
  57. new bool:bk_actived[MAX_PLAYERS];
  58. new bool:bk[MAX_PLAYERS];
  59. new timer_bk[MAX_PLAYERS];
  60.  
  61. forward Timer_BK(playerid);
  62. public Timer_BK(playerid)
  63. {
  64.     new
  65.         Float:x,
  66.         Float:y,
  67.         Float:z;
  68.  
  69.     GetPlayerPos(playerid, x, y, z);
  70.  
  71.     if(bk[playerid])
  72.     {
  73.         for(new i = 0; i < MAX_PLAYERS; i++)
  74.         {
  75.             if(IsPlayerConnected(i))
  76.             {
  77.                 SetPlayerMapIcon(i, playerid, x, y, z, 20, 0, MAPICON_GLOBAL);
  78.             }
  79.         }
  80.     }
  81.  
  82.     else
  83.     {
  84.         for(new i = 0; i < MAX_PLAYERS; i++)
  85.         {
  86.             if(IsPlayerConnected(i))
  87.             {
  88.                 SetPlayerMapIcon(i, playerid, x, y, z, 30, 0, MAPICON_GLOBAL);
  89.             }
  90.         }
  91.     }
  92.  
  93.     bk[playerid] = !bk[playerid];
  94.  
  95.     return true;
  96. }
  97.  
  98. //--------------------------------------------------------------------------------------
  99.  
  100. CMD:bk(playerid, params[])
  101. {
  102.     bk_actived[playerid] = !bk_actived[playerid];
  103.  
  104.     if(bk_actived[playerid])
  105.     {
  106.         new
  107.             Float:x,
  108.             Float:y,
  109.             Float:z;
  110.  
  111.         GetPlayerPos(playerid, x, y, z);
  112.  
  113.         for(new i = 0; i < MAX_PLAYERS; i++)
  114.         {
  115.             if(IsPlayerConnected(i))
  116.             {
  117.                 SetPlayerMapIcon(i, playerid, x, y, z, 20, 0, MAPICON_GLOBAL);
  118.             }
  119.         }
  120.  
  121.         bk[playerid] = false;
  122.         timer_bk[playerid] = SetTimerEx("Timer_BK", 50, true, "d", playerid);
  123.     }
  124.  
  125.     else
  126.     {
  127.         KillTimer(timer_bk[playerid]);
  128.        
  129.         for(new i = 0; i < MAX_PLAYERS; i++)
  130.         {
  131.             if(IsPlayerConnected(i))
  132.             {
  133.                 RemovePlayerMapIcon(i, playerid);
  134.             }
  135.         }
  136.     }
  137.  
  138.     return true;
  139. }
  140.  
  141. CMD:v(playerid, params[])
  142. {
  143.     new
  144.         modelid;
  145.  
  146.     if(sscanf(params, "d", modelid)) return Scu(playerid, "/v [Modèle ID: 400 - 611]");
  147.     if(!(400 <= modelid <= 611)) return Sce(playerid, "Modèle ID: 400 - 611");
  148.    
  149.     new
  150.         Float:x,
  151.         Float:y,
  152.         Float:z,
  153.         Float:a;
  154.        
  155.     GetPlayerPos(playerid, x, y, z);
  156.     GetPlayerFacingAngle(playerid, a);
  157.    
  158.     new
  159.         vehicleid = CreateVehicle(modelid, x, y, z, a, random(256), random(256), 10000);
  160.        
  161.     Scm(playerid, -1, "ID du véhicule : %d", vehicleid);
  162.    
  163.     return true;
  164. }
Advertisement