Gnome Hunt 3

Поиск гнома игроками

  1. Reiko1231

    Reiko1231 AlexTheRegent

    Сообщения:
    304
    Симпатии:
    706
    Пользователь Reiko1231 разместил новый ресурс:

    Gnome Hunt - Поиск гнома игроками

    Узнать больше об этом ресурсе...
     
    September, Tonki_Ton, pracc и ещё 1-му нравится это.
  2. ZeaZon

    ZeaZon

    Сообщения:
    74
    Симпатии:
    3
    Ну грех не опробовать! Чуть позже отпишусь.
    --- Добавлено позже ---
    Забавный плагин. Мне на MG сервере однозначно кстати. Только немного запарно на каждой карте их расставлять, когда их больше 160...
     
    Последнее редактирование: 18 июн 2017
    Reiko1231 нравится это.
  3. Tonki_Ton

    Tonki_Ton Script kiddie

    Сообщения:
    429
    Симпатии:
    79
    Отличная работа. Может быть команду в тхт карты вынести ? что бы для разных карт разные назначать можно было.
     
    Reiko1231 и Samoletik1337 нравится это.
  4. September

    September

    Сообщения:
    1.641
    Симпатии:
    292
    Код:
    L 06/18/2017 - 16:45:36: [SM] Exception reported: Invalid timer handle b24a0b2a (error 1)
    L 06/18/2017 - 16:45:36: [SM] Blaming: gnome_hunt.smx
    L 06/18/2017 - 16:45:36: [SM] Call stack trace:
    L 06/18/2017 - 16:45:36: [SM]   [0] KillTimer
    L 06/18/2017 - 16:45:36: [SM]   [1] Line 476, gnome_hunt.sp::Ev_RoundStart
    L 06/18/2017 - 16:46:01: [SM] Exception reported: Invalid timer handle b24a0b2a (error 1)
    L 06/18/2017 - 16:46:01: [SM] Blaming: gnome_hunt.smx
    L 06/18/2017 - 16:46:01: [SM] Call stack trace:
    L 06/18/2017 - 16:46:01: [SM]   [0] KillTimer
    L 06/18/2017 - 16:46:01: [SM]   [1] Line 476, gnome_hunt.sp::Ev_RoundStart
    L 06/18/2017 - 16:48:45: [SM] Exception reported: Invalid timer handle b24a0b2a (error 1)
    L 06/18/2017 - 16:48:45: [SM] Blaming: gnome_hunt.smx
    L 06/18/2017 - 16:48:45: [SM] Call stack trace:
    L 06/18/2017 - 16:48:45: [SM]   [0] KillTimer
    L 06/18/2017 - 16:48:45: [SM]   [1] Line 476, gnome_hunt.sp::Ev_RoundStart
    L 06/18/2017 - 16:50:52: [SM] Exception reported: Invalid timer handle b24a0b2a (error 1)
    L 06/18/2017 - 16:50:52: [SM] Blaming: gnome_hunt.smx
    L 06/18/2017 - 16:50:52: [SM] Call stack trace:
    L 06/18/2017 - 16:50:52: [SM]   [0] KillTimer
    L 06/18/2017 - 16:50:52: [SM]   [1] Line 476, gnome_hunt.sp::Ev_RoundStart
    L 06/18/2017 - 16:53:17: [SM] Exception reported: Invalid timer handle 6f9b0c77 (error 3)
    L 06/18/2017 - 16:53:17: [SM] Blaming: gnome_hunt.smx
    L 06/18/2017 - 16:53:17: [SM] Call stack trace:
     
    Reiko1231 нравится это.
  5. Ushakov

    Ushakov Read Only

    Сообщения:
    4
    Симпатии:
    0
    Тоже самое,работает,но сыпит ошибками..
     
  6. leon97leon

    leon97leon

    Сообщения:
    10
    Симпатии:
    1
    Тоже самое, но гномы не появляются даже при шансе 100%.
     
    Reiko1231 нравится это.
  7. Tonki_Ton

    Tonki_Ton Script kiddie

    Сообщения:
    429
    Симпатии:
    79
    Ставил в одном месте, появлялся.

    Я так понял это потому что гном не стоит, т.к. вроде на тех картах где стоит не сыпет.Не уверен.
     
    Reiko1231 нравится это.
  8. Reiko1231

    Reiko1231 AlexTheRegent

    Сообщения:
    304
    Симпатии:
    706
    Попытка исправить №1.
    @leon97leon, если эта ошибка в логах, то гном не появится, т.к. не отрабатывает код его создания из-за ошибки.
     

    Вложения:

    • gnome_hunt2.zip
      Размер файла:
      430,5 КБ
      Просмотров:
      3
  9. aksissound

    aksissound

    Сообщения:
    39
    Симпатии:
    12
    работает:aikido:
     
    Reiko1231 нравится это.
  10. Reiko1231

    Reiko1231 AlexTheRegent

    Сообщения:
    304
    Симпатии:
    706
  11. R1KO

    R1KO Рукоблуд с машинными кодами Супермодератор

    Сообщения:
    6.919
    Симпатии:
    4.012
    @Reiko1231,
    PHP:
    void AddFilesToDownloadTable(const char[] path)
    {
        
    Handle file OpenFile(path"r");
        if ( 
    file ) {
            
    char line[PMP];
            while ( !
    IsEndOfFile(file) && ReadFileLine(fileSZF(line)) )
            {
                
    TrimString(line);
                
    AddFileToDownloadsTable(line);
            }
            
    CloseHandle(file);
        }
    }
    Уже есть отдельный методмап для работы с файлами. И может стоит проверять строку на пустоту?

    PHP:
    char map_name[64];
        
    GetCurrentMap(SZF(map_name));
    На картах из воркшопа не будет работать. Как вариант добавить:
    PHP:
        
        
    if (!strncmp(map_name"workshop"8))
        {
            
    strcopy(map_namesizeof(map_name), map_name[19]);
        }
    PHP:
    if ( StrEqual(item"menu_action_origin") ) {
        
    // ...
    }
    else if ( 
    StrEqual(item"menu_action_angles") ) {
        
    // ...
    }
    else if ( 
    StrEqual(item"menu_action_save") ) {
        
    // ...
    }
    Есть же строгая закономерность. Почему бы не проверять только определенные символы строки?

    PHP:
        SetEntityMoveType(entityMOVETYPE_NONE);
    Почему бы не перенести в SpawnPropPhysicsByOrigin ?

    PHP:
    public Action Timer_SpawnGnome(Handle timer)
    {
        
    int length g_arrayOrigin.Length;
        if ( 
    length == ) {
            return 
    Plugin_Handled;
        }
        
        
    int gnomeNumber GetRandomInt(0length 1);
        
        
    float origin[3], angles[3];
        
    g_arrayOrigin.GetArray(gnomeNumberorigin);
        
    g_arrayAngles.GetArray(gnomeNumberangles);
        
        
    int entity SpawnPropPhysicsByOrigin(g_modeloriginangles);
        
    SetEntityMoveType(entityMOVETYPE_NONE);
        
    SDKHook(entitySDKHook_OnTakeDamageOnTakeDamage);
        
    g_gnome EntIndexToEntRef(entity);
        
        if ( 
    g_lifetimeMax 0.0 ) {
            
    g_spawnTimer CreateTimer(GetRandomFloat(g_lifetimeMing_lifetimeMax), Timer_AnnounceDespawn_TIMER_FLAG_NO_MAPCHANGE);
        }
        else {
            
    g_spawnTimer INVALID_HANDLE;
        }
        
        if ( 
    g_onSpawnMessage ) {
            
    PrintToChatAll("%t""gnome_spawned");
        }
        return 
    Plugin_Handled;
    }
    Если условие
    PHP:
     int length g_arrayOrigin.Length;
        if ( 
    length == ) {
            return 
    Plugin_Handled;
        }
    выполнится и произойдет return то handle g_spawnTimer сохранит значение и снова может быть ошибка с таймером. Может стоит сделать
    PHP:
    g_spawnTimer INVALID_HANDLE;
    сразу, еще до проверок.
    Тогда из
    PHP:
    if ( g_lifetimeMax 0.0 ) {
            
    g_spawnTimer CreateTimer(GetRandomFloat(g_lifetimeMing_lifetimeMax), Timer_AnnounceDespawn_TIMER_FLAG_NO_MAPCHANGE);
        }
        else {
            
    g_spawnTimer INVALID_HANDLE;
        }
    можно удалить else
     
    666FoX666, Reiko1231 и Fox1qqq нравится это.
  12. Reiko1231

    Reiko1231 AlexTheRegent

    Сообщения:
    304
    Симпатии:
    706
    Пользователь Reiko1231 обновил ресурс Gnome Hunt новой записью:

    Небольшие фиксы

    Узнать больше об этом обновлении...

    @R1KO, AddFilesToDownloadTable, SpawnPropPhysicsByOrigin брал из своих заранее написанных функций. AddFilesToDownloadTable переделал на File, а SetMoveType() не хочу вносить в функцию SpawnPropPhysicsByOrigin(), т.к. она отвечает только за создание сущности по координатам.
    С воркшопом должно же по сути работать, одна и та же функция отвечает за получение названия карты, значит они будут совпадать.
    С таймером ошибку поправил, её как раз проглядел.
    Закономерность не хочу использовать, пускай для читабельности так будет.
    А таймер сбрасывать в начале не хочу, развилка CreateTimer() <-> INVALID_HANDLE мне больше нравится (да и как раз "оптимизация").
    Спасибо за замечания.
     
    R1KO и Fox1qqq нравится это.
  13. R1KO

    R1KO Рукоблуд с машинными кодами Супермодератор

    Сообщения:
    6.919
    Симпатии:
    4.012
    @Reiko1231, просто для карт из воркшопа имя будет wokshop/цифры/имя_карты
     
  14. over_trax

    over_trax Read Only

    Сообщения:
    262
    Симпатии:
    30
    можешь изменить модели гномов на дефолтную модель в ксго?
    models/props/crates/weapon_crate_a.mdl
     
  15. Qweecky

    Qweecky

    Сообщения:
    18
    Симпатии:
    0
    А можно как то сделать что бы спавнился не один гном в раунде а несколько. А то выставляешь их кучу а спавнится только один на всей карте - как то не выгодно )