Вопросы

Вот сколько уже занимаюсь оформлением сервера, всё никак не могу понять, как работает режим спектатора. Включаю его в паблике "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;
}

 

Поделиться сообщением


Ссылка на сообщение

1 ответ на этот вопрос

  • 0

Up  или удалить тему

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Sten Developer
      От Sten Developer
      Объясню всю ситуацию, пишу систему смерти игрока но она не работает. Решил по приколу написать туда обычный вывод текста SCM(playerid, COLOR_RED, "Вы умерли");
      Но однако после смерти текст не выводиться. Не работает абсолютно все. Кто знает как решить эту проблему?