Question

Maks_Fabions
Свой человек

Вот сколько уже занимаюсь оформлением сервера, всё никак не могу понять, как работает режим спектатора. Включаю его в паблике "OnPlayerRequestClass" (мне так надо) при регистрации, чтобы убрать стрелочки и spawn. Запускал мод, много раз. Показывало тот вид, который нужен. Добавил в "OnGamemodeInit" TD. Всё! Опять показывает вместо моих координат поле. Как изменить этот вид? В чём заключается моя ошибка?

 

public OnGameModeInit() // Событие, когда загрузится скрипт
{
//-------------------------------- [TD Logo and Date] --------------------------
    URL_Date = TextDrawCreate
    URL_Date_Activated();
//----------------------------------- [TD Time] --------------------------------
    Time_corner = TextDrawCreate
    SetTimer("Time_corner_Activated"40001);
    return 1;
}

public OnPlayerRequestClass(playerid, classid) // Событие, когда игрок выбирает класс персонажа
{
    switch(check_registration[playerid])
    {
        case false:
        {
            for(new i = 0; i < 10; i++) SCM(playerid, 0xFFFFFFAA" ");
            PlayerPlaySound(playerid, 11850.00.00.0);
            ShowRegistration(playerid);
            TogglePlayerSpectating(playerid, 1);
        }
        case true:
        {
            for(new i = 0; i < 10; i++) SCM(playerid, 0xFFFFFFAA" ");
            PlayerPlaySound(playerid, 11850.00.00.0);
            ShowLogin(playerid);
            TogglePlayerSpectating(playerid, 1);
        }
    }
    SetPlayerCameraPos // Позиция камеры при регистрации/авторизации (Назад+/Вправо+/Вверх+)
    SetPlayerCameraLookAt // Куда смотрит камера при регистрации/авторизации
    return 1;
}

public OnPlayerConnect(playerid) // Событие, когда игрок подключается к серверу
{
    GetPlayerName(playerid, PlayerInfo[playerid][pName], MAX_PLAYER_NAME);
    new query[1024];
    format(query, sizeof(query), "SELECT * FROM `account` WHERE `Name` = '%s' LIMIT 1", PlayerInfo[playerid][pName]);
    new Cache:result = mysql_query(dbHandle, query);
    new rows;
    cache_get_row_count(rows); // Получает кол-во строк ПОСЛЕ ОБРАБОТКИ ЗАПРОСА и записывает число в переменную
    if(!rows)
    {
        SCM(playerid, COLOR_WHITE, "Этот ник не зарегистрирован");
        check_registration[playerid] = false;
    }
    else
    {
        cache_get_value_name(0"Key", PlayerInfo[playerid][pKey], 21); // Передает полученное значение в переменную ПОСЛЕ ОБРАБОТКИ ЗАПРОСА
        cache_get_value_name_int(0"Sex", PlayerInfo[playerid][pSex]);
        check_registration[playerid] = true;
    }
    cache_delete(result);
    return 1;
}

public UploadPlayerAccount(playerid) // Загрузка данных аккаунта из базы сервера
{
    cache_get_value_name_int(0"ID", PlayerInfo[playerid][pID]);
    cache_get_value_name_int(0"Skin", PlayerInfo[playerid][pSkin]);
    cache_get_value_name_int(0"Level", PlayerInfo[playerid][pLevel]);
    cache_get_value_name_int(0"Experience", PlayerInfo[playerid][pExp]);
    cache_get_value_name_int(0"Money", PlayerInfo[playerid][pMoney]);
    cache_get_value_name_float(0"Health", PlayerInfo[playerid][pHealth]);
    cache_get_value_name_float(0"Armor", PlayerInfo[playerid][pArmor]);

    cache_get_value_name_int(0"Admin", PlayerInfo[playerid][pAdmin]);
    cache_get_value_name_int(0"Helper", PlayerInfo[playerid][pHelper]);

    SetPlayerAuthorized(playerid, PLAYER_ONLINE);
    TogglePlayerSpectating(playerid, 0);
    SpawnPlayer(playerid);
    return 1;
}

stock URL_Date_Activated()
{
    new string[1024], year, month, day;
    getdate(year, month, day);
    format(string, sizeof(string), "~w~SERVER~n~%02d.%02d.%d", day, month, year);
    TextDrawSetString(URL_Date, string);
}

forward Time_corner_Activated();
public Time_corner_Activated()
{
    new string[1024], hour, minute;
    gettime(hour, minute);
    format(string, sizeof(string), "~w~%02d~y~:~w~%02d", hour, minute);
    SetWorldTime(hour);
    for(new i=0; i<MAX_PLAYERS;i++)
    {
        TextDrawSetString(Time_corner, string);
    }
    return 1;
}

 

Share this post


Link to post

1 answer to this question

Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • gooding
      By gooding


      Скачать файл PAR RP | Уникальный мод без багов
      Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
      Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
       
       

      Добавил gooding Добавлено 20.11.2024 Категория Моды Автор GOODING (Я)  
    • gooding
      By gooding
      Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
      Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
       
       

    • Kalinin
      By Kalinin
      1. Набираю команду для создания CRMP сервера.
      2. Вакансии  которые свободны. Связь через TG @kalinin_sql
      Нам нужны;
      1.Кодеры
      2.Маперы
      3.СММ
      Так-же дружная работа. По поводу зарплаты будем обговаривать все лично в беседе ТГ
       
    • whccompany
      By whccompany
      Rostov Role Play | Rostov RP | CRMP Mobile Project объявляет набор людей в свою команду: Нам требуются:
       
      1. Маппера:
      Сдельная оплата труда от 250 до 3000 рублей/ за 1 работу
       
      2. Специалист по Text Draw:
      Сдельная оплата труда от 400 до 3500 рублей/ за одну работу
       
      3. Pawn разработчик:
      Заработная плата от 10 000 рублей/месяц
       
      4. Программист для создания лаунчера и сайта UCP с автодонатом:
      Заработная плата от 10 000 рублей/месяц
       
      Контакты для связи:
       
      ВКонтакте
       
      Telegram