[Ayuda] Mensaje para el Jugador Advertido.
#1

Buenas, tengo un sistema de "/advertir" para mi server RolePlay, pero quiero que aparte de que diga: "El Jugador . ha sido advertiro (1/3)"

Le mande un mensaje al jugador que diga:

Fuiste advertido por el admin: . Razуn: . (1/3)

Les dejo el pawno, porque he intentado ponerlo con SendClientMessage pero me manda unos errores:

pawn Код:
if (strcmp(cmd, "/advertir", true) == 0)
    {
        if(PlayerInfo[playerid][pAdmin] >= 1)
        {
            new tmp1[256], tmp2[256], jugador, admin, string3[256], nombrejugador[MAX_PLAYER_NAME], nombreadmin[MAX_PLAYER_NAME];
            tmp1 = strtok(cmdtext, idx);
            tmp2 = strtok(cmdtext, idx);
            if (!strlen(tmp1) || !strlen(tmp2)) return SendClientMessage(playerid, COLOR_GRAD2, "[INFO]: /advertir [ID] [Razon].");
            jugador = strval(tmp1);
            admin = playerid;
            if (strval(tmp1) == admin) return SendClientMessage(playerid, COLOR_ROJO, "No puedes advertirte a ti mismo.");
            GetPlayerName(jugador, nombrejugador, sizeof(nombrejugador));
            GetPlayerName(admin, nombreadmin, sizeof(nombreadmin));
            if (IsPlayerConnected(jugador))
            {
                if (Advertido[jugador] == 0)
                {
                    Advertido[jugador] = 1;
                    format(string3, sizeof(string3), "Administracion: %s ha sido advertido por %s. (Razon: %s.) (1/3)", nombrejugador, nombreadmin, cmdtext[11+strlen(tmp1)]);
                    SendClientMessageToAll(COLOR_ROJO, string3);
                    PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                    PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
                }
                else if (Advertido[jugador] == 1)
                {
                    Advertido[jugador] = 2;
                    format(string3, sizeof(string3), "Administracion: %s ha sido advertido por %s. (Razon: %s.) (2/3)", nombrejugador, nombreadmin, cmdtext[11+strlen(tmp1)]);
                    SendClientMessageToAll(COLOR_ROJO, string3);
                    PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                    PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
                }
                else if (Advertido[jugador] == 2)
                {
                    format(string3, sizeof(string3), "Administracion: %s ha sido advertido por %s. (Razon: %s.) (3/3)", nombrejugador, nombreadmin, cmdtext[11+strlen(tmp1)]);
                    SendClientMessageToAll(COLOR_ROJO, string3);
                    PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                    PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
                    Kick(jugador);
                }
            }
            else return SendClientMessage(playerid, COLOR_ROJO, "El jugador no se encuentra conectado.");
        }
        else return SendClientMessage(playerid, COLOR_ROJO, "Necesitas ser administrador nivel 1 para usar este comando.");
        return 1;
    }
Gracias!

PD: si se pudieran pasar por este post tambiйn: https://sampforum.blast.hk/showthread.php?tid=315575
para los que sepan como arreglar Guardados de Tuning, ya que tengo un problema gravнsimo que no se me guardan, pruebo con cualquier FS, bueno ahн dice todo.


GRACIAS!
Reply
#2

