![]() |
Re: Создаём свой FPS (first person shooter)
Вложений: 2
Хе, решил всеже сам коечто подправить, об этом уже писалось ранее (не мной) но было както замято. Я методом выдирания с горем пополам приклеил нормальную на мой взгляд систему прыжка, не смейтесь, я убил на эту процедуру около 40-50 минут 8=D. Там все нововведения выделены (ну короч там ясно будет), вроде бы все старое что было (мож конечно чтото и убил ненароком) переделал в обычный комментарий и тож выделил.
З.ы. Вспомнил что еще добавил доп. предмет и чуток поизменял характеристики старых. impersonalis ты непротив чтобы я продолжил потрошение и переделку сей миниигрушки с последующим выкладыванием сдесь в виде продолжения или дополнения(я несобираюсь полностью брать в свои руки эту темку, буду просто изредка, добавлять чтонить новенькое, подправлять чтонить там :-D , какрас на практике и критике всегда легче чем тихо сам с собою)? Или так непойдет? P.s. Название убойное у архива:crazy: |
Re: Создаём свой FPS (first person shooter)
Хм..... смотрю я на все это и думаю, что чего-то не хватает. И решил добавить.....
Код:
Function update_user() Да и добавил вот код собирания бонусов, но чет не работает вроде все просто и правильно ПОСМОТРИТЕ ПОЖАЛСТА :wallbash: Код:
Const TypeBonus=6 |
Re: Создаём свой FPS (first person shooter)
user точно глобальная переменная?
|
Re: Создаём свой FPS (first person shooter)
Global user
Насколько я вижу, да! Bonus перемещается при столкновении, тока вот жизни от этого не прибавляется.... |
Re: Создаём свой FPS (first person shooter)
Чёто мне ненравится в динамике после того что я поменял... я вот заметил, вернул я кусок той функции что отвечала за гравитацию, и лучше стает, но вот в чем проблемма, незнаю как отделатся от той гравитации на какой основан плавный прыжок, и получается что вроде и прыгаеш плавно, но невысоко и быстро падаеш, думал там гравитацию снизить так там приколы начинаются, ща буду думу думать :-D
Во, чтото получилось, щас буду выкладывать и расписывать. (кстати, чёто незаметил никакого эффекта от первого андрюхиного кода, ща буду думать мож я де напортачил). Возвращается переделанный кусок кода какой я когдато удалял (вставлять в Function update_user() прям педер концом (перед End Function)): Код:
Код:
|
Re: Создаём свой FPS (first person shooter)
Вложений: 2
Долго разбирался что к чему, но всеже разобрался, бывает изза 1 ошибочки непримечательной пробуеш и так и сяк а нечё невыходит, ладно короче, я добавил задержку между выстрелами, теперь к
Код:
shot_S(0)\sprite=LoadSprite("sprite0.bmp") Код:
shot_S(0)\shoot_delay=750 Код:
shot_S(1)\sprite=LoadSprite("sprite1.bmp") Код:
shot_S(1)\shoot_delay=250 Код:
shot_S(2)\sprite=LoadSprite("sprite1.bmp") Код:
shot_S(2)\shoot_delay=1000 Код:
Field shoot_delay Код:
Field shoot_delay_flag Код:
If MouseHit(1) And user_inv\InC[user_inv\current]<>0 And user_inv\reload_flag=False вытоге оно станет смотрется примерно так(я у себя условия местами перекрутил :-D ): Код:
If MouseHit(1) And user_inv\InC[user_inv\current]<>0 And user_inv\shoot_delay_flag=False And user_inv\reload_flag=False Код:
user_inv\shoot_delay_flag=True Код:
If MouseHit(1) And user_inv\InC[user_inv\current]<>0 And user_inv\shoot_delay_flag=False And user_inv\reload_flag=False Код:
If MilliSecs()-user_inv\last_shoot>shot_S(user_inv\current)\shoot_delay And user_inv\shoot_delay_flag=True Ща попробую бонусы прикрутить, мож что сам намучу :) |
Re: Создаём свой FPS (first person shooter)
Цитата:
Добавь в "While Not KeyHit(1)=1" после "RenderWorld()" вот это и будеш видеть сколько у тебя НР в единицах. Код:
Color 255,215,0 |
Re: Создаём свой FPS (first person shooter)
Цитата:
|
Аналогично, я только учусь, позтому одной из основных стадий моего обучения было научиться разбираться в чужих кодах и уметь их редактировать. А с шагами реально лучше вам не кажется..........?
Да и бонус не помешал - бы For Crayzi: А после чего ты вставил Цитата:
уменя стоит в самом конце, может изза этого А тот счетчик, даже, если я ничего не делаю, сам по себе растет огроменными темпами. Кстати у тебя увеличивается только цыфры, или полоска тоже? |
Re: Мод FPS от impersonalis-a.
Цитата:
Код:
If EntityCollided (user,TypeBonus) Then Код:
Text 190,30,"H0 : "+user_H0,True,True Код:
Код:
Global Bonus=CreateSphere() Вот думаю как бы сделать чтобы полоски с жизнями было видно над ботами... Покачто единственное чего я смог добится, это полоски над ботами зависящие от макс. количества их жизней, а далее пока что думаю, но решения ненаблюдаю, вот что сделал добавил Код:
Global bot_HP_line=LoadSprite("H.bmp") Код:
B_HP_Line=CopyEntity(bot_HP_line) Код:
HideEntity bot_HP_line |
Re: Мод FPS от impersonalis-a.
на мой взгляд игре не помешалбы улучшение графики
типо моделек анимированных и текст покруче |
Re: Мод FPS от impersonalis-a.
Рано, еще рано за графикку браться. Сперва геймплей. Вот напишешь движок , там дальше и за моделлинг( или как там это называется - создание 3д моделей=)) ) можно браться. Глядишь и игра новая появиться!. Так что сначало руку набей для программирования...
|
Re: Мод FPS от impersonalis-a.
Crayzi, эту "фишку" легко исправить смотри страницу 2 этой темы!!!!! 1 сообщение
А все эти изменения предложенные тобой, оно конечно смотрится прикольно, но они лишь косметические И как сказал H@NON Цитата:
|
Re: Мод FPS от impersonalis-a.
Цитата:
Цитата:
|
Re: Мод FPS от impersonalis-a.
Цитата:
|
Re: Мод FPS от impersonalis-a.
Ха ха ха аш самому смешно :-D сморозил-же, а извеняюсь за тупость больше такого не повторится. Посидел подумал и придумал ВОТ:
Код:
Global per Спасибо за замечание, ляпнул неподумав, но ведь я тольео учусь и учусь на своих ошибках, а не путем слизывания чужого кода:) |
Re: Мод FPS от impersonalis-a.
Кстати как сделать, зависимость полоски жизней от цифры, ато число жизней меняется, а полоска не хочет?
|
Re: Мод FPS от impersonalis-a.
число_жизней/100*общая_длина_полоски.
Как то так. |
Re: Мод FPS от impersonalis-a.
Цитата:
|
Re: Мод FPS от impersonalis-a.
Цитата:
Вот как я это реализовал: Добавил Код:
Global user_H_max Код:
user_H_max=200 Код:
If EntityCollided (user,TypeBonus) Then Код:
If user_H>200 Then |
Re: Мод FPS от impersonalis-a.
Вложений: 2
Еще несколько простеньких но неплохо улучшающих играбильность добавлений:
1. добавлены бонусы брони (+ 15 ед. брони за каждый подобранный бонус) Появляется еще одна константа(Const) Код:
Const TypeBonus_sheyd=7 Код:
Global user_sheyd_max=300 так же создаем собственно бонус к броне какой надо будет "подбирать" p.s. там я использовал новую картинку (просьба не пинать, это не окончательное оформление, а просто чтобы лучше смотрелось в первое время, картинку выложу в конце сообщения) Код:
Global Bonus_sheyd=CreateSphere() Код:
Collisions USERT,TypeBonus_sheyd,2,2 Код:
If EntityCollided (user,TypeBonus_sheyd) Then Здесь я сделал аш 3 доп. бонуса параллельно :-D, первый добавляет 6 зарядов к дробовику (первому оружию), второй добавляет 30 зарядов к "пукалке" (второе оружие), третий добавляет 2 заряда к (хмм, ну пусть будет базука, чёто мне так хочется, знач надо будет позже попарится над взрывом, дамагом по области, траэкторией полета заряда чтоли, но то позже) "базуке". Вот и дополнения: добавляем константу, я сказал констану? я хотел сказать константы, их аш 3 Код:
Const TypeBonus_ammo_0=8 Код:
shot_S(0)\max=60 Код:
Collisions USERT,TypeBonus_ammo_0,2,2 Код:
If EntityCollided (user,TypeBonus_ammo_0) Then Код:
Color 0,0,175 Сам же делаю замечание к "проэкту", какаято местность плосковатая :dontknow:, надо чёнить придумать, ато бегаеш как по какомуто полигону где вот вот будут проводить испытания новой атомной бомбы, эх, это опять чтото с формулами гравитации/прыжка надо будет мухлевать... |
Re: Мод FPS от impersonalis-a.
Вы хоть выкладывайте ап-ы кода
|
Re: Мод FPS от impersonalis-a.
Вложений: 3
Цитата:
Здесь все вышеописанные изменения кроме "реалистичных шагов" от "AndruXa". P.s. Решил поэкономить место и перезалил просто файл кода + пару доп. картинок какие буду использовать в последствие, остальные нужные файлы имеются в выложенных ранее архивах. |
To impersonalis Подскажи пожалста все переменные, которые отвечают за перемещение каких-нить объектов. Ато пишу замедление игры когда жизней меньше 10 + эффект размытой, красной камеры. Неохота разбираться самому в таком объемном коде ~1000 строк. А для тебя это все родное!!!! Кстати можно сделать эффект замедления без уменьшения скорости перемещения всех объектов??? может как-нить через тамер чтоли????????
Цитата:
Цитата:
|
Re: Мод FPS от impersonalis-a.
Цитата:
Совет: напротив каждой строки делай коммент,что она делает, так и поймешь... конечно не сразу. Но совесть будет чиста, хоть попытался бы что-то понять. Про полоску жизни, читай статью в известном журнале. С уважением |
Re: Мод FPS от impersonalis-a.
Цитата:
|
Re: Мод FPS от impersonalis-a.
Цитата:
Ну покачто временно решил сделать по подобию того как после попадения пули в игрока оно обновлялось.(сделал пока что для НР и для НО, точнее не сделал а методом копи/пасте дополнил действия при подбирании бонуса) на строку ниже после "user_H=user_H+20" (это у нас в "упдате юзер" если помните) добавь Код:
Change_H(user_xline,user_H) Код:
Change_H(user_xline0,user_H0) Так же где нибудь в начале "Function update_user()" добавь Код:
Change_H(user_b_xline,user_inv\s[user_inv\current]) Ща еще пару сек и сделаю чтобы когда подбираеш бонус дающий пули то полоска означающая их максимум сразуже "пополнялась". тэкс, короче так, в функции "Function update_user()" надо добавить еще 3 одинаковые строчки в 3 ифки подбирания бонуса к зарядам. Вот это "Change_H(user_b_xline,user_inv\s[user_inv\current])" добавь в Код:
If EntityCollided (user,TypeBonus_ammo_0) Then Код:
If EntityCollided (user,TypeBonus_ammo_0) Then далее в Код:
If EntityCollided (user,TypeBonus_ammo_1) Then Код:
Код:
If EntityCollided (user,TypeBonus_ammo_2) Then Код:
If EntityCollided (user,TypeBonus_ammo_2) Then Добавлено(1): Щас будем сносить тот недо-прыжок какой я сделал ранее (там было слишком много нерабочего, и он был сам по себе какойто не такой) и ставить тот какой я сделал из прыжка impersonalis. 1. Такс короче добавляем новую константу: Код:
Const jumpvel#=.003 Код:
gravity#=.01 Код:
pick_ent=LinePick(EntityX(user,1),EntityY(user,1),EntityZ(user,1),0,-3.6,0) 4. Добавляем вместо того что удалили вот это: Код:
pick_ent=LinePick(EntityX(user,1),EntityY(user,1),EntityZ(user,1),0,-3.6,0) Код:
If KeyHit(57) And jump_bool=False Then user_vy#=jumpvel#*delta_t jump_bool=True Код:
If jumping=0 Добавлено(2): Ща чудю, мудрю, хочу сделать так чтобы был смысл игры, допустим, надо будет собирать определенный бонус за который будут давать очки, набрав определенное количество очков вы выигруете. Вот думаю, сделать чтоль чтото типо сложности игры, токо это надо делать кнопки... но всеравно ведь до кнопок дело дойдет... пока что сделаю только бонус, и реген НР тож сделаю, будет 1 НР раз в 2.5 сек, но после пополнения до 100 реген отключится. Тэкс, щас добавим регенерацию. 1. Добавляем новую константу какая будет отвечать за промежуток времени между восстановлением НР: Код:
Const regen_HP_time=2500 Код:
Global user_H_regen=1 Код:
Field regen_HP_Flag Код:
If user_inv\regen_HP_Flag=False And user_H>0 And user_H<100 Then |
Re: Мод FPS от impersonalis-a.
Вложений: 2
Пока что думаю, как бы получше сделать набирание очков, и при каком их количестве выдавать победу.
~1-1.5 часа спустя: Фух, сделал условия победы и поражения(высветится обычная надпись типо "You Win" или "You Dead", позже сделаю блокировку стрельбы, перемещения и т. д., и возможность начать заново), добавил кубик который надо подбирать, после "подбирания" он перемещается в рандомное место, при этом вам добавляется 1 очко (Score), когда количество очков будет равно 30, вы выиграли, если количество ваших НР равно 0 то вы проиграли. Короч мож еще что добавил, хз... Уже почти несоображаю, спать хо... П.с. Долгое ща будет описание чаво и куда добавить... 1. Добавьте пару глобальных переменных, первые 2 со значками доллара на конце рассчитаны для хранения текстовых данных, они у нас будут отвечать за текст "You Win" и "You Dead"б Третья глобальная переменная у нас(Score) для хранения данных о количестве набранных очков: Код:
Global Win$ Код:
Const Win_qantiti_score=30 Код:
Код:
If EntityCollided (user,Type_Smoll_score) Then Код:
Код:
;1. Код:
1. На всяк пожарный выкладую ап кода(П.с, тута чучуть изменена стрельба, думаю нечё особенного я там не сделал так что описывать смысла нет). |
Re: Мод FPS от impersonalis-a.
Всё отлично, но ты бы давал маленькие объяснения к коду, а еще очень напрягают слова впихните, запихайте, всуньте...
|
Re: Мод FPS от impersonalis-a.
Цитата:
|
Часовой пояс GMT +4, время: 12:11. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot