SA-MP Forums Archive
[DUV] Trocar um cmd por uma tecla - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [DUV] Trocar um cmd por uma tecla (/showthread.php?tid=125595)



[DUV] Trocar um cmd por uma tecla - benyskate - 04.02.2010

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


Re: [DUV] Trocar um cmd por uma tecla - [VGS]Protioso - 04.02.2010

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;
}



Re: [DUV] Trocar um cmd por uma tecla - Josma_cmd - 04.02.2010

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;
		  }



Re: [DUV] Trocar um cmd por uma tecla - xkinx - 05.02.2010

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


Re: [DUV] Trocar um cmd por uma tecla - Josma_cmd - 05.02.2010

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


Re: [DUV] Trocar um cmd por uma tecla - xkinx - 05.02.2010

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


Re: [DUV] Trocar um cmd por uma tecla - benyskate - 05.02.2010

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...


Re: [DUV] Trocar um cmd por uma tecla - Josma_cmd - 05.02.2010

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


Re: [DUV] Trocar um cmd por uma tecla - benyskate - 05.02.2010

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