[Ayuda]Creaciуn de /advertencia desde 0 D:
#1

Me gustarнa que me ayudaran en la creaciуn del comando /advertencia que no me puedo dar una idea de como empezar D:

No exactamente que me digan todo S: Si no que me guнen

Saludos !
Reply
#2

crea un array x jugador donde almacenas la cant de advertencias. (no necesita explicacion xD)
envias el msj (SendClientMessage)
los parametros tipicos serian <playerid> <razуn>(strtok, sscanf)
si son X advertencias lo kickeas (usa if)
y creo q eso es todo.
Reply
#3

Un eje. fuera de ese de como tendrнa que quedar? S:
Reply
#4

quieres que hacer el cmd de cero o quieres que te agan el cmd de cero ? xD
Reply
#5

pawn Код:
if (strcmp(cmd, "/advertir", true) == 0)
    {
        if (NivelAdmin[playerid] == 4 || NivelAdmin[playerid] == 5)
        {
            new tmp1[256], tmp2[256], jugador, admin, string1[256], string2[256], 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_ROJO, "Usa: /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(string1, sizeof(string1), "%s ha sido advertido. (Razon: %s.) (1/3)", nombrejugador, cmdtext[11+strlen(tmp1)]);
                    format(string2, sizeof(string2), "Has sido advertido por %s. (Razon: %s.) (1/3)", nombreadmin, cmdtext[11+strlen(tmp1)]);
                    format(string3, sizeof(string3), "%s ha sido advertido por %s. (Razon: %s.) (1/3)", nombrejugador, nombreadmin, cmdtext[11+strlen(tmp1)]);
                    SendClientMessage(admin, COLOR_AZUL, string1);
                    SendClientMessage(jugador, COLOR_VERDE_CLARO, string2);
                    SendClientMessageToAll(COLOR_NARANJA, string3);
                    PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                    PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
                    MensajeAdmin(playerid, "/advertir");
                }
                else if (Advertido[jugador] == 1)
                {
                    Advertido[jugador] = 2;
                    format(string1, sizeof(string1), "%s ha sido advertido. (Razon: %s.) (2/3)", nombrejugador, cmdtext[11+strlen(tmp1)]);
                    format(string2, sizeof(string2), "Has sido advertido por %s. (Razon: %s.) (2/3)", nombreadmin, cmdtext[11+strlen(tmp1)]);
                    format(string3, sizeof(string3), "%s ha sido advertido por %s. (Razon: %s.) (2/3)", nombrejugador, nombreadmin, cmdtext[11+strlen(tmp1)]);
                    SendClientMessage(admin, COLOR_AZUL, string1);
                    SendClientMessage(jugador, COLOR_VERDE_CLARO, string2);
                    SendClientMessageToAll(COLOR_NARANJA, string3);
                    PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                    PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
                    MensajeAdmin(playerid, "/advertir");
                }
                else if (Advertido[jugador] == 2)
                {
                    format(string1, sizeof(string1), "%s ha sido advertido. (Razon: %s.) (3/3)", nombrejugador, cmdtext[11+strlen(tmp1)]);
                    format(string2, sizeof(string2), "Has sido advertido por %s. (Razon: %s.) (3/3)", nombreadmin, cmdtext[11+strlen(tmp1)]);
                    format(string3, sizeof(string3), "%s ha sido advertido por %s. (Razon: %s.) (3/3)", nombrejugador, nombreadmin, cmdtext[11+strlen(tmp1)]);
                    SendClientMessage(admin, COLOR_AZUL, string1);
                    SendClientMessage(jugador, COLOR_VERDE_CLARO, string2);
                    SendClientMessageToAll(COLOR_NARANJA, string3);
                    PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                    PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
                    Kick(jugador);
                    MensajeAdmin(playerid, "/advertir");
                }
            }
            else return SendClientMessage(playerid, COLOR_ROJO, "El jugador no se encuentra conectado.");
        }
        else return SendClientMessage(playerid, COLOR_ROJO, "Necesitas ser administrador nivel 4 para usar este comando.");
        return 1;
    }
Reply
#6

xD

Querнa hacerlo por mi cuenta pero bueno xDD

Pero hay un error oh bueno el error soy yo xD

Jaja, en el sv al poner /advertir no responde, no hace nada S:
Reply
#7

Defines la cantidad de advertencias...

#define MAX_ADV_PLAYER 3

luego un new..

new Advertencia[MAX_PLAYERS];

en onplayerupdate...

if(Advertencia[playerid]==MAX_ADV_PLAYER)
{
Kick(playerid);
}

luego los parametros tipicos serian <playerid> <razуn>(strtok, sscanf)

le agregarias esto Advertencia[JugadorSel[playerid]]++;

como dice chaoz y ya
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)