Bloquedo De Comandos En Zcmd
#1

Hola Como Ven En El Titulo Tengo Un Problema En Zcmd Estoy Intentando Bloquear Los Comandos En Zcmd Ya Tengo Todo Listo Pero A La Hora De Usar /Salir No Pasa Nada Si Me Pueden Ayudar Plis

Aqui El codigo:
PHP код:
public OnPlayerCommandReceived(playeridcmdtext[])
{
     if(
UserEnJuego[playerid] == && !(strfind(cmdtext"salir"true)!=-1))
      {
    
GameTextForPlayer(playerid,"~r~~h~~h~Estas en un minijuego~n~~w~para salir usa~n~~r~~h~~h~/salir",3000,3);
    return 
0;
    }
    return 
1;

Aqui El Comando:
PHP код:
CMD:salir(playeridparams[])
{
    if(
UserEnJuego[playerid] == 0)
    {
    
SendClientMessage(playerid,COLOR_RED,"* Error: No estas en un juego o en un Duelo!");
    }
    if(
UserEnJuego[playerid] == 1)
    {
    
TogglePlayerControllable(playeridtrue);
    
SpawnPlayer(playerid);
    
SetCameraBehindPlayer(playerid);
    
SetPlayerInterior(playerid0);
    
SetPlayerVirtualWorld(playerid0);
    
GameTextForPlayer(playerid,"~r~~h~~h~has salido!",3000,3);
    
TogglePlayerControllable(playeridtrue);
    
EnDuelo[playerid] = 0;
    
UserEnJuego[playerid] = 0;
    }
    return 
1;

Reply
#2

Utilice el ejemplo que hice aquн de una ARENA en su minijuego


їQuieres bloquear los comandos en ARENAS? Si es asн,



Al principio del game mode

PHP код:
new bool:minijuego[MAX_PLAYERS]; // Para comprobar si el jugador estб dentro o fuera de la arena // 
En el comando / salir

PHP код:
if(minijuego[playerid] == trueminijuego[playerid]=false
Ahora coloque esto en sus minijuego

PHP код:
minijuego[playerid]=true
Ahora cree un public para bloquear todos los comandos menos el / salir

PHP код:
public OnPlayerCommandReceived(playeridcmdtext[])
{
    if(
strfind(cmdtext,"salir",true) != -1) return 1;
    else if(
minijuego[playerid] == true) return SendClientMessage(playerid,-1," Su mensaje aquн "),false;
    return 
1;

Ahora ponga esto en el callback on player death


PHP код:
if(minijuego[playerid]==true)
    {
        
//quem morreu na arena
        
minijuego[playerid]=false;
        
GameTextForPlayer(playerid,"~r~HA MORREU NOOOOB",5000,5);
        
MensagemPessoal(playeridvermelho"[ARENA]Vocк morreu e foi spawnado !!");
    }
    if(
minijuego[killerid]==true)
    {
        
//quem matou na arena
        
GameTextForPlayer(killerid,"~g~ -1 NOOB ",5000,5);
        
MensagemPessoal(killeridverdec"{00FF1A}[ARENA]Vocк matou um oponente,ganhou {FCFF00}500${00FF1A} e colete + vida");
        
SetPlayerHealth(killerid100.0);
        
SetPlayerArmour(killerid100.0);
        
GivePlayerMoney(killerid500);
    } 
Reply
#3

No Amigo Esto No Me Funciona Pero Igual Gracias
Reply
#4

Quote:
Originally Posted by Marshmello
Посмотреть сообщение
No Amigo Esto No Me Funciona Pero Igual Gracias
CUAL ES EL PROBLEMA ? їNO ESTA DEL JEITO QUE QUIERES?
Reply
#5

Код:
public OnPlayerCommandReceived(playerid, cmdtext[]) 
{ 
    if(UserEnJuego[playerid] == 1 && strfind(cmdtext,"salir",true) == -1)
    { 
    GameTextForPlayer(playerid,"~r~~h~~h~Estas en un minijuego~n~~w~para salir usa~n~~r~~h~~h~/salir",3000,3); 
    return 0; 
    } 
    return 1; 
}
Reply
#6

Quote:
Originally Posted by FixFl0w
Посмотреть сообщение
Код:
public OnPlayerCommandReceived(playerid, cmdtext[]) 
{ 
    if(UserEnJuego[playerid] == 1 && strfind(cmdtext,"salir",true) == -1)
    { 
    GameTextForPlayer(playerid,"~r~~h~~h~Estas en un minijuego~n~~w~para salir usa~n~~r~~h~~h~/salir",3000,3); 
    return 0; 
    } 
    return 1; 
}
Yo Me Estoy Refiriendo Cual Yo Entro A Un Minijuego y Quiero Salir El Comando /Salir No Hace La Funcion De Sacarme Del Minijuego Osea No Hace Nada Es Como Si El Comando No Existiera!
Reply
#7

No se si te sirve pero yo lo tengo definido con un
Код:
enum INFO
{
	EnMinijuego
new Informacion[MAX_PLAYERS][INFO];
y en cada comando hay que ponerle la funciуn
Код:
if(Informacion[playerid][EnMinijuego] == 1)return GameTextForPlayer(playerid, "~w~Estas en un minijuego, no se permiten comandos~n~ utiliza ~p~/salir ~w~para usarlos!", 6000, 5);
Reply
#8

//
new bool:UserEnJuego[MAX_PLAYERS];

//
public OnPlayerCommandReceived(playerid, cmdtext[]){

if(UserEnJuego[playerid] == true && strfind(cmdtext,"salir",true)==-1){
GameTextForPlayer(playerid,"~r~comandos bloqueados~n~usa /salir para salir",3000,3);
return 0;}

return 1;
}

//
CMDalir(playerid, params[]){
if(UserEnJuego[playerid] == true){
TogglePlayerControllable(playerid, true);
SpawnPlayer(playerid);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
GameTextForPlayer(playerid,"~r~~h~~h~has salido!",3000,3);
TogglePlayerControllable(playerid, true);
EnDuelo[playerid] = 0;
UserEnJuego[playerid] = false;
}else return SendClientMessage(playerid,-1,"No estas en un minijuego.");
return 1;
}

//
Seria recomendable agregar:
UserEnJuego[playerid] = false;
en los callback playerconnect y playerdisconnect.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)