forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Смена Weapon"нов (http://forum.boolean.name/showthread.php?t=5617)

Genius 20.01.2008 19:02

Смена Weapon"нов
 
:) Вот выкладываю исходник)))Может кто подправит,улучшит код:)

Код:

;RaYEngineX - Weapons Module
 
;gun1_hud=LoadImage("data\textures\hud\weapon\pm.bmp")
;ScaleImage gun1_hud,0.4,0.4
Global GUN3_LOOPSOUND
Global GUN4_LOOPSOUND
Global gun1
Global gun2
Global gun3
Global gun4
Global gun1_show=1
Global gun2_show=1
Global gun3_show=1
Global gun4_show=1
Global gun1_pickup=1
Global gun2_pickup=1
Global gun3_pickup=1
Global gun4_pickup=1
 
 
Global gun1_patron=42
Global gun2_patron=20
Global gun3_patron=96
Global gun4_patron=367
 
Global gun1_magazin=GetIniItem$("Data\cfg\weapons.ini","gun1","magazine")
Global gun2_magazin=GetIniItem$("Data\cfg\weapons.ini","gun2","magazine")
Global gun3_magazin=GetIniItem$("Data\cfg\weapons.ini","gun3","magazine")
Global gun4_magazin=GetIniItem$("Data\cfg\weapons.ini","gun4","magazine")
Global gun1_info=GetIniItem$("Data\cfg\weapons.ini","gun1","info")
Global gun2_info=GetIniItem$("Data\cfg\weapons.ini","gun2","info")
Global gun3_info=GetIniItem$("Data\cfg\weapons.ini","gun3","info")
Global gun4_info=GetIniItem$("Data\cfg\weapons.ini","gun4","info")
Global gun1_hud=LoadImage("data\textures\hud\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun1","image"))
Global gun2_hud=LoadImage("data\textures\hud\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun2","image"))
Global gun3_hud=LoadImage("data\textures\hud\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun3","image"))
Global gun4_hud=LoadImage("data\textures\hud\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun4","image"))
 
Global pistol_shot=LoadSound("data\sound\weapon\pm\shot.ogg")
Global reload=LoadSound("data\sound\weapon\pm\reload.ogg")
 
Global relaod_delay_gun1=0
Global relaod_delay_gun2=0
Global relaod_delay_gun3=0
Global relaod_delay_gun4=0
 
Global gun_select=0
 
;Global shot_sp=LoadSprite ("data\textures\fx\shot.jpg",1)
;EntityParent shot_sp,cam
 
 
 
Function Weapon_Load()
gun1=ALoadAnimMesh("DATA\MODEL\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun1","model")+"\model.b3d",0,2)
PositionEntity gun1,0,-10,0
ScaleEntity gun1,.5,.5,.5
RotateEntity gun1,-90,0,-180
LoadAnimSeq gun1, "DATA\MODEL\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun1","model")+"\idle.b3d"
LoadAnimSeq gun1, "DATA\MODEL\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun1","model")+"\shot.b3d"
LoadAnimSeq gun1, "DATA\MODEL\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun1","model")+"\reload.b3d"
Animate gun1, 1,.3, 1
EntityParent gun1,cam
PositionEntity gun1,-1,-4,-15
 
gun2=ALoadAnimMesh("DATA\MODEL\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun2","model")+"\model.b3d",0,2)
PositionEntity gun2,0,-10,0
ScaleEntity gun2,.5,.5,.5
RotateEntity gun2,-90,0,-180
LoadAnimSeq gun2, "DATA\MODEL\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun2","model")+"\idle.b3d"
LoadAnimSeq gun2, "DATA\MODEL\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun2","model")+"\shot.b3d"
LoadAnimSeq gun2, "DATA\MODEL\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun2","model")+"\reload.b3d"
Animate gun2, 1,.3, 1
EntityParent gun2,cam
PositionEntity gun2,-1,-4,-15
;AK 47
gun3=ALoadAnimMesh("DATA\MODEL\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun3","model")+"\model.b3d",0,2)
PositionEntity gun3,0,-10,0
ScaleEntity gun3,.5,.5,.5
RotateEntity gun3,-90,0,-180
LoadAnimSeq gun3, "DATA\MODEL\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun3","model")+"\idle.b3d"
LoadAnimSeq gun3, "DATA\MODEL\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun3","model")+"\shot.b3d"
LoadAnimSeq gun3, "DATA\MODEL\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun3","model")+"\reload.b3d"
Animate gun3, 1,.3, 1
EntityParent gun3,cam
PositionEntity gun3,-1,-4,-15
;Groza
gun4=ALoadAnimMesh("MODEL\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun4","model")+"\model.b3d",0,1)
PositionEntity gun4,0,-10,0
ScaleEntity gun4,.5,.5,.5
RotateEntity gun4,-90,0,-180
LoadAnimSeq gun4, "MODEL\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun4","model")+"\idle.b3d"
LoadAnimSeq gun4, "MODEL\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun4","model")+"\shot.b3d"
LoadAnimSeq gun4, "MODEL\weapons\"+GetIniItem$("Data\cfg\weapons.ini","gun4","model")+"\reload.b3d"
Animate gun4, 1,.3, 1
EntityParent gun4,cam
PositionEntity gun4,-1,-4,-15
HideEntity gun1
HideEntity gun2
HideEntity gun3
HideEntity gun4
End Function
 
 
Function UpdateWeapon()
MHIT=MouseHit(1)
RELOAD_KEY=KeyHit(19)
MDOWN=MouseDown(1)
 
