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=16031)

reumep 13.12.2011 18:11

Смена оружия
 
пасаны, у меня есть два оружия(две модельки). требуется при прокручивании колеса мышки менять оружия. Помогите мне, пасаны, а то у меня ерунда получается.

Markova 13.12.2011 18:23

Ответ: Смена оружия
 
Ну есть же в хелпе всё =)

Graphics 640, 480, 0, 2
SetBuffer BackBuffer ()
Repeat
Cls

Select MouseZSpeed ()
Case -1
result$ = "Backwards"
Case 0
; result$ = "No movement"
Case 1
result$ = "Forwards"
End Select

Text 20, 10, "NOTE: MouseZSpeed () = 0 is not listed here, to avoid confusion!"
Text 20, 40, result$
Flip

Until KeyHit (1)

End

reumep 13.12.2011 22:07

Ответ: Смена оружия
 
я так и делал, только на if, только вот как именно оружие загружать? если загрузить заранее,
PHP код:

model1 loadanimmesh("model1")
model2 loadanimmesh("model2")
...
if 
mousezspeed() = -1
drawmodel 
model1
elseif mousezspeed() = 1
drawmodel 
model2
endif 

то вот фигня получается, оружие не видно
drawmodel привязан к камере , какмера привязана к хитбоксу игрока

A_Z 13.12.2011 23:42

Ответ: Смена оружия
 
Если ты привязываешь какую-нибудь модель к камере, то ты должен поставить её ПЕРЕД камерой. Если ты привязал модель к камере и модель была не в зоне видимости, то она при повороте камеры будет уезжать. И вообще почему бы не использовать Hideentity в таком простом случае? не повредит также переменная, хранящая номер отображаемой пушки и количество пушек всего. Для дальнейшего развития. А модели пушек запихнуть в массив

global NomerPushki=1
global VsegoPushek=2
global model(VsegoPushek)
global cam=createCamera()
positionentity cam,0,0,0
global model(1) = loadanimmesh("model1",cam) ;не забываем привязывать пушку к камере
positionentity model(1),0,0,-100
global model(2) = loadanimmesh("model2",cam);не забываем привязывать пушку к камере
positionentity model(2),0,0,-100
hideentity model(2)
...
if mousezspeed() = -1
hideentity(Model(NomerPushki))
NomerPushki=NomerPushki+1
If NomerPushki>vsegopushek then NomerPushki=1
showentity(Model(NomerPushki))
elseif mousezspeed() = 1
hideentity(Model(NomerPushki))
NomerPushki=NomerPushki-1
If NomerPushki<1 then NomerPushki=vsegopushek
showentity(Model(NomerPushki))
endif

Как-то так, под рукой нет блица, чтоб проверить

reumep 14.12.2011 18:12

Ответ: Смена оружия
 
Цитата:

Сообщение от A_Z (Сообщение 213875)

global NomerPushki=1
global VsegoPushek=2
global model(VsegoPushek)
global cam=createCamera()
positionentity cam,0,0,0
global model(1) = loadanimmesh("model1",cam) ;не забываем привязывать пушку к камере
positionentity model(1),0,0,-100
global model(2) = loadanimmesh("model2",cam);не забываем привязывать пушку к камере
positionentity model(2),0,0,-100
hideentity model(2)
...
if mousezspeed() = -1
hideentity(Model(NomerPushki))
NomerPushki=NomerPushki+1
If NomerPushki>vsegopushek then NomerPushki=1
showentity(Model(NomerPushki))
elseif mousezspeed() = 1
hideentity(Model(NomerPushki))
NomerPushki=NomerPushki-1
If NomerPushki<1 then NomerPushki=vsegopushek
showentity(Model(NomerPushki))
endif

костыль детектед

reumep 14.12.2011 18:14

Ответ: Смена оружия
 
Применил данный костыль, все работает, прикольно получилось
код смены оружия немного изменил
Код:

If MouseZSpeed() <> 0
player\weapon = player\weapon + 1
If player\weapon => 2
        player\weapon = 0
Endif
EndIf
If player\weapon = 0
        HideEntity player\model2
        ShowEntity player\model
        player\ats = LoadSound("sounds\1.wav")
ElseIf player\weapon = 1
        HideEntity player\model
        ShowEntity player\model2
        player\ats = LoadSound("sounds\2.wav")
endif

только у меня еще проблема: оружие сделал в соответствии с моделями мира, и оно проходит сквозь текстуры. как это пофиксить?
и вот же я нуууб, не посмотрел в поиске, наплодил кучу тем
дайте мне бан на 2 часа

reumep 14.12.2011 18:59

Ответ: Смена оружия
 
и еще, пасаны: есть костевая анимация, но при импорте через пайплайн ее нет, что делать?

Colossus 14.12.2011 19:27

Ответ: Смена оружия
 
читать хелп опять же, там все элементарно как банановая кожура:

сначала экспортишь меш, с в пайплайне убираешь галочку с Bone Mesh (или как их там) экспортишь моделю, а потом тупо в редакторе хайдишь модель оставляя ток кости, и экспортишь, поставив галочку там где ты ее убирал ) вуаля)

reumep 14.12.2011 20:09

Ответ: Смена оружия
 
Цитата:

Сообщение от Colossus (Сообщение 213957)
читать хелп опять же, там все элементарно как банановая кожура:

сначала экспортишь меш, с в пайплайне убираешь галочку с Bone Mesh (или как их там) экспортишь моделю, а потом тупо в редакторе хайдишь модель оставляя ток кости, и экспортишь, поставив галочку там где ты ее убирал ) вуаля)

не работает

reumep 15.12.2011 19:32

Ответ: Смена оружия
 
пасаны пасаны
http://gtsoftware18rus.3dn.ru/publ/B...basic/5-1-0-99
проблема решены, расплодите это везде

Markova 15.12.2011 20:49

Ответ: Смена оружия
 
Цитата:

Сообщение от reumep (Сообщение 214052)
пасаны пасаны
http://gtsoftware18rus.3dn.ru/publ/B...basic/5-1-0-99
проблема решены, расплодите это везде

Ватафак =)) Это же спам =)) ты что в место хелпа спам читаешь =)) ну ты даешь!

Nerd 15.12.2011 23:03

Ответ: Смена оружия
 
Цитата:

Сообщение от reumep (Сообщение 214052)
пасаны пасаны
http://gtsoftware18rus.3dn.ru/publ/B...basic/5-1-0-99
проблема решены, расплодите это везде

Цитата:

Character=loadanimmesh("MyCharacter.b3d")
Charactermesh=findchild(Character,"Model")
CharacterSkeleton=findchild(Character,"Bones")
Animate Charactermesh,1,1,0,0;Анимируем модель с сохраненной анимацией
Щито за ламер это писал - анимировать надо главную кость, а не сетку.

Markova 15.12.2011 23:49

Ответ: Смена оружия
 
Не можно и так анимировать, только вот… если бы он написал статью и раскрыл бы при этом тайну какую, а тут просто у него что-то там не получилось и он решил через задний проход всё сделать.
Тут на форуме есть поиск достаточно ввести Animate чтобы все тайны этого слова сочетания открылись =))

EvilChaotic 16.12.2011 12:24

Ответ: Смена оружия
 
Цитата:

Сообщение от reumep (Сообщение 213947)
Применил данный костыль, все работает, прикольно получилось
код смены оружия немного изменил
Код:

If MouseZSpeed() <> 0
player\weapon = player\weapon + 1
If player\weapon => 2
        player\weapon = 0
Endif
EndIf
If player\weapon = 0
        HideEntity player\model2
        ShowEntity player\model
        player\ats = LoadSound("sounds\1.wav")
ElseIf player\weapon = 1
        HideEntity player\model
        ShowEntity player\model2
        player\ats = LoadSound("sounds\2.wav")
endif

только у меня еще проблема: оружие сделал в соответствии с моделями мира, и оно проходит сквозь текстуры. как это пофиксить?

Зачем загружаешь звук постоянно? А старый не сгружаешь.

Массивом делайте группу орудий.
Сквозь текстуры проходит только трол. А в твоем случае EntityOrder ent,-1.

reumep 16.12.2011 16:32

Ответ: Смена оружия
 
entityorder не работает


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

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