Advertisement
Guest User

AFK-System1.0 by K4biX

a guest
Oct 23rd, 2011
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.77 KB | None | 0 0
  1. /*
  2. AFK-System by K4biX. 23.10.2011
  3. < http://forum.sa-mp.de/index.php?page=User&userID=15070 >
  4. Credits müssen drinnen bleiben.
  5. Editieren sowie verwenden dieses scriptes ist natürlich erlaubt.
  6. */
  7. #include <a_samp>
  8.  
  9. new string[128];
  10. new SpielerIstAFK[MAX_PLAYERS];
  11. new AFKTimer[MAX_PLAYERS];
  12. new TextDrawUpdate[MAX_PLAYERS];
  13. new Text:Textdraw0[MAX_PLAYERS];
  14. new Text3D:AFK3DTextLabel[MAX_PLAYERS];
  15.  
  16. #define COLOR_GRAU 0xBEBEBEFF
  17. #define AFK_3DTextLabel 0x00FF00FF // <-- Farbcode des 3DTextLabel's über dem Spieler.
  18.  
  19. main()
  20. {
  21.     print("\n-----------------------------------");
  22.     print("    -----------------------------    ");
  23.     print("    | K4biX's AFK-System Loaded |    ");
  24.     print("    -----------------------------    ");
  25.     print("             VERSION 1.0             ");
  26.     print("    -----------------------------    ");
  27.     print("------------------------------------\n");
  28. }
  29.  
  30. public OnFilterScriptInit()
  31. {
  32.     return 1;
  33. }
  34.  
  35. public OnFilterScriptExit()
  36. {
  37.     return 1;
  38. }
  39.  
  40. public OnPlayerConnect(playerid)
  41. {
  42.     SpielerIstAFK[playerid] = 0;
  43.     AFKTimer[playerid] = 0;
  44.     Textdraw0[playerid] = TextDrawCreate(502.000000,121.000000," ");
  45.     TextDrawAlignment(Textdraw0[playerid],0);
  46.     TextDrawBackgroundColor(Textdraw0[playerid],0x00000066);
  47.     TextDrawFont(Textdraw0[playerid],2);
  48.     TextDrawLetterSize(Textdraw0[playerid],0.199999,1.000000);
  49.     TextDrawColor(Textdraw0[playerid],0xffff00ff);
  50.     TextDrawSetOutline(Textdraw0[playerid],1);
  51.     TextDrawSetProportional(Textdraw0[playerid],1);
  52.     TextDrawSetShadow(Textdraw0[playerid],10);
  53.     return 1;
  54. }
  55.  
  56. public OnPlayerDisconnect(playerid, reason)
  57. {
  58.     KillTimer(TextDrawUpdate[playerid]);
  59.     TextDrawDestroy(Textdraw0[playerid]);
  60.     return 1;
  61. }
  62.  
  63. public OnPlayerText(playerid, text[])
  64. {
  65.     if(SpielerIstAFK[playerid] == 1)
  66.     {
  67.         SendClientMessage(playerid,COLOR_GRAU,"Im AFK-Modus kannst du den Chat nicht verwenden!");
  68.         return 0;
  69.     }
  70.     return 1;
  71. }
  72.  
  73. public OnPlayerCommandText(playerid, cmdtext[])
  74. {
  75.     if(!strcmp(cmdtext, "/AFK", true))
  76.     {
  77.         if(IsPlayerConnected(playerid))
  78.         {
  79.             if(SpielerIstAFK[playerid] == 0)
  80.             {
  81.                 SpielerIstAFK[playerid] = 1;
  82.                 TogglePlayerControllable(playerid,0);
  83.                 AFK3DTextLabel[playerid] = Create3DTextLabel("Spieler ist Abwesend", AFK_3DTextLabel, 30.0, 40.0, 50.0, 40.0, 0);
  84.                 Attach3DTextLabelToPlayer(AFK3DTextLabel[playerid], playerid, 0.0, 0.0, 0.7);
  85.                 format(string,sizeof(string),"~y~AFK Status~w~: ~w~Aktiviert~n~~y~Sekunden~w~: 0");
  86.                 TextDrawSetString(Textdraw0[playerid], string);
  87.                 TextDrawShowForPlayer(playerid,Textdraw0[playerid]);
  88.                 TextDrawUpdate[playerid] = SetTimerEx("AFKTextDraw", 1000, true, "i", playerid);
  89.                 SendClientMessage(playerid,COLOR_GRAU,"Du hast dich in den AFK-Modus begeben!");
  90.             }
  91.             else
  92.             {
  93.                 SendClientMessage(playerid,COLOR_GRAU,"Du befindest dich schon im AFK-Modus!");
  94.                 return 1;
  95.             }
  96.         }
  97.         return 1;
  98.     }
  99.     if(!strcmp(cmdtext, "/BACK", true))
  100.     {
  101.         if(IsPlayerConnected(playerid))
  102.         {
  103.             if(SpielerIstAFK[playerid] == 1)
  104.             {
  105.                 SpielerIstAFK[playerid] = 0;
  106.                 AFKTimer[playerid] = 0;
  107.                 TogglePlayerControllable(playerid,1);
  108.                 TextDrawHideForPlayer(playerid,Textdraw0[playerid]);
  109.                 KillTimer(TextDrawUpdate[playerid]);
  110.                 Delete3DTextLabel(AFK3DTextLabel[playerid]);
  111.                 SendClientMessage(playerid,COLOR_GRAU,"Du bist aus dem AFK-Modus zurückgekehrt!");
  112.             }
  113.             else
  114.             {
  115.                 SendClientMessage(playerid,COLOR_GRAU,"Du befindest dich nicht im AFK-Modus!");
  116.                 return 1;
  117.             }
  118.         }
  119.         return 1;
  120.     }
  121.     return 0;
  122. }
  123.  
  124. forward AFKTextDraw(playerid);
  125. public AFKTextDraw(playerid)
  126. {
  127.     AFKTimer[playerid] += 1;
  128.     format(string,sizeof(string),"~y~AFK Status~w~: ~w~Aktiviert~n~~y~Sekunden~w~: %d", AFKTimer[playerid]);
  129.     TextDrawSetString(Textdraw0[playerid], string);
  130. }
  131.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement