[Duda]Estadisticas
#1

Hola, bueno he hecho unos textdraws para que cuenten las muertes y los asesinatos, pero he intentado de varias maneras pero no lo he conseguido, alguien puede decirme como puedo hacer para que cuando uno mate a otro se le sume +1 en los asesinatos y si muere a manos de otro se sume +1 a las muertes?? He probado de varias maneras pero no hay forma.

Saludos! y gracias de antemano
Reply
#2

Para hacer eso tenйs que crear un textdraw por jugador, y cuando el sea asesinado / muerto modificar el texto del textdraw, acб te dejo un cуdigo para que lo adaptes a tu script:


pawn Код:
// En la parte de arriba del script:
new
    Text: NombreTextdraw[MAX_PLAYERS];

new
    Asesinatos[MAX_PLAYERS],
    Muertes[MAX_PLAYERS];


// OnGameModeInit / OnFilterScriptInit - Segъn si es un GM o un FS usбs el correspondiente:
public OnGameModeInit()
{
    for (new iPlayer; iPlayer < MAX_PLAYERS; iPlayer ++)
    {
        NombreTextdraw[iPlayer] = TextDrawCreate(...)
        // acб ponйs las otras lнneas del textdraw
        // pero tenes que agregarle [iPlayer] despues del nombre de tu textdraw
        // ejemplo:   TextDrawBackgroundColor(nombretextdraw[iPlayer], color);
    }
}


// OnPlayerDeath
public OnPlayerDeath(playerid, killerid, reason)
{
    Muertes[playerid] ++;

    if (killerid != INVALID_PLAYER_ID)
        Asesinatos[killerid] ++;


    new
        string[64];

    format(string, sizeof (string), "Asesinatos: %i~n~Muertes: %i", Asesinatos[playerid], Muertes[playerid]);
    TextDrawSetString(nombreDelTextdraw[playerid], string);
    TextDrawShowForPlayer(playerid, nombreDelTextdraw[playerid]);
    format(string, sizeof (string), "Asesinatos: %i~n~Muertes: %i", Asesinatos[killerid], Muertes[killerid]);
    TextDrawSetString(nombreDelTextdraw[killerid], string);
    TextDrawShowForPlayer(playerid, nombreDelTextdraw[killerid]);
    return 1;
}
Bueno, si no me equivoquй en nada, eso deberнa funcionar
Reply
#3

Muchas gracias funciona de 10, una pregunta como se podria hacer un sistema de ratio??

Saludos!
Reply
#4

Quote:
Originally Posted by XGamer
Посмотреть сообщение
Muchas gracias funciona de 10, una pregunta como se podria hacer un sistema de ratio??

Saludos!
De nada, si con ratio te referнs a la cantidad de asesinatos por cada vez que morнs, es asн:

pawn Код:
// OnPlayerDeath
public OnPlayerDeath(playerid, killerid, reason)
{
    Muertes[playerid] ++;

    if (killerid != INVALID_PLAYER_ID)
        Asesinatos[killerid] ++;


    new
        string[64];

    // si querйs cambiar la cantidad de nъmeros despuйs de la coma en el ratio, modifica el "0.2" y en vez de 2 ponele la cantidad de nъmeros que querйs que muestre.
    format(string, sizeof (string), "Asesinatos: %i~n~Muertes: %i~n~Radio: %0.2f", Asesinatos[playerid], Muertes[playerid], (Asesinatos[playerid] / Muertes[playerid]));
    TextDrawSetString(nombreDelTextdraw[playerid], string);
    TextDrawShowForPlayer(playerid, nombreDelTextdraw[playerid]);
    format(string, sizeof (string), "Asesinatos: %i~n~Muertes: %i~n~Radio: %0.2f", Asesinatos[killerid], Muertes[killerid], (Asesinatos[killerid] / Muertes[killerid]));
    TextDrawSetString(nombreDelTextdraw[killerid], string);
    TextDrawShowForPlayer(playerid, nombreDelTextdraw[killerid]);
    return 1;
}
Reply
#5

Gracias por la ayuda funciona de 10

Una ultima cosa, no he usado nunca Dini y bueno he conseguio que las muertes y asesinatos y demas se guarden pero no consigo hacer que se cargen. He probado de varias maneras pero nada, cuando quito el server y lo pongo de nuevo y entro me sale todo a 0. Alguna solucion??

Saludos!
Reply
#6

Yo lo que me pregunto, es como guardar la cantidad de veces que alguien muere/mata con Dini.
Si alguien pudiese responderme, le estaria agradecido(:
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)