pawn Код:
if (strcmp(cmd, "/advertir", true) == 0)
        {
            if(PlayerInfo[playerid][pAdmin] >= 1)
            {
                new tmp1[256], tmp2[256], jugador, admin, string3[256], nombrejugador[MAX_PLAYER_NAME], nombreadmin[MAX_PLAYER_NAME];
                tmp1 = strtok(cmdtext, idx);
                tmp2 = strtok(cmdtext, idx);
                if (!strlen(tmp1) || !strlen(tmp2)) return SendClientMessage(playerid, COLOR_GRAD2, "[INFO]: /advertir [ID] [Razon].");
                jugador = strval(tmp1);
                admin = playerid;
                if (strval(tmp1) == admin) return SendClientMessage(playerid, COLOR_ROJO, "No puedes advertirte a ti mismo.");
                GetPlayerName(jugador, nombrejugador, sizeof(nombrejugador));
                GetPlayerName(admin, nombreadmin, sizeof(nombreadmin));
                if (IsPlayerConnected(jugador))
                {
                    if (Advertido[jugador] == 0)
                    {
                        Advertido[jugador] = 1;
                        format(string3, sizeof(string3), "Administracion: %s ha sido advertido por %s. (Razon: %s.) (1/3)", nombrejugador, nombreadmin, cmdtext[11+strlen(tmp1)]);
                        SendClientMessageToAll(COLOR_ROJO, string3);
                        format(string3,sizeof(string),"Fuiste advertido por el admin: %s Razуn: %s (1/3)", nombreadmin, cmdtext[11+strlen(tmp1)]);
                        SendClientMessage(jugador,string3);
                        PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                        PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
                    }
                    else if (Advertido[jugador] == 1)
                    {
                        Advertido[jugador] = 2;
                        format(string3, sizeof(string3), "Administracion: %s ha sido advertido por %s. (Razon: %s.) (2/3)", nombrejugador, nombreadmin, cmdtext[11+strlen(tmp1)]);
                        SendClientMessageToAll(COLOR_ROJO, string3);
                        format(string3,sizeof(string),"Fuiste advertido por el admin: %s Razуn: %s (2/3)", nombreadmin, cmdtext[11+strlen(tmp1)]);
                        SendClientMessage(jugador,string3);
                        PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                        PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
                    }
                    else if (Advertido[jugador] == 2)
                    {
                        format(string3, sizeof(string3), "Administracion: %s ha sido advertido por %s. (Razon: %s.) (3/3)", nombrejugador, nombreadmin, cmdtext[11+strlen(tmp1)]);
                        SendClientMessageToAll(COLOR_ROJO, string3);
                        format(string3,sizeof(string),"Fuiste advertido por el admin: %s Razуn: %s (3/3)", nombreadmin, cmdtext[11+strlen(tmp1)]);
                        SendClientMessage(jugador,string3);
                        PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                        PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
                        Kick(jugador);
                    }
                }
                else return SendClientMessage(playerid, COLOR_ROJO, "El jugador no se encuentra conectado.");
            }
            else return SendClientMessage(playerid, COLOR_ROJO, "Necesitas ser administrador nivel 1 para usar este comando.");
            return 1;
        }
Creo que eso es lo que quieres.
Reply
#3

Me tira estos errores:

Код:
C:\Users\Karim\Desktop\Gamemode\gamemodes\RealSecondLife.pwn(28805) : error 035: argument type mismatch (argument 2)
C:\Users\Karim\Desktop\Gamemode\gamemodes\RealSecondLife.pwn(28815) : error 035: argument type mismatch (argument 2)
C:\Users\Karim\Desktop\Gamemode\gamemodes\RealSecondLife.pwn(28824) : error 035: argument type mismatch (argument 2)
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


3 Errors.
Es por los

pawn Код:
SendClientMessage(jugador,string3);
La otra ves cuando intentй hacerlo, me tirу esos errores igual, їquй serб?
Reply
#4

Proba Este:

