Conteo de kills Team
#1

Hola amigos del samp me podrian dar una idea como puedo hacer un conteo de kills de un TEAM, me refiero que si un equipo mate a TODOS los del otro equipo, les sume un punto, al equipo triunfador.


ejemplo:

Policias:1
Ladrones: 0

saludos.
Reply
#2

Podrнas tomar todos los jugadores que hay en un equipo y verificar cuando se llegue a ese nъmero de muertes darle la victoria a un equipo.
Reply
#3

Quote:
Originally Posted by Goncho28
Посмотреть сообщение
Podrнas tomar todos los jugadores que hay en un equipo y verificar cuando se llegue a ese nъmero de muertes darle la victoria a un equipo.
muchas gracias me diste una idea.. asi

Si mato a los 6 me sumara +1 claro le puse solo un limite de 6 a cada equipo
PHP код:
    if(KillsTerroristas == 6)
    {
    
GameTextForAll("~r~El equipo Terroristas a ganado este round...",1000,3);
    
SetTimer("Termino",5000,0);
    
TextDrawDestroy(Kills);
    }
    if(
KillsMilitares == 6)
    {
    
GameTextForAll("~g~El equipo Militares a ganado este round...",1000,3);
    
SetTimer("Termino",5000,0);
    
TextDrawDestroy(Kills);
    } 
pero si en, un caso solo estemos 2 o 4 a cada lado como hago para que me de el punto.
Reply
#4

Crea con variables temporales y que se reseteen en OnPlayerSpawn, el ID del equipo, asн de esta forma detectas cuantos jugadores quedan en tal equipo y no solo cuantos, tambiйn cuales, entonces:

pawn Код:
#include <a_samp>
#include <zcmd>

new gtmpEquipo[MAX_PLAYERS];
new Equipo[MAX_PLAYERS];

public OnPlayerSpawn(playerid)
{
gtmpEquipo[playerid] = 0;
}

COMMAND:team1(playerid)
{
gtmpEquipo[playerid] = 1;
Equipo[playerid] = 1;
return 1;
}

COMMAND:team2(playerid)
{
gtmpEquipo[playerid] = 2;
Equipo[playerid] = 2;
return 1;
}

static obtenerCantidad(equipoid)
{
new contador = 0;
for(new i=0, t=GetMaxPlayers(); i<t; i++)
{
if(gtmpEquipo[i] == equipoid)
{
contador++;
}
}
return contador;
}

//OnPlayerDeath
gtmpEquipo[playerid] = 0;
if(!obtenerCantidad(Equipo[playerid]))
{
new tmp[126];
format(tmp, sizeof(tmp), "~r~El equipo: %d a ganado este round...", Equipo[killerid]);
GameTextForAll(tmp, 1000, 3);
SetTimer("Termino", 5000, 0);
TextDrawDestroy(Kills);
}
Reply
#5

Quote:
Originally Posted by Parka
Посмотреть сообщение
Crea con variables temporales y que se reseteen en OnPlayerSpawn, el ID del equipo, asн de esta forma detectas cuantos jugadores quedan en tal equipo y no solo cuantos, tambiйn cuales, entonces:

pawn Код:
#include <a_samp>
#include <zcmd>

new gtmpEquipo[MAX_PLAYERS];
new Equipo[MAX_PLAYERS];

public OnPlayerSpawn(playerid)
{
gtmpEquipo[playerid] = 0;
}

COMMAND:team1(playerid)
{
gtmpEquipo[playerid] = 1;
Equipo[playerid] = 1;
return 1;
}

COMMAND:team2(playerid)
{
gtmpEquipo[playerid] = 2;
Equipo[playerid] = 2;
return 1;
}

static obtenerCantidad(equipoid)
{
new contador = 0;
for(new i=0, t=GetMaxPlayers(); i<t; i++)
{
if(gtmpEquipo[i] == equipoid)
{
contador++;
}
}
return contador;
}

//OnPlayerDeath
gtmpEquipo[playerid] = 0;
if(!obtenerCantidad(Equipo[playerid]))
{
new tmp[126];
format(tmp, sizeof(tmp), "~r~El equipo: %d a ganado este round...", Equipo[killerid]);
GameTextForAll(tmp, 1000, 3);
SetTimer("Termino", 5000, 0);
TextDrawDestroy(Kills);
}
muchas gracias y como seria si el quipo que tenga 5 victorias salga el mensaje.

PHP код:
format(tmpsizeof(tmp), "~r~El equipo: %d a ganado este round..."Equipo[killerid]); 
y vaya sumando las victorias asi..



saludos
Reply
#6

solo tienes que hacer un contador de victorias, e ir sumбndola cada vez que maten a todos, y para cambiar el textdrawn usas la nativa TextDrawSetString, por ejemplo.
PHP код:
new contadorGanadasEquipo[2]; // --
//OnPlayerDeath
gtmpEquipo[playerid] = 0;
if(!
obtenerCantidad(Equipo[playerid])) 
{
    new 
tmp[126];
    
format(tmpsizeof(tmp), "~r~El equipo: %d a ganado este round..."Equipo[killerid]);
    
GameTextForAll(tmp10003);
    
contadorGanadasEquipo[Equipo[killerid]-1] ++; // --
    
if(Equipo[killerid] == 1//--
    
{
        
format(tmpsizeof(tmp), "Terroristas: %i"contadorGanadasEquipo[Equipo[killerid]-1]); //-- Esto es un ejemplo tendrнas tu que ajustarlo a como lo tienes
        
TextDrawSetString(TextdrawTerroristastmp); //--
    
//--
    
else if(Equipo[killerid] == 2//--
    
{
        
format(tmpsizeof(tmp), "Militares: %i"contadorGanadasEquipo[Equipo[killerid]-1]); //-- Esto es un ejemplo tendrнas tu que ajustarlo a como lo tienes //--
        
TextDrawSetString(TextdrawMilitarestmp); //--
    
//--
    
if(contadorGanadasEquipo[Equipo[killerid]-1] == 6// --
    
// --
        //x cosa --
        
return 1// --
    
// --
    
SetTimer("Termino"50000);
    
TextDrawDestroy(Kills);

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)