[DUDA] Sobre comando whisper /w
#1

Buenas, me gustarнa saber cуmo podrнa hacer para que este comando funcionase de tal manera que los usuarios pudiesen enviar mensajes privados a los admins y solo a los admins (es decir que los users no se puedan enviar mensajes privados entre sн, solo desde users-admins), ademбs de que los admins puedan responderles. Es que ahora mismo el comando solo funciona para que los admins (solo ellos) pueden enviarle mensajes privados a los users o bien a otros admins, pero no a la inversa (de users a admins). Si quito la lнnea que configura el comando solo para admins el problema es que los usuarios se podrнan enviar mensajes entre sн y no quiero que sea asн, sino como les dije antes. Aquн les dejo el comando:

Код:
CMD:w(playerid, params[])
	{
	    new whis[128], string[128];
	    if(Info[playerid][pAdminZC] < 2) return SendClientMessageEx(playerid, COLOR_WHITE, "SERVER: Comando desconocido. Por favor usa /ayuda para ver los comandos disponibles.");
	    if(sscanf(params, "ds[128]", params[0], whis)) return SendClientMessageEx(playerid,  COLOR_GRAD2, "/w [id] [texto]");
	    if(IsPlayerConnected(params[0]))
	    {
			format(string, sizeof(string), "Respuesta de %s (%d): %s", GetPlayerNameEx(playerid), playerid, whis);
			SendClientMessageEx(params[0], 0xDBDE50FF, string);
			format(string, sizeof(string), "Mensaje a %s (%d): %s", GetPlayerNameEx(params[0]), params[0], whis);
			SendClientMessageEx(playerid,  0xDBDE50FF, string);
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
				if(Info[i][pAdminZC] >= 1338)
				{
					if(See_MP[i] == 1)
				    {
					    format(string, sizeof(string), "[R: %s(%d) a  User %s(%d): {FFFFFF}%s]", GetPlayerNameEx(playerid), playerid, GetPlayerNameEx(params[0]), params[0], params[1]);
					    SendClientMessageEx(i, 0x00FF00FF, string);
					}
				}
		   }
	    }
	    else SendClientMessageEx(playerid, COLOR_GRAD2, "Esa ID es invбlida.");
	    return 1;
	}
Si me pudiesen ayudar se los agradecerнa un montуn.
Reply
#2

pawn Код:
CMD:w(playerid, params[])
{
    static
        whis[128],
        string[128];

    if(Info[playerid][pAdminZC] < 2) return SendClientMessageEx(playerid, COLOR_WHITE, "SERVER: Comando desconocido. Por favor usa /ayuda para ver los comandos disponibles.");
       
    if(sscanf(params, "ds[128]", params[0], whis)) return SendClientMessageEx(playerid,  COLOR_GRAD2, "/w [id] [texto]");

    if(IsPlayerConnected(params[0]))
    {
        format(string, sizeof(string), "Respuesta de %s (%d): %s", GetPlayerNameEx(playerid), playerid, whis);
        SendClientMessageEx(params[0], 0xDBDE50FF, string);
        format(string, sizeof(string), "Mensaje a %s (%d): %s", GetPlayerNameEx(params[0]), params[0], whis);
        SendClientMessageEx(playerid,  0xDBDE50FF, string);
        for(new i = 0; i < GetMaxPlayers(); i++)
        {
            if(Info[i][pAdminZC] >= 1338 && See_MP[i] == 1)
            {
                format(string, sizeof(string), "[R: %s(%d) a  User %s(%d): {FFFFFF}%s]", GetPlayerNameEx(playerid), playerid, GetPlayerNameEx(params[0]), params[0], params[1]);
                SendClientMessageEx(i, 0x00FF00FF, string);
            }
            else if(Info[i][pAdminZC] == 0 && See_Mp[i] == 1)
            {
                if(Info[GetPlayerNameEx(params[0])][pAdminZC] > 1)  
                {
                    format(string, sizeof(string), "User %s(%d) to admin %s(%d): {FFFFFF}%s]", GetPlayerNameEx(params[0]), params[0], GetPlayerNameEx(playerid), playerid, params[1]);
                    SendClientMessageEx(i, 0x00FF00FF, string);
        }
            }
    }
    }
    else return SendClientMessageEx(playerid, COLOR_GRAD2, "Esa ID es invбlida.");
}
es una cuestiуn de usar y ver si funciona.
Reply
#3

error 033: array must be indexed (variable "GetPlayerNameEx")

Aparte de ese me dieron otros errores que solucionй ya, como el return 1 que te faltу al final y que pusiste See_Mp con la p en minъscula en una de las lнneas y es See_MP. Pero me falta ese error
Reply
#4

dуnde esta el:
pawn Код:
GetPlayerNameEx(params[0])
haga lo siguiente antes:
pawn Код:
new kk = GetPlayerNameEx(params[0])
y reemplazar.
Reply
#5

O sea el new kk = GetPlayerNameEx(params[0]), lo pondrнa:

if(IsPlayerConnected(params[0]))
{
JUSTO AQUН

Ya que mбs abajo, concretamente 3 lнneas mбs abajo aparece el primer GetPlayerNameEx(params[0]), justo en esta lнnea:

format(string, sizeof(string), "Mensaje a %s (%d): %s", GetPlayerNameEx(params[0]), params[0], whis);

Y sustituirнa todos los GetPlayerNameEx(params[0]) por kk. Es eso lo que dices o cometo algъn error con lo que te estoy diciendo, si es asн me lo dices para saber si el new lo tengo que poner al principio del comando o donde.
Reply
#6

Revivo tema, alguien me echa una mano para saber si estoy haciendo lo correcto con este comando?
Reply
#7

pawn Код:
CMD:w(playerid, params[])
{
    new Fast_[128], Id_, string_[200];
    if(sscanf(params, "us[128]", Id_, Fast_)) return SendClientMessage(playerid,  COLOR_GRAD2, "/w [id] [texto]");

    new Name_[24];
   
    if(!IsPlayerConnected( Id_ ))
        return SendClientMessage(playerid,  COLOR_GRAD2, "Jugador no conectado");

    if( Info[ Id_ ][pAdminZC] >= 1 )
    {
    GetPlayerName( Id_, Name_, sizeof Name_);
    format( string_, sizeof string_, "Mensaje de de %s (%d): %s", Name_, playerid, Fast_);
    SendClientMessage( Id_, 0xDBDE50FF, string_);
    GetPlayerName( playerid, Name_, sizeof Name_);
    format( string_, sizeof string_, "Mensaje a %s (%d): %s", Name_, params[0], Fast_);
    SendClientMessage(playerid,  0xDBDE50FF, string_);
    }else return SendClientMessage(playerid,  COLOR_GRAD2, "Jugador no es administrador");
    return 1;
}
si hay error me dices cuales.
Reply
#8

No me dio error al guardar y compilar Parka. Solo me falta testearlo para ver si cumple las funciones que quiero. Has trabajado alguna vez con el GM de Zenon City? Gracias por la ayuda con el comando de veras.
Reply
#9

Quote:
Originally Posted by AnonymousXD
Посмотреть сообщение
No me dio error al guardar y compilar Parka. Solo me falta testearlo para ver si cumple las funciones que quiero. Has trabajado alguna vez con el GM de Zenon City? Gracias por la ayuda con el comando de veras.
Nunca, solo lo visualice la primera ves que lo aportaron en *********
Reply
#10

EDITO: Parka, no me fijй bien, ahora el problema es que no deja mandar /w de admin a usuario, te dice que no eres administrador. Y ademбs, cuando alguien te habla en lugar de salir su nombre y su id, sale tu nombre y tu id.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)