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

Описание: Уроки по скриптингу
Модератор: SJplayer

Дим M
Автор темы, Администратор
Администратор
Аватара
Дим M
Автор темы, Администратор
Администратор
Сообщения: 1608
Зарегистрирован: 5 апреля 2013
С нами: 10 лет 11 месяцев

#1 Дим » 6 мая 2013, 11:49

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

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

Ко всем new:

Код: Выделить всё

new gTagForPlayer[MAX_PLAYERS];


В public OnPlayerConnect

Код: Выделить всё

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


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

Код: Выделить всё

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


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

Код: Выделить всё

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


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

Код: Выделить всё

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[])

Код: Выделить всё

    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]


Вернуться в «Уроки»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 3 гостя