Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 2 из 2 ПерваяПервая 1 2
Показано с 11 по 17 из 17
  1. #11
    Аватар для m1n1vv
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    Так ты по порядку выставь все аргументы которые идут по стандарту и вуаля)
    Уже так делал. Результат тот же.

  2. #12
    Аватар для m1n1vv
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±
    Если создать 3d текст для игрока, то только ему он и будет виден. Это не учел.

    Если только так
    PHP код:
    for(new 0MAX_PLAYERSi++)
            
    HUD3D[playerid] = CreateDynamic3DTextLabel("•", -10.00.00.0525, .attachedplayer playerid, .playerid i); 
    Но текст не обновляется
    Последний раз редактировалось m1n1vv; 17.09.2016 в 22:51.

  3. #13
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от m1n1vv Посмотреть сообщение
    Если создать 3d текст для игрока, то только ему он и будет виден. Это не учел.

    Если только так
    PHP код:
    for(new 0MAX_PLAYERSi++)
            
    HUD3D[playerid] = CreateDynamic3DTextLabel("•", -10.00.00.0525, .attachedplayer playerid, .playerid i); 
    Но текст не обновляется
    Предлагаю использовать OnPlayerStreamIn/OnPlayerStreamOut, а не OnPlayerSpawn. Тогда и циклы никакие использовать не нужно будет, и будут известны нужные ID

    А создавать нужно двумерный массив, ибо для одного админа потребуется создать большое число 3d текстов для каждого игрока. То бишь, запись должна выглядеть так:
    PHP код:
    HUD3D[id_админа][id_игрока] = CreateDynamic3DTextLabel(...); 
    Последний раз редактировалось DeimoS; 17.09.2016 в 23:04.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  4. #14
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от m1n1vv Посмотреть сообщение
    Если создать 3d текст для игрока, то только ему он и будет виден. Это не учел.
    Я об этом явно написал в этом посте: "Параметр playerid в функции CreateDynamic3DTextLabel обозначает для какого игрока этот 3D текст будет создан. То есть для кого он будет виден. ". Не знаю как это можно было не учесть...

    Цитата Сообщение от m1n1vv Посмотреть сообщение
    Если только так
    PHP код:
    for(new 0MAX_PLAYERSi++)
            
    HUD3D[playerid] = CreateDynamic3DTextLabel("•", -10.00.00.0525, .attachedplayer playerid, .playerid i); 
    Но текст не обновляется
    Ты сам себе придумал проблему и пытаешься её решить, твой код записывается так:
    PHP код:
    HUD3D[playerid] = CreateDynamic3DTextLabel("•", -10.00.00.0525, .attachedplayer playerid); 
    Было бы проще, если бы ты сразу написал то, чего ты хочешь добиться.

  5. #15
    Аватар для m1n1vv
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Предлагаю использовать OnPlayerStreamIn/OnPlayerStreamOut, а не OnPlayerSpawn. Тогда и циклы никакие использовать не нужно будет, и будут известны нужные ID

    А создавать нужно двумерный массив, ибо для одного админа потребуется создать большое число 3d текстов для каждого игрока. То бишь, запись должна выглядеть так:
    PHP код:
    HUD3D[id_админа][id_игрока] = CreateDynamic3DTextLabel(...); 
    Обновление будет?
    PHP код:
    foreach(Playeri)
        
    UpdateDynamic3DTextLabelText(HUD3D[playerid][i], 0xFFFFFFAAstring_hud); 
    - - - Добавлено - - -

    Цитата Сообщение от ziggi Посмотреть сообщение
    Было бы проще, если бы ты сразу написал то, чего ты хочешь добиться.
    Цитата Сообщение от m1n1vv Посмотреть сообщение
    Над всеми игроками отображает имя и ID. А как сделать еще отображение здоровья для администраторов.
    И показал сам код. Прикреплять текст к игроку и так мог, а вот разное отображения для разных игроков нет.

  6. #16
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Благодаря вам в мире сейчас грустит один маленький Дэймос. Надеюсь вы довольны :'(

    Повторяю ещё раз, проще всё сделать через OnPlayerStreamIn/OnPlayerStreamOut. Вот как всё будет выглядеть:
    PHP код:
    new Text3D:HUD_3D[MAX_PLAYERS][MAX_PLAYERS] =
    {
        {
    Text3D:-1Text3D:-1, ...},
        {
    Text3D:-1Text3D:-1, ...},
        ...
    };

    public 
    OnPlayerStreamIn(playeridforplayerid)
    {
        if(
    pInfo[forplayerid][pAdmin])
        {
            
    HUD_3D[forplayerid][playerid] = CreateDynamic3DTextLabel("•", -10.00.00.0525playeridforplayerid);
        }
        return 
    1;
    }

    public 
    OnPlayerStreamOut(playeridforplayerid)
    {
        if(
    pInfo[forplayerid][pAdmin])
        {
            
    DestroyDynamic3DTextLabel(HUD_3D[forplayerid][playerid]);
            
    HUD_3D[forplayerid][playerid] = Text3D:-1;
        }
        return 
    1;

    Обновление делаешь через секундный таймер (можно для пущего эффекта создать итератор, в котором будут хранится ID всех админов + итератор, в котором будет хранится инфа о том, для кого был создан 3d текст. И уже этими итераторами будешь обновлять. Сам над оптимизацией подумай, крч) и через какой-нибудь OnPlayerWeaponShot.
    Поясняю зачем: урон, который игрок получил не от другого игрока, не особо важен для админов, нежели урон, который игрок получил от игроков. Если обновлять в секундном таймере весь урон - урон от попаданий будет отображаться с запозданием.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  7. Пользователь сказал cпасибо:
    m1n1vv (20.09.2016)
  8. #17
    Аватар для m1n1vv
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±
    Спасибо
    Последний раз редактировалось m1n1vv; 20.09.2016 в 00:10.

 

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

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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