Показать сообщение отдельно
Старый 24.01.2006, 09:31   #4
AsmLover
Оператор ЭВМ
 
Регистрация: 12.01.2006
Сообщений: 21
Написано 0 полезных сообщений
(для 0 пользователей)
To AKIMA

Для типа TNPC полями являются другие типы. А ты их не создаешь и сразу присваивешь какие-то значения. Попытка обращения к несуществуещему объекту, естественно, дает ошибку.
Инициализующая функция должна быть такой:
 
Function NewNPC.Tnpc(nName,hHead,hTors#,hBelly#,hLegs#,uMagic1,uStr,uWeap)
 
 *n.tNPC = New tNPC
 * *n\health.TBody * = New TBody 
 * *n\udar.TUdar * * = New TUdar

 * * *n\health\Head *= hHead
 * * *n\health\Belly = hbelly#
 * * *n\health\Legs *= hlegs#
 * * *n\health\Tors *= htors#
 *Return n

End Function
Теперь все будет работать. Но я бы реализовал это по другому, без связанных типов, через массив:

Const HEAD * *= 1
Const LEGS * *= 2
Const BELLY * = 3
Const TORSO * = 4

Type TNPC
 * *Field health# [4]
 * *Field name
End Type

n.TNPC = New TNPC

n \ health [ HEAD ] = 25
(Offline)
 
Ответить с цитированием