Ayuda comando
#1

Hola, Tengo un CMD para agregar offline el nombre de un jugador a una lista en un archivo .txt

Pero queria saber como hacer para q no se agrege a ningun admin a esa lista. Y tambien para q la persona no pueda usar ese comando en si mismo.

Gracias

Aqui el comando

PHP код:
CMD:offlista(playeridparams[])
{
    new 
nombre[64];
    if(
PlayerInfo[playerid][pAdmin] < 1)return SendClientMessage(playerid, -1,"No autorizado");
    if(
sscanf(params"s[24]"nombre)) return SendClientMessage(playerid, -1"Escribe: /offlista [Nombre del jugador]");
    
//if(nombre == playerid) return SendClientMessage(playerid, -1, "No puedes usar este comando en ti mismo" );
    
new string[256];
    
format(string,256,"El jugador %s, fue agregado a la lista",nombre);
    for(new 
i=0;i<nubero;i++)
    {
    if(
strcmp(nombre,AgrLista[i],true)==0)
    {
    
PonerEnLaLista(i,playerid);
    
SendClientMessage(playerid,0xFFFF00AA,string);
    return 
1;
    }
    }
    return 
1;

Reply
#2

pawn Код:
CMD:offlista(playerid, params[])
{
    new nombre[64];
    if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, -1,"No autorizado");
    if(PlayerInfo[giveplayerid][pAdmin] >= PlayerInfo[playerid][pAdmin]){ return SendClientMessage(playerid, -1, "No puedes agregar a administradores a la lista");
    if(playerid == giveplayerid) return SendClienteMessage(playerid, -1, "No puedes agregarte a ti mismo en la lista");
    if(sscanf(params, "s[24]", nombre)) return SendClientMessage(playerid, -1, "Escribe: /offlista [Nombre del jugador]");
    //if(nombre == playerid) return SendClientMessage(playerid, -1, "No puedes usar este comando en ti mismo" );
    new string[256];
    format(string,256,"El jugador %s, fue agregado a la lista",nombre);
    for(new i=0;i<nubero;i++)
    {
    if(strcmp(nombre,AgrLista[i],true)==0)
    {
    PonerEnLaLista(i,playerid);
    SendClientMessage(playerid,0xFFFF00AA,string);
    return 1;
    }
    }
    return 1;
}
Lineas agregadas:
pawn Код:
if(PlayerInfo[giveplayerid][pAdmin] >= PlayerInfo[playerid][pAdmin]){ return SendClientMessage(playerid, -1, "No puedes agregar a administradores a la lista");
pawn Код:
if(playerid == giveplayerid) return SendClienteMessage(playerid, -1, "No puedes agregarte a ti mismo en la lista");
Espero haberte ayudado.
Reply
#3

Quote:
Originally Posted by Choidito
Посмотреть сообщение
pawn Код:
CMD:offlista(playerid, params[])
{
    new nombre[64];
    if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, -1,"No autorizado");
    if(PlayerInfo[giveplayerid][pAdmin] >= PlayerInfo[playerid][pAdmin]){ return SendClientMessage(playerid, -1, "No puedes agregar a administradores a la lista");
    if(playerid == giveplayerid) return SendClienteMessage(playerid, -1, "No puedes agregarte a ti mismo en la lista");
    if(sscanf(params, "s[24]", nombre)) return SendClientMessage(playerid, -1, "Escribe: /offlista [Nombre del jugador]");
    //if(nombre == playerid) return SendClientMessage(playerid, -1, "No puedes usar este comando en ti mismo" );
    new string[256];
    format(string,256,"El jugador %s, fue agregado a la lista",nombre);
    for(new i=0;i<nubero;i++)
    {
    if(strcmp(nombre,AgrLista[i],true)==0)
    {
    PonerEnLaLista(i,playerid);
    SendClientMessage(playerid,0xFFFF00AA,string);
    return 1;
    }
    }
    return 1;
}
Lineas agregadas:
pawn Код:
if(PlayerInfo[giveplayerid][pAdmin] >= PlayerInfo[playerid][pAdmin]){ return SendClientMessage(playerid, -1, "No puedes agregar a administradores a la lista");
pawn Код:
if(playerid == giveplayerid) return SendClienteMessage(playerid, -1, "No puedes agregarte a ti mismo en la lista");
Espero haberte ayudado.
Eso no funciona, de donde sacas el giveplayerid?? ,

Por otro lado, tendrнa que estar strcmp para comprobar dos cadenas, la de los nombres.
pawn Код:
CMD:offlista(playerid, params[])
{
    new nombre[64],nombre2[24];
    if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, -1,"No autorizado");
    if(sscanf(params, "s[24]", nombre)) return SendClientMessage(playerid, -1, "Escribe: /offlista [Nombre del jugador]");
    GetPlayerName(playerid,nombre2,24);
    if(strcmp(nombre, nombre2, true) ==0) //strcmp compara dos cadenas aver si son iguales, true para ignorar case sensitive
    {
        new string[256];
        format(string,256,"El jugador %s, fue agregado a la lista",nombre);
        for(new i=0;i<nubero;i++)
        {
            if(strcmp(nombre,AgrLista[i],true)==0)
            {
                PonerEnLaLista(i,playerid);
                SendClientMessage(playerid,0xFFFF00AA,string);
                return 1;
            }
        }
    }else SendClientMessage(playerid, -1, "No puedes poner el mismo nombre tuyo" );
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)