[DUV] Trocar um cmd por uma tecla
#1

Boas camaradas.

Eu estive б procura e nгo encontrei nada para mudar um comando por uma tecla, por exemplo:

-> Em vez de entrar num edificio com /entrar entrar com a tecla space do teclado...

Se alguйm me puder dizer como fazer agradeзo...


Cumprimentos
Reply
#2

usa o public OnPlayerKeyStateChange...

pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(oldkeys & KEY_JUMP)
    {
        //coloca aqui as funзхes pra entrar, bla bla bla...
    }
    return 1;
}
Reply
#3

Vo postar abaixo dois codigos de exemplo o primeiro codigo e por buzina dentro de um carro o segundo e de quadno o player preciona a tecla ENTER ou F

Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
  if((newkeys == KEY_HORN) && (IsPlayerInAnyVehicle(playerid)))
	{
  //Codigo desejado exemplo MoveObject para abrir um portao com a buzina
  }
  return 1;
  }
Voce pode usar tambem este codigo acima no caso quando o player toca a buzina ele faz a acao q vc colocar la no meu sistema de vips coloquei pra abrir o portao quando tocar a buzina c quiser q ele nao precise tar dentro to carro tira o IsPlayerAnyVehicle

Abaixo outro codigo

Код:
if (newkeys & KEY_SECONDARY_ATTACK)
		  {
		    // acao desejada por exemplo SetPlayerPos(playerid, x, y, z);
            // se for pra dentro d uma casa use tambem o SetPlayerInterior(playerid, interiorid);
		  }
		  return 1;
		  }
Reply
#4

Quote:
Originally Posted by Josma_cmd
Vo postar abaixo dois codigos de exemplo o primeiro codigo e por buzina dentro de um carro o segundo e de quadno o player preciona a tecla ENTER ou F

Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
  if((newkeys == KEY_HORN) && (IsPlayerInAnyVehicle(playerid)))
	{
  //Codigo desejado exemplo MoveObject para abrir um portao com a buzina
  }
  return 1;
  }
Voce pode usar tambem este codigo acima no caso quando o player toca a buzina ele faz a acao q vc colocar la no meu sistema de vips coloquei pra abrir o portao quando tocar a buzina c quiser q ele nao precise tar dentro to carro tira o IsPlayerAnyVehicle

Abaixo outro codigo

Код:
if (newkeys & KEY_SECONDARY_ATTACK)
		  {
		    // acao desejada por exemplo SetPlayerPos(playerid, x, y, z);
           // se for pra dentro d uma casa use tambem o SetPlayerInterior(playerid, interiorid);
		  }
		  return 1;
		  }
Legal mas
1- precisa por quais includes?
2- Quais variaveis eu crio e aonde, ou й sу isso e funciona?
3- como vou saber a tecla que tem que apertar?

bem era isso valeuss
Reply
#5

Precisa do <a_samp> acho q so e vc tem q criar o portao normal igual vc criava ele com comandos mais em vez d por ele no OnPlayerCommandText vc poem ele no KeyStateChange nao precisa de forware nem nada vlw qualquer duvida posta ae q eu explico melhor
Reply
#6

Quote:
Originally Posted by Josma_cmd
Precisa do <a_samp> acho q so e vc tem q criar o portao normal igual vc criava ele com comandos mais em vez d por ele no OnPlayerCommandText vc poem ele no KeyStateChange nao precisa de forware nem nada vlw qualquer duvida posta ae q eu explico melhor
eu nao sei criar portao, eu tenhu o comando /ad = abrir delegacia e queria trocar por BIZINA^^ ou seja o portao ja ta feito.

Obs: criar portao e facil?

Mas valeus aew
Reply
#7

Muito bem, eu troquei o cmd pelo cуdigo da tecla e deu-me montхes de erros que nгo tкm nada a ver com o comando...

Se alguйm souber como resolver agradecia...
Reply
#8

vo por um mini bem mini tutorial aki de como criar um portao valeu abaixo segue os codigos

Код:
new portao;
No OnGameModeInit()

Код:
public OnGameModeInit()
{
portao = CreateObject(980,-302.225,1507.517,71.607,0.0,0.0,0.0);//fechado
}

Isto acima e so um exemplo no new portao; vc coloca o nome do portao q quiser mais tem q ser igual o do createobject.

na linha do createobject pode persber tem os 3 primeiros numeros sao 980, troque pelo id do portao q quiser a seguir tem as coordenadas X Y Z q no script sao essas
Код:
-302.225,1507.517,71.607
troque essas cordenadas pela do local onde vai ficar seu portao

no OnPlayerKeyStateChange(playerid, newkeys, oldkeys) coloque isto abaixo
Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
  if((newkeys == KEY_HORN) && (IsPlayerInAnyVehicle(playerid)))
	{
  MoveObject(portao, X, Y, Z ,2.0); // no X Y Z coloque as coords dele aberto // 2.0 e a velocidade q ele abre nao mude
  GameTextForPlayer(playerid, "~b~Portao Aberto", 2500, 1);
  }
  return 1;
  }
Esta feito seu portao, se ja ta criado o portao vc so tira ele do OnPlayerCommandText e coloca no OnPlayerKeyStateChange mais tira o
Код:
if (strcmp("/comando", cmdtext, true, 10) == 0)
vc coloca o
Код:
if((newkeys == KEY_HORN) && (IsPlayerInAnyVehicle(playerid)))
e troca os nomes portao moveobject(portao etc pelas do nome do portao da DP na primeira vez parece um bicho de 7 cabecas mais depois da primeira q vc consegue fica a coisa mais facil do mundo vlw
Reply
#9

Muito obrigado, mas o que eu pedi no tуpico foi para trocar um comando, que por sinal й o /entrar, por uma tecla e nгo para criar um portгo... Agradecia que me ajudassem com isso.

Obrigado
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)