[Ayuda] їComo hago que una variable de bloqueo...? -
MatrixenXD - 11.08.2015
Hola, les quiero preguntar como hago para que una variable de bloqueo no me bloquee un comando.
Explicaciуn:
Que una variable de bloqueo haga su trabajo con todos los comandos excepto uno.
~Saludos
Respuesta: [Ayuda] їComo hago que una variable de bloqueo...? -
Dreyfuz - 11.08.2015
Si no pones el cуdigo no podremos ayudarte. Por lo menos pon el cуdigo del comando en cuestiуn.
Respuesta: [Ayuda] їComo hago que una variable de bloqueo...? -
MatrixenXD - 11.08.2015
._. No hace falta poner ningъn cуdigo, lo que estoy queriendo decir es como hacer que un comando no sea bloqueado por una variable de bloqueo, o que una variable de bloqueo bloquee todos los comandos excepto uno.
Respuesta: [Ayuda] їComo hago que una variable de bloqueo...? -
Johansitho - 11.08.2015
PHP код:
new bloquearcmd[MAX_PLAYERS];
CMD:bloquearcomando(playerid, params[])
{
bloquearcmd[playerid] = 1;
SendClientMessage(playerid, -1, "Comando bloqueado");
return 1;
}
CMD:comando(playerid, params[])
{
if(bloquearcmd[playerid] == 0)
{
SendClientMessage(playerid, -1, "Comando desbloqueado");
}
else SendClientMessage(playerid, -1, "Comando bloqueado");
return 1;
}
Respuesta: [Ayuda] їComo hago que una variable de bloqueo...? -
MatrixenXD - 11.08.2015
Quote:
Originally Posted by Johansitho
PHP код:
new bloquearcmd[MAX_PLAYERS];
CMD:bloquearcomando(playerid, params[])
{
bloquearcmd[playerid] = 1;
SendClientMessage(playerid, -1, "Comando bloqueado");
return 1;
}
CMD:comando(playerid, params[])
{
if(bloquearcmd[playerid] == 0)
{
SendClientMessage(playerid, -1, "Comando desbloqueado");
}
else SendClientMessage(playerid, -1, "Comando bloqueado");
return 1;
}
|
Primero ese cуdigo estб mal, segundo no estoy pidiendo como crear una variable de bloqueo
Respuesta: [Ayuda] їComo hago que una variable de bloqueo...? -
Johansitho - 11.08.2015
Quote:
Originally Posted by MatrixenXD
Primero ese cуdigo estб mal, segundo no estoy pidiendo como crear una variable de bloqueo
|
Disculpa, Pero:
1. el cуdigo no estб mal.
2. Creo que no entendн tu duda amigo.
Re: [Ayuda] їComo hago que una variable de bloqueo...? -
SickAttack - 11.08.2015
Aqui te va un ejemplo.
Cuando comandos estan bloqueados, solamente puedes utilizar /test1.
pawn Код:
// [ DEVELOPMENT GAMEMODE ]
// INCLUDES:
#include <a_samp>
#include <zcmd>
// DEFINES:
// FUNCTIONS:
#define function%0(%1) forward%0(%1); public%0(%1)
// PER-PLAYER VARIABLES:
new bool:pCommandsBlocked[MAX_PLAYERS] = false;
// MAIN:
main()
{
print("Development Mode: block_cmds_leave_one.amx");
}
// CALLBACKS:
public OnGameModeInit()
{
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerCommandReceived(playerid, cmdtext[])
{
if(ArePlayerCommandsBlocked(playerid))
{
if(strcmp(cmdtext, "/test1", true) != 0)
{
SendClientMessage(playerid, -1, "Commands are currently blocked.");
return 0;
}
}
return 1;
}
// COMMANDS:
CMD:blockcmds(playerid, params[])
{
pCommandsBlocked[playerid] = true;
return 1;
}
CMD:unblockcmds(playerid, params[])
{
pCommandsBlocked[playerid] = false;
return 1;
}
CMD:test1(playerid, params[])
{
SendClientMessage(playerid, -1, "You have used the commad /test1.");
return 1;
}
CMD:test2(playerid, params[])
{
SendClientMessage(playerid, -1, "You have used the commad /test2.");
return 1;
}
// FUNCTIONS:
function bool:ArePlayerCommandsBlocked(playerid) return pCommandsBlocked[playerid];
P.S: No estamos ciegos!
Respuesta: [Ayuda] їComo hago que una variable de bloqueo...? -
Dreyfuz - 11.08.2015
Mirб. Seguramente tendrбs una variable tipo:
ComandoBloqueado
Y en algunos comandos tendrбs una sentencia semejante a este:
PHP код:
//...
if(ComandoBloqueado == true)
{
// ...
}
// ...
Lo ъnico que debes de hacer es, al comando que no quieres que "estй bloqueado", le sacas esa sentencia, sуlo eso.
E insisto que si pusieras el cуdigo no perderбs nada, ni nadie te plagiarб por un simple cуdigo de un comando. Lo decнa, para asн poder ver quй variables usas y asн ayudarte con mбs precisiуn, pero si no quieres estб bien; eso sн, serб mбs complejo ayudarte.
Respuesta: Re: [Ayuda] їComo hago que una variable de bloqueo...? -
MatrixenXD - 11.08.2015
Quote:
Originally Posted by SickAttack
Aqui te va un ejemplo.
Cuando comandos estan bloqueados, solamente puedes utilizar /test1.
pawn Код:
// [ DEVELOPMENT GAMEMODE ]
// INCLUDES:
#include <a_samp> #include <zcmd>
// DEFINES:
// FUNCTIONS:
#define function%0(%1) forward%0(%1); public%0(%1)
// PER-PLAYER VARIABLES:
new bool:pCommandsBlocked[MAX_PLAYERS] = false;
// MAIN:
main() { print("Development Mode: block_cmds_leave_one.amx"); }
// CALLBACKS:
public OnGameModeInit() { return 1; }
public OnGameModeExit() { return 1; }
public OnPlayerCommandReceived(playerid, cmdtext[]) { if(ArePlayerCommandsBlocked(playerid)) { if(strcmp(cmdtext, "/test1", true) != 0) { SendClientMessage(playerid, -1, "Commands are currently blocked."); return 0; } } return 1; }
// COMMANDS:
CMD:blockcmds(playerid, params[]) { pCommandsBlocked[playerid] = true; return 1; }
CMD:unblockcmds(playerid, params[]) { pCommandsBlocked[playerid] = false; return 1; }
CMD:test1(playerid, params[]) { SendClientMessage(playerid, -1, "You have used the commad /test1."); return 1; }
CMD:test2(playerid, params[]) { SendClientMessage(playerid, -1, "You have used the commad /test2."); return 1; }
// FUNCTIONS:
function bool:ArePlayerCommandsBlocked(playerid) return pCommandsBlocked[playerid];
P.S: No estamos ciegos!
|
Muchas gracias, eso es lo que buscaba, e.e era mi manera de escribir xD
Respuesta: [Ayuda] їComo hago que una variable de bloqueo...? -
MatrixenXD - 11.08.2015
Quote:
Originally Posted by Dreyfuz
Mirб. Seguramente tendrбs una variable tipo: ComandoBloqueado
Y en algunos comandos tendrбs una sentencia semejante a este:
PHP код:
//...
if(ComandoBloqueado == true)
{
// ...
}
// ...
Lo ъnico que debes de hacer es, al comando que no quieres que "estй bloqueado", le sacas esa sentencia, sуlo eso.
E insisto que si pusieras el cуdigo no perderбs nada, ni nadie te plagiarб por un simple cуdigo de un comando. Lo decнa, para asн poder ver quй variables usas y asн ayudarte con mбs precisiуn, pero si no quieres estб bien; eso sн, serб mбs complejo ayudarte.
|
Es que no tengo una sentencia asн en cada comando si no que tengo una en el OnPlayerCommandText