|
18.05.2011, 01:20
|
#1
|
Мастер
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений (для 504 пользователей)
|
Система боя врага в РПГ
Пробую написать подобную систему..
Код внутри:
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
Пояснение:
Игрок двигается от врага, тот к игроку.
Если враг дальше игрока на 3 метра, двигается к нему.
Если враг ближе к игроку чем 3 метра - начинает размах (Enemy_FightFrame#)
Проходит 75 мксек - происходит удар.
Если враг ближе к игроку на 4 метра наносится урон.
Если игрок дальше от врага на 5 метров - удар отменяется.
|
В отличии от глупых боёв в ЛА2 - есть проверка "игрок во время удара вблизи или нет".
(В Ла2 и ВоВ: если враг размахнулся, Ты хоть за 5 метров убегай - он тебя считай побил)
Нужно будет добавить модель противника (с мечом или кулаками). И ориентироваться по анимации.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо LLI.T.A.L.K.E.R. за это полезное сообщение:
|
|
18.05.2011, 02:01
|
#2
|
Мастер
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений (для 2,207 пользователей)
|
Ответ: Система боя врага в РПГ
юзай функции, а то сложно потом будет.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
18.05.2011, 03:03
|
#3
|
Мастер
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений (для 504 пользователей)
|
Ответ: Система боя врага в РПГ
Repeat
Enemy_UpdateFight(то-то, это)
Flip
Until
Function Enemy_UpdateFight(то-то,это)
If то-то>3 then
... ... ...
End Function
|
Примерно об этом?
У себя я обычно потом врагов, предметы и т.п. в их includЫ вывожу.
|
(Offline)
|
|
18.05.2011, 11:01
|
#4
|
Мастер
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений (для 504 пользователей)
|
Ответ: Система боя врага в РПГ
Добавлена примитивная модель врага для наглядности боя.
http://ifolder.ru/23603996
(внутри архива: исходник.bb, модели мах+3дс)
В наглядности кода ничего не менял.
Следующим будет вынесения кода боя отдельно. Проба боя игрока.
Потребуется справка: "баланс удара и нанесения урона между игроком и врагом, тактика боя и т.п." Т.е. так, чтобы драка была "равная" и захватывающая.
|
(Offline)
|
|
18.05.2011, 13:38
|
#5
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Система боя врага в РПГ
Если бы это расчет урона был, то было бы круто, а так... проверка на расстояние.
|
(Offline)
|
|
18.05.2011, 15:31
|
#6
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Система боя врага в РПГ
Проходит 75 мксек - происходит удар.
|
Enemy_FightFrame#=Enemy_FightFrame#+1
|
Это ну ни как не 75 мсек
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
18.05.2011, 18:01
|
#7
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Система боя врага в РПГ
Сообщение от LLI.T.A.L.K.E.R.
В отличии от глупых боёв в ЛА2 - есть проверка "игрок во время удара вблизи или нет".
(В Ла2 и ВоВ: если враг размахнулся, Ты хоть за 5 метров убегай - он тебя считай побил)
.
|
для рпг самое то
|
(Offline)
|
|
18.05.2011, 20:57
|
#8
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Система боя врага в РПГ
В отличии от глупых боёв в ЛА2 - есть проверка "игрок во время удара вблизи или нет".
(В Ла2 и ВоВ: если враг размахнулся, Ты хоть за 5 метров убегай - он тебя считай побил).
|
Ты мало в л2 играл, или у тебя большой пинг. проверка на расстояние там есть. Правда только для скилов. для каждого удара это былобы слишком. когда у чувака скрость атаки оочень высокая - он машет оружием с такой скоростью что видно только мерцание "сосок". а теперь представь еслиб на сервере расчитывалось растояние для каждого удара over9000 игроков?
|
(Offline)
|
|
18.05.2011, 21:50
|
#9
|
Мастер
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений (для 504 пользователей)
|
Ответ: Система боя врага в РПГ
Это не будет Л2.
Замену мксек ещё не продумал.
(пока это будет кадр анимации)
Если бы это расчет урона был, то было бы круто, а так... проверка на расстояние.
|
Проверку столкновения в части тела не предполагаю.
Пока мне требуется примитивный бой (как в стратегиях... WarCraft например)
http://www.youtube.com/watch?v=3qcwZ...e=related#t=45
|
(Offline)
|
|
18.05.2011, 22:27
|
#10
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: Система боя врага в РПГ
Если бы это расчет урона был, то было бы круто, а так... проверка на расстояние.
|
Объясни на милость, где ты в верхней цитате увидел такие слова как "столкновение" и "части тела" ?
Проверку столкновения в части тела не предполагаю.
|
|
(Offline)
|
|
18.05.2011, 22:39
|
#11
|
Мастер
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений (для 504 пользователей)
|
Ответ: Система боя врага в РПГ
В чём подразумеваешь "расчёт урона" ?
Сила, скилл врага и игрока?
Если что, это будет после того как будут готовы сами враги и управление игроком.
Это только начало.. Версия так сказать -0.1 (минус 0.1)
|
(Offline)
|
|
22.05.2011, 11:29
|
#12
|
ПроЭктировщик
Регистрация: 26.06.2007
Сообщений: 194
Написано 21 полезных сообщений (для 25 пользователей)
|
Ответ: Система боя врага в РПГ
Сообщение от Dream
Ты мало в л2 играл, или у тебя большой пинг. проверка на расстояние там есть. Правда только для скилов. для каждого удара это былобы слишком. когда у чувака скрость атаки оочень высокая - он машет оружием с такой скоростью что видно только мерцание "сосок". а теперь представь еслиб на сервере расчитывалось растояние для каждого удара over9000 игроков?
|
Всмысле, ты хош не брать в рассчет расстояние между персонажами при рассчете можно ли нанести удар или нет? Это-ж глупо, знаеш сколько читов наклепают сразу, бегаеш в одной локации и коцаеш когото кто лазит на другом конце игрового мира, а он стоит и тупит в шоке, в непонятках кто его коцает.. ))
|
(Offline)
|
|
22.05.2011, 15:18
|
#13
|
Мастер
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений (для 790 пользователей)
|
Ответ: Система боя врага в РПГ
коцаеш когото кто лазит на другом конце игрового мира
|
Делается одна проверка вместо двух - только при замахе.
При ударе проверка на расстояние не производится
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
|
(Offline)
|
|
22.05.2011, 20:49
|
#14
|
Мастер
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений (для 504 пользователей)
|
Ответ: Система боя врага в РПГ
У меня тоже одна проверка.
Думаю, намного правильнее проверка будет при ударе (а не замахе).
Ведь игровой герой может быстро перемещаться, в этом появляется возможность отмахиваться от удара.
Пока что это заготовка для новичков (я не задумывал делать онлайн, или ла2)
Далее применю её в открытом рпг примере.
(Если на то пойдёт - придётся поучить "советы программирования рпг")
|
(Offline)
|
|
22.05.2011, 22:21
|
#15
|
ПроЭктировщик
Регистрация: 26.06.2007
Сообщений: 194
Написано 21 полезных сообщений (для 25 пользователей)
|
Ответ: Система боя врага в РПГ
Хорошая мысль насчет проверки при нанесении удара, для того чтобы замахнутся ведь ненужно цели, правильно? В таком случае если к моменту нанесения удара цель будет вне досягаемости то можно засчитать это за промах, так будет реалистичнее, правда только при низких пингах...(правда при высоких при любом раскладе будет коряво)
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:54.
|