Comando ANTI-ESC
#1

Ja Fiz total Busca e nao encontrei nada parecido queria um comando que ao a Pessoa estar em ESC usar o Comando e se o PLayer nao se mover KICK
Assim Como
/esc [id]
/sefudeo [id]
Encontrei em Alguns Servers
Reply
#2

cara, nao sei como fazer, mais tenho uma ideia de como seja ...

primeiro tu procura como eh chamado a tecla esc no jogo

ai tu vai no onplayerkeystatechange

cria uma variavel pro player, pra qd ele apertar esc, akela variavel ficar = 1

ai no comando eh facil

if(variavel[playerid] == 1)
kick


creio q seja algo do tipo
Reply
#3

Tipo para isso usas um script para kickar o jogador se estiver afk. Agora algo que dк um kick ao carregar na tecla esc.
Reply
#4

Comando Criado
Quote:

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (newkeys == KEY_FIRE
Kick(playerid);
return 1;

}

Porem o que eu faзo para ser o tecla ESC ai esta a tecla FIRE eu quero a tecla ESC
Reply
#5

Mas nгo existe nenhum para a tecla ESC.
Reply
#6

A tecla ESC nгo pode ser alterada nas configs, logo, nгo hб uma KEY_PAUSE ou algo do tipo.

O comando /esc [id] que vocк deve ter visto na Click21, й baseado em timers que comparam algumas coisas do player, basicamente funciona assim:

Player_1 digita /esc Player_2_ID
O script pega a posiзгo do Player_2 nesse instante, e lanзa um timer de 5 segundos
No final do timer, o script pega novamente a posiзгo do player_2
O script compara as duas variaveis de posiзгo
Se elas forem iguais, o player_2 й kickado por ESC
(hб exceзгo para players em interiores (GetPlayerInterior(playerid)), dai o player pode pausar em interiores)
Reply
#7

Isto eu sei David,, so quero saber quais serias as Strings Detalhadamente

Ah gracas e este post fiz um Anti DB
Ao Player Atirar do Carro/Moto ele й retirado do veiculo
massa xD
Reply
#8

to saindo agora, amanhг eu tento fazer um e posto aqui, pelo menos vocк vai ter uma base de como й
lб pras 3h da tarde eu posto
Reply
#9

Blz pelo que notei seria + - este comandos

GetPlayerPos
Kick (Playerid)
SetTimmer

o problema seria organizar e colocar a posiзгo certa
Valeu se poder postar

Sab quem sou eu David? eu te conheco de algum lugar humhum
Reply
#10

Код:
#include <a_samp>

#define COLOR_RED 0xAA3333AA

#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 //CREDIT: DracoBlue

new Float:x[MAX_PLAYERS];
new Float:y[MAX_PLAYERS];
new Float:z[MAX_PLAYERS];
public OnFilterScriptInit()
{
  print("Anti-Esc by GhOsT[X]");
	return 1;
}

public OnFilterScriptExit()
{
	return 1;
}


public OnPlayerCommandText(playerid, cmdtext[])
{
		dcmd(esc,3,cmdtext);
		return 1;
}

dcmd_esc(playerid,params[])
{
  new tmp[256], idx;
  tmp = strtok(params,idx);
  if(!strlen(tmp))
  {
   SendClientMessage(playerid,COLOR_RED,"Use: /esc (playerid");
   return true;
  }
  new pid = strval(tmp);
  new cmderid = playerid;
  if(!IsPlayerConnected(pid) || GetPlayerInterior(pid) != 0 || GetPlayerInterior(playerid) != 0)
  {
   SendClientMessage(playerid,COLOR_RED,"ID Invalido ou Voce/Jogador esta em um interior.");
   return true;
  }
  new pname[MAX_PLAYER_NAME], pname2[MAX_PLAYER_NAME], string2[256], string[256];
  GetPlayerName(playerid, pname2, sizeof(pname2));
  format(string2, sizeof(string2), "Voce usou /esc no jogador: %s.", pname2);
  SendClientMessage(playerid,COLOR_RED, string2);
  format(string, sizeof(string), "Jogador: %s usou /esc em voce.", pname);
  SendClientMessage(pid,COLOR_RED, string);
  GetPlayerPos(pid,x[pid],y[pid],z[pid]);
  SetTimerEx("CheckEsc", 3000,0,"dd", pid,cmderid);
  return 1;
}

forward CheckEsc(playerid,cmderid);
public CheckEsc(playerid,cmderid)
{
new Float:fX,Float:fY,Float:fZ;
new pname3[MAX_PLAYER_NAME];
new pname4[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname3, sizeof(pname3));
GetPlayerName(playerid, pname4, sizeof(pname4));
if(GetPlayerPos(playerid,fX,fY,fZ) == GetPlayerPos(playerid,x[playerid],y[playerid],z[playerid]))
{
Kick(playerid);
new string4[256];
format(string4, sizeof(string4), "Jogador: %s foi kickado por esc por .", pname3,pname4);
SendClientMessage(cmderid,COLOR_RED, string4);
SendClientMessage(playerid,COLOR_RED, "Voce foi kickado por esc");
Kick(playerid);
}else{
new string3[256];
format(string3, sizeof(string3), "Jogador: %s nгo esta de esc.", pname3);
SendClientMessage(cmderid,COLOR_RED, string3);
}
}


strtok(const string[], &index)
{
	new length = strlen(string);
	while ((index < length) && (string[index] <= ' '))

	{
		index++;

	}

	new offset = index;
	new result[20];
	while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))

	{
		result[index - offset] = string[index];
		index++;

	}
	result[index - offset] = EOS;
	return result;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)