Проблема с удалением Entity

Тема в разделе "Программирование / Скриптинг", создана пользователем Vit_ amin, 5 сен 2016.

  1. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.049
    Симпатии:
    344
    Всем привет.
    Имеется энтити point_template
    Проблема в том, что она либо не удаляется/либо при удалении сервер падает
    Как пробывал:
    Через цикл -> FindEntityByClassname - данная энтити не удаляется через данный метод (не знаю почему)
    Через событие OnEntityCreated - энтити удаляются, но сервер падает.
    Просто через for, и getEntityByClassname - данная энтити не удаляется через данный метод (не знаю почему)

    Может я чего мудрю, но почему то не получается удаление ...
     
  2. SlipknotRU

    SlipknotRU Read Only

    Сообщения:
    35
    Симпатии:
    4
    int gavno = -1;
    while ((gavno = FindEntityByClassname(gavno, "point_template")) != -1)
    AcceptEntityInput(gavno, "kill"); (можно RemoveEdict)
    break;
    если не удаляется, то просто отключить point_template.
     
    Последнее редактирование: 5 сен 2016
  3. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.049
    Симпатии:
    344
    @SlipknotRU, У point_template отсутствует Input Disable.
    Я проделывал вариант выше, результат в сообщени #1
     
  4. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.978
    @Vit_ amin,
    Point template — CSM Wiki

    При каких действиях сервер падает?
    При каких действиях не удаляется и с чего такой вывод?
     
  5. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.049
    Симпатии:
    344
    Сервер падает, если удалить Entity через событие OnEntityCreated. В остальных случаях, Entity просто не удаляется, даже в цикле не видятся эта Entity (событие видит Entity и удаляет его, но при удалении сервер падает)
    --- Добавлено позже ---
    Дебаг сообщения делал, вот откуда вывод.
     
  6. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.978
    создай тут либо таймер на 0.1 сек
    либо SDKHooks_SpawnPost
     
    Vit_ amin нравится это.
  7. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.049
    Симпатии:
    344
    Хорошо, попробую
     
  8. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.978
    как именно?
     
  9. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.049
    Симпатии:
    344
    В цикле выводил в консоль индекс, но так и не увидел сообщения об Entity
     
  10. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.978
    @Vit_ amin, ну так так и пиши что не нашло твоей сущности,а не "не удаляет".
    Приложи свои проверочные коды
     
  11. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.049
    Симпатии:
    344
    В событии round_start

    while ((FindEntityByClassname(iIndex, "point_template") > 0)
    {
    AcceptEntityInput(iIndex, "kill");
    }
     
  12. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.978
    @Vit_ amin,
    1. Уверен что point_template вообще существуют?
    2. В round_start point_template мог быть еще не создан.
    3. Выводил iIndex ? Нашло хоть 1 ?
     
  13. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.049
    Симпатии:
    344
    1. Да уверен
    2. Возможно, проверю
    3. Нет, ни одного не нашел
     
  14. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.978
    @Vit_ amin, в OnEntityCreated выводи в лог индексы сущностей с именем point_template.
    Затем в OnEntityDestroyed так же выводи индексы. Так ты увидишь какая сущность была разрушена.
    А затем в цикле по сущностям выводи их классы и индексы.
     
  15. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.049
    Симпатии:
    344
    Ну хорошо, попробую
    --- Добавлено позже ---
    Проблему решил иным способом, вместо point_template использовал npc_template_maker
     
    Последнее редактирование: 5 сен 2016