Помогите, ребят, разобраться в топе вопроса)
Смысл такой, есть 3 фунции - HeroAction()-проверяет, 2 фунции вызываются из под неё.
Global heroLeftHandFree%,heroRightHandFree%
Global heroLeftHandEntity,heroRightHandEntity
;===================================================
Function HeroAction()
;действие игрока
If heroActionEnable=True Then
ObjectPicked=xCameraPick(camera,graphicsWC,graphicsHC)
If ObjectPicked<>0 Then
ObjectPickedName=xEntityName(ObjectPicked)
If xEntityDistance(ObjectPicked,camera)>heroActionDistance Then ObjectPicked=0 : objectPickedName=""
Else
ObjectPicked=0 : objectPickedName=""
EndIf
;если пикнул объект
If ObjectPicked<>0 Then
If mouseHited1 Or mouseHited2 Then
;если трава
If mousehited1 Then mb=1 Else mb=2
If objectPickedName="grass" Then TakeGrass(mb)
EndIf
Else
;если не пикнул объект
If mouseHited1 Or mouseHited2 Then
If mousehited1 Then mb=1 Else mb=2
DropItem(mb)
EndIf
EndIf
EndIf
End Function
;===================================================
Function TakeGrass(mb)
For grass.grass=Each grass
If grass\entity=objectPicked Then
If mb=1 Then
If heroLeftHandFree=False Then
messageCenterText="Левая рука занята" : messageCenterAlpha=700
Else
grid(xEntityX(grass\entity),xEntityZ(grass\entity),1)=0
heroLeftHandEntity=xCopyEntity(grass\entity) : xHideEntity(heroLeftHandEntity)
heroLeftHandFree=False
leftHandItemTex=grassItemTex
xFreeEntity grass\entity : Delete grass.grass
EndIf
EndIf
EndIf
Next
End Function
;===================================================
Function DropItem(mb)
If mb=1 And heroLeftHandEntity<>0 Then
xPositionEntity heroLeftHandEntity,xEntityX(camera,1)+Sin(xEntityYaw(camera)),xEntityY(camera,1),xEntityZ(camera,1)+Cos(xEntityYaw(camera))
xShowEntity heroLeftHandEntity
ResourceCreate(heroLeftHandEntity,resourceClassGrass)
heroLeftHandFree=True
leftHandItemTex=0
xFreeEntity heroLeftHandEntity
EndIf
End Function
;===================================================
Не пойму почему этот вариант не работает. Ошбка вознивает в фукции ItemDrop() иногда сразу иногда нет
И проблема больше из-за того что я конкретно ошибку не вижу. Выдает такую фигню. Помогите плиз, может debugger какойто нормальный есть?