Скрываем ник (Мистер-Х)

Description: Уроки по скриптингу
Moderator: SJplayer

Дим M
Topic author, Администратор
Администратор
Avatar
Дим M
Topic author, Администратор
Администратор
Posts: 1613
Joined: 5 Apr 2013
With us: 11 years 7 months

#1by Дим » 6 May 2013, 11:49

Скрываем ник (Мистер-Х)
Автор: Leonardo_Gun

При вводе команда /showtag у хитов будет скрываться ник + При разговоре в чате будет писать Мистер-Х: Текст

Ко всем new:

Code: Select all

new gTagForPlayer[MAX_PLAYERS];


В public OnPlayerConnect

Code: Select all

gTagForPlayer[playerid] = 1; 
IsPlayerTagShow
[playerid] = 1;


Ко всем командам

Code: Select all

     if(strcmp(cmd, "/showtag", true) == 0)
    {
        if( (PlayerInfo[playerid][pMember] == 2 && (
        PlayerInfo[playerid][pRank] == 11 ||
        PlayerInfo[playerid][pRank] == 12)
        )
        || PlayerInfo[playerid][pMember] == 8
        
|| PlayerInfo[playerid][pMember] == 11
        
|| PlayerInfo[playerid][pAdmin] == 10)
        {
        if(gTagForPlayer[playerid] == 0)
        {
                 for(new i = 0; i < GetMaxPlayers(); i++)
                {   //для всех игроков прячем ник playerid
                    ShowPlayerNameTagForPlayerEx(i, playerid, true);
                }
                GameTextForPlayer(playerid, "~w~Nametags ~r~on", 1000, 5);
                gTagForPlayer[playerid] = 1;
            }
            else
            
{
                 for(new i = 0; i < GetMaxPlayers(); i++)
                {
                    ShowPlayerNameTagForPlayerEx(i, playerid, false);
                }
                GameTextForPlayer(playerid, "~w~Nametags ~r~off", 1000, 5);
                gTagForPlayer[playerid] = 0;
            }
        }
        else
        
{
        SendClientMessage(playerid, COLOR_GREY, "Вы не уполномочены использовать эту команду!");
        return 1;
        }
        return 1;
    }


Далее добавим в конец мода Сток

Code: Select all

stock ShowPlayerNameTagForPlayerEx(playerid, showplayerid, show)
{
    ShowPlayerNameTagForPlayer(playerid, showplayerid, show);
    IsPlayerTagShow[showplayerid] = show;
    //1 - ник игрока showplayerid будет спрятан для игрока playerid
    return 1;
}


Если у вас нету паблика, то добавим:

Code: Select all

public OnPlayerStreamIn(playerid, forplayerid)
{
   //Cрабатывает одновременно у игрока forplayerid создаётся пед игрока playerid на компе.
    //if(IsPlayerNPC(forplayerid)) return 1;
    ShowPlayerNameTagForPlayer(playerid, forplayerid, IsPlayerTagShow[forplayerid]);
    SetPlayerMarkerForPlayer(playerid, forplayerid, IsPlayerColorMarker[forplayerid]);
    //ИНФОРМИРОВАНИЕ
    //new string[MAX_STRING];
    //format(string, sizeof(string), "OnPlayerStreamIn (playerid:%d, forplayerid:%d)", playerid, forplayerid);
    //ABroadCast(COLOR_PINK,string,9);
    return 1;
}


И в public OnPlayerText(playerid, text[])

Code: Select all

    if(gTagForPlayer[playerid] == 0)
       {
        format(string, sizeof(string), "Мистер-X: %s", text);
        ProxDetector(playerid, 20.0, string, COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE);
        return 0;
    }
[center]i love you [s]mxIni[/s] Mysql[/center]


Return to “Уроки”

Who is online (over the past 5 minutes)

Users browsing this forum: 1 guest