If relaod_delay_gun1=0 And relaod_delay_gun2=0 And relaod_delay_gun3=0 And relaod_delay_gun4=0 Then player_dblxanie=player_dblxanie+1
If player_dblxanie=>200 Then player_dblxanie=1
If player_dblxanie=190 Then Animate gun1, 1,.3, 1
If player_dblxanie=190 Then Animate gun2, 1,.3, 1
If player_dblxanie=190 Then Animate gun3, 1,.3, 1
If player_dblxanie=190 Then Animate gun4, 1,.3, 1
If relaod_delay_gun1>0 Then relaod_delay_gun1=relaod_delay_gun1-1
If relaod_delay_gun2>0 Then relaod_delay_gun2=relaod_delay_gun2-1
If relaod_delay_gun3>0 Then relaod_delay_gun3=relaod_delay_gun3-1
If relaod_delay_gun4>0 Then relaod_delay_gun4=relaod_delay_gun4-1
;(GUN1)
If gun_select=1 And gun1_show=1 And gun1_patron>0 And gun1_magazin=0 And RELOAD_KEY=1 And gun1_pickup=1 Then
If gun1_patron>12 Then gun1_magazin=12
If gun1_patron<12 Then
gun1_magazin=gun1_patron
gun1_patron=0
EndIf
PlaySound reload
Animate gun1, 3,.65,3
relaod_delay_gun1=140
EndIf
If gun_select=1 And gun1_show=1 And MHIT=1 And gun1_magazin>0 And gun1_pickup=1 And relaod_delay_gun1=0 Then
If gun1_patron>0 Then gun1_patron=gun1_patron-1
gun1_magazin=gun1_magazin-1
PlaySound pistol_shot
Animate gun1, 3,1, 2
EndIf
 
;(GUN2)
If gun_select=2 And gun2_show=1 And gun2_patron>0 And gun2_magazin=0 And RELOAD_KEY=1 And gun2_pickup=1 Then
If gun2_patron>8 Then gun2_magazin=8
If gun2_patron<8 Then
gun2_magazin=gun2_patron
gun2_patron=0
EndIf
PlaySound reload
Animate gun2, 3,.65,3
relaod_delay_gun2=110
EndIf
If gun_select=2 And gun2_show=1 And MHIT=1 And gun2_magazin>0 And gun2_pickup=1 And relaod_delay_gun2=0 Then
If gun2_patron>0 Then gun2_patron=gun2_patron-1
gun2_magazin=gun2_magazin-1
PlaySound pistol_shot
Animate gun2, 3,1, 2
 
EndIf
 
;(GUN3)
;ZOOM
gun3_zoom=0
gun3_zoom=MouseDown(2)
If gun_select=3 And gun3_show=1 And gun3_zoom=1 Then PositionEntity gun3,5.5,-.25,-11:show_cr2=1:HideEntity gun3:CameraZoom cam,5
If gun_select=3 And gun3_show=1 And gun3_zoom=0 Then PositionEntity gun3,0,-10,0:show_cr2=0:ShowEntity gun3:CameraZoom cam,1
;?????????? ??? ?????(???? ?? ????????????)
GUN3_LOOPSOUND=GUN3_LOOPSOUND+1
If GUN3_LOOPSOUND>8 Then GUN3_LOOPSOUND=1
;??????????? ????????
If gun_select=3 And gun3_show=1 And gun3_patron>0 And gun3_magazin=0 And RELOAD_KEY=1 And gun3_pickup=1 Then
If gun3_patron>30 Then gun3_magazin=30
If gun3_patron<30 Then
gun3_magazin=gun3_patron
gun3_patron=0
EndIf
PlaySound reload
Animate gun3, 3,.55,3
relaod_delay_gun3=190
EndIf
If gun_select=3 And gun3_show=1 And MDOWN=1 And GUN3_LOOPSOUND=1 And gun3_magazin>0 And gun3_pickup=1 And relaod_delay_gun3=0 Then
If gun3_patron>0 Then gun3_patron=gun3_patron-1
gun3_magazin=gun3_magazin-1
 
 
PlaySound pistol_shot
 
