SA-MP Forums Archive
[FilterScript] Killing Spree! - 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)
+----- Forum: Lanzamientos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=59)
+----- Thread: [FilterScript] Killing Spree! (/showthread.php?tid=227192)



Killing Spree! - leaNN! - 17.02.2011

Hola gente!
Bueno, les traigo este codigo simple que hice para mi GM y funciona de diez.


pawn Код:
#define FILTERSCRIPT
#include <a_samp>

#define COLOR_RED 0xFF0000AA     // Red
#define COLOR_YELLOW 0xFFFF00AA // Yellow
#define COLOR_GREEN 0x66CC99AA // Green
#define COLOR_ORANGE 0xF97804FF // Orange

new Kills[MAX_PLAYERS];

public OnFilterScriptInit()
{
    printf("-------------------------------------");
    printf("------------Killing Spree------------");
    printf("-----------Created by rooT.----------");
    printf("--------FS Cargado con Exito!--------");
    printf("-------------------------------------");
    return 1;
}

public OnPlayerConnect(playerid)
{
    Kills[playerid] = 0;
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    new string1[128 + MAX_PLAYER_NAME], string2[128 + MAX_PLAYER_NAME], string3[128 + MAX_PLAYER_NAME], string4[128 + MAX_PLAYER_NAME];
    new kname[MAX_PLAYER_NAME];
    GetPlayerName(killerid, kname, sizeof(kname));

    Kills[killerid] ++;
    Kills[playerid] = 0;

    format(string1, sizeof(string1), "%s: KILLING SPREE!. 3 Asesinatos - 0 Muertes", kname);
    format(string2, sizeof(string2), "%s: UNSTOPPABLE!. 6 Asesinatos - 0 Muertes", kname);
    format(string3, sizeof(string3), "%s: LIKE A PRO!. 9 Asesinatos - 0 Muertes", kname);
    format(string4, sizeof(string4), "%s: THE FUCKING BOSS!. 15 Asesinatos - 0 Muertes", kname);

    if(Kills[killerid] == 3) return SendClientMessageToAll(COLOR_GREEN, string1);
    else if(Kills[killerid] == 6) return SendClientMessageToAll(COLOR_YELLOW, string2);
    else if(Kills[killerid] == 9) return SendClientMessageToAll(COLOR_ORANGE, string3);
    else if(Kills[killerid] == 15) return SendClientMessageToAll(COLOR_RED, string4);
    return 1;
}
Por default, los mensajes se enviaran cuando el jugador mate 3, 6, 9 y 15 jugadores sin morir.
Para cambiarlo, simplemente editen

pawn Код:
if(Kills[killerid] == 3) return SendClientMessageToAll(COLOR_GREEN, string1);//Cambien el 3 por X Numero
    else if(Kills[killerid] == 6) return SendClientMessageToAll(COLOR_YELLOW, string2);//Cambien el 6 por X Numero
    else if(Kills[killerid] == 9) return SendClientMessageToAll(COLOR_ORANGE, string3);//Cambien el 9 por X Numero
    else if(Kills[killerid] == 15) return SendClientMessageToAll(COLOR_RED, string4);//Cambien el 15 por X Numero
Y Listo! (Obviamente, esto se puede usar como FS o se lo puede agregar al GM)

Si tienen algun problema o encuentran algun bug, diganme!


Respuesta: Killing Spree! - [ASP]Theking - 17.02.2011

Se ve bueno pero no me gusta mucho en ingles U_U. tendre que modificarlo por algo mejor, oie eso trae incluido por ejemplo
"[ASP]Theking Esta Dominando con 4 Matanzas"
Si viene incluido con eso me lo descargo rapidito :B


Respuesta: Killing Spree! - leaNN! - 17.02.2011

Que? No entendi que es lo que quieres hacer.


Respuesta: Killing Spree! - Lunnatiicz - 17.02.2011

Quiere decir que si cuando lleva matanza manda el mensaje diciendo

Quote:

"%S esta dominando 4 matanzas!




Respuesta: Killing Spree! - leaNN! - 19.02.2011

No, los mensajes que salen son:
"%s: KILLING SPREE!. 3 Asesinatos - 0 Muertes"
"%s: UNSTOPPABLE!. 6 Asesinatos - 0 Muertes"
%s: LIKE A PRO!. 9 Asesinatos - 0 Muertes"
%s: THE FUCKING BOSS!. 15 Asesinatos - 0 Muertes"

Esos son los mensajes actuales.


Re: Killing Spree! - Miguel - 19.02.2011

No quiero ser rudo, pero usaste cuatro strings con 152 celdas de espacio solo para enviar un mensaje del cual solo cambia el nombre. Primero, una linea en SA-MP puede tener como mбximo 127 carбcteres, por eso se usa el bendito 128; para que sumarle MAX_PLAYER_NAME (que son 24 celdas mбs) a algo que obviamente no va a llegar a ese extremo. Segundo, no has creado una sino 4 de estas gastando espacio innecesario. Tercero, cuatro formats, el servidor tiene que crear cuatro mensajes de los cuales solamente uno serб utilizado.

Mira esto:
pawn Код:
#define FILTERSCRIPT
#include <a_samp>

#define COLOR_RED 0xFF0000AA     // Red
#define COLOR_YELLOW 0xFFFF00AA // Yellow
#define COLOR_GREEN 0x66CC99AA // Green
#define COLOR_ORANGE 0xF97804FF // Orange

new Kills[MAX_PLAYERS];

public OnFilterScriptInit()
{
    printf("-------------------------------------");
    printf("------------Killing Spree------------");
    printf("-----------Created by rooT.----------");
    printf("--------FS Cargado con Exito!--------");
    printf("-------------------------------------");
    return 1;
}

public OnPlayerConnect(playerid)
{
    Kills[playerid] = 0;
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    new
        name[24],
        string[71];
       
    Kills[playerid] = 0;
    if(killerid != INVALID_PLAYER_ID)
    {
        Kills[killerid] ++;
        GetPlayerName(killerid, name, sizeof(name));
        switch(Kills[killerid])
        {
            case 3:
            {
                format(string, sizeof(string), "%s: KILLING SPREE!. 3 Asesinatos - 0 Muertes", name);
                SendClientMessageToAll(COLOR_GREEN, string);
            }
            case 6:
            {
                format(string, sizeof(string), "%s: UNSTOPPABLE!. 6 Asesinatos - 0 Muertes", name);
                SendClientMessageToAll(COLOR_YELLOW, string);
            }
            case 9:
            {
                format(string, sizeof(string), "%s: LIKE A PRO!. 9 Asesinatos - 0 Muertes", name);
                SendClientMessageToAll(COLOR_ORANGE, string);
            }
            case 15:
            {
                format(string, sizeof(string), "%s: THE FUCKING BOSS!. 15 Asesinatos - 0 Muertes", name);
                SendClientMessageToAll(COLOR_RED, string);
            }
        }
    }
    return 1;
}



Respuesta: Killing Spree! - leaNN! - 19.02.2011

Bueno, no sabia que se podia hacer eso.
Gracias por la informacion!