Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 9 из 9
  1. #1
    Аватар для Vasya_Pupkin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.02.2016
    Сообщений
    77
    Репутация:
    0 ±

    Скрытие тд

    Всем привет.
    вот код в нем когда ты в ходишь в зеленую зону появляется надпись а когда покидаешь она не удаляется как сделать чтобы удалялась
    Код HTML:
    if(GetPlayerWeapon(playerid) != 0)
    {
        for(new x; x<MAX_GREEN_ZONE; x++)
        {
            if(green_zone_info[x][gz_distance] == 0.0) continue;
            if(GetPlayerVirtualWorld(playerid) != green_zone_info[x][gz_virtualworld] || !PlayerToPoint(50.0,playerid,green_zone_info[x][gz_pos_x],green_zone_info[x][gz_pos_y],green_zone_info[x][gz_pos_z])) continue;
            TextDrawShowForPlayer(playerid, greenzone);
            SetPlayerArmedWeapon(playerid, 0);
            break;
        }
    }
    строчка удаления
    Код:
    TextDrawHideForPlayer(playerid, greenzone);
    Последний раз редактировалось Vasya_Pupkin; 01.08.2016 в 21:02.

  2. #2
    Аватар для $continue$
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,466
    Репутация:
    265 ±
    Как работает распознавание зеленой зоны? Через динамические зоны?

  3. #3
    Аватар для Vasya_Pupkin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.02.2016
    Сообщений
    77
    Репутация:
    0 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    Как работает распознавание зеленой зоны? Через динамические зоны?
    да вот
    Код:
    !PlayerToPoint(50.0,playerid,green_zone_info[x][gz_pos_x],green_zone_info[x][gz_pos_y],green_zone_info[x][gz_pos_z])) continue;

  4. #4
    Аватар для _lizard
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.02.2016
    Адрес
    Геленджик
    Сообщений
    193
    Репутация:
    26 ±
    Вот вам вариант по-лучше:

    PHP код:
    new green_zone[MAX_GREEN_ZONE]; // Ко всем глобальным переменным
    for(new 0MAX_GREEN_ZONEx++) green_zone[x] = CreateDynamicSphere(green_zone_info[x][gz_pos_x],green_zone_info[x][gz_pos_y],green_zone_info[x][gz_pos_z], 50.0);

    public 
    OnPlayerEnterDynamicArea(playeridSTREAMER_TAG_AREA areaid)
    {
        if(
    STREAMER_TAG_AREA areaid green_zone[MAX_GREEN_ZONE])
        {
            
    TextDrawShowForPlayer(playeridgreenzone);
            
    SetPlayerArmedWeapon(playerid0);
        }
        return 
    1;
    }
    public 
    OnPlayerLeaveDynamicArea(playeridSTREAMER_TAG_AREA areaid)
    {
        if(
    STREAMER_TAG_AREA areaid green_zone[MAX_GREEN_ZONE]) TextDrawHideForPlayer(playeridgreenzone);
        return 
    1;

    Последний раз редактировалось _lizard; 01.08.2016 в 21:22.

  5. Пользователь сказал cпасибо:
    Vasya_Pupkin (02.08.2016)
  6. #5
    Аватар для Vasya_Pupkin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.02.2016
    Сообщений
    77
    Репутация:
    0 ±
    Код:
    error 032: array index out of bounds (variable "green_zone")
    
    if(0 < STREAMER_TAG_AREA areaid < green_zone[MAX_GREEN_ZONE]) TextDrawHideForPlayer(playerid, greenzone);
    Код:
    error 032: array index out of bounds (variable "green_zone")
    
    if(0 < STREAMER_TAG_AREA areaid < green_zone[MAX_GREEN_ZONE])
    ошибки

    Код:
    в #define MAX_GREEN_ZONE 100
    стоит
    Последний раз редактировалось Vasya_Pupkin; 01.08.2016 в 21:37.

  7. #6
    Аватар для Vasya_Pupkin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.02.2016
    Сообщений
    77
    Репутация:
    0 ±
    Вот добавил в секундный таймер (т.к в OnGameModeInit) не работало, а в секундном таймере заработало
    Код HTML:
    //==========================================================================
    for(new x = 0; x < MAX_GREEN_ZONE; x++) green_zone[x] = CreateDynamicSphere(green_zone_info[x][gz_pos_x],green_zone_info[x][gz_pos_y],green_zone_info[x][gz_pos_z], green_zone_info[x][gz_distance]);
    //==========================================================================
    В OnPlayerLeaveDynamicArea

    Код HTML:
    //==========================================================================
    for(new x = 0; x < MAX_GREEN_ZONE; x++)
    {
        if(0 < STREAMER_TAG_AREA areaid < green_zone[x]) TextDrawHideForPlayer(playerid, greenzone);
    }
    //==========================================================================
    В OnPlayerEnterDynamicArea
    Код HTML:
    //==========================================================================
    for(new x = 0; x < MAX_GREEN_ZONE; x++)
    {
        if(0 < STREAMER_TAG_AREA areaid < green_zone[x])
        {
            TextDrawShowForPlayer(playerid, greenzone);
            SetPlayerArmedWeapon(playerid, 0);
        }
    }
    //==========================================================================
    и потом

    Появляется это и отсоединяет меня от сервера
    Код HTML:
    [warning] client exceeded 'ackslimit' *.*.*.*:**** (7641) Limit: 3000/sec

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

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

  9. Пользователь сказал cпасибо:
    Vasya_Pupkin (02.08.2016)
  10. #8
    Аватар для Vasya_Pupkin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.02.2016
    Сообщений
    77
    Репутация:
    0 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    Ты же таймер без повтора сделал я надеюсь?
    С повтором, уже переделал ) все работает спс))

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

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

 

 

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

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

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

Ваши права

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