Живучие боты
Бот, умирающий от одного залпа, - это, кончено весело, но не интересно. Добавим ботам шкалу жизни.
Итак, переходим в объявление типа и правим:
Type bot
Field entity
Field time
Field Survivability
End Type
В создании бота припишем:
Теперь надо растянуть смерть бота, а значит переходим в ф-цию update_shot()
ElseIf bot_h<>0
FreeEntity a\entity
Delete a
bhandle=EntityName(bot_h)
bc.bot=Object.bot(bhandle)
bc\Survivability=bc\Survivability-16
If bc\Survivability<=0
Delete bc
FreeEntity bot_h
create_bot(EntityX(user)+Rnd(-100,100),2,EntityZ(user)+Rnd(-100,100))
EndIf
EndIf
Если есть столкновение пули с ботом, то удаляем пулю и её информационный элемент, получаем хендл элемента типа для бота, получаем доступ к элементу типа, вычитаем из значения живучести бота число. Если живучесть бота меньше или равна 0, то удаляем информацию о боте, удаляем тело бота, создаём нового бота.
Теперь равновесие сместилось в пользу ботов - за это понизим им скорость передвижения:
Function update_bot()
v#=0.01