forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Ошибка (http://forum.boolean.name/showthread.php?t=19909)

softcrasoft 14.07.2015 14:05

Ошибка
 
Привет всем.
Ребят возникает ошибка Expecting variable assignment.
Вот код:
Type Entity
Field hp
Field mesh
Field name$
End Type
Graphics3D 1366,768,16,2
SetBuffer BackBuffer()
Const G#=1
Const typeplayer=1
Const typeterr=2
player=CreateSphere()
cam=CreateCamera(player)
EntityType player,typeplayer
terrain=CreatePlane()
EntityType terrain,typeterr
Collisions typeplayer,typeterr,2,3
CreateListener(cam)
sound=Load3DSound("1.wav")
strelba = LoadSound ("snd\m107.mp3")
hp = LoadSound("snd\16_Lastlife.wav")
ranenie = LoadSound("snd\die1.wav")
ubit = LoadSound("snd\scream_21.wav")
For i=1 To 10
bot.Entity=New Entity
bot\hp = 100
bot\name$ = Handle(bot)
bot\mesh = CreateCube()
NameEntity*bot\mesh,*bot\name$
PositionEntity bot\mesh,Rnd(0,50),0,50
EntityPickMode bot\mesh,3
Next
While Not KeyHit(1)
TurnEntity cam,MouseYSpeed(),0,0
TurnEntity player,0,-MouseXSpeed(),0
TranslateEntity player,0,-G#,0
ent=CameraPick(cam,MouseX(),MouseY())
If KeyHit(28) Then
PlaySound strelba
If ent <> 0 Then
bot.Entity=Object.Entity(EntityName(ent))
bot\hp=bot\hp-10
If bot\hp > 10 PlaySound ranenie
If bot\hp <= 0 Then
PlaySound ubit
FreeEntity bot\mesh
End If
End If
End If
If KeyHit(30) EmitSound(sound,Bot\Mesh)
If KeyHit(201) MoveEntity player,0,0,0.5
If KeyHit(208) MoveEntity player,0,0,-0.5
If KeyHit(203) TurnEntity player,0,1,0
If KeyHit(205) TurnEntity player,0,-1,0
MoveMouse GraphicsWidth()*0.5,GraphicsHeight()*0.5
If Abs(EntityPitch#(cam))>70 RotateEntity cam,70*Sgn(EntityPitch#(cam)),0,0
UpdateWorld()
RenderWorld()
Flip
Wend
End
Указывает на:
NameEntity*bot\mesh,*bot\name$
Написано вроде все правильно.
Помогите пожалуйста разобраться с ней!

Taugeshtu 14.07.2015 14:12

Ответ: Ошибка
 
Код:

bot\name$ = Handle(bot)

NameEntity bot\mesh, bot\name$

Блитц не трогал уже очень много лет, могу ошибаться.
$ - индикатор типа переменной "строка". По идее он должен использоваться только в момент объявления переменной. Возможно, его можно юзать как у тебя в первой цитированной строке, в присвоении.

Когда ты пытаешься вытащить значение из поля какого-то Type, тебе не нужно указывать тип этого поля.

softcrasoft 14.07.2015 14:14

Ответ: Ошибка
 
ща пробну спс
ес ес ес, СПААААСИИИИИБООООООО

softcrasoft 14.07.2015 14:22

Ответ: Ошибка
 
передалал немного код, тоже самое начало появлятся. знак я не указывал
Type Entity
Field hp
Field mesh
Field name$
End Type
Graphics3D 1366,768,16,2
SetBuffer BackBuffer()
Const G#=1
Const typeplayer=1
Const typeterr=2
player=CreateSphere()
cam=CreateCamera(player)
EntityType player,typeplayer
terrain=CreatePlane()
EntityType terrain,typeterr
Collisions typeplayer,typeterr,2,3
CreateListener(cam)
sound=Load3DSound("1.wav")
strelba = LoadSound ("snd\m107.mp3")
hp = LoadSound("snd\16_Lastlife.wav")
ranenie = LoadSound("snd\die1.wav")
ubit = LoadSound("snd\scream_21.wav")
For i=1 To 10
bot.Entity=New Entity
bot\hp = 100
bot\name = Handle(bot)
bot\mesh = CreateCube()
NameEntity*bot\mesh,*bot\name
PositionEntity bot\mesh,Rnd(0,50),0,50
EntityPickMode bot\mesh,3
Next
While Not KeyHit(1)
TurnEntity cam,MouseYSpeed(),0,0
TurnEntity player,0,-MouseXSpeed(),0
TranslateEntity player,0,-G#,0
ent=CameraPick(cam,MouseX(),MouseY())
If KeyHit(28) Then
PlaySound strelba
If ent <> 0 Then
bot.Entity=Object.Entity(EntityName(ent))
bot\hp=bot\hp-10
If bot\hp > 10 PlaySound ranenie
If bot\hp <= 0 Then
PlaySound ubit
FreeEntity bot\mesh
End If
End If
End If
If KeyHit(30) EmitSound(sound,bot\mesh)
If KeyHit(201) MoveEntity player,0,0,0.5
If KeyHit(208) MoveEntity player,0,0,-0.5
If KeyHit(203) TurnEntity player,0,1,0
If KeyHit(205) TurnEntity player,0,-1,0
MoveMouse GraphicsWidth()*0.5,GraphicsHeight()*0.5
If Abs(EntityPitch#(cam))>70 RotateEntity cam,70*Sgn(EntityPitch#(cam)),0,0
UpdateWorld()
RenderWorld()
Flip
Wend
End
изменил If KeyHit(30) EmitSound(sound,bot\mesh) было не правильно указано названия переменных.

Кирпи4 14.07.2015 15:43

Ответ: Ошибка
 
На двадцать восьмой строке убери звездочки

softcrasoft 14.07.2015 15:48

Ответ: Ошибка
 
это на форум так вставляется. звездачки вместо пробелов

L-ee-X 14.07.2015 17:40

Ответ: Ошибка
 
Оформляйте код правильно, читать не возможно его.

softcrasoft 14.07.2015 18:10

Ответ: Ошибка
 
почему? это на половину ваш код))

St_AnGer 14.07.2015 18:24

Ответ: Ошибка
 
Цитата:

Сообщение от softcrasoft (Сообщение 297798)
почему? это на половину ваш код))

