[Consulta]Spectear al morir jugador
#1

Hola amigos, necesito consultar un codigo con ustedes si me podrian ayudar se los agradeceria mucho

Estoy Creando un gm de dos equipos por decir uno "Rojo" y otro "Azul" quisiera que cuando tal jugador mate al otro jugador el jugador que muere pueda spectear a los jugadores y puede cambiar de spectear a otro jugador con CLICK, es como decir cuando un jugador mata otro el que muere queda descalificado y sale como specteador y asi hasta que queden pocos de su equipo y el otro equipo gane

Espero que me puedan ayudar con esto ya que eh buscado y no lo eh encontrado pero si lo eh visto en otros servidores, Gracias de antemano y saludos
Reply
#2

Algo asн,їcomo un freezone?
Reply
#3

Quote:
Originally Posted by pinpon
Посмотреть сообщение
Algo asн,їcomo un freezone?
Disculpa mi ignorancia pero no eh oido hablar de un Freezone, pero si se trata asi como lo describi yo creo que si
Reply
#4

Lo que tendrнas que hacer serнa crear una variable por ejemplo
pawn Код:
new sRed[MAX_PLAYERS]; //equipo rojo
new sBlue[MAX_PLAYERS]; //equipo azul
new Blue; //cuando un jugaodr entra al equipo azul sumale 1 a la variable y cuando sale bajale 1
new Red; //cuando un jugador entra al equipo rojo sumale 1 a la variable y cuando sale bajale 1
new Key[MAX_PLAYERS]; //la tecla
Y despuйs
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
if(sRed[playerid] == 1)
{
Key[playerid] = 1;
new rand = random(120); //el maximo de tus slots
TogglePlayerSpectating(playerid, rand);
}
return 1;
}
Y despuйs en OnPlayerKeyStateChange
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_FIRE)
{
if(Key[playerid] == 1)
{
if(sRed[playerid] == 1)
{
new rand = random(Red); //maximo de tus slots o jugadores por equipo. Yo lo hago por el quipo rojo.
TogglePlayerSpectating(playerid, Red);
}
else if(sBlue[playerid] == 1)
{
new rand = random(Blue);
TogglePlayerSpectating(playerid, Blue);
}
}
}
return 1;
}
Algo masomenos asн tendrнas que hacer. Aunque no lo probй pero por lo que sй asн masomenos tendrнa que funcionar.
Reply
#5

Quote:
Originally Posted by JustBored
Посмотреть сообщение
Lo que tendrнas que hacer serнa crear una variable por ejemplo
pawn Код:
new sRed[MAX_PLAYERS]; //equipo rojo
new sBlue[MAX_PLAYERS]; //equipo azul
new Blue; //cuando un jugaodr entra al equipo azul sumale 1 a la variable y cuando sale bajale 1
new Red; //cuando un jugador entra al equipo rojo sumale 1 a la variable y cuando sale bajale 1
new Key[MAX_PLAYERS]; //la tecla
Y despuйs
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
if(sRed[playerid] == 1)
{
Key[playerid] = 1;
new rand = random(120); //el maximo de tus slots
TogglePlayerSpectating(playerid, rand);
}
return 1;
}
Y despuйs en OnPlayerKeyStateChange
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_FIRE)
{
if(Key[playerid] == 1)
{
if(sRed[playerid] == 1)
{
new rand = random(Red); //maximo de tus slots o jugadores por equipo. Yo lo hago por el quipo rojo.
TogglePlayerSpectating(playerid, Red);
}
else if(sBlue[playerid] == 1)
{
new rand = random(Blue);
TogglePlayerSpectating(playerid, Blue);
}
}
}
return 1;
}
Algo masomenos asн tendrнas que hacer. Aunque no lo probй pero por lo que sй asн masomenos tendrнa que funcionar.
Bien Gracias unas preguntas para sumarle uso esto
Blue++;
asi le sumo o no

Otra cosa me sale dos warnings en la parte de

pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_FIRE)
{
if(Key[playerid] == 1)
{
if(sRed[playerid] == 1)
{
new rand = random(Red); //maximo de tus slots o jugadores por equipo. Yo lo hago por el quipo rojo.
TogglePlayerSpectating(playerid, Red);
}
else if(sBlue[playerid] == 1)
{
new rand = random(Blue);
TogglePlayerSpectating(playerid, Blue);
}
}
}
return 1;
}
Me sale estos warnings en la linea de los rand

warning 204: symbol is assigned a value that is never used: "rand"
Reply
#6

pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_FIRE)
{
if(Key[playerid] == 1)
{
if(sRed[playerid] == 1)
{
new rand = random(Red); //maximo de tus slots o jugadores por equipo. Yo lo hago por el quipo rojo.
TogglePlayerSpectating(playerid, rand);
}
else if(sBlue[playerid] == 1)
{
new rand = random(Blue);
TogglePlayerSpectating(playerid, rand);
}
}
}
return 1;
}
Reply
#7

Quote:
Originally Posted by EvelioCuenca
Посмотреть сообщение
Bien Gracias unas preguntas para sumarle uso esto
Blue++;
asi le sumo o no

Otra cosa me sale dos warnings en la parte de

pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_FIRE)
{
if(Key[playerid] == 1)
{
if(sRed[playerid] == 1)
{
new rand = random(Red); //maximo de tus slots o jugadores por equipo. Yo lo hago por el quipo rojo.
TogglePlayerSpectating(playerid, Red);
}
else if(sBlue[playerid] == 1)
{
new rand = random(Blue);
TogglePlayerSpectating(playerid, Blue);
}
}
}
return 1;
}
Me sale estos warnings en la linea de los rand

warning 204: symbol is assigned a value that is never used: "rand"
Sн estб bien. Tambiйn lo podes poner asн
pawn Код:
Blue += 1;
Reply
#8

Perfecto casi funciona casi veran muero y me sale esta pantalla negra no spectea al otro jugador me sale esto es como que si no tuviera specteando nada le doy click y no cambia, asi como la imagen.



Asi me quedo en
public OnPlayerDeath(playerid, killerid, reason)

pawn Код:
if (gTeam[playerid]==TEAM_Army)
    {
        Sgangsta++;
        Key[playerid] = 1;
        new rand = random(5); //el maximo de tus slots
        TogglePlayerSpectating(playerid, rand);
        Red--;
    }
    if(gTeam[playerid]==TEAM_Terrorist)
    {
        Scop++;
        Key[playerid] = 1;
        new rand = random(5); //el maximo de tus slots
        TogglePlayerSpectating(playerid, rand);
        Blue--;
    }
Team_Army y Team_Terrorist son las variables de cada equipo
y en Keys asi
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == KEY_FIRE)
    {
    if(Key[playerid] == 1)
    {
    if(gTeam[playerid]==TEAM_Terrorist)
    {
    new rand = random(TEAM_Terrorist); //maximo de tus slots o jugadores por equipo. Yo lo hago por el quipo rojo.
    TogglePlayerSpectating(playerid, rand);
    }
    else if(gTeam[playerid]==TEAM_Army)
    {
    new rand = random(TEAM_Army);
    TogglePlayerSpectating(playerid, rand);
    }
    }
    }
    return 1;
}
Otra cosa nose si es al id 0 o es al team pero al que tiene el id superior al 0 es decir 1 o es otro equipo ellos al morir pueden respawmear dando click :/ muy rraro estoy intentando arreglarlo y si me va saliendo un poco si tienen alguna ayuda no me vendra nada mal, pero si no ya Gracias
Reply
#9

Te recomeindo crear otro public. En un rato modifico el code ya que no tengo el pawn en este momento.
Reply
#10

Quote:
Originally Posted by JustBored
Посмотреть сообщение
Te recomeindo crear otro public. En un rato modifico el code ya que no tengo el pawn en este momento.
Ok gracias a lo que lo edites ahi lo veo
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)