pawn Код:
if (strcmp(cmd, "/advertir", true) == 0)
    {
        if(PlayerInfo[playerid][pAdmin] >= 1)
        {
            new tmp1[256], tmp2[256], jugador, admin, string3[256], nombrejugador[MAX_PLAYER_NAME], nombreadmin[MAX_PLAYER_NAME];
            tmp1 = strtok(cmdtext, idx);
            tmp2 = strtok(cmdtext, idx);
            if (!strlen(tmp1) || !strlen(tmp2)) return SendClientMessage(playerid, COLOR_GRAD2, "[INFO]: /advertir [ID] [Razon].");
            jugador = strval(tmp1);
            admin = playerid;
            if (strval(tmp1) == admin) return SendClientMessage(playerid, COLOR_ROJO, "No puedes advertirte a ti mismo.");
            GetPlayerName(jugador, nombrejugador, sizeof(nombrejugador));
            GetPlayerName(admin, nombreadmin, sizeof(nombreadmin));
            Advertido[jugador] += 1;
            if (IsPlayerConnected(jugador))
            {
                if (Advertido[jugador] == 0)
                {
                    Advertido[jugador] = 1;
                    format(string3, sizeof(string3), "Administracion: %s ha sido advertido por %s. (Razon: %s.) (1/3)", nombrejugador, nombreadmin, cmdtext[11+strlen(tmp1)]);
                    SendClientMessageToAll(COLOR_ROJO, string3);
                    PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                    PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
                }
                else if (Advertido[jugador] == 1)
                {
                    Advertido[jugador] = 2;
                    format(string3, sizeof(string3), "Administracion: %s ha sido advertido por %s. (Razon: %s.) (2/3)", nombrejugador, nombreadmin, cmdtext[11+strlen(tmp1)]);
                    SendClientMessageToAll(COLOR_ROJO, string3);
                    PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                    PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
                }
                else if (Advertido[jugador] == 2)
                {
                    format(string3, sizeof(string3), "Administracion: %s ha sido advertido por %s. (Razon: %s.) (3/3)", nombrejugador, nombreadmin, cmdtext[11+strlen(tmp1)]);
                    SendClientMessageToAll(COLOR_ROJO, string3);
                    PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                    PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
                    Kick(jugador);
                }
            }
            else return SendClientMessage(playerid, COLOR_ROJO, "El jugador no se encuentra conectado.");
        }
        else return SendClientMessage(playerid, COLOR_ROJO, "Necesitas ser administrador nivel 1 para usar este comando.");
        return 1;
    }
Avisame si te funca.
Reply
#5

Es el mismo que dн, y darб mensaje en general pero no al usuario, lo que quiero es que de General (Ha sido advertido) y para el usuario advertido (Has sido advertido).
Reply
#6

Ahora si
pawn Код:
if (strcmp(cmd, "/advertir", true) == 0)
        {
            if(PlayerInfo[playerid][pAdmin] >= 1)
            {
                new tmp1[256], tmp2[256], jugador, admin, string3[256], nombrejugador[MAX_PLAYER_NAME], nombreadmin[MAX_PLAYER_NAME];
                tmp1 = strtok(cmdtext, idx);
                tmp2 = strtok(cmdtext, idx);
                if (!strlen(tmp1) || !strlen(tmp2)) return SendClientMessage(playerid, COLOR_GRAD2, "[INFO]: /advertir [ID] [Razon].");
                jugador = strval(tmp1);
                admin = playerid;
                if (strval(tmp1) == admin) return SendClientMessage(playerid, COLOR_ROJO, "No puedes advertirte a ti mismo.");
                GetPlayerName(jugador, nombrejugador, sizeof(nombrejugador));
                GetPlayerName(admin, nombreadmin, sizeof(nombreadmin));
                if (IsPlayerConnected(jugador))
                {
                    if (Advertido[jugador] == 0)
                    {
                        Advertido[jugador] = 1;
                        format(string3, sizeof(string3), "Administracion: %s ha sido advertido por %s. (Razon: %s.) (1/3)", nombrejugador, nombreadmin, cmdtext[11+strlen(tmp1)]);
                        SendClientMessageToAll(COLOR_ROJO, string3);
                        format(string3,sizeof(string),"Fuiste advertido por el admin: %s Razуn: %s (1/3)", nombreadmin, cmdtext[11+strlen(tmp1)]);
                        SendClientMessage(jugador,-1,string3);
                        PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                        PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
                    }
                    else if (Advertido[jugador] == 1)
                    {
                        Advertido[jugador] = 2;
                        format(string3, sizeof(string3), "Administracion: %s ha sido advertido por %s. (Razon: %s.) (2/3)", nombrejugador, nombreadmin, cmdtext[11+strlen(tmp1)]);
                        SendClientMessageToAll(COLOR_ROJO, string3);
                        format(string3,sizeof(string),"Fuiste advertido por el admin: %s Razуn: %s (2/3)", nombreadmin, cmdtext[11+strlen(tmp1)]);
                        SendClientMessage(jugador,-1,string3);
                        PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                        PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
                    }
                    else if (Advertido[jugador] == 2)
                    {
                        format(string3, sizeof(string3), "Administracion: %s ha sido advertido por %s. (Razon: %s.) (3/3)", nombrejugador, nombreadmin, cmdtext[11+strlen(tmp1)]);
                        SendClientMessageToAll(COLOR_ROJO, string3);
                        format(string3,sizeof(string),"Fuiste advertido por el admin: %s Razуn: %s (3/3)", nombreadmin, cmdtext[11+strlen(tmp1)]);
                        SendClientMessage(jugador,-1,string3);
                        PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                        PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
                        Kick(jugador);
                    }
                }
                else return SendClientMessage(playerid, COLOR_ROJO, "El jugador no se encuentra conectado.");
            }
            else return SendClientMessage(playerid, COLOR_ROJO, "Necesitas ser administrador nivel 1 para usar este comando.");
            return 1;
        }
