Como colocar duas variaveis em uma linha? -
alkatraz47 - 23.06.2017
Olб pessoal, estou montando o meu GM e tenho uma dъvida que nгo consigo sanar. Й o seguinte:
Код:
if(strcmp(cmd, "/kitsocio", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pKitsocio] == 0 || PlayerInfo[playerid][pSocio] == 0)
{
SendClientMessage(playerid, COLOR_YELLOW, "Vocк nгo й um sуcio e nгo tem o KitSуcio Permanente. Compre um dos dois!");
return 1;
Preciso que essa linha de comando perceba que, se o player nгo tiver o "pKitsocio"
OU "pSocio" ele mande a mensagem. Como posso fazer isso?
PS: Jб tenho todo o resto pronto, sу preciso que o comando reconheзa essas variбveis.
Obrigado a atenзгo de todos
Re: Como colocar duas variaveis em uma linha? -
rolex - 23.06.2017
Isso?
PHP код:
if(strcmp(cmd, "/kitsocio", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pKitsocio] == 0 || PlayerInfo[playerid][pSocio] == 0) return SendClientMessage(playerid, COLOR_YELLOW, "Vocк nгo й um sуcio e nгo tem o KitSуcio Permanente. Compre um dos dois!");
Nesse cуdigo, se o jogador nгo tiver nenhum dos dois, o comando й finalizado antes de acessar as outras variбves e etc.
Re: Como colocar duas variaveis em uma linha? -
alkatraz47 - 23.06.2017
Quote:
Originally Posted by rolex
Isso?
PHP код:
if(strcmp(cmd, "/kitsocio", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pKitsocio] == 0 || PlayerInfo[playerid][pSocio] == 0) return SendClientMessage(playerid, COLOR_YELLOW, "Vocк nгo й um sуcio e nгo tem o KitSуcio Permanente. Compre um dos dois!");
Nesse cуdigo, se o jogador nгo tiver nenhum dos dois, o comando й finalizado antes de acessar as outras variбves e etc.
|
Deu certo! Mas, mesmo o membro tendo sуcio e nгo tendo o kitsуcio permanente ele diz que "Vocк nгo й um sуcio[...]". E й aн que mora o problema, ele nгo da nenhum erro (nгo da com o seu e nem com o meu) mas, ele sу executa uma variбvel, que no caso й a primeira. Podendo ser "pSocio" ou "pKitsocio". Exemplo:
1є Exemplo:
Код:
if(PlayerInfo[playerid][pSocio] == 0 || PlayerInfo[playerid][pKitsocio] == 0)
Se o membro tiver o "KitSуcio permanente" e nгo tiver o "Sуcio" ele diz que nгo tem nenhum dos dois.
2є Exemplo:
Код:
if(PlayerInfo[playerid][pKitsocio] == 0 || PlayerInfo[playerid][pSocio] == 0)
Se o membro tiver o "Sуcio" e nгo tiver o "KitSуcio Permanente" ele diz que nгo tem nenhum dos dois.
Ou seja, ele sу reconhece a primeira variбvel, й como se a segunda nгo estivesse ali.
Re: Como colocar duas variaveis em uma linha? -
GuilhermeNunes - 23.06.2017
Usa ZCMD .................................................. ...............................................
PHP код:
CMD:kitsocio(playerid)
{
if(IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "O jogador nгo esta conectado");
if(PlayerInfo[playerid][pKitsocio] == 0 || PlayerInfo[playerid][pSocio] == 0) return SendClientMessage(playerid, COLOR_YELLOW, "Vocк nгo й um sуcio e nгo tem o KitSуcio Permanente. Compre um dos dois!");
return 1;
}
Re: Como colocar duas variaveis em uma linha? -
alkatraz47 - 23.06.2017
Pessoal consegui, fique vendo o cуdigo inteiro e percebe que o problema:
Код:
SendClientMessage(playerid,COLOR_GREEN,"Vocк pegou o seu KitSуcio Permanente!");
SendClientMessage(playerid,COLOR_LIGHTRED,"Lembre-se: Vocк nгo pode estar em batalha, caso contrбrio levarб carandiru!");
format(string, sizeof(string), "%s Pegou o seu KitSуcio Permanente", PlayerName(playerid));
ProxDetector(30.0, playerid, string, COLOR_DBLUE,COLOR_DBLUE,COLOR_DBLUE,COLOR_DBLUE,COLOR_DBLUE);
Esse message estava em cima da variбvel, por isso que toda hora que eu dava /kitsocio ele sу reconhecia uma.
Obrigado a ajuda de todos, +reputation!
Re: Como colocar duas variaveis em uma linha? -
rolex - 23.06.2017
Teste por blocos:
PHP код:
if((PlayerInfo[playerid][pSocio] == 0) || (PlayerInfo[playerid][pKitsocio] == 0))
E Usa em ZCMD como o Guilherme falou.
@edit:
Nгo tinha visto teu post...
O Que precisar, chama aн!
Re: Como colocar duas variaveis em uma linha? -
JeffSantos2 - 24.06.2017
Pelo que entendi, Vocк quer que ele tenha um dos 2 para usar o comando. Logo use assim:
Код:
if((PlayerInfo[playerid][pSocio] == 0) && (PlayerInfo[playerid][pKitsocio] == 0)) return SendClient.....
Usando o ||, se ele o PlayerInfo[playerid][pSocio] for igual a 1, ele poderia usar o comando, mas como ta usando o || e o PlayerInfo[playerid][pKitsocio] for igual a 0, ele nгo vai poder usar o comando, portanto do jeito que ta o seu code ali, ele sу poderia usar caso as 2 variaveis fossem iguais a 1.
Com o && ele tem que ter no mнnimo uma das duas vars como 1, no caso se o PlayerInfo[playerid][pSocio] for igual a 1 e o PlayerInfo[playerid][pKitsocio] for igual a 0 ele vai poder usar o comando.
Espero que entenda.