Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 4 из 4

Тема: Участники

  1. #1
    Аватар для Skyline
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.01.2014
    Адрес
    Россия
    Сообщений
    304
    Репутация:
    2 ±

    Участники

    Выводит только одного человека который на зоне, остальных не показывают, подскажите в чем ошибка?

    PHP код:
    foreach(Playeri)
    {
        if(!
    IsPlayerConnected(i)) continue;
        if(
    InZone[i] == false) continue;
        new 
    string[MAX_PLAYER_NAME*20],
            
    players;

        
    players++;
        
    format(stringsizeof string"{FFDEAD}%s[%d]\n",pInfo[i][pName], i);
        
    ShowPlayerDialog(playeriddDm_PlayersDIALOG_STYLE_MSGBOX, !"{FFFFFF}Участники"string, !"Обновить", !"Назад");


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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    По моему такую ошибку с таким же кодом кто то кидал сюда и её решали,
    я даже функцию давал как правильно пинать игрока с зоны...
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    PHP код:
    new string[MAX_PLAYER_NAME*20],
        
    players;
    foreach(
    Playeri)
    {
        if(
    InZone[i] == false) continue;

        
    players++;
        
    format(stringsizeof string"%s{FFDEAD}%s[%d]\n"stringpInfo[i][pName], i);
    }  
    ShowPlayerDialog(playeriddDm_PlayersDIALOG_STYLE_MSGBOX, !"{FFFFFF}Участники"string, !"Обновить", !"Назад"); 
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  4. Пользователь сказал cпасибо:
    Skyline (27.04.2017)
  5. #4
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Лучше создать отдельный итератор, который будет содержать идентификаторы игроков. Перебор игроков получится чуть быстрее, поскольку в цикле не будет проверяться нахождение игрока на сервере и на зоне (урок). Кстати, переменную players можно удалить, поскольку вместо неё можно использовать Iter_Count.

    Ещё, я думаю, лучше инициализировать массив и переменные вне цикла, ибо при каждой итерации будет создаваться новый массив, а после завершения итерации - освобождаться. Очевидно, что выполнение таких действий замедлит работу кода.

    Пример:
    PHP код:
    // В глобальной области видимости
    new Iteartor:ZoneIter[MAX_PLAYERS /* или любое другое значение, например, максимальное количество игроков на зоне */];

    // В функции
    new string[MAX_PLAYER_NAME 20];

    foreach(new 
    ZoneIter) {
        
    format(stringsizeof string"%s{FFDEAD}%s[%d]\n"stringpInfo[i][pName], i);
    }

    ShowPlayerDialog(playeriddDm_PlayersDIALOG_STYLE_MSGBOX, !"{FFFFFF}Участники"string, !"Обновить", !"Назад"); 
    Последний раз редактировалось VVWVV; 26.04.2017 в 17:02.

  6. Пользователь сказал cпасибо:
    Skyline (27.04.2017)
 

 

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

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

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

Ваши права

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