#1

Hola QUisiere crear un sistema de score , he estado leyendo tutoriales pero no entiendo como podria crear algo como esto:
Aca cree algo en paint con una imagen para que me entiendan mejor , lo que quiero hacer esta arriba del reloj :

ASESINATOS:0 MUERTES:0 SCORE:0

Reply
#2

Ayudenme porfavor
Reply
#3

aca te l ohice, pero para la proxima lee esto https://sampforum.blast.hk/showthread.php?tid=114080 y esto https://sampforum.blast.hk/showthread.php?tid=126022 .

pawn Код:
#include <a_samp>
new PlayerText:Muertes[MAX_PLAYERS][1];
enum info
{
   ASESINATOS,
   MUERTES
};
new Estadisticas[MAX_PLAYERS][info];

public OnPlayerConnect(playerid)
{
    Muertes[playerid][0] = CreatePlayerTextDraw(playerid, 553.000000, 4.000000, "~r~ASESINATOS:~w~0 ~b~MUERTES:~w~0 ~g~SCORE:~w~0");
    PlayerTextDrawAlignment(playerid, Muertes[playerid][0], 2);
    PlayerTextDrawBackgroundColor(playerid, Muertes[playerid][0], 255);
    PlayerTextDrawFont(playerid, Muertes[playerid][0], 2);
    PlayerTextDrawLetterSize(playerid, Muertes[playerid][0], 0.159999, 1.600000);
    PlayerTextDrawColor(playerid, Muertes[playerid][0], -1);
    PlayerTextDrawSetOutline(playerid, Muertes[playerid][0], 1);
    PlayerTextDrawSetProportional(playerid, Muertes[playerid][0], 1);
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    PlayerTextDrawHide(playerid, Muertes[playerid][0]);
    PlayerTextDrawDestroy(playerid, Muertes[playerid][0]);
    return 1;
}

public OnPlayerSpawn(playerid)
{
    PlayerTextDrawShow(playerid, Muertes[playerid][0]);
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    Estadisticas[playerid][ASESINATOS]--;
    Estadisticas[killerid][ASESINATOS]++;
    Estadisticas[playerid][MUERTES]--;
    Estadisticas[killerid][MUERTES]++;
    SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
    SetPlayerScore(playerid, GetPlayerScore(playerid) - 1);

    new string[128];
    format(string, sizeof(string), "~r~ASESINATOS:~w~%02d ~b~MUERTES:~w~%02d ~g~SCORE:~w~%02d", Estadisticas[playerid][ASESINATOS], Estadisticas[playerid][MUERTES], GetPlayerScore(playerid));
    PlayerTextDrawSetString(playerid, Muertes[playerid][0], string);

    format(string, sizeof(string), "~r~ASESINATOS:~w~%02d ~b~MUERTES:~w~%02d ~g~SCORE:~w~%02d", Estadisticas[killerid][ASESINATOS], Estadisticas[killerid][MUERTES], GetPlayerScore(killerid));
    PlayerTextDrawSetString(killerid, Muertes[killerid][0], string);
    return 1;
}
Reply
#4

Primero que nada tenйs que tener hecho un sistema para contar los asesinatos, las muertes, y el puntaje (score). Luego que tengas eso reciйn podrнas empezar a hacer el textdraw, para desarrollar el textdraw te recomiendo usar el Zamaroht's Textdraw Editor, una vez que lo hayas desarrollado no es muy difнcil hacer que se actualice. Tenй en cuenta que cada jugador necesita su propio textdraw, entre los ъltimos updates de SA-MP agregaron funciones para crear textdraws individuales (es decir, uno para cada jugador).
Reply
#5

Quote:
Originally Posted by bytytus
Посмотреть сообщение
aca te l ohice, pero para la proxima lee esto https://sampforum.blast.hk/showthread.php?tid=114080 y esto https://sampforum.blast.hk/showthread.php?tid=126022 .

pawn Код:
#include <a_samp>
new PlayerText:Muertes[MAX_PLAYERS][1];
enum info
{
   ASESINATOS,
   MUERTES
};
new Estadisticas[MAX_PLAYERS][info];

public OnPlayerConnect(playerid)
{
    Muertes[playerid][0] = CreatePlayerTextDraw(playerid, 553.000000, 4.000000, "~r~ASESINATOS:~w~0 ~b~MUERTES:~w~0 ~g~SCORE:~w~0");
    PlayerTextDrawAlignment(playerid, Muertes[playerid][0], 2);
    PlayerTextDrawBackgroundColor(playerid, Muertes[playerid][0], 255);
    PlayerTextDrawFont(playerid, Muertes[playerid][0], 2);
    PlayerTextDrawLetterSize(playerid, Muertes[playerid][0], 0.159999, 1.600000);
    PlayerTextDrawColor(playerid, Muertes[playerid][0], -1);
    PlayerTextDrawSetOutline(playerid, Muertes[playerid][0], 1);
    PlayerTextDrawSetProportional(playerid, Muertes[playerid][0], 1);
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    PlayerTextDrawHide(playerid, Muertes[playerid][0]);
    PlayerTextDrawDestroy(playerid, Muertes[playerid][0]);
    return 1;
}

