Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 17 из 17

Тема: playerid

  1. #11
    Активный пользователь Аватар для vasyok28
    Регистрация
    11.01.2013
    Адрес
    Украина
    Возраст
    30
    Сообщений
    564
    Репутация: 96

    Звание: скоро придёт к известности
    Цитата Сообщение от TwixXtra Посмотреть сообщение
    Суть была в том чтоб сделать из playerid в nickname все сделали!

    Но я это функцию для online игроков использую работает все норм, а если я указываю nickname тех игроков которые offline то эта функция на эй не действует!
    Для системы домов сделал

    stock GetPlayerID(playername[])
    {
    foreach(new i:Player)
    {
    if(!IsPlayerConnected(i)) continue;
    new playername2[MAX_PLAYER_NAME];
    GetPlayerName(i, playername2, sizeof(playername2));
    if(strcmp(playername2, playername, true, strlen(playername)) == 0) return i;
    }
    return INVALID_PLAYER_ID;
    }

    (IsPlayerConnected(GetPlayerID(HouseInfo[houseid][hOwener]))) ? ("{66FF66}[Online]") : ("{FF3333}[Offline]")
    Мою подпись угнали(
    Нарушение ЕПФ: "Подпись и иже с ней" п.4 (с) TERNER

  2. #12
    Почетный пользователь LC Аватар для ziggi
    Регистрация
    15.07.2010
    Адрес
    St. Petersburg
    Возраст
    30
    Сообщений
    370
    Репутация: 151

    Звание: - весьма и весьма положительная личность
    Цитата Сообщение от TwixXtra Посмотреть сообщение
    Я это понял, только мне надо чтоб эта функция на online и offline действовала
    Когда игрок не в сети, данные в массиве о нём не хранят. Чтобы изменить количество денег у игрока оффлайн, нужно:
    - Для файлов: открыть файл с его профилем и изменить там значение напрямую.
    - Для БД: отправить запрос UPDATE players SET money=money+100 WHERE name='имя'
    Блог: ziggi.org
    GitHub: github.com/ziggi
    Open-GTO Project: https://github.com/Open-GTO
    FCNPC (боты для SA-MP): https://github.com/Open-GTO/FCNPC

  3. #13
    Активный пользователь Аватар для TwixXtra
    Регистрация
    08.01.2015
    Сообщений
    847
    Репутация: 29

    Звание: на пути к лучшему
    Цитата Сообщение от ziggi Посмотреть сообщение
    Когда игрок не в сети, данные в массиве о нём не хранят. Чтобы изменить количество денег у игрока оффлайн, нужно:
    - Для файлов: открыть файл с его профилем и изменить там значение напрямую.
    - Для БД: отправить запрос UPDATE players SET money=money+100 WHERE name='имя'
    А нельзя что нибудь придумать?

  4. #14
    Почетный пользователь LC Аватар для ziggi
    Регистрация
    15.07.2010
    Адрес
    St. Petersburg
    Возраст
    30
    Сообщений
    370
    Репутация: 151

    Звание: - весьма и весьма положительная личность
    Цитата Сообщение от TwixXtra Посмотреть сообщение
    А нельзя что нибудь придумать?
    Если ты не хочешь держать всегда всех игроков в памяти, то нет. Зачем тебе это?
    Блог: ziggi.org
    GitHub: github.com/ziggi
    Open-GTO Project: https://github.com/Open-GTO
    FCNPC (боты для SA-MP): https://github.com/Open-GTO/FCNPC

  5. #15
    Активный пользователь Аватар для TwixXtra
    Регистрация
    08.01.2015
    Сообщений
    847
    Репутация: 29

    Звание: на пути к лучшему
    Цитата Сообщение от ziggi Посмотреть сообщение
    Если ты не хочешь держать всегда всех игроков в памяти, то нет. Зачем тебе это?
    Надо, например для проверок, типо я хочу дать такую та сумму, а он допустим миллионер, чтоб миллионерам не смог давать, или же если у его 1 лвл

    Ну хотябы как сделать чтоб хранило 100 максимум игроков

  6. #16
    Активный пользователь
    Регистрация
    06.10.2015
    Адрес
    Slobodskoy
    Возраст
    26
    Сообщений
    103
    Репутация: 93

    Звание: скоро придёт к известности
    Цикл фигня, на скорую руку делал ^_^

    PHP код:
    stock IdFromPlayerName(name[])
    {
        new 
    local_player_name[MAX_PLAYER_NAME];
        for (new 
    iMAX_PLAYERS; ++i)
        {
            if (
    == IsPlayerConnected(i))
                return -
    1;

            
    GetPlayerName(ilocal_player_nameMAX_PLAYER_NAME);

            if (
    strfind(local_player_namenametrue) != -1)
                return 
    i;
        }
        return -
    1;


  7. #17
    Почетный пользователь LC Аватар для ziggi
    Регистрация
    15.07.2010
    Адрес
    St. Petersburg
    Возраст
    30
    Сообщений
    370
    Репутация: 151

    Звание: - весьма и весьма положительная личность
    Цитата Сообщение от Untonyst Посмотреть сообщение
    Цикл фигня, на скорую руку делал ^_^

    PHP код:
    stock IdFromPlayerName(name[])
    {
        new 
    local_player_name[MAX_PLAYER_NAME];
        for (new 
    iMAX_PLAYERS; ++i)
        {
            if (
    == IsPlayerConnected(i))
                return -
    1;

            
    GetPlayerName(ilocal_player_nameMAX_PLAYER_NAME);

            if (
    strfind(local_player_namenametrue) != -1)
                return 
    i;
        }
        return -
    1;

    Решение уже было дано, тем более твой вариант может сработать не на того игрока (в случае, когда символы ника одного игрока, присутствуют в том же порядке в ник другого игрока).

    Цитата Сообщение от TwixXtra Посмотреть сообщение
    Надо, например для проверок, типо я хочу дать такую та сумму, а он допустим миллионер, чтоб миллионерам не смог давать, или же если у его 1 лвл

    Ну хотябы как сделать чтоб хранило 100 максимум игроков
    Забей, ты даже не понимаешь что это и не можешь объяснить зачем тебе это.
    Блог: ziggi.org
    GitHub: github.com/ziggi
    Open-GTO Project: https://github.com/Open-GTO
    FCNPC (боты для SA-MP): https://github.com/Open-GTO/FCNPC

Страница 2 из 2 ПерваяПервая 12

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •