Bloqueio de comandos -
axtlon - 28.04.2018
Como fazer pra bloqueiar todos os comandos exeto /logar /registra.
Exemplo: como eu faзo pra bloquear todos os comandos quando nгo estб logado apenas /logar e /registrar...
Sistema que bloqueia o comando quando nгo loga:
Quote:
if(!gPlayerLogged[playerid])
return SendClientMessage(playerid, COLOR_GRAD2, "Vocк precisa estar logado!");
|
Re: Bloqueio de comandos -
[BOPE]Seu._.Madruga - 28.04.2018
PHP код:
/* -- COLOQUE NO COMEЗO DO GAMEMODE OU FS OU SCRIPT OQUE SEJA '-' -- */
new gPlayerLogged[MAX_PLAYERS];
/* -- COLOCA NO COMEЗO DOS COMANDOS QUE VOCК DESEJA BLOQUEAR -- */
if(!gPlayerLogged[playerid]) return SendClientMessage(playerid, COLOR_GRAD2, "Vocк precisa estar logado!");
/* -- NO COMANDO QUE FAZ O LOGIN DO JOGADOR APУS ELE SE LOGAR COLOQUE -- */
gPlayerLogged[playerid] = 1;
/* -- QUANDO O JOGADOR SE DESCONECTAR DO SERVIDOR NO ONPLAYERDISCONNECT COLOQUE -- */
gPlayerLogged[playerid] = 0;
Re: Bloqueio de comandos -
Cycle - 28.04.2018
Quote:
Originally Posted by [BOPE]Seu._.Madruga
PHP код:
/* -- COLOQUE NO COMEЗO DO GAMEMODE OU FS OU SCRIPT OQUE SEJA '-' -- */
new gPlayerLogged[MAX_PLAYERS];
/* -- COLOCA NO COMEЗO DOS COMANDOS QUE VOCК DESEJA BLOQUEAR -- */
if(!gPlayerLogged[playerid]) return SendClientMessage(playerid, COLOR_GRAD2, "Vocк precisa estar logado!");
/* -- NO COMANDO QUE FAZ O LOGIN DO JOGADOR APУS ELE SE LOGAR COLOQUE -- */
gPlayerLogged[playerid] = 1;
/* -- QUANDO O JOGADOR SE DESCONECTAR DO SERVIDOR NO ONPLAYERDISCONNECT COLOQUE -- */
gPlayerLogged[playerid] = 0;
|
Usa booleano, isso й ilegнvel, criar uma variбvel inteira somente para obter 2 valores, "0" e "1", enquanto bool em si, jб faz isso, "0" й false, "1" й true.
Entгo ficaria melhor vocк usar bool.
@Topic
Primeiro de tudo, vocк deverб criar uma variбvel global, indexada а uma matriz, denominada como "MAX_PLAYERS".
A tag "bool" em si, ainda й uma signed int de 32bits, podendo ser utilizada em char.
PHP код:
new bool:LoggedPlayer[MAX_PLAYERS char];
Segundo, vocк apenas criar a condiзгo para que o jogador possa utilizar o comando ou nгo.
Suponhamos que eu quero usar um comando, mas nгo estou logado.
PHP код:
CMD:vida(playerid){
if(!LoggedPlayer{playerid})
return SendClientMessage(playerid, -1, "Vocк nгo estб logado para utilizar este comando.");
SetPlayerHealth(playerid, 100);
return true;
};
Terceiro, quando o jogador realmente logar no servidor, sete o valor da variбvel para verdadeiro(true).
PHP код:
LoggedPlayer{playerid} = true;
Pela saнda, faзa o mesmo, sete o valor para falso(false).
PHP код:
LoggedPlayer{playerid} = false;
Re: Bloqueio de comandos -
axtlon - 28.04.2018
Primeiramente boa noite senhores, obrigado pela atenзгo. O que quero na verdade e bloqueiar os comandos de uma forma que nгo precisar colocar em um por um, criar uma funзгo que cria automaticamente em todos e como por exemplo fazer a liberaзгo de /logar e /registrar...
Lembrando que essa funзгo abaixo ja existe na GM, demostrei ela apenas para exemplo:
if(!gPlayerLogged[playerid])
return SendClientMessage(playerid, COLOR_GRAD2, "Vocк precisa estar logado!");
Re: Bloqueio de comandos -
1sbedx - 28.04.2018
Quote:
Originally Posted by Cycle
Usa booleano, isso й ilegнvel, criar uma variбvel inteira somente para obter 2 valores, "0" e "1", enquanto bool em si, jб faz isso, "0" й false, "1" й true.
Entгo ficaria melhor vocк usar bool.
|
"Usar bools em Pawn й completamente inъtil porque eles consomem a mesma memуria que as variбveis inteiras regulares."
Entгo tanto faz.
Mesmo sem a tag, vocк ainda pode usar a variбvel desta maneira:
PHP код:
new gPlayerLogged[MAX_PLAYERS];
gPlayerLogged[playerid] = true; // 1
gPlayerLogged[playerid] = false; // 0
@Topic
PHP код:
public OnPlayerCommandReceived(playerid, cmdtext[])
{
if (strcmp(cmdtext, "/logar", true) != 0 && strcmp(cmdtext, "/registrar", true) != 0 && !gPlayerLogged[playerid]) // qualquer comando diferente de /logar ou /registrar serб restrito se o jogador nгo estiver logado
{
SendClientMessage(playerid, COLOR_GRAD2, "Vocк precisa estar logado!");
return 0;
}
return 1;
}
Re: Bloqueio de comandos -
[BOPE]Seu._.Madruga - 28.04.2018
Quote:
Originally Posted by 1sbedx
"Usar bools em Pawn й completamente inъtil porque eles consomem a mesma memуria que as variбveis inteiras regulares."
|
Eu atй ia avisar o membro sobre isto mas aqui na board ultimamente as pessoas nгo sabem escutar coisas construtivas entгo prefiro ficar quieto e guardar meu conhecimento kkk.
Mas parabйns 1sbedx.
Re: Bloqueio de comandos -
Cycle - 28.04.2018
Quote:
Originally Posted by 1sbedx
"Usar bools em Pawn й completamente inъtil porque eles consomem a mesma memуria que as variбveis inteiras regulares."
Entгo tanto faz.
Mesmo sem a tag, vocк ainda pode usar a variбvel desta maneira:
PHP код:
new gPlayerLogged[MAX_PLAYERS];
gPlayerLogged[playerid] = true; // 1
gPlayerLogged[playerid] = false; // 0
@Topic
PHP код:
public OnPlayerCommandReceived(playerid, cmdtext[])
{
if (strcmp(cmdtext, "/logar", true) != 0 && strcmp(cmdtext, "/registrar", true) != 0 && !gPlayerLogged[playerid]) // qualquer comando diferente de /logar ou /registrar serб restrito se o jogador nгo estiver logado
{
SendClientMessage(playerid, COLOR_GRAD2, "Vocк precisa estar logado!");
return 0;
}
return 1;
}
|
Vou tentar explicar de uma forma mais entendнvel pra vocк, que parece que tem a mente pequena.
Se existe a tag em "bool", й porque ela serve para uma variante ter a sua setagem em dois valores lуgicos, verdadeiro e falso.
Qual a necessidade de usar uma variбvel inteira para utilizar isso?
Sim, ambos possuem a mesma ocupaзгo de memуria, ainda sгo signed int.
Isso й uma questгo de gosto e lуgica, um cуdigo organizado define o real contexto que o programador deseja seguir.
@SeuMadruga
"Eu atй ia avisar o membro sobre isto mas aqui na board ultimamente as pessoas nгo sabem escutar coisas construtivas entгo prefiro ficar quieto e guardar meu conhecimento kkk."
"Conhecimento", coloquei entre aspas, porque pra mim, isso й algo fictнcio quando se trata do que vocк se remete.
Jб que vocк tem tanto conhecimento, me diz, desde quando SendClientMessage й uma variбvel? Cara, aceita, vocк й uma pйrola na board.
"Nгo sabem diferenciar uma crнtica construtiva", e vocк sabe? Alguns citam uma crнtica construtiva, e vocк simplesmente leva pra o seu lado pessoal e usa o mesmo argumento para se abster da crнtica proposta pelo usuбrio em questгo.
Re: Bloqueio de comandos -
1sbedx - 28.04.2018
Quote:
Originally Posted by Cycle
Vou tentar explicar de uma forma mais entendнvel pra vocк, que parece que tem a mente pequena.
Se existe a tag em "bool", й porque ela serve para uma variante ter a sua setagem em dois valores lуgicos, verdadeiro e falso.
Qual a necessidade de usar uma variбvel inteira para utilizar isso?
Sim, ambos possuem a mesma ocupaзгo de memуria, ainda sгo signed int.
Isso й uma questгo de gosto e lуgica, um cуdigo organizado define o real contexto que o programador deseja seguir.
@SeuMadruga
"Eu atй ia avisar o membro sobre isto mas aqui na board ultimamente as pessoas nгo sabem escutar coisas construtivas entгo prefiro ficar quieto e guardar meu conhecimento kkk."
"Conhecimento", coloquei entre aspas, porque pra mim, isso й algo fictнcio quando se trata do que vocк se remete.
Jб que vocк tem tanto conhecimento, me diz, desde quando SendClientMessage й uma variбvel? Cara, aceita, vocк й uma pйrola na board.
"Nгo sabem diferenciar uma crнtica construtiva", e vocк sabe? Alguns citam uma crнtica construtiva, e vocк simplesmente leva pra o seu lado pessoal e usa o mesmo argumento para se abster da crнtica proposta pelo usuбrio em questгo.
|
Quote:
Originally Posted by Cycle
Isso й uma questгo de gosto
|
Pelo que vocк disse, й apenas um gosto pessoal, nгo hб necessidade de ensinar como os outros devem usar.
Senhor hipуcrita, eu te dei uma crнtica construtiva tambйm ...
Re: Bloqueio de comandos -
Cycle - 28.04.2018
Quote:
Originally Posted by 1sbedx
Pelo que vocк disse, й apenas um gosto pessoal, nгo hб necessidade de ensinar como os outros devem usar.
Senhor hipуcrita, eu te dei uma crнtica construtiva tambйm ...
|
Meu Deus do cйu, se isso nгo fosse ter utilidade, o porque criariam?
Prefiro abster essa discussгo, vocк defenderб o seu ponto de vista, e eu defenderei o meu.
Nгo estou querendo ensinar, como disse ao SeuMadruga, "Ficaria melhor vocк usar", eu nгo o obriguei.
Realize a sua interpretaзгo da forma que bem entender.
"Senhor hipуcrita"? Pelo menos eu nгo tenho problemas com a tabsize, fui construtivo, quem nгo soube interpretar foi o SeuMadruga e disse nгo preferir argumentar porque eu nгo sei receber uma crнtica construtiva.
Re: Bloqueio de comandos -
1sbedx - 28.04.2018
Quote:
Originally Posted by Cycle
Entгo ficaria melhor vocк usar bool.
|
Vocк faz como quiser, porque ambos levam ao mesmo resultado e nгo hб melhor ou pior este e o ponto.
Re: Bloqueio de comandos -
Gguiz - 28.04.2018
Quote:
Originally Posted by 1sbedx
Pelo que vocк disse, й apenas um gosto pessoal, nгo hб necessidade de ensinar como os outros devem usar.
Senhor hipуcrita, eu te dei uma crнtica construtiva tambйm ...
|
Vamos lб, a utilizaзгo da variбvel do tipo booleana irб depender da maneira que vocк organiza o sistema, nгo necessariamente й algo "desnecessбria", "inъtil".
Pense da seguinte maneira, em um certo dia, criei um sistema administrativo, iria utilizar bool? Nгo obviamente. Mas decidi fazer um comando /admins e bloquear este comando para membros que estejam ausentes, levando em consideraзгo que o sistema de AFK estб em bool.
Sim, poderia criar uma variбvel e atribuir o valor 0 ou 1 (ausente, nгo ausente), mas й bom vocк utilizar um pouco da organizaзгo, isso depende de cada um. Nгo posso julgar sua maneira de programar e nem vocк a minha, mas posso orientar pontos positivos e negativos.
Abraзos!
Re: Bloqueio de comandos -
1sbedx - 28.04.2018
Quote:
Originally Posted by Gguiz
Vamos lб, a utilizaзгo da variбvel do tipo booleana irб depender da maneira que vocк organizar o sistema, nгo necessariamente й algo "desnecessбria", "inъtil".
Pense da seguinte maneira, em um certo dia, criei um sistema administrativo, iria utilizar bool? Nгo obviamente. Mas decidi fazer um comando /admins e bloquear este comando para membros que estejam ausentes, levando em consideraзгo que o sistema de AFK estб em bool.
Sim, poderia atribuir criar uma variбvel e atribuir o valor 0 ou 1 (ausente, nгo ausente), mas й bom vocк utilizar um pouco da organizaзгo, isso depende de cada um. Nгo posso julgar sua maneira de programar e nem vocк a minha, mas posso orientar pontos positivos e negativos.
Abraзos!
|
Sempre tem um pra entrar, o problema do tуpico aparentemente foi resolvido, fim.
Re: Bloqueio de comandos -
Cycle - 28.04.2018
Cara, й simples.
Porque fazer isso:
PHP код:
new value;
if(value != 0) return value = 0;
Se pode fazer isso:
PHP код:
new bool:value;
if(value != false) return value = false;
Alйm de que, bool й suportбvel atй dois valores, verdadeiro e falso, a variбvel inteira, suporta atй diversos valores(nгo exatamente), isso й algo desnecessбrio, isso sim й desnecessбrio, usar uma variбvel inteira pra armazenar somente dois valores.
Re: Bloqueio de comandos -
nasser - 28.04.2018
Quote:
Originally Posted by Cycle
"Conhecimento", coloquei entre aspas, porque pra mim, isso й algo fictнcio quando se trata do que vocк se remete.
Jб que vocк tem tanto conhecimento, me diz, desde quando SendClientMessage й uma variбvel? Cara, aceita, vocк й uma pйrola na board.
"Nгo sabem diferenciar uma crнtica construtiva", e vocк sabe? Alguns citam uma crнtica construtiva, e vocк simplesmente leva pra o seu lado pessoal e usa o mesmo argumento para se abster da crнtica proposta pelo usuбrio em questгo.
|
Como diz a assinatura do [BOPE]Seu._.Madruga
Quote:
Originally Posted by [BOPE]Seu._.Madruga
• O topo da inteligкncia й alcanзar a humildade •
|
Estгo discutindo por causa de usar "
0" que й "
false" e "
1" que й "
true" sгo as mesmas coisas se ele vendo o cуdigo dele e entendendo o que significa nгo vejo problema algum de usar "
0" ou "
1", atй porque o problema й dele o se irб praticamente inutilizar uma variбvel que poderia servir para guardar mais valores.