public OnPlayerSpawn(playerid)
{
    PlayerTextDrawShow(playerid, Muertes[playerid][0]);
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    Estadisticas[playerid][ASESINATOS]--;
    Estadisticas[killerid][ASESINATOS]++;
    Estadisticas[playerid][MUERTES]--;
    Estadisticas[killerid][MUERTES]++;
    SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
    SetPlayerScore(playerid, GetPlayerScore(playerid) - 1);

    new string[128];
    format(string, sizeof(string), "~r~ASESINATOS:~w~%02d ~b~MUERTES:~w~%02d ~g~SCORE:~w~%02d", Estadisticas[playerid][ASESINATOS], Estadisticas[playerid][MUERTES], GetPlayerScore(playerid));
    PlayerTextDrawSetString(playerid, Muertes[playerid][0], string);

    format(string, sizeof(string), "~r~ASESINATOS:~w~%02d ~b~MUERTES:~w~%02d ~g~SCORE:~w~%02d", Estadisticas[killerid][ASESINATOS], Estadisticas[killerid][MUERTES], GetPlayerScore(killerid));
    PlayerTextDrawSetString(killerid, Muertes[killerid][0], string);
    return 1;
}
Gracias man tu siempres ayudas por cierto , eso conforme voy matando sube el el numero de asesinatos y el score?
Reply
#6

Quote:
Originally Posted by uardo12
Посмотреть сообщение
Gracias man tu siempres ayudas por cierto , eso conforme voy matando sube el el numero de asesinatos y el score?
Yo te respondo por el.

Respuesta: Si
Reply
#7

Quote:
Originally Posted by uardo12
Посмотреть сообщение
Gracias man tu siempres ayudas por cierto , eso conforme voy matando sube el el numero de asesinatos y el score?
pawn Код:
#include <a_samp>
new PlayerText:Muertes[MAX_PLAYERS][1];
enum info
{
   ASESINATOS,
   MUERTES
};
new Estadisticas[MAX_PLAYERS][info];

public OnPlayerConnect(playerid)
{
    //Crear El TextDraw al  player ke se Conecta
    Muertes[playerid][0] = CreatePlayerTextDraw(playerid, 553.000000, 4.000000, "~r~ASESINATOS:~w~0 ~b~MUERTES:~w~0 ~g~SCORE:~w~0");
    PlayerTextDrawAlignment(playerid, Muertes[playerid][0], 2);
    PlayerTextDrawBackgroundColor(playerid, Muertes[playerid][0], 255);
    PlayerTextDrawFont(playerid, Muertes[playerid][0], 2);
    PlayerTextDrawLetterSize(playerid, Muertes[playerid][0], 0.159999, 1.600000);
    PlayerTextDrawColor(playerid, Muertes[playerid][0], -1);
    PlayerTextDrawSetOutline(playerid, Muertes[playerid][0], 1);
    PlayerTextDrawSetProportional(playerid, Muertes[playerid][0], 1);
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    PlayerTextDrawHide(playerid, Muertes[playerid][0]);  //Desactiva el TextDraw al  player ke se desconecta
    PlayerTextDrawDestroy(playerid, Muertes[playerid][0]);  //Destroya el TextDraw al  player ke se desconecta
    return 1;
}

public OnPlayerSpawn(playerid)
{
    PlayerTextDrawShow(playerid, Muertes[playerid][0]); //Activa el TextDraw al  player ke spawnea
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    Estadisticas[playerid][ASESINATOS]--; //resta un punto de ASESINATOS al ke muere
    Estadisticas[killerid][ASESINATOS]++; //suma un punto de ASESINATOS el ke mata
    Estadisticas[playerid][MUERTES]--; //resta un punto de MUERTES al ke muere
    Estadisticas[killerid][MUERTES]++; //suma un punto de MUERTES el ke mata
    SetPlayerScore(killerid, GetPlayerScore(killerid) + 1); //suma un punto de Score el ke mata
    SetPlayerScore(playerid, GetPlayerScore(playerid) - 1); //resta un punto de Score al ke muere

    new string[128];
    //Actualiza el textdraw con los nuevos datos del ke murio
    format(string, sizeof(string), "~r~ASESINATOS:~w~%02d ~b~MUERTES:~w~%02d ~g~SCORE:~w~%02d", Estadisticas[playerid][ASESINATOS], Estadisticas[playerid][MUERTES], GetPlayerScore(playerid));
    PlayerTextDrawSetString(playerid, Muertes[playerid][0], string);

    //Actualiza el textdraw con los nuevos datos del ke mato
    format(string, sizeof(string), "~r~ASESINATOS:~w~%02d ~b~MUERTES:~w~%02d ~g~SCORE:~w~%02d", Estadisticas[killerid][ASESINATOS], Estadisticas[killerid][MUERTES], GetPlayerScore(killerid));
    PlayerTextDrawSetString(killerid, Muertes[killerid][0], string);
    return 1;
}
tu modificalo a tu gusto .
Reply
#8

Con tan solo eleminar el que unas de las estadisticas no funcionara el que elemino.
PD:

esto esta bien?:

Estadisticas[playerid][MUERTES]--; //resta un punto de MUERTES al ke muere
Estadisticas[killerid][MUERTES]++; //suma un punto de MUERTES el ke mata
Reply
#9

Quote:
Originally Posted by uardo12
Посмотреть сообщение
Con tan solo eleminar el que unas de las estadisticas no funcionara el que elemino.
PD:

esto esta bien?:

Estadisticas[playerid][MUERTES]--; //resta un punto de MUERTES al ke muere
Estadisticas[killerid][MUERTES]++; //suma un punto de MUERTES el ke mata
En realidad tiene que sumarle una muerte

pawn Код:
Estadisticas[playerid][MUERTES]++;
    Estadisticas[killerid][MUERTES]++;
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)