Показать сообщение отдельно
Старый 20.01.2008, 19:02   #1
Genius
Знающий
 
Аватар для Genius
 
Регистрация: 02.11.2007
Сообщений: 255
Написано 27 полезных сообщений
(для 43 пользователей)
Плохо Смена 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
Сразу говорю код не тестил может даже что то упустил!
Кому не лень пользуйтесь!))))
(Offline)
 
Эти 2 пользователя(ей) сказали Спасибо Genius за это полезное сообщение:
Fant (18.02.2008), JeSss (27.01.2008)