Aceptar comando estando dentro de un dm
#1

Hola, hace un tiempo cree un DM, que al poner el comando /DM te teletransportaba a la zona del dm y todo perfecto, pero al colocar cualquier comando que no sea /SalirDM, al jugador le saldra que no puede utilizar comandos estando dentro del dm, solo podra ocupar aquel comando para salir del DM (en este caso /SalirDM), pero viendo ahora, me perjudica un poco, ya que si hay un unico administrador dentro del dm y el servidor tiene 10 players y de esos 10 players 1 hace spam o es cheat o cualquier cosa, el administrador tendra que usar /SalirDM para ocupar los comandos admin, entonces mi pregunta es como aceptar que si es administrador tambien tenga la posibilidad de ocupar todos los comandos. Y que tambien si un jugador esta dentro del /DM tambien pueda colocar el comando /ayuda.

Este es el codigo que tengo:

Код:
    if(EnDM[playerid] == true && strcmp(cmdtext, "/SalirDM", true)) // si un jugador esta dentro del dm, solo podra ocupar el comando "/SalirDM"
    {
        SendClientMessage(playerid, 0xFF0000FF, "< Error: > No puedes ocupar comandos estando en el DM, para salir utiliza: » /SalirDM «");
        return 1;
    }
Saludos y un millon de gracias!
Reply
#2

pawn Код:
if(EnDM[playerid] && !(!strcmp(cmdtext,"/SalirDM",true) || !strcmp(cmdtext,"/ayuda",true) || EsAdmin[playerid])) {
    SendClientMessage(playerid, 0xFF0000FF, "< Error: > No puedes ocupar comandos estando en el DM, para salir utiliza: » /SalirDM «");
    return 1;
}
Obiamente tenйs que cambiar la variable "EsAdmin" por tu variable de admin.
Reply
#3

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/SalirDM", cmdtext, true, 10) == 0 && EnDM[playerid] == false)
    {
        ///TU FUNCION
        return 1;
    }
    if(EnDM[playerid] == true)
    {
        SendClientMessage(playerid, 0xFF0000FF, "< Error: > No puedes ocupar comandos estando en el DM, para salir utiliza: » /SalirDM «");
        return 0;
    }
    //TUS DEMAS COMANDOS
    //TUS DEMAS COMANDOS
    //TUS DEMAS COMANDOS
    return 0;
}
Reply
#4

Probe ambos y ninguno me sirvio D: el primero codigo que me dieron que fue el de Daniel-92 podia usar cualquier comando dentro del DM, y el segundo codigo que me dieron que fue el de bytytus no podia ocupar ni si quiera el comando para dejar el DM D: seguire intentando mientras espero mas respuestas :c Gracias!
Reply
#5

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/salirdm", cmdtext, true) == 0 && EnDM[playerid] == true)
    {
        EnDM[playerid] = false;
        SetPlayerPos(playerid, 0.0, 0.0, 2.0); // Aqui cambia las coordenadas
        return 1;
    }
    if(EnDM[playerid] == true)
    {
        SendClientMessage(playerid, 0xFF0000FF, "< Error: > No puedes ocupar comandos estando en el DM, para salir utiliza: » /SalirDM «");
        return 1;
    }
   

    // El resto de comandos...
    return 0;
}
Reply
#6

Quote:
Originally Posted by Master[Pro]
Посмотреть сообщение
Probe ambos y ninguno me sirvio D: el primero codigo que me dieron que fue el de Daniel-92 podia usar cualquier comando dentro del DM, y el segundo codigo que me dieron que fue el de bytytus no podia ocupar ni si quiera el comando para dejar el DM D: seguire intentando mientras espero mas respuestas :c Gracias!
el que puse yo funciona bien, pero vos tenes que poner la verificacнon si el jugador es admin o no, por lo tanto si la condiciуn EsAdmin es verdadera el jugador podrб usar cualquier comando.
Reply
#7

Quote:
Originally Posted by Daniel-92
Посмотреть сообщение
el que puse yo funciona bien, pero vos tenes que poner la verificacнon si el jugador es admin o no, por lo tanto si la condiciуn EsAdmin es verdadera el jugador podrб usar cualquier comando.
=O, verdad no me habia percatado de aquello, lo que pasa es que al Spawnear me logeo autimaticamente como administrador por eso podia usar todos los comandos, entre al DM y me puse admin nivel 0 y funciono tal cual Tambien probe el codigo que me dio bybytus y tambien ahora me funciono :Z Muchisimas gracias a ambos!!!
Reply
#8

Quote:
Originally Posted by Jovanny
Посмотреть сообщение
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/salirdm", cmdtext, true) == 0 && EnDM[playerid] == true)
    {
        EnDM[playerid] = false;
        SetPlayerPos(playerid, 0.0, 0.0, 2.0); // Aqui cambia las coordenadas
        return 1;
    }
    if(EnDM[playerid] == true)
    {
        SendClientMessage(playerid, 0xFF0000FF, "< Error: > No puedes ocupar comandos estando en el DM, para salir utiliza: » /SalirDM «");
        return 1;
    }
   

    // El resto de comandos...
    return 0;
}
Gracias por la correccion , me olvide ke no se puede poner return 0 en ese call ya ke ya esta el call asi
Reply
#9

Con el return 0 me salia: Server: Unknow Command siendo que yo le tenia puesto que ese comando no existia, le puse return 1 y ya no aparecio mas e.e. Gracias :B!
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)