Animate gun3, 3,1, 2
 
EndIf
;(GUN3)
;(GUN4)
;ZOOM
gun4_zoom=0
gun4_zoom=MouseDown(2)
If gun_select=4 And gun4_show=1 And gun4_zoom=1 Then PositionEntity gun4,5.5,-18,4
If gun_select=4 And gun4_show=1 And gun4_zoom=0 Then PositionEntity gun4,0,-15,0
;?????????? ??? ?????(???? ?? ????????????)
GUN4_LOOPSOUND=GUN4_LOOPSOUND+1
If GUN4_LOOPSOUND>8 Then GUN4_LOOPSOUND=1
;??????????? ????????
If gun_select=4 And gun4_show=1 And gun4_patron>0 And gun4_magazin=0 And RELOAD_KEY=1 And gun4_pickup=1 Then
If gun4_patron>30 Then gun4_magazin=30
If gun4_patron<30 Then
gun4_magazin=gun4_patron
gun4_patron=0
EndIf
PlaySound reload
Animate gun4, 3,.55,3
relaod_delay_gun4=190
EndIf
If gun_select=4 And gun4_show=1 And MDOWN=1 And GUN4_LOOPSOUND=1 And gun4_magazin>0 And gun4_pickup=1 And relaod_delay_gun4=0 Then
If gun4_patron>0 Then gun4_patron=gun4_patron-1
gun4_magazin=gun4_magazin-1
 
 
PlaySound pistol_shot
 
Animate gun4, 3,1, 2
 
EndIf
 
 
 
If gun_select=1 And gun1_show=1 And gun1_pickup=1 Then
ShowEntity gun1
HideEntity gun2
HideEntity gun3
HideEntity gun4
EndIf
If gun_select=2 And gun2_show=1 And gun2_pickup=1 Then
ShowEntity gun2
HideEntity gun1
HideEntity gun3
HideEntity gun4
EndIf
If gun_select=3 And gun3_show=1 And gun3_pickup=1 Then
ShowEntity gun3
HideEntity gun1
HideEntity gun2
HideEntity gun4
EndIf
If gun_select=4 And gun4_show=1 And gun4_pickup=1 Then
ShowEntity gun4
HideEntity gun1
HideEntity gun3
HideEntity gun2
EndIf
If KeyHit(2) Then gun_select=1
If KeyHit(3) Then gun_select=2
If KeyHit(4) Then gun_select=3
If KeyHit(5) Then gun_select=4
If MouseHit(3) Then gun_select=4
If KeyHit(15)
If gun1_show=0 And gun2_show=0 And gun3_show=0 And gun4_show=0
gun1_show=1
gun2_show=1
gun3_show=1
gun4_show=1
Else
gun1_show=0
gun2_show=0
gun3_show=0
gun4_show=0
EndIf
EndIf
If gun1_pickup=0
HideEntity gun1
EndIf
If gun2_pickup=0
HideEntity gun2
EndIf
If gun3_pickup=0
HideEntity gun3
EndIf
If gun4_pickup=0
HideEntity gun4
EndIf
If gun1_show=0
HideEntity gun1
EndIf
If gun2_show=0
HideEntity gun2
EndIf
If gun3_show=0
HideEntity gun3
EndIf
If show_cr2=1 And gun_select=3
HideEntity gun3
EndIf
If gun4_show=0
HideEntity gun4
EndIf
 
End Function

Сразу говорю код не тестил может даже что то упустил!
Кому не лень пользуйтесь!))))

Taugeshtu 20.01.2008 19:11

Ответ: Смена Weapon"нов
 
Как всегда, возжигаешь:
Код:

;RayEngineX
А не проще ли было бы некоторые данные (pickup, show, patron) внести в массив? ;-)

P.S.
(для тех, кто не понял моего ч0рного юмора: движок С.Т.А.Л.К.Е.Р.а носит название XRay Engine)


Genius 20.01.2008 19:16

Re: Ответ: Смена Weapon"нов
 
А не проще ли было бы некоторые данные (pickup, show, patron) внести в массив? ;-)

P.S.
(для тех, кто не понял моего ч0рного юмора: движок С.Т.А.Л.К.Е.Р.а носит название XRay Engine)
[/quote]
НУ каму как!:)

jimon 20.01.2008 19:23

Ответ: Смена Weapon"нов
 
оооооййййй, ... очень очень плохой код имхо

Genius 20.01.2008 19:30

Re: Смена Weapon"нов
 
Да я знаю что плохой)))) еслиб он был хороший яб не выкладывал его!Вообще я ща пищу новый код оружия который реал тайм работает тоесть код я написал - вот и всё в папке cfg\weapons\ создал файл cfg.ini хотя сделаю что он сам создовался и там в этой же папке создал файл ak47.ini в этом файле создал все даные о вепоне ак47 тоесть модель инфу сокок потрон мощь и т.д и в файле cfg.ini инклужу ak47.ini вот и всё игра сама считывает данные а саму вепону добовлять игроку через квест или купить у продовца!

Raiter 20.01.2008 19:32

Ответ: Смена Weapon"нов
 
А нах галимый код выкладывать со словами "вот вам люди. пользуйтесь" ? Человек неопытный может подумать, что этот код нормальный и заюзает его...

Genius 20.01.2008 19:33

Re: Смена Weapon"нов
 
Ну воопервы человеку не опытныму это подайдет так как этот код рабочий!

Черный крыс 20.01.2008 19:39

Ответ: Смена Weapon"нов
 
Код называецца "смерть перфомансу"!

Raiter 20.01.2008 19:40

Ответ: Смена Weapon"нов
 
Да нафиг! 300 строк для смены оружия...

Цитата:

Ну воопервы человеку не опытныму это подайдет так как этот код рабочий!
Цитата:

Сразу говорю код не тестил может даже что то упустил!

Genius 20.01.2008 19:47

Re: Ответ: Смена Weapon"нов
 
Цитата:

Сообщение от Raiter (Сообщение 75044)
Да нафиг! 300 строк для смены оружия...

Я его протестил уже!Всё работает только надо модельки с анимацией и ini.bb

Igorr 20.01.2008 20:24

Ответ: Смена Weapon"нов
 
ЖЖошь. Типы умеещь использовать?
Код:

Const MAX_WEAPONS=10
Dim Weapons.TWeapon(MAX_WEAPONS)

Type TWeapon
End Type

Type TWeaponPickup
End Type

Type TWeaponAmmoPickup


DarkKnight 20.01.2008 20:38

Ответ: Смена Weapon"нов
 
я так понял он решил похвастаться но как сказали что это не код,а хз что то сразу оправдываться типа я знаю.
а зачем вопще писать плохой и сложный код?

dimanche13 20.01.2008 20:59

Ответ: Смена Weapon"нов
 
Чего до___лись до человека? Пишет как умеет, делится кодом. Я заметил странную тенденцию нападать на неопытных, обсерать их и унижать на этом форуме. А про типы знают не все. Начинающие уж точно- не знают. Раз уж такие умные напишите в теме свои менеджеры оружия. А мы посмотрим. Да и человек чему-нибудь понаучится.

Igorr 20.01.2008 21:54

Ответ: Смена Weapon"нов
 
Цитата:

Сообщение от dimanche13 (Сообщение 75060)
Чего до___лись до человека? Пишет как умеет, делится кодом. Я заметил странную тенденцию нападать на неопытных, обсерать их и унижать на этом форуме. А про типы знают не все. Начинающие уж точно- не знают. Раз уж такие умные напишите в теме свои менеджеры оружия. А мы посмотрим. Да и человек чему-нибудь понаучится.

Его никто не унижает и не обсирает. Просто зачем забивать форум ненужными кодами которые все равно никто не будет использовать? И лучше бы он этот код выложил на своём сайте(а он у него 100% есть) а сайт поставил в подпись. ;)

Genius 20.01.2008 21:55

Re: Ответ: Смена Weapon"нов
 
Цитата:

Сообщение от dimanche13 (Сообщение 75060)
Чего до___лись до человека? Пишет как умеет, делится кодом. Я заметил странную тенденцию нападать на неопытных, обсерать их и унижать на этом форуме. А про типы знают не все. Начинающие уж точно- не знают. Раз уж такие умные напишите в теме свои менеджеры оружия. А мы посмотрим. Да и человек чему-нибудь понаучится.

СПАСИБА)!
Да и правда раз вы такие крутые покажите на что способны!:-)


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

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