[Ayuda] problema me confundo
#1

pawn Код:
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)
{
    if(gTeam[issuerid]==gTeam[playerid])
    {
        GameTextForPlayer(issuerid, " ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~~h~Don't shoot your team mates!", 600, 6);
    }
    else if(gTeam[issuerid]==gTeam[playerid] && dueling[issuerid] == 1 || gPlayerInfo[ issuerid ][ joined ] == 1 || gPlayerInfo[ issuerid ][ ingg ] == true)
    {
        BloodHits[playerid] ++;
        if(BloodHits[playerid] == 3)
        {
            TextDrawShowForPlayer(playerid, BloodTD[playerid]);
        }
        PlayerPlaySound(issuerid, 17802, 0, 0, 0);
    }
    return 1;
}
ok aqui va, lo que pasa es que quiero que si un jugador noe sta en duelo o no esta en un evento (joined) o no esta en el estadio "ingg" y ellos estan en el mismo team no les aparece el mensaje "Don't shoot your team mates" pero por una razon aparece me poden ayudar porfavore?
Reply
#2

Quote:
Originally Posted by recor
Посмотреть сообщение
pawn Код:
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)
{
    if(gTeam[issuerid]==gTeam[playerid])
    {
        GameTextForPlayer(issuerid, " ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~~h~Don't shoot your team mates!", 600, 6);
    }
    else if(gTeam[issuerid]==gTeam[playerid] && dueling[issuerid] == 1 || gPlayerInfo[ issuerid ][ joined ] == 1 || gPlayerInfo[ issuerid ][ ingg ] == true)
    {
        BloodHits[playerid] ++;
        if(BloodHits[playerid] == 3)
        {
            TextDrawShowForPlayer(playerid, BloodTD[playerid]);
        }
        PlayerPlaySound(issuerid, 17802, 0, 0, 0);
    }
    return 1;
}
ok aqui va, lo que pasa es que quiero que si un jugador noe sta en duelo o no esta en un evento (joined) o no esta en el estadio "ingg" y ellos estan en el mismo team no les aparece el mensaje "Don't shoot your team mates" pero por una razon aparece me poden ayudar porfavore?
Tratб de ser un poco mбs especifico, tuve que leerlo 3 veces para entenderlo (conste que lo digo de buena onda, no de mala manera).

Pues, deberнas cambiar el texto que se encuentra entre las comillas (" ") de esta lнnea:

pawn Код:
GameTextForPlayer(issuerid, " ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~~h~Don't shoot your team mates!", 600, 6);
Reply
#3

Listo, yo se no me explique bien.. pero aqui va.

Osea que si issuerid esta en el mismo team de playerid, returna el gametextforplayer NO ATAQUES A ESTE MIEMBRO, PERO, si el issuerid esta jugando un duelo (dueling) o esta en un evento (joined) o esta en el estadio de juegos (ingg) < esas son las variables, el texto NO les deberia aparecer (creo) incluso si estan en el mismo equipo, me doy a entender?
Reply
#4

Serнa mбs fбcil que usaras SetPlayerTeam. Con esto lo jugadores no se podrбn hacer daсo y cuando vayan a esos lugares les asignas el equipo 0.
Reply
#5

y que hay de la variable gTeam...
Reply
#6

pawn Код:
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)
{
    if(gTeam[issuerid] == gTeam[playerid] && dueling[issuerid] == 0 || gPlayerInfo[ issuerid ][ joined ] == 0 || gPlayerInfo[ issuerid ][ ingg ] == false) // Comprobamos las variables.
    {
        SetPlayerHealth(playerid, amount); // Restauramos la vida del jugador asignandole la cantidad que perdiу (amount).
        GameTextForPlayer(issuerid, " ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~~h~Don't shoot your team mates!", 600, 6);
    }
    else(gTeam[issuerid] == gTeam[playerid] && dueling[issuerid] == 1 || gPlayerInfo[ issuerid ][ joined ] == 1 || gPlayerInfo[ issuerid ][ ingg ] == true)
    {
        BloodHits[playerid] ++;
        if(BloodHits[playerid] == 3)
        {
            TextDrawShowForPlayer(playerid, BloodTD[playerid]);
        }
        PlayerPlaySound(issuerid, 17802, 0, 0, 0);
    }
    return 1;
}
Tal vez asн se solucione tu problema.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)