[FilterScript] [iPs] AFK Advanced System (:
#1

Andei a pesquisar uns tуpicos no fуrum e vi pessoas a pedir sistemas afk ou mesmo com dъvida, por isso decidi criar um sistema mesmo sendo ele fбcil de fazer.

pawn Код:
/* [iPs] AFK Advanced System (:
   Criador Geral: [iPs]DiogoBras  
   Agradecimentos; Fуrum samp - Andei a pesquisar uns tуpicos de galera pedindo, e decidi fazer :D
   Comandos: /ausente ; /online ; /Lista  
   Funcionalidades:    
   /ausente - O jogador fica com a tag "[AFK]" antes do nick, ficando [AFK]NOME! Й setado para o mundo virtual nє1, para nгo ter contato com os outros jogadores e tambйm й congelado.  
   /onlline - O jogador fica com o nome normal, sem a tag "[AFK]"! Й denovo setado para o mundo virtual nє0 (normal), e й descongelado.  
   /Lista - Mostra o nome de todos os jogadores que estгo ausentes, e quando eles voltam (/online) o nome deles desaparece da lista quando digitado o comando. */
 

#include <a_samp>

// »Defines das Cores«
#define Amarelo 0xEEAD0EFF
#define Laranja 0xFF7F00FF
#define Vermelho 0xEE0000FF

// »Variбveis«
new AFK[MAX_PLAYERS], Jogador[MAX_PLAYER_NAME], string[56], NomeTemporario[MAX_PLAYER_NAME];

public OnPlayerConnect(playerid)
{
   AFK[playerid] = 0;
   return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{

if(strcmp(cmdtext, "/ausente", true) == 0)
{
   if(AFK[playerid] == 0)
   {
      GetPlayerName(playerid, NomeTemporario, sizeof(NomeTemporario));
      SetPVarString(playerid, "NomeOriginal", NomeTemporario);
      format(NomeTemporario, sizeof(NomeTemporario), "[AFK]%s", NomeTemporario);
      SetPlayerName(playerid, NomeTemporario);
      SetPlayerArmour(playerid, 99999);
      TogglePlayerControllable(playerid, 0);
      GetPlayerName(playerid, Jogador, sizeof(Jogador));
      format(string, sizeof(string), "|AFK| Jogador(a) %s estб ausente! (/ausente).", Jogador);
      SendClientMessageToAll(Amarelo, string);
      AFK[playerid] = 1;
      return SetPlayerVirtualWorld(playerid, 1);
      }
      else return SendClientMessage(playerid, Laranja, "|AFK| Vocк jб estб ausente! Use (/online) para voltar ao servidor.");
}

if(strcmp(cmdtext, "/online", true) == 0)
{
   if(AFK[playerid] == 1)
   {
      GetPVarString(playerid, "NomeOriginal", NomeTemporario, sizeof(NomeTemporario));
      SetPlayerName(playerid, NomeTemporario);
      DeletePVar(playerid, "NomeOriginal");
      SetPlayerArmour(playerid, 0);
      TogglePlayerControllable(playerid, 1);
      GetPlayerName(playerid, Jogador, sizeof(Jogador));
      format(string, sizeof(string), "|AFK| Jogador(a) %s estб voltou ao jogo! (/online).", Jogador);
      SendClientMessageToAll(Amarelo, string);
      AFK[playerid]=0;
      return SetPlayerVirtualWorld(playerid, 0);
      }
      else return SendClientMessage(playerid, Laranja, "|AFK| Vocк jб estб online!");
}

if(strcmp(cmdtext, "/Lista", true) == 0)
{
   SendClientMessage(playerid, Laranja, "|AFK| Jogadores Ausentes:");
   for(new j = 0; j < MAX_PLAYERS; j++)
   {
      if(IsPlayerConnected(j))
      {
         if(AFK[j] == 1)
         {
            GetPlayerName(j, Jogador, sizeof(Jogador));
            format(string, sizeof(string),"Jogador %s | ID: %i", Jogador, j);
            SendClientMessage(playerid, Amarelo, string);
            }
         }
      }
   return 1;
}
return SendClientMessage(playerid, Vermelho, "Comando invбlido!");
}
Criador Geral: [iPs]DiogoBras
Agradecimentos: Fуrum samp - Andei a pesquisar uns tуpicos de galera pedindo, e decidi fazer
Comandos: /ausente ; /online ; /Lista
Funcionalidades:
/ausente - O jogador fica com a tag "[AFK]" antes do nick, ficando [AFK]NOME! Й setado para o mundo virtual nє1, para nгo ter contato com os outros jogadores e tambйm й congelado.
/onlline - O jogador fica com o nome normal, sem a tag "[AFK]"! Й denovo setado para o mundo virtual nє0 (normal), e й descongelado.
/Lista - Mostra o nome de todos os jogadores que estгo ausentes, e quando eles voltam (/online) o nome deles desaparece da lista quando digitado o comando.



Tкm dicas para melhora do projeto? Gostavam que este sistema tivesse mais algo? Entгo postem!
Reply
#2

Alias De Jб Ter Vбrios, Esse Parace Melhor que Todos.

Parabйns Jб Que й o Primeiro Post Com a iPs!
Reply
#3

Realmente й bem avanзado por causa que ele muda o nick, botando a tag [AFK], nгo testei mais parece ser уtimo.
Reply
#4

Gostei Ja Tinha Visto Em Um Servidor De Drift ..
9/10
Reply
#5

Aqueles que gosta de deixar dessarrumado e podre, mais pelo outro lado economizando :

PHP код:
/* [iPs] AFK Advanced System (:
   Criador Geral: [iPs]DiogoBras   
   Agradecimentos; Fуrum samp - Andei a pesquisar uns tуpicos de galera pedindo, e decidi fazer :D
   Comandos: /ausente ; /online ; /Lista   
   Funcionalidades:    
   /ausente - O jogador fica com a tag "[AFK]" antes do nick, ficando [AFK]NOME! Й setado para o mundo virtual nє1, para nгo ter contato com os outros jogadores e tambйm й congelado.   
   /onlline - O jogador fica com o nome normal, sem a tag "[AFK]"! Й denovo setado para o mundo virtual nє0 (normal), e й descongelado.   
   /Lista - Mostra o nome de todos os jogadores que estгo ausentes, e quando eles voltam (/online) o nome deles desaparece da lista quando digitado o comando. */ 
#include <a_samp>
// »Defines das Cores«
#define Amarelo 0xEEAD0EFF
#define Laranja 0xFF7F00FF
#define Vermelho 0xEE0000FF
// »Variбveis«
new AFK[MAX_PLAYERS], Jogador[MAX_PLAYER_NAME], string[56], NomeTemporario[MAX_PLAYER_NAME];
public 
OnPlayerCommandText(playeridcmdtext[]){
if(
strcmp(cmdtext"/ausente"true) == 0){
if(
AFK[playerid] == 0){
GetPlayerName(playeridNomeTemporariosizeof(NomeTemporario));
SetPVarString(playerid"NomeOriginal"NomeTemporario);
format(NomeTemporariosizeof(NomeTemporario), "[AFK]%s"NomeTemporario);
SetPlayerName(playeridNomeTemporario);
SetPlayerArmour(playerid99999);
TogglePlayerControllable(playerid0);
GetPlayerName(playeridJogadorsizeof(Jogador));
format(stringsizeof(string), "|AFK| Jogador(a) %s estб ausente! (/ausente)."Jogador);
SendClientMessageToAll(Amarelostring);
AFK[playerid] = 1;
return 
SetPlayerVirtualWorld(playerid1); }
else return 
SendClientMessage(playeridLaranja"|AFK| Vocк jб estб ausente! Use (/online) para voltar ao servidor."); }
if(
strcmp(cmdtext"/online"true) == 0){
if(
AFK[playerid] == 1){
GetPVarString(playerid"NomeOriginal"NomeTemporariosizeof(NomeTemporario));
SetPlayerName(playeridNomeTemporario);
DeletePVar(playerid"NomeOriginal");
SetPlayerArmour(playerid0);
TogglePlayerControllable(playerid1);
GetPlayerName(playeridJogadorsizeof(Jogador));
format(stringsizeof(string), "|AFK| Jogador(a) %s estб voltou ao jogo! (/online)."Jogador);
SendClientMessageToAll(Amarelostring);
AFK[playerid]=0;
return 
SetPlayerVirtualWorld(playerid0);}
else return 
SendClientMessage(playeridLaranja"|AFK| Vocк jб estб online!"); }
if(
strcmp(cmdtext"/Lista"true) == 0){
SendClientMessage(playeridLaranja"|AFK| Jogadores Ausentes:");
for(new 
0MAX_PLAYERSj++){
if(
IsPlayerConnected(j)){
if(
AFK[j] == 1){
GetPlayerName(jJogadorsizeof(Jogador));
format(stringsizeof(string),"Jogador %s | ID: %i"Jogadorj);
SendClientMessage(playeridAmarelostring); }}}return 1;}
return 
SendClientMessage(playeridVermelho"Comando invбlido!");} 
Reply
#6

Jб estб organizado!
Tкm idйias para melhoras e para adicionar algo? Postem!
Reply
#7

troque
pawn Код:
GetPayerName(playerid, Jogador, sizeof(Jogador));
Por :
pawn Код:
GetPlayerName(playerid, Jogador, sizeof(Jogador));
Payer e tua cara aoksokas
Reply
#8

Quote:
Originally Posted by Jonathan_Feitosa
Посмотреть сообщение
Aqueles que gosta de deixar dessarrumado e podre :

PHP код:
/* [iPs] AFK Advanced System (:
   Criador Geral: [iPs]DiogoBras   
   Agradecimentos; Fуrum samp - Andei a pesquisar uns tуpicos de galera pedindo, e decidi fazer :D
   Comandos: /ausente ; /online ; /Lista   
   Funcionalidades:    
   /ausente - O jogador fica com a tag "[AFK]" antes do nick, ficando [AFK]NOME! Й setado para o mundo virtual nє1, para nгo ter contato com os outros jogadores e tambйm й congelado.   
   /onlline - O jogador fica com o nome normal, sem a tag "[AFK]"! Й denovo setado para o mundo virtual nє0 (normal), e й descongelado.   
   /Lista - Mostra o nome de todos os jogadores que estгo ausentes, e quando eles voltam (/online) o nome deles desaparece da lista quando digitado o comando. */ 
#include <a_samp>
// »Defines das Cores«
#define Amarelo 0xEEAD0EFF
#define Laranja 0xFF7F00FF
#define Vermelho 0xEE0000FF
// »Variбveis«
new AFK[MAX_PLAYERS], Jogador[MAX_PLAYER_NAME], string[56], NomeTemporario[MAX_PLAYER_NAME];
public 
OnPlayerCommandText(playeridcmdtext[]){
if(
strcmp(cmdtext"/ausente"true) == 0){
if(
AFK[playerid] == 0){
GetPlayerName(playeridNomeTemporariosizeof(NomeTemporario));
SetPVarString(playerid"NomeOriginal"NomeTemporario);
format(NomeTemporariosizeof(NomeTemporario), "[AFK]%s"NomeTemporario);
SetPlayerName(playeridNomeTemporario);
SetPlayerArmour(playerid99999);
TogglePlayerControllable(playerid0);
GetPlayerName(playeridJogadorsizeof(Jogador));
format(stringsizeof(string), "|AFK| Jogador(a) %s estб ausente! (/ausente)."Jogador);
SendClientMessageToAll(Amarelostring);
AFK[playerid] = 1;
return 
SetPlayerVirtualWorld(playerid1); }
else return 
SendClientMessage(playeridLaranja"|AFK| Vocк jб estб ausente! Use (/online) para voltar ao servidor."); }
if(
strcmp(cmdtext"/online"true) == 0){
if(
AFK[playerid] == 1){
GetPVarString(playerid"NomeOriginal"NomeTemporariosizeof(NomeTemporario));
SetPlayerName(playeridNomeTemporario);
DeletePVar(playerid"NomeOriginal");
SetPlayerArmour(playerid0);
TogglePlayerControllable(playerid1);
GetPlayerName(playeridJogadorsizeof(Jogador));
format(stringsizeof(string), "|AFK| Jogador(a) %s estб voltou ao jogo! (/online)."Jogador);
SendClientMessageToAll(Amarelostring);
AFK[playerid]=0;
return 
SetPlayerVirtualWorld(playerid0);}
else return 
SendClientMessage(playeridLaranja"|AFK| Vocк jб estб online!"); }
if(
strcmp(cmdtext"/Lista"true) == 0){
SendClientMessage(playeridLaranja"|AFK| Jogadores Ausentes:");
for(new 
0MAX_PLAYERSj++){
if(
IsPlayerConnected(j)){
if(
AFK[j] == 1){
GetPlayerName(jJogadorsizeof(Jogador));
format(stringsizeof(string),"Jogador %s | ID: %i"Jogadorj);
SendClientMessage(playeridAmarelostring); }}}return 1;}
return 
SendClientMessage(playeridVermelho"Comando invбlido!");} 
Isso era pra melhorar? Se for eu nгo entendi direito.
Reply
#9

Por Isso que Disse :

Quote:

Aqueles que gosta de deixar dessarrumado e podre, mais pelo outro lado economizando

Reply
#10

Nice 6/10
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)