1. Не должны (вопрос некорректен).
2. Да, и не только с нулевым идентификатором.
3. Да. Теперь попытаюсь объяснить.
При создании задачи "конфликта", как такового, не будет, какой бы идентификатор ни был указан. Т.е. идентификатор не обязан быть уникальным. Идентификатор - это своего рода "метка", не более того. Таким образом, можно создавать несколько задач с одинаковым идентификатором. Пример:
Code |
// ... set_task(tasktime1, "mytask", index) set_task(tasktime2, "mytask", index) set_task(tasktime3, "mytask", index) // ... public mytask() { server_print("Hello!") } |
В данном примере index может быть любым целым числом. Следовательно, также будет "безопасно" производить следующее:
Code |
set_task(tasktime1, "task_set_health", player_index) set_task(tasktime2, "task_set_money", player_index) |
Когда не требуется идентифицировать задачу, идентификатор обычно не указывают вовсе (он будет равен нулю).