All pastes #1256849 Raw Edit

Afk-Back script for SA:MP

public cpp v1 · immutable
#1256849 ·published 2008-11-15 11:05 UTC
rendered paste body
///////////////////////////////////                             ////                             ////  AFK-BACK Script(TextDraw)  ////     Made By BlackBank3      ////                             ///////////////////////////////////#include <a_samp>new Text:Message;new Afk[MAX_PLAYERS];new Timer[MAX_PLAYERS];new Float:Pos[MAX_PLAYERS][4];new Name[24];new string[256];#define FILTERSCRIPTpublic OnFilterScriptInit(){   Message = TextDrawCreate(1.000000,435.000000,"  ");   TextDrawAlignment(Message,0);   TextDrawBackgroundColor(Message,0x000000ff);   TextDrawFont(Message,2);   TextDrawLetterSize(Message,0.598999,1.300000);   TextDrawSetOutline(Message,1);   TextDrawSetProportional(Message,1);   TextDrawSetShadow(Message,1);   return 1;}public OnFilterScriptExit(){   for(new i = 0; i < MAX_PLAYERS; i++)   {   KillTimer(Timer[i]);   TextDrawHideForAll(Text:Message);   TextDrawDestroy(Text:Message);   }   return 1;}public OnPlayerConnect(playerid){  Afk[playerid]=0;  return 1;}public OnPlayerDisconnect(playerid){  Afk[playerid]=0;  TextDrawHideForPlayer(playerid,Text:Message);  KillTimer(Timer[playerid]);  return 1;}public OnPlayerCommandText(playerid, cmdtext[]){    GetPlayerName(playerid, Name, 24);    new Float:X,Float:Y,Float:Z;	if (strcmp("/afk", cmdtext, true, 10) == 0)	{		if(Afk[playerid]==0){	    Afk[playerid]=1;		Timer[playerid] = SetTimer("SendMessage",100,0);		GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);		GetPlayerFacingAngle(playerid,Pos[playerid][3]);		GetPlayerPos(playerid,X,Y,Z);		SetPlayerPos(playerid,X,Y,Z+10000000);		SetPlayerVirtualWorld(playerid,10000000);		TogglePlayerControllable(playerid,0);        format(string, sizeof(string), "%s is away from the keyboard", Name);        SendClientMessageToAll(0x33CCFFAA, string);   		}else{SendClientMessage(playerid,0xFF0000AA, "You are already Afk");}		return 1;	}	if (strcmp("/back", cmdtext, true, 10) == 0)	{	    if(Afk[playerid]==1){		Afk[playerid]=0;		Timer[playerid] = SetTimer("SendMessage",100,0);		SetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);		SetPlayerFacingAngle(playerid,Pos[playerid][3]);		SetPlayerVirtualWorld(playerid,0);		TogglePlayerControllable(playerid,1);        format(string, sizeof(string), "%s is back", Name);        SendClientMessageToAll(0x33CCFFAA, string);		}else{SendClientMessage(playerid,0xFF0000AA, "You are already Back");}		return 1;	}	if (strcmp("/afklist", cmdtext, true, 10) == 0)	{			SendClientMessage(playerid, 0xFFFF00AA, "Players AFK:");			for(new i = 0; i < MAX_PLAYERS; i++)			{				if(IsPlayerConnected(i))				{				    if(Afk[i]==1)				    {						GetPlayerName(i, Name, sizeof(Name));						format(string, 256, "Player: %s", Name);						SendClientMessage(playerid, 0xFFFFFFAA, string);					}				}			}    		return 1;	}	return 0;}forward SendMessage();public SendMessage(){   for(new i = 0; i <= MAX_PLAYERS; i++)   {     if(IsPlayerConnected(i))     {       GetPlayerName(i, Name, 24);       if(Afk[i]==1)       {       TextDrawHideForAll(Text:Message);       format(string, sizeof(string), "~w~%s ~r~Is away from the keyboard",Name);       TextDrawSetString(Message,string);       TextDrawShowForAll(Text:Message);       SetTimer("StopMessage",6000,0);       }       if(Afk[i]==0)       {       TextDrawHideForAll(Text:Message);       format(string, sizeof(string), "~w~%s ~r~Is back",Name);       TextDrawSetString(Message,string);       TextDrawShowForAll(Text:Message);       SetTimer("StopMessage",6000,0);       }     }   }}forward StopMessage();public StopMessage(){  TextDrawHideForAll(Text:Message);}