Русское сообщество по скриптингу

Ed_alloc: No Free Edicts

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Ed_alloc: No Free Edicts

Сообщение gaha » 24 окт 2010, 17:22

Возникает такая ошибка за 2-10 минут до конца карты, проблема возникла после установки мода, исходник прикреплю, требуется исправить. Судя по "гуглу" (какой-то плагин не удаляет энтити и они заканчиваются)
Так же пробывал добавить в строку запуска -num_edicts, но тогда за те же 2-10 минут до конца карты выкидывает игроков с ошибкой Host_Error: CL_EntityNum: 1222 is an invalid number, cl.max_edicts is 1215

Пс: за деньги конечно.
Аватара пользователя
gaha
 
Сообщения: 13
Зарегистрирован: 21 авг 2010, 16:38
Благодарил (а): 1 раз.
Поблагодарили: 1 раз.

Re: Ed_alloc: No Free Edicts

Сообщение gaha » 25 окт 2010, 16:34

тут наткнулся на

Единственное, что вы можете сделать, это увеличение maxplayers. Each additional slot will increase maxEntities by 15. Каждый дополнительный слот увеличится maxEntities на 15.


Когда сервер почти пустой (ночью) то сервер стабилен, а когда подзабивается процентов на 60 то начинаются траблы, вот есть мысль что в плагине как то эти вещи заданы жестко.
Аватара пользователя
gaha
 
Сообщения: 13
Зарегистрирован: 21 авг 2010, 16:38
Благодарил (а): 1 раз.
Поблагодарили: 1 раз.

Re: Ed_alloc: No Free Edicts

Сообщение gaha » 30 окт 2010, 14:04

Скриптеров что ли нету? :zzz:
Аватара пользователя
gaha
 
Сообщения: 13
Зарегистрирован: 21 авг 2010, 16:38
Благодарил (а): 1 раз.
Поблагодарили: 1 раз.

Re: Ed_alloc: No Free Edicts

Сообщение DJ_WEST » 01 ноя 2010, 11:07

Надо искать в коде все entity_remove, к примеру, в начале раунда там есть:
[pawn]        new ent = -1

        
while((ent find_ent_by_class(ent"weaponbox")) > 0)
        {
            
task_remove(ent)
            
entity_remove(ent)
        }

        
ent = -1

        
while((ent find_ent_by_class(entITEM_CLASSNAME)) > 0)
        {
            
task_remove(ent)
            
entity_remove(ent)
        } 
[/pawn]
То есть идет удаление всех объектов weaponbox и ITEM_CLASSNAME (ctf_item). То есть надо добавить отладку (вывод информации в консоль или чат), с id объектами и тем самым убедиться, что удаление срабатывает.
Не пишите мне в ЛС: если вам нужна помощь на бесплатной основе. Любые вопросы на форум.
Аватара пользователя
DJ_WEST
Администратор
 
Сообщения: 3641
Зарегистрирован: 22 авг 2009, 00:38
Благодарил (а): 48 раз.
Поблагодарили: 2209 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Left 4 Dead
Left 4 Dead 2

Re: Ed_alloc: No Free Edicts

Сообщение gaha » 22 ноя 2010, 22:07

Из наблюдений, именно при появлении игрока растут ентити, тобишь убили -1, появился +2.

Пс:
Выкинул оружие, подождал когда исчезнет, кильнул себя -1, после респа +3 ентити.
Не выкидывал оружие, кильнул себя -1, при появлении +3 ентити, затем исчезает выкинутое оружие при смерти -1 ентити (в итоге +2 ентити)
Аватара пользователя
gaha
 
Сообщения: 13
Зарегистрирован: 21 авг 2010, 16:38
Благодарил (а): 1 раз.
Поблагодарили: 1 раз.

Re: Ed_alloc: No Free Edicts

Сообщение DJ_WEST » 23 ноя 2010, 12:32