Reply
#7

Ah Perdon no habia leido bien aca te lo termine:

pawn Код:
if (strcmp(cmd, "/advertir", true) == 0)
    {
        if(PlayerInfo[playerid][pAdmin] >= 1)
        {
            new tmp1[256], tmp2[256], jugador, admin, string3[256], nombrejugador[MAX_PLAYER_NAME], nombreadmin[MAX_PLAYER_NAME];
            tmp1 = strtok(cmdtext, idx);
            tmp2 = strtok(cmdtext, idx);
            if (!strlen(tmp1) || !strlen(tmp2)) return SendClientMessage(playerid, COLOR_GRAD2, "[INFO]: /advertir [ID] [Razon].");
            jugador = strval(tmp1);
            admin = playerid;
            if (strval(tmp1) == admin) return SendClientMessage(playerid, COLOR_ROJO, "No puedes advertirte a ti mismo.");
            GetPlayerName(jugador, nombrejugador, sizeof(nombrejugador));
            GetPlayerName(admin, nombreadmin, sizeof(nombreadmin));
            Advertido[jugador] += 1;
            if (IsPlayerConnected(jugador))
            {
                if (Advertido[jugador] == 0)
                {
                    format(string3, sizeof(string3), "Administracion: %s ha sido advertido por %s. (Razon: %s.) (1/3)", nombrejugador, nombreadmin, cmdtext[11+strlen(tmp1)]);
                    SendClientMessageToAll(COLOR_ROJO, string3);
                    format(string3,sizeof(string),"Fuiste advertido por el admin: %s Razуn: %s (1/3)", nombreadmin, cmdtext[11+strlen(tmp1)]);
                    SendClientMessage(jugador,-1,string3);
                    PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                    PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
                }
                else if (Advertido[jugador] == 1)
                {
                    format(string3, sizeof(string3), "Administracion: %s ha sido advertido por %s. (Razon: %s.) (2/3)", nombrejugador, nombreadmin, cmdtext[11+strlen(tmp1)]);
                    SendClientMessageToAll(COLOR_ROJO, string3);
                    format(string3,sizeof(string),"Fuiste advertido por el admin: %s Razуn: %s (2/3)", nombreadmin, cmdtext[11+strlen(tmp1)]);
                    SendClientMessage(jugador,-1,string3);
                    PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                    PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
                }
                else if (Advertido[jugador] == 2)
                {
                    format(string3, sizeof(string3), "Administracion: %s ha sido advertido por %s. (Razon: %s.) (3/3)", nombrejugador, nombreadmin, cmdtext[11+strlen(tmp1)]);
                    SendClientMessageToAll(COLOR_ROJO, string3);
                    format(string3,sizeof(string),"Fuiste advertido por el admin: %s Razуn: %s (3/3)", nombreadmin, cmdtext[11+strlen(tmp1)]);
                    SendClientMessage(jugador,-1,string3);
                    PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                    PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
                    Kick(jugador);
                }
            }
            else return SendClientMessage(playerid, COLOR_ROJO, "El jugador no se encuentra conectado.");
        }
        else return SendClientMessage(playerid, COLOR_ROJO, "Necesitas ser administrador nivel 1 para usar este comando.");
        return 1;
    }
Reply
#8

ЎGracias! a los 2, si se pudieran pasar por mi post que me tiene preocupado y desesperado: https://sampforum.blast.hk/showthread.php?tid=315575

se los agradecerнa mucho.


Gracias!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)