[Ajuda] Problema TAGs Player
#1

Boas e o seguinte, estou com um grave problema no servidor com um sistema de Conhecer player pois quando ele nao o conhece e se entrar em um interior e sair poderб ver os nomes dos players mesmo sem os conhecer

Alguem poderб adudar?
Jб tentei:
ShowNameTags(0);
- Nao aparecia as tags mas quando se conhecia o player tambem n aparecia
ShowPlayerNameTagForPlayer
- aparece bem, mas quando sai de interior passarб ver tudo mundo

Ajuda?

pff
Reply
#2

Alguem sabe?
Reply
#3

Qual o Sistema que voce ta uzando de Conhecer o player ?

Do Djloko ou do CidadeNovaRP ?
Reply
#4

Djloko & CidadeNovaRP, tem coisas dos dois...

Poderб ajudar me?
Reply
#5

Fiz uma adaptaзгo, veja se irб funcionar:
pawn Код:
#include <a_samp>
#include <DOF2>

forward Atualizar(playerid);
new Timer[MAX_PLAYERS];

public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print(" FS by CidadeNovaRP ¬");
    print("--------------------------------------\n");
    return 1;
}

public OnFilterScriptExit()
{
    DOF2_Exit();
    return 1;
}

public OnPlayerConnect(playerid)
{
    Timer[playerid] = SetTimerEx("Atualizar", 3000, true, "i", playerid);
    return 1;
}

public OnPlayerDisconnect(playerid)
{
    KillTimer(Timer[playerid]);
    return 1;
}

public OnPlayerText(playerid, text[])
{
    new playername[MAX_PLAYER_NAME], conheceu[MAX_PLAYER_NAME], arquivoplayer[MAX_PLAYER_NAME+4], Float:pos[3], string[128];
    GetPlayerName(playerid, playername, sizeof(playername));
    GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
    if(strfind(text, playername, true) != -1)
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(playerid))
            {
                if(IsPlayerInRangeOfPoint(i, 15.0, pos[0], pos[1], pos[2]))
                {
                    GetPlayerName(i, conheceu, sizeof(conheceu));
                    format(arquivoplayer, sizeof(arquivoplayer), "%s.inc", conheceu);
                    DOF2_SetInt(arquivoplayer, playername, 1);
                    DOF2_SaveFile();
                }
            }
        }
    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(IsPlayerInRangeOfPoint(i, 15.0, pos[0], pos[1], pos[2]))
            {
                GetPlayerName(i, conheceu, sizeof(conheceu));
                format(arquivoplayer, sizeof(arquivoplayer), "%s.inc", conheceu);
                if(DOF2_GetInt(arquivoplayer, playername) == 1)
                {
                    format(string, sizeof(string), "%s diz: %s", playername, text);
                    SendClientMessage(i, -1, string);
                    return 0;
                }
                else
                {
                    format(string, sizeof(string), "Desconhecido diz: %s", text);
                    SendClientMessage(i, -1, string);
                    return 0;
                }
            }
        }
    }
    return 0;
}

public Atualizar(playerid)
{
    new playername[MAX_PLAYER_NAME], amigo[MAX_PLAYER_NAME], arquivo[64];
    GetPlayerName(playerid, playername, sizeof(playername));
    format(arquivo, sizeof(arquivo), "%s.inc", playername);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            GetPlayerName(i, amigo, sizeof(amigo));
            if(DOF2_GetInt(arquivo, amigo) == 1)
            {
                ShowPlayerNameTagForPlayer(playerid, i, true);
            }
            else
            {
                ShowPlayerNameTagForPlayer(playerid, i, false);
            }
        }
    }
    return 1;
}

public OnPlayerInteriorChange(playerid,newinteriorid,oldinteriorid)
{
    new playername[MAX_PLAYER_NAME], amigo[MAX_PLAYER_NAME], arquivo[64];
    GetPlayerName(playerid, playername, sizeof(playername));
    format(arquivo, sizeof(arquivo), "%s.inc", playername);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            GetPlayerName(i, amigo, sizeof(amigo));
            if(DOF2_GetInt(arquivo, amigo) == 1)
            {
                ShowPlayerNameTagForPlayer(playerid, i, true);
            }
            else
            {
                ShowPlayerNameTagForPlayer(playerid, i, false);
            }
        }
    }
    return 1;
}

//CidadeNovaRP, com sistemas simples, sempre evoluindo -q (Que frase de merda kkk)
//Faзo encomendas em scipt PAWN, trabalho apenas com ZCMD/SSCANF e MySQL ou DOF2
Reply
#6

Obrigado Gustavo

juntei public OnPlayerInteriorChange(playerid,newinteriorid,oldi nteriorid) a funcao existente que tinha e resultou
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)