Функция, которая вызывается при появлении игрока:
[pawn]public player_spawn(id[/pawn]
В ней вызывается другая:
[pawn]task_set(0.1"player_spawnEquipament"id TASK_EQUIPAMENT[/pawn]
В основном выдача оружия (создание новых объектов) их этой функции здесь:
[pawn]            if(iWeapon)
            {
                
give_item(idg_szWeaponEntity[iWeapon])
                
cs_set_user_bpammo(idiWeapong_iBPAmmo[iWeapon])
            } 
[/pawn]
Добавь сюда debug и посмотри сколько раз срабатывает цикл, какое значение в iWeapon в этот каждый раз.
Не пишите мне в ЛС: если вам нужна помощь на бесплатной основе. Любые вопросы на форум.
Аватара пользователя
DJ_WEST
Администратор
 
Сообщения: 3641
Зарегистрирован: 22 авг 2009, 00:38
Благодарил (а): 48 раз.
Поблагодарили: 2209 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Left 4 Dead
Left 4 Dead 2

Re: Ed_alloc: No Free Edicts

Сообщение gaha » 23 ноя 2010, 19:44

Еще бы знать как туда запихнуть и что, нагуглил только такой пример

if(get_cvar_num("amx_dice_debug") == 2)
log_amx("-------- DEBUG (Advanced Roll the Dice): round_begin --------");
Аватара пользователя
gaha
 
Сообщения: 13
Зарегистрирован: 21 авг 2010, 16:38
Благодарил (а): 1 раз.
Поблагодарили: 1 раз.

Re: Ed_alloc: No Free Edicts

Сообщение DJ_WEST » 24 ноя 2010, 11:09

Еще бы знать как туда запихнуть и что, нагуглил только такой пример

[pawn]            if(iWeapon)
            {
                
give_item(idg_szWeaponEntity[iWeapon])
                
log_amx("player_spawnEquipament (id: %d, iWeapon: %d)"idiWeapon)
                
cs_set_user_bpammo(idiWeapong_iBPAmmo[iWeapon])
            }  
[/pawn]
Не пишите мне в ЛС: если вам нужна помощь на бесплатной основе. Любые вопросы на форум.
Аватара пользователя
DJ_WEST
Администратор
 
Сообщения: 3641
Зарегистрирован: 22 авг 2009, 00:38
Благодарил (а): 48 раз.
Поблагодарили: 2209 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Left 4 Dead
Left 4 Dead 2

Re: Ed_alloc: No Free Edicts

Сообщение gaha » 24 ноя 2010, 18:01

в логи пишет пока что:
L 11/24/2010 - 20:49:58: [jctf.amxx] player_spawnEquipament (id: 1, iWeapon: 21)
L 11/24/2010 - 20:50:32: [jctf.amxx] player_spawnEquipament (id: 4, iWeapon: 21)
L 11/24/2010 - 20:50:57: [jctf.amxx] player_spawnEquipament (id: 7, iWeapon: 17)
L 11/24/2010 - 20:50:57: [jctf.amxx] player_spawnEquipament (id: 7, iWeapon: 21)
L 11/24/2010 - 20:50:59: [jctf.amxx] player_spawnEquipament (id: 5, iWeapon: 17)
L 11/24/2010 - 20:50:59: [jctf.amxx] player_spawnEquipament (id: 5, iWeapon: 21)
L 11/24/2010 - 20:51:07: [jctf.amxx] player_spawnEquipament (id: 4, iWeapon: 17)
L 11/24/2010 - 20:51:07: [jctf.amxx] player_spawnEquipament (id: 4, iWeapon: 21)
L 11/24/2010 - 20:51:10: [jctf.amxx] player_spawnEquipament (id: 9, iWeapon: 17)
L 11/24/2010 - 20:51:10: [jctf.amxx] player_spawnEquipament (id: 9, iWeapon: 21)
L 11/24/2010 - 20:51:17: [jctf.amxx] player_spawnEquipament (id: 7, iWeapon: 17)
L 11/24/2010 - 20:51:17: [jctf.amxx] player_spawnEquipament (id: 7, iWeapon: 21)
L 11/24/2010 - 20:51:26: [jctf.amxx] player_spawnEquipament (id: 5, iWeapon: 17)
L 11/24/2010 - 20:51:26: [jctf.amxx] player_spawnEquipament (id: 5, iWeapon: 21)
L 11/24/2010 - 20:51:27: [jctf.amxx] player_spawnEquipament (id: 2, iWeapon: 17)
L 11/24/2010 - 20:51:27: [jctf.amxx] player_spawnEquipament (id: 2, iWeapon: 21)
Аватара пользователя
gaha
 
Сообщения: 13
Зарегистрирован: 21 авг 2010, 16:38
Благодарил (а): 1 раз.
Поблагодарили: 1 раз.

Re: Ed_alloc: No Free Edicts

Сообщение DJ_WEST » 26 ноя 2010, 12:24

Как видно при спавне игрока ему выдается только разных 2 оружия.
Выкинул оружие, подождал когда исчезнет, кильнул себя -1, после респа +3 ентити.
Не выкидывал оружие, кильнул себя -1, при появлении +3 ентити, затем исчезает выкинутое оружие при смерти -1 ентити (в итоге +2 ентити)

Откуда такие подсчеты?
Не пишите мне в ЛС: если вам нужна помощь на бесплатной основе. Любые вопросы на форум.
Аватара пользователя
DJ_WEST
Администратор
 
Сообщения: 3641
Зарегистрирован: 22 авг 2009, 00:38
Благодарил (а): 48 раз.
Поблагодарили: 2209 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Left 4 Dead
Left 4 Dead 2

След.

Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 13