Нуждающийся
Регистрация: 06.02.2011
Сообщений: 57
Написано 11 полезных сообщений (для 19 пользователей)
|
Ответ: Система боя врага в РПГ
Сообщение от LLI.T.A.L.K.E.R.
Пробую написать подобную систему..
Код внутри:
Graphics3D 800,600,32,2
SetBuffer BackBuffer()
Camera=CreateCamera()
Player=CreateCube()
PositionEntity Player,5,0,-5
Player_Health%=100
Enemy=CreateCube()
EntityColor Enemy,200,100,100
Enemy_IsFight=0 ; атакует
Enemy_FightFrame#=0 ; задержка атаки (время размаха)
While Not KeyDown(1)
If KeyDown(200) Then MoveEntity Player,0,0,0.1 ; ^
If KeyDown(208) Then MoveEntity Player,0,0,-0.1 ; \/
If KeyDown(203) Then MoveEntity Player,-0.1,0,0 ; <
If KeyDown(205) Then MoveEntity Player,0.1,0,0 ; >
PositionEntity Camera,EntityX#(Player),EntityY#(Player)+3,EntityZ#(Player)-5
PointEntity Camera,Player
PointEntity Enemy,Player
If EntityDistance#(Enemy,Player)>3 Then
MoveEntity Enemy,0,0,0.08
Else
If Enemy_IsFight=0 Then Enemy_IsFight=1
EndIf
If Enemy_IsFight=1 Then
Enemy_FightFrame#=Enemy_FightFrame#+1
If Enemy_FightFrame#>75 Then
Enemy_IsFight=0
Enemy_FightFrame#=0
If EntityDistance#(Enemy,Player)<4 Then Player_Health=Player_Health-5
EndIf
EndIf
If EntityDistance#(Enemy,Player)>5 Then
Enemy_IsFight=0
Enemy_FightFrame#=0
EndIf
UpdateWorld
RenderWorld
Text 5,5,Player_Health
Text 5,25,"Dis:"+EntityDistance#(Enemy,Player)+" | Fight: "+Enemy_IsFight+" | Sum: "+Enemy_FightFrame#
Flip
Wend
В отличии от глупых боёв в ЛА2 - есть проверка "игрок во время удара вблизи или нет".
(В Ла2 и ВоВ: если враг размахнулся, Ты хоть за 5 метров убегай - он тебя считай побил)
Нужно будет добавить модель противника (с мечом или кулаками). И ориентироваться по анимации.
|
в ла2 удар такой на 5 метров отбежал и всеравно попало
ты думаешь что твой перс которым ты управляешь это все и вся, нет там в нутри есть пивот который двигаеться как показывает сервер
ты отправляешь комманду то что ты нажал бежать, чел двигаеться на компе не отдавая на сервер анимацию движения и скорость передвижения ему отдаеться информация о том что ты нажал , на сервере показывает что ты стоишь рядом, хотя у тебя на экране показано что ты бежишь, если бы была бы система движения на компе, появилось бы много читов и.т.д а так...
|