[ayuda] lo q le falta al TDM
#5

bueno es un poco largo de explicar creo, pero aca te doy un empujon x asi decirlo para que te puedas guiar

si ya tienes los equipos definidos, crea una variable globalos asecinatos de cada equipo y un timer.
una vez que tienes la variable, en el callback OnPlayerDeath, vas a ver de que equipo es cada jugador, lo puedes hacer con un if. y le sumas 1 asecinato al equipo anterior(a la variable).
dentro del timer que va a tener el tiempo que tu elijas mediante un if comparas que equipo tiene mas asecinatos y decides quien es el ganador.
podria quedar algo asi:
pawn Код:
#define EQUIPO1 1  //yo defini el equipo 1 para que te puedas guiar y que no haya nada sin definir dentro de lo q te digo
#define EQUIPO2 2  //IDEM que arriba
new Equipo1Kills;  // variable global para guardar los asecinatos del equipo 1.
new Equipo2Kills;  // variable global para guardar los asecinatos del equipo 2.
new gTeam[MAX_PLAYERS];  //variable para guardar el equipo de cada jugador.

forward Partida();  //forward del timer
pawn Код:
public OnGameModeodeInit()
{
  SetTimer("Partida", 1200000, 0);//timer que determina la duracion de cada partida. (Nota: El timer esta puesto en 20 minutos)
  return 1;
}
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
  if(gTeam[playerid] != gTeam[killerid]){  //si el jugador que murio y el que lo mato no son del mismo equipo...
    if(gTeam[playerid] == EQUIPO1){  //si el jugador que murio es del equipo 1...
      Equipo2Kills++;  //suma 1 a la variable de asecinatos del equipo 2.
    }
    //si solo son 2 equipos usa else, si no usa if.
    else{
      Equipo1Kills++;  //suma 1 a la variable de asecinatos del equipo 1.
    }
  }
  return 1;
}
pawn Код:
public Partida()  //El Timer
{
  if(Equipo1Kills > Equipo2Kills){  //si los asecinatos del equipo 1 son mas que los del equipo 2...
    for(new i=0; i<MAX_PLAYERS; i++){  //variable q almacena todos los id de los jugadores
      if(IsPlayerConnected(i) && gTeam[i] == EQUIPO2){  //si i esta conectado y es miembro del equipo 1...
        GameTextForPlayer(i, "-B-Tu equipo ha Ganado la batalla!", 3000, 3);  //manda un mensaje
      }
    }
  }
  if(Equipo1Kills < Equipo2Kills){  //si los asecinatos del equipo 2 son mas que los del equipo 1...
    for(new i=0; i<MAX_PLAYERS; i++){
      if(IsPlayerConnected(i) && gTeam[i] == EQUIPO2){
        GameTextForPlayer(i, "-B-Tu equipo ha Ganado la batalla!", 3000, 3);
      }
    }
  }
  else{
    for(new i=0; i<MAX_PLAYERS; i++){
      if(IsPlayerConnected(i)){
        GameTextForPlayer(i, "-B-EMPATE!", 3000, 3);
      }
    }
  }
}
Espero que te sirva
Reply


Messages In This Thread
[ayuda] lo q le falta al TDM - by laborgward - 06.02.2010, 16:50
Re: [ayuda] lo q le falta al TDM - by TheChaoz - 06.02.2010, 23:28
Re: [ayuda] lo q le falta al TDM - by CristianTdj - 07.02.2010, 11:55
Re: [ayuda] lo q le falta al TDM - by laborgward - 07.02.2010, 21:57
Re: [ayuda] lo q le falta al TDM - by TheChaoz - 07.02.2010, 23:51
Re: [ayuda] lo q le falta al TDM - by laborgward - 08.02.2010, 01:25
Re: [ayuda] lo q le falta al TDM - by TheChaoz - 08.02.2010, 01:48
Re: [ayuda] lo q le falta al TDM - by laborgward - 08.02.2010, 04:00
Re: [ayuda] lo q le falta al TDM - by TheChaoz - 08.02.2010, 04:33
Re: [ayuda] lo q le falta al TDM - by laborgward - 08.02.2010, 04:38

Forum Jump:


Users browsing this thread: 1 Guest(s)