SA-MP Forums Archive
[DUDA] Sobre comando whisper /w - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [DUDA] Sobre comando whisper /w (/showthread.php?tid=450944)



[DUDA] Sobre comando whisper /w - AnonymousXD - 15.07.2013

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.


Re: [DUDA] Sobre comando whisper /w - Knight97 - 15.07.2013

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.


Re: [DUDA] Sobre comando whisper /w - AnonymousXD - 15.07.2013

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


Re: [DUDA] Sobre comando whisper /w - Knight97 - 15.07.2013

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


Re: [DUDA] Sobre comando whisper /w - AnonymousXD - 16.07.2013

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.


Re: [DUDA] Sobre comando whisper /w - AnonymousXD - 22.07.2013

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


Respuesta: [DUDA] Sobre comando whisper /w - Parka - 22.07.2013

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.


Re: [DUDA] Sobre comando whisper /w - AnonymousXD - 22.07.2013

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.


Respuesta: Re: [DUDA] Sobre comando whisper /w - Parka - 22.07.2013

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 *********


Re: [DUDA] Sobre comando whisper /w - AnonymousXD - 22.07.2013

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.