Показать сообщение отдельно
Старый 23.09.2007, 03:54   #21
Crayzi
ПроЭктировщик
 
Регистрация: 26.06.2007
Сообщений: 194
Написано 21 полезных сообщений
(для 25 пользователей)
Стрелка Re: Мод FPS от impersonalis-a.

Еще несколько простеньких но неплохо улучшающих играбильность добавлений:
1. добавлены бонусы брони (+ 15 ед. брони за каждый подобранный бонус)
Появляется еще одна константа(Const)
Const TypeBonus_sheyd=7
и глобальная переменная в которой указано максимально допустимое значение брони
Global user_sheyd_max=300
(p.s. Да кстати пока не забыл, можно убрать "user_HP_max=200" и дописать к уже существующему "Global user_HP_max" =200, будет смотрется "Global user_HP_max=200".)

так же создаем собственно бонус к броне какой надо будет "подбирать"
p.s. там я использовал новую картинку (просьба не пинать, это не окончательное оформление, а просто чтобы лучше смотрелось в первое время, картинку выложу в конце сообщения)
Global Bonus_sheyd=CreateSphere()
ScaleEntity Bonus_sheyd,0.2,0.4,0.2
texBonus_sheyd=LoadTexture(".\Tex_enerji_1.bmp")
EntityTexture Bonus_sheyd,texBonus_sheyd
EntityType Bonus_sheyd,TypeBonus_sheyd
PositionEntity Bonus_sheyd,Rnd(-40,40),2,Rnd(-40,40)
далее в функцию "Function create_world()" дописываем колизею нашего бонуса с User`ом
Collisions USERT,TypeBonus_sheyd,2,2
далее добавляем в "Function update_user()" еще одно действие или как это назвать, If`ку короче
If EntityCollided (user,TypeBonus_sheyd) Then 
PositionEntity Bonus_sheyd,Rnd(-40,40),2,Rnd(-40,40)
 user_H0=user_H0+15
EndIf
If user_H0>300 Then 
 user_H0=user_sheyd_max
EndIf
Вроде как ничего незабыл, тогда приступаем к дополнению №2.
Здесь я сделал аш 3 доп. бонуса параллельно , первый добавляет 6 зарядов к дробовику (первому оружию), второй добавляет 30 зарядов к "пукалке" (второе оружие), третий добавляет 2 заряда к (хмм, ну пусть будет базука, чёто мне так хочется, знач надо будет позже попарится над взрывом, дамагом по области, траэкторией полета заряда чтоли, но то позже) "базуке".
Вот и дополнения:
добавляем константу, я сказал констану? я хотел сказать константы, их аш 3
Const TypeBonus_ammo_0=8
Const TypeBonus_ammo_1=9
Const TypeBonus_ammo_2=10
вначале сделал по другому но потом дошло что можноиспользовать уже имеющиеся поля, значит так, изменяем максимальное количество зарядов для оружий, теперь у нас:
shot_S(0)\max=60
 
shot_S(1)\max=480
 
shot_S(2)\max=40
поехали дальше, задаем коллизеи (в функции "Function create_world()") для соответствующих типов зарядов:
 Collisions USERT,TypeBonus_ammo_0,2,2
 
 Collisions USERT,TypeBonus_ammo_1,2,2
 
 Collisions USERT,TypeBonus_ammo_2,2,2
Ну и наконец вписуем в функцию "Function update_user()" следующее:
If EntityCollided (user,TypeBonus_ammo_0) Then 
PositionEntity Bonus_ammo_0,Rnd(-40,40),2,Rnd(-40,40)
user_inv\s[0]=user_inv\s[0]+6
EndIf
If user_inv\s[0]>shot_S(0)\max Then 
user_inv\s[0]=shot_S(0)\max
EndIf
 
If EntityCollided (user,TypeBonus_ammo_1) Then 
PositionEntity Bonus_ammo_1,Rnd(-40,40),2,Rnd(-40,40)
user_inv\s[1]=user_inv\s[1]+30
EndIf
If user_inv\s[1]>shot_S(1)\max Then 
user_inv\s[1]=shot_S(1)\max
EndIf
 
If EntityCollided (user,TypeBonus_ammo_2) Then 
PositionEntity Bonus_ammo_2,Rnd(-40,40),2,Rnd(-40,40)
user_inv\s[2]=user_inv\s[2]+2
EndIf
If user_inv\s[2]>shot_S(2)\max Then 
user_inv\s[2]=shot_S(2)\max
EndIf
А, чуть незабыл, надо же видеть сколько же у нас всетаки зарядов в наличии, в функцию "While Not KeyHit(1)=1" после "RenderWorld()" добавьте вот это:
Color 0,0,175
Text 350,20,"B_0 : "+user_inv\s[0],True,True
Text 500,20,"B_1 : "+user_inv\s[1],True,True
Text 650,20,"B_2 : "+user_inv\s[2],True,True
теперь даже прикольно побегать в погоне за бонусами , всетаки клевую идею AndruXa подкинул, ну а я е чуток дополнил. Единственное огорчает, доси непонял как работать с жизнями ботов, да и не только жизнями...
Сам же делаю замечание к "проэкту", какаято местность плосковатая , надо чёнить придумать, ато бегаеш как по какомуто полигону где вот вот будут проводить испытания новой атомной бомбы, эх, это опять чтото с формулами гравитации/прыжка надо будет мухлевать...
(Offline)
 
Ответить с цитированием