Подозреваю что тебе параллельно на оформление кода, а люди которые читают код глазами привыкли к отступам в коде, и вообще к человеческому оформлению. Иначе любой код резко становится не читабельным. Заключай его хотя бы в тег code, так хоть чуть чуть читабельнее будет.

softcrasoft 14.07.2015 21:38

Ответ: Ошибка
 
так-так. я что-то не пойму. я созал тему про ошибку или про вид?
если есть что сказать, пожалуйста, говорите по существу.

L-ee-X 14.07.2015 22:49

Ответ: Ошибка
 
Цитата:

Сообщение от softcrasoft (Сообщение 297804)
так-так. я что-то не пойму. я созал тему про ошибку или про вид?
если есть что сказать, пожалуйста, говорите по существу.

По существу твой код даже читать не охота в таком виде. Тебе трудно его в тег засовывать? Чтоб он хоть не много читабельным становился. Судя по тому как ты код печатаешь в Blitz'е скажу одно, ты не профессионал

Артем Валерьевич 14.07.2015 23:20

Ответ: Ошибка
 
bot\name


Field name$

вот ошибка

St_AnGer 14.07.2015 23:31

Ответ: Ошибка
 
Цитата:

Сообщение от softcrasoft (Сообщение 297804)
так-так. я что-то не пойму. я созал тему про ошибку или про вид?
если есть что сказать, пожалуйста, говорите по существу.

А в чём ошибка то? Запустил у себя код который в 4-м посту - никаких ошибок, только ругань про отсутствие файлов нужных. Прикладывай кстати к посту архив со всеми нужными файлами, так проще происходит будет следить что.

softcrasoft 15.07.2015 00:12

Ответ: Ошибка
 
1. он без файлов ошибку и не выведет.
2. и где вы тут ошибку увидели? название переменных одинаковое.

tormoz 15.07.2015 00:44

Ответ: Ошибка
 
ошибка в звездочках


Часовой пояс GMT +4, время: 22:48.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot