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