[ayuda] lo q le falta al TDM -
laborgward - 06.02.2010
bueno mi idea es q el TDM consista en 2 ekipos y un tiempo de 20 min.
el ekipo q en esos 20 min haya logrado mas asesinatos ganara y q salga un msj del ekipo ganador, mientras transcurren esos 20 min aparesca un texto q vaya informando cuantos asesinatos lleva cada ekipo....
intente hacerlo yo mismo pero fracase xD bueno espero puedan ayudarme
PD: y si pueden q los admins puedan restaurar las stats de kada ekipo y el tiempo... nada mas gracias
Re: [ayuda] lo q le falta al TDM -
TheChaoz - 06.02.2010
bueno, inicialmente para empezar decime que es lo 1є que fallo en tu GM, o sea lo 1є que no te salio hacer.
Re: [ayuda] lo q le falta al TDM -
CristianTdj - 07.02.2010
Queremos ver los errores.
Re: [ayuda] lo q le falta al TDM -
laborgward - 07.02.2010
Quote:
Originally Posted by the_chaoz
bueno, inicialmente para empezar decime que es lo 1є que fallo en tu GM, o sea lo 1є que no te salio hacer.
|
lo habia echo como me habian explikado q lo haga pero salio mal y ya no lo tengo x eso me gustaria q me ayuden a armarlo de nuevo yo ya tengo todo el TDM armado solo me falta un objetivo osea el q explike anteriormente
Re: [ayuda] lo q le falta al TDM -
TheChaoz - 07.02.2010
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
Re: [ayuda] lo q le falta al TDM -
laborgward - 08.02.2010
bn escucha the_chaoz, en este momento no tengo mi sv x problemas con mi PC pero en un par de dias lo utilizare y te avisare cual fue el resultado pero creo q va a funcionar,,, oye pero en ves de q a cada ekipo ganador le salga un msj no se puede hacer q directamente salga un msj para todos diciendo q equipo gano

creo q estoy pidiendo mucho pero asi voy a aprender bien jeje desde ya muchas gracias ya lo probare y te avisare cual fue el resultado amigaso no re vemo
Re: [ayuda] lo q le falta al TDM -
TheChaoz - 08.02.2010
si usa format
Re: [ayuda] lo q le falta al TDM -
laborgward - 08.02.2010
format

.... no entendi xD
Re: [ayuda] lo q le falta al TDM -
TheChaoz - 08.02.2010
perdon format no sirve en este caso xD.
segun lo q entendi
lo que tienes q cambiar es:
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)){ //si i esta conectado...
GameTextForPlayer(i, "-B-El equipo 1 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)){
GameTextForPlayer(i, "-B-El equipo 2 ha Ganado la batalla!", 3000, 3);
}
}
}
else{
for(new i=0; i<MAX_PLAYERS; i++){
if(IsPlayerConnected(i)){
GameTextForPlayer(i, "-B-EMPATE!", 3000, 3);
}
}
}
}
y de esta forma el mensaje lo mandaria a todos
Re: [ayuda] lo q le falta al TDM -
laborgward - 08.02.2010
Quote:
Originally Posted by the_chaoz
perdon format no sirve en este caso xD.
segun lo q entendi
lo que tienes q cambiar es:
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)){ //si i esta conectado... GameTextForPlayer(i, "-B-El equipo 1 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)){ GameTextForPlayer(i, "-B-El equipo 2 ha Ganado la batalla!", 3000, 3); } } } else{ for(new i=0; i<MAX_PLAYERS; i++){ if(IsPlayerConnected(i)){ GameTextForPlayer(i, "-B-EMPATE!", 3000, 3); } } } }
y de esta forma el mensaje lo mandaria a todos
|
gracias kpo ya lo probare y te avisare si funciona o no en caso de no funcionar posteare los errores ok no re vemo...