SA-MP Forums Archive
[Ayuda] problema me confundo - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [Ayuda] problema me confundo (/showthread.php?tid=464244)



[Ayuda] problema me confundo - recor - 16.09.2013

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?


Respuesta: [Ayuda] problema me confundo - Malganys - 16.09.2013

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);



Re: [Ayuda] problema me confundo - recor - 16.09.2013

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?


Respuesta: [Ayuda] problema me confundo - Malganys - 16.09.2013

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.


Re: [Ayuda] problema me confundo - recor - 16.09.2013

y que hay de la variable gTeam...


Respuesta: [Ayuda] problema me confundo - Malganys - 16.09.2013

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.