Advertisement
Kartik_Sharma

TextDraw Grouper

Aug 18th, 2012
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.11 KB | None | 0 0
  1. #if !defined TDperGroup
  2.     #define TDperGroup 25
  3. #endif
  4.  
  5. #if !defined MAX_GROUPS
  6.     #define MAX_GROUPS 100
  7. #endif
  8.  
  9. /*
  10. native CreateTDGroup({Text}:...);
  11. native DestroyTDGroup(slot);
  12. native TDGroupAddTD(slot,{Text}:...);
  13. native TDGroupRemoveTD(slot,{Text}:...);
  14. native TDGroupShowForAll(slot);
  15. native TDGroupHideForAll(slot);
  16. native TDGroupShowForPlayer(playerid,slot);
  17. native TDGroupHideForPlayer(playerid,slot);
  18.  
  19. */
  20.  
  21. enum E_TD_ENUM
  22. {
  23.     count,
  24. }
  25. new tdenum[MAX_GROUPS][E_TD_ENUM];
  26. new TDid[MAX_GROUPS][TDperGroup];
  27.  
  28. stock CreateTDGroup({Text}:...)
  29. {
  30.     new slot = -1;
  31.    
  32.     for(new i=0;i<MAX_GROUPS;++i)
  33.     {
  34.         if(tdenum[i][count] == -1)
  35.         {
  36.             slot=i;
  37.             break;
  38.         }
  39.     }
  40.    
  41.     if(slot == -1)
  42.     {
  43.         printf("No more emply slot's found. Increase MAX_GROUPS");
  44.         return -1;
  45.     }
  46.    
  47.     new num = tdenum[slot][count] = numargs();
  48.  
  49.     if(num > TDperGroup)
  50.     {
  51.         printf("Increase TDperGroup");
  52.         return -1;
  53.     }
  54.     for(new i=0;i<num;++i)
  55.     {
  56.         TDid[slot][i]=getarg(i,0);
  57.     }
  58.    
  59.     return slot;
  60. }
  61.  
  62. stock DestroyTDGroup(slot)
  63. {
  64.     if(slot > MAX_GROUPS || slot<0)
  65.     {
  66.         printf("Invalid Slot Passed in DestroyTDGroup");
  67.         return -1;
  68.     }
  69.     tdenum[slot][count] = -1;
  70.     return 1;
  71. }
  72. stock TDGroupAddTD(slot,{Text}:...)
  73. {
  74.     if(slot > MAX_GROUPS || slot<0)
  75.     {
  76.         printf("Invalid Slot Passed ");
  77.         return -1;
  78.     }
  79.     new num = numargs();
  80.     new at = tdenum[slot][count];
  81.     if((num+at-1) > MAX_GROUPS)
  82.     {
  83.         printf("Increase TDperGroup");
  84.         return -1;
  85.     }
  86.     new i,j;
  87.     for(i = at,j=1;j<num;++i,++j) TDid[slot][i]=getarg(j,0);
  88.     tdenum[slot][count]=tdenum[slot][count]+num-1;
  89.     return 1;
  90. }
  91.  
  92. stock TDGroupRemoveTD(slot,{Text}:...)
  93. {
  94.     if(slot > MAX_GROUPS || slot<0)
  95.     {
  96.         printf("Invalid Slot Passed ");
  97.         return -1;
  98.     }
  99.     new num = numargs();
  100.     new c = tdenum[slot][count];
  101.    
  102.     for(new j=1;j<num;++j)
  103.     {
  104.         for(new i=0;i<c;++i)
  105.         {
  106.             if(TDid[slot][i]==getarg(j,0))
  107.             {
  108.                 c=c-1;
  109.                 for(new k=i;k<c;++k) TDid[slot][k] = TDid[slot][k+1];
  110.                 break;
  111.             }
  112.                
  113.         }
  114.     }
  115.     tdenum[slot][count]=tdenum[slot][count]-num+1;
  116.     return 1;
  117. }
  118.  
  119. stock TDGroupShowForAll(slot)
  120. {
  121.     if(slot > MAX_GROUPS || slot<0)
  122.     {
  123.         printf("Invalid Slot Passed ");
  124.         return -1;
  125.     }
  126.     for(new i=0;i<tdenum[slot][count];++i)
  127.         TextDrawShowForAll(Text:TDid[slot][i]);
  128.     return 1;
  129. }
  130. stock TDGroupHideForAll(slot)
  131. {
  132.     if(slot > MAX_GROUPS || slot<0)
  133.     {
  134.         printf("Invalid Slot Passed ");
  135.         return -1;
  136.     }
  137.     for(new i=0;i<tdenum[slot][count];++i)
  138.         TextDrawHideForAll(Text:TDid[slot][i]);
  139.     return 1;
  140. }
  141. stock TDGroupShowForPlayer(playerid,slot)
  142. {
  143.     if(slot > MAX_GROUPS || slot<0)
  144.     {
  145.         printf("Invalid Slot Passed ");
  146.         return -1;
  147.     }
  148.    
  149.     for(new i=0;i<tdenum[slot][count];++i)
  150.         TextDrawShowForPlayer(playerid,Text:TDid[slot][i]);
  151.     return 1;
  152. }
  153. stock TDGroupHideForPlayer(playerid,slot)
  154. {
  155.     if(slot > MAX_GROUPS || slot<0)
  156.     {
  157.         printf("Invalid Slot Passed ");
  158.         return -1;
  159.     }
  160.     for(new i=0;i<tdenum[slot][count];++i)
  161.         TextDrawHideForPlayer(playerid,Text:TDid[slot][i]);
  162.     return 1;
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement