Добро пожаловать на 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,487
    Репутация:
    276 ±
    Как работает распознавание зеленой зоны? Через динамические зоны?
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  3. Пользователь сказал cпасибо:
    Vasya_Pupkin (02.08.2016)
  4. #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;

  5. #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.

  6. Пользователь сказал cпасибо:
    Vasya_Pupkin (02.08.2016)
  7. #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.

  8. #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

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

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

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

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

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

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

 

 

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

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

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

Ваши права

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