Created
February 14, 2014 14:32
-
-
Save ForNeVeR/9001938 to your computer and use it in GitHub Desktop.
"ЩИ!!!Симулятор жестокости" - http://www.gamedev.ru/projects/forum/?id=160897
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#define WIN32_LEAN_AND_MEAN // just say no to MFC | |
#define INIT_GUID | |
#include "hge.h" | |
#include <hgesprite.h> | |
#include <hgefont.h> | |
#include <hgecolor.h> | |
#include <hgeanim.h> | |
#include <hgegui.h> | |
#include <hgeparticle.h> | |
#include <windowsx.h> | |
#include <mmsystem.h> | |
#include <list> | |
#include <iostream> | |
#include <fstream> | |
#include <cstdio> | |
#include <cstdlib> | |
#include <conio.h> | |
#include <malloc.h> | |
#include <memory.h> | |
#include <string.h> | |
#include <stdarg.h> | |
#include <fstream> | |
#include <stdio.h> | |
#include <stdlib.h> | |
#include <ctype.h> | |
#include <windows.h> | |
#include <winsock2.h> | |
#include "menuitem.h" | |
#include <io.h> | |
#include <fcntl.h> | |
using namespace std; | |
#define WM_SOCKET WM_USER+1 // Socket Windows Message | |
HGE *hge=0; | |
hgeGUI* menu; | |
hgeGUI* menu_info; | |
hgeGUI* menu_start; | |
hgeGUI* menu_video; | |
hgeGUI* menu_really; | |
hgeGUI* menu_class; | |
hgeGUI* menu_class2; | |
hgeParticleSystem* blood_ssit_psi; | |
HTEXTURE blood_ssit_tex; | |
hgeSprite* blood_ssit_spr; | |
hgeParticleSystem* RPG_healing_psi; | |
HTEXTURE RPG_healing_tex; | |
hgeSprite* RPG_healing_spr; | |
hgeParticleSystem* vzriv_grena_psi; | |
HTEXTURE vzriv_grena_tex; | |
hgeSprite* vzriv_grena_spr; | |
hgeParticleSystem* vzriv_ogon_grena_psi; | |
HTEXTURE vzriv_ogon_grena_tex; | |
hgeSprite* vzriv_ogon_grena_spr; | |
hgeColor* fonColor; | |
HTARGET blood_target; | |
hgeSprite* blood_tar; | |
hgeSprite* pulya;//огонь | |
hgeSprite* pulya2;//огонь 2 | |
hgeSprite* p;//пуля | |
hgeSprite* p2;//пуля2 | |
hgeSprite* optika1; | |
hgeSprite* p1d1; | |
hgeSprite* p1d2; | |
hgeSprite* p1d3; | |
hgeSprite* p1d4; | |
hgeSprite* p2d1; | |
hgeSprite* p2d2; | |
hgeSprite* p2d3; | |
hgeSprite* p2d4; | |
hgeSprite* gilza_pist; | |
hgeSprite* gilza_avt; | |
hgeSprite* fon1;//фон пожухлой травы | |
hgeSprite* fon2;//фон из пожухлой травы в лесную | |
hgeSprite* fon3;//фон лесной травы | |
hgeSprite* oblaka1; | |
hgeSprite* alkash1; | |
hgeSprite* derevo1; | |
hgeSprite* penek1; | |
hgeSprite* znak_polputi; | |
hgeSprite* polosa_finish; | |
hgeSprite* ak47;//автомат | |
hgeSprite* pm;//пистолет Макарова | |
hgeSprite* pp19_vityaz; //ПП 19-01 "Витязь" | |
hgeSprite* fn_f2000;//ФН_Ф2000 | |
hgeSprite* tt;//Тульский Токарев | |
hgeSprite* rpk;//РПК 74 | |
hgeSprite* mac;//MAC 1 | |
hgeSprite* winchester; //винчестер | |
hgeAnimation* winchester_anime; | |
hgeSprite* rpk47;//РПК 47 | |
hgeSprite* glok;//GLOK | |
hgeSprite* rgd5;//РГД-5 | |
hgeAnimation* katana1_anime; | |
hgeSprite* milkor;//Milkor MGL | |
hgeSprite* panzer;//Panzerfaust-3 | |
hgeSprite* webley;//Webley MK 4 | |
hgeSprite* fn_five_seven;//FN Five-Seven | |
hgeSprite* ak472;//автомат 2 | |
hgeSprite* pm2;//пистолет Макарова 2 | |
hgeSprite* pp19_vityaz2; //ПП 19-01 "Витязь" 2 | |
hgeSprite* fn_f20002;//ФН_Ф2000 2 | |
hgeSprite* tt2;//Тульский Токарев 2 | |
hgeSprite* rpk2;//РПК 74 2 | |
hgeSprite* mac2;//MAC 2 | |
hgeSprite* winchester2; //винчестер 2 | |
hgeAnimation* winchester2_anime; | |
hgeSprite* rpk472;//РПК 47 2 | |
hgeSprite* glok2;//GLOK2 | |
hgeSprite* rgd52;//РГД-5 2 | |
hgeAnimation* katana2_anime; | |
hgeSprite* milkor2;//Milkor MGL 2 | |
hgeSprite* panzer2;//Panzerfaust-3 2 | |
hgeSprite* webley2;//Webley MK 4 | |
hgeSprite* fn_five_seven2;//FN Five-Seven | |
hgeSprite* granata_podstvol;//граната из подствольника | |
hgeSprite* granata_panzer;//граната из panzerfaust-3 | |
hgeSprite* qlz87_pushka; | |
hgeSprite* qlz87_trenoga; | |
hgeFont* oboima_text;//показатель обоймы | |
hgeFont* info;//текст инфы | |
hgeFont* infoR;//красный текст | |
hgeFont* infoD;//потухлый текст | |
hgeFont* infoBR;//большой темно-красный текст | |
hgeFont* menu_font; | |
hgeSprite* galka; | |
hgeSprite* galka_menu; | |
hgeSprite* strelka_menu; | |
hgeSprite* znak_myasnik; | |
hgeSprite* znak_strelok; | |
hgeSprite* znak_razrushitel; | |
hgeSprite* znak_tehnik; | |
hgeSprite* status_opit; | |
hgeSprite* status_udar; | |
hgeSprite* status_status; | |
hgeSprite* opit1_progress; | |
hgeSprite* opit_okno_vibora; | |
hgeSprite* okno_lvl_progress; | |
hgeSprite* okno_lvl_progress_red; | |
hgeSprite* okno_lvl_progress_green; | |
hgeSprite* okno_lvl_polzunok; | |
hgeAnimation* player1_myasnik;//игрок 1 мясник | |
hgeAnimation* player1_strelok;//игрок 1 стрелок | |
hgeAnimation* player1_razrushitel;//игрок 1 разрушитель | |
hgeAnimation* player1_tehnik;//игрок 1 техник | |
hgeAnimation* player1_gogranata_ruka1; | |
hgeAnimation* player1_gogranata_ruka2; | |
hgeAnimation* player1_myasnik_ruka1_udar_sleva; | |
hgeAnimation* player1_ruka1_pistol; | |
hgeAnimation* player1_ruka1_vintovka; | |
hgeAnimation* player1_ruka1_winch; | |
hgeAnimation* player2_strelok;//игрок 2 стрелок | |
hgeAnimation* player2_gogranata_ruka1; | |
hgeAnimation* player2_gogranata_ruka2; | |
hgeAnimation* player2_myasnik_ruka1_udar_sleva; | |
hgeAnimation* player2_ruka1_pistol; | |
hgeAnimation* player2_ruka1_vintovka; | |
hgeAnimation* zayac;//заяц | |
hgeAnimation* uhi_a;//кровяк на ушах | |
hgeSprite* uhi;//заячьи уши | |
hgeSprite* zayac_boshka; | |
hgeSprite* zayac_boshka_bezuh; | |
hgeSprite* zayac_trup1; | |
hgeAnimation* volk; | |
hgeSprite* volk_trup1; | |
hgeAnimation* medved;//медведь | |
hgeSprite* medved_trup1; | |
hgeSprite* medved_boshka; | |
hgeAnimation* ptenec;//птенец! | |
hgeAnimation* ptenec_wait; | |
hgeSprite* ptenec_trup1; | |
hgeSprite* ptenec_boshka_vzriv1; | |
hgeSprite* RPG_healer; | |
hgeSprite* RPG_illusionist; | |
hgeSprite* RPG_teleporter; | |
hgeSprite* bonus_this; | |
hgeSprite* bonus_shilo; | |
hgeSprite* bonus_this_text; | |
hgeSprite* bonus_shilo_text; | |
hgeSprite* bonus_daun_text; | |
hgeSprite* bonus_ulitka_text; | |
hgeSprite* bonus_umnik_text; | |
hgeSprite* bonus_shilo_status; | |
hgeSprite* bonus_daun_status; | |
hgeSprite* bonus_ulitka_status; | |
hgeSprite* bonus_umnik_status; | |
hgeSprite* krovyak1; //при попадании | |
hgeSprite* krovyak2; | |
hgeSprite* krovyak3; | |
hgeSprite* krovyak_shot1; | |
hgeSprite* krovyak_plyam1; | |
hgeSprite* krovyak_plyam2; | |
hgeSprite* krovyak_plyam3; | |
hgeSprite* krovyak_luzha1; | |
hgeSprite* krovyak_myaso1; | |
hgeSprite* krovyak_myaso2; | |
hgeSprite* krovyak_myaso3; | |
hgeSprite* krovyak_myaso4; | |
hgeSprite* krovyak_myaso5; | |
hgeSprite* krovyak_zayac_noga1; | |
hgeSprite* krovyak_zayac_noga2; | |
hgeSprite* krovyak_zayac_noga3; | |
hgeSprite* krovyak_zayac_noga4; | |
hgeSprite* krovyak_zayac_rebra1; | |
hgeSprite* krovyak_zayac_rebra2; | |
hgeSprite* krovyak_vzriv1; | |
/*ТИПЫ ТРУПОВ | |
1-ЗАЯЦ 1 | |
2-УШИ(АНИМЕ) | |
3-УШИ(СПРАЙТ) | |
300-ВСПЛЕСК ОТ ВЗРЫВА1 | |
301-ВСПЛЕСК ОТ ВЗРЫВА1/2 | |
330-ВСПЛЕСК БОШКИ ПТЕНЦА1 | |
400-КРОВЯК1 | |
401-КРОВЯК2 | |
402-КРОВЯК3 | |
500-МЯСО1 | |
501-МЯСО2 | |
502-МЯСО3 | |
503-МЯСО4 | |
504-МЯСО5 | |
505-ЗАЯЧЬИ РЕБРА1 | |
506-ЗАЯЧЬИ РЕБРА2 | |
507-ЗАЯЧЬЯ НОГА1 | |
508-ЗАЯЧЬЯ НОГА2 | |
509-ЗАЯЧЬЯ НОГА3 | |
510-ЗАЯЧЬЯ НОГА4 | |
511-МЕДВЕЖЬЯ БОШКА1 | |
6-БОШКА | |
7-БОШКА БЕЗ УШЕЙ | |
800-ПЛЯМ 1 | |
801-ПЛЯМ 2 | |
802-ПЛЯМ 3 | |
9-ЛУЖА 1 | |
10-ВОЛК 1 | |
20-МЕДВЕД 1 | |
30-ПТЕНЕЦ 1 | |
31-ЛЕТУЧИЙ ПТЕНЕЦ=) | |
ТИПЫ БОНУСОВ | |
0-ВОПРОС | |
1-ШИЛО | |
*/ | |
// Handle for a sound effect | |
HEFFECT menu_sound; | |
HEFFECT menu_choose; | |
HEFFECT snd; | |
HEFFECT ak_reload1; | |
HEFFECT ak_reload2; | |
HEFFECT pm_fire; | |
HEFFECT pm_reload1; | |
HEFFECT pm_reload2; | |
HEFFECT pp19_fire; | |
HEFFECT pp19_reload1; | |
HEFFECT pp19_reload2; | |
HEFFECT fn_f2000_fire; | |
HEFFECT tt_fire; | |
HEFFECT mac_fire; | |
HEFFECT mac_reload1; | |
HEFFECT mac_reload2; | |
HEFFECT webley_fire; | |
HEFFECT webley_reload1; | |
HEFFECT webley_reload2; | |
HEFFECT fn_five_seven_fire; | |
HEFFECT milkor_fire; | |
HEFFECT winch_fire; | |
HEFFECT rocket_fire; | |
HEFFECT rocket2_fire; | |
HEFFECT rocket_polet; | |
HEFFECT rocket2_polet; | |
HEFFECT drob_reload1; | |
HEFFECT drob_pompa; | |
HEFFECT vzriv_grena1; | |
HEFFECT myaso_upalo1; | |
HEFFECT myaso_upalo2; | |
HEFFECT myaso_upalo3; | |
HEFFECT myaso_upalo4; | |
HEFFECT myaso_upalo5; | |
HEFFECT myaso_upalo6; | |
HEFFECT myaso_upalo7; | |
HEFFECT myaso_upalo8; | |
HEFFECT myaso_razriv_user1; | |
HEFFECT myaso_razriv_user2; | |
HEFFECT shot1; | |
HEFFECT headshot1; | |
HEFFECT headshot2; | |
HEFFECT headshot3; | |
HEFFECT headshot4; | |
HEFFECT headshot5; | |
HEFFECT headshot6; | |
HEFFECT headshot7; | |
HEFFECT headshot8; | |
HEFFECT ssik1; | |
HEFFECT ssik2; | |
HEFFECT ssik3; | |
HEFFECT ssik4; | |
HEFFECT ptenec_death1; | |
HTEXTURE oblaka1_tex; | |
HTEXTURE alkash1_tex; | |
HTEXTURE derevo1_tex; | |
HTEXTURE penek1_tex; | |
HTEXTURE znak_polputi_tex; | |
HTEXTURE polosa_finish_tex; | |
HTEXTURE ak; //автомат ак 47 | |
HTEXTURE ak2; | |
HTEXTURE ak_upgraded; | |
HTEXTURE ak2_upgraded; | |
HTEXTURE w_pm_tex; //пистолет Макарова | |
HTEXTURE w_pp19_vityaz_tex; //ПП19-01 "Витязь" | |
HTEXTURE w_fn_f2000_tex; | |
HTEXTURE w_fn_f2000_upgraded_tex; | |
HTEXTURE w_tt_tex; | |
HTEXTURE w_rpk_tex; | |
HTEXTURE w_mac_tex; | |
HTEXTURE w_winchester_tex; | |
HTEXTURE w_winchester_anime_tex; | |
HTEXTURE w_rpk47_tex; | |
HTEXTURE w_glok_tex; | |
HTEXTURE w_glok2_tex; | |
HTEXTURE w_rgd5_tex; | |
HTEXTURE katana_udar_sleva_tex; | |
HTEXTURE w_milkor_tex; | |
HTEXTURE w_granata_podstvol_tex; | |
HTEXTURE w_panzer_tex; | |
HTEXTURE w_panzer_out_tex; | |
HTEXTURE w_granata_panzer_tex; | |
HTEXTURE w_webley_tex; | |
HTEXTURE w_fn_five_seven_tex; | |
HTEXTURE w_qlz87_pushka_tex; | |
HTEXTURE w_qlz87_trenoga_tex; | |
HTEXTURE ogon1; | |
HTEXTURE player1_myasnik_tex; | |
HTEXTURE player1_strelok_tex; | |
HTEXTURE player1_razrushitel_tex; | |
HTEXTURE player1_tehnik_tex; | |
HTEXTURE player1_myasnik_gogranata_ruka1_tex; | |
HTEXTURE player1_myasnik_gogranata_ruka2_tex; | |
HTEXTURE player1_strelok_gogranata_ruka1_tex; | |
HTEXTURE player1_strelok_gogranata_ruka2_tex; | |
HTEXTURE player1_razrushitel_gogranata_ruka1_tex; | |
HTEXTURE player1_razrushitel_gogranata_ruka2_tex; | |
HTEXTURE player1_tehnik_gogranata_ruka1_tex; | |
HTEXTURE player1_tehnik_gogranata_ruka2_tex; | |
HTEXTURE player1_myasnik_ruka1_udar_sleva_tex; | |
HTEXTURE player1_strelok_ruka1_udar_sleva_tex; | |
HTEXTURE player1_razrushitel_ruka1_udar_sleva_tex; | |
HTEXTURE player1_tehnik_ruka1_udar_sleva_tex; | |
HTEXTURE player1_myasnik_ruka1_pistol_tex; | |
HTEXTURE player1_strelok_ruka1_pistol_tex; | |
HTEXTURE player1_razrushitel_ruka1_pistol_tex; | |
HTEXTURE player1_tehnik_ruka1_pistol_tex; | |
HTEXTURE player1_myasnik_ruka1_vintovka_tex; | |
HTEXTURE player1_strelok_ruka1_vintovka_tex; | |
HTEXTURE player1_razrushitel_ruka1_vintovka_tex; | |
HTEXTURE player1_tehnik_ruka1_vintovka_tex; | |
HTEXTURE player1_myasnik_ruka1_winch_tex; | |
HTEXTURE player1_strelok_ruka1_winch_tex; | |
HTEXTURE player1_razrushitel_ruka1_winch_tex; | |
HTEXTURE player1_tehnik_ruka1_winch_tex; | |
HTEXTURE player2_strelok_tex; | |
HTEXTURE player2_gogranata_ruka1_tex; | |
HTEXTURE player2_gogranata_ruka2_tex; | |
HTEXTURE player2_strelok_ruka1_udar_sleva_tex; | |
HTEXTURE player2_strelok_ruka1_pistol_tex; | |
HTEXTURE player2_strelok_ruka1_vintovka_tex; | |
HTEXTURE zayac_go_tex; //заяц | |
HTEXTURE zayac_go_bezuh_tex; //заяц без ух | |
HTEXTURE zayac_uhi_tex; //ухи зайца (анимация) | |
HTEXTURE zayac_uhi_s_tex;//ухи зайца (спрайт) | |
HTEXTURE zayac_uhi_k_tex;//ухи зайца (конец) | |
HTEXTURE zayac_boshka_tex; | |
HTEXTURE zayac_boshka_bezuh_tex; | |
HTEXTURE volk_go_tex; | |
HTEXTURE volk_trup1_a_tex; | |
HTEXTURE volk_trup1_b_tex; | |
HTEXTURE volk_trup1_c_tex; | |
HTEXTURE medved_go_tex; | |
HTEXTURE ptenec_go_tex; | |
HTEXTURE ptenec_wait_tex; | |
HTEXTURE ptenec_vpolete_tex; | |
HTEXTURE ptenec_vpolete_reverse_tex; | |
HTEXTURE ptenec_trup1_tex; | |
HTEXTURE ptenec_boshka_vzriv1_a_tex; | |
HTEXTURE ptenec_boshka_vzriv1_b_tex; | |
HTEXTURE ptenec_boshka_vzriv1_c_tex; | |
HTEXTURE ptenec_boshka_vzriv1_d_tex; | |
HTEXTURE ptenec_boshka_vzriv1_e_tex; | |
HTEXTURE RPG_healer_tex; | |
HTEXTURE RPG_illusionist_tex; | |
HTEXTURE RPG_teleporter_tex; | |
HTEXTURE bonus_this_tex; | |
HTEXTURE bonus_shilo_tex; | |
HTEXTURE bonus_this_text_tex; | |
HTEXTURE bonus_shilo_text_tex; | |
HTEXTURE bonus_daun_text_tex; | |
HTEXTURE bonus_ulitka_text_tex; | |
HTEXTURE bonus_umnik_text_tex; | |
HTEXTURE bonus_shilo_status_tex; | |
HTEXTURE bonus_daun_status_tex; | |
HTEXTURE bonus_ulitka_status_tex; | |
HTEXTURE bonus_umnik_status_tex; | |
HTEXTURE blood1_tex; | |
HTEXTURE blood2_tex; | |
HTEXTURE blood3_tex; | |
HTEXTURE blood_shot1_tex; | |
HTEXTURE blood_plyam1_tex; | |
HTEXTURE blood_plyam2_tex; | |
HTEXTURE blood_plyam3_tex; | |
HTEXTURE blood_luzha1_tex; | |
HTEXTURE blood_myaso1_tex; | |
HTEXTURE blood_myaso2_tex; | |
HTEXTURE blood_myaso3_tex; | |
HTEXTURE blood_myaso4_tex; | |
HTEXTURE blood_myaso5_tex; | |
HTEXTURE blood_zayac_noga1_tex; | |
HTEXTURE blood_zayac_noga2_tex; | |
HTEXTURE blood_zayac_noga3_tex; | |
HTEXTURE blood_zayac_noga4_tex; | |
HTEXTURE blood_zayac_rebra1_tex; | |
HTEXTURE blood_zayac_rebra2_tex; | |
HTEXTURE blood_vzriv1_a_tex; | |
HTEXTURE blood_vzriv1_b_tex; | |
HTEXTURE blood_vzriv1_c_tex; | |
HTEXTURE blood_vzriv1_d_tex; | |
HTEXTURE blood_vzriv1_e_tex; | |
HTEXTURE blood_vzriv1_e2_tex; | |
HTEXTURE fon1_tex; | |
HTEXTURE fon2_tex; | |
HTEXTURE fon3_tex; | |
HTEXTURE zayac_trup1_a_tex; | |
HTEXTURE zayac_trup1_b_tex; | |
HTEXTURE zayac_trup1_c_tex; | |
HTEXTURE zayac_trup1_d_tex; | |
HTEXTURE zayac_trup1_a_bezuh_tex; | |
HTEXTURE zayac_trup1_b_bezuh_tex; | |
HTEXTURE zayac_trup1_c_bezuh_tex; | |
HTEXTURE zayac_trup1_d_bezuh_tex; | |
HTEXTURE zayac_trup1_a_bezboshki_tex; | |
HTEXTURE zayac_trup1_b_bezboshki_tex; | |
HTEXTURE zayac_trup1_c_bezboshki_tex; | |
HTEXTURE zayac_trup1_d_bezboshki_tex; | |
HTEXTURE medved_trup1_a_tex; | |
HTEXTURE medved_trup1_b_tex; | |
HTEXTURE medved_trup1_c_tex; | |
HTEXTURE medved_trup1_d_tex; | |
HTEXTURE medved_trup1_e_tex; | |
HTEXTURE medved_trup1_f_tex; | |
HTEXTURE medved_trup1_a_bezboshki_tex; | |
HTEXTURE medved_trup1_b_bezboshki_tex; | |
HTEXTURE medved_trup1_c_bezboshki_tex; | |
HTEXTURE medved_trup1_d_bezboshki_tex; | |
HTEXTURE medved_trup1_e_bezboshki_tex; | |
HTEXTURE medved_trup1_f_bezboshki_tex; | |
HTEXTURE medved_boshka1_tex; | |
HTEXTURE galka_tex; | |
HTEXTURE galka_menu_tex; | |
HTEXTURE strelka_menu_tex; | |
HTEXTURE strelka_menu_D_tex; | |
HTEXTURE znak_myasnik_tex; | |
HTEXTURE znak_strelok_tex; | |
HTEXTURE znak_razrushitel_tex; | |
HTEXTURE znak_tehnik_tex; | |
HTEXTURE status_opit_tex; | |
HTEXTURE status_udar_tex; | |
HTEXTURE status_status_tex; | |
HTEXTURE opit_okno_vibora_tex; | |
HTEXTURE okno_lvl_progress_tex; | |
HTEXTURE okno_lvl_progress_red_tex; | |
HTEXTURE okno_lvl_progress_green_tex; | |
HTEXTURE okno_lvl_polzunok_tex; | |
char* str1; | |
int X=0; | |
int Xz=0; | |
bool afk1,afk2,lvl_go1,lvl_go2,lvl_back1,lvl_back2; | |
bool TEST_REZHIM=false; | |
bool PAUSE=false; | |
bool pobeda=false; | |
bool porazhenie=false; | |
int pobeda_time; | |
int leveltime=0; | |
int kills; | |
int kills2; | |
int points1=0; | |
int points2=0; | |
int kills_zayac,kills_volk,kills_medved,kills_zayac_vschiii,kills_zayac_bezuh,kills_zayac_bezboshki; | |
int kills2_zayac,kills2_volk,kills2_medved,kills2_zayac_vschiii,kills2_zayac_bezuh,kills2_zayac_bezboshki; | |
float procent_kills_zayac_bezuh,procent_kills_zayac_bezboshki,procent_kills_zayac_vschiii; | |
float procent_kills2_zayac_bezuh,procent_kills2_zayac_bezboshki,procent_kills2_zayac_vschiii; | |
int LIVES=5; | |
int DIFF=1; | |
bool DIFF_UP=true; | |
bool DIFF_UPGRADED=false; | |
int n_zayac_up=0; | |
int n_zayac_down=0; | |
int n_volk_up=0; | |
int n_volk_down=0; | |
int n_medved_up=0; | |
int n_medved_down=0; | |
bool zayac_must_down=false; | |
bool volk_must_down=false; | |
bool medved_must_down=false; | |
int lvl1_lenght=8400; | |
int pause_time_sec=0; | |
float pause_time=0; | |
int pause_start_time_sec; | |
float pause_start_time; | |
bool pause_time_minus; | |
//СИСТЕМА КЛАССОВ | |
bool CLASSMOD=true; | |
int class1=2; | |
int class2=2; | |
int player_vibor=0; | |
//мясник | |
int primanka1=0; | |
int mosch1=0; | |
int primanka2=0; | |
int mosch2=0; | |
//стрелок | |
float tochnost1=1; | |
float tochnost2=1; | |
int postroenie1=0; | |
int postroenie2=0; | |
//подрывник | |
float vinoslivost1=1; | |
float vinoslivost2=1; | |
int vzrivchatka1=0; | |
int vzrivchatka2=0; | |
//техник | |
int modifikacii1=0; | |
int modifikacii2=0; | |
int technika1=0; | |
int technika2=0; | |
//СИСТЕМА КЛАССОВ | |
//РПГ-МОД | |
bool RPGMOD=true; | |
float status1x=1168; | |
float status1y=140; | |
float status2x=1168; | |
float status2y=510; | |
int status_queue1=0; | |
int status_queue2=0; | |
bool status_queue1_block=false; | |
bool status_queue2_block=false; | |
float opit1=0; | |
float opit2=0; | |
int LVL1=1; | |
int LVL2=1; | |
bool lvl1_ready=false; | |
bool lvl2_ready=false; | |
bool lvl1_vibor=false; | |
bool lvl2_vibor=false; | |
float lvl1_mig_time,lvl1_mig_time_milli; | |
float lvl2_mig_time,lvl2_mig_time_milli; | |
int lvl1_mig,lvl2_mig; | |
int attack1=0; | |
int attack2=0; | |
int luck1=0; | |
int luck2=0; | |
int skorost1=100; | |
int skorost2=100; | |
int daun1=1; | |
int daun2=1; | |
int umnik1=0; | |
int umnik2=0; | |
int weapon1_fire=0; | |
int weapon2_fire=0; | |
int opit_points1=0; | |
int opit_points2=0; | |
int naviki_points1=0; | |
int naviki_points2=0; | |
//прогресс опыта | |
float opit1_x2=970; | |
float opit2_x2=970; | |
int VIBOR=0; | |
int VIBOR_ITEM=1; | |
bool vibor_block=false; | |
int vibor_time; | |
float vibor_time_milli; | |
bool viborchange_block=false; | |
int viborchange_time; | |
float viborchange_time_milli; | |
bool lvl_key_block=false; | |
int lvl_key_time; | |
float lvl_key_time_milli; | |
int opit_lvl[1000]; | |
//{1000,1500,2500,4000,6000,8500,11500,15000,19000,23500,28500,34000,40000,46500,53500,61000,69000}; | |
int defence_zayac=0; | |
int defence_volk=10; | |
int defence_medved=25; | |
bool rpg_healers=false; | |
bool rpg_illusionists=false; | |
bool rpg_teleporters=false; | |
int defence_upgrade_sec; | |
//ЗАКРЫТИЕ РПГ-МОДА | |
int schi=1; | |
int video_size; | |
int menu_aktive=1; | |
int game_start=0; | |
int player2_aktive=0; | |
int volume=100; | |
//переменные для перезарядки | |
int perez_akt=0; | |
float perez_akt_milli; | |
float perez_time; //точное время перезарядки (сек) | |
float perez_time_milli;//точно время перезарядки (миллисек) | |
int time_was=0; | |
int time_now=0; | |
int time; | |
int t; | |
bool reload=false; | |
bool reload2=false; | |
float perez_time2; //точное время перезарядки (сек) | |
float perez_time_milli2;//точно время перезарядки (миллисек) | |
float pompa_time; | |
float pompa_time_milli; | |
float pompa_time2; | |
float pompa_time_milli2; | |
int pompa_akt1=0; | |
int pompa_akt2=0; | |
//св-ва оружий. формат: АК,ПМ,ПП-19'Витязь',FN_F2000,TT,РПК,MAC,WINCHESTER,РПК47,ГЛОК,РГД-5,катана,MILKOR-MGL, | |
// 0 1 2 3 4 5 6 7 8 9 10 11 12 | |
//Panzerfaust3, Webley mk4, FN Five-Seven | |
// 13 14 15 | |
int oboim[16]={30,8,30,30,8,45,50,8,75,17,1,0,6,1,6,20}; | |
int oboim2[16]={30,8,30,30,8,45,50,8,75,17,1,0,6,1,6,20}; | |
int oboima_alt[16]={1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0}; | |
int oboima2_alt[16]={1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0}; | |
int damage[16]={70,20,40,55,30,72,35,75,72,20,300,20,270,550,50,32}; | |
float weight[16]={3,0.4f,2.2f,3.6f,0.5f,4.5f,2,3.2f,4.8f,0.7f,0.2f,0.5f,5.3f,8,0.7f,0.5f}; | |
// ак пм пп19 ф2000 ТТ рпк мас winch рпк47 глок ргд-5 катана MILKOR-MGL P3 Wmk4 FN5-7 | |
int cena[16]={15000,0,7500,27500,1000,24000,5000,7500,22000,1500,3500,3000,20000,40000,2000,3000}; | |
int cena_up[2]={12500,9000}; | |
int reload_time[16]={2,1,1,2,1,3,1,0,3,1,0,0,0,3,1,1}; | |
int reload_time_milli[16]={0,0,500,0,0,0,500,0,0,0,0,500,0,0,0,0}; | |
float weapon_x1[16]; | |
float weapon_y1[16]; | |
float weapon_x2[16]; | |
float weapon_y2[16]; | |
float weapon2_x1[16]; | |
float weapon2_y1[16]; | |
float weapon2_x2[16]; | |
float weapon2_y2[16]; | |
float w_x1[16]={-55,-32,-46,-60,-35,-72,-30,-72,-73,-35,0,0,-60,-70,-40,-35}; | |
float w_y1[16]={-15,-12,-15,-22,-13,-15,-15,-15,-15,-13,0,0,-20,-21,-16,-14}; | |
float w_x2[16]={ 8, -7, 7, 4, -7, 10, 3, 14, 9, -7,0,0, 10, 30, -8, -7}; | |
float w_y2[16]={ 10, 8, 13, 6, 8, 12, 15, 9, 25, 8,0,0, 4, 4, 2, 5}; | |
int radius_vzriva[4]={0,200,200,350}; | |
int damage_gren[4]={0,300,270,500}; | |
int random_rasst_min[16]={400,200,300,450,250,400,300,0,350,250,0,0,0,0,350,350}; | |
int random_rasst_max[16]={600,400,500,650,500,500,450,0,450,400,0,0,0,0,500,500}; | |
float random_value1[16]={5,6,5,3,5.5f,5.5f,5.5f,0,6,6,0,0,0,0,6,4}; | |
float random_value2[16]={9,12,10,6,11,9,12,0,10,11.5f,0,0,0,0,12,10}; | |
float w_opit_zayac[16]={1.2f,2,1.4f,0.8f,1.8f,1,1.6f,1.2f,1,2,1.5f,1.6f,1,0.8f,1.4f,1.2f}; | |
float w_opit_zayac_vschiii[16]={1.2f,2,1.4f,0.8f,1.8f,1,1.6f,1,1,2,1.5f,1.6f,1,1,1.2f,1.4f}; | |
float w_opit_volk[16]={1.2f,2,1.4f,0.8f,1.8f,1,1.6f,1,1,2,1.5f,1.8f,1.2f,1,1.5f,1.5f}; | |
float w_opit_medved[16]={1.2f,2,1.4f,0.8f,1.8f,1,1.6f,1,1,2,1.8f,2,1.4f,1,1.8f,1.6f}; | |
float vistrel_time; | |
int vistrel_time_sec; | |
float vistrel2_time; | |
int vistrel2_time_sec; | |
//переменные для смены оружия | |
int last_weapon1,pred_weapon1,weapon1_change,weapon1_buy; | |
float weapon1_change_time; | |
int weapon1_change_time_sec; | |
bool w1_buy[16]; | |
bool w2_buy[16]; | |
bool ak_buy=false; | |
bool pp19_buy=false; | |
bool fn_f2000_buy=false; | |
bool tt_buy=false; | |
bool rpk_buy=false; | |
bool mac_buy=false; | |
bool winchester_buy=false; | |
bool rpk47_buy=false; | |
bool glok_buy=false; | |
bool rgd5_buy=false; | |
bool katana_buy=false; | |
bool milkor_buy=false; | |
bool panzer_buy=false; | |
bool webley_buy=false; | |
bool fn_five_seven_buy=false; | |
bool ak_up=false; | |
bool fn_f2000_up=false; | |
//переменные для смены оружия игрока 2 | |
int last_weapon2,pred_weapon2,weapon2_change,weapon2_buy; | |
float weapon2_change_time; | |
int weapon2_change_time_sec; | |
bool ak_buy2=false; | |
bool pp19_buy2=false; | |
bool fn_f2000_buy2=false; | |
bool tt_buy2=false; | |
bool rpk_buy2=false; | |
bool mac_buy2=false; | |
bool winchester_buy2=false; | |
bool rpk47_buy2=false; | |
bool glok_buy2=false; | |
bool rgd5_buy2=false; | |
bool katana_buy2=false; | |
bool milkor_buy2=false; | |
bool panzer_buy2=false; | |
bool webley_buy2=false; | |
bool fn_five_seven_buy2=false; | |
bool ak_up2=false; | |
bool fn_f2000_up2=false; | |
int menu1_on=0; | |
int pistol1=1; | |
int drob1,smg1,avtomat1,pulemet1,granatomet1,vintovka1,holodnoe1,spec1; | |
int menu2_on=0; | |
int pistol2=1; | |
int drob2,smg2,avtomat2,pulemet2,granatomet2,vintovka2,holodnoe2,spec2; | |
int GAME_PROGRESS=0; | |
int sit1=0; | |
// игрок1 | |
float x=1000.0f, y=450.0f; | |
//и все что нужно для его движения | |
float dx=0.0f, dy=0.0f; | |
float speed=skorost1; | |
const float tormoz=0.89f; | |
float afx; | |
float afX; | |
// игрок2 | |
float x2=1000.0f, y2=600.0f; | |
//и все что нужно для его движения | |
float dx2=0.0f, dy2=0.0f; | |
float speed2=skorost2; | |
const float tormoz2=0.89f; | |
float afx2; | |
float afX2; | |
//координаты огня пули игрока1 | |
float a; | |
float b; | |
//координаты для РГД5 игрока1 | |
float rgd5x1,rgd5y1,rgd5x2,rgd5y2; | |
//координаты для катаны игрока1 | |
float katanax1,katanay1,katanax2,katanay2; | |
//координаты огня пули игрока2 | |
float a2; | |
float b2; | |
//координаты для РГД5 игрока2 | |
float rgd52x1,rgd52y1,rgd52x2,rgd52y2; | |
//координаты для катаны игрока2 | |
float katana2x1,katana2y1,katana2x2,katana2y2; | |
int oboima;//кол-во пуль в обойме игрока 1 | |
int oboima_akt; | |
int oboima2;//кол-во пуль в обойме игрока 2 | |
int oboima2_akt; | |
//пуля | |
float px; | |
float py; | |
//пуля2 | |
float p2x; | |
float p2y; | |
//дробь | |
float p1d1x,p1d1y; | |
float p1d2x,p1d2y; | |
float p1d3x,p1d3y; | |
float p1d4x,p1d4y; | |
//дробь2 | |
float p2d1x,p2d1y; | |
float p2d2x,p2d2y; | |
float p2d3x,p2d3y; | |
float p2d4x,p2d4y; | |
int aktivatorp=0; | |
int aktivatorp1d1=0; | |
int aktivatorp1d2=0; | |
int aktivatorp1d3=0; | |
int aktivatorp1d4=0; | |
int aktivatorgren=0; | |
int p_vistrel; | |
float p_ogon_ms; | |
int p_ogon_s; | |
int ak_tex; | |
int aktivatorp2=0; | |
int aktivatorp2d1=0; | |
int aktivatorp2d2=0; | |
int aktivatorp2d3=0; | |
int aktivatorp2d4=0; | |
int aktivatorgren2=0; | |
int p_vistrel2; | |
float p_ogon_ms2; | |
int p_ogon_s2; | |
int ak2_tex; | |
//ЗВУКИ | |
int headshotPan; | |
int player1Pan; | |
int player2Pan; | |
int myasoupaloPan; | |
int myasorazrivPan; | |
//враг | |
#define MAX_ZAYAC 29 | |
#define MAX_VOLK 20 | |
#define MAX_MEDVED 20 | |
#define MAX_PTENEC 20 | |
#define MAX_TRUPS 5000 | |
#define MAX_UHI 200 | |
#define MAX_BLOOD 500 | |
#define MAX_HEAD 200 | |
#define MAX_GILZ 200 | |
#define MAX_BONUS 200 | |
#define MAX_BONUSTEXT 200 | |
#define MAX_BONUSI 200 | |
#define MAX_BONUSSTATUS 50 | |
#define MAX_MYASO 2000 | |
#define MAX_GREN 100 | |
#define MAX_KILLS 100000 | |
#define NET_STARTGAME 0x04 | |
int N_ZAYAC; | |
int N_UHI; | |
int N_VOLK; | |
int N_MEDVED; | |
int N_PTENEC; | |
int N_TRUPS; | |
int NUMBER_TRUPS; | |
int N_BLOOD; | |
int NUMBER_BLOOD; | |
int N_HEAD; | |
int N_GILZ; | |
int N_BONUS; | |
int N_BONUSTEXT; | |
int N_BONUS1; | |
int N_BONUS2; | |
int N_BONUSSTATUS1; | |
int N_BONUSSTATUS2; | |
int N_MYASO; | |
int N_OBJECTS=26;//1 знак 5 пней и 20 деревьев | |
int N_Y; | |
int N_GREN; | |
int N_KILLS; | |
int N_WEAPON1=1; | |
int N_WEAPON2=1; | |
int ppp; | |
int bonus; | |
int shot=0; | |
int headshotRand; | |
int ssikRand; | |
int myaskoRand; | |
int razrivRand; | |
int myaskoSsit; | |
struct spriteObject //ТРУПЫ-------------------- | |
{ | |
float posX,posY; | |
float posX2,posY2; | |
float posX_s,posX2_s; | |
float posX_X,posX2_X; | |
int type; | |
int aktiv; | |
int frame; | |
int frame_akt; | |
float killtime; | |
int killtime_sec; | |
DWORD color; | |
HTEXTURE trup_tex; | |
float rot; | |
float scaleX; | |
float scaleY; | |
int vrag; | |
}; | |
int peregruzheno=0; | |
spriteObject* trupsObjects; | |
struct zayacObject //ЗАЙЦЫ--------------------- | |
{ float v1x,v1y; | |
int bezuh; | |
int bezboshki; | |
int ubit; | |
int pokoin; | |
int health; | |
int killed_by; | |
float timeout_milli,timeout; | |
float speed; | |
int defence; | |
float kill_time; | |
int kill_time_sec; | |
int object_id; | |
int A; | |
bool vzorvan; | |
float energy; | |
float rasstX,rasstY; | |
int chetvert; | |
int RPG_healer; | |
int RPG_illusionist; | |
float ill1_x,ill1_y,ill2_x,ill2_y; | |
int ill1_active,ill2_active; | |
int RPG_teleporter; | |
float teleportx; | |
int teleported; | |
}; | |
zayacObject* vragi1Objects; | |
struct uhiObject //УШИ--------------------- | |
{ | |
float uhix,uhiy; | |
float niz; | |
float gradus; | |
float akt; | |
}; | |
uhiObject* uhiObjects; | |
struct volkObject //ВОЛКИ---------------------- | |
{ | |
float v2x,v2y; | |
int ubit; | |
int health; | |
int killed_by; | |
float timeout_milli,timeout; | |
float speed; | |
int defence; | |
int object_id; | |
int RPG_healer; | |
int RPG_illusionist; | |
float ill1_x,ill1_y,ill2_x,ill2_y; | |
int ill1_active,ill2_active; | |
int RPG_teleporter; | |
float teleportx,teleporty; | |
int teleported; | |
}; | |
volkObject* vragi2Objects; | |
struct medvedObject //МЕДВЕДИ---------------------- | |
{ | |
float v3x,v3y; | |
int ubit; | |
int health; | |
int killed_by; | |
int bezboshki; | |
float timeout_milli,timeout; | |
float speed; | |
int defence; | |
int object_id; | |
int RPG_healer; | |
int RPG_illusionist; | |
float ill1_x,ill1_y,ill2_x,ill2_y; | |
int ill1_active,ill2_active; | |
int RPG_teleporter; | |
float teleportx,teleporty; | |
int teleported; | |
}; | |
medvedObject* vragi3Objects; | |
struct ptenecObject //ПТЕНЦЫ!!!---------------------- | |
{ | |
float v4x,v4y; | |
float gradus; | |
float gradusNext; | |
int wait; | |
int wait_time_sec; | |
int bezboshki; | |
int ubit; | |
int health; | |
int killed_by; | |
float timeout_milli,timeout; | |
float speed; | |
int defence; | |
int object_id; | |
int polet; | |
float rx,ry; | |
float r; | |
float speedX,speedY; | |
bool up; | |
bool kruzhit; | |
int zahod,chetvert,chetvert_n; | |
bool vzorvan; | |
float energy; | |
float rasstX,rasstY; | |
int krug; | |
}; | |
ptenecObject* vragi4Objects; | |
struct bloodObject //КРОВЯК--------------------- | |
{ | |
float x1,y1,x2,y2; | |
int akt; | |
int faza; | |
int seed; | |
float blood_time; | |
int blood_time_sec; | |
float xstart,niz; | |
int vrag; | |
float x_random; | |
}; | |
int peregruzheno_blood=0; | |
bloodObject* krovyakObjects; | |
struct headObject //БОШКИ--------------------- | |
{ | |
float bx,by; | |
float niz; | |
float gradus; | |
float akt; | |
int bezuh; | |
int bzdik; | |
int seed; | |
int bzdik_seed; | |
int vrag; | |
}; | |
headObject* boshkiObjects; | |
struct gilzaObject //ГИЛЬЗЫ---------------------- | |
{ | |
float x,y; | |
float niz; | |
float xstart; | |
int akt; | |
int type; | |
int randomx; | |
}; | |
gilzaObject* gilziObjects; | |
struct bonusObject //БОНУСЫ---------------------- | |
{ | |
float x1,y1; | |
float x2,y2; | |
float x1_s,x1_X,x2_s,x2_X; | |
int akt; | |
int type; | |
int owner; | |
float appear_time,appear_time_milli; | |
float akt_time,akt_time_milli; | |
int spin; | |
bool visible; | |
int mig_akt; | |
float mig_time,mig_time_milli; | |
float shans; | |
}; | |
bonusObject* bonusiObjects; | |
struct bonustextObject //ТЕКСТ БОНУСОВ---------------------- | |
{ | |
float x,y; | |
float x_s; | |
float x_X; | |
int akt; | |
int type; | |
int owner; | |
float akt_time,akt_time_milli; | |
}; | |
bonustextObject* bonustextiObjects; | |
struct bonusZnach //ЗНАЧЕНИЯ БОНУСОВ---------------------- | |
{ | |
int znachenie; | |
int type; | |
int id; | |
}; | |
bonusZnach* bonusi1; | |
bonusZnach* bonusi2; | |
struct bonusStatus //СТАТУС БОНУСОВ---------------------- | |
{ | |
int akt; | |
int type; | |
int id; | |
int queue; | |
}; | |
bonusStatus* statusi1; | |
bonusStatus* statusi2; | |
struct myasoObject //ЩИ!!!(МЯСО)--------------------- | |
{ | |
float x1,y1; | |
int akt; | |
int seed; | |
float myaso_time; | |
int myaso_time_sec; | |
float xstart,niz; | |
int type; | |
float gradus; | |
float scaleX; | |
float speedX; | |
float speedY; | |
int bzdik; | |
float energy; | |
}; | |
myasoObject* myasko; | |
struct granataObject //ГРАНАТЫ-------------------------- | |
{ | |
float x,y; | |
float osX,osY; | |
int napravlenie; | |
int owner; | |
int akt; | |
int type; | |
float speedX,speedY; | |
float gradus; | |
}; | |
granataObject* granati; | |
struct fragObject //СТАТИСТИКА------------------- | |
{ | |
int player; | |
int vrag; | |
bool headshot; | |
bool vschiii; | |
bool bezuh; | |
bool bezboshki; | |
int weapon; | |
}; | |
fragObject* ubijstva; | |
struct fonObject //ФОН-------------------- | |
{float x,y; | |
int type;}; | |
fonObject* FON; | |
struct Object //ОБЪЕКТЫ НА ФОНЕ-------------------------- | |
{ | |
float x,y; | |
int pl; | |
int type; | |
float wide,height; | |
}; | |
Object* Objects; | |
/*ТИПЫ: | |
0 - ЗНАК ПОЛПУТИ | |
1 - ПЕНЬКИ | |
*/ | |
struct ALL //УСЁ ШО НАДО------ | |
{ | |
int type; | |
float y; | |
int id; | |
}; | |
ALL* A; | |
struct YCOORD //КООРДИНАТЫ ЫГРИК | |
{ | |
float y; | |
int type; | |
int id; | |
int A; | |
}; | |
YCOORD* Y; | |
float y_min; | |
int y_type; | |
int y_id; | |
HWND main_window_handle = NULL; | |
HINSTANCE main_instance = NULL; | |
WSADATA WsaData; | |
int connection=WSAStartup (0x0202, &WsaData); | |
bool connection_error=false; | |
SOCKET s[6]; //s[0] - server,s[1] - view of client by s[0],s[2] - server's client,s[3] - view of client by s[5], | |
//s[4] - client, s[5] = client's server | |
sockaddr_in server; //s[0] | |
sockaddr_in you; //s[4] | |
sockaddr_in client[1];// адрес клиента | |
int addr_size = sizeof (sockaddr); | |
int In=0;//от перенаселения | |
int ip[4]={127,0,0,1}; | |
int n_ip=0; | |
char adress[16]; | |
char buff[80];//текстовый буфер для сообщений об ошибке | |
bool srvr=false;//зацикливаем сервер... | |
bool clnt=false;//зацикливаем клиент... | |
int net_user=0; | |
char net_status[]="[статус сети] ";//статус сети (спасибо Кэп) | |
int received=0; | |
int sleep_sec=0; | |
int net_faza=1; | |
char dataBuffer [496]; | |
char sendBuffer [62][8]; | |
char recvBuffer [62][8]; | |
float GetTime() //БЕРЕТ ТЕКУЩУЮ МИЛЛИСЕКУНДУ | |
{ | |
SYSTEMTIME SysTime; | |
float tmp; | |
GetLocalTime(&SysTime); | |
tmp=SysTime.wMilliseconds; | |
return tmp; | |
} | |
float GetCurrentSecond()//БЕРЕТ ТЕКУЩУЮ СЕКУНДУ | |
{ | |
SYSTEMTIME SysTime; | |
float tm; | |
GetLocalTime(&SysTime); | |
tm=SysTime.wSecond; | |
return tm; | |
} | |
LRESULT CALLBACK WindowProc(HWND hwnd, | |
UINT msg, | |
WPARAM wparam, | |
LPARAM lparam) | |
{ | |
// this is the main message handler of the system | |
//PAINTSTRUCT ps; // used in WM_PAINT | |
//HDC hdc; // handle to a device context | |
char txtbuffer[80]; // used to print strings | |
// what is the message | |
switch(msg) | |
{ | |
case WM_CREATE: | |
{ | |
// do initialization stuff here | |
// return success | |
return(0); | |
} break; | |
/*case WM_PAINT: | |
{ | |
// simply validate the window | |
hdc = BeginPaint(hwnd,&ps); | |
// end painting | |
EndPaint(hwnd,&ps); | |
// return success | |
return(0); | |
} break;*/ | |
case WM_DESTROY: | |
{ | |
// kill the application, this sends a WM_QUIT message | |
PostQuitMessage(0); | |
// return success | |
return(0); | |
} break; | |
case WM_KILLFOCUS: | |
{ | |
if (PAUSE!=true) | |
PAUSE = true; | |
return 0; | |
} break; | |
case WM_SETFOCUS: | |
{ | |
if (PAUSE==true) | |
{ | |
PAUSE = false; | |
} | |
return 0; | |
} break; | |
case WM_SOCKET: | |
{ | |
if (WSAGETSELECTERROR(lparam)) | |
{ // error! | |
sprintf (txtbuffer,"Error2: %d",WSAGetLastError()); | |
MessageBox (main_window_handle,txtbuffer,"Error",MB_OK); | |
PostQuitMessage (0); | |
return 0; | |
} | |
switch (WSAGETSELECTEVENT(lparam)) | |
{ | |
case FD_READ: | |
{ | |
/* | |
if(net_user==1) | |
{ | |
char dataBuffer [4]; | |
char sendBuffer [32]; | |
char recvBuffer [32]; | |
recv (s[4],recvBuffer,32,0); | |
if(recvBuffer=="Игрок вышел из игры") | |
{strcpy(net_status,recvBuffer); | |
player2_aktive=0;} | |
} | |
*/ | |
/* | |
if(net_user==2) | |
{ | |
char dataBuffer [4]; | |
char sendBuffer [32]; | |
char recvBuffer [32]; | |
//sprintf (dataBuffer,"%3d",(int)x2); | |
//sprintf (dataBuffer,"%3d",(int)y2); | |
//sprintf (dataBuffer,"%.3f",dx2); | |
//sprintf (dataBuffer,"%.3f",dy2); | |
//send (s[4],dataBuffer,32,0); | |
recv (s[4],recvBuffer,32,0); | |
x=atof(recvBuffer); | |
strcpy(net_status,recvBuffer); | |
} | |
*/ | |
if(net_user==2) | |
{char dataBuffer [32]; | |
char sendBuffer [2][16]; | |
char recvBuffer [2][16]; | |
received=recv (s[4],dataBuffer,32,0); | |
memcpy(recvBuffer,dataBuffer,32); | |
x=atof(recvBuffer[0]); | |
y=atof(recvBuffer[1]); | |
} | |
} break; | |
case FD_WRITE: | |
{ | |
/* | |
if(net_user==1) | |
{ | |
char dataBuffer [4]; | |
char sendBuffer [32]; | |
char recvBuffer [32]; | |
sprintf (sendBuffer,"%d",(int)x); | |
//sprintf (dataBuffer,"%3d",(int)y); | |
//sprintf (dataBuffer,"%.3f",dx); | |
//sprintf (dataBuffer,"%.3f",dy); | |
send (s[1],sendBuffer,32,0); | |
//recv (s[0],dataBuffer,32,0); | |
} */ | |
if(net_user==1) | |
{char dataBuffer [32]; | |
char sendBuffer [2][16]; | |
char recvBuffer [2][16]; | |
sprintf (sendBuffer[0],"%d",(int)x); | |
sprintf (sendBuffer[1],"%d",(int)y); | |
memcpy(dataBuffer,sendBuffer,32); | |
send (s[1],dataBuffer,32,0); | |
} | |
} | |
break; | |
case FD_CLOSE: | |
{ char dataBuffer [4]; | |
char sendBuffer [32]; | |
char recvBuffer [32]; | |
// opponent quit | |
//sprintf (txtbuffer,"%c%d",RPSS_QUIT,0); | |
//send (s,txtbuffer,2,0); // tell server that we quit | |
if(net_user==1) | |
{shutdown (s[0],SD_SEND); | |
shutdown (s[1],SD_SEND); | |
closesocket (s[0]); | |
closesocket (s[1]);} | |
if(net_user==2) | |
{shutdown (s[4],SD_SEND); | |
closesocket (s[4]); | |
sprintf (sendBuffer,"%c","Игрок вышел из игры"); | |
send (s[4],txtbuffer,32,0); // tell server that we quit | |
} | |
PostQuitMessage (0); | |
return 0; | |
} break; | |
} | |
} break; | |
default:break; | |
} // end switch | |
// process any messages that we didn't take care of | |
return (DefWindowProc(main_window_handle, msg, wparam, lparam)); | |
} // end WinProc | |
void Connect_Net() | |
{ | |
if (hge->Input_GetKeyState(HGEK_UP)&&(int)GetTime()%25==0) | |
{ip[n_ip]++; | |
if(ip[n_ip]>255) | |
{ip[n_ip]=0;} | |
} | |
if (hge->Input_GetKeyState(HGEK_DOWN)&&(int)GetTime()%25==0) | |
{ip[n_ip]--; | |
if(ip[n_ip]<0) | |
{ip[n_ip]=255;} | |
} | |
if (hge->Input_GetKeyState(HGEK_LEFT)&&(int)GetTime()%100==0) | |
{n_ip--; | |
if(n_ip<0) | |
{n_ip=3;} | |
} | |
if (hge->Input_GetKeyState(HGEK_RIGHT)&&(int)GetTime()%100==0) | |
{n_ip++; | |
if(n_ip>3) | |
{n_ip=0;} | |
} | |
if (hge->Input_GetKeyState(HGEK_ENTER)) //enter | |
{ | |
sprintf (adress,"%d.%d.%d.%d",(int)ip[0],(int)ip[1],(int)ip[2],(int)ip[3]); | |
you.sin_addr.s_addr = inet_addr (adress); //адрес - вводимый | |
if (connect(s[4],(LPSOCKADDR)&you,sizeof(you))==SOCKET_ERROR) | |
{ | |
if (WSAGetLastError()==WSAEWOULDBLOCK) | |
{ | |
Sleep (750); | |
connect(s[4],(LPSOCKADDR)&you,sizeof(you)); | |
return; | |
} | |
sprintf (buff,"Error: %d",WSAGetLastError()); | |
MessageBox (main_window_handle,buff,"Error connection",MB_OK); | |
PostQuitMessage (0); | |
return; | |
} | |
strcpy(net_status,"Вы подключены!"); | |
player2_aktive=1; | |
//sprintf (buff,"%c%d",RPSS_STARTGAME,0); | |
//send (s[4],buff,2,0); | |
/* | |
received=recv(s[4],dataBuffer,8,0); | |
memcpy(recvBuffer,dataBuffer,8); | |
net_user=atoi(recvBuffer[0]); | |
if(net_user==-1) | |
{ | |
s[5]=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); | |
server.sin_family=AF_INET; | |
server.sin_port=htons(5556); | |
server.sin_addr.s_addr=INADDR_LOOPBACK; | |
if(bind(s[5],(struct sockaddr*)&server.sin_addr,sizeof(server))==SOCKET_ERROR) | |
{ | |
WSACleanup (); | |
strcpy(net_status,"Ошибка bind clnt"); | |
sprintf (buff,"Error: %d",WSAGetLastError()); | |
MessageBox (main_window_handle,buff,"Error connection",MB_OK); | |
PostQuitMessage (0); | |
return ; | |
} | |
if(listen( s[0], 1)==SOCKET_ERROR) //ждём запроса на коннект от клиента | |
{//connection_error=true; | |
WSACleanup (); | |
strcpy(net_status,"Ошибка listen clnt"); | |
sprintf (buff,"Error: %d",WSAGetLastError()); | |
MessageBox (main_window_handle,buff,"Error connection",MB_OK); | |
PostQuitMessage (0); | |
return ;} | |
while(In<1) | |
{ | |
s[In+3] = accept (s[5],(struct sockaddr*)&client[In],&addr_size); | |
if (s[In+3]==INVALID_SOCKET) | |
{ | |
strcpy(net_status,"Ошибка сокета клиента"); | |
sprintf (buff,"Error: %d",WSAGetLastError()); | |
MessageBox (main_window_handle,buff,"Error connection",MB_OK); | |
PostQuitMessage (0); | |
WSACleanup (); | |
return ; | |
} | |
else | |
{ | |
strcpy(net_status,"Игрок подключен!"); | |
//char buffer[18]; | |
//sprintf (buffer,"Проверка связи %d",In+1); | |
//send (s[In+1],buffer,18,0); | |
In++; | |
} | |
} | |
} | |
*/ | |
net_user=2; | |
player1_myasnik->Play(); | |
player1_strelok->Play(); | |
player1_razrushitel->Play(); | |
player1_tehnik->Play(); | |
PAUSE=false; | |
clnt=false; | |
return; | |
}//enter | |
} | |
void Init_Net() | |
{ | |
hge->System_SetState(HGE_TITLE, "ЩИ!!! Версия 0.1.9 [Зависли пока не подключится 2-й игрок]"); | |
if(listen( s[0], 1)==SOCKET_ERROR) //ждём запроса на коннект от клиента | |
{//connection_error=true; | |
WSACleanup (); | |
strcpy(net_status,"Ошибка listen "); | |
sprintf (buff,"Error: %d",WSAGetLastError()); | |
MessageBox (main_window_handle,buff,"Error connection",MB_OK); | |
PostQuitMessage (0); | |
return ;} | |
while(In<1) | |
{ | |
s[In+1] = accept (s[0],(struct sockaddr*)&client[In],&addr_size); | |
if (s[In+1]==INVALID_SOCKET) | |
{ | |
strcpy(net_status,"Ошибка сокета клиента"); | |
sprintf (buff,"Error: %d",WSAGetLastError()); | |
MessageBox (main_window_handle,buff,"Error connection",MB_OK); | |
PostQuitMessage (0); | |
WSACleanup (); | |
return ; | |
} | |
else | |
{ | |
strcpy(net_status,"Игрок подключен!"); | |
//char buffer[18]; | |
//sprintf (buffer,"Проверка связи %d",In+1); | |
//send (s[In+1],buffer,18,0); | |
In++; | |
} | |
} | |
if(In==1) | |
{ | |
hge->System_SetState(HGE_TITLE, "ЩИ!!! Версия 0.1.9 "); | |
player2_strelok->Play(); | |
/* | |
sprintf(dataBuffer,"%d",net_user); | |
send(s[1],dataBuffer,8,0); | |
s[2]=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);//создаем сокет | |
WSAAsyncSelect(s[2],main_window_handle,WM_SOCKET,(FD_CLOSE | FD_CONNECT | FD_READ | FD_WRITE));//сокет серверного клиента асинхронный | |
you.sin_family = AF_INET; | |
you.sin_port = htons (5556); | |
you.sin_addr.s_addr = inet_addr("127.0.0.1"); | |
if (connect(s[2],(LPSOCKADDR)&you,sizeof(you))==SOCKET_ERROR) | |
{ | |
if (WSAGetLastError()==WSAEWOULDBLOCK) | |
{ | |
Sleep (750); | |
connect(s[2],(LPSOCKADDR)&you,sizeof(you)); | |
return; | |
} | |
sprintf (buff,"Error: %d",WSAGetLastError()); | |
MessageBox (main_window_handle,buff,"Error connection",MB_OK); | |
PostQuitMessage (0); | |
return; | |
} | |
*/ | |
net_user=1; | |
player2_aktive=1; | |
srvr=false; | |
PAUSE=false; | |
return ; | |
} | |
} | |
int Close_Net() | |
{ | |
if(net_user==1) | |
{closesocket (s[0]); | |
strcpy(net_status,"Сервер отключился. ");} | |
if(net_user==2) | |
{closesocket (s[4]); | |
strcpy(net_status,"Вы отключились от сервера. ");} | |
WSACleanup (); | |
net_user=0; | |
player2_aktive=0; | |
return 0; | |
} | |
//------------------------------------------------------ | |
void vistrel() //ЗВУК ВЫСТРЕЛА ИГРОКА 1 | |
{ | |
//float pitch=hge->Random_Float(0,0.002f); | |
if(N_WEAPON1==0||N_WEAPON1==5||N_WEAPON1==8)//выстрел из АК | |
{hge->Effect_PlayEx(snd,volume*8/10,player1Pan,0);} | |
if(N_WEAPON1==1||N_WEAPON1==9) | |
{hge->Effect_PlayEx(pm_fire,volume*8/10,player1Pan,0);} | |
if(N_WEAPON1==2) | |
{hge->Effect_PlayEx(pp19_fire,volume,player1Pan,0);} | |
if(N_WEAPON1==3) | |
{hge->Effect_PlayEx(fn_f2000_fire,volume,player1Pan,0);} | |
if(N_WEAPON1==4) | |
{hge->Effect_PlayEx(tt_fire,volume,player1Pan,0);} | |
if(N_WEAPON1==6) | |
{hge->Effect_PlayEx(mac_fire,volume,player1Pan,0);} | |
if(N_WEAPON1==7) | |
{hge->Effect_PlayEx(winch_fire,volume,player1Pan,0);} | |
if(N_WEAPON1==12) | |
{hge->Effect_PlayEx(milkor_fire,volume,player1Pan,0);} | |
if(N_WEAPON1==13) | |
{hge->Effect_PlayEx(rocket_fire,volume,player1Pan,0);} | |
if(N_WEAPON1==14) | |
{hge->Effect_PlayEx(webley_fire,volume,player1Pan,0);} | |
if(N_WEAPON1==15) | |
{hge->Effect_PlayEx(fn_five_seven_fire,volume,player1Pan,0);} | |
} | |
void vistrel2() //ЗВУК ВЫСТРЕЛА ИГРОКА 2 | |
{ | |
//float pitch=hge->Random_Float(0,0.002f); | |
if(N_WEAPON2==0||N_WEAPON2==5||N_WEAPON2==8)//выстрел из АК | |
{hge->Effect_PlayEx(snd,volume*8/10,player2Pan,0);} | |
if(N_WEAPON2==1||N_WEAPON2==9) | |
{hge->Effect_PlayEx(pm_fire,volume*8/10,player2Pan,0);} | |
if(N_WEAPON2==2) | |
{hge->Effect_PlayEx(pp19_fire,volume,player2Pan,0);} | |
if(N_WEAPON2==3) | |
{hge->Effect_PlayEx(fn_f2000_fire,volume,player2Pan,0);} | |
if(N_WEAPON2==4) | |
{hge->Effect_PlayEx(tt_fire,volume,player2Pan,0);} | |
if(N_WEAPON2==6) | |
{hge->Effect_PlayEx(mac_fire,volume,player2Pan,0);} | |
if(N_WEAPON2==7) | |
{hge->Effect_PlayEx(winch_fire,volume,player2Pan,0);} | |
if(N_WEAPON2==12) | |
{hge->Effect_PlayEx(milkor_fire,volume,player2Pan,0);} | |
if(N_WEAPON2==13) | |
{hge->Effect_PlayEx(rocket2_fire,volume,player2Pan,0);} | |
if(N_WEAPON2==14) | |
{hge->Effect_PlayEx(webley_fire,volume,player2Pan,0);} | |
if(N_WEAPON2==15) | |
{hge->Effect_PlayEx(fn_five_seven_fire,volume,player2Pan,0);} | |
} | |
void myasko_upalo() | |
{myaskoRand=hge->Random_Int(1,7); | |
switch(myaskoRand) | |
{case 1:hge->Effect_PlayEx(myaso_upalo1,volume*9/10,myasoupaloPan,0); | |
break; | |
case 2:hge->Effect_PlayEx(myaso_upalo2,volume*9/10,myasoupaloPan,0); | |
break; | |
case 3:hge->Effect_PlayEx(myaso_upalo3,volume*9/10,myasoupaloPan,0); | |
break; | |
case 4:hge->Effect_PlayEx(myaso_upalo4,volume*9/10,myasoupaloPan,0); | |
break; | |
case 5:hge->Effect_PlayEx(myaso_upalo5,volume*9/10,myasoupaloPan,0); | |
break; | |
case 6:hge->Effect_PlayEx(myaso_upalo6,volume*9/10,myasoupaloPan,0); | |
break; | |
case 7:hge->Effect_PlayEx(myaso_upalo7,volume*9/10,myasoupaloPan,0); | |
break; | |
case 8:hge->Effect_PlayEx(myaso_upalo8,volume*9/10,myasoupaloPan,0); | |
break;} | |
} | |
void myasko_razriv() | |
{razrivRand=hge->Random_Int(1,2); | |
switch(razrivRand) | |
{case 1:hge->Effect_PlayEx(myaso_razriv_user1,volume*9/10,myasorazrivPan,0); | |
break; | |
case 2:hge->Effect_PlayEx(myaso_razriv_user2,volume*9/10,myasorazrivPan,0); | |
break;} | |
} | |
void headshot() | |
{headshotRand=hge->Random_Int(1,8); | |
switch(headshotRand) | |
{case 1:hge->Effect_PlayEx(headshot1,volume*9/10,headshotPan,0); | |
break; | |
case 2:hge->Effect_PlayEx(headshot2,volume*9/10,headshotPan,0); | |
break; | |
case 3:hge->Effect_PlayEx(headshot3,volume*9/10,headshotPan,0); | |
break; | |
case 4:hge->Effect_PlayEx(headshot4,volume*9/10,headshotPan,0); | |
break; | |
case 5:hge->Effect_PlayEx(headshot5,volume*9/10,headshotPan,0); | |
break; | |
case 6:hge->Effect_PlayEx(headshot6,volume*9/10,headshotPan,0); | |
break; | |
case 7:hge->Effect_PlayEx(headshot7,volume*9/10,headshotPan,0); | |
break; | |
case 8:hge->Effect_PlayEx(headshot8,volume*9/10,headshotPan,0); | |
break; | |
} | |
} | |
void myasko_ssit() | |
{ | |
ssikRand=hge->Random_Int(1,4); | |
switch(ssikRand) | |
{case 1:hge->Effect_PlayEx(ssik1,volume*9/10,headshotPan,0); | |
break; | |
case 2:hge->Effect_PlayEx(ssik2,volume*9/10,headshotPan,0); | |
break; | |
case 3:hge->Effect_PlayEx(ssik3,volume*9/10,headshotPan,0); | |
break; | |
case 4:hge->Effect_PlayEx(ssik4,volume*9/10,headshotPan,0); | |
break;} | |
} | |
void fire1()//ВЫСТРЕЛ!!! | |
{ | |
if(reload==false) | |
{ | |
player1_ruka1_pistol->Play(); | |
vistrel();//звук выстрела | |
if(N_WEAPON1!=10&&N_WEAPON1!=11&&N_WEAPON1!=12&&N_WEAPON1!=13)//огнестрельные | |
{ | |
vistrel_time=GetTime(); | |
vistrel_time_sec=perez_akt; | |
aktivatorp=1;//вылетает пуля | |
pulya->SetColor(0xFFFFA000);//огонь из ствола | |
if(N_WEAPON1==7) | |
{pompa_time=perez_akt; | |
pompa_time_milli=GetTime(); | |
pompa_akt1=1; | |
dx+=3; | |
aktivatorp1d1=1; | |
aktivatorp1d2=1; | |
aktivatorp1d3=1; | |
aktivatorp1d4=1; | |
} | |
gilziObjects[N_GILZ].x=x-24; | |
gilziObjects[N_GILZ].y=y-9; | |
gilziObjects[N_GILZ].niz=y+60; | |
gilziObjects[N_GILZ].xstart=x-24; | |
gilziObjects[N_GILZ].randomx=hge->Random_Int(10,20); | |
switch(N_WEAPON1) | |
{case 1: | |
case 4: | |
case 9: | |
case 14: | |
case 15: | |
gilziObjects[N_GILZ].type=1; | |
break; | |
case 0: | |
case 2: | |
case 3: | |
case 5: | |
case 6: | |
case 7: | |
case 8: | |
gilziObjects[N_GILZ].type=2; | |
break;} | |
gilziObjects[N_GILZ].akt=1; | |
N_GILZ++; | |
if(N_GILZ>=MAX_GILZ-1) | |
{N_GILZ=0;} | |
}//огнестрельные | |
if(N_WEAPON1==10) | |
{aktivatorgren=1; | |
vistrel_time=GetTime(); | |
vistrel_time_sec=perez_akt; | |
oboima--; | |
reload=true; | |
granati[N_GREN].x=x+5; | |
granati[N_GREN].y=y-44; | |
granati[N_GREN].osY=y+48+dy*75; | |
if(granati[N_GREN].osY<100) | |
{granati[N_GREN].osY=100;} | |
granati[N_GREN].osX=x-250+dx*75; | |
if(dy<0) | |
{granati[N_GREN].osX+=dy*40;//кидаем вверх- дальше (чтоб не было багов) | |
if(dx>0) | |
{granati[N_GREN].osX-=dx*40;}//при беге назад кидаем дальше (опять же чтоб не было багов) | |
if(dx<0) | |
{granati[N_GREN].osX-=dx*20;}}//при беге вперед кидаем ближе (чтоб не было жирно) | |
if(dy>0) | |
{granati[N_GREN].osX+=dy*35;}//кидаем вниз- ближе (баланс с состоянием без ускорения по оси Y) | |
granati[N_GREN].owner=1; | |
granati[N_GREN].akt=1; | |
granati[N_GREN].type=1; | |
granati[N_GREN].speedX=6; | |
granati[N_GREN].speedY=0.018f; | |
N_GREN++; | |
if(N_GREN>=MAX_GREN-1) | |
{N_GREN=0;} | |
} | |
if(N_WEAPON1==12) | |
{aktivatorgren=1; | |
vistrel_time=GetTime(); | |
vistrel_time_sec=perez_akt; | |
oboima--; | |
granati[N_GREN].x=x-55; | |
granati[N_GREN].y=y-9; | |
granati[N_GREN].osY=y-9+dy*100; | |
if(granati[N_GREN].osY<100) | |
{granati[N_GREN].osY=100;} | |
granati[N_GREN].osX=x-505; | |
if(dy<0) | |
{granati[N_GREN].osX+=dy*175;//кидаем вверх- дальше (чтоб не было багов) | |
if(dx>0) | |
{granati[N_GREN].osX-=dx*20;}//при беге назад кидаем дальше (опять же чтоб не было багов) | |
//if(dx<0) | |
//{granati[N_GREN].osX-=dx*20;}//при беге вперед кидаем ближе (чтоб не было жирно) | |
} | |
if(dy>0) | |
{granati[N_GREN].osX+=dy*275;}//кидаем вниз- ближе (баланс с состоянием без ускорения по оси Y) | |
granati[N_GREN].owner=1; | |
granati[N_GREN].akt=1; | |
granati[N_GREN].type=2; | |
granati[N_GREN].speedX=10; | |
granati[N_GREN].speedY=0.005f; | |
N_GREN++; | |
if(N_GREN>=MAX_GREN-1) | |
{N_GREN=0;} | |
} | |
if(N_WEAPON1==13) | |
{aktivatorgren=1; | |
vistrel_time=GetTime(); | |
vistrel_time_sec=perez_akt; | |
oboima--; | |
granati[N_GREN].x=x-70; | |
granati[N_GREN].y=y-16; | |
granati[N_GREN].osY=y-16; | |
granati[N_GREN].osX=x-1200; | |
granati[N_GREN].owner=1; | |
granati[N_GREN].akt=1; | |
granati[N_GREN].type=3; | |
granati[N_GREN].speedX=15; | |
granati[N_GREN].speedY=0; | |
N_GREN++; | |
if(N_GREN>=MAX_GREN-1) | |
{N_GREN=0;} | |
} | |
if(N_WEAPON1==11) | |
{ | |
vistrel_time=GetTime(); | |
vistrel_time_sec=perez_akt; | |
reload=true;} | |
}//if(reload==false) | |
}//выстрел | |
void fire2()//ВЫСТРЕЛ!!! 2 | |
{ | |
if(reload2==false) | |
{ | |
player2_ruka1_pistol->Play(); | |
vistrel2();//звук выстрела | |
if(N_WEAPON2!=10&&N_WEAPON2!=11&&N_WEAPON2!=12&&N_WEAPON2!=13)//огнестрельные | |
{ | |
vistrel2_time=GetTime(); | |
vistrel2_time_sec=perez_akt; | |
aktivatorp2=1;//вылетает пуля | |
pulya2->SetColor(0xFFFFA000);//огонь из ствола | |
if(N_WEAPON2==7) | |
{pompa_time2=perez_akt; | |
pompa_time_milli2=GetTime(); | |
pompa_akt2=1; | |
dx2+=3; | |
aktivatorp2d1=1; | |
aktivatorp2d2=1; | |
aktivatorp2d3=1; | |
aktivatorp2d4=1; | |
} | |
gilziObjects[N_GILZ].x=x2-24; | |
gilziObjects[N_GILZ].y=y2-9; | |
gilziObjects[N_GILZ].xstart=x2-24; | |
gilziObjects[N_GILZ].niz=y2+60; | |
gilziObjects[N_GILZ].randomx=hge->Random_Int(10,20); | |
switch(N_WEAPON2) | |
{case 1: | |
case 4: | |
case 9: | |
case 14: | |
case 15: | |
gilziObjects[N_GILZ].type=1; | |
break; | |
case 0: | |
case 2: | |
case 3: | |
case 5: | |
case 6: | |
case 7: | |
case 8: | |
gilziObjects[N_GILZ].type=2; | |
break;} | |
gilziObjects[N_GILZ].akt=1; | |
N_GILZ++; | |
if(N_GILZ>=MAX_GILZ-1) | |
{N_GILZ=0;} | |
}//огнестрельные | |
if(N_WEAPON2==10) | |
{aktivatorgren2=1; | |
vistrel2_time=GetTime(); | |
vistrel2_time_sec=perez_akt; | |
oboima2--; | |
reload2=true; | |
granati[N_GREN].x=x2+5; | |
granati[N_GREN].y=y2-44; | |
granati[N_GREN].osY=y2+48+dy2*75; | |
if(granati[N_GREN].osY<100) | |
{granati[N_GREN].osY=100;} | |
granati[N_GREN].osX=x2-250+dx2*75; | |
if(dy2<0) | |
{granati[N_GREN].osX+=dy2*40;//кидаем вверх- дальше (чтоб не было багов) | |
if(dx2>0) | |
{granati[N_GREN].osX-=dx2*40;}//при беге назад кидаем дальше (опять же чтоб не было багов) | |
if(dx2<0) | |
{granati[N_GREN].osX-=dx2*20;}}//при беге вперед кидаем ближе (чтоб не было жирно) | |
if(dy2>0) | |
{granati[N_GREN].osX+=dy2*35;}//кидаем вниз- ближе (баланс с состоянием без ускорения по оси Y) | |
granati[N_GREN].owner=2; | |
granati[N_GREN].akt=1; | |
granati[N_GREN].type=1; | |
granati[N_GREN].speedX=6; | |
granati[N_GREN].speedY=0.018f; | |
N_GREN++; | |
if(N_GREN>=MAX_GREN-1) | |
{N_GREN=0;} | |
} | |
if(N_WEAPON2==12) | |
{aktivatorgren2=1; | |
vistrel2_time=GetTime(); | |
vistrel2_time_sec=perez_akt; | |
oboima2--; | |
granati[N_GREN].x=x2-55; | |
granati[N_GREN].y=y2-9; | |
granati[N_GREN].osY=y2-9+dy2*100; | |
if(granati[N_GREN].osY<100) | |
{granati[N_GREN].osY=100;} | |
granati[N_GREN].osX=x2-505; | |
if(dy2<0) | |
{granati[N_GREN].osX+=dy2*175;//кидаем вверх- дальше (чтоб не было багов) | |
if(dx2>0) | |
{granati[N_GREN].osX-=dx2*20;}//при беге назад кидаем дальше (опять же чтоб не было багов) | |
//if(dx2<0) | |
//{granati[N_GREN].osX-=dx2*10;}//при беге вперед кидаем ближе (чтоб не было жирно) | |
} | |
if(dy2>0) | |
{granati[N_GREN].osX+=dy2*275;}//кидаем вниз- ближе (баланс с состоянием без ускорения по оси Y) | |
granati[N_GREN].owner=2; | |
granati[N_GREN].akt=1; | |
granati[N_GREN].type=2; | |
granati[N_GREN].speedX=10; | |
granati[N_GREN].speedY=0.005f; | |
N_GREN++; | |
if(N_GREN>=MAX_GREN-1) | |
{N_GREN=0;} | |
} | |
if(N_WEAPON2==13) | |
{aktivatorgren2=1; | |
vistrel2_time=GetTime(); | |
vistrel2_time_sec=perez_akt; | |
oboima2--; | |
granati[N_GREN].x=x2-70; | |
granati[N_GREN].y=y2-16; | |
granati[N_GREN].osY=y2-16; | |
granati[N_GREN].osX=x2-1200; | |
granati[N_GREN].owner=2; | |
granati[N_GREN].akt=1; | |
granati[N_GREN].type=3; | |
granati[N_GREN].speedX=15; | |
granati[N_GREN].speedY=0; | |
N_GREN++; | |
if(N_GREN>=MAX_GREN-1) | |
{N_GREN=0;} | |
} | |
if(N_WEAPON2==11) | |
{ | |
vistrel2_time=GetTime(); | |
vistrel2_time_sec=perez_akt; | |
reload2=true;} | |
}//if(reload2==false) | |
}//выстрел 2 | |
void fire1_alt()//ВЫСТРЕЛ!!! | |
{if(reload==false) | |
{ | |
switch(N_WEAPON1) | |
{case 0: | |
case 3: | |
oboima_alt[N_WEAPON1]--; | |
granati[N_GREN].x=x-55; | |
granati[N_GREN].y=y; | |
granati[N_GREN].osY=y+dy*100; | |
if(granati[N_GREN].osY<100) | |
{granati[N_GREN].osY=100;} | |
granati[N_GREN].osX=x-505; | |
if(dy<0) | |
{granati[N_GREN].osX+=dy*175;//кидаем вверх- дальше (чтоб не было багов) | |
if(dx>0) | |
{granati[N_GREN].osX-=dx*20;}//при беге назад кидаем дальше (опять же чтоб не было багов) | |
//if(dx<0) | |
//{granati[N_GREN].osX-=dx*20;}//при беге вперед кидаем ближе (чтоб не было жирно) | |
} | |
if(dy>0) | |
{granati[N_GREN].osX+=dy*275;}//кидаем вниз- ближе (баланс с состоянием без ускорения по оси Y) | |
granati[N_GREN].owner=1; | |
granati[N_GREN].akt=1; | |
granati[N_GREN].type=2; | |
granati[N_GREN].speedX=10; | |
granati[N_GREN].speedY=0.005f; | |
N_GREN++; | |
if(N_GREN>=MAX_GREN-1) | |
{N_GREN=0;} | |
break; | |
} | |
}} | |
void fire2_alt()//ВЫСТРЕЛ!!! | |
{if(reload2==false) | |
{ | |
switch(N_WEAPON2) | |
{case 0: | |
case 3: | |
oboima2_alt[N_WEAPON2]--; | |
granati[N_GREN].x=x2-55; | |
granati[N_GREN].y=y2; | |
granati[N_GREN].osY=y2+dy2*100; | |
if(granati[N_GREN].osY<100) | |
{granati[N_GREN].osY=100;} | |
granati[N_GREN].osX=x2-505; | |
if(dy<0) | |
{granati[N_GREN].osX+=dy2*175;//кидаем вверх- дальше (чтоб не было багов) | |
if(dx>0) | |
{granati[N_GREN].osX-=dx2*20;}//при беге назад кидаем дальше (опять же чтоб не было багов) | |
//if(dx<0) | |
//{granati[N_GREN].osX-=dx*20;}//при беге вперед кидаем ближе (чтоб не было жирно) | |
} | |
if(dy2>0) | |
{granati[N_GREN].osX+=dy2*275;}//кидаем вниз- ближе (баланс с состоянием без ускорения по оси Y) | |
granati[N_GREN].owner=2; | |
granati[N_GREN].akt=1; | |
granati[N_GREN].type=2; | |
granati[N_GREN].speedX=10; | |
granati[N_GREN].speedY=0.005f; | |
N_GREN++; | |
if(N_GREN>=MAX_GREN-1) | |
{N_GREN=0;} | |
break; | |
} | |
}} | |
int Render_trups(int &i) | |
{ | |
if(trupsObjects[i].type==1) //зайцы | |
{ | |
if(trupsObjects[i].trup_tex==zayac_go_tex)//заяц с ушами | |
{ | |
switch(trupsObjects[i].frame) | |
{case 1:zayac_trup1->SetTexture(zayac_trup1_a_tex); | |
break; | |
case 2:zayac_trup1->SetTexture(zayac_trup1_b_tex); | |
break; | |
case 3:zayac_trup1->SetTexture(zayac_trup1_c_tex); | |
break; | |
case 4:zayac_trup1->SetTexture(zayac_trup1_d_tex); | |
break;} | |
} | |
if(trupsObjects[i].trup_tex==zayac_go_bezuh_tex)//заяц без ушей | |
{ | |
switch(trupsObjects[i].frame) | |
{case 1:zayac_trup1->SetTexture(zayac_trup1_a_bezuh_tex); | |
break; | |
case 2:zayac_trup1->SetTexture(zayac_trup1_b_bezuh_tex); | |
break; | |
case 3:zayac_trup1->SetTexture(zayac_trup1_c_bezuh_tex); | |
break; | |
case 4:zayac_trup1->SetTexture(zayac_trup1_d_bezuh_tex); | |
break;} | |
} | |
if(trupsObjects[i].trup_tex==zayac_boshka_tex)//заяц без бошки | |
{ | |
switch(trupsObjects[i].frame) | |
{case 1:zayac_trup1->SetTexture(zayac_trup1_a_bezboshki_tex); | |
break; | |
case 2:zayac_trup1->SetTexture(zayac_trup1_b_bezboshki_tex); | |
break; | |
case 3:zayac_trup1->SetTexture(zayac_trup1_c_bezboshki_tex); | |
break; | |
case 4:zayac_trup1->SetTexture(zayac_trup1_d_bezboshki_tex); | |
break;} | |
} | |
zayac_trup1->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,0,1,0);//вывод мёртвых зайцев на экран | |
}//закрытие зайцев | |
if(trupsObjects[i].type==2) //уши (аниме) | |
{uhi_a->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,trupsObjects[i].rot);} | |
if(trupsObjects[i].type==3) //уши (мёртвые) | |
{uhi->SetTexture(zayac_uhi_k_tex); | |
uhi->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,trupsObjects[i].rot);} | |
if(trupsObjects[i].type==300) //воронка1 | |
{krovyak_vzriv1->SetTexture(blood_vzriv1_e_tex); | |
krovyak_vzriv1->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,0,trupsObjects[i].scaleX,1);} | |
if(trupsObjects[i].type==301) //воронка1/2 | |
{krovyak_vzriv1->SetTexture(blood_vzriv1_e2_tex); | |
krovyak_vzriv1->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,0,trupsObjects[i].scaleX,1);} | |
if(trupsObjects[i].type==330) //бошка птенца в щи1 | |
{ptenec_boshka_vzriv1->SetTexture(ptenec_boshka_vzriv1_e_tex); | |
ptenec_boshka_vzriv1->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,0,trupsObjects[i].scaleX,1);} | |
if(trupsObjects[i].type==400)//кровяк1 | |
{krovyak1->RenderStretch(trupsObjects[i].posX+Xz, trupsObjects[i].posY,trupsObjects[i].posX2,trupsObjects[i].posY2);} | |
if(trupsObjects[i].type==401)//кровяк2 | |
{krovyak2->RenderStretch(trupsObjects[i].posX+Xz, trupsObjects[i].posY,trupsObjects[i].posX2,trupsObjects[i].posY2);} | |
if(trupsObjects[i].type==402)//кровяк3 | |
{krovyak3->RenderStretch(trupsObjects[i].posX+Xz, trupsObjects[i].posY,trupsObjects[i].posX2,trupsObjects[i].posY2);} | |
if(trupsObjects[i].type==6) //бошки (мёртвые) | |
{zayac_boshka->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,trupsObjects[i].rot);} | |
if(trupsObjects[i].type==7) //бошки без ушей(мёртвые) | |
{zayac_boshka_bezuh->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,trupsObjects[i].rot);} | |
if(trupsObjects[i].type==800) //клякса 1 | |
{krovyak_plyam1->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,M_PI_2,0.2f,0.7f);} | |
if(trupsObjects[i].type==801) //клякса 2 | |
{krovyak_plyam2->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,M_PI_2,0.2f,0.7f);} | |
if(trupsObjects[i].type==802) //клякса 3 | |
{krovyak_plyam3->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,M_PI_2,0.2f,0.7f);} | |
if(trupsObjects[i].type==9) //лужа 1 | |
{krovyak_luzha1->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,0,trupsObjects[i].scaleX,trupsObjects[i].scaleY);} | |
if(trupsObjects[i].type==10)//труп волка | |
{ | |
switch(trupsObjects[i].frame) | |
{case 1:volk_trup1->SetTexture(volk_trup1_a_tex); | |
break; | |
case 2:volk_trup1->SetTexture(volk_trup1_b_tex); | |
break; | |
case 3:volk_trup1->SetTexture(volk_trup1_c_tex); | |
break;} | |
volk_trup1->Render(trupsObjects[i].posX+Xz, trupsObjects[i].posY); | |
} | |
if(trupsObjects[i].type==20)//труп медведя | |
{ | |
if(trupsObjects[i].trup_tex==zayac_go_tex) | |
{ | |
switch(trupsObjects[i].frame) | |
{ | |
case 1:medved_trup1->SetTexture(medved_trup1_a_tex); | |
break; | |
case 2:medved_trup1->SetTexture(medved_trup1_b_tex); | |
break; | |
case 3:medved_trup1->SetTexture(medved_trup1_c_tex); | |
break; | |
case 4:medved_trup1->SetTexture(medved_trup1_d_tex); | |
break; | |
case 5:medved_trup1->SetTexture(medved_trup1_e_tex); | |
break; | |
case 6:medved_trup1->SetTexture(medved_trup1_f_tex); | |
break;} | |
medved_trup1->Render(trupsObjects[i].posX+Xz, trupsObjects[i].posY); | |
} | |
if(trupsObjects[i].trup_tex==zayac_go_bezuh_tex) | |
{ | |
switch(trupsObjects[i].frame) | |
{ | |
case 1:medved_trup1->SetTexture(medved_trup1_a_bezboshki_tex); | |
break; | |
case 2:medved_trup1->SetTexture(medved_trup1_b_bezboshki_tex); | |
break; | |
case 3:medved_trup1->SetTexture(medved_trup1_c_bezboshki_tex); | |
break; | |
case 4:medved_trup1->SetTexture(medved_trup1_d_bezboshki_tex); | |
break; | |
case 5:medved_trup1->SetTexture(medved_trup1_e_bezboshki_tex); | |
break; | |
case 6:medved_trup1->SetTexture(medved_trup1_f_bezboshki_tex); | |
break;} | |
medved_trup1->Render(trupsObjects[i].posX+Xz, trupsObjects[i].posY); | |
} | |
} | |
if(trupsObjects[i].type==30)//труп птенца | |
{ptenec_trup1->SetTexture(ptenec_trup1_tex); | |
ptenec_trup1->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,0,0.7f,0);} | |
if(trupsObjects[i].type==500) //мясо 1 | |
{krovyak_myaso1->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,trupsObjects[i].rot,trupsObjects[i].scaleX,0);} | |
if(trupsObjects[i].type==501) //мясо 2 | |
{krovyak_myaso2->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,trupsObjects[i].rot,trupsObjects[i].scaleX,0);} | |
if(trupsObjects[i].type==502) //мясо 3 | |
{krovyak_myaso3->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,trupsObjects[i].rot,trupsObjects[i].scaleX,0);} | |
if(trupsObjects[i].type==503) //мясо 4 | |
{krovyak_myaso4->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,trupsObjects[i].rot,trupsObjects[i].scaleX,0);} | |
if(trupsObjects[i].type==504) //мясо 5 | |
{krovyak_myaso5->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,trupsObjects[i].rot,trupsObjects[i].scaleX,0);} | |
if(trupsObjects[i].type==505) //заячьи ребра 1 | |
{krovyak_zayac_rebra1->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,trupsObjects[i].rot,1,0);} | |
if(trupsObjects[i].type==506) //заячьи ребра 2 | |
{krovyak_zayac_rebra2->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,trupsObjects[i].rot,1,0);} | |
if(trupsObjects[i].type==507) //заячья нога 1 | |
{krovyak_zayac_noga1->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,trupsObjects[i].rot,1,0);} | |
if(trupsObjects[i].type==508) //заячья нога 2 | |
{krovyak_zayac_noga2->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,trupsObjects[i].rot,1,0);} | |
if(trupsObjects[i].type==509) //заячья нога 3 | |
{krovyak_zayac_noga3->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,trupsObjects[i].rot,1,0);} | |
if(trupsObjects[i].type==510) //заячья нога 4 | |
{krovyak_zayac_noga4->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,trupsObjects[i].rot,1,0);} | |
if(trupsObjects[i].type==511) //медвежья бошка 1 | |
{medved_boshka->RenderEx(trupsObjects[i].posX+Xz, trupsObjects[i].posY,trupsObjects[i].rot,1,0);} | |
return 0; | |
}; | |
void ak_perez1() //звук - начало перезарядки ак | |
{ hge->Effect_PlayEx(ak_reload1,volume,player1Pan,0);} | |
void ak_perez2() //звук - конец перезарядки ак | |
{hge->Effect_PlayEx(ak_reload2,volume,player1Pan,0);} | |
void pm_perez1() //звук - начало перезарядки пм | |
{ hge->Effect_PlayEx(pm_reload1,volume,player1Pan,0);} | |
void pm_perez2() //звук - конец перезарядки пм | |
{ hge->Effect_PlayEx(pm_reload2,volume,player1Pan,0);} | |
void pp19_perez1() //звук - начало перезарядки пп-19 | |
{ hge->Effect_PlayEx(pp19_reload1,volume,player1Pan,0);} | |
void pp19_perez2() //звук - конец перезарядки пп-19 | |
{ hge->Effect_PlayEx(pp19_reload2,volume,player1Pan,0);} | |
void mac_perez1() //звук - начало перезарядки MAC | |
{ hge->Effect_PlayEx(mac_reload1,volume,player1Pan,0);} | |
void mac_perez2() //звук - конец перезарядки MAC | |
{ hge->Effect_PlayEx(mac_reload2,volume,player1Pan,0);} | |
void webley_perez1() //звук - начало перезарядки webley | |
{ hge->Effect_PlayEx(webley_reload1,volume,player1Pan,0);} | |
void webley_perez2() //звук - конец перезарядки webley | |
{ hge->Effect_PlayEx(webley_reload2,volume,player1Pan,0);} | |
void ak2_perez1() //звук - начало перезарядки ак | |
{ hge->Effect_PlayEx(ak_reload1,volume,player2Pan,0);} | |
void ak2_perez2() //звук - конец перезарядки ак | |
{hge->Effect_PlayEx(ak_reload2,volume,player2Pan,0);} | |
void pm2_perez1() //звук - начало перезарядки пм | |
{ hge->Effect_PlayEx(pm_reload1,volume,player2Pan,0);} | |
void pm2_perez2() //звук - конец перезарядки пм | |
{ hge->Effect_PlayEx(pm_reload2,volume,player2Pan,0);} | |
void pp192_perez1() //звук - начало перезарядки пп-19 | |
{ hge->Effect_PlayEx(pp19_reload1,volume,player2Pan,0);} | |
void pp192_perez2() //звук - конец перезарядки пп-19 | |
{ hge->Effect_PlayEx(pp19_reload2,volume,player2Pan,0);} | |
void mac2_perez1() //звук - начало перезарядки MAC | |
{ hge->Effect_PlayEx(mac_reload1,volume,player2Pan,0);} | |
void mac2_perez2() //звук - конец перезарядки MAC | |
{ hge->Effect_PlayEx(mac_reload2,volume,player2Pan,0);} | |
void webley2_perez1() //звук - начало перезарядки webley | |
{ hge->Effect_PlayEx(webley_reload1,volume,player2Pan,0);} | |
void webley2_perez2() //звук - конец перезарядки webley | |
{ hge->Effect_PlayEx(webley_reload2,volume,player2Pan,0);} | |
void new_game() | |
{ | |
N_WEAPON1=1; | |
N_WEAPON2=1; | |
X=0; | |
Xz=0; | |
net_user=0; | |
TEST_REZHIM=false; | |
PAUSE=false; | |
pobeda=false; | |
porazhenie=false; | |
leveltime=0; | |
LIVES=5; | |
DIFF=1; | |
DIFF_UP=true; | |
DIFF_UPGRADED=false; | |
n_zayac_up=0; | |
n_zayac_down=0; | |
n_volk_up=0; | |
n_volk_down=0; | |
n_medved_up=0; | |
n_medved_down=0; | |
zayac_must_down=false; | |
volk_must_down=false; | |
medved_must_down=false; | |
aktivatorp=0; | |
aktivatorp2=0; | |
aktivatorp1d1=0; | |
aktivatorp1d2=0; | |
aktivatorp1d3=0; | |
aktivatorp1d4=0; | |
aktivatorp2d1=0; | |
aktivatorp2d2=0; | |
aktivatorp2d3=0; | |
aktivatorp2d4=0; | |
perez_akt=0; | |
time_was=0; | |
oboima=8; | |
oboima2=8; | |
oboima_alt[0]=1; | |
oboima2_alt[0]=1; | |
oboima_alt[3]=1; | |
oboima2_alt[3]=1; | |
reload=false; | |
reload2=false; | |
N_ZAYAC=0; | |
N_VOLK=-1; | |
N_MEDVED=-1; | |
N_PTENEC=-1; | |
N_UHI=0; | |
N_TRUPS=0; | |
NUMBER_TRUPS=0; | |
N_BLOOD=0; | |
NUMBER_BLOOD=0; | |
N_HEAD=0; | |
N_GILZ=0; | |
N_BONUS=0; | |
N_BONUSTEXT=0; | |
N_BONUS1=0; | |
N_BONUS2=0; | |
N_BONUSSTATUS1=0; | |
N_BONUSSTATUS2=0; | |
N_MYASO=0; | |
N_Y=0; | |
N_GREN=0; | |
N_KILLS=0; | |
peregruzheno=0; | |
peregruzheno_blood=0; | |
GAME_PROGRESS=0; | |
sit1=0; | |
pause_time_sec=0; | |
pause_time=0; | |
float opit1_x2=970; | |
float opit2_x2=970; | |
x=1000; | |
x2=1000; | |
y=450; | |
y2=600; | |
ak_buy=false; | |
pp19_buy=false; | |
fn_f2000_buy=false; | |
tt_buy=false; | |
rpk_buy=false; | |
mac_buy=false; | |
winchester_buy=false; | |
rpk47_buy=false; | |
glok_buy=false; | |
rgd5_buy=false; | |
katana_buy=false; | |
milkor_buy=false; | |
panzer_buy=false; | |
webley_buy=false; | |
fn_five_seven_buy=false; | |
ak_up=false; | |
fn_f2000_up=false; | |
ak_buy2=false; | |
pp19_buy2=false; | |
fn_f2000_buy2=false; | |
tt_buy2=false; | |
rpk_buy2=false; | |
mac_buy2=false; | |
winchester_buy2=false; | |
rpk47_buy2=false; | |
glok_buy2=false; | |
rgd5_buy2=false; | |
katana_buy2=false; | |
milkor_buy2=false; | |
panzer_buy2=false; | |
webley_buy2=false; | |
fn_five_seven_buy2=false; | |
ak_up2=false; | |
fn_f2000_up2=false; | |
kills=0; | |
kills2=0; | |
points1=0; | |
points2=0; | |
kills_zayac=0; | |
kills_volk=0; | |
kills_medved=0; | |
kills_zayac_vschiii=0; | |
kills_zayac_bezuh=0; | |
kills_zayac_bezboshki=0; | |
kills2_zayac=0; | |
kills2_volk=0; | |
kills2_medved=0; | |
kills2_zayac_vschiii=0; | |
kills2_zayac_bezuh=0; | |
kills2_zayac_bezboshki=0; | |
opit1=0; | |
opit2=0; | |
status_queue1=0; | |
status_queue2=0; | |
status_queue1_block=false; | |
status_queue2_block=false; | |
LVL1=1; | |
LVL2=1; | |
lvl1_ready=false; | |
lvl2_ready=false; | |
lvl1_vibor=false; | |
lvl2_vibor=false; | |
lvl1_mig=0; | |
lvl2_mig=0; | |
attack1=0; | |
attack2=0; | |
luck1=0; | |
luck2=0; | |
skorost1=100; | |
skorost2=100; | |
primanka1=0; | |
mosch1=0; | |
primanka2=0; | |
mosch2=0; | |
postroenie1=0; | |
postroenie2=0; | |
tochnost1=1; | |
tochnost2=1; | |
vinoslivost1=1; | |
vinoslivost2=1; | |
vzrivchatka1=0; | |
vzrivchatka2=0; | |
modifikacii1=0; | |
modifikacii2=0; | |
technika1=0; | |
technika2=0; | |
speed=skorost1; | |
speed2=skorost2; | |
daun1=1; | |
daun2=1; | |
umnik1=0; | |
umnik2=0; | |
weapon1_fire=0; | |
weapon2_fire=0; | |
VIBOR=0; | |
opit_points1=0; | |
opit_points2=0; | |
naviki_points1=0; | |
naviki_points2=0; | |
lvl_key_block=false; | |
vibor_block=false; | |
viborchange_block=false; | |
menu1_on=0; | |
pistol1=1; | |
menu2_on=0; | |
pistol2=1; | |
//oboim[8]={30,8,30,30,8,45,50,8}; | |
//oboim2[8]={30,8,30,30,8,45,50,8}; | |
oboim[0]=30; | |
oboim[1]=8; | |
oboim[2]=30; | |
oboim[3]=30; | |
oboim[4]=8; | |
oboim[5]=45; | |
oboim[6]=50; | |
oboim[7]=8; | |
oboim[8]=75; | |
oboim[9]=17; | |
oboim[10]=1; | |
oboim[12]=6; | |
oboim[13]=1; | |
oboim[14]=6; | |
oboim[15]=20; | |
oboim2[0]=30; | |
oboim2[1]=8; | |
oboim2[2]=30; | |
oboim2[3]=30; | |
oboim2[4]=8; | |
oboim2[5]=45; | |
oboim2[6]=50; | |
oboim2[7]=8; | |
oboim2[8]=75; | |
oboim2[9]=17; | |
oboim2[10]=1; | |
oboim2[12]=6; | |
oboim2[13]=1; | |
oboim2[14]=6; | |
oboim2[15]=20; | |
defence_zayac=0; | |
defence_volk=10; | |
defence_medved=25; | |
rpg_healers=false; | |
rpg_illusionists=false; | |
rpg_teleporters=false; | |
for(int i90=0;i90<=MAX_TRUPS-1;i90++) | |
{trupsObjects[i90].aktiv=0; | |
trupsObjects[i90].type=0;} | |
for(int i4=0;i4<=MAX_ZAYAC-1;i4++) | |
{vragi1Objects[i4].ubit=0;//все зайцы живы | |
vragi1Objects[i4].pokoin=0; | |
vragi1Objects[i4].health=50; | |
vragi1Objects[i4].v1x=-50; | |
vragi1Objects[i4].v1y=hge->Random_Float(60,840); | |
vragi1Objects[i4].bezuh=0;//все зайцы с ушами | |
vragi1Objects[i4].bezboshki=0; | |
vragi1Objects[i4].speed=hge->Random_Float(0.9f,1.1f); | |
vragi1Objects[i4].defence=0; | |
vragi1Objects[i4].object_id=-1; | |
vragi1Objects[i4].A=0; | |
vragi1Objects[i4].vzorvan=false; | |
vragi1Objects[i4].energy=0; | |
vragi1Objects[i4].rasstX=0; | |
vragi1Objects[i4].rasstY=0; | |
vragi1Objects[i4].chetvert=0; | |
} | |
for(int i91=0;i91<=MAX_VOLK-1;i91++) | |
{vragi2Objects[i91].ubit=0;//все волки живы | |
vragi2Objects[i91].health=125; | |
vragi2Objects[i91].v2x=-50; | |
vragi2Objects[i91].v2y=hge->Random_Float(60,840); | |
vragi2Objects[i91].speed=hge->Random_Float(0.9f,1.1f); | |
vragi2Objects[i91].defence=0; | |
vragi2Objects[i91].object_id=-1; | |
} | |
for(int i92=0;i92<=MAX_MEDVED-1;i92++) | |
{vragi3Objects[i92].ubit=0;//все зайцы живы | |
vragi3Objects[i92].health=250; | |
vragi3Objects[i92].v3x=-50; | |
vragi3Objects[i92].v3y=hge->Random_Float(60,840); | |
vragi3Objects[i92].speed=hge->Random_Float(0.9f,1.1f); | |
vragi3Objects[i92].defence=0; | |
vragi3Objects[i92].object_id=-1; | |
} | |
for(int i92=0;i92<=MAX_PTENEC-1;i92++) | |
{vragi4Objects[i92].ubit=0;//все птенцы живы | |
vragi4Objects[i92].health=20; | |
vragi4Objects[i92].v4x=-50; | |
vragi4Objects[i92].v4y=hge->Random_Float(120,800); | |
vragi4Objects[i92].speed=hge->Random_Float(0.5f,0.6f); | |
vragi4Objects[i92].defence=0; | |
vragi4Objects[i92].object_id=-1; | |
vragi4Objects[i92].polet=0; | |
vragi4Objects[i92].vzorvan=false; | |
} | |
for(int i7=0;i7<=MAX_UHI-1;i7++) | |
{uhiObjects[i7].gradus=hge->Random_Float(0,M_PI);} | |
for(int i17=0;i17<=MAX_HEAD-1;i17++) | |
{boshkiObjects[i17].gradus=hge->Random_Float(0,M_PI);} | |
for(int i13=0;i13<=MAX_BLOOD-1;i13++) | |
{krovyakObjects[i13].akt=0;} | |
delete []gilziObjects; | |
gilziObjects=new gilzaObject[MAX_GILZ]; | |
delete []bonusiObjects; | |
bonusiObjects= new bonusObject[MAX_BONUS]; | |
delete [] bonusi1; | |
bonusi1=new bonusZnach[MAX_BONUSI]; | |
delete [] bonusi2; | |
bonusi2=new bonusZnach[MAX_BONUSI]; | |
delete [] statusi1; | |
delete [] statusi2; | |
statusi1= new bonusStatus[MAX_BONUSSTATUS]; | |
statusi2= new bonusStatus[MAX_BONUSSTATUS]; | |
delete [] bonustextiObjects; | |
bonustextiObjects= new bonustextObject[MAX_BONUSTEXT]; | |
delete [] myasko; | |
myasko= new myasoObject[MAX_MYASO]; | |
delete [] A; | |
A= new ALL[MAX_ZAYAC+MAX_VOLK+MAX_MEDVED+MAX_MYASO+MAX_BONUS+MAX_UHI+MAX_HEAD+N_OBJECTS+MAX_GILZ+MAX_BLOOD+MAX_GREN+2]; | |
delete []Y; | |
Y= new YCOORD[MAX_ZAYAC+MAX_VOLK+MAX_MEDVED+MAX_MYASO+MAX_BONUS+MAX_UHI+MAX_HEAD+N_OBJECTS+MAX_GILZ+MAX_BLOOD+MAX_GREN+2]; | |
delete []granati; | |
granati=new granataObject[MAX_GREN]; | |
for(int i58=0;i58<= MAX_GREN-1;i58++) | |
{granati[i58].gradus=0;} | |
for(int i96=0;i96<= MAX_MYASO-1;i96++) | |
{myasko[i96].gradus=0; | |
myasko[i96].akt=0; | |
myasko[i96].niz=0;} | |
delete []ubijstva; | |
ubijstva=new fragObject[MAX_KILLS]; | |
}//ЗАКРЫТИЕ НОВОЙ ИГРЫ | |
void zayac_add() | |
{N_ZAYAC++; | |
vragi1Objects[N_ZAYAC].v1x=-50; | |
if(player2_aktive==0) | |
{vragi1Objects[N_ZAYAC].v1y=hge->Random_Float(200,700);} | |
if(player2_aktive==1) | |
{vragi1Objects[N_ZAYAC].v1y=hge->Random_Float(150,850);} | |
vragi1Objects[N_ZAYAC].ubit=0; | |
vragi1Objects[N_ZAYAC].pokoin=0; | |
vragi1Objects[N_ZAYAC].health=50; | |
vragi1Objects[N_ZAYAC].bezuh=0; | |
vragi1Objects[N_ZAYAC].bezboshki=0; | |
vragi1Objects[N_ZAYAC].speed=hge->Random_Float(1,1.2f); | |
if(sit1==2) | |
{vragi1Objects[N_ZAYAC].speed=0.5f;} | |
vragi1Objects[N_ZAYAC].defence=defence_zayac; | |
vragi1Objects[N_ZAYAC].object_id=-1; | |
vragi1Objects[N_ZAYAC].vzorvan=false; | |
vragi1Objects[N_ZAYAC].energy=0; | |
vragi1Objects[N_ZAYAC].rasstX=0; | |
vragi1Objects[N_ZAYAC].rasstY=0; | |
vragi1Objects[N_ZAYAC].chetvert=0; | |
vragi1Objects[N_ZAYAC].timeout=0; | |
vragi1Objects[N_ZAYAC].timeout_milli=0; | |
} | |
void volk_add() | |
{N_VOLK++; | |
vragi2Objects[N_VOLK].v2x=-50; | |
if(player2_aktive==0) | |
{vragi2Objects[N_VOLK].v2y=hge->Random_Float(200,700);} | |
if(player2_aktive==1) | |
{vragi2Objects[N_VOLK].v2y=hge->Random_Float(150,750);} | |
vragi2Objects[N_VOLK].ubit=0; | |
vragi2Objects[N_VOLK].health=125; | |
vragi2Objects[N_VOLK].speed=hge->Random_Float(0.7f,0.9f); | |
vragi2Objects[N_VOLK].defence=defence_volk; | |
vragi2Objects[N_VOLK].object_id=-1; | |
vragi2Objects[N_VOLK].RPG_healer=0; | |
vragi2Objects[N_VOLK].RPG_illusionist=0; | |
vragi2Objects[N_VOLK].RPG_teleporter=0; | |
vragi2Objects[N_VOLK].timeout=0; | |
vragi2Objects[N_VOLK].timeout_milli=0; | |
} | |
void medved_add() | |
{N_MEDVED++; | |
vragi3Objects[N_MEDVED].v3x=-150; | |
if(player2_aktive==0) | |
{vragi3Objects[N_MEDVED].v3y=hge->Random_Float(200,700);} | |
if(player2_aktive==1) | |
{vragi3Objects[N_MEDVED].v3y=hge->Random_Float(150,750);} | |
vragi3Objects[N_MEDVED].bezboshki=0; | |
vragi3Objects[N_MEDVED].ubit=0; | |
vragi3Objects[N_MEDVED].health=400; | |
vragi3Objects[N_MEDVED].speed=hge->Random_Float(0.45f,0.55f); | |
vragi3Objects[N_MEDVED].defence=defence_medved; | |
vragi3Objects[N_MEDVED].object_id=-1; | |
vragi3Objects[N_MEDVED].RPG_healer=0; | |
vragi3Objects[N_MEDVED].RPG_illusionist=0; | |
vragi3Objects[N_MEDVED].ill1_active=0; | |
vragi3Objects[N_MEDVED].ill2_active=0; | |
vragi3Objects[N_MEDVED].RPG_teleporter=0; | |
vragi3Objects[N_MEDVED].teleportx=0; | |
vragi3Objects[N_MEDVED].teleported=0; | |
vragi3Objects[N_MEDVED].timeout=0; | |
vragi3Objects[N_MEDVED].timeout_milli=0;} | |
void ptenec_add() | |
{N_PTENEC++; | |
vragi4Objects[N_PTENEC].bezboshki=0; | |
vragi4Objects[N_PTENEC].v4x=-50; | |
if(player2_aktive==0) | |
{vragi4Objects[N_PTENEC].v4y=hge->Random_Float(200,700);} | |
if(player2_aktive==1) | |
{vragi4Objects[N_PTENEC].v4y=hge->Random_Float(150,750);} | |
vragi4Objects[N_PTENEC].gradus=0; | |
vragi4Objects[N_PTENEC].ubit=0; | |
vragi4Objects[N_PTENEC].health=20; | |
vragi4Objects[N_PTENEC].speed=hge->Random_Float(0.5f,0.6f); | |
vragi4Objects[N_PTENEC].defence=defence_zayac; | |
vragi4Objects[N_PTENEC].object_id=-1; | |
vragi4Objects[N_PTENEC].timeout=0; | |
vragi4Objects[N_PTENEC].timeout_milli=0; | |
vragi4Objects[N_PTENEC].wait=0; | |
vragi4Objects[N_PTENEC].wait_time_sec=0; | |
vragi4Objects[N_PTENEC].polet=0; | |
vragi4Objects[N_PTENEC].vzorvan=false; | |
vragi4Objects[N_PTENEC].energy=0; | |
vragi4Objects[N_PTENEC].rasstX=0; | |
vragi4Objects[N_PTENEC].rasstY=0; | |
} | |
void situation1() | |
{ | |
if(sit1==1) | |
{ | |
int n_volk=N_VOLK; | |
int n_medved=N_MEDVED; | |
int sit_progress=-1; | |
if(sit_progress==-1)//убираем волков | |
{ | |
if(N_VOLK>=0) | |
{ | |
for(int i106=0;i106<=N_VOLK;i106++) | |
{ | |
if(vragi2Objects[N_VOLK].ubit==1||vragi2Objects[N_VOLK].v2x<0) | |
{N_VOLK--;} | |
}} | |
if(N_VOLK<0) | |
{sit_progress=0;} | |
} | |
if(sit_progress==0)//добавляем медведей | |
{ | |
medved_add(); | |
medved_add(); | |
medved_add(); | |
medved_add(); | |
sit_progress=1; | |
} | |
if(sit_progress==1)//смотрим, убиты ли они | |
{ | |
for(int i107=0;i107<=N_MEDVED;i107++) | |
{ | |
if((vragi3Objects[N_MEDVED].ubit==1||vragi3Objects[N_MEDVED].v3x<0)&&n_medved!=N_MEDVED) | |
{N_MEDVED--;}} | |
if(n_medved==N_MEDVED) | |
{sit_progress=2;} | |
} | |
if(sit_progress==2)//возвращаем все на место | |
{ | |
for(int i108=0;i108<=n_volk;i108++) | |
{volk_add();} | |
sit1=0; | |
} | |
} | |
}//situation1 | |
void bonus_shans() | |
{bonus=hge->Random_Int(1,1000);} | |
void bonustext1_0() | |
{//появление текста пусто | |
bonustextiObjects[N_BONUSTEXT].akt=1; | |
bonustextiObjects[N_BONUSTEXT].akt_time=perez_akt; | |
bonustextiObjects[N_BONUSTEXT].akt_time_milli=GetTime(); | |
bonustextiObjects[N_BONUSTEXT].type=0; | |
bonustextiObjects[N_BONUSTEXT].x=x-28; | |
bonustextiObjects[N_BONUSTEXT].x_s=x-28; | |
bonustextiObjects[N_BONUSTEXT].x_X=X; | |
bonustextiObjects[N_BONUSTEXT].y=y-50; | |
N_BONUSTEXT++; | |
if(N_BONUSTEXT>=MAX_BONUSTEXT-1) | |
{N_BONUSTEXT=0;} | |
} | |
void bonustext1_1() | |
{//появление текста +10% скорость | |
bonustextiObjects[N_BONUSTEXT].akt=1; | |
bonustextiObjects[N_BONUSTEXT].akt_time=perez_akt; | |
bonustextiObjects[N_BONUSTEXT].akt_time_milli=GetTime(); | |
bonustextiObjects[N_BONUSTEXT].type=1; | |
bonustextiObjects[N_BONUSTEXT].x=x-60; | |
bonustextiObjects[N_BONUSTEXT].x_s=x-60; | |
bonustextiObjects[N_BONUSTEXT].x_X=X; | |
bonustextiObjects[N_BONUSTEXT].y=y-50; | |
N_BONUSTEXT++; | |
if(N_BONUSTEXT>=MAX_BONUSTEXT-1) | |
{N_BONUSTEXT=0;} | |
} | |
void bonustext1_2() | |
{//появление текста -50% обучение | |
bonustextiObjects[N_BONUSTEXT].akt=1; | |
bonustextiObjects[N_BONUSTEXT].akt_time=perez_akt; | |
bonustextiObjects[N_BONUSTEXT].akt_time_milli=GetTime(); | |
bonustextiObjects[N_BONUSTEXT].type=2; | |
bonustextiObjects[N_BONUSTEXT].x=x-60; | |
bonustextiObjects[N_BONUSTEXT].x_s=x-60; | |
bonustextiObjects[N_BONUSTEXT].x_X=X; | |
bonustextiObjects[N_BONUSTEXT].y=y-50; | |
N_BONUSTEXT++; | |
if(N_BONUSTEXT>=MAX_BONUSTEXT-1) | |
{N_BONUSTEXT=0;} | |
} | |
void bonustext1_3() | |
{//появление текста -20% скорость | |
bonustextiObjects[N_BONUSTEXT].akt=1; | |
bonustextiObjects[N_BONUSTEXT].akt_time=perez_akt; | |
bonustextiObjects[N_BONUSTEXT].akt_time_milli=GetTime(); | |
bonustextiObjects[N_BONUSTEXT].type=3; | |
bonustextiObjects[N_BONUSTEXT].x=x-60; | |
bonustextiObjects[N_BONUSTEXT].x_s=x-60; | |
bonustextiObjects[N_BONUSTEXT].x_X=X; | |
bonustextiObjects[N_BONUSTEXT].y=y-50; | |
N_BONUSTEXT++; | |
if(N_BONUSTEXT>=MAX_BONUSTEXT-1) | |
{N_BONUSTEXT=0;} | |
} | |
void bonustext1_4() | |
{//появление текста +25% обучение | |
bonustextiObjects[N_BONUSTEXT].akt=1; | |
bonustextiObjects[N_BONUSTEXT].akt_time=perez_akt; | |
bonustextiObjects[N_BONUSTEXT].akt_time_milli=GetTime(); | |
bonustextiObjects[N_BONUSTEXT].type=4; | |
bonustextiObjects[N_BONUSTEXT].x=x-60; | |
bonustextiObjects[N_BONUSTEXT].x_s=x-60; | |
bonustextiObjects[N_BONUSTEXT].x_X=X; | |
bonustextiObjects[N_BONUSTEXT].y=y-50; | |
N_BONUSTEXT++; | |
if(N_BONUSTEXT>=MAX_BONUSTEXT-1) | |
{N_BONUSTEXT=0;} | |
} | |
void bonustext2_0() | |
{//появление текста пусто | |
bonustextiObjects[N_BONUSTEXT].akt=1; | |
bonustextiObjects[N_BONUSTEXT].akt_time=perez_akt; | |
bonustextiObjects[N_BONUSTEXT].akt_time_milli=GetTime(); | |
bonustextiObjects[N_BONUSTEXT].type=0; | |
bonustextiObjects[N_BONUSTEXT].x=x2-28; | |
bonustextiObjects[N_BONUSTEXT].x_s=x2-28; | |
bonustextiObjects[N_BONUSTEXT].x_X=X; | |
bonustextiObjects[N_BONUSTEXT].y=y2-50; | |
N_BONUSTEXT++; | |
if(N_BONUSTEXT>=MAX_BONUSTEXT-1) | |
{N_BONUSTEXT=0;} | |
} | |
void bonustext2_1() | |
{//появление текста +10% скорость | |
bonustextiObjects[N_BONUSTEXT].akt=1; | |
bonustextiObjects[N_BONUSTEXT].akt_time=perez_akt; | |
bonustextiObjects[N_BONUSTEXT].akt_time_milli=GetTime(); | |
bonustextiObjects[N_BONUSTEXT].type=1; | |
bonustextiObjects[N_BONUSTEXT].x=x2-60; | |
bonustextiObjects[N_BONUSTEXT].x_s=x2-60; | |
bonustextiObjects[N_BONUSTEXT].x_X=X; | |
bonustextiObjects[N_BONUSTEXT].y=y2-50; | |
N_BONUSTEXT++; | |
if(N_BONUSTEXT>=MAX_BONUSTEXT-1) | |
{N_BONUSTEXT=0;} | |
} | |
void bonustext2_2() | |
{//появление текста -50% обучение | |
bonustextiObjects[N_BONUSTEXT].akt=1; | |
bonustextiObjects[N_BONUSTEXT].akt_time=perez_akt; | |
bonustextiObjects[N_BONUSTEXT].akt_time_milli=GetTime(); | |
bonustextiObjects[N_BONUSTEXT].type=2; | |
bonustextiObjects[N_BONUSTEXT].x=x2-60; | |
bonustextiObjects[N_BONUSTEXT].x_s=x2-60; | |
bonustextiObjects[N_BONUSTEXT].x_X=X; | |
bonustextiObjects[N_BONUSTEXT].y=y2-50; | |
N_BONUSTEXT++; | |
if(N_BONUSTEXT>=MAX_BONUSTEXT-1) | |
{N_BONUSTEXT=0;} | |
} | |
void bonustext2_3() | |
{//появление текста -20% скорость | |
bonustextiObjects[N_BONUSTEXT].akt=1; | |
bonustextiObjects[N_BONUSTEXT].akt_time=perez_akt; | |
bonustextiObjects[N_BONUSTEXT].akt_time_milli=GetTime(); | |
bonustextiObjects[N_BONUSTEXT].type=3; | |
bonustextiObjects[N_BONUSTEXT].x=x2-60; | |
bonustextiObjects[N_BONUSTEXT].x_s=x2-60; | |
bonustextiObjects[N_BONUSTEXT].x_X=X; | |
bonustextiObjects[N_BONUSTEXT].y=y2-50; | |
N_BONUSTEXT++; | |
if(N_BONUSTEXT>=MAX_BONUSTEXT-1) | |
{N_BONUSTEXT=0;} | |
} | |
void bonustext2_4() | |
{//появление текста +25% обучение | |
bonustextiObjects[N_BONUSTEXT].akt=1; | |
bonustextiObjects[N_BONUSTEXT].akt_time=perez_akt; | |
bonustextiObjects[N_BONUSTEXT].akt_time_milli=GetTime(); | |
bonustextiObjects[N_BONUSTEXT].type=4; | |
bonustextiObjects[N_BONUSTEXT].x=x2-60; | |
bonustextiObjects[N_BONUSTEXT].x_s=x2-60; | |
bonustextiObjects[N_BONUSTEXT].x_X=X; | |
bonustextiObjects[N_BONUSTEXT].y=y2-50; | |
N_BONUSTEXT++; | |
if(N_BONUSTEXT>=MAX_BONUSTEXT-1) | |
{N_BONUSTEXT=0;} | |
} | |
/* | |
void trups_podvintes() | |
{ | |
if(peregruzheno==1) | |
{ | |
for (int i100=0;i100<=NUMBER_TRUPS-1;i100++) | |
{trupsObjects[i100].aktiv=trupsObjects[i100+1].aktiv; | |
trupsObjects[i100].color=trupsObjects[i100+1].color; | |
trupsObjects[i100].frame=trupsObjects[i100+1].frame; | |
trupsObjects[i100].frame_akt=trupsObjects[i100+1].frame_akt; | |
trupsObjects[i100].killtime=trupsObjects[i100+1].killtime; | |
trupsObjects[i100].killtime_sec=trupsObjects[i100+1].killtime_sec; | |
trupsObjects[i100].posX=trupsObjects[i100+1].posX; | |
trupsObjects[i100].posX2=trupsObjects[i100+1].posX2; | |
trupsObjects[i100].posX2_s=trupsObjects[i100+1].posX2_s; | |
trupsObjects[i100].posX2_X=trupsObjects[i100+1].posX2_X; | |
trupsObjects[i100].posX_s=trupsObjects[i100+1].posX_s; | |
trupsObjects[i100].posX_X=trupsObjects[i100+1].posX_X; | |
trupsObjects[i100].posY=trupsObjects[i100+1].posY; | |
trupsObjects[i100].posY2=trupsObjects[i100+1].posY2; | |
trupsObjects[i100].rot=trupsObjects[i100+1].rot; | |
trupsObjects[i100].scaleX=trupsObjects[i100+1].scaleX; | |
trupsObjects[i100].scaleY=trupsObjects[i100+1].scaleY; | |
trupsObjects[i100].trup_tex=trupsObjects[i100+1].trup_tex; | |
trupsObjects[i100].type=trupsObjects[i100+1].type; | |
trupsObjects[i100].vrag=trupsObjects[i100+1].vrag; | |
} | |
N_TRUPS=NUMBER_TRUPS; | |
} | |
} | |
*/ | |
void weapon1_fire_skill() | |
{ | |
if(naviki_points1>0) | |
{if(LVL1>=12+weapon1_fire*3&&attack1>=15+weapon1_fire*3&&skorost1>=5+weapon1_fire*2) | |
{info->printf(650,400,HGETEXT_LEFT,"Оружие:огонь"); | |
info->printf(650,420,HGETEXT_LEFT,"Уровень %d",weapon1_fire+1); | |
info->printf(650,440,HGETEXT_LEFT,"Снижает защиту врага"); | |
info->printf(650,460,HGETEXT_LEFT,"на %d ед. за попадание",weapon1_fire+1);}} | |
if(naviki_points1<=0||LVL1<12+weapon1_fire*3||attack1<15+weapon1_fire*3||skorost1<5+weapon1_fire*2) | |
{infoD->printf(650,400,HGETEXT_LEFT,"Оружие:огонь"); | |
infoD->printf(650,420,HGETEXT_LEFT,"Уровень %d",weapon1_fire+1); | |
infoD->printf(650,440,HGETEXT_LEFT,"Снижает защиту врага"); | |
infoD->printf(650,460,HGETEXT_LEFT,"на %d ед. за попадание",weapon1_fire+1);} | |
} | |
//----------------------------------------------------------------- | |
bool FocusGainFunc() | |
{ | |
if(blood_tar && blood_target) | |
blood_tar->SetTexture(hge->Target_GetTexture(blood_target)); | |
return false; | |
} | |
//----------------------------------------------------------------- | |
bool FrameFunc() | |
{ | |
MSG msg; // generic message | |
bool enter; | |
bool shift; | |
bool space; | |
bool r_key; | |
float dt=hge->Timer_GetDelta(); | |
int fps=hge->Timer_GetFPS(); | |
time=GetTime(); | |
int id; | |
static int lastid=0; | |
if(menu_aktive==1) | |
{ | |
id=menu->Update(dt); | |
if(id == -1) | |
{ | |
switch(lastid) | |
{ | |
case 1: | |
if(game_start==0)//если игра не началась то вход в меню выбора игроков | |
{lastid=id; //старт | |
menu_aktive=-1; | |
menu->Enter(); | |
break;} | |
if(game_start==1&&pobeda==false&&porazhenie==false)//игра уже началась | |
{lastid=id; //продолжить | |
menu_aktive=0; | |
menu->Enter(); | |
PAUSE=false; | |
break;} | |
if(game_start==1&&(pobeda==true||porazhenie==true))//игра уже началась и выиграли/просрали игру | |
{lastid=id; //статистика | |
menu_aktive=-5; | |
menu->Enter(); | |
break;} | |
case 2://ОПЦИИ или новая игра | |
if(game_start==0) | |
{menu->Enter(); | |
menu_aktive=2; | |
break;} | |
if(game_start==1) | |
{menu->Enter(); | |
menu_aktive=-1; | |
break;} | |
case 3://ИНФО или опции | |
if(game_start==0) | |
{menu->Enter(); | |
menu_aktive=3; | |
break;} | |
if(game_start==1) | |
{menu->Enter(); | |
menu_aktive=2; | |
break;} | |
case 4: //АВТОРЫ или инфо | |
if(game_start==0) | |
{menu->Enter(); | |
menu_aktive=4; | |
break;} | |
if(game_start==1) | |
{menu->Enter(); | |
menu_aktive=3; | |
break;} | |
case 5: | |
if(game_start==0) | |
{return true;} //ВЫХОД или авторы | |
if(game_start==1) | |
{menu->Enter(); | |
menu_aktive=4; | |
break;} | |
case 6: | |
if(game_start==0) | |
{menu->SetFocus(1); | |
menu->Enter();} | |
if(game_start==1) | |
{ | |
if(net_user!=0) | |
{Close_Net(); | |
} | |
return true;} | |
} | |
} | |
else if(id) | |
{lastid=id; | |
menu->Leave();} | |
} | |
if(menu_aktive==3)//МЕНЮ ИНФЫ | |
{ | |
id=menu_info->Update(dt); | |
if(id == -1) | |
{ | |
switch(lastid) | |
{ | |
case 1://враги | |
menu_info->Enter(); | |
menu_aktive=31; | |
break; | |
case 2://оружие | |
menu_info->Enter(); | |
menu_aktive=32; | |
break; | |
case 3://бонусы | |
menu_info->Enter(); | |
menu_aktive=33; | |
break; | |
case 4://НАЗАД | |
menu_info->Enter(); | |
menu_aktive=1; | |
break; | |
} | |
} | |
else if(id) | |
{lastid=id; | |
menu_info->Leave();} | |
} | |
if(menu_aktive==-1)//выбор КОЛ-ВА ИГРОКОВ | |
{ | |
id=menu_start->Update(dt); | |
if(id == -1) | |
{ | |
switch(lastid) | |
{ | |
case 1://1 игрок | |
menu_start->Enter(); | |
player2_aktive=0; | |
if(CLASSMOD==false) | |
{ | |
if(game_start==1) | |
{new_game();} | |
game_start=1; | |
menu_aktive=0; | |
PAUSE=false; | |
defence_upgrade_sec=GetCurrentSecond(); | |
} | |
if(CLASSMOD==true) | |
{menu_aktive=-3; | |
player_vibor=1;} | |
break; | |
case 2://2 игрока | |
menu_start->Enter(); | |
player2_aktive=1; | |
if(CLASSMOD==false) | |
{ | |
if(game_start==1) | |
{new_game();} | |
game_start=1; | |
menu_aktive=0; | |
defence_upgrade_sec=GetCurrentSecond(); | |
} | |
if(CLASSMOD==true) | |
{menu_aktive=-3; | |
player_vibor=1;} | |
break; | |
case 3://НАЗАД | |
menu_start->Enter(); | |
menu_aktive=1; | |
break; | |
} | |
} | |
else if(id) | |
{lastid=id; | |
menu_start->Leave();} | |
} | |
if(menu_aktive==-3)//CИСТЕМА КЛАССОВ | |
{ | |
id=menu_class->Update(dt); | |
if(id == -1) | |
{ | |
switch(lastid) | |
{ | |
case 1://мясник | |
menu_class->Enter(); | |
//первый игрок | |
if(player_vibor==1) | |
{class1=1; | |
//если нет второго - начало игры | |
if(player2_aktive==0) | |
{menu_aktive=0; | |
if(game_start==1) | |
{new_game();} | |
game_start=1; | |
PAUSE=false; | |
speed+=5; | |
defence_upgrade_sec=GetCurrentSecond();} | |
//если есть - его выбор | |
if(player2_aktive==1) | |
{player_vibor=2; | |
menu_aktive=-4;} | |
} | |
break; | |
case 2://стрелок | |
menu_class->Enter(); | |
//первый игрок | |
if(player_vibor==1) | |
{class1=2; | |
//если нет второго - начало игры | |
if(player2_aktive==0) | |
{menu_aktive=0; | |
if(game_start==1) | |
{new_game();} | |
game_start=1; | |
PAUSE=false; | |
tochnost1=0.8f; | |
defence_upgrade_sec=GetCurrentSecond();} | |
//если есть - его выбор | |
if(player2_aktive==1) | |
{player_vibor=2; | |
menu_aktive=-4;} | |
} | |
break; | |
case 3://подрывник | |
menu_class->Enter(); | |
//первый игрок | |
if(player_vibor==1) | |
{class1=3; | |
//если нет второго - начало игры | |
if(player2_aktive==0) | |
{menu_aktive=0; | |
if(game_start==1) | |
{new_game();} | |
game_start=1; | |
PAUSE=false; | |
vinoslivost1=1; | |
vzrivchatka1=5; | |
defence_upgrade_sec=GetCurrentSecond();} | |
//если есть - его выбор | |
if(player2_aktive==1) | |
{player_vibor=2; | |
menu_aktive=-4;} | |
} | |
break; | |
case 4://инжинер | |
menu_class->Enter(); | |
//первый игрок | |
if(player_vibor==1) | |
{class1=4; | |
//если нет второго - начало игры | |
if(player2_aktive==0) | |
{menu_aktive=0; | |
if(game_start==1) | |
{new_game();} | |
game_start=1; | |
PAUSE=false; | |
defence_upgrade_sec=GetCurrentSecond();} | |
//если есть - его выбор | |
if(player2_aktive==1) | |
{player_vibor=2; | |
menu_aktive=-4;} | |
} | |
break; | |
case 5://НАЗАД | |
menu_class->Enter(); | |
menu_aktive=-1; | |
break; | |
} | |
} | |
else if(id) | |
{lastid=id; | |
menu_class->Leave();} | |
} | |
if(menu_aktive==-4)//CИСТЕМА КЛАССОВ ИГРОК ВТОРОЙ | |
{ | |
id=menu_class2->Update(dt); | |
if(id == -1) | |
{ | |
switch(lastid) | |
{ | |
case 1://мясник | |
menu_class2->Enter(); | |
class2=1; | |
menu_aktive=0; | |
if(game_start==1) | |
{new_game();} | |
game_start=1; | |
PAUSE=false; | |
speed2+=5; | |
switch(class1) | |
{case 1: | |
speed+=5; | |
break; | |
case 2: | |
tochnost1=0.8f; | |
break; | |
case 3: | |
vinoslivost1=1; | |
vzrivchatka1=5; | |
break; | |
case 4: | |
break; | |
} | |
defence_upgrade_sec=GetCurrentSecond(); | |
break; | |
case 2://стрелок | |
menu_class2->Enter(); | |
class2=2; | |
menu_aktive=0; | |
if(game_start==1) | |
{new_game();} | |
game_start=1; | |
PAUSE=false; | |
switch(class1) | |
{case 1: | |
speed+=5; | |
break; | |
case 2: | |
tochnost1=0.8f; | |
break; | |
case 3: | |
vinoslivost1=1; | |
vzrivchatka1=5; | |
break; | |
case 4: | |
break; | |
} | |
tochnost2=0.8f; | |
defence_upgrade_sec=GetCurrentSecond(); | |
break; | |
case 3://подрывник | |
menu_class2->Enter(); | |
class2=3; | |
menu_aktive=0; | |
if(game_start==1) | |
{new_game();} | |
game_start=1; | |
PAUSE=false; | |
switch(class1) | |
{case 1: | |
speed+=5; | |
break; | |
case 2: | |
tochnost1=0.8f; | |
break; | |
case 3: | |
vinoslivost1=1; | |
vzrivchatka1=5; | |
break; | |
case 4: | |
break; | |
} | |
vinoslivost2=1; | |
vzrivchatka2=5; | |
defence_upgrade_sec=GetCurrentSecond(); | |
break; | |
case 4://инжинер | |
menu_class2->Enter(); | |
class2=4; | |
menu_aktive=0; | |
if(game_start==1) | |
{new_game();} | |
game_start=1; | |
PAUSE=false; | |
switch(class1) | |
{case 1: | |
speed+=5; | |
break; | |
case 2: | |
tochnost1=0.8f; | |
break; | |
case 3: | |
vinoslivost1=1; | |
vzrivchatka1=5; | |
break; | |
case 4: | |
break; | |
} | |
defence_upgrade_sec=GetCurrentSecond(); | |
break; | |
case 5://НАЗАД | |
menu_class2->Enter(); | |
menu_aktive=-1; | |
break; | |
} | |
} | |
else if(id) | |
{lastid=id; | |
menu_class2->Leave();} | |
} | |
if(menu_aktive==-5)//СТАТИСТИКА | |
{ | |
if(hge->Input_GetKeyState(HGEK_ESCAPE)) | |
{menu->DelCtrl(1); | |
menu->DelCtrl(2); | |
menu->DelCtrl(3); | |
menu->DelCtrl(4); | |
menu->DelCtrl(5); | |
menu->DelCtrl(6); | |
menu->AddCtrl(new hgeGUIMenuItem(1,menu_font,menu_sound,menu_choose,600,200,0.0f,"Статистика")); | |
menu->AddCtrl(new hgeGUIMenuItem(2,menu_font,menu_sound,menu_choose,600,240,0.0f,"НоваЯ Игра")); | |
menu->AddCtrl(new hgeGUIMenuItem(3,menu_font,menu_sound,menu_choose,600,280,0.0f,"Опции")); | |
menu->AddCtrl(new hgeGUIMenuItem(4,menu_font,menu_sound,menu_choose,600,320,0.0f,"Инфо")); | |
menu->AddCtrl(new hgeGUIMenuItem(5,menu_font,menu_sound,menu_choose,600,360,0.0f,"Авторы")); | |
menu->AddCtrl(new hgeGUIMenuItem(6,menu_font,menu_sound,menu_choose,600,400,0.0f,"Выход")); | |
menu_aktive=1; | |
PAUSE=true; | |
menu->SetFocus(1); | |
menu->Enter();} | |
} | |
/* | |
if(menu_aktive==-2)//выбор yes or no | |
{ | |
id=menu_really->Update(dt); | |
if(id == -1) | |
{ | |
switch(lastid) | |
{ | |
case 1://da | |
menu_really->Enter(); | |
menu_aktive=-1; | |
break; | |
case 2://net | |
menu_really->Enter(); | |
menu_aktive=1; | |
break; | |
} | |
} | |
else if(id) | |
{lastid=id; | |
menu_really->Leave();} | |
} | |
*/ | |
if(menu_aktive==2)//МЕНЮ OPTIONS | |
{ | |
id=menu_video->Update(dt); | |
if(id == -1) | |
{ | |
switch(lastid) | |
{ | |
case 1://СИСТЕМА КЛАССОВ on | |
if(CLASSMOD==false) | |
{CLASSMOD=true;} | |
menu_video->Enter(); | |
break; | |
case 2://СИСТЕМА КЛАССОВ off | |
if(CLASSMOD==true) | |
{CLASSMOD=false;} | |
menu_video->Enter(); | |
break; | |
case 3://RPGMOD on | |
if(RPGMOD==false) | |
{RPGMOD=true;} | |
menu_video->Enter(); | |
break; | |
case 4://RPGMOD off | |
if(RPGMOD==true) | |
{RPGMOD=false;} | |
menu_video->Enter(); | |
break; | |
case 5://ЗВУК | |
menu_video->Enter(); | |
break; | |
} | |
} | |
else if(id) | |
{lastid=id; | |
menu_video->Leave();} | |
} | |
if(menu_aktive==2) | |
{ | |
if(hge->Input_GetKeyState(HGEK_ESCAPE)) | |
{menu_aktive=1;} | |
} | |
if(menu_aktive==4) | |
{ | |
if(hge->Input_GetKeyState(HGEK_ESCAPE)||hge->Input_GetKeyState(HGEK_ENTER)) | |
{menu_aktive=1;} | |
} | |
if(menu_aktive==31||menu_aktive==32||menu_aktive==33) | |
{if(hge->Input_GetKeyState(HGEK_ESCAPE)||hge->Input_GetKeyState(HGEK_ENTER)) | |
{menu_aktive=3;} | |
} | |
if(menu_aktive==0) | |
{ | |
//-----------------------------------------------------------|||||||||||||||||||||||||||||||||||||| | |
if(PAUSE==false) | |
{ | |
char dataBuffer [496]; | |
char sendBuffer [62][8]; | |
char recvBuffer [62][8]; | |
char dataBuffer2 [496]; | |
char sendBuffer2 [62][8]; | |
char recvBuffer2 [62][8]; | |
float sleep_milli; | |
//-----------------------------------------------------------ПОСЫЛАЕМ ДАННЫЕ КЛИЕНТУ/СЕРВЕРУ------------------------------- | |
if(net_faza==1)//сервер-клиенту | |
{ | |
if(net_user==1) | |
{ | |
sprintf (sendBuffer[0],"%d",(int)x); | |
sprintf (sendBuffer[1],"%d",(int)y); | |
sprintf (sendBuffer[2],"%.2f",dx); | |
sprintf (sendBuffer[3],"%.2f",dy); | |
sprintf (sendBuffer[4],"%d",(int)px); | |
sprintf (sendBuffer[5],"%d",(int)py); | |
sprintf (sendBuffer[6],"%d", oboima); | |
sprintf (sendBuffer[7],"%d", N_WEAPON1); | |
sprintf (sendBuffer[8],"%d", hge->Input_GetKeyState(HGEK_ENTER)); | |
sprintf (sendBuffer[9],"%d", hge->Input_GetKeyState(HGEK_SHIFT)); | |
sprintf (sendBuffer[10],"%d", kills); | |
sprintf (sendBuffer[11],"%d", points1); | |
for (int ite=0;ite<=N_ZAYAC;ite++) | |
{ | |
sprintf (sendBuffer[12+ite],"%d", (int)vragi1Objects[ite].v1x); | |
} | |
for (int ite=0;ite<=N_ZAYAC;ite++) | |
{ | |
sprintf (sendBuffer[13+N_ZAYAC+ite],"%d", (int)vragi1Objects[ite].v1y); | |
} | |
memcpy(dataBuffer,sendBuffer,496); | |
send (s[1],dataBuffer,496,0); | |
net_faza=2; | |
} | |
if(net_user==2) | |
{ | |
received=recv (s[4],dataBuffer2,496,0); | |
memcpy(recvBuffer2,dataBuffer2,496); | |
x=atof(recvBuffer2[0]); | |
y=atof(recvBuffer2[1]); | |
dx=atof(recvBuffer2[2]); | |
dy=atof(recvBuffer2[3]); | |
px=atoi(recvBuffer2[4]); | |
py=atoi(recvBuffer2[5]); | |
oboima=atoi(recvBuffer2[6]); | |
N_WEAPON1=atoi(recvBuffer2[7]); | |
enter=atoi(recvBuffer2[8]); | |
shift=atoi(recvBuffer2[9]); | |
kills=atoi(recvBuffer2[10]); | |
points1=atoi(recvBuffer2[11]); | |
for (int ite=0;ite<=N_ZAYAC;ite++) | |
{ | |
vragi1Objects[ite].v1x= atoi (recvBuffer2[12+ite]); | |
} | |
for (int ite=0;ite<=N_ZAYAC;ite++) | |
{ | |
vragi1Objects[ite].v1y= atoi (recvBuffer2[13+N_ZAYAC+ite]); | |
} | |
net_faza=2; | |
} | |
}//сервер-клиенту | |
if(net_faza==2)//клиент-серверу | |
{ | |
if(net_user==2) | |
{ | |
sprintf (sendBuffer2[0],"%d",(int)x2); | |
sprintf (sendBuffer2[1],"%d",(int)y2); | |
sprintf (sendBuffer2[2],"%.2f",dx2); | |
sprintf (sendBuffer2[3],"%.2f",dy2); | |
sprintf (sendBuffer2[4],"%d",(int)p2x); | |
sprintf (sendBuffer2[5],"%d",(int)p2y); | |
sprintf (sendBuffer2[6],"%d", oboima2); | |
sprintf (sendBuffer2[7],"%d", N_WEAPON2); | |
sprintf (sendBuffer2[8],"%d", hge->Input_GetKeyState(HGEK_SPACE)); | |
sprintf (sendBuffer2[9],"%d", hge->Input_GetKeyState(HGEK_R)); | |
sprintf (sendBuffer2[10],"%d", kills2); | |
sprintf (sendBuffer2[11],"%d", points2); | |
memcpy(dataBuffer2,sendBuffer2,96); | |
send (s[3],dataBuffer2,96,0); | |
net_faza=1; | |
} | |
if(net_user==1) | |
{ | |
received=recv (s[0],dataBuffer,96,0); | |
memcpy(recvBuffer,dataBuffer,96); | |
x2=atof(recvBuffer[0]); | |
y2=atof(recvBuffer[1]); | |
dx2=atof(recvBuffer[2]); | |
dy2=atof(recvBuffer[3]); | |
p2x=atoi(recvBuffer[4]); | |
p2y=atoi(recvBuffer[5]); | |
oboima2=atoi(recvBuffer[6]); | |
N_WEAPON2=atoi(recvBuffer[7]); | |
space=atoi(recvBuffer[8]); | |
r_key=atoi(recvBuffer[9]); | |
kills2=atoi(recvBuffer[10]); | |
points2=atoi(recvBuffer[11]); | |
net_faza=1; | |
} | |
}//клиент-серверу | |
float lag=((1+dt*12)*sqrt(dt/0.006f)); | |
float lag_p=((1+dt*10)*sqrt(dt/0.01f))*((x+1200)/2400); | |
//чтоб игрок1 тормозил и не улетал за экран | |
dx*=tormoz; dy*=tormoz; | |
float lag_igrokam=((1+12*dt)/(1+5*dt))*sqrt(sqrt(sqrt(140/(float)fps))); | |
x+=dx*lag_igrokam; y+=dy*lag_igrokam; | |
if(x>1184) {x=1184;} | |
if(x<16) {x=16;} | |
if(y>884) {y=884;} | |
if(y<65) {y=65;} | |
//чтоб игрок2 тормозил и не улетал за экран | |
dx2*=tormoz2; dy2*=tormoz2; | |
x2+=dx2*lag_igrokam; y2+=dy2*lag_igrokam; | |
if(x2>1184) {x2=1184;} | |
if(x2<16) {x2=16;} | |
if(y2>884) {y2=884;} | |
if(y2<66) {y2=66;} | |
for (int i56=0;i56<=N_OBJECTS-1;i56++)//контакт игроков с предметами | |
{ | |
switch(Objects[i56].type) | |
{ | |
case 1: | |
case 2: | |
//1-й игрок | |
if((X-Objects[i56].x)<x-10&&(x-10)-(X-Objects[i56].x)<=30&& | |
y+48<=Objects[i56].y+30&&y+48>=Objects[i56].y+5)//объект перед щами!!! | |
{x=X-Objects[i56].x+40;} | |
if((X-Objects[i56].x)>x+10&&(X-Objects[i56].x)-(x+10)<=30&& | |
y+48<=Objects[i56].y+30&&y+48>=Objects[i56].y+15)//объект за щами!!! | |
{x=X-Objects[i56].x-40;} | |
if(X-Objects[i56].x+27>=x-10&&X-Objects[i56].x-30<=x+10&& | |
y+48>=Objects[i56].y&&y+48-Objects[i56].y>=0&&y+48-Objects[i56].y<=15)//объект под щами!!! | |
{y=Objects[i56].y-47;} | |
if(X-Objects[i56].x+27>=x-10&&X-Objects[i56].x-30<=x+10&& | |
y+48>=Objects[i56].y&&y+48-Objects[i56].y<=40&&y+48-Objects[i56].y>=25)//объект над щами!!! | |
{y=Objects[i56].y-10;} | |
//2-й игрок | |
if((X-Objects[i56].x)<x2-10&&(x2-10)-(X-Objects[i56].x)<=30&& | |
y2+48<=Objects[i56].y+30&&y2+48>=Objects[i56].y+5)//объект перед щами!!! | |
{x2=X-Objects[i56].x+39;} | |
if((X-Objects[i56].x)>x2+10&&(X-Objects[i56].x)-(x2+10)<=30&& | |
y2+48<=Objects[i56].y+30&&y2+48>=Objects[i56].y+15)//объект за щами!!! | |
{x2=X-Objects[i56].x-39;} | |
if(X-Objects[i56].x+27>=x2-10&&X-Objects[i56].x-30<=x2+10&& | |
y2+48>=Objects[i56].y&&y2+48-Objects[i56].y>=0&&y2+48-Objects[i56].y<=15)//объект под щами!!! | |
{y2=Objects[i56].y-48;} | |
if(X-Objects[i56].x+27>=x2-10&&X-Objects[i56].x-30<=x2+10&& | |
y2+48>=Objects[i56].y&&y2+48-Objects[i56].y<=40&&y2+48-Objects[i56].y>=25)//объект над щами!!! | |
{y2=Objects[i56].y-11;} | |
break; | |
} | |
} | |
//ЗАЯЦ | |
for (int i3=0;i3<=N_ZAYAC;i3++) | |
{ | |
if(vragi1Objects[i3].ubit!=1)//сама скорость | |
{ | |
vragi1Objects[i3].v1x+=vragi1Objects[i3].speed*lag; | |
//vragi1Objects[i3].v1x+=vragi1Objects[i3].speed*lag; | |
zayac->Resume(); | |
//агро мясника | |
if(class1==1&&primanka1>0&&vragi1Objects[i3].v1x<=x-16&&sqrt(((x-16)-vragi1Objects[i3].v1x)*((x-16)-vragi1Objects[i3].v1x)+ | |
(vragi1Objects[i3].v1y-(y-12))*(vragi1Objects[i3].v1y-(y-12)))<=(60+5*primanka1)) | |
{ | |
if(vragi1Objects[i3].v1y<y-12) | |
{vragi1Objects[i3].v1y+=(0.1f+0.2f*sqrt((float)primanka1))*lag;} | |
if(vragi1Objects[i3].v1y>y-12) | |
{vragi1Objects[i3].v1y-=(0.1f+0.2f*sqrt((float)primanka1))*lag;} | |
} | |
if(class2==1&&primanka2>0&&vragi1Objects[i3].v1x<=x2-16&&sqrt(((x2-16)-vragi1Objects[i3].v1x)*((x2-16)-vragi1Objects[i3].v1x)+ | |
(vragi1Objects[i3].v1y-(y2-12))*(vragi1Objects[i3].v1y-(y2-12)))<=(60+5*primanka2)) | |
{ | |
if(vragi1Objects[i3].v1y<y2-12) | |
{vragi1Objects[i3].v1y+=(0.1f+0.2f*sqrt((float)primanka2))*lag;} | |
if(vragi1Objects[i3].v1y>y2-12) | |
{vragi1Objects[i3].v1y-=(0.1f+0.2f*sqrt((float)primanka2))*lag;} | |
} | |
for (int i51=0;i51<=N_OBJECTS-1;i51++)//контакт с предметами | |
{ | |
if((X-Objects[i51].x)>vragi1Objects[i3].v1x&&(X-Objects[i51].x)-vragi1Objects[i3].v1x<=200)//объект перед щами!!! | |
{ | |
switch(Objects[i51].type) | |
{ | |
case 0: | |
case 1: | |
case 2: | |
if(Objects[i51].y>=vragi1Objects[i3].v1y&&Objects[i51].y-vragi1Objects[i3].v1y<=50)//объект ниже | |
{ | |
if(Objects[i51].pl==0)//если объект не плоский | |
{vragi1Objects[i3].v1y-=0.6f;} | |
vragi1Objects[i3].object_id=i51;} | |
if(Objects[i51].y<vragi1Objects[i3].v1y&&vragi1Objects[i3].v1y-Objects[i51].y<=35)//объект выше | |
{vragi1Objects[i3].v1y+=0.6f;} | |
break; | |
} | |
}//закрытие объект перед щами | |
if((X-Objects[i51].x)<vragi1Objects[i3].v1x&&vragi1Objects[i3].v1x-(X-Objects[i51].x)<=100)//назад на место | |
{ | |
switch(Objects[i51].type) | |
{ | |
case 0: | |
case 1: | |
case 2: | |
if(Objects[i51].y>=vragi1Objects[i3].v1y&& | |
Objects[i51].y-vragi1Objects[i3].v1y>=30&&Objects[i51].y-vragi1Objects[i3].v1y<=80)//объект ниже | |
{vragi1Objects[i3].v1y+=0.3f;} | |
if(Objects[i51].y<vragi1Objects[i3].v1y&& | |
vragi1Objects[i3].v1y-Objects[i51].y>=15&&vragi1Objects[i3].v1y-Objects[i51].y<=50)//объект выше | |
{vragi1Objects[i3].v1y-=0.3f;} | |
break; | |
} | |
}//закрытие возврата на место | |
}//закрытие контакта с предметами | |
}//закрытие скорости | |
for (int i22=0;i22<=N_VOLK;i22++)//контакт с волком | |
{ | |
if(((vragi1Objects[i3].v1y>vragi2Objects[i22].v2y&&vragi1Objects[i3].v1y-vragi2Objects[i22].v2y<=70)|| | |
(vragi2Objects[i22].v2y>vragi1Objects[i3].v1y&&vragi2Objects[i22].v2y-vragi1Objects[i3].v1y<=70))&& | |
((vragi1Objects[i3].v1x>vragi2Objects[i22].v2x&&vragi1Objects[i3].v1x-vragi2Objects[i22].v2x<=100)|| | |
(vragi2Objects[i22].v2x>vragi1Objects[i3].v1x&&vragi2Objects[i22].v2x-vragi1Objects[i3].v1x<=100)) | |
&&vragi2Objects[i22].ubit!=1) | |
{ | |
if(DIFF!=0||(DIFF==0&&vragi1Objects[i3].v1x>=236)) | |
{vragi1Objects[i3].speed+=0.01f*lag;} | |
if(vragi1Objects[i3].v1x<236&&DIFF==0) | |
{vragi1Objects[i3].speed+=0.005f*lag;} | |
} | |
} | |
for (int i85=0;i85<=N_MEDVED;i85++)//контакт с медведем | |
{ | |
if(vragi1Objects[i3].v1y>vragi3Objects[i85].v3y+150&&vragi1Objects[i3].v1y-(vragi3Objects[i85].v3y+200)<=150&& | |
vragi1Objects[i3].v1x<vragi3Objects[i85].v3x&&vragi3Objects[i85].ubit!=1) | |
{vragi1Objects[i3].v1y-=(vragi1Objects[i3].speed/4)*lag; | |
//if(vragi3Objects[i85].v3x-vragi1Objects[i3].v1x<40) | |
//{vragi1Objects[i3].speed=0.6f;} | |
} | |
if(vragi1Objects[i3].v1y<=vragi3Objects[i85].v3y+150&&(vragi3Objects[i85].v3y+200)-vragi1Objects[i3].v1y<=150&& | |
vragi1Objects[i3].v1x<vragi3Objects[i85].v3x&&vragi3Objects[i85].ubit!=1) | |
{vragi1Objects[i3].v1y+=(vragi1Objects[i3].speed/4)*lag; | |
//if(vragi3Objects[i85].v3x-vragi1Objects[i3].v1x<40) | |
//{vragi1Objects[i3].speed=0.6f;} | |
} | |
} | |
//если замочили - появляется заново | |
if(vragi1Objects[i3].ubit==1) | |
{ | |
if(perez_akt==vragi1Objects[i3].timeout&& | |
((perez_akt_milli>=vragi1Objects[i3].timeout_milli&&vragi1Objects[i3].timeout_milli<800)|| | |
(perez_akt_milli<vragi1Objects[i3].timeout_milli&&vragi1Objects[i3].timeout_milli>=800))) | |
{zayac->SetTexture(zayac_go_tex); | |
vragi1Objects[i3].ubit=0; | |
vragi1Objects[i3].pokoin=0; | |
vragi1Objects[i3].v1x=-50; | |
vragi1Objects[i3].bezuh=0; | |
vragi1Objects[i3].bezboshki=0; | |
if(player2_aktive==0) | |
{ | |
if(DIFF!=0) | |
{vragi1Objects[i3].v1y=hge->Random_Float(250,750);} | |
if(DIFF==0) | |
{vragi1Objects[i3].v1y=hge->Random_Float(300,700);} | |
} | |
if(player2_aktive==1) | |
{ | |
if(DIFF!=0) | |
{vragi1Objects[i3].v1y=hge->Random_Float(200,800);} | |
if(DIFF==0) | |
{vragi1Objects[i3].v1y=hge->Random_Float(250,750);} | |
} | |
vragi1Objects[i3].health=50; | |
switch(DIFF) | |
{ | |
case 0: | |
vragi1Objects[i3].speed=hge->Random_Float(0.8f,0.9f); | |
break; | |
case 1: | |
vragi1Objects[i3].speed=hge->Random_Float(1,1.1f); | |
break; | |
case 2: | |
vragi1Objects[i3].speed=hge->Random_Float(1.1f,1.3f); | |
break; | |
} | |
if(sit1==2) | |
{vragi1Objects[N_ZAYAC].speed=0.5f;} | |
vragi1Objects[i3].defence=defence_zayac; | |
vragi1Objects[i3].object_id=-1; | |
vragi1Objects[i3].A=0; | |
vragi1Objects[i3].energy=0; | |
vragi1Objects[i3].vzorvan=false;} | |
} | |
if(vragi1Objects[i3].v1x>1200&&vragi1Objects[i3].ubit!=1) // если заяц забежал за экран | |
{LIVES--; | |
vragi1Objects[i3].bezuh=0; | |
vragi1Objects[i3].bezboshki=0; | |
vragi1Objects[i3].v1x=-50; | |
if(player2_aktive==0) | |
{ | |
if(DIFF!=0) | |
{vragi1Objects[i3].v1y=hge->Random_Float(250,750);} | |
if(DIFF==0) | |
{vragi1Objects[i3].v1y=hge->Random_Float(300,700);} | |
} | |
if(player2_aktive==1) | |
{ | |
if(DIFF!=0) | |
{vragi1Objects[i3].v1y=hge->Random_Float(150,850);} | |
if(DIFF==0) | |
{vragi1Objects[i3].v1y=hge->Random_Float(250,750);} | |
} | |
vragi1Objects[i3].health=50; | |
switch(DIFF) | |
{ | |
case 0: | |
vragi1Objects[i3].speed=hge->Random_Float(0.8f,0.9f); | |
break; | |
case 1: | |
vragi1Objects[i3].speed=hge->Random_Float(1,1.1f); | |
break; | |
case 2: | |
vragi1Objects[i3].speed=hge->Random_Float(1.1f,1.3f); | |
break; | |
} | |
if(sit1==2) | |
{vragi1Objects[N_ZAYAC].speed=0.5f;} | |
vragi1Objects[i3].defence=defence_zayac; | |
vragi1Objects[i3].object_id=-1; | |
vragi1Objects[i3].A=0; | |
} | |
//коцанье зайца (отрывание ушей) | |
if(((((py<=vragi1Objects[i3].v1y+12&&py>vragi1Objects[i3].v1y&&px<vragi1Objects[i3].v1x)|| | |
(p1d1y<=vragi1Objects[i3].v1y+12&&p1d1y>vragi1Objects[i3].v1y&&p1d1x<vragi1Objects[i3].v1x)|| | |
(p1d2y<=vragi1Objects[i3].v1y+12&&p1d2y>vragi1Objects[i3].v1y&&p1d2x<vragi1Objects[i3].v1x)|| | |
(p1d3y<=vragi1Objects[i3].v1y+12&&p1d3y>vragi1Objects[i3].v1y&&p1d3x<vragi1Objects[i3].v1x)|| | |
(p1d4y<=vragi1Objects[i3].v1y+12&&p1d4y>vragi1Objects[i3].v1y&&p1d4x<vragi1Objects[i3].v1x))&& | |
aktivatorp==1&&x-55>vragi1Objects[i3].v1x&&vragi1Objects[i3].bezuh==0&&vragi1Objects[i3].ubit!=1)|| | |
(((p2y<=vragi1Objects[i3].v1y+12&&p2y>vragi1Objects[i3].v1y&&p2x<vragi1Objects[i3].v1x)|| | |
(p2d1y<=vragi1Objects[i3].v1y+12&&p2d1y>vragi1Objects[i3].v1y&&p2d1x<vragi1Objects[i3].v1x)|| | |
(p2d2y<=vragi1Objects[i3].v1y+12&&p2d2y>vragi1Objects[i3].v1y&&p2d2x<vragi1Objects[i3].v1x)|| | |
(p2d3y<=vragi1Objects[i3].v1y+12&&p2d3y>vragi1Objects[i3].v1y&&p2d3x<vragi1Objects[i3].v1x)|| | |
(p2d4y<=vragi1Objects[i3].v1y+12&&p2d4y>vragi1Objects[i3].v1y&&p2d4x<vragi1Objects[i3].v1x))&& | |
aktivatorp2==1&&x2-55>vragi1Objects[i3].v1x&&vragi1Objects[i3].bezuh==0&&vragi1Objects[i3].ubit!=1))|| | |
(katana1_anime->IsPlaying()==true&&vragi1Objects[i3].v1x>x-90&&y<vragi1Objects[i3].v1y+12&&y>vragi1Objects[i3].v1y&& | |
x-55>vragi1Objects[i3].v1x&&vragi1Objects[i3].bezuh==0&&vragi1Objects[i3].ubit!=1)) | |
//vragi1Objects[i3].bezuh==0 чтобы ухи не возвращались на место после повторного попадания зайцу по "ушам" | |
{ | |
uhiObjects[N_UHI].niz=vragi1Objects[i3].v1y+38; | |
vragi1Objects[i3].bezuh=1; | |
uhiObjects[N_UHI].uhix=vragi1Objects[i3].v1x+18; | |
uhiObjects[N_UHI].uhiy=vragi1Objects[i3].v1y-3; | |
uhiObjects[N_UHI].akt=1; | |
if((((py<=vragi1Objects[i3].v1y+12&&py>vragi1Objects[i3].v1y&&px<vragi1Objects[i3].v1x)|| | |
(p1d1y<=vragi1Objects[i3].v1y+12&&p1d1y>vragi1Objects[i3].v1y&&p1d1x<vragi1Objects[i3].v1x)|| | |
(p1d2y<=vragi1Objects[i3].v1y+12&&p1d2y>vragi1Objects[i3].v1y&&p1d2x<vragi1Objects[i3].v1x)|| | |
(p1d3y<=vragi1Objects[i3].v1y+12&&p1d3y>vragi1Objects[i3].v1y&&p1d3x<vragi1Objects[i3].v1x)|| | |
(p1d4y<=vragi1Objects[i3].v1y+12&&p1d4y>vragi1Objects[i3].v1y&&p1d4x<vragi1Objects[i3].v1x))&& | |
aktivatorp==1&&x-55>vragi1Objects[i3].v1x)|| | |
(katana1_anime->IsPlaying()==true&&vragi1Objects[i3].v1x>x-90&&y<vragi1Objects[i3].v1y+12&&y>vragi1Objects[i3].v1y&& | |
x-55>vragi1Objects[i3].v1x&&vragi1Objects[i3].bezuh==0&&vragi1Objects[i3].ubit!=1)) | |
{points1+=10;}//10 очков за уши игроку 1 | |
if(((p2y<=vragi1Objects[i3].v1y+12&&p2y>vragi1Objects[i3].v1y&&p2x<vragi1Objects[i3].v1x)|| | |
(p2d1y<=vragi1Objects[i3].v1y+12&&p2d1y>vragi1Objects[i3].v1y&&p2d1x<vragi1Objects[i3].v1x)|| | |
(p2d2y<=vragi1Objects[i3].v1y+12&&p2d2y>vragi1Objects[i3].v1y&&p2d2x<vragi1Objects[i3].v1x)|| | |
(p2d3y<=vragi1Objects[i3].v1y+12&&p2d3y>vragi1Objects[i3].v1y&&p2d3x<vragi1Objects[i3].v1x)|| | |
(p2d4y<=vragi1Objects[i3].v1y+12&&p2d4y>vragi1Objects[i3].v1y&&p2d4x<vragi1Objects[i3].v1x))&& | |
aktivatorp2==1&&x2-55>vragi1Objects[i3].v1x) | |
{points2+=10;}//10 очков за уши игроку 2 | |
N_UHI++; | |
if(N_UHI>=MAX_UHI-1) | |
{N_UHI=0;} | |
}//закрытие коцанья зайца | |
if(uhi_a->IsPlaying()==false) | |
{ | |
for (int i8=0;i8<=N_TRUPS;i8++) | |
{ | |
if(trupsObjects[i8].type==2) | |
{trupsObjects[i8].type=3;} | |
} | |
} | |
if((((py<vragi1Objects[i3].v1y+40&&py>vragi1Objects[i3].v1y+12&&px<=vragi1Objects[i3].v1x&&px>vragi1Objects[i3].v1x-600*lag)|| | |
(p1d1y<vragi1Objects[i3].v1y+40&&p1d1y>vragi1Objects[i3].v1y+12&&p1d1x<=vragi1Objects[i3].v1x&&p1d1x>vragi1Objects[i3].v1x-300*lag)|| | |
(p1d2y<vragi1Objects[i3].v1y+40&&p1d2y>vragi1Objects[i3].v1y+12&&p1d2x<=vragi1Objects[i3].v1x&&p1d2x>vragi1Objects[i3].v1x-300*lag)|| | |
(p1d3y<vragi1Objects[i3].v1y+40&&p1d3y>vragi1Objects[i3].v1y+12&&p1d3x<=vragi1Objects[i3].v1x&&p1d3x>vragi1Objects[i3].v1x-300*lag)|| | |
(p1d4y<vragi1Objects[i3].v1y+40&&p1d4y>vragi1Objects[i3].v1y+12&&p1d4x<=vragi1Objects[i3].v1x&&p1d4x>vragi1Objects[i3].v1x-300*lag))&& | |
aktivatorp==1&&x-55>vragi1Objects[i3].v1x&&vragi1Objects[i3].ubit!=1)|| | |
(((p2y<vragi1Objects[i3].v1y+40&&p2y>vragi1Objects[i3].v1y+12&&p2x<=vragi1Objects[i3].v1x&&p2x>vragi1Objects[i3].v1x-600*lag)|| | |
(p2d1y<vragi1Objects[i3].v1y+40&&p2d1y>vragi1Objects[i3].v1y+12&&p2d1x<=vragi1Objects[i3].v1x&&p2d1x>vragi1Objects[i3].v1x-300*lag)|| | |
(p2d2y<vragi1Objects[i3].v1y+40&&p2d2y>vragi1Objects[i3].v1y+12&&p2d2x<=vragi1Objects[i3].v1x&&p2d2x>vragi1Objects[i3].v1x-300*lag)|| | |
(p2d3y<vragi1Objects[i3].v1y+40&&p2d3y>vragi1Objects[i3].v1y+12&&p2d3x<=vragi1Objects[i3].v1x&&p2d3x>vragi1Objects[i3].v1x-300*lag)|| | |
(p2d4y<vragi1Objects[i3].v1y+40&&p2d4y>vragi1Objects[i3].v1y+12&&p2d4x<=vragi1Objects[i3].v1x&&p2d4x>vragi1Objects[i3].v1x-300*lag))&& | |
aktivatorp2==1&&x2-55>vragi1Objects[i3].v1x&&vragi1Objects[i3].ubit!=1))//просчёт урона | |
{ | |
if(shot==0) | |
{ | |
if(((py<vragi1Objects[i3].v1y+40&&py>vragi1Objects[i3].v1y+12&&px<=vragi1Objects[i3].v1x&&px>vragi1Objects[i3].v1x-600*lag)|| | |
(p1d1y<vragi1Objects[i3].v1y+40&&p1d1y>vragi1Objects[i3].v1y+12&&p1d1x<=vragi1Objects[i3].v1x&&p1d1x>vragi1Objects[i3].v1x-300*lag)|| | |
(p1d2y<vragi1Objects[i3].v1y+40&&p1d2y>vragi1Objects[i3].v1y+12&&p1d2x<=vragi1Objects[i3].v1x&&p1d2x>vragi1Objects[i3].v1x-300*lag)|| | |
(p1d3y<vragi1Objects[i3].v1y+40&&p1d3y>vragi1Objects[i3].v1y+12&&p1d3x<=vragi1Objects[i3].v1x&&p1d3x>vragi1Objects[i3].v1x-300*lag)|| | |
(p1d4y<vragi1Objects[i3].v1y+40&&p1d4y>vragi1Objects[i3].v1y+12&&p1d4x<=vragi1Objects[i3].v1x&&p1d4x>vragi1Objects[i3].v1x-300*lag))&& | |
aktivatorp==1&&x-55>vragi1Objects[i3].v1x) | |
{vragi1Objects[i3].killed_by=1;}//попал игрок 1 | |
if(((p2y<vragi1Objects[i3].v1y+40&&p2y>vragi1Objects[i3].v1y+12&&p2x<=vragi1Objects[i3].v1x&&p2x>vragi1Objects[i3].v1x-600*lag)|| | |
(p2d1y<vragi1Objects[i3].v1y+40&&p2d1y>vragi1Objects[i3].v1y+12&&p2d1x<=vragi1Objects[i3].v1x&&p2d1x>vragi1Objects[i3].v1x-300*lag)|| | |
(p2d2y<vragi1Objects[i3].v1y+40&&p2d2y>vragi1Objects[i3].v1y+12&&p2d2x<=vragi1Objects[i3].v1x&&p2d2x>vragi1Objects[i3].v1x-300*lag)|| | |
(p2d3y<vragi1Objects[i3].v1y+40&&p2d3y>vragi1Objects[i3].v1y+12&&p2d3x<=vragi1Objects[i3].v1x&&p2d3x>vragi1Objects[i3].v1x-300*lag)|| | |
(p2d4y<vragi1Objects[i3].v1y+40&&p2d4y>vragi1Objects[i3].v1y+12&&p2d4x<=vragi1Objects[i3].v1x&&p2d4x>vragi1Objects[i3].v1x-300*lag))&& | |
aktivatorp2==1&&x2-55>vragi1Objects[i3].v1x) | |
{vragi1Objects[i3].killed_by=2;}//попал игрок 2 | |
if(((py<vragi1Objects[i3].v1y+40&&py>vragi1Objects[i3].v1y+18)|| | |
(p1d1y<vragi1Objects[i3].v1y+40&&p1d1y>vragi1Objects[i3].v1y+18)|| | |
(p1d2y<vragi1Objects[i3].v1y+40&&p1d2y>vragi1Objects[i3].v1y+18)|| | |
(p1d3y<vragi1Objects[i3].v1y+40&&p1d3y>vragi1Objects[i3].v1y+18)|| | |
(p1d4y<vragi1Objects[i3].v1y+40&&p1d4y>vragi1Objects[i3].v1y+18))|| | |
((p2y<vragi1Objects[i3].v1y+40&&p2y>vragi1Objects[i3].v1y+18)|| | |
(p2d1y<vragi1Objects[i3].v1y+40&&p2d1y>vragi1Objects[i3].v1y+18)|| | |
(p2d2y<vragi1Objects[i3].v1y+40&&p2d2y>vragi1Objects[i3].v1y+18)|| | |
(p2d3y<vragi1Objects[i3].v1y+40&&p2d3y>vragi1Objects[i3].v1y+18)|| | |
(p2d4y<vragi1Objects[i3].v1y+40&&p2d4y>vragi1Objects[i3].v1y+18)))//ОБЫЧНОЕ ПОПАДАНИЕ | |
{ | |
if(vragi1Objects[i3].killed_by==1) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi1Objects[i3].defence>=5|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi1Objects[i3].defence>=5) | |
{ | |
if(LVL1%2==0) | |
{vragi1Objects[i3].health-=damage[N_WEAPON1]+LVL1/2*attack1-vragi1Objects[i3].defence;} | |
if(LVL1%2==1) | |
{vragi1Objects[i3].health-=damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi1Objects[i3].defence;} | |
} | |
//гарантированный урон | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi1Objects[i3].defence<5|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi1Objects[i3].defence<5) | |
{vragi1Objects[i3].health-=5;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi1Objects[i3].health-=damage[N_WEAPON1];} | |
}//урон от оружия игрока 1 | |
if(vragi1Objects[i3].killed_by==2) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi1Objects[i3].defence>=5|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi1Objects[i3].defence>=5) | |
{ | |
if(LVL2%2==0) | |
{vragi1Objects[i3].health-=damage[N_WEAPON2]+LVL2/2*attack2-vragi1Objects[i3].defence;} | |
if(LVL2%2==1) | |
{vragi1Objects[i3].health-=damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi1Objects[i3].defence;} | |
} | |
//гарантированный урон | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi1Objects[i3].defence<5|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi1Objects[i3].defence<5) | |
{vragi1Objects[i3].health-=5;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi1Objects[i3].health-=damage[N_WEAPON2];} | |
}//урон от оружия игрока 2 | |
hge->Effect_PlayEx(shot1,volume*8/10,0,0); | |
}//ЗАКРЫТИЕ ПОПАДАНИЯ | |
if(((py<=vragi1Objects[i3].v1y+18&&py>vragi1Objects[i3].v1y+12)|| | |
(p1d1y<=vragi1Objects[i3].v1y+18&&p1d1y>vragi1Objects[i3].v1y+12)|| | |
(p1d2y<=vragi1Objects[i3].v1y+18&&p1d2y>vragi1Objects[i3].v1y+12)|| | |
(p1d3y<=vragi1Objects[i3].v1y+18&&p1d3y>vragi1Objects[i3].v1y+12)|| | |
(p1d4y<=vragi1Objects[i3].v1y+18&&p1d4y>vragi1Objects[i3].v1y+12))|| | |
((p2y<=vragi1Objects[i3].v1y+18&&p2y>vragi1Objects[i3].v1y+12)|| | |
(p2d1y<=vragi1Objects[i3].v1y+18&&p2d1y>vragi1Objects[i3].v1y+12)|| | |
(p2d2y<=vragi1Objects[i3].v1y+18&&p2d2y>vragi1Objects[i3].v1y+12)|| | |
(p2d3y<=vragi1Objects[i3].v1y+18&&p2d3y>vragi1Objects[i3].v1y+12)|| | |
(p2d4y<=vragi1Objects[i3].v1y+18&&p2d4y>vragi1Objects[i3].v1y+12)))//ХЭДШОТ!!! | |
{ | |
if(vragi1Objects[i3].killed_by==1) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if((damage[N_WEAPON1]+LVL1/2*attack1-vragi1Objects[i3].defence)*2>=10|| | |
(damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi1Objects[i3].defence)*2>=10) | |
{ | |
if(LVL1%2==0) | |
{vragi1Objects[i3].health-=(damage[N_WEAPON1]+LVL1/2*attack1-vragi1Objects[i3].defence)*2;} | |
if(LVL1%2==1) | |
{vragi1Objects[i3].health-=(damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi1Objects[i3].defence)*2;} | |
} | |
//гарантированный урон | |
if((damage[N_WEAPON1]+LVL1/2*attack1-vragi1Objects[i3].defence)*2<10|| | |
(damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi1Objects[i3].defence)*2<10) | |
{vragi1Objects[i3].health-=10;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi1Objects[i3].health-=damage[N_WEAPON1]*2;} | |
points1+=25;}//урон от оружия игрока 1 | |
if(vragi1Objects[i3].killed_by==2) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if((damage[N_WEAPON2]+LVL2/2*attack2-vragi1Objects[i3].defence)*2>=10|| | |
(damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi1Objects[i3].defence)*2>=10) | |
{ | |
if(LVL2%2==0) | |
{vragi1Objects[i3].health-=(damage[N_WEAPON2]+LVL2/2*attack2-vragi1Objects[i3].defence)*2;} | |
if(LVL2%2==1) | |
{vragi1Objects[i3].health-=(damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi1Objects[i3].defence)*2;} | |
} | |
//гарантированный урон | |
if((damage[N_WEAPON2]+LVL2/2*attack2-vragi1Objects[i3].defence)*2<10|| | |
(damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi1Objects[i3].defence)*2<10) | |
{vragi1Objects[i3].health-=10;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi1Objects[i3].health-=damage[N_WEAPON2]*2;} | |
points2+=25;}//урон от оружия игрока 2 | |
headshotPan=-75+vragi1Objects[i3].v1x/9; | |
headshot(); | |
if(vragi1Objects[i3].health<-70&&vragi1Objects[i3].bezboshki==0)//отрывание бошки | |
{ | |
vragi1Objects[i3].bezboshki=1; | |
if(vragi1Objects[i3].killed_by==1) | |
{points1+=25;} | |
if(vragi1Objects[i3].killed_by==2) | |
{points2+=25;} | |
if(vragi1Objects[i3].bezuh==0) | |
{boshkiObjects[N_HEAD].bezuh=0;} | |
if(vragi1Objects[i3].bezuh==1) | |
{boshkiObjects[N_HEAD].bezuh=1;} | |
boshkiObjects[N_HEAD].vrag=1; | |
boshkiObjects[N_HEAD].niz=vragi1Objects[i3].v1y+38; | |
boshkiObjects[N_HEAD].bx=vragi1Objects[i3].v1x+18; | |
boshkiObjects[N_HEAD].by=vragi1Objects[i3].v1y-3; | |
boshkiObjects[N_HEAD].bzdik=0; | |
boshkiObjects[N_HEAD].seed=hge->Random_Int(1,5); | |
boshkiObjects[N_HEAD].bzdik_seed=hge->Random_Int(1,3); | |
boshkiObjects[N_HEAD].akt=1; | |
N_HEAD++; | |
if(N_HEAD>=MAX_HEAD-1) | |
{N_HEAD=0;} | |
}//закрытие отрывания бошки | |
}//ХЭДШОТ ЗАКОНЧИЛСЯ | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
krovyakObjects[N_BLOOD].seed=hge->Random_Int(1,3); | |
krovyakObjects[N_BLOOD].vrag=1; | |
if(vragi1Objects[i3].killed_by==1) | |
{ | |
if(py<vragi1Objects[i3].v1y+40&&py>vragi1Objects[i3].v1y+12&&px<=vragi1Objects[i3].v1x) | |
{ppp=1; | |
krovyakObjects[N_BLOOD].y1=py; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=py+5;} | |
if(p1d1y<vragi1Objects[i3].v1y+40&&p1d1y>vragi1Objects[i3].v1y+12&&p1d1x<=vragi1Objects[i3].v1x) | |
{ppp=2; | |
krovyakObjects[N_BLOOD].y1=p1d1y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p1d1y+5;} | |
if(p1d2y<vragi1Objects[i3].v1y+40&&p1d2y>vragi1Objects[i3].v1y+12&&p1d2x<=vragi1Objects[i3].v1x) | |
{ppp=3; | |
krovyakObjects[N_BLOOD].y1=p1d2y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p1d2y+5;} | |
if(p1d3y<vragi1Objects[i3].v1y+40&&p1d3y>vragi1Objects[i3].v1y+12&&p1d3x<=vragi1Objects[i3].v1x) | |
{ppp=4; | |
krovyakObjects[N_BLOOD].y1=p1d3y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p1d3y+5;} | |
if(p1d4y<vragi1Objects[i3].v1y+40&&p1d4y>vragi1Objects[i3].v1y+12&&p1d4x<=vragi1Objects[i3].v1x) | |
{ppp=5; | |
krovyakObjects[N_BLOOD].y1=p1d4y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p1d4y+5;} | |
} | |
if(vragi1Objects[i3].killed_by==2) | |
{ | |
if(p2y<vragi1Objects[i3].v1y+40&&p2y>vragi1Objects[i3].v1y+12&&p2x<=vragi1Objects[i3].v1x) | |
{ppp=1; | |
krovyakObjects[N_BLOOD].y1=p2y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p2y+5;} | |
if(p2d1y<vragi1Objects[i3].v1y+40&&p2d1y>vragi1Objects[i3].v1y+12&&p2d1x<=vragi1Objects[i3].v1x) | |
{ppp=2; | |
krovyakObjects[N_BLOOD].y1=p2d1y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p2d1y+5;} | |
if(p2d2y<vragi1Objects[i3].v1y+40&&p2d2y>vragi1Objects[i3].v1y+12&&p2d2x<=vragi1Objects[i3].v1x) | |
{ppp=3; | |
krovyakObjects[N_BLOOD].y1=p2d2y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p2d2y+5;} | |
if(p2d3y<vragi1Objects[i3].v1y+40&&p2d3y>vragi1Objects[i3].v1y+12&&p2d3x<=vragi1Objects[i3].v1x) | |
{ppp=4; | |
krovyakObjects[N_BLOOD].y1=p2d3y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p2d3y+5;} | |
if(p2d4y<vragi1Objects[i3].v1y+40&&p2d4y>vragi1Objects[i3].v1y+12&&p2d4x<=vragi1Objects[i3].v1x) | |
{ppp=5; | |
krovyakObjects[N_BLOOD].y1=p2d4y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p2d4y+5;} | |
} | |
krovyakObjects[N_BLOOD].x2=vragi1Objects[i3].v1x+10; | |
krovyakObjects[N_BLOOD].x1=vragi1Objects[i3].v1x; | |
krovyakObjects[N_BLOOD].xstart=vragi1Objects[i3].v1x; | |
krovyakObjects[N_BLOOD].niz=vragi1Objects[i3].v1y+40; | |
krovyakObjects[N_BLOOD].blood_time=GetTime(); | |
krovyakObjects[N_BLOOD].blood_time_sec=perez_akt; | |
krovyakObjects[N_BLOOD].akt=1; | |
krovyakObjects[N_BLOOD].faza=1; | |
N_BLOOD++; | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
krovyakObjects[N_BLOOD].seed=0;//кровяк самого попадания (точка) | |
krovyakObjects[N_BLOOD].vrag=1; | |
if(vragi1Objects[i3].killed_by==1) | |
{ | |
if(ppp==1) | |
{krovyakObjects[N_BLOOD].y1=py-4; | |
krovyakObjects[N_BLOOD].y2=py+4;} | |
if(ppp==2) | |
{krovyakObjects[N_BLOOD].y1=p1d1y-4; | |
krovyakObjects[N_BLOOD].y2=p1d1y+4;} | |
if(ppp==3) | |
{krovyakObjects[N_BLOOD].y1=p1d2y-4; | |
krovyakObjects[N_BLOOD].y2=p1d2y+4;} | |
if(ppp==4) | |
{krovyakObjects[N_BLOOD].y1=p1d3y-4; | |
krovyakObjects[N_BLOOD].y2=p1d3y+4;} | |
if(ppp==5) | |
{krovyakObjects[N_BLOOD].y1=p1d4y-4; | |
krovyakObjects[N_BLOOD].y2=p1d4y+4;} | |
} | |
if(vragi1Objects[i3].killed_by==2) | |
{ | |
if(ppp==1) | |
{krovyakObjects[N_BLOOD].y1=p2y-4; | |
krovyakObjects[N_BLOOD].y2=p2y+4;} | |
if(ppp==2) | |
{krovyakObjects[N_BLOOD].y1=p2d1y-4; | |
krovyakObjects[N_BLOOD].y2=p2d1y+4;} | |
if(ppp==3) | |
{krovyakObjects[N_BLOOD].y1=p2d2y-4; | |
krovyakObjects[N_BLOOD].y2=p2d2y+4;} | |
if(ppp==4) | |
{krovyakObjects[N_BLOOD].y1=p2d3y-4; | |
krovyakObjects[N_BLOOD].y2=p2d3y+4;} | |
if(ppp==5) | |
{krovyakObjects[N_BLOOD].y1=p2d4y-4; | |
krovyakObjects[N_BLOOD].y2=p2d4y+4;} | |
} | |
krovyakObjects[N_BLOOD].x2=vragi1Objects[i3].v1x+46; | |
krovyakObjects[N_BLOOD].x1=vragi1Objects[i3].v1x+38; | |
krovyakObjects[N_BLOOD].blood_time=GetTime(); | |
krovyakObjects[N_BLOOD].blood_time_sec=perez_akt; | |
krovyakObjects[N_BLOOD].akt=1; | |
N_BLOOD++; | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
krovyakObjects[N_BLOOD].seed=hge->Random_Int(101,103); | |
krovyakObjects[N_BLOOD].vrag=1; | |
if(vragi1Objects[i3].killed_by==1) | |
{ | |
if(ppp==1) | |
{krovyakObjects[N_BLOOD].y1=py; //КРОВЯК (вперед) | |
krovyakObjects[N_BLOOD].y2=py+5;} | |
if(ppp==2) | |
{krovyakObjects[N_BLOOD].y1=p1d1y; | |
krovyakObjects[N_BLOOD].y2=p1d1y+5;} | |
if(ppp==3) | |
{krovyakObjects[N_BLOOD].y1=p1d2y; | |
krovyakObjects[N_BLOOD].y2=p1d2y+5;} | |
if(ppp==4) | |
{krovyakObjects[N_BLOOD].y1=p1d3y; | |
krovyakObjects[N_BLOOD].y2=p1d3y+5;} | |
if(ppp==5) | |
{krovyakObjects[N_BLOOD].y1=p1d4y; | |
krovyakObjects[N_BLOOD].y2=p1d4y+5;} | |
} | |
if(vragi1Objects[i3].killed_by==2) | |
{ | |
if(ppp==1) | |
{krovyakObjects[N_BLOOD].y1=p2y; | |
krovyakObjects[N_BLOOD].y2=p2y+5;} | |
if(ppp==2) | |
{krovyakObjects[N_BLOOD].y1=p2d1y; | |
krovyakObjects[N_BLOOD].y2=p2d1y+5;} | |
if(ppp==3) | |
{krovyakObjects[N_BLOOD].y1=p2d2y; | |
krovyakObjects[N_BLOOD].y2=p2d2y+5;} | |
if(ppp==4) | |
{krovyakObjects[N_BLOOD].y1=p2d3y; | |
krovyakObjects[N_BLOOD].y2=p2d3y+5;} | |
if(ppp==5) | |
{krovyakObjects[N_BLOOD].y1=p2d4y; | |
krovyakObjects[N_BLOOD].y2=p2d4y+5;} | |
} | |
krovyakObjects[N_BLOOD].x2=vragi1Objects[i3].v1x+40; | |
krovyakObjects[N_BLOOD].x1=vragi1Objects[i3].v1x+45; | |
krovyakObjects[N_BLOOD].xstart=vragi1Objects[i3].v1x+40; | |
krovyakObjects[N_BLOOD].niz=vragi1Objects[i3].v1y+40; | |
krovyakObjects[N_BLOOD].blood_time=GetTime(); | |
krovyakObjects[N_BLOOD].blood_time_sec=perez_akt; | |
krovyakObjects[N_BLOOD].akt=1; | |
krovyakObjects[N_BLOOD].faza=1; | |
N_BLOOD++; | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
shot=1; | |
if(vragi1Objects[i3].killed_by==1) | |
{ | |
if(N_WEAPON1==1||N_WEAPON1==2||N_WEAPON1==4||N_WEAPON1==6||N_WEAPON1==9||N_WEAPON1==15)//если это ПМ или ПП19 или ТТ или МАС или Glock или FN 5-7 то патрон слабый | |
{aktivatorp=0; | |
oboima-=1;} | |
if(N_WEAPON1==7) | |
{ | |
if(ppp==2) | |
{aktivatorp1d1=0; | |
p1d1y=y-9; | |
p1d1x=x-24;} | |
if(ppp==3) | |
{aktivatorp1d2=0; | |
p1d2y=y-9; | |
p1d2x=x-24;} | |
if(ppp==4) | |
{aktivatorp1d3=0; | |
p1d3y=y-9; | |
p1d3x=x-24;} | |
if(ppp==5) | |
{aktivatorp1d4=0; | |
p1d4y=y-9; | |
p1d4x=x-24;} | |
} | |
if(N_WEAPON1==0||N_WEAPON1==3||N_WEAPON1==5||N_WEAPON1==8||N_WEAPON1==14)// если это АК или револьвер то косит всех подряд | |
{shot=0;} | |
} | |
if(vragi1Objects[i3].killed_by==2) | |
{ | |
if(N_WEAPON2==1||N_WEAPON2==2||N_WEAPON2==4||N_WEAPON2==6||N_WEAPON2==9||N_WEAPON2==15)//если это ПМ или ПП19 или ТТ или МАС или Glock или FN 5-7 то патрон слабый | |
{aktivatorp2=0; | |
oboima2-=1;} | |
if(N_WEAPON2==7) | |
{ | |
if(ppp==2) | |
{aktivatorp2d1=0; | |
p2d1y=y2-9; | |
p2d1x=x2-24;} | |
if(ppp==3) | |
{aktivatorp2d2=0; | |
p2d2y=y2-9; | |
p2d2x=x2-24;} | |
if(ppp==4) | |
{aktivatorp2d3=0; | |
p2d3y=y2-9; | |
p2d3x=x2-24;} | |
if(ppp==5) | |
{aktivatorp2d4=0; | |
p2d4y=y2-9; | |
p2d4x=x2-24;} | |
} | |
if(N_WEAPON2==0||N_WEAPON2==3||N_WEAPON2==5||N_WEAPON2==8||N_WEAPON2==14)// если это АК или револьвер то косит всех подряд | |
{shot=0;} | |
} | |
}//if shot==0 | |
}//закрытие просчёта урона | |
//разрыв в ЩИ!!!-------------------------ММММММММЯЯЯЯЯЯЯЯЯЯССССССССООООООООООО | |
if(vragi1Objects[i3].health<-140&&vragi1Objects[i3].ubit!=1) | |
{ | |
vragi1Objects[i3].ubit=1; | |
vragi1Objects[i3].timeout_milli=GetTime(); | |
switch(DIFF) | |
{ | |
case 0: | |
if(perez_akt<56) | |
{vragi1Objects[i3].timeout=perez_akt+4;} | |
if(perez_akt>=56) | |
{vragi1Objects[i3].timeout=perez_akt-56;} | |
break; | |
case 1: | |
if(perez_akt<57) | |
{vragi1Objects[i3].timeout=perez_akt+3;} | |
if(perez_akt>=57) | |
{vragi1Objects[i3].timeout=perez_akt-57;} | |
break; | |
case 2: | |
if(perez_akt<58) | |
{vragi1Objects[i3].timeout=perez_akt+2;} | |
if(perez_akt>=58) | |
{vragi1Objects[i3].timeout=perez_akt-58;} | |
break; | |
} | |
if(vragi1Objects[i3].killed_by==1) | |
{kills++; | |
//статистика | |
ubijstva[N_KILLS].player=1; | |
ubijstva[N_KILLS].vrag=1; | |
ubijstva[N_KILLS].weapon=N_WEAPON1; | |
ubijstva[N_KILLS].bezuh=false; | |
if(vragi1Objects[i3].bezuh==1) | |
{ubijstva[N_KILLS].bezuh=true;} | |
ubijstva[N_KILLS].bezboshki=false; | |
if(vragi1Objects[i3].bezboshki==1) | |
{ubijstva[N_KILLS].bezboshki=true;} | |
ubijstva[N_KILLS].headshot=false; | |
ubijstva[N_KILLS].vschiii=true; | |
N_KILLS++; | |
if(N_KILLS>=MAX_KILLS-1) | |
{N_KILLS=0;} | |
//статистика | |
points1+=150; | |
opit1+=(75+vragi1Objects[i3].defence*vragi1Objects[i3].defence/LVL1)*w_opit_zayac_vschiii[N_WEAPON1]*(1+0.25f*umnik1)/daun1; | |
}//закрытие для 1 игрока | |
if(vragi1Objects[i3].killed_by==2) | |
{kills2++; | |
//статистика | |
ubijstva[N_KILLS].player=2; | |
ubijstva[N_KILLS].vrag=1; | |
ubijstva[N_KILLS].weapon=N_WEAPON2; | |
ubijstva[N_KILLS].bezuh=false; | |
if(vragi1Objects[i3].bezuh==1) | |
{ubijstva[N_KILLS].bezuh=true;} | |
ubijstva[N_KILLS].bezboshki=false; | |
if(vragi1Objects[i3].bezboshki==1) | |
{ubijstva[N_KILLS].bezboshki=true;} | |
ubijstva[N_KILLS].headshot=false; | |
ubijstva[N_KILLS].vschiii=true; | |
N_KILLS++; | |
if(N_KILLS>=MAX_KILLS-1) | |
{N_KILLS=0;} | |
//статистика | |
points2+=150; | |
opit2+=(75+vragi1Objects[i3].defence*vragi1Objects[i3].defence/LVL2)*w_opit_zayac_vschiii[N_WEAPON2]*(1+0.25f*umnik2)/daun2; | |
}//закрытие про второго игрока | |
//БОНУС?! | |
bonus_shans(); | |
if(vragi1Objects[i3].killed_by==1) | |
{ | |
if(bonus>=371&&bonus<=379+5*luck1) | |
{ | |
bonusiObjects[N_BONUS].x1=vragi1Objects[i3].v1x+5; | |
bonusiObjects[N_BONUS].y1=vragi1Objects[i3].v1y+5; | |
bonusiObjects[N_BONUS].x1_s=vragi1Objects[i3].v1x+5; | |
bonusiObjects[N_BONUS].x1_X=X; | |
bonusiObjects[N_BONUS].x2=vragi1Objects[i3].v1x+35; | |
bonusiObjects[N_BONUS].y2=vragi1Objects[i3].v1y+35; | |
bonusiObjects[N_BONUS].x2_s=vragi1Objects[i3].v1x+35; | |
bonusiObjects[N_BONUS].x2_X=X; | |
bonusiObjects[N_BONUS].appear_time_milli=GetTime(); | |
bonusiObjects[N_BONUS].appear_time=perez_akt; | |
bonusiObjects[N_BONUS].type=hge->Random_Int(0,1); | |
bonusiObjects[N_BONUS].akt=1; | |
bonusiObjects[N_BONUS].spin=0; | |
bonusiObjects[N_BONUS].visible=true; | |
bonusiObjects[N_BONUS].mig_akt=0; | |
N_BONUS++; | |
if(N_BONUS>=MAX_BONUS-1) | |
{N_BONUS=0;} | |
} | |
}//if(vragi1Objects[i3].killed_by==1) | |
if(vragi1Objects[i3].killed_by==2) | |
{ | |
if(bonus>=371&&bonus<=379+5*luck2) | |
{ | |
bonusiObjects[N_BONUS].x1=vragi1Objects[i3].v1x+5; | |
bonusiObjects[N_BONUS].y1=vragi1Objects[i3].v1y+5; | |
bonusiObjects[N_BONUS].x1_s=vragi1Objects[i3].v1x+5; | |
bonusiObjects[N_BONUS].x1_X=X; | |
bonusiObjects[N_BONUS].x2=vragi1Objects[i3].v1x+35; | |
bonusiObjects[N_BONUS].y2=vragi1Objects[i3].v1y+35; | |
bonusiObjects[N_BONUS].x2_s=vragi1Objects[i3].v1x+35; | |
bonusiObjects[N_BONUS].x2_X=X; | |
bonusiObjects[N_BONUS].appear_time_milli=GetTime(); | |
bonusiObjects[N_BONUS].appear_time=perez_akt; | |
bonusiObjects[N_BONUS].type=hge->Random_Int(0,1); | |
bonusiObjects[N_BONUS].akt=1; | |
bonusiObjects[N_BONUS].spin=0; | |
bonusiObjects[N_BONUS].visible=true; | |
bonusiObjects[N_BONUS].mig_akt=0; | |
N_BONUS++; | |
if(N_BONUS>=MAX_BONUS-1) | |
{N_BONUS=0;} | |
} | |
}//if(vragi1Objects[i3].killed_by==2) | |
//ВСПЛЕСК ДРИСНИ | |
krovyakObjects[N_BLOOD].seed=1001; | |
krovyakObjects[N_BLOOD].x1=vragi1Objects[i3].v1x+10; | |
krovyakObjects[N_BLOOD].x2=vragi1Objects[i3].v1x+10; | |
krovyakObjects[N_BLOOD].xstart=hge->Random_Float(1.2f,1.4f); | |
krovyakObjects[N_BLOOD].y1=vragi1Objects[i3].v1y+10; | |
krovyakObjects[N_BLOOD].y2=vragi1Objects[i3].v1y+10; | |
krovyakObjects[N_BLOOD].blood_time=GetTime(); | |
krovyakObjects[N_BLOOD].blood_time_sec=perez_akt; | |
krovyakObjects[N_BLOOD].akt=1; | |
krovyakObjects[N_BLOOD].faza=1; | |
N_BLOOD++; | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
myasorazrivPan=-75+vragi1Objects[i3].v1x/9; | |
myasko_razriv(); | |
int rebra_was=0; | |
//крупное мясо | |
for (int i60=1;i60<=10;i60++) | |
{ | |
myasko[N_MYASO].seed=hge->Random_Int(1,5); | |
myasko[N_MYASO].x1=vragi1Objects[i3].v1x+hge->Random_Float(0,10); | |
myasko[N_MYASO].y1=vragi1Objects[i3].v1y+hge->Random_Float(-5,5); | |
myasko[N_MYASO].niz=vragi1Objects[i3].v1y+hge->Random_Float(15,50); | |
myasko[N_MYASO].xstart=myasko[N_MYASO].x1; | |
myasko[N_MYASO].type=1; | |
myasko[N_MYASO].myaso_time_sec=perez_akt; | |
myasko[N_MYASO].myaso_time=GetTime(); | |
myasko[N_MYASO].scaleX=hge->Random_Float(0.4f,0.5f); | |
myasko[N_MYASO].gradus=hge->Random_Float(0,1); | |
myasko[N_MYASO].speedX=hge->Random_Float(0.5f,2); | |
myasko[N_MYASO].akt=1; | |
myasko[N_MYASO].bzdik=0; | |
myasko[N_MYASO].energy=0; | |
if(rebra_was==0) | |
{ | |
int randomize=hge->Random_Int(1,10); | |
if(randomize==10) | |
{myasko[N_MYASO].seed=hge->Random_Int(7,8); | |
rebra_was=1;} | |
} | |
if(vragi1Objects[i3].vzorvan==true) | |
{myasko[N_MYASO].energy=vragi1Objects[i3].energy; | |
//передача энергии(выше) и её распределение | |
//если не прям под щами | |
if(myasko[N_MYASO].energy<=0.9f) | |
{ | |
if(vragi1Objects[i3].chetvert==1) | |
{myasko[N_MYASO].speedX=hge->Random_Float(1,3)*myasko[N_MYASO].energy*(vragi1Objects[i3].rasstX/(vragi1Objects[i3].rasstX+vragi1Objects[i3].rasstY)); | |
myasko[N_MYASO].speedY=-hge->Random_Float(1,3)*myasko[N_MYASO].energy*(vragi1Objects[i3].rasstY/(vragi1Objects[i3].rasstX+vragi1Objects[i3].rasstY)); | |
myasko[N_MYASO].niz=vragi1Objects[i3].v1y+20*myasko[N_MYASO].speedY;} | |
if(vragi1Objects[i3].chetvert==2) | |
{myasko[N_MYASO].speedX=hge->Random_Float(1,3)*myasko[N_MYASO].energy*(vragi1Objects[i3].rasstX/(vragi1Objects[i3].rasstX+vragi1Objects[i3].rasstY)); | |
myasko[N_MYASO].speedY=hge->Random_Float(1,3)*myasko[N_MYASO].energy*(vragi1Objects[i3].rasstY/(vragi1Objects[i3].rasstX+vragi1Objects[i3].rasstY)); | |
myasko[N_MYASO].niz=vragi1Objects[i3].v1y-20*myasko[N_MYASO].speedY;} | |
if(vragi1Objects[i3].chetvert==3) | |
{myasko[N_MYASO].speedX=-1*hge->Random_Float(1,3)*myasko[N_MYASO].energy*(vragi1Objects[i3].rasstX/(vragi1Objects[i3].rasstX+vragi1Objects[i3].rasstY)); | |
myasko[N_MYASO].speedY=hge->Random_Float(1,3)*myasko[N_MYASO].energy*(vragi1Objects[i3].rasstY/(vragi1Objects[i3].rasstX+vragi1Objects[i3].rasstY)); | |
myasko[N_MYASO].niz=vragi1Objects[i3].v1y-20*myasko[N_MYASO].speedY;} | |
if(vragi1Objects[i3].chetvert==4) | |
{myasko[N_MYASO].speedX=-1*hge->Random_Float(1,3)*myasko[N_MYASO].energy*(vragi1Objects[i3].rasstX/(vragi1Objects[i3].rasstX+vragi1Objects[i3].rasstY)); | |
myasko[N_MYASO].speedY=-hge->Random_Float(1,3)*myasko[N_MYASO].energy*(vragi1Objects[i3].rasstY/(vragi1Objects[i3].rasstX+vragi1Objects[i3].rasstY)); | |
myasko[N_MYASO].niz=vragi1Objects[i3].v1y+20*myasko[N_MYASO].speedY;} | |
}//если не прям под щами | |
//если прям под щами | |
if(myasko[N_MYASO].energy>0.9f) | |
{ | |
myasko[N_MYASO].speedY=-hge->Random_Float(5,8)*myasko[N_MYASO].energy; | |
myasko[N_MYASO].speedX=hge->Random_Float(-1,1)*myasko[N_MYASO].energy; | |
myasko[N_MYASO].niz=vragi1Objects[i3].v1y+hge->Random_Float(20,60)*myasko[N_MYASO].energy; | |
}//если прям под щами | |
}//закрытие взорванного мяса | |
N_MYASO++; | |
if(N_MYASO>=MAX_MYASO-1) | |
{N_MYASO=0;} | |
} | |
//крупное мясо | |
int head_was=0; | |
int noga_was=0; | |
//мелкое мясо | |
for (int i61=1;i61<=20;i61++) | |
{ | |
myasko[N_MYASO].seed=hge->Random_Int(1,5); | |
myasko[N_MYASO].x1=vragi1Objects[i3].v1x+hge->Random_Float(-10,10); | |
myasko[N_MYASO].y1=vragi1Objects[i3].v1y+hge->Random_Float(-5,5); | |
myasko[N_MYASO].niz=vragi1Objects[i3].v1y+hge->Random_Float(10,50); | |
myasko[N_MYASO].xstart=myasko[N_MYASO].x1; | |
myasko[N_MYASO].type=2; | |
myasko[N_MYASO].myaso_time_sec=perez_akt; | |
myasko[N_MYASO].myaso_time=GetTime(); | |
myasko[N_MYASO].scaleX=hge->Random_Float(0.3f,0.4f); | |
myasko[N_MYASO].gradus=hge->Random_Float(0,1); | |
myasko[N_MYASO].speedX=hge->Random_Float(2,3); | |
myasko[N_MYASO].speedY=hge->Random_Float(0.6f,1); | |
myasko[N_MYASO].akt=1; | |
myasko[N_MYASO].bzdik=0; | |
myasko[N_MYASO].energy=0; | |
if(head_was==0) | |
{ | |
int randomize=hge->Random_Int(1,10); | |
if(randomize==10) | |
{myasko[N_MYASO].seed=6; | |
head_was=1;} | |
} | |
if(noga_was<2) | |
{ | |
int randomize=hge->Random_Int(1,10); | |
if(randomize==10) | |
{myasko[N_MYASO].seed=hge->Random_Int(9,12); | |
noga_was++;} | |
} | |
if(vragi1Objects[i3].vzorvan==true) | |
{myasko[N_MYASO].energy=vragi1Objects[i3].energy; | |
//передача энергии(выше) и её распределение | |
//если не прям под щами | |
if(myasko[N_MYASO].energy<=0.9f) | |
{ | |
if(vragi1Objects[i3].chetvert==1) | |
{myasko[N_MYASO].speedX=hge->Random_Float(1.5f,3)*myasko[N_MYASO].energy*(vragi1Objects[i3].rasstX/(vragi1Objects[i3].rasstX+vragi1Objects[i3].rasstY)); | |
myasko[N_MYASO].speedY=-hge->Random_Float(1.5f,3)*myasko[N_MYASO].energy*(vragi1Objects[i3].rasstY/(vragi1Objects[i3].rasstX+vragi1Objects[i3].rasstY)); | |
myasko[N_MYASO].niz=vragi1Objects[i3].v1y+5*myasko[N_MYASO].speedY;} | |
if(vragi1Objects[i3].chetvert==2) | |
{myasko[N_MYASO].speedX=hge->Random_Float(1.5f,3)*myasko[N_MYASO].energy*(vragi1Objects[i3].rasstX/(vragi1Objects[i3].rasstX+vragi1Objects[i3].rasstY)); | |
myasko[N_MYASO].speedY=hge->Random_Float(1.5f,3)*myasko[N_MYASO].energy*(vragi1Objects[i3].rasstY/(vragi1Objects[i3].rasstX+vragi1Objects[i3].rasstY)); | |
myasko[N_MYASO].niz=vragi1Objects[i3].v1y-5*myasko[N_MYASO].speedY;} | |
if(vragi1Objects[i3].chetvert==3) | |
{myasko[N_MYASO].speedX=-1*hge->Random_Float(1.5f,3)*myasko[N_MYASO].energy*(vragi1Objects[i3].rasstX/(vragi1Objects[i3].rasstX+vragi1Objects[i3].rasstY)); | |
myasko[N_MYASO].speedY=hge->Random_Float(1.5f,3)*myasko[N_MYASO].energy*(vragi1Objects[i3].rasstY/(vragi1Objects[i3].rasstX+vragi1Objects[i3].rasstY)); | |
myasko[N_MYASO].niz=vragi1Objects[i3].v1y-5*myasko[N_MYASO].speedY;} | |
if(vragi1Objects[i3].chetvert==4) | |
{myasko[N_MYASO].speedX=-1*hge->Random_Float(1.5f,3)*myasko[N_MYASO].energy*(vragi1Objects[i3].rasstX/(vragi1Objects[i3].rasstX+vragi1Objects[i3].rasstY)); | |
myasko[N_MYASO].speedY=-hge->Random_Float(1.5f,3)*myasko[N_MYASO].energy*(vragi1Objects[i3].rasstY/(vragi1Objects[i3].rasstX+vragi1Objects[i3].rasstY)); | |
myasko[N_MYASO].niz=vragi1Objects[i3].v1y+5*myasko[N_MYASO].speedY;} | |
}//если прям не под щами | |
//если прям под щами | |
if(myasko[N_MYASO].energy>0.9f) | |
{ | |
myasko[N_MYASO].speedY=-hge->Random_Float(6,9)*myasko[N_MYASO].energy; | |
myasko[N_MYASO].speedX=hge->Random_Float(-2.5f,2.5f)*myasko[N_MYASO].energy; | |
myasko[N_MYASO].niz=vragi1Objects[i3].v1y+hge->Random_Float(-40,60)*myasko[N_MYASO].energy; | |
}//если прям под щами | |
}//закрытие взорванного мяса | |
N_MYASO++; | |
if(N_MYASO>=MAX_MYASO-1) | |
{N_MYASO=0;} | |
} | |
//мелкое мясо | |
}//закрытие разрыва в ЩИ | |
//холодное оружие | |
if((katana1_anime->IsPlaying()==true&&katana1_anime->GetFrame()==2&&vragi1Objects[i3].health>0&&x-55>vragi1Objects[i3].v1x&& | |
vragi1Objects[i3].v1x+40>x-95&&y<vragi1Objects[i3].v1y+40&&y>vragi1Objects[i3].v1y+12)|| | |
(katana2_anime->IsPlaying()==true&&katana2_anime->GetFrame()==2&&vragi1Objects[i3].health>0&&x2-55>vragi1Objects[i3].v1x&& | |
vragi1Objects[i3].v1x+40>x2-95&&y2<vragi1Objects[i3].v1y+40&&y2>vragi1Objects[i3].v1y+12)) | |
{ | |
if(katana1_anime->IsPlaying()==true&&katana1_anime->GetFrame()==2&&vragi1Objects[i3].health>0&&x-55>vragi1Objects[i3].v1x&& | |
vragi1Objects[i3].v1x+40>x-95&&y<vragi1Objects[i3].v1y+40&&y>vragi1Objects[i3].v1y+12) | |
{vragi1Objects[i3].killed_by=1;} | |
if(katana2_anime->IsPlaying()==true&&katana2_anime->GetFrame()==2&&vragi1Objects[i3].health>0&&x2-55>vragi1Objects[i3].v1x&& | |
vragi1Objects[i3].v1x+40>x2-95&&y2<vragi1Objects[i3].v1y+40&&y2>vragi1Objects[i3].v1y+12) | |
{vragi1Objects[i3].killed_by=2;} | |
if((y<=vragi1Objects[i3].v1y+17&&y>vragi1Objects[i3].v1y+13)|| | |
(y2<=vragi1Objects[i3].v1y+17&&y2>vragi1Objects[i3].v1y+13))//ХЭДШОТ!!! | |
{ | |
if(vragi1Objects[i3].killed_by==1) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi1Objects[i3].defence>=5|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi1Objects[i3].defence>=5) | |
{ | |
if(CLASSMOD==true&&class1==1) | |
{ | |
if(LVL1%2==0) | |
{vragi1Objects[i3].health-=(damage[N_WEAPON1]+LVL1/2*attack1)*1.2f-vragi1Objects[i3].defence;} | |
if(LVL1%2==1) | |
{vragi1Objects[i3].health-=(damage[N_WEAPON1]+(LVL1-1)/2*attack1)*1.2f-vragi1Objects[i3].defence;} | |
} | |
if(CLASSMOD==false||class1!=1) | |
{ | |
if(LVL1%2==0) | |
{vragi1Objects[i3].health-=damage[N_WEAPON1]+LVL1/2*attack1-vragi1Objects[i3].defence;} | |
if(LVL1%2==1) | |
{vragi1Objects[i3].health-=damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi1Objects[i3].defence;} | |
} | |
} | |
//гарантированный урон | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi1Objects[i3].defence<5|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi1Objects[i3].defence<5) | |
{vragi1Objects[i3].health-=5;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi1Objects[i3].health-=damage[N_WEAPON1];} | |
if(RPGMOD==false&&CLASSMOD==true&&class1==1) | |
{vragi1Objects[i3].health-=damage[N_WEAPON1]*1.2f;} | |
points1+=25;}//урон от оружия игрока 1 | |
if(vragi1Objects[i3].killed_by==2) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi1Objects[i3].defence>=5|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi1Objects[i3].defence>=5) | |
{ | |
if(CLASSMOD==true&&class2==1) | |
{ | |
if(LVL2%2==0) | |
{vragi1Objects[i3].health-=(damage[N_WEAPON2]+LVL2/2*attack2)*1.2f-vragi1Objects[i3].defence;} | |
if(LVL2%2==1) | |
{vragi1Objects[i3].health-=(damage[N_WEAPON2]+(LVL2-1)/2*attack2)*1.2f-vragi1Objects[i3].defence;} | |
} | |
if(CLASSMOD==false||class2!=1) | |
{ | |
if(LVL2%2==0) | |
{vragi1Objects[i3].health-=damage[N_WEAPON2]+LVL2/2*attack2-vragi1Objects[i3].defence;} | |
if(LVL2%2==1) | |
{vragi1Objects[i3].health-=damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi1Objects[i3].defence;} | |
} | |
} | |
//гарантированный урон | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi1Objects[i3].defence<5|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi1Objects[i3].defence<5) | |
{vragi1Objects[i3].health-=5;} | |
}//RPG | |
if(RPGMOD==false&&CLASSMOD==false) | |
{vragi1Objects[i3].health-=damage[N_WEAPON2];} | |
if(RPGMOD==false&&CLASSMOD==true&&class2==1) | |
{vragi1Objects[i3].health-=damage[N_WEAPON2]*1.2f;} | |
points2+=25;}//урон от оружия игрока 2 | |
headshotPan=-75+vragi1Objects[i3].v1x/9; | |
headshot(); | |
if(vragi1Objects[i3].bezboshki==0&&vragi1Objects[i3].health<=0)//отрывание бошки | |
{ | |
vragi1Objects[i3].bezboshki=1; | |
if(vragi1Objects[i3].killed_by==1) | |
{points1+=25;} | |
if(vragi1Objects[i3].killed_by==2) | |
{points2+=25;} | |
if(vragi1Objects[i3].bezuh==0) | |
{boshkiObjects[N_HEAD].bezuh=0;} | |
if(vragi1Objects[i3].bezuh==1) | |
{boshkiObjects[N_HEAD].bezuh=1;} | |
boshkiObjects[N_HEAD].vrag=1; | |
boshkiObjects[N_HEAD].niz=vragi1Objects[i3].v1y+38; | |
boshkiObjects[N_HEAD].bx=vragi1Objects[i3].v1x+18; | |
boshkiObjects[N_HEAD].by=vragi1Objects[i3].v1y-3; | |
boshkiObjects[N_HEAD].bzdik=0; | |
boshkiObjects[N_HEAD].seed=hge->Random_Int(1,5); | |
boshkiObjects[N_HEAD].bzdik_seed=hge->Random_Int(1,3); | |
boshkiObjects[N_HEAD].akt=1; | |
N_HEAD++; | |
if(N_HEAD>=MAX_HEAD-1) | |
{N_HEAD=0;} | |
}//закрытие отрывания бошки | |
}//ХЭДШОТ ЗАКОНЧИЛСЯ | |
if(vragi1Objects[i3].killed_by==1) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi1Objects[i3].defence>=10|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi1Objects[i3].defence>=10) | |
{ | |
if(CLASSMOD==true&&class1==1) | |
{ | |
if(LVL1%2==0) | |
{vragi1Objects[i3].health-=(damage[N_WEAPON1]+LVL1/2*attack1)*1.2f-vragi1Objects[i3].defence;} | |
if(LVL1%2==1) | |
{vragi1Objects[i3].health-=(damage[N_WEAPON1]+(LVL1-1)/2*attack1)*1.2f-vragi1Objects[i3].defence;} | |
} | |
if(CLASSMOD==false||class1!=1) | |
{ | |
if(LVL1%2==0) | |
{vragi1Objects[i3].health-=damage[N_WEAPON1]+LVL1/2*attack1-vragi1Objects[i3].defence;} | |
if(LVL1%2==1) | |
{vragi1Objects[i3].health-=damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi1Objects[i3].defence;} | |
} | |
} | |
//гарантированный урон | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi1Objects[i3].defence<10|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi1Objects[i3].defence<10) | |
{vragi1Objects[i3].health-=10;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi1Objects[i3].health-=damage[N_WEAPON1];} | |
krovyakObjects[N_BLOOD].y1=y-10; //КРОВЯК (вперед) | |
krovyakObjects[N_BLOOD].y2=y; | |
} | |
if(vragi1Objects[i3].killed_by==2) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi1Objects[i3].defence>=10|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi1Objects[i3].defence>=10) | |
{ | |
if(CLASSMOD==true&&class2==1) | |
{ | |
if(LVL2%2==0) | |
{vragi1Objects[i3].health-=(damage[N_WEAPON2]+LVL2/2*attack2)*1.2f-vragi1Objects[i3].defence;} | |
if(LVL2%2==1) | |
{vragi1Objects[i3].health-=(damage[N_WEAPON2]+(LVL2-1)/2*attack2)*1.2f-vragi1Objects[i3].defence;} | |
} | |
if(CLASSMOD==false&&class2!=1) | |
{ | |
if(LVL2%2==0) | |
{vragi1Objects[i3].health-=damage[N_WEAPON2]+LVL2/2*attack2-vragi1Objects[i3].defence;} | |
if(LVL2%2==1) | |
{vragi1Objects[i3].health-=damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi1Objects[i3].defence;} | |
} | |
} | |
//гарантированный урон | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi1Objects[i3].defence<10|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi1Objects[i3].defence<10) | |
{vragi1Objects[i3].health-=10;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi1Objects[i3].health-=damage[N_WEAPON2];} | |
krovyakObjects[N_BLOOD].y1=y2-10; //КРОВЯК (вперед) | |
krovyakObjects[N_BLOOD].y2=y2; | |
} | |
krovyakObjects[N_BLOOD].seed=hge->Random_Int(101,103); | |
krovyakObjects[N_BLOOD].vrag=1; | |
krovyakObjects[N_BLOOD].x2=x-95+10; | |
krovyakObjects[N_BLOOD].x1=x-95+35; | |
krovyakObjects[N_BLOOD].xstart=x-95+10; | |
krovyakObjects[N_BLOOD].niz=vragi1Objects[i3].v1y+60; | |
krovyakObjects[N_BLOOD].blood_time=GetTime(); | |
krovyakObjects[N_BLOOD].blood_time_sec=perez_akt; | |
krovyakObjects[N_BLOOD].akt=1; | |
krovyakObjects[N_BLOOD].faza=1; | |
N_BLOOD++; | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
hge->Effect_PlayEx(shot1,volume*8/10,0,0); | |
}//холодное оружие | |
if(vragi1Objects[i3].health<=0&&vragi1Objects[i3].pokoin==0) | |
{vragi1Objects[i3].kill_time=GetTime(); | |
vragi1Objects[i3].kill_time_sec=perez_akt; | |
vragi1Objects[i3].pokoin=1; | |
} | |
if(vragi1Objects[i3].health<=0&&vragi1Objects[i3].pokoin==1&&vragi1Objects[i3].ubit==0)//убийство зайца | |
{ | |
//pause | |
if((vragi1Objects[i3].kill_time<990&& | |
((perez_akt_milli>=vragi1Objects[i3].kill_time+10&&perez_akt==vragi1Objects[i3].kill_time_sec)|| | |
(perez_akt!=vragi1Objects[i3].kill_time_sec))) | |
||(vragi1Objects[i3].kill_time>=990&&perez_akt!=vragi1Objects[i3].kill_time_sec)) | |
{ | |
zayac->Stop(); | |
vragi1Objects[i3].ubit=1; | |
vragi1Objects[i3].timeout_milli=GetTime(); | |
switch(DIFF) | |
{ | |
case 0: | |
if(perez_akt<55) | |
{vragi1Objects[i3].timeout=perez_akt+5;} | |
if(perez_akt>=55) | |
{vragi1Objects[i3].timeout=perez_akt-55;} | |
break; | |
case 1: | |
if(perez_akt<56) | |
{vragi1Objects[i3].timeout=perez_akt+4;} | |
if(perez_akt>=56) | |
{vragi1Objects[i3].timeout=perez_akt-56;} | |
break; | |
case 2: | |
if(perez_akt<57) | |
{vragi1Objects[i3].timeout=perez_akt+3;} | |
if(perez_akt>=57) | |
{vragi1Objects[i3].timeout=perez_akt-57;} | |
break; | |
} | |
if(vragi1Objects[i3].killed_by==1) | |
{kills++; | |
//статистика | |
ubijstva[N_KILLS].player=1; | |
ubijstva[N_KILLS].vrag=1; | |
ubijstva[N_KILLS].weapon=N_WEAPON1; | |
ubijstva[N_KILLS].bezuh=false; | |
if(vragi1Objects[i3].bezuh==1) | |
{ubijstva[N_KILLS].bezuh=true;} | |
ubijstva[N_KILLS].bezboshki=false; | |
if(vragi1Objects[i3].bezboshki==1) | |
{ubijstva[N_KILLS].bezboshki=true;} | |
ubijstva[N_KILLS].headshot=false; | |
ubijstva[N_KILLS].vschiii=false; | |
N_KILLS++; | |
if(N_KILLS>=MAX_KILLS-1) | |
{N_KILLS=0;} | |
//статистика | |
points1+=100; | |
opit1+=(30+vragi1Objects[i3].defence*vragi1Objects[i3].defence/LVL1)*w_opit_zayac[N_WEAPON1]*(1+0.25f*umnik1)/daun1; | |
}//закрытие для 1 игрока | |
if(vragi1Objects[i3].killed_by==2) | |
{kills2++; | |
//статистика | |
ubijstva[N_KILLS].player=2; | |
ubijstva[N_KILLS].vrag=1; | |
ubijstva[N_KILLS].weapon=N_WEAPON2; | |
ubijstva[N_KILLS].bezuh=false; | |
if(vragi1Objects[i3].bezuh==1) | |
{ubijstva[N_KILLS].bezuh=true;} | |
ubijstva[N_KILLS].bezboshki=false; | |
if(vragi1Objects[i3].bezboshki==1) | |
{ubijstva[N_KILLS].bezboshki=true;} | |
ubijstva[N_KILLS].headshot=false; | |
ubijstva[N_KILLS].vschiii=false; | |
N_KILLS++; | |
if(N_KILLS>=MAX_KILLS-1) | |
{N_KILLS=0;} | |
//статистика | |
points2+=100; | |
opit2+=(30+vragi1Objects[i3].defence*vragi1Objects[i3].defence/LVL2)*w_opit_zayac[N_WEAPON2]*(1+0.25f*umnik2)/daun2; | |
}//закрытие про второго игрока | |
trupsObjects[N_TRUPS].killtime=GetTime();//лужа кровяка | |
trupsObjects[N_TRUPS].killtime_sec=perez_akt; | |
trupsObjects[N_TRUPS].posX=vragi1Objects[i3].v1x+24; | |
trupsObjects[N_TRUPS].posY=vragi1Objects[i3].v1y+32; | |
trupsObjects[N_TRUPS].posX_s=vragi1Objects[i3].v1x+24; | |
trupsObjects[N_TRUPS].posX_X=X; | |
trupsObjects[N_TRUPS].vrag=1; | |
trupsObjects[N_TRUPS].scaleX=0.1f; | |
trupsObjects[N_TRUPS].scaleY=0; | |
trupsObjects[N_TRUPS].aktiv=1; | |
trupsObjects[N_TRUPS].type=9; | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
if(vragi1Objects[i3].bezuh==1&&vragi1Objects[i3].bezboshki==0)//заец умирает с оторванными ушами | |
{trupsObjects[N_TRUPS].trup_tex=zayac_go_bezuh_tex; | |
trupsObjects[N_TRUPS].type=1;}//труп зайца | |
if(vragi1Objects[i3].bezuh==0&&vragi1Objects[i3].bezboshki==0) | |
{trupsObjects[N_TRUPS].type=1;//труп зайца | |
trupsObjects[N_TRUPS].trup_tex=zayac_go_tex;} | |
if(vragi1Objects[i3].bezboshki==1)//заец умирает без бошки | |
{trupsObjects[N_TRUPS].type=1;//труп зайца | |
trupsObjects[N_TRUPS].trup_tex=zayac_boshka_tex;} | |
trupsObjects[N_TRUPS].killtime=GetTime(); | |
trupsObjects[N_TRUPS].killtime_sec=perez_akt; | |
trupsObjects[N_TRUPS].frame=1; | |
trupsObjects[N_TRUPS].frame_akt=1; | |
trupsObjects[N_TRUPS].posX=vragi1Objects[i3].v1x; | |
trupsObjects[N_TRUPS].posY=vragi1Objects[i3].v1y; | |
trupsObjects[N_TRUPS].posX_s=vragi1Objects[i3].v1x; | |
trupsObjects[N_TRUPS].posX_X=X; | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
//БОНУС?! | |
bonus_shans(); | |
if(vragi1Objects[i3].killed_by==1) | |
{ | |
if(bonus>=371&&bonus<=379+5*luck1) | |
{ | |
bonusiObjects[N_BONUS].x1=vragi1Objects[i3].v1x+5; | |
bonusiObjects[N_BONUS].y1=vragi1Objects[i3].v1y+5; | |
bonusiObjects[N_BONUS].x1_s=vragi1Objects[i3].v1x+5; | |
bonusiObjects[N_BONUS].x1_X=X; | |
bonusiObjects[N_BONUS].x2=vragi1Objects[i3].v1x+35; | |
bonusiObjects[N_BONUS].y2=vragi1Objects[i3].v1y+35; | |
bonusiObjects[N_BONUS].x2_s=vragi1Objects[i3].v1x+35; | |
bonusiObjects[N_BONUS].x2_X=X; | |
bonusiObjects[N_BONUS].appear_time_milli=GetTime(); | |
bonusiObjects[N_BONUS].appear_time=perez_akt; | |
bonusiObjects[N_BONUS].type=hge->Random_Int(0,1); | |
bonusiObjects[N_BONUS].akt=1; | |
bonusiObjects[N_BONUS].spin=0; | |
bonusiObjects[N_BONUS].visible=true; | |
bonusiObjects[N_BONUS].mig_akt=0; | |
N_BONUS++; | |
if(N_BONUS>=MAX_BONUS-1) | |
{N_BONUS=0;} | |
} | |
}//if(vragi1Objects[i3].killed_by==1) | |
if(vragi1Objects[i3].killed_by==2) | |
{ | |
if(bonus>=371&&bonus<=379+5*luck2) | |
{ | |
bonusiObjects[N_BONUS].x1=vragi1Objects[i3].v1x+5; | |
bonusiObjects[N_BONUS].y1=vragi1Objects[i3].v1y+5; | |
bonusiObjects[N_BONUS].x1_s=vragi1Objects[i3].v1x+5; | |
bonusiObjects[N_BONUS].x1_X=X; | |
bonusiObjects[N_BONUS].x2=vragi1Objects[i3].v1x+35; | |
bonusiObjects[N_BONUS].y2=vragi1Objects[i3].v1y+35; | |
bonusiObjects[N_BONUS].x2_s=vragi1Objects[i3].v1x+35; | |
bonusiObjects[N_BONUS].x2_X=X; | |
bonusiObjects[N_BONUS].appear_time_milli=GetTime(); | |
bonusiObjects[N_BONUS].appear_time=perez_akt; | |
bonusiObjects[N_BONUS].type=hge->Random_Int(0,1); | |
bonusiObjects[N_BONUS].akt=1; | |
bonusiObjects[N_BONUS].spin=0; | |
bonusiObjects[N_BONUS].visible=true; | |
bonusiObjects[N_BONUS].mig_akt=0; | |
N_BONUS++; | |
if(N_BONUS>=MAX_BONUS-1) | |
{N_BONUS=0;} | |
} | |
}//if(vragi1Objects[i3].killed_by==2) | |
}//закрытие pause | |
}//закрытие убийства | |
}//ЗАКРЫТИЕ САГИ ПРО ЗАЙЦА | |
//ВОЛК | |
for (int i20=0;i20<=N_VOLK;i20++) | |
{ | |
if(vragi2Objects[i20].ubit!=1)//сама скорость | |
{ | |
vragi2Objects[i20].v2x+=vragi2Objects[i20].speed*lag; | |
volk->Resume(); | |
//агро мясника | |
if(class1==1&&primanka1>0&&vragi2Objects[i20].v2x+100<=x-16&&sqrt(((x-16)-vragi2Objects[i20].v2x+100)*((x-16)-vragi2Objects[i20].v2x+100)+ | |
(vragi2Objects[i20].v2y+20-y)*(vragi2Objects[i20].v2y+20-y))<=(60+5*primanka1)) | |
{ | |
if(vragi2Objects[i20].v2y+20<y) | |
{vragi2Objects[i20].v2y+=(0.05f+0.1f*sqrt((float)primanka1))*lag;} | |
if(vragi2Objects[i20].v2y+20>y) | |
{vragi2Objects[i20].v2y-=(0.05f+0.1f*sqrt((float)primanka1))*lag;} | |
} | |
if(class2==1&&primanka2>0&&vragi2Objects[i20].v2x+100<=x2-16&&sqrt(((x2-16)-vragi2Objects[i20].v2x+100)*((x2-16)-vragi2Objects[i20].v2x+100)+ | |
(vragi2Objects[i20].v2y+20-y2)*(vragi2Objects[i20].v2y+20-y2))<=(60+5*primanka2)) | |
{ | |
if(vragi2Objects[i20].v2y+20<y2) | |
{vragi2Objects[i20].v2y+=(0.05f+0.1f*sqrt((float)primanka2))*lag;} | |
if(vragi2Objects[i20].v2y+20>y2) | |
{vragi2Objects[i20].v2y-=(0.05f+0.1f*sqrt((float)primanka2))*lag;} | |
} | |
//ЛЕЧИЛКА | |
if(vragi2Objects[i20].RPG_healer!=0&&vragi2Objects[i20].health<125&&RPGMOD==true) | |
{vragi2Objects[i20].health+=vragi2Objects[i20].RPG_healer; | |
RPG_healing_psi->FireAt(vragi2Objects[i20].v2x+60,vragi2Objects[i20].v2y);} | |
//ИЛЛЮЗИИ | |
if(vragi2Objects[i20].RPG_illusionist!=0&&RPGMOD==true) | |
{ | |
vragi2Objects[i20].ill1_x+=vragi2Objects[i20].speed*lag; | |
vragi2Objects[i20].ill2_x+=vragi2Objects[i20].speed*lag; | |
if((((py<vragi2Objects[i20].ill1_y+50&&py>vragi2Objects[i20].ill1_y&&px<=vragi2Objects[i20].ill1_x&&px>vragi2Objects[i20].ill1_x-600*lag)|| | |
(p1d1y<vragi2Objects[i20].ill1_y+50&&p1d1y>vragi2Objects[i20].ill1_y&&p1d1x<=vragi2Objects[i20].ill1_x&&p1d1x>vragi2Objects[i20].ill1_x-600*lag)|| | |
(p1d2y<vragi2Objects[i20].ill1_y+50&&p1d2y>vragi2Objects[i20].ill1_y&&p1d2x<=vragi2Objects[i20].ill1_x&&p1d2x>vragi2Objects[i20].ill1_x-600*lag)|| | |
(p1d3y<vragi2Objects[i20].ill1_y+50&&p1d3y>vragi2Objects[i20].ill1_y&&p1d3x<=vragi2Objects[i20].ill1_x&&p1d3x>vragi2Objects[i20].ill1_x-600*lag)|| | |
(p1d4y<vragi2Objects[i20].ill1_y+50&&p1d4y>vragi2Objects[i20].ill1_y&&p1d4x<=vragi2Objects[i20].ill1_x&&p1d4x>vragi2Objects[i20].ill1_x-600*lag))&& | |
aktivatorp==1&&x-55>vragi2Objects[i20].ill1_x&&vragi2Objects[i20].ubit!=1)|| | |
(((p2y<vragi2Objects[i20].ill1_y+50&&p2y>vragi2Objects[i20].ill1_y&&p2x<=vragi2Objects[i20].ill1_x&&p2x>vragi2Objects[i20].ill1_x-600*lag)|| | |
(p2d1y<vragi2Objects[i20].ill1_y+50&&p2d1y>vragi2Objects[i20].ill1_y&&p2d1x<=vragi2Objects[i20].ill1_x&&p2d1x>vragi2Objects[i20].ill1_x-600*lag)|| | |
(p2d2y<vragi2Objects[i20].ill1_y+50&&p2d2y>vragi2Objects[i20].ill1_y&&p2d2x<=vragi2Objects[i20].ill1_x&&p2d2x>vragi2Objects[i20].ill1_x-600*lag)|| | |
(p2d3y<vragi2Objects[i20].ill1_y+50&&p2d3y>vragi2Objects[i20].ill1_y&&p2d3x<=vragi2Objects[i20].ill1_x&&p2d3x>vragi2Objects[i20].ill1_x-600*lag)|| | |
(p2d4y<vragi2Objects[i20].ill1_y+50&&p2d4y>vragi2Objects[i20].ill1_y&&p2d4x<=vragi2Objects[i20].ill1_x&&p2d4x>vragi2Objects[i20].ill1_x-600*lag))&& | |
aktivatorp2==1&&x2-55>vragi2Objects[i20].ill1_x&&vragi2Objects[i20].ubit!=1))//просчёт урона | |
{vragi2Objects[i20].ill1_active=0;} | |
if((((py<vragi2Objects[i20].ill2_y+50&&py>vragi2Objects[i20].ill2_y&&px<=vragi2Objects[i20].ill2_x&&px>vragi2Objects[i20].ill2_x-600*lag)|| | |
(p1d1y<vragi2Objects[i20].ill2_y+50&&p1d1y>vragi2Objects[i20].ill2_y&&p1d1x<=vragi2Objects[i20].ill2_x&&p1d1x>vragi2Objects[i20].ill2_x-600*lag)|| | |
(p1d2y<vragi2Objects[i20].ill2_y+50&&p1d2y>vragi2Objects[i20].ill2_y&&p1d2x<=vragi2Objects[i20].ill2_x&&p1d2x>vragi2Objects[i20].ill2_x-600*lag)|| | |
(p1d3y<vragi2Objects[i20].ill2_y+50&&p1d3y>vragi2Objects[i20].ill2_y&&p1d3x<=vragi2Objects[i20].ill2_x&&p1d3x>vragi2Objects[i20].ill2_x-600*lag)|| | |
(p1d4y<vragi2Objects[i20].ill2_y+50&&p1d4y>vragi2Objects[i20].ill2_y&&p1d4x<=vragi2Objects[i20].ill2_x&&p1d4x>vragi2Objects[i20].ill2_x-600*lag))&& | |
aktivatorp==1&&x-55>vragi2Objects[i20].ill2_x&&vragi2Objects[i20].ubit!=1)|| | |
(((p2y<vragi2Objects[i20].ill2_y+50&&p2y>vragi2Objects[i20].ill2_y&&p2x<=vragi2Objects[i20].ill2_x&&p2x>vragi2Objects[i20].ill2_x-600*lag)|| | |
(p2d1y<vragi2Objects[i20].ill2_y+50&&p2d1y>vragi2Objects[i20].ill2_y&&p2d1x<=vragi2Objects[i20].ill2_x&&p2d1x>vragi2Objects[i20].ill2_x-600*lag)|| | |
(p2d2y<vragi2Objects[i20].ill2_y+50&&p2d2y>vragi2Objects[i20].ill2_y&&p2d2x<=vragi2Objects[i20].ill2_x&&p2d2x>vragi2Objects[i20].ill2_x-600*lag)|| | |
(p2d3y<vragi2Objects[i20].ill2_y+50&&p2d3y>vragi2Objects[i20].ill2_y&&p2d3x<=vragi2Objects[i20].ill2_x&&p2d3x>vragi2Objects[i20].ill2_x-600*lag)|| | |
(p2d4y<vragi2Objects[i20].ill2_y+50&&p2d4y>vragi2Objects[i20].ill2_y&&p2d4x<=vragi2Objects[i20].ill2_x&&p2d4x>vragi2Objects[i20].ill2_x-600*lag))&& | |
aktivatorp2==1&&x2-55>vragi2Objects[i20].ill2_x&&vragi2Objects[i20].ubit!=1))//просчёт урона | |
{vragi2Objects[i20].ill2_active=0;} | |
} | |
//ТЕЛЕПОРТАЦИЯ | |
if(vragi2Objects[i20].RPG_teleporter!=0&&RPGMOD==true) | |
{ | |
if(vragi2Objects[i20].teleported==0&&vragi2Objects[i20].v2x>=vragi2Objects[i20].teleportx) | |
{ | |
if(player2_aktive==0) | |
{if(DIFF!=0) | |
{vragi2Objects[i20].teleporty=hge->Random_Float(150,800);} | |
if(DIFF==0) | |
{vragi2Objects[i20].teleporty=hge->Random_Float(250,700);}} | |
if(player2_aktive==1) | |
{if(DIFF!=0) | |
{vragi2Objects[i20].teleporty=hge->Random_Float(100,850);} | |
if(DIFF==0) | |
{vragi2Objects[i20].teleporty=hge->Random_Float(200,750);}} | |
while((vragi2Objects[i20].teleporty>vragi2Objects[i20].v2y&&vragi2Objects[i20].teleporty-vragi2Objects[i20].v2y<150)|| | |
(vragi2Objects[i20].v2y>vragi2Objects[i20].teleporty&&vragi2Objects[i20].v2y-vragi2Objects[i20].teleporty<150)) | |
{ | |
if(player2_aktive==0) | |
{if(DIFF!=0) | |
{vragi2Objects[i20].teleporty=hge->Random_Float(150,800);} | |
if(DIFF==0) | |
{vragi2Objects[i20].teleporty=hge->Random_Float(250,700);}} | |
if(player2_aktive==1) | |
{if(DIFF!=0) | |
{vragi2Objects[i20].teleporty=hge->Random_Float(100,850);} | |
if(DIFF==0) | |
{vragi2Objects[i20].teleporty=hge->Random_Float(200,750);}} | |
} | |
vragi2Objects[i20].v2y=vragi2Objects[i20].teleporty; | |
vragi2Objects[i20].teleported=1; | |
} | |
if(vragi2Objects[i20].teleported==1) | |
{ | |
vragi2Objects[i20].teleportx=hge->Random_Float(vragi2Objects[i20].v2x+200,vragi2Objects[i20].v2x+400); | |
vragi2Objects[i20].teleported=0; | |
} | |
} | |
for (int i52=0;i52<=N_OBJECTS-1;i52++)//контакт с предметами | |
{ | |
if((X-Objects[i52].x)>vragi2Objects[i20].v2x&&(X-Objects[i52].x)-vragi2Objects[i20].v2x<=200)//объект перед щами!!! | |
{ | |
switch(Objects[i52].type) | |
{ | |
case 0: | |
case 1: | |
case 2: | |
if(Objects[i52].y>=vragi2Objects[i20].v2y&&Objects[i52].y-vragi2Objects[i20].v2y<=50)//объект ниже | |
{ | |
if(Objects[i52].pl==0)//если объект не плоский | |
{vragi2Objects[i20].v2y-=0.4f;} | |
vragi2Objects[i20].object_id=i52;} | |
if(Objects[i52].y<vragi2Objects[i20].v2y&&vragi2Objects[i20].v2y-Objects[i52].y<=35)//объект выше | |
{vragi2Objects[i20].v2y+=0.4f;} | |
break; | |
} | |
}//закрытие объект перед щами | |
if((X-Objects[i52].x)<vragi2Objects[i20].v2x&&vragi2Objects[i20].v2x-(X-Objects[i52].x)<=100)//назад на место | |
{ | |
switch(Objects[i52].type) | |
{ | |
case 0: | |
case 1: | |
case 2: | |
if(Objects[i52].y>=vragi2Objects[i20].v2y&& | |
Objects[i52].y-vragi2Objects[i20].v2y>=30&&Objects[i52].y-vragi2Objects[i20].v2y<=80)//объект ниже | |
{vragi2Objects[i20].v2y+=0.2f;} | |
if(Objects[i52].y<vragi2Objects[i20].v2y&& | |
vragi2Objects[i20].v2y-Objects[i52].y>=15&&vragi2Objects[i20].v2y-Objects[i52].y<=50)//объект выше | |
{vragi2Objects[i20].v2y-=0.2f;} | |
break; | |
} | |
}//закрытие возврата на место | |
}//закрытие контакта с предметами | |
}//закрытие скорости | |
//если замочили - появляется заново | |
if(vragi2Objects[i20].ubit==1) | |
{ | |
if(perez_akt==vragi2Objects[i20].timeout&& | |
((perez_akt_milli>=vragi2Objects[i20].timeout_milli&&vragi2Objects[i20].timeout_milli<900)|| | |
(perez_akt_milli<vragi2Objects[i20].timeout_milli&&vragi2Objects[i20].timeout_milli>=900))) | |
{vragi2Objects[i20].ubit=0; | |
vragi2Objects[i20].v2x=-50; | |
if(player2_aktive==0) | |
{if(DIFF!=0) | |
{vragi2Objects[i20].v2y=hge->Random_Float(200,800);} | |
if(DIFF==0) | |
{vragi2Objects[i20].v2y=hge->Random_Float(300,700);}} | |
if(player2_aktive==1) | |
{if(DIFF!=0) | |
{vragi2Objects[i20].v2y=hge->Random_Float(100,850);} | |
if(DIFF==0) | |
{vragi2Objects[i20].v2y=hge->Random_Float(200,750);} | |
} | |
vragi2Objects[i20].health=125; | |
vragi2Objects[i20].speed=hge->Random_Float(0.7f,0.9f); | |
vragi2Objects[i20].defence=defence_volk; | |
vragi2Objects[i20].object_id=-1; | |
vragi2Objects[i20].RPG_healer=0; | |
vragi2Objects[i20].RPG_illusionist=0; | |
vragi2Objects[i20].ill1_active=0; | |
vragi2Objects[i20].ill2_active=0; | |
vragi2Objects[i20].RPG_teleporter=0; | |
vragi2Objects[i20].teleportx=0; | |
vragi2Objects[i20].teleported=0; | |
//руны | |
if(RPGMOD==true) | |
{ | |
int randomize= hge->Random_Int(1,100); | |
if(randomize<=25&&rpg_healers==true) | |
{vragi2Objects[i20].RPG_healer=1;} | |
if(randomize>25&&randomize<=35&&rpg_illusionists==true) | |
{vragi2Objects[i20].RPG_illusionist=1; | |
vragi2Objects[i20].ill1_active=1; | |
vragi2Objects[i20].ill1_x=vragi2Objects[i20].v2x+hge->Random_Int(-30,30); | |
if(player2_aktive==0) | |
{vragi2Objects[i20].ill1_y=hge->Random_Float(150,800);} | |
if(player2_aktive==1) | |
{vragi2Objects[i20].ill1_y=hge->Random_Float(100,850);} | |
vragi2Objects[i20].ill2_active=1; | |
vragi2Objects[i20].ill2_x=vragi2Objects[i20].v2x+hge->Random_Int(-30,30); | |
if(player2_aktive==0) | |
{vragi2Objects[i20].ill2_y=hge->Random_Float(150,800);} | |
if(player2_aktive==1) | |
{vragi2Objects[i20].ill2_y=hge->Random_Float(100,850);} | |
} | |
if(randomize>35&&randomize<=50&&rpg_teleporters==true) | |
{vragi2Objects[i20].RPG_teleporter=1; | |
vragi2Objects[i20].teleportx=hge->Random_Float(200,600);} | |
}//руны | |
} | |
} | |
if(vragi2Objects[i20].v2x>1200&&vragi2Objects[i20].ubit!=1) // если волк забежал за экран | |
{LIVES--; | |
vragi2Objects[i20].v2x=-50; | |
if(player2_aktive==0) | |
{if(DIFF!=0) | |
{vragi2Objects[i20].v2y=hge->Random_Float(200,800);} | |
if(DIFF==0) | |
{vragi2Objects[i20].v2y=hge->Random_Float(300,700);}} | |
if(player2_aktive==1) | |
{if(DIFF!=0) | |
{vragi2Objects[i20].v2y=hge->Random_Float(100,850);} | |
if(DIFF==0) | |
{vragi2Objects[i20].v2y=hge->Random_Float(200,750);}} | |
vragi2Objects[i20].health=125; | |
vragi2Objects[i20].speed=hge->Random_Float(0.7f,0.9f); | |
vragi2Objects[i20].defence=defence_volk; | |
vragi2Objects[i20].object_id=-1; | |
vragi2Objects[i20].RPG_healer=0; | |
vragi2Objects[i20].RPG_illusionist=0; | |
vragi2Objects[i20].ill1_active=0; | |
vragi2Objects[i20].ill2_active=0; | |
vragi2Objects[i20].RPG_teleporter=0; | |
vragi2Objects[i20].teleportx=0; | |
vragi2Objects[i20].teleported=0; | |
//руны | |
if(RPGMOD==true) | |
{ | |
int randomize= hge->Random_Int(1,100); | |
if(randomize<=25&&rpg_healers==true) | |
{vragi2Objects[i20].RPG_healer=1;} | |
if(randomize>25&&randomize<=35&&rpg_illusionists==true) | |
{vragi2Objects[i20].RPG_illusionist=1; | |
vragi2Objects[i20].ill1_active=1; | |
vragi2Objects[i20].ill1_x=vragi2Objects[i20].v2x+hge->Random_Int(-30,30); | |
if(player2_aktive==0) | |
{vragi2Objects[i20].ill1_y=hge->Random_Float(150,800);} | |
if(player2_aktive==1) | |
{vragi2Objects[i20].ill1_y=hge->Random_Float(100,850);} | |
vragi2Objects[i20].ill2_active=1; | |
vragi2Objects[i20].ill2_x=vragi2Objects[i20].v2x+hge->Random_Int(-30,30); | |
if(player2_aktive==0) | |
{vragi2Objects[i20].ill2_y=hge->Random_Float(150,800);} | |
if(player2_aktive==1) | |
{vragi2Objects[i20].ill2_y=hge->Random_Float(100,850);} | |
} | |
if(randomize>35&&randomize<=50&&rpg_teleporters==true) | |
{vragi2Objects[i20].RPG_teleporter=1; | |
vragi2Objects[i20].teleportx=hge->Random_Float(200,500);} | |
}//руны | |
} | |
if((((py<vragi2Objects[i20].v2y+50&&py>vragi2Objects[i20].v2y&&px<=vragi2Objects[i20].v2x&&px>vragi2Objects[i20].v2x-600*lag)|| | |
(p1d1y<vragi2Objects[i20].v2y+50&&p1d1y>vragi2Objects[i20].v2y&&p1d1x<=vragi2Objects[i20].v2x&&p1d1x>vragi2Objects[i20].v2x-600*lag)|| | |
(p1d2y<vragi2Objects[i20].v2y+50&&p1d2y>vragi2Objects[i20].v2y&&p1d2x<=vragi2Objects[i20].v2x&&p1d2x>vragi2Objects[i20].v2x-600*lag)|| | |
(p1d3y<vragi2Objects[i20].v2y+50&&p1d3y>vragi2Objects[i20].v2y&&p1d3x<=vragi2Objects[i20].v2x&&p1d3x>vragi2Objects[i20].v2x-600*lag)|| | |
(p1d4y<vragi2Objects[i20].v2y+50&&p1d4y>vragi2Objects[i20].v2y&&p1d4x<=vragi2Objects[i20].v2x&&p1d4x>vragi2Objects[i20].v2x-600*lag))&& | |
aktivatorp==1&&x-55>vragi2Objects[i20].v2x&&vragi2Objects[i20].ubit!=1)|| | |
(((p2y<vragi2Objects[i20].v2y+50&&p2y>vragi2Objects[i20].v2y&&p2x<=vragi2Objects[i20].v2x&&p2x>vragi2Objects[i20].v2x-600*lag)|| | |
(p2d1y<vragi2Objects[i20].v2y+50&&p2d1y>vragi2Objects[i20].v2y&&p2d1x<=vragi2Objects[i20].v2x&&p2d1x>vragi2Objects[i20].v2x-600*lag)|| | |
(p2d2y<vragi2Objects[i20].v2y+50&&p2d2y>vragi2Objects[i20].v2y&&p2d2x<=vragi2Objects[i20].v2x&&p2d2x>vragi2Objects[i20].v2x-600*lag)|| | |
(p2d3y<vragi2Objects[i20].v2y+50&&p2d3y>vragi2Objects[i20].v2y&&p2d3x<=vragi2Objects[i20].v2x&&p2d3x>vragi2Objects[i20].v2x-600*lag)|| | |
(p2d4y<vragi2Objects[i20].v2y+50&&p2d4y>vragi2Objects[i20].v2y&&p2d4x<=vragi2Objects[i20].v2x&&p2d4x>vragi2Objects[i20].v2x-600*lag))&& | |
aktivatorp2==1&&x2-55>vragi2Objects[i20].v2x&&vragi2Objects[i20].ubit!=1))//просчёт урона | |
{ | |
if(shot==0) | |
{ | |
if(((py<vragi2Objects[i20].v2y+50&&py>vragi2Objects[i20].v2y&&px<=vragi2Objects[i20].v2x&&px>vragi2Objects[i20].v2x-600*lag)|| | |
(p1d1y<vragi2Objects[i20].v2y+50&&p1d1y>vragi2Objects[i20].v2y&&p1d1x<=vragi2Objects[i20].v2x&&p1d1x>vragi2Objects[i20].v2x-600*lag)|| | |
(p1d2y<vragi2Objects[i20].v2y+50&&p1d2y>vragi2Objects[i20].v2y&&p1d2x<=vragi2Objects[i20].v2x&&p1d2x>vragi2Objects[i20].v2x-600*lag)|| | |
(p1d3y<vragi2Objects[i20].v2y+50&&p1d3y>vragi2Objects[i20].v2y&&p1d3x<=vragi2Objects[i20].v2x&&p1d3x>vragi2Objects[i20].v2x-600*lag)|| | |
(p1d4y<vragi2Objects[i20].v2y+50&&p1d4y>vragi2Objects[i20].v2y&&p1d4x<=vragi2Objects[i20].v2x&&p1d4x>vragi2Objects[i20].v2x-600*lag))&& | |
aktivatorp==1&&x-55>vragi2Objects[i20].v2x) | |
{vragi2Objects[i20].killed_by=1;}//попал игрок 1 | |
if(((p2y<vragi2Objects[i20].v2y+50&&p2y>vragi2Objects[i20].v2y&&p2x<=vragi2Objects[i20].v2x&&p2x>vragi2Objects[i20].v2x-600*lag)|| | |
(p2d1y<vragi2Objects[i20].v2y+50&&p2d1y>vragi2Objects[i20].v2y&&p2d1x<=vragi2Objects[i20].v2x&&p2d1x>vragi2Objects[i20].v2x-600*lag)|| | |
(p2d2y<vragi2Objects[i20].v2y+50&&p2d2y>vragi2Objects[i20].v2y&&p2d2x<=vragi2Objects[i20].v2x&&p2d2x>vragi2Objects[i20].v2x-600*lag)|| | |
(p2d3y<vragi2Objects[i20].v2y+50&&p2d3y>vragi2Objects[i20].v2y&&p2d3x<=vragi2Objects[i20].v2x&&p2d3x>vragi2Objects[i20].v2x-600*lag)|| | |
(p2d4y<vragi2Objects[i20].v2y+50&&p2d4y>vragi2Objects[i20].v2y&&p2d4x<=vragi2Objects[i20].v2x&&p2d4x>vragi2Objects[i20].v2x-600*lag))&& | |
aktivatorp2==1&&x2-55>vragi2Objects[i20].v2x) | |
{vragi2Objects[i20].killed_by=2;}//попал игрок 2 | |
if(((py<vragi2Objects[i20].v2y+50&&py>vragi2Objects[i20].v2y)|| | |
(p1d1y<vragi2Objects[i20].v2y+50&&p1d1y>vragi2Objects[i20].v2y)|| | |
(p1d2y<vragi2Objects[i20].v2y+50&&p1d2y>vragi2Objects[i20].v2y)|| | |
(p1d3y<vragi2Objects[i20].v2y+50&&p1d3y>vragi2Objects[i20].v2y)|| | |
(p1d4y<vragi2Objects[i20].v2y+50&&p1d4y>vragi2Objects[i20].v2y))|| | |
((p2y<vragi2Objects[i20].v2y+50&&p2y>vragi2Objects[i20].v2y)|| | |
(p2d1y<vragi2Objects[i20].v2y+50&&p2d1y>vragi2Objects[i20].v2y)|| | |
(p2d2y<vragi2Objects[i20].v2y+50&&p2d2y>vragi2Objects[i20].v2y)|| | |
(p2d3y<vragi2Objects[i20].v2y+50&&p2d3y>vragi2Objects[i20].v2y)|| | |
(p2d4y<vragi2Objects[i20].v2y+50&&p2d4y>vragi2Objects[i20].v2y)))//ОБЫЧНОЕ ПОПАДАНИЕ | |
{ | |
if(vragi2Objects[i20].killed_by==1) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi2Objects[i20].defence>=5|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi2Objects[i20].defence>=5) | |
{ | |
if(LVL1%2==0) | |
{vragi2Objects[i20].health-=damage[N_WEAPON1]+LVL1/2*attack1-vragi2Objects[i20].defence;} | |
if(LVL1%2==1) | |
{vragi2Objects[i20].health-=damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi2Objects[i20].defence;} | |
} | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi2Objects[i20].defence<5|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi2Objects[i20].defence<5) | |
{vragi2Objects[i20].health-=5;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi2Objects[i20].health-=damage[N_WEAPON1];} | |
}//урон от оружия игрока 1 | |
if(vragi2Objects[i20].killed_by==2) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi2Objects[i20].defence>=5|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi2Objects[i20].defence>=5) | |
{ | |
if(LVL2%2==0) | |
{vragi2Objects[i20].health-=damage[N_WEAPON2]+LVL2/2*attack2-vragi2Objects[i20].defence;} | |
if(LVL2%2==1) | |
{vragi2Objects[i20].health-=damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi2Objects[i20].defence;} | |
} | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi2Objects[i20].defence<5|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi2Objects[i20].defence<5) | |
{vragi2Objects[i20].health-=5;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi2Objects[i20].health-=damage[N_WEAPON2];} | |
}//урон от оружия игрока 2 | |
hge->Effect_PlayEx(shot1,volume*8/10,0,0); | |
}//ЗАКРЫТИЕ ПОПАДАНИЯ | |
/*if(((py<=vragi1Objects[i3].v1y+18&&py>vragi1Objects[i3].v1y+12)|| | |
(p1d1y<=vragi1Objects[i3].v1y+18&&p1d1y>vragi1Objects[i3].v1y+12)|| | |
(p1d2y<=vragi1Objects[i3].v1y+18&&p1d2y>vragi1Objects[i3].v1y+12)|| | |
(p1d3y<=vragi1Objects[i3].v1y+18&&p1d3y>vragi1Objects[i3].v1y+12)|| | |
(p1d4y<=vragi1Objects[i3].v1y+18&&p1d4y>vragi1Objects[i3].v1y+12))|| | |
((p2y<=vragi1Objects[i3].v1y+18&&p2y>vragi1Objects[i3].v1y+12)|| | |
(p2d1y<=vragi1Objects[i3].v1y+18&&p2d1y>vragi1Objects[i3].v1y+12)|| | |
(p2d2y<=vragi1Objects[i3].v1y+18&&p2d2y>vragi1Objects[i3].v1y+12)|| | |
(p2d3y<=vragi1Objects[i3].v1y+18&&p2d3y>vragi1Objects[i3].v1y+12)|| | |
(p2d4y<=vragi1Objects[i3].v1y+18&&p2d4y>vragi1Objects[i3].v1y+12)))//ХЭДШОТ!!! | |
{ | |
if(vragi1Objects[i3].killed_by==1) | |
{vragi1Objects[i3].health-=damage[N_WEAPON1]*2; | |
points1+=25;}//урон от оружия игрока 1 | |
if(vragi1Objects[i3].killed_by==2) | |
{vragi1Objects[i3].health-=damage[N_WEAPON2]*2; | |
points2+=25;}//урон от оружия игрока 2 | |
headshotPan=-75+vragi1Objects[i3].v1x/9; | |
headshot(); | |
if(vragi1Objects[i3].health<-70)//отрывание бошки | |
{ | |
vragi1Objects[i3].bezboshki=1; | |
if(vragi1Objects[i3].killed_by==1) | |
{points1+=25;} | |
if(vragi1Objects[i3].killed_by==2) | |
{points2+=25;} | |
if(vragi1Objects[i3].bezuh==0) | |
{boshkiObjects[N_HEAD].bezuh=0;} | |
if(vragi1Objects[i3].bezuh==1) | |
{boshkiObjects[N_HEAD].bezuh=1;} | |
boshkiObjects[N_HEAD].niz=vragi1Objects[i3].v1y+38; | |
boshkiObjects[N_HEAD].bx=vragi1Objects[i3].v1x+18; | |
boshkiObjects[N_HEAD].by=vragi1Objects[i3].v1y-3; | |
boshkiObjects[N_HEAD].bzdik=0; | |
boshkiObjects[N_HEAD].seed=hge->Random_Int(1,5); | |
boshkiObjects[N_HEAD].bzdik_seed=hge->Random_Int(1,3); | |
boshkiObjects[N_HEAD].akt=1; | |
N_HEAD++; | |
if(N_HEAD>=MAX_HEAD-1) | |
{N_HEAD=0;} | |
}//закрытие отрывания бошки | |
}//ХЭДШОТ ЗАКОНЧИЛСЯ | |
*/ | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
krovyakObjects[N_BLOOD].seed=hge->Random_Int(1,3); | |
krovyakObjects[N_BLOOD].vrag=2; | |
if(vragi2Objects[i20].killed_by==1) | |
{ | |
if(py<vragi2Objects[i20].v2y+50&&py>vragi2Objects[i20].v2y&&px<=vragi2Objects[i20].v2x&&px>vragi2Objects[i20].v2x-150) | |
{ppp=1; | |
krovyakObjects[N_BLOOD].y1=py; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=py+5;} | |
if(p1d1y<vragi2Objects[i20].v2y+50&&p1d1y>vragi2Objects[i20].v2y&&p1d1x<=vragi2Objects[i20].v2x&&p1d1x>vragi2Objects[i20].v2x-150) | |
{ppp=2; | |
krovyakObjects[N_BLOOD].y1=p1d1y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p1d1y+5;} | |
if(p1d2y<vragi2Objects[i20].v2y+50&&p1d2y>vragi2Objects[i20].v2y&&p1d2x<=vragi2Objects[i20].v2x&&p1d2x>vragi2Objects[i20].v2x-150) | |
{ppp=3; | |
krovyakObjects[N_BLOOD].y1=p1d2y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p1d2y+5;} | |
if(p1d3y<vragi2Objects[i20].v2y+50&&p1d3y>vragi2Objects[i20].v2y&&p1d3x<=vragi2Objects[i20].v2x&&p1d3x>vragi2Objects[i20].v2x-150) | |
{ppp=4; | |
krovyakObjects[N_BLOOD].y1=p1d3y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p1d3y+5;} | |
if(p1d4y<vragi2Objects[i20].v2y+50&&p1d4y>vragi2Objects[i20].v2y&&p1d4x<=vragi2Objects[i20].v2x&&p1d4x>vragi2Objects[i20].v2x-150) | |
{ppp=5; | |
krovyakObjects[N_BLOOD].y1=p1d4y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p1d4y+5;} | |
} | |
if(vragi2Objects[i20].killed_by==2) | |
{ | |
if(p2y<vragi2Objects[i20].v2y+50&&p2y>vragi2Objects[i20].v2y&&p2x<=vragi2Objects[i20].v2x&&p2x>vragi2Objects[i20].v2x-150) | |
{ppp=1; | |
krovyakObjects[N_BLOOD].y1=p2y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p2y+5;} | |
if(p2d1y<vragi2Objects[i20].v2y+50&&p2d1y>vragi2Objects[i20].v2y&&p2d1x<=vragi2Objects[i20].v2x&&p2d1x>vragi2Objects[i20].v2x-150) | |
{ppp=2; | |
krovyakObjects[N_BLOOD].y1=p2d1y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p2d1y+5;} | |
if(p2d2y<vragi2Objects[i20].v2y+50&&p2d2y>vragi2Objects[i20].v2y&&p2d2x<=vragi2Objects[i20].v2x&&p2d2x>vragi2Objects[i20].v2x-150) | |
{ppp=3; | |
krovyakObjects[N_BLOOD].y1=p2d2y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p2d2y+5;} | |
if(p2d3y<vragi2Objects[i20].v2y+50&&p2d3y>vragi2Objects[i20].v2y&&p2d3x<=vragi2Objects[i20].v2x&&p2d3x>vragi2Objects[i20].v2x-150) | |
{ppp=4; | |
krovyakObjects[N_BLOOD].y1=p2d3y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p2d3y+5;} | |
if(p2d4y<vragi2Objects[i20].v2y+50&&p2d4y>vragi2Objects[i20].v2y&&p2d4x<=vragi2Objects[i20].v2x&&p2d4x>vragi2Objects[i20].v2x-150) | |
{ppp=5; | |
krovyakObjects[N_BLOOD].y1=p2d4y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p2d4y+5;} | |
} | |
krovyakObjects[N_BLOOD].x2=vragi2Objects[i20].v2x+30; | |
krovyakObjects[N_BLOOD].x1=vragi2Objects[i20].v2x+20; | |
krovyakObjects[N_BLOOD].xstart=vragi2Objects[i20].v2x; | |
krovyakObjects[N_BLOOD].niz=vragi2Objects[i20].v2y+50; | |
krovyakObjects[N_BLOOD].blood_time=GetTime(); | |
krovyakObjects[N_BLOOD].blood_time_sec=perez_akt; | |
krovyakObjects[N_BLOOD].akt=1; | |
krovyakObjects[N_BLOOD].faza=1; | |
N_BLOOD++; | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
krovyakObjects[N_BLOOD].seed=0;//кровяк самого попадания (точка) | |
krovyakObjects[N_BLOOD].vrag=2; | |
if(vragi2Objects[i20].killed_by==1) | |
{ | |
if(ppp==1) | |
{krovyakObjects[N_BLOOD].y1=py-4; | |
krovyakObjects[N_BLOOD].y2=py+4;} | |
if(ppp==2) | |
{krovyakObjects[N_BLOOD].y1=p1d1y-4; | |
krovyakObjects[N_BLOOD].y2=p1d1y+4;} | |
if(ppp==3) | |
{krovyakObjects[N_BLOOD].y1=p1d2y-4; | |
krovyakObjects[N_BLOOD].y2=p1d2y+4;} | |
if(ppp==4) | |
{krovyakObjects[N_BLOOD].y1=p1d3y-4; | |
krovyakObjects[N_BLOOD].y2=p1d3y+4;} | |
if(ppp==5) | |
{krovyakObjects[N_BLOOD].y1=p1d4y-4; | |
krovyakObjects[N_BLOOD].y2=p1d4y+4;} | |
} | |
if(vragi2Objects[i20].killed_by==2) | |
{ | |
if(ppp==1) | |
{krovyakObjects[N_BLOOD].y1=p2y-4; | |
krovyakObjects[N_BLOOD].y2=p2y+4;} | |
if(ppp==2) | |
{krovyakObjects[N_BLOOD].y1=p2d1y-4; | |
krovyakObjects[N_BLOOD].y2=p2d1y+4;} | |
if(ppp==3) | |
{krovyakObjects[N_BLOOD].y1=p2d2y-4; | |
krovyakObjects[N_BLOOD].y2=p2d2y+4;} | |
if(ppp==4) | |
{krovyakObjects[N_BLOOD].y1=p2d3y-4; | |
krovyakObjects[N_BLOOD].y2=p2d3y+4;} | |
if(ppp==5) | |
{krovyakObjects[N_BLOOD].y1=p2d4y-4; | |
krovyakObjects[N_BLOOD].y2=p2d4y+4;} | |
} | |
krovyakObjects[N_BLOOD].x2=vragi2Objects[i20].v2x+126; | |
krovyakObjects[N_BLOOD].x1=vragi2Objects[i20].v2x+118; | |
krovyakObjects[N_BLOOD].blood_time=GetTime(); | |
krovyakObjects[N_BLOOD].blood_time_sec=perez_akt; | |
krovyakObjects[N_BLOOD].akt=1; | |
N_BLOOD++; | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
krovyakObjects[N_BLOOD].seed=hge->Random_Int(101,103); | |
krovyakObjects[N_BLOOD].vrag=2; | |
if(vragi2Objects[i20].killed_by==1) | |
{ | |
if(ppp==1) | |
{krovyakObjects[N_BLOOD].y1=py; //КРОВЯК (вперед) | |
krovyakObjects[N_BLOOD].y2=py+5;} | |
if(ppp==2) | |
{krovyakObjects[N_BLOOD].y1=p1d1y; | |
krovyakObjects[N_BLOOD].y2=p1d1y+5;} | |
if(ppp==3) | |
{krovyakObjects[N_BLOOD].y1=p1d2y; | |
krovyakObjects[N_BLOOD].y2=p1d2y+5;} | |
if(ppp==4) | |
{krovyakObjects[N_BLOOD].y1=p1d3y; | |
krovyakObjects[N_BLOOD].y2=p1d3y+5;} | |
if(ppp==5) | |
{krovyakObjects[N_BLOOD].y1=p1d4y; | |
krovyakObjects[N_BLOOD].y2=p1d4y+5;} | |
} | |
if(vragi2Objects[i20].killed_by==2) | |
{ | |
if(ppp==1) | |
{krovyakObjects[N_BLOOD].y1=p2y; | |
krovyakObjects[N_BLOOD].y2=p2y+5;} | |
if(ppp==2) | |
{krovyakObjects[N_BLOOD].y1=p2d1y; | |
krovyakObjects[N_BLOOD].y2=p2d1y+5;} | |
if(ppp==3) | |
{krovyakObjects[N_BLOOD].y1=p2d2y; | |
krovyakObjects[N_BLOOD].y2=p2d2y+5;} | |
if(ppp==4) | |
{krovyakObjects[N_BLOOD].y1=p2d3y; | |
krovyakObjects[N_BLOOD].y2=p2d3y+5;} | |
if(ppp==5) | |
{krovyakObjects[N_BLOOD].y1=p2d4y; | |
krovyakObjects[N_BLOOD].y2=p2d4y+5;} | |
} | |
krovyakObjects[N_BLOOD].x2=vragi2Objects[i20].v2x+120; | |
krovyakObjects[N_BLOOD].x1=vragi2Objects[i20].v2x+125; | |
krovyakObjects[N_BLOOD].xstart=vragi2Objects[i20].v2x+120; | |
krovyakObjects[N_BLOOD].niz=vragi2Objects[i20].v2y+50; | |
krovyakObjects[N_BLOOD].blood_time=GetTime(); | |
krovyakObjects[N_BLOOD].blood_time_sec=perez_akt; | |
krovyakObjects[N_BLOOD].akt=1; | |
krovyakObjects[N_BLOOD].faza=1; | |
N_BLOOD++; | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
shot=1; | |
if(vragi2Objects[i20].killed_by==1) | |
{ | |
if(N_WEAPON1==1||N_WEAPON1==2||N_WEAPON1==4||N_WEAPON1==6||N_WEAPON1==9||N_WEAPON1==14||N_WEAPON1==15)//если это ПМ или ПП19 или ТТ или МАС или Glock то патрон слабый | |
{aktivatorp=0; | |
oboima-=1;} | |
if(N_WEAPON1==7) | |
{ | |
if(ppp==2) | |
{p1d1y=y-9; | |
p1d1x=x-24;} | |
if(ppp==3) | |
{p1d2y=y-9; | |
p1d2x=x-24;} | |
if(ppp==4) | |
{p1d3y=y-9; | |
p1d3x=x-24;} | |
if(ppp==5) | |
{p1d4y=y-9; | |
p1d4x=x-24;} | |
} | |
if(N_WEAPON1==0||N_WEAPON1==3||N_WEAPON1==5||N_WEAPON1==8)// если это АК то косит всех подряд | |
{shot=0;} | |
} | |
if(vragi2Objects[i20].killed_by==2) | |
{ | |
if(N_WEAPON2==1||N_WEAPON2==2||N_WEAPON2==4||N_WEAPON2==6||N_WEAPON2==9||N_WEAPON2==14||N_WEAPON2==15)//если это ПМ или ПП19 или ТТ или МАС или Glock то патрон слабый | |
{aktivatorp2=0; | |
oboima2-=1;} | |
if(N_WEAPON2==7) | |
{ | |
if(ppp==2) | |
{p2d1y=y2-9; | |
p2d1x=x2-24;} | |
if(ppp==3) | |
{p2d2y=y2-9; | |
p2d2x=x2-24;} | |
if(ppp==4) | |
{p2d3y=y2-9; | |
p2d3x=x2-24;} | |
if(ppp==5) | |
{p2d4y=y2-9; | |
p2d4x=x2-24;} | |
} | |
if(N_WEAPON2==0||N_WEAPON2==3||N_WEAPON2==5||N_WEAPON2==8)// если это АК то косит всех подряд | |
{shot=0;} | |
} | |
}//if shot==0 | |
}//закрытие просчёта урона волку | |
//холодное оружие | |
if((katana1_anime->IsPlaying()==true&&katana1_anime->GetFrame()==2&&vragi2Objects[i20].health>0&&x-55>vragi2Objects[i20].v2x+10&& | |
vragi2Objects[i20].v2x+120>x-95&&y<vragi2Objects[i20].v2y+40&&y>vragi2Objects[i20].v2y+12)|| | |
(katana2_anime->IsPlaying()==true&&katana2_anime->GetFrame()==2&&vragi2Objects[i20].health>0&&x2-55>vragi2Objects[i20].v2x+10&& | |
vragi2Objects[i20].v2x+120>x2-95&&y2<vragi2Objects[i20].v2y+40&&y2>vragi2Objects[i20].v2y+12)) | |
{ | |
if(katana1_anime->IsPlaying()==true&&katana1_anime->GetFrame()==2&&vragi2Objects[i20].health>0&&x-55>vragi2Objects[i20].v2x+10&& | |
vragi2Objects[i20].v2x+120>x-95&&y<vragi2Objects[i20].v2y+40&&y>vragi2Objects[i20].v2y+12) | |
{vragi2Objects[i20].killed_by=1;} | |
if(katana2_anime->IsPlaying()==true&&katana2_anime->GetFrame()==2&&vragi2Objects[i20].health>0&&x2-55>vragi2Objects[i20].v2x+10&& | |
vragi2Objects[i20].v2x+120>x2-95&&y2<vragi2Objects[i20].v2y+40&&y2>vragi2Objects[i20].v2y+12) | |
{vragi2Objects[i20].killed_by=2;} | |
if((y<=vragi2Objects[i20].v2y+17&&y>vragi2Objects[i20].v2y+3)|| | |
(y2<=vragi2Objects[i20].v2y+17&&y2>vragi2Objects[i20].v2y+3))//ХЭДШОТ!!! | |
{ | |
if(vragi2Objects[i20].killed_by==1) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi2Objects[i20].defence>=5|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi2Objects[i20].defence>=5) | |
{ | |
if(CLASSMOD==true&&class1==1) | |
{ | |
if(LVL1%2==0) | |
{vragi2Objects[i20].health-=(damage[N_WEAPON1]+LVL1/2*attack1)*1.2f-vragi2Objects[i20].defence;} | |
if(LVL1%2==1) | |
{vragi2Objects[i20].health-=(damage[N_WEAPON1]+(LVL1-1)/2*attack1)*1.2f-vragi2Objects[i20].defence;} | |
} | |
if(CLASSMOD==false||class1!=1) | |
{ | |
if(LVL1%2==0) | |
{vragi2Objects[i20].health-=damage[N_WEAPON1]+LVL1/2*attack1-vragi2Objects[i20].defence;} | |
if(LVL1%2==1) | |
{vragi2Objects[i20].health-=damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi2Objects[i20].defence;} | |
} | |
} | |
//гарантированный урон | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi2Objects[i20].defence<5|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi2Objects[i20].defence<5) | |
{vragi2Objects[i20].health-=5;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi2Objects[i20].health-=damage[N_WEAPON1];} | |
if(RPGMOD==false&&CLASSMOD==true&&class1==1) | |
{vragi2Objects[i20].health-=damage[N_WEAPON1]*1.2f;} | |
points1+=25;}//урон от оружия игрока 1 | |
if(vragi2Objects[i20].killed_by==2) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi2Objects[i20].defence>=5|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi2Objects[i20].defence>=5) | |
{ | |
if(CLASSMOD==true&&class2==1) | |
{ | |
if(LVL2%2==0) | |
{vragi2Objects[i20].health-=(damage[N_WEAPON2]+LVL2/2*attack2)*1.2f-vragi2Objects[i20].defence;} | |
if(LVL2%2==1) | |
{vragi2Objects[i20].health-=(damage[N_WEAPON2]+(LVL2-1)/2*attack2)*1.2f-vragi2Objects[i20].defence;} | |
} | |
if(CLASSMOD==false||class2!=1) | |
{ | |
if(LVL2%2==0) | |
{vragi2Objects[i20].health-=damage[N_WEAPON2]+LVL2/2*attack2-vragi2Objects[i20].defence;} | |
if(LVL2%2==1) | |
{vragi2Objects[i20].health-=damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi2Objects[i20].defence;} | |
} | |
} | |
//гарантированный урон | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi2Objects[i20].defence<5|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi2Objects[i20].defence<5) | |
{vragi2Objects[i20].health-=5;} | |
}//RPG | |
if(RPGMOD==false&&CLASSMOD==false) | |
{vragi2Objects[i20].health-=damage[N_WEAPON2];} | |
if(RPGMOD==false&&CLASSMOD==true&&class2==1) | |
{vragi2Objects[i20].health-=damage[N_WEAPON2]*1.2f;} | |
points2+=25;}//урон от оружия игрока 2 | |
headshotPan=-75+(vragi2Objects[i20].v2x+120)/9; | |
headshot(); | |
}//ХЭДШОТ ЗАКОНЧИЛСЯ | |
if(vragi2Objects[i20].killed_by==1) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi2Objects[i20].defence>=10|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi2Objects[i20].defence>=10) | |
{ | |
if(CLASSMOD==true&&class1==1) | |
{ | |
if(LVL1%2==0) | |
{vragi2Objects[i20].health-=(damage[N_WEAPON1]+LVL1/2*attack1)*1.2f-vragi2Objects[i20].defence;} | |
if(LVL1%2==1) | |
{vragi2Objects[i20].health-=(damage[N_WEAPON1]+(LVL1-1)/2*attack1)*1.2f-vragi2Objects[i20].defence;} | |
} | |
if(CLASSMOD==false||class1!=1) | |
{ | |
if(LVL1%2==0) | |
{vragi2Objects[i20].health-=damage[N_WEAPON1]+LVL1/2*attack1-vragi2Objects[i20].defence;} | |
if(LVL1%2==1) | |
{vragi2Objects[i20].health-=damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi2Objects[i20].defence;} | |
} | |
} | |
//гарантированный урон | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi2Objects[i20].defence<10|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi2Objects[i20].defence<10) | |
{vragi2Objects[i20].health-=10;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi2Objects[i20].health-=damage[N_WEAPON1];} | |
krovyakObjects[N_BLOOD].y1=y-10; //КРОВЯК (вперед) | |
krovyakObjects[N_BLOOD].y2=y; | |
} | |
if(vragi2Objects[i20].killed_by==2) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi2Objects[i20].defence>=10|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi2Objects[i20].defence>=10) | |
{ | |
if(CLASSMOD==true&&class2==1) | |
{ | |
if(LVL2%2==0) | |
{vragi2Objects[i20].health-=(damage[N_WEAPON2]+LVL2/2*attack2)*1.2f-vragi2Objects[i20].defence;} | |
if(LVL2%2==1) | |
{vragi2Objects[i20].health-=(damage[N_WEAPON2]+(LVL2-1)/2*attack2)*1.2f-vragi2Objects[i20].defence;} | |
} | |
if(CLASSMOD==false&&class2!=1) | |
{ | |
if(LVL2%2==0) | |
{vragi2Objects[i20].health-=damage[N_WEAPON2]+LVL2/2*attack2-vragi2Objects[i20].defence;} | |
if(LVL2%2==1) | |
{vragi2Objects[i20].health-=damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi2Objects[i20].defence;} | |
} | |
} | |
//гарантированный урон | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi2Objects[i20].defence<10|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi2Objects[i20].defence<10) | |
{vragi2Objects[i20].health-=10;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi2Objects[i20].health-=damage[N_WEAPON2];} | |
krovyakObjects[N_BLOOD].y1=y2-10; //КРОВЯК (вперед) | |
krovyakObjects[N_BLOOD].y2=y2; | |
} | |
krovyakObjects[N_BLOOD].seed=hge->Random_Int(101,103); | |
krovyakObjects[N_BLOOD].vrag=2; | |
krovyakObjects[N_BLOOD].x2=x-95+10; | |
krovyakObjects[N_BLOOD].x1=x-95+35; | |
krovyakObjects[N_BLOOD].xstart=x-95+10; | |
krovyakObjects[N_BLOOD].niz=vragi2Objects[i20].v2y+60; | |
krovyakObjects[N_BLOOD].blood_time=GetTime(); | |
krovyakObjects[N_BLOOD].blood_time_sec=perez_akt; | |
krovyakObjects[N_BLOOD].akt=1; | |
krovyakObjects[N_BLOOD].faza=1; | |
N_BLOOD++; | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
hge->Effect_PlayEx(shot1,volume*8/10,0,0); | |
}//холодное оружие | |
if(vragi2Objects[i20].health<=0&&vragi2Objects[i20].ubit==0)//убийство волка | |
{ | |
volk->Stop(); | |
vragi2Objects[i20].ubit=1; | |
vragi2Objects[i20].timeout_milli=GetTime(); | |
switch(DIFF) | |
{ | |
case 0: | |
if(perez_akt<49) | |
{vragi2Objects[i20].timeout=perez_akt+11;} | |
if(perez_akt>=49) | |
{vragi2Objects[i20].timeout=perez_akt-49;} | |
break; | |
case 1: | |
if(perez_akt<51) | |
{vragi2Objects[i20].timeout=perez_akt+9;} | |
if(perez_akt>=51) | |
{vragi2Objects[i20].timeout=perez_akt-51;} | |
break; | |
case 2: | |
if(perez_akt<52) | |
{vragi2Objects[i20].timeout=perez_akt+8;} | |
if(perez_akt>=52) | |
{vragi2Objects[i20].timeout=perez_akt-52;} | |
break; | |
} | |
if(vragi2Objects[i20].killed_by==1) | |
{kills++; | |
//статистика | |
ubijstva[N_KILLS].player=1; | |
ubijstva[N_KILLS].vrag=2; | |
ubijstva[N_KILLS].weapon=N_WEAPON1; | |
ubijstva[N_KILLS].bezuh=false; | |
ubijstva[N_KILLS].bezboshki=false; | |
ubijstva[N_KILLS].headshot=false; | |
ubijstva[N_KILLS].vschiii=false; | |
N_KILLS++; | |
if(N_KILLS>=MAX_KILLS-1) | |
{N_KILLS=0;} | |
//статистика | |
points1+=200; | |
opit1+=(70+vragi2Objects[i20].defence*vragi2Objects[i20].defence/LVL1)*w_opit_volk[N_WEAPON1]*(1+0.25f*umnik1)/daun1; | |
} | |
if(vragi2Objects[i20].killed_by==2) | |
{kills2++; | |
//статистика | |
ubijstva[N_KILLS].player=2; | |
ubijstva[N_KILLS].vrag=2; | |
ubijstva[N_KILLS].weapon=N_WEAPON2; | |
ubijstva[N_KILLS].bezuh=false; | |
ubijstva[N_KILLS].bezboshki=false; | |
ubijstva[N_KILLS].headshot=false; | |
ubijstva[N_KILLS].vschiii=false; | |
N_KILLS++; | |
if(N_KILLS>=MAX_KILLS-1) | |
{N_KILLS=0;} | |
//статистика | |
points2+=200; | |
opit2+=(70+vragi2Objects[i20].defence*vragi2Objects[i20].defence/LVL2)*w_opit_volk[N_WEAPON2]*(1+0.25f*umnik2)/daun2; | |
} | |
trupsObjects[N_TRUPS].killtime=GetTime();//лужа кровяка | |
trupsObjects[N_TRUPS].killtime_sec=perez_akt; | |
trupsObjects[N_TRUPS].posX=vragi2Objects[i20].v2x+60; | |
trupsObjects[N_TRUPS].posY=vragi2Objects[i20].v2y+42; | |
trupsObjects[N_TRUPS].posX_s=vragi2Objects[i20].v2x+60; | |
trupsObjects[N_TRUPS].posX_X=X; | |
trupsObjects[N_TRUPS].vrag=2; | |
trupsObjects[N_TRUPS].scaleX=0.1f; | |
trupsObjects[N_TRUPS].scaleY=0; | |
trupsObjects[N_TRUPS].aktiv=1; | |
trupsObjects[N_TRUPS].type=9; | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
//БОНУС?! | |
bonus_shans(); | |
if(vragi2Objects[i20].killed_by==1) | |
{ | |
if(bonus>=371&&bonus<=379+5*luck1) | |
{ | |
bonusiObjects[N_BONUS].x1=vragi2Objects[i20].v2x+5; | |
bonusiObjects[N_BONUS].y1=vragi2Objects[i20].v2y+5; | |
bonusiObjects[N_BONUS].x1_s=vragi2Objects[i20].v2x+5; | |
bonusiObjects[N_BONUS].x1_X=X; | |
bonusiObjects[N_BONUS].x2=vragi2Objects[i20].v2x+35; | |
bonusiObjects[N_BONUS].y2=vragi2Objects[i20].v2y+35; | |
bonusiObjects[N_BONUS].x2_s=vragi2Objects[i20].v2x+35; | |
bonusiObjects[N_BONUS].x2_X=X; | |
bonusiObjects[N_BONUS].appear_time_milli=GetTime(); | |
bonusiObjects[N_BONUS].appear_time=perez_akt; | |
bonusiObjects[N_BONUS].type=0; | |
bonusiObjects[N_BONUS].akt=1; | |
bonusiObjects[N_BONUS].spin=0; | |
bonusiObjects[N_BONUS].visible=true; | |
bonusiObjects[N_BONUS].mig_akt=0; | |
N_BONUS++; | |
if(N_BONUS>=MAX_BONUS-1) | |
{N_BONUS=0;} | |
} | |
}//if(vragi2Objects[i20].killed_by==1) | |
if(vragi2Objects[i20].killed_by==2) | |
{ | |
if(bonus>=371&&bonus<=379+5*luck2) | |
{ | |
bonusiObjects[N_BONUS].x1=vragi2Objects[i20].v2x+5; | |
bonusiObjects[N_BONUS].y1=vragi2Objects[i20].v2y+5; | |
bonusiObjects[N_BONUS].x1_s=vragi2Objects[i20].v2x+5; | |
bonusiObjects[N_BONUS].x1_X=X; | |
bonusiObjects[N_BONUS].x2=vragi2Objects[i20].v2x+35; | |
bonusiObjects[N_BONUS].y2=vragi2Objects[i20].v2y+35; | |
bonusiObjects[N_BONUS].x2_s=vragi2Objects[i20].v2x+35; | |
bonusiObjects[N_BONUS].x2_X=X; | |
bonusiObjects[N_BONUS].appear_time_milli=GetTime(); | |
bonusiObjects[N_BONUS].appear_time=perez_akt; | |
bonusiObjects[N_BONUS].type=0; | |
bonusiObjects[N_BONUS].akt=1; | |
bonusiObjects[N_BONUS].spin=0; | |
bonusiObjects[N_BONUS].visible=true; | |
bonusiObjects[N_BONUS].mig_akt=0; | |
N_BONUS++; | |
if(N_BONUS>=MAX_BONUS-1) | |
{N_BONUS=0;} | |
} | |
}//if(vragi2Objects[i20].killed_by==2) | |
trupsObjects[N_TRUPS].type=10; | |
trupsObjects[N_TRUPS].killtime=GetTime(); | |
trupsObjects[N_TRUPS].killtime_sec=perez_akt; | |
trupsObjects[N_TRUPS].frame=1; | |
trupsObjects[N_TRUPS].frame_akt=1; | |
trupsObjects[N_TRUPS].posX=vragi2Objects[i20].v2x; | |
trupsObjects[N_TRUPS].posY=vragi2Objects[i20].v2y; | |
trupsObjects[N_TRUPS].posX_s=vragi2Objects[i20].v2x; | |
trupsObjects[N_TRUPS].posX_X=X; | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
}//закрытие убийства волка | |
}//ЗАКРЫТИЕ САГИ ПРО ВОЛКА | |
//МЕДВЕДЬ | |
for (int i80=0;i80<=N_MEDVED;i80++) | |
{ | |
if(vragi3Objects[i80].ubit!=1)//сама скорость | |
{ | |
vragi3Objects[i80].v3x+=vragi3Objects[i80].speed*lag; | |
medved->Resume(); | |
//агро мясника | |
if(class1==1&&primanka1>0&&vragi3Objects[i80].v3x+180<=x-16&&sqrt(((x-16)-vragi3Objects[i80].v3x+180)*((x-16)-vragi3Objects[i80].v3x+180)+ | |
(vragi3Objects[i80].v3y+200-y)*(vragi3Objects[i80].v3y+200-y))<=(60+5*primanka1)) | |
{ | |
if(vragi3Objects[i80].v3y+200<y) | |
{vragi3Objects[i80].v3y+=(0.05f+0.1f*sqrt((float)primanka1))*lag;} | |
if(vragi3Objects[i80].v3y+200>y) | |
{vragi3Objects[i80].v3y-=(0.05f+0.1f*sqrt((float)primanka1))*lag;} | |
} | |
if(class2==1&&primanka2>0&&vragi3Objects[i80].v3x+180<=x2-16&&sqrt(((x2-16)-vragi3Objects[i80].v3x+180)*((x2-16)-vragi3Objects[i80].v3x+180)+ | |
(vragi3Objects[i80].v3y+200-y2)*(vragi3Objects[i80].v3y+200-y2))<=(60+5*primanka2)) | |
{ | |
if(vragi3Objects[i80].v3y+200<y2) | |
{vragi3Objects[i80].v3y+=(0.05f+0.1f*sqrt((float)primanka2))*lag;} | |
if(vragi3Objects[i80].v3y+200>y2) | |
{vragi3Objects[i80].v3y-=(0.05f+0.1f*sqrt((float)primanka2))*lag;} | |
} | |
for (int i81=0;i81<=N_OBJECTS-1;i81++)//контакт с предметами | |
{ | |
if((X-Objects[i81].x)>vragi3Objects[i80].v3x&&(X-Objects[i81].x)-vragi3Objects[i80].v3x<=300)//объект перед щами!!! | |
{ | |
switch(Objects[i81].type) | |
{ | |
case 0: | |
case 1: | |
case 2: | |
if(Objects[i81].y>=vragi3Objects[i80].v3y+200&&Objects[i81].y-(vragi3Objects[i80].v3y+200)<=50)//объект ниже | |
{ | |
if(Objects[i81].pl==0)//если объект не плоский | |
{vragi3Objects[i80].v3y-=0.6f;} | |
vragi1Objects[i80].object_id=i81;} | |
if(Objects[i81].y<(vragi3Objects[i80].v3y+100)&&(vragi3Objects[i80].v3y+100)-Objects[i81].y<=35)//объект выше | |
{vragi3Objects[i80].v3y+=0.6f;} | |
break; | |
} | |
}//закрытие объект перед щами | |
if((X-Objects[i81].x)<vragi3Objects[i80].v3x&&vragi3Objects[i80].v3x-(X-Objects[i81].x)<=100)//назад на место | |
{ | |
switch(Objects[i81].type) | |
{ | |
case 0: | |
case 1: | |
case 2: | |
if(Objects[i81].y>=vragi3Objects[i80].v3y&& | |
Objects[i81].y-(vragi3Objects[i80].v3y+200)>=30&&Objects[i81].y-(vragi3Objects[i80].v3y+200)<=80)//объект ниже | |
{vragi3Objects[i80].v3y+=0.3f;} | |
if(Objects[i81].y<vragi3Objects[i80].v3y&& | |
(vragi3Objects[i80].v3y+100)-Objects[i81].y>=15&&(vragi3Objects[i80].v3y+100)-Objects[i81].y<=50)//объект выше | |
{vragi3Objects[i80].v3y-=0.3f;} | |
break; | |
} | |
}//закрытие возврата на место | |
}//закрытие контакта с предметами | |
}//закрытие скорости | |
//ЛЕЧИЛКА | |
if(vragi3Objects[i80].RPG_healer!=0&&vragi3Objects[i80].health<400&&RPGMOD==true) | |
{vragi3Objects[i80].health+=vragi3Objects[i80].RPG_healer; | |
RPG_healing_psi->FireAt(vragi3Objects[i80].v3x+100,vragi3Objects[i80].v3y+120);} | |
//ИЛЛЮЗИИ | |
if(vragi3Objects[i80].RPG_illusionist!=0&&RPGMOD==true) | |
{ | |
vragi3Objects[i80].ill1_x+=vragi3Objects[i80].speed*lag; | |
vragi3Objects[i80].ill2_x+=vragi3Objects[i80].speed*lag; | |
if((((py<vragi3Objects[i80].ill1_y+200&&py>vragi3Objects[i80].ill1_y+105&&px<=vragi3Objects[i80].ill1_x&&px>vragi3Objects[i80].ill1_x-600*lag)|| | |
(p1d1y<vragi3Objects[i80].ill1_y+200&&p1d1y>vragi3Objects[i80].ill1_y+105&&p1d1x<=vragi3Objects[i80].ill1_x&&p1d1x>vragi3Objects[i80].ill1_x-600*lag)|| | |
(p1d2y<vragi3Objects[i80].ill1_y+200&&p1d2y>vragi3Objects[i80].ill1_y+105&&p1d2x<=vragi3Objects[i80].ill1_x&&p1d2x>vragi3Objects[i80].ill1_x-600*lag)|| | |
(p1d3y<vragi3Objects[i80].ill1_y+200&&p1d3y>vragi3Objects[i80].ill1_y+105&&p1d3x<=vragi3Objects[i80].ill1_x&&p1d3x>vragi3Objects[i80].ill1_x-600*lag)|| | |
(p1d4y<vragi3Objects[i80].ill1_y+200&&p1d4y>vragi3Objects[i80].ill1_y+105&&p1d4x<=vragi3Objects[i80].ill1_x&&p1d4x>vragi3Objects[i80].ill1_x-600*lag))&& | |
aktivatorp==1&&x-55>vragi3Objects[i80].ill1_x&&vragi3Objects[i80].ubit!=1)|| | |
(((p2y<vragi3Objects[i80].ill1_y+200&&p2y>vragi3Objects[i80].ill1_y+105&&p2x<=vragi3Objects[i80].ill1_x&&p2x>vragi3Objects[i80].ill1_x-600*lag)|| | |
(p2d1y<vragi3Objects[i80].ill1_y+200&&p2d1y>vragi3Objects[i80].ill1_y+105&&p2d1x<=vragi3Objects[i80].ill1_x&&p2d1x>vragi3Objects[i80].ill1_x-600*lag)|| | |
(p2d2y<vragi3Objects[i80].ill1_y+200&&p2d2y>vragi3Objects[i80].ill1_y+105&&p2d2x<=vragi3Objects[i80].ill1_x&&p2d2x>vragi3Objects[i80].ill1_x-600*lag)|| | |
(p2d3y<vragi3Objects[i80].ill1_y+200&&p2d3y>vragi3Objects[i80].ill1_y+105&&p2d3x<=vragi3Objects[i80].ill1_x&&p2d3x>vragi3Objects[i80].ill1_x-600*lag)|| | |
(p2d4y<vragi3Objects[i80].ill1_y+200&&p2d4y>vragi3Objects[i80].ill1_y+105&&p2d4x<=vragi3Objects[i80].ill1_x&&p2d4x>vragi3Objects[i80].ill1_x-600*lag))&& | |
aktivatorp2==1&&x2-55>vragi3Objects[i80].ill1_x&&vragi3Objects[i80].ubit!=1))//просчёт урона | |
{vragi3Objects[i80].ill1_active=0;} | |
if((((py<vragi3Objects[i80].ill2_y+200&&py>vragi3Objects[i80].ill2_y+105&&px<=vragi3Objects[i80].ill2_x&&px>vragi3Objects[i80].ill2_x-600*lag)|| | |
(p1d1y<vragi3Objects[i80].ill2_y+200&&p1d1y>vragi3Objects[i80].ill2_y+105&&p1d1x<=vragi3Objects[i80].ill2_x&&p1d1x>vragi3Objects[i80].ill2_x-600*lag)|| | |
(p1d2y<vragi3Objects[i80].ill2_y+200&&p1d2y>vragi3Objects[i80].ill2_y+105&&p1d2x<=vragi3Objects[i80].ill2_x&&p1d2x>vragi3Objects[i80].ill2_x-600*lag)|| | |
(p1d3y<vragi3Objects[i80].ill2_y+200&&p1d3y>vragi3Objects[i80].ill2_y+105&&p1d3x<=vragi3Objects[i80].ill2_x&&p1d3x>vragi3Objects[i80].ill2_x-600*lag)|| | |
(p1d4y<vragi3Objects[i80].ill2_y+200&&p1d4y>vragi3Objects[i80].ill2_y+105&&p1d4x<=vragi3Objects[i80].ill2_x&&p1d4x>vragi3Objects[i80].ill2_x-600*lag))&& | |
aktivatorp==1&&x-55>vragi3Objects[i80].ill2_x&&vragi3Objects[i80].ubit!=1)|| | |
(((p2y<vragi3Objects[i80].ill2_y+200&&p2y>vragi3Objects[i80].ill2_y+105&&p2x<=vragi3Objects[i80].ill2_x&&p2x>vragi3Objects[i80].ill2_x-600*lag)|| | |
(p2d1y<vragi3Objects[i80].ill2_y+200&&p2d1y>vragi3Objects[i80].ill2_y+105&&p2d1x<=vragi3Objects[i80].ill2_x&&p2d1x>vragi3Objects[i80].ill2_x-600*lag)|| | |
(p2d2y<vragi3Objects[i80].ill2_y+200&&p2d2y>vragi3Objects[i80].ill2_y+105&&p2d2x<=vragi3Objects[i80].ill2_x&&p2d2x>vragi3Objects[i80].ill2_x-600*lag)|| | |
(p2d3y<vragi3Objects[i80].ill2_y+200&&p2d3y>vragi3Objects[i80].ill2_y+105&&p2d3x<=vragi3Objects[i80].ill2_x&&p2d3x>vragi3Objects[i80].ill2_x-600*lag)|| | |
(p2d4y<vragi3Objects[i80].ill2_y+200&&p2d4y>vragi3Objects[i80].ill2_y+105&&p2d4x<=vragi3Objects[i80].ill2_x&&p2d4x>vragi3Objects[i80].ill2_x-600*lag))&& | |
aktivatorp2==1&&x2-55>vragi3Objects[i80].ill2_x&&vragi3Objects[i80].ubit!=1))//просчёт урона | |
{vragi3Objects[i80].ill2_active=0;} | |
} | |
//ТЕЛЕПОРТАЦИЯ | |
if(vragi3Objects[i80].RPG_teleporter!=0&&RPGMOD==true) | |
{ | |
if(vragi3Objects[i80].teleported==0&&vragi3Objects[i80].v3x>=vragi3Objects[i80].teleportx) | |
{ | |
if(player2_aktive==0) | |
{if(DIFF!=0) | |
{vragi3Objects[i80].teleporty=hge->Random_Float(250,650);} | |
if(DIFF==0) | |
{vragi3Objects[i80].teleporty=hge->Random_Float(350,550);}} | |
if(player2_aktive==1) | |
{if(DIFF!=0) | |
{vragi3Objects[i80].teleporty=hge->Random_Float(200,700);} | |
if(DIFF==0) | |
{vragi3Objects[i80].teleporty=hge->Random_Float(300,600);}} | |
while((vragi3Objects[i80].teleporty>vragi3Objects[i80].v3y&&vragi3Objects[i80].teleporty-vragi3Objects[i80].v3y<100)|| | |
(vragi3Objects[i80].v3y>vragi3Objects[i80].teleporty&&vragi3Objects[i80].v3y-vragi3Objects[i80].teleporty<100)) | |
{ | |
if(player2_aktive==0) | |
{if(DIFF!=0) | |
{vragi3Objects[i80].teleporty=hge->Random_Float(250,650);} | |
if(DIFF==0) | |
{vragi3Objects[i80].teleporty=hge->Random_Float(350,550);}} | |
if(player2_aktive==1) | |
{if(DIFF!=0) | |
{vragi3Objects[i80].teleporty=hge->Random_Float(200,700);} | |
if(DIFF==0) | |
{vragi3Objects[i80].teleporty=hge->Random_Float(300,600);}} | |
} | |
vragi3Objects[i80].v3y=vragi3Objects[i80].teleporty; | |
vragi3Objects[i80].teleported=1; | |
} | |
if(vragi3Objects[i80].teleported==1) | |
{ | |
vragi3Objects[i80].teleportx=hge->Random_Float(vragi3Objects[i80].v3x+200,vragi3Objects[i80].v3x+400); | |
vragi3Objects[i80].teleported=0; | |
} | |
} | |
//если замочили - появляется заново | |
if(vragi3Objects[i80].ubit==1) | |
{ | |
if(perez_akt==vragi3Objects[i80].timeout&& | |
((perez_akt_milli>=vragi3Objects[i80].timeout_milli&&vragi3Objects[i80].timeout_milli<800)|| | |
(perez_akt_milli<vragi3Objects[i80].timeout_milli&&vragi3Objects[i80].timeout_milli>=800))) | |
{vragi3Objects[i80].ubit=0; | |
vragi3Objects[i80].v3x=-150; | |
if(player2_aktive==0) | |
{if(DIFF!=0) | |
{vragi3Objects[i80].v3y=hge->Random_Float(300,700);} | |
if(DIFF==0) | |
{vragi3Objects[i80].v3y=hge->Random_Float(400,600);}} | |
if(player2_aktive==1) | |
{if(DIFF!=0) | |
{vragi3Objects[i80].v3y=hge->Random_Float(250,750);} | |
if(DIFF==0) | |
{vragi3Objects[i80].v3y=hge->Random_Float(350,650);}} | |
vragi3Objects[i80].health=400; | |
vragi3Objects[i80].speed=hge->Random_Float(0.45f,0.55f); | |
vragi3Objects[i80].defence=defence_medved; | |
vragi3Objects[i80].bezboshki=0; | |
vragi3Objects[i80].object_id=-1; | |
vragi3Objects[i80].RPG_healer=0; | |
vragi3Objects[i80].RPG_illusionist=0; | |
vragi3Objects[i80].ill1_active=0; | |
vragi3Objects[i80].ill2_active=0; | |
vragi3Objects[i80].RPG_teleporter=0; | |
vragi3Objects[i80].teleportx=0; | |
vragi3Objects[i80].teleported=0; | |
//руны | |
if(RPGMOD==true) | |
{ | |
int randomize= hge->Random_Int(1,100); | |
if(randomize<=25&&rpg_healers==true) | |
{vragi3Objects[i80].RPG_healer=1;} | |
if(randomize>25&&randomize<=35&&rpg_illusionists==true) | |
{vragi3Objects[i80].RPG_illusionist=1; | |
vragi3Objects[i80].ill1_active=1; | |
vragi3Objects[i80].ill1_x=vragi3Objects[i80].v3x+hge->Random_Int(-50,50); | |
if(player2_aktive==0) | |
{vragi3Objects[i80].ill1_y=hge->Random_Float(300,700);} | |
if(player2_aktive==1) | |
{vragi3Objects[i80].ill1_y=hge->Random_Float(250,750);} | |
vragi3Objects[i80].ill2_active=1; | |
vragi3Objects[i80].ill2_x=vragi3Objects[i80].v3x+hge->Random_Int(-50,50); | |
if(player2_aktive==0) | |
{vragi3Objects[i80].ill2_y=hge->Random_Float(300,700);} | |
if(player2_aktive==1) | |
{vragi3Objects[i80].ill2_y=hge->Random_Float(250,750);} | |
} | |
if(randomize>35&&randomize<=50&&rpg_teleporters==true) | |
{vragi3Objects[i80].RPG_teleporter=1; | |
vragi3Objects[i80].teleportx=hge->Random_Float(200,600);} | |
}//руны | |
} | |
} | |
if(vragi3Objects[i80].v3x>1200&&vragi3Objects[i80].ubit!=1) // если медведь забежал за экран | |
{LIVES--; | |
vragi3Objects[i80].v3x=-150; | |
if(player2_aktive==0) | |
{if(DIFF!=0) | |
{vragi3Objects[i80].v3y=hge->Random_Float(300,700);} | |
if(DIFF==0) | |
{vragi3Objects[i80].v3y=hge->Random_Float(400,600);}} | |
if(player2_aktive==1) | |
{if(DIFF!=0) | |
{vragi3Objects[i80].v3y=hge->Random_Float(250,750);} | |
if(DIFF==0) | |
{vragi3Objects[i80].v3y=hge->Random_Float(350,650);}} | |
vragi3Objects[i80].health=400; | |
vragi3Objects[i80].speed=hge->Random_Float(0.45f,0.55f); | |
vragi3Objects[i80].defence=defence_medved; | |
vragi3Objects[i80].object_id=-1; | |
vragi3Objects[i80].RPG_healer=0; | |
vragi3Objects[i80].RPG_illusionist=0; | |
vragi3Objects[i80].ill1_active=0; | |
vragi3Objects[i80].ill2_active=0; | |
vragi3Objects[i80].RPG_teleporter=0; | |
vragi3Objects[i80].teleportx=0; | |
vragi3Objects[i80].teleported=0; | |
//руны | |
if(RPGMOD==true) | |
{ | |
int randomize= hge->Random_Int(1,100); | |
if(randomize<=25&&rpg_healers==true) | |
{vragi3Objects[i80].RPG_healer=1;} | |
if(randomize>25&&randomize<=35&&rpg_illusionists==true) | |
{vragi3Objects[i80].RPG_illusionist=1; | |
vragi3Objects[i80].ill1_active=1; | |
vragi3Objects[i80].ill1_x=vragi3Objects[i80].v3x+hge->Random_Int(-50,50); | |
if(player2_aktive==0) | |
{vragi3Objects[i80].ill1_y=hge->Random_Float(300,700);} | |
if(player2_aktive==1) | |
{vragi3Objects[i80].ill1_y=hge->Random_Float(250,750);} | |
vragi3Objects[i80].ill2_active=1; | |
vragi3Objects[i80].ill2_x=vragi3Objects[i80].v3x+hge->Random_Int(-50,50); | |
if(player2_aktive==0) | |
{vragi3Objects[i80].ill2_y=hge->Random_Float(300,700);} | |
if(player2_aktive==1) | |
{vragi3Objects[i80].ill2_y=hge->Random_Float(250,750);} | |
} | |
if(randomize>35&&randomize<=50&&rpg_teleporters==true) | |
{vragi3Objects[i80].RPG_teleporter=1; | |
vragi3Objects[i80].teleportx=hge->Random_Float(200,600);} | |
}//руны | |
} | |
if((((p1d1y<vragi3Objects[i80].v3y+200&&p1d1y>vragi3Objects[i80].v3y+105&&p1d1x<=vragi3Objects[i80].v3x+170&&p1d1x>vragi3Objects[i80].v3x-300*lag&&aktivatorp1d1==1)|| | |
(p1d2y<vragi3Objects[i80].v3y+200&&p1d2y>vragi3Objects[i80].v3y+105&&p1d2x<=vragi3Objects[i80].v3x+170&&p1d2x>vragi3Objects[i80].v3x-300*lag&&aktivatorp1d2==1)|| | |
(p1d3y<vragi3Objects[i80].v3y+200&&p1d3y>vragi3Objects[i80].v3y+105&&p1d3x<=vragi3Objects[i80].v3x+170&&p1d3x>vragi3Objects[i80].v3x-300*lag&&aktivatorp1d3==1)|| | |
(p1d4y<vragi3Objects[i80].v3y+200&&p1d4y>vragi3Objects[i80].v3y+105&&p1d4x<=vragi3Objects[i80].v3x+170&&p1d4x>vragi3Objects[i80].v3x-300*lag&&aktivatorp1d4==1)|| | |
(py<vragi3Objects[i80].v3y+200&&py>vragi3Objects[i80].v3y+105&&px<=vragi3Objects[i80].v3x+170&&px>vragi3Objects[i80].v3x-300*lag&&aktivatorp==1)) | |
&&x-55>vragi3Objects[i80].v3x&&vragi3Objects[i80].ubit!=1)|| | |
(((p2d1y<vragi3Objects[i80].v3y+200&&p2d1y>vragi3Objects[i80].v3y+105&&p2d1x<=vragi3Objects[i80].v3x+170&&p2d1x>vragi3Objects[i80].v3x-300*lag&&aktivatorp2d1==1)|| | |
(p2d2y<vragi3Objects[i80].v3y+200&&p2d2y>vragi3Objects[i80].v3y+105&&p2d2x<=vragi3Objects[i80].v3x+170&&p2d2x>vragi3Objects[i80].v3x-300*lag&&aktivatorp2d2==1)|| | |
(p2d3y<vragi3Objects[i80].v3y+200&&p2d3y>vragi3Objects[i80].v3y+105&&p2d3x<=vragi3Objects[i80].v3x+170&&p2d3x>vragi3Objects[i80].v3x-300*lag&&aktivatorp2d3==1)|| | |
(p2d4y<vragi3Objects[i80].v3y+200&&p2d4y>vragi3Objects[i80].v3y+105&&p2d4x<=vragi3Objects[i80].v3x+170&&p2d4x>vragi3Objects[i80].v3x-300*lag&&aktivatorp2d4==1)|| | |
(p2y<vragi3Objects[i80].v3y+200&&p2y>vragi3Objects[i80].v3y+119&&p2x<=vragi3Objects[i80].v3x+170&&p2x>vragi3Objects[i80].v3x-300*lag&&aktivatorp2==1)) | |
&&x2-55>vragi3Objects[i80].v3x&&vragi3Objects[i80].ubit!=1))//просчёт урона | |
{ | |
if(shot==0) | |
{ | |
if(((py<vragi3Objects[i80].v3y+200&&py>vragi3Objects[i80].v3y+105&&px<=vragi3Objects[i80].v3x+170&&px>vragi3Objects[i80].v3x-300*lag&&aktivatorp==1)|| | |
(p1d1y<vragi3Objects[i80].v3y+200&&p1d1y>vragi3Objects[i80].v3y+105&&p1d1x<=vragi3Objects[i80].v3x+170&&p1d1x>vragi3Objects[i80].v3x-300*lag&&aktivatorp1d1==1)|| | |
(p1d2y<vragi3Objects[i80].v3y+200&&p1d2y>vragi3Objects[i80].v3y+105&&p1d2x<=vragi3Objects[i80].v3x+170&&p1d2x>vragi3Objects[i80].v3x-300*lag&&aktivatorp1d2==1)|| | |
(p1d3y<vragi3Objects[i80].v3y+200&&p1d3y>vragi3Objects[i80].v3y+105&&p1d3x<=vragi3Objects[i80].v3x+170&&p1d3x>vragi3Objects[i80].v3x-300*lag&&aktivatorp1d3==1)|| | |
(p1d4y<vragi3Objects[i80].v3y+200&&p1d4y>vragi3Objects[i80].v3y+105&&p1d4x<=vragi3Objects[i80].v3x+170&&p1d4x>vragi3Objects[i80].v3x-300*lag&&aktivatorp1d4==1)) | |
&&x-55>vragi3Objects[i80].v3x) | |
{vragi3Objects[i80].killed_by=1;}//попал игрок 1 | |
if(((p2y<vragi3Objects[i80].v3y+200&&p2y>vragi3Objects[i80].v3y+105&&p2x<=vragi3Objects[i80].v3x+170&&p2x>vragi3Objects[i80].v3x-300*lag&&aktivatorp2==1)|| | |
(p2d1y<vragi3Objects[i80].v3y+200&&p2d1y>vragi3Objects[i80].v3y+105&&p2d1x<=vragi3Objects[i80].v3x+170&&p2d1x>vragi3Objects[i80].v3x-300*lag&&aktivatorp1d1==1)|| | |
(p2d2y<vragi3Objects[i80].v3y+200&&p2d2y>vragi3Objects[i80].v3y+105&&p2d2x<=vragi3Objects[i80].v3x+170&&p2d2x>vragi3Objects[i80].v3x-300*lag&&aktivatorp1d2==1)|| | |
(p2d3y<vragi3Objects[i80].v3y+200&&p2d3y>vragi3Objects[i80].v3y+105&&p2d3x<=vragi3Objects[i80].v3x+170&&p2d3x>vragi3Objects[i80].v3x-300*lag&&aktivatorp1d3==1)|| | |
(p2d4y<vragi3Objects[i80].v3y+200&&p2d4y>vragi3Objects[i80].v3y+105&&p2d4x<=vragi3Objects[i80].v3x+170&&p2d4x>vragi3Objects[i80].v3x-300*lag&&aktivatorp1d4==1)) | |
&&x2-55>vragi3Objects[i80].v3x) | |
{vragi3Objects[i80].killed_by=2;}//попал игрок 2 | |
if(((py<vragi3Objects[i80].v3y+200&&py>vragi3Objects[i80].v3y+105)|| | |
(p1d1y<vragi3Objects[i80].v3y+200&&p1d1y>vragi3Objects[i80].v3y+105)|| | |
(p1d2y<vragi3Objects[i80].v3y+200&&p1d2y>vragi3Objects[i80].v3y+105)|| | |
(p1d3y<vragi3Objects[i80].v3y+200&&p1d3y>vragi3Objects[i80].v3y+105)|| | |
(p1d4y<vragi3Objects[i80].v3y+200&&p1d4y>vragi3Objects[i80].v3y+105))|| | |
((p2y<vragi3Objects[i80].v3y+200&&p2y>vragi3Objects[i80].v3y+105)|| | |
(p2d1y<vragi3Objects[i80].v3y+200&&p2d1y>vragi3Objects[i80].v3y+105)|| | |
(p2d2y<vragi3Objects[i80].v3y+200&&p2d2y>vragi3Objects[i80].v3y+105)|| | |
(p2d3y<vragi3Objects[i80].v3y+200&&p2d3y>vragi3Objects[i80].v3y+105)|| | |
(p2d4y<vragi3Objects[i80].v3y+200&&p2d4y>vragi3Objects[i80].v3y+105)))//ОБЫЧНОЕ ПОПАДАНИЕ | |
{ | |
if(vragi3Objects[i80].killed_by==1) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi3Objects[i80].defence>=5|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi3Objects[i80].defence>=5) | |
{ | |
if(LVL1%2==0) | |
{vragi3Objects[i80].health-=damage[N_WEAPON1]+LVL1/2*attack1-vragi3Objects[i80].defence;} | |
if(LVL1%2==1) | |
{vragi3Objects[i80].health-=damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi3Objects[i80].defence;} | |
} | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi3Objects[i80].defence<5|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi3Objects[i80].defence<5) | |
{vragi3Objects[i80].health-=5;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi3Objects[i80].health-=damage[N_WEAPON1];} | |
}//урон от оружия игрока 1 | |
if(vragi3Objects[i80].killed_by==2) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi3Objects[i80].defence>=5|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi3Objects[i80].defence>=5) | |
{ | |
if(LVL2%2==0) | |
{vragi3Objects[i80].health-=damage[N_WEAPON2]+LVL2/2*attack2-vragi3Objects[i80].defence;} | |
if(LVL2%2==1) | |
{vragi3Objects[i80].health-=damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi3Objects[i80].defence;} | |
} | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi3Objects[i80].defence<5|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi3Objects[i80].defence<5) | |
{vragi3Objects[i80].health-=5;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi3Objects[i80].health-=damage[N_WEAPON2];} | |
}//урон от оружия игрока 2 | |
hge->Effect_PlayEx(shot1,volume*8/10,0,0); | |
}//ЗАКРЫТИЕ ПОПАДАНИЯ | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
krovyakObjects[N_BLOOD].seed=hge->Random_Int(1,3); | |
krovyakObjects[N_BLOOD].vrag=3; | |
if(vragi3Objects[i80].killed_by==1) | |
{ | |
if(py<vragi3Objects[i80].v3y+200&&py>vragi3Objects[i80].v3y+105&&px<=vragi3Objects[i80].v3x+170&&px>vragi3Objects[i80].v3x-300*lag) | |
{ppp=1; | |
krovyakObjects[N_BLOOD].y1=py; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=py+5;} | |
if(p1d1y<vragi3Objects[i80].v3y+200&&p1d1y>vragi3Objects[i80].v3y+105&&p1d1x<=vragi3Objects[i80].v3x+170&&p1d1x>vragi3Objects[i80].v3x-300*lag) | |
{ppp=2; | |
krovyakObjects[N_BLOOD].y1=p1d1y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p1d1y+5;} | |
if(p1d2y<vragi3Objects[i80].v3y+200&&p1d2y>vragi3Objects[i80].v3y+105&&p1d2x<=vragi3Objects[i80].v3x+170&&p1d2x>vragi3Objects[i80].v3x-300*lag) | |
{ppp=3; | |
krovyakObjects[N_BLOOD].y1=p1d2y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p1d2y+5;} | |
if(p1d3y<vragi3Objects[i80].v3y+200&&p1d3y>vragi3Objects[i80].v3y+105&&p1d3x<=vragi3Objects[i80].v3x+170&&p1d3x>vragi3Objects[i80].v3x-300*lag) | |
{ppp=4; | |
krovyakObjects[N_BLOOD].y1=p1d3y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p1d3y+5;} | |
if(p1d4y<vragi3Objects[i80].v3y+200&&p1d4y>vragi3Objects[i80].v3y+105&&p1d4x<=vragi3Objects[i80].v3x+170&&p1d4x>vragi3Objects[i80].v3x-300*lag) | |
{ppp=5; | |
krovyakObjects[N_BLOOD].y1=p1d4y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p1d4y+5;} | |
} | |
if(vragi3Objects[i80].killed_by==2) | |
{ | |
if(p2y<vragi3Objects[i80].v3y+200&&p2y>vragi3Objects[i80].v3y+105&&p2x<=vragi3Objects[i80].v3x+170&&p2x>vragi3Objects[i80].v3x-300*lag) | |
{ppp=1; | |
krovyakObjects[N_BLOOD].y1=p2y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p2y+5;} | |
if(p2d1y<vragi3Objects[i80].v3y+200&&p2d1y>vragi3Objects[i80].v3y+105&&p2d1x<=vragi3Objects[i80].v3x+170&&p2d1x>vragi3Objects[i80].v3x-300*lag) | |
{ppp=2; | |
krovyakObjects[N_BLOOD].y1=p2d1y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p2d1y+5;} | |
if(p2d2y<vragi3Objects[i80].v3y+200&&p2d2y>vragi3Objects[i80].v3y+105&&p2d2x<=vragi3Objects[i80].v3x+170&&p2d2x>vragi3Objects[i80].v3x-300*lag) | |
{ppp=3; | |
krovyakObjects[N_BLOOD].y1=p2d2y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p2d2y+5;} | |
if(p2d3y<vragi3Objects[i80].v3y+200&&p2d3y>vragi3Objects[i80].v3y+105&&p2d3x<=vragi3Objects[i80].v3x+170&&p2d3x>vragi3Objects[i80].v3x-300*lag) | |
{ppp=4; | |
krovyakObjects[N_BLOOD].y1=p2d3y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p2d3y+5;} | |
if(p2d4y<vragi3Objects[i80].v3y+200&&p2d4y>vragi3Objects[i80].v3y+105&&p2d4x<=vragi3Objects[i80].v3x+170&&p2d4x>vragi3Objects[i80].v3x-300*lag) | |
{ppp=5; | |
krovyakObjects[N_BLOOD].y1=p2d4y; //КРОВЯК (назад) | |
krovyakObjects[N_BLOOD].y2=p2d4y+5;} | |
} | |
krovyakObjects[N_BLOOD].x2=vragi3Objects[i80].v3x+15; | |
krovyakObjects[N_BLOOD].x1=vragi3Objects[i80].v3x+5; | |
krovyakObjects[N_BLOOD].xstart=vragi3Objects[i80].v3x; | |
krovyakObjects[N_BLOOD].niz=vragi3Objects[i80].v3y+200; | |
krovyakObjects[N_BLOOD].blood_time=GetTime(); | |
krovyakObjects[N_BLOOD].blood_time_sec=perez_akt; | |
krovyakObjects[N_BLOOD].akt=1; | |
krovyakObjects[N_BLOOD].faza=1; | |
N_BLOOD++; | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
krovyakObjects[N_BLOOD].seed=0;//кровяк самого попадания (точка) | |
krovyakObjects[N_BLOOD].vrag=3; | |
if(vragi3Objects[i80].killed_by==1) | |
{ | |
if(ppp==1) | |
{krovyakObjects[N_BLOOD].y1=py-4; | |
krovyakObjects[N_BLOOD].y2=py+4;} | |
if(ppp==2) | |
{krovyakObjects[N_BLOOD].y1=p1d1y-4; | |
krovyakObjects[N_BLOOD].y2=p1d1y+4;} | |
if(ppp==3) | |
{krovyakObjects[N_BLOOD].y1=p1d2y-4; | |
krovyakObjects[N_BLOOD].y2=p1d2y+4;} | |
if(ppp==4) | |
{krovyakObjects[N_BLOOD].y1=p1d3y-4; | |
krovyakObjects[N_BLOOD].y2=p1d3y+4;} | |
if(ppp==5) | |
{krovyakObjects[N_BLOOD].y1=p1d4y-4; | |
krovyakObjects[N_BLOOD].y2=p1d4y+4;} | |
} | |
if(vragi3Objects[i80].killed_by==2) | |
{ | |
if(ppp==1) | |
{krovyakObjects[N_BLOOD].y1=p2y-4; | |
krovyakObjects[N_BLOOD].y2=p2y+4;} | |
if(ppp==2) | |
{krovyakObjects[N_BLOOD].y1=p2d1y-4; | |
krovyakObjects[N_BLOOD].y2=p2d1y+4;} | |
if(ppp==3) | |
{krovyakObjects[N_BLOOD].y1=p2d2y-4; | |
krovyakObjects[N_BLOOD].y2=p2d2y+4;} | |
if(ppp==4) | |
{krovyakObjects[N_BLOOD].y1=p2d3y-4; | |
krovyakObjects[N_BLOOD].y2=p2d3y+4;} | |
if(ppp==5) | |
{krovyakObjects[N_BLOOD].y1=p2d4y-4; | |
krovyakObjects[N_BLOOD].y2=p2d4y+4;} | |
} | |
krovyakObjects[N_BLOOD].x2=vragi3Objects[i80].v3x+166; | |
krovyakObjects[N_BLOOD].x1=vragi3Objects[i80].v3x+178; | |
krovyakObjects[N_BLOOD].blood_time=GetTime(); | |
krovyakObjects[N_BLOOD].blood_time_sec=perez_akt; | |
krovyakObjects[N_BLOOD].akt=1; | |
N_BLOOD++; | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
krovyakObjects[N_BLOOD].seed=hge->Random_Int(101,103); | |
krovyakObjects[N_BLOOD].vrag=3; | |
if(vragi3Objects[i80].killed_by==1) | |
{ | |
if(ppp==1) | |
{krovyakObjects[N_BLOOD].y1=py; //КРОВЯК (вперед) | |
krovyakObjects[N_BLOOD].y2=py+5;} | |
if(ppp==2) | |
{krovyakObjects[N_BLOOD].y1=p1d1y; | |
krovyakObjects[N_BLOOD].y2=p1d1y+5;} | |
if(ppp==3) | |
{krovyakObjects[N_BLOOD].y1=p1d2y; | |
krovyakObjects[N_BLOOD].y2=p1d2y+5;} | |
if(ppp==4) | |
{krovyakObjects[N_BLOOD].y1=p1d3y; | |
krovyakObjects[N_BLOOD].y2=p1d3y+5;} | |
if(ppp==5) | |
{krovyakObjects[N_BLOOD].y1=p1d4y; | |
krovyakObjects[N_BLOOD].y2=p1d4y+5;} | |
} | |
if(vragi3Objects[i80].killed_by==2) | |
{ | |
if(ppp==1) | |
{krovyakObjects[N_BLOOD].y1=p2y; | |
krovyakObjects[N_BLOOD].y2=p2y+5;} | |
if(ppp==2) | |
{krovyakObjects[N_BLOOD].y1=p2d1y; | |
krovyakObjects[N_BLOOD].y2=p2d1y+5;} | |
if(ppp==3) | |
{krovyakObjects[N_BLOOD].y1=p2d2y; | |
krovyakObjects[N_BLOOD].y2=p2d2y+5;} | |
if(ppp==4) | |
{krovyakObjects[N_BLOOD].y1=p2d3y; | |
krovyakObjects[N_BLOOD].y2=p2d3y+5;} | |
if(ppp==5) | |
{krovyakObjects[N_BLOOD].y1=p2d4y; | |
krovyakObjects[N_BLOOD].y2=p2d4y+5;} | |
} | |
krovyakObjects[N_BLOOD].x2=vragi3Objects[i80].v3x+155; | |
krovyakObjects[N_BLOOD].x1=vragi3Objects[i80].v3x+160; | |
krovyakObjects[N_BLOOD].xstart=vragi3Objects[i80].v3x+155; | |
krovyakObjects[N_BLOOD].niz=vragi3Objects[i80].v3y+200; | |
krovyakObjects[N_BLOOD].blood_time=GetTime(); | |
krovyakObjects[N_BLOOD].blood_time_sec=perez_akt; | |
krovyakObjects[N_BLOOD].akt=1; | |
krovyakObjects[N_BLOOD].faza=1; | |
N_BLOOD++; | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
shot=1; | |
if(vragi3Objects[i80].killed_by==1) | |
{ | |
if(N_WEAPON1!=10&&aktivatorp!=0)//патрон слабый - ШКУРА МЕДВЕДЯ!!!! | |
{aktivatorp=0; | |
oboima-=1;} | |
if(N_WEAPON1==7) | |
{ | |
if(ppp==2) | |
{p1d1y=y-9; | |
p1d1x=x-24; | |
aktivatorp1d1=0;} | |
if(ppp==3) | |
{p1d2y=y-9; | |
p1d2x=x-24; | |
aktivatorp1d2=0;} | |
if(ppp==4) | |
{p1d3y=y-9; | |
p1d3x=x-24; | |
aktivatorp1d3=0;} | |
if(ppp==5) | |
{p1d4y=y-9; | |
p1d4x=x-24; | |
aktivatorp1d4=0;} | |
} | |
} | |
if(vragi3Objects[i80].killed_by==2) | |
{ | |
if(N_WEAPON2!=10&&aktivatorp2!=0)//патрон слабый | |
{aktivatorp2=0; | |
oboima2-=1;} | |
if(N_WEAPON2==7) | |
{ | |
if(ppp==2) | |
{p2d1y=y2-9; | |
p2d1x=x2-24; | |
aktivatorp2d1=0;} | |
if(ppp==3) | |
{p2d2y=y2-9; | |
p2d2x=x2-24; | |
aktivatorp2d2=0;} | |
if(ppp==4) | |
{p2d3y=y2-9; | |
p2d3x=x2-24; | |
aktivatorp2d3=0;} | |
if(ppp==5) | |
{p2d4y=y2-9; | |
p2d4x=x2-24; | |
aktivatorp2d4=0;} | |
} | |
if(N_WEAPON2==0||N_WEAPON2==3)// если это АК то косит всех подряд | |
{shot=0;} | |
} | |
}//if shot==0 | |
}//закрытие просчёта урона медведю | |
//холодное оружие | |
if((katana1_anime->IsPlaying()==true&&katana1_anime->GetFrame()==2&&vragi3Objects[i80].health>0&&x-55>vragi3Objects[i80].v3x+10&& | |
vragi3Objects[i80].v3x+170>x-95&&y<vragi3Objects[i80].v3y+220&&y>vragi3Objects[i80].v3y+125)|| | |
(katana2_anime->IsPlaying()==true&&katana2_anime->GetFrame()==2&&vragi3Objects[i80].health>0&&x2-55>vragi3Objects[i80].v3x+10&& | |
vragi3Objects[i80].v3x+170>x2-95&&y2<vragi3Objects[i80].v3y+220&&y2>vragi3Objects[i80].v3y+125)) | |
{ | |
if(katana1_anime->IsPlaying()==true&&katana1_anime->GetFrame()==2&&vragi3Objects[i80].health>0&&x-55>vragi3Objects[i80].v3x+10&& | |
vragi3Objects[i80].v3x+170>x-95&&y<vragi3Objects[i80].v3y+220&&y>vragi3Objects[i80].v3y+125) | |
{vragi3Objects[i80].killed_by=1;} | |
if(katana2_anime->IsPlaying()==true&&katana2_anime->GetFrame()==2&&vragi3Objects[i80].health>0&&x2-55>vragi3Objects[i80].v3x+10&& | |
vragi3Objects[i80].v3x+170>x2-95&&y2<vragi3Objects[i80].v3y+220&&y2>vragi3Objects[i80].v3y+125) | |
{vragi3Objects[i80].killed_by=2;} | |
/* | |
if((y<=vragi3Objects[i80].v3y+17&&y>vragi3Objects[i80].v3y+13)|| | |
(y2<=vragi3Objects[i80].v3y+17&&y2>vragi3Objects[i80].v3y+13))//ХЭДШОТ!!! | |
{ | |
if(vragi3Objects[i80].killed_by==1) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi3Objects[i80].defence>=5|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi3Objects[i80].defence>=5) | |
{ | |
if(CLASSMOD==true&&class1==1) | |
{ | |
if(LVL1%2==0) | |
{vragi3Objects[i80].health-=(damage[N_WEAPON1]+LVL1/2*attack1)*1.2f-vragi3Objects[i80].defence;} | |
if(LVL1%2==1) | |
{vragi3Objects[i80].health-=(damage[N_WEAPON1]+(LVL1-1)/2*attack1)*1.2f-vragi3Objects[i80].defence;} | |
} | |
if(CLASSMOD==false||class1!=1) | |
{ | |
if(LVL1%2==0) | |
{vragi3Objects[i80].health-=damage[N_WEAPON1]+LVL1/2*attack1-vragi3Objects[i80].defence;} | |
if(LVL1%2==1) | |
{vragi3Objects[i80].health-=damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi3Objects[i80].defence;} | |
} | |
} | |
//гарантированный урон | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi3Objects[i80].defence<5|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi3Objects[i80].defence<5) | |
{vragi3Objects[i80].health-=5;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi3Objects[i80].health-=damage[N_WEAPON1];} | |
if(RPGMOD==false&&CLASSMOD==true&&class1==1) | |
{vragi3Objects[i80].health-=damage[N_WEAPON1]*1.2f;} | |
points1+=25;}//урон от оружия игрока 1 | |
if(vragi3Objects[i80].killed_by==2) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi3Objects[i80].defence>=5|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi3Objects[i80].defence>=5) | |
{ | |
if(CLASSMOD==true&&class2==1) | |
{ | |
if(LVL2%2==0) | |
{vragi3Objects[i80].health-=(damage[N_WEAPON2]+LVL2/2*attack2)*1.2f-vragi3Objects[i80].defence;} | |
if(LVL2%2==1) | |
{vragi3Objects[i80].health-=(damage[N_WEAPON2]+(LVL2-1)/2*attack2)*1.2f-vragi3Objects[i80].defence;} | |
} | |
if(CLASSMOD==false||class2!=1) | |
{ | |
if(LVL2%2==0) | |
{vragi3Objects[i80].health-=damage[N_WEAPON2]+LVL2/2*attack2-vragi3Objects[i80].defence;} | |
if(LVL2%2==1) | |
{vragi3Objects[i80].health-=damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi3Objects[i80].defence;} | |
} | |
} | |
//гарантированный урон | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi3Objects[i80].defence<5|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi3Objects[i80].defence<5) | |
{vragi3Objects[i80].health-=5;} | |
}//RPG | |
if(RPGMOD==false&&CLASSMOD==false) | |
{vragi3Objects[i80].health-=damage[N_WEAPON2];} | |
if(RPGMOD==false&&CLASSMOD==true&&class2==1) | |
{vragi3Objects[i80].health-=damage[N_WEAPON2]*1.2f;} | |
points2+=25;}//урон от оружия игрока 2 | |
headshotPan=-75+vragi3Objects[i80].v3x/9; | |
headshot(); | |
}//ХЭДШОТ ЗАКОНЧИЛСЯ | |
*/ | |
if(vragi3Objects[i80].killed_by==1) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi3Objects[i80].defence>=10|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi3Objects[i80].defence>=10) | |
{ | |
if(CLASSMOD==true&&class1==1) | |
{ | |
if(LVL1%2==0) | |
{vragi3Objects[i80].health-=(damage[N_WEAPON1]+LVL1/2*attack1)*1.2f-vragi3Objects[i80].defence;} | |
if(LVL1%2==1) | |
{vragi3Objects[i80].health-=(damage[N_WEAPON1]+(LVL1-1)/2*attack1)*1.2f-vragi3Objects[i80].defence;} | |
} | |
if(CLASSMOD==false||class1!=1) | |
{ | |
if(LVL1%2==0) | |
{vragi3Objects[i80].health-=damage[N_WEAPON1]+LVL1/2*attack1-vragi3Objects[i80].defence;} | |
if(LVL1%2==1) | |
{vragi3Objects[i80].health-=damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi3Objects[i80].defence;} | |
} | |
} | |
//гарантированный урон | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi3Objects[i80].defence<10|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi3Objects[i80].defence<10) | |
{vragi3Objects[i80].health-=10;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi3Objects[i80].health-=damage[N_WEAPON1];} | |
krovyakObjects[N_BLOOD].y1=y-10; //КРОВЯК (вперед) | |
krovyakObjects[N_BLOOD].y2=y; | |
} | |
if(vragi3Objects[i80].killed_by==2) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi3Objects[i80].defence>=10|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi3Objects[i80].defence>=10) | |
{ | |
if(CLASSMOD==true&&class2==1) | |
{ | |
if(LVL2%2==0) | |
{vragi3Objects[i80].health-=(damage[N_WEAPON2]+LVL2/2*attack2)*1.2f-vragi3Objects[i80].defence;} | |
if(LVL2%2==1) | |
{vragi3Objects[i80].health-=(damage[N_WEAPON2]+(LVL2-1)/2*attack2)*1.2f-vragi3Objects[i80].defence;} | |
} | |
if(CLASSMOD==false&&class2!=1) | |
{ | |
if(LVL2%2==0) | |
{vragi3Objects[i80].health-=damage[N_WEAPON2]+LVL2/2*attack2-vragi3Objects[i80].defence;} | |
if(LVL2%2==1) | |
{vragi3Objects[i80].health-=damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi3Objects[i80].defence;} | |
} | |
} | |
//гарантированный урон | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi3Objects[i80].defence<10|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi3Objects[i80].defence<10) | |
{vragi3Objects[i80].health-=10;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi3Objects[i80].health-=damage[N_WEAPON2];} | |
krovyakObjects[N_BLOOD].y1=y2-10; //КРОВЯК (вперед) | |
krovyakObjects[N_BLOOD].y2=y2; | |
} | |
krovyakObjects[N_BLOOD].seed=hge->Random_Int(101,103); | |
krovyakObjects[N_BLOOD].vrag=1; | |
krovyakObjects[N_BLOOD].x2=x-95+10; | |
krovyakObjects[N_BLOOD].x1=x-95+35; | |
krovyakObjects[N_BLOOD].xstart=x-95+10; | |
krovyakObjects[N_BLOOD].niz=vragi3Objects[i80].v3y+240; | |
krovyakObjects[N_BLOOD].blood_time=GetTime(); | |
krovyakObjects[N_BLOOD].blood_time_sec=perez_akt; | |
krovyakObjects[N_BLOOD].akt=1; | |
krovyakObjects[N_BLOOD].faza=1; | |
N_BLOOD++; | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
hge->Effect_PlayEx(shot1,volume*8/10,0,0); | |
}//холодное оружие | |
if(vragi3Objects[i80].health<=0&&vragi3Objects[i80].ubit==0)//убийство медведя | |
{ | |
medved->Stop(); | |
vragi3Objects[i80].ubit=1; | |
vragi3Objects[i80].timeout_milli=GetTime(); | |
switch(DIFF) | |
{ | |
case 0: | |
if(perez_akt<44) | |
{vragi3Objects[i80].timeout=perez_akt+16;} | |
if(perez_akt>=44) | |
{vragi3Objects[i80].timeout=perez_akt-44;} | |
break; | |
case 1: | |
if(perez_akt<46) | |
{vragi3Objects[i80].timeout=perez_akt+14;} | |
if(perez_akt>=46) | |
{vragi3Objects[i80].timeout=perez_akt-46;} | |
break; | |
case 2: | |
if(perez_akt<48) | |
{vragi3Objects[i80].timeout=perez_akt+12;} | |
if(perez_akt>=48) | |
{vragi3Objects[i80].timeout=perez_akt-48;} | |
break; | |
} | |
if(vragi3Objects[i80].killed_by==1) | |
{kills++; | |
//статистика | |
ubijstva[N_KILLS].player=1; | |
ubijstva[N_KILLS].vrag=3; | |
ubijstva[N_KILLS].weapon=N_WEAPON1; | |
ubijstva[N_KILLS].bezuh=false; | |
ubijstva[N_KILLS].bezboshki=false; | |
ubijstva[N_KILLS].headshot=false; | |
ubijstva[N_KILLS].vschiii=false; | |
N_KILLS++; | |
if(N_KILLS>=MAX_KILLS-1) | |
{N_KILLS=0;} | |
//статистика | |
points1+=500; | |
opit1+=(150+vragi3Objects[i80].defence*vragi3Objects[i80].defence/LVL1)*w_opit_medved[N_WEAPON1]*(1+0.25f*umnik1)/daun1; | |
} | |
if(vragi3Objects[i80].killed_by==2) | |
{kills2++; | |
//статистика | |
ubijstva[N_KILLS].player=2; | |
ubijstva[N_KILLS].vrag=3; | |
ubijstva[N_KILLS].weapon=N_WEAPON2; | |
ubijstva[N_KILLS].bezuh=false; | |
ubijstva[N_KILLS].bezboshki=false; | |
ubijstva[N_KILLS].headshot=false; | |
ubijstva[N_KILLS].vschiii=false; | |
N_KILLS++; | |
if(N_KILLS>=MAX_KILLS-1) | |
{N_KILLS=0;} | |
//статистика | |
points2+=200; | |
opit2+=(150+vragi3Objects[i80].defence*vragi3Objects[i80].defence/LVL2)*w_opit_medved[N_WEAPON2]*(1+0.25f*umnik2)/daun2; | |
} | |
trupsObjects[N_TRUPS].killtime=GetTime();//лужа кровяка | |
trupsObjects[N_TRUPS].killtime_sec=perez_akt; | |
trupsObjects[N_TRUPS].posX=vragi3Objects[i80].v3x+95; | |
trupsObjects[N_TRUPS].posY=vragi3Objects[i80].v3y+215; | |
trupsObjects[N_TRUPS].posX_s=vragi3Objects[i80].v3x+95; | |
trupsObjects[N_TRUPS].posX_X=X; | |
trupsObjects[N_TRUPS].vrag=3; | |
trupsObjects[N_TRUPS].scaleX=0.1f; | |
trupsObjects[N_TRUPS].scaleY=0; | |
trupsObjects[N_TRUPS].aktiv=1; | |
trupsObjects[N_TRUPS].type=9; | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
//БОНУС?! | |
bonus_shans(); | |
if(vragi3Objects[i80].killed_by==1) | |
{ | |
if(bonus>=371&&bonus<=379+5*luck1) | |
{ | |
bonusiObjects[N_BONUS].x1=vragi3Objects[i80].v3x+5; | |
bonusiObjects[N_BONUS].y1=vragi3Objects[i80].v3y+5; | |
bonusiObjects[N_BONUS].x1_s=vragi3Objects[i80].v3x+5; | |
bonusiObjects[N_BONUS].x1_X=X; | |
bonusiObjects[N_BONUS].x2=vragi3Objects[i80].v3x+35; | |
bonusiObjects[N_BONUS].y2=vragi3Objects[i80].v3y+35; | |
bonusiObjects[N_BONUS].x2_s=vragi3Objects[i80].v3x+35; | |
bonusiObjects[N_BONUS].x2_X=X; | |
bonusiObjects[N_BONUS].appear_time_milli=GetTime(); | |
bonusiObjects[N_BONUS].appear_time=perez_akt; | |
bonusiObjects[N_BONUS].type=0; | |
bonusiObjects[N_BONUS].akt=1; | |
bonusiObjects[N_BONUS].spin=0; | |
bonusiObjects[N_BONUS].visible=true; | |
bonusiObjects[N_BONUS].mig_akt=0; | |
N_BONUS++; | |
if(N_BONUS>=MAX_BONUS-1) | |
{N_BONUS=0;} | |
} | |
}//if(vragi2Objects[i20].killed_by==1) | |
if(vragi3Objects[i80].killed_by==2) | |
{ | |
if(bonus>=371&&bonus<=379+5*luck2) | |
{ | |
bonusiObjects[N_BONUS].x1=vragi3Objects[i80].v3x+5; | |
bonusiObjects[N_BONUS].y1=vragi3Objects[i80].v3y+5; | |
bonusiObjects[N_BONUS].x1_s=vragi3Objects[i80].v3x+5; | |
bonusiObjects[N_BONUS].x1_X=X; | |
bonusiObjects[N_BONUS].x2=vragi3Objects[i80].v3x+35; | |
bonusiObjects[N_BONUS].y2=vragi3Objects[i80].v3y+35; | |
bonusiObjects[N_BONUS].x2_s=vragi3Objects[i80].v3x+35; | |
bonusiObjects[N_BONUS].x2_X=X; | |
bonusiObjects[N_BONUS].appear_time_milli=GetTime(); | |
bonusiObjects[N_BONUS].appear_time=perez_akt; | |
bonusiObjects[N_BONUS].type=0; | |
bonusiObjects[N_BONUS].akt=1; | |
bonusiObjects[N_BONUS].spin=0; | |
bonusiObjects[N_BONUS].visible=true; | |
bonusiObjects[N_BONUS].mig_akt=0; | |
N_BONUS++; | |
if(N_BONUS>=MAX_BONUS-1) | |
{N_BONUS=0;} | |
} | |
}//if(vragi2Objects[i20].killed_by==2) | |
trupsObjects[N_TRUPS].type=20; | |
trupsObjects[N_TRUPS].killtime=GetTime(); | |
trupsObjects[N_TRUPS].killtime_sec=perez_akt; | |
trupsObjects[N_TRUPS].frame=1; | |
trupsObjects[N_TRUPS].frame_akt=1; | |
trupsObjects[N_TRUPS].trup_tex=zayac_go_tex; | |
if(vragi3Objects[i80].bezboshki==1) | |
{trupsObjects[N_TRUPS].trup_tex=zayac_go_bezuh_tex;} | |
trupsObjects[N_TRUPS].posX=vragi3Objects[i80].v3x; | |
trupsObjects[N_TRUPS].posY=vragi3Objects[i80].v3y; | |
trupsObjects[N_TRUPS].posX_s=vragi3Objects[i80].v3x; | |
trupsObjects[N_TRUPS].posX_X=X; | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
}//закрытие убийства медведя | |
}//закрытие саги про медведя | |
//ПТЕНЕЦ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!111 | |
for (int i120=0;i120<=N_PTENEC;i120++) | |
{ | |
if(vragi4Objects[i120].ubit!=1)//сама скорость | |
{ | |
if(vragi4Objects[i120].wait!=1) | |
{vragi4Objects[i120].v4x+=vragi4Objects[i120].speed*lag; | |
if(vragi4Objects[i120].v4x>=230&&vragi4Objects[i120].wait==0) | |
{vragi4Objects[i120].wait=1; | |
vragi4Objects[i120].wait_time_sec=perez_akt;}} | |
ptenec->Resume(); | |
if(vragi4Objects[i120].wait==1) | |
{ptenec_wait->Resume(); | |
if((vragi4Objects[i120].wait_time_sec<57&&perez_akt==vragi4Objects[i120].wait_time_sec+3)|| | |
(vragi4Objects[i120].wait_time_sec>=57&&perez_akt==vragi4Objects[i120].wait_time_sec-57)) | |
{vragi4Objects[i120].wait=-1;} | |
} | |
//агро мясника | |
if(class1==1&&primanka1>0&&vragi4Objects[i120].v4x+23<=x-16&&sqrt(((x-16)-vragi4Objects[i120].v4x+23)*((x-16)-vragi4Objects[i120].v4x+23)+ | |
(vragi4Objects[i120].v4y+20-y)*(vragi4Objects[i120].v4y+20-y))<=(60+5*primanka1)) | |
{ | |
if(vragi4Objects[i120].v4y+20<y) | |
{vragi4Objects[i120].v4y+=(0.05f+0.1f*sqrt((float)primanka1))*lag;} | |
if(vragi4Objects[i120].v4y+20>y) | |
{vragi4Objects[i120].v4y-=(0.05f+0.1f*sqrt((float)primanka1))*lag;} | |
} | |
if(class2==1&&primanka2>0&&vragi4Objects[i120].v4x+23<=x2-16&&sqrt(((x2-16)-vragi4Objects[i120].v4x+23)*((x2-16)-vragi4Objects[i120].v4x+23)+ | |
(vragi4Objects[i120].v4y+20-y2)*(vragi4Objects[i120].v4y+20-y2))<=(60+5*primanka2)) | |
{ | |
if(vragi4Objects[i120].v4y+20<y2) | |
{vragi4Objects[i120].v4y+=(0.05f+0.1f*sqrt((float)primanka2))*lag;} | |
if(vragi4Objects[i120].v4y+20>y2) | |
{vragi4Objects[i120].v4y-=(0.05f+0.1f*sqrt((float)primanka2))*lag;} | |
} | |
for (int i52=0;i52<=N_OBJECTS-1;i52++)//контакт с предметами | |
{ | |
if((X-Objects[i52].x)>vragi4Objects[i120].v4x&&(X-Objects[i52].x)-vragi4Objects[i120].v4x<=200)//объект перед щами!!! | |
{ | |
switch(Objects[i52].type) | |
{ | |
case 0: | |
case 1: | |
case 2: | |
if(Objects[i52].y>=vragi4Objects[i120].v4y&&Objects[i52].y-vragi4Objects[i120].v4y<=50)//объект ниже | |
{ | |
if(Objects[i52].pl==0)//если объект не плоский | |
{vragi4Objects[i120].v4y-=0.4f;} | |
vragi4Objects[i120].object_id=i52;} | |
if(Objects[i52].y<vragi4Objects[i120].v4y&&vragi4Objects[i120].v4y-Objects[i52].y<=35)//объект выше | |
{vragi4Objects[i120].v4y+=0.4f;} | |
break; | |
} | |
}//закрытие объект перед щами | |
if((X-Objects[i52].x)<vragi4Objects[i120].v4x&&vragi4Objects[i120].v4x-(X-Objects[i52].x)<=100)//назад на место | |
{ | |
switch(Objects[i52].type) | |
{ | |
case 0: | |
case 1: | |
case 2: | |
if(Objects[i52].y>=vragi4Objects[i120].v4y&& | |
Objects[i52].y-vragi4Objects[i120].v4y>=30&&Objects[i52].y-vragi4Objects[i120].v4y<=80)//объект ниже | |
{vragi4Objects[i120].v4y+=0.2f;} | |
if(Objects[i52].y<vragi4Objects[i120].v4y&& | |
vragi4Objects[i120].v4y-Objects[i52].y>=15&&vragi4Objects[i120].v4y-Objects[i52].y<=50)//объект выше | |
{vragi4Objects[i120].v4y-=0.2f;} | |
break; | |
} | |
}//закрытие возврата на место | |
}//закрытие контакта с предметами | |
}//закрытие скорости | |
//если замочили - появляется заново | |
if(vragi4Objects[i120].ubit==1) | |
{ | |
if(perez_akt==vragi4Objects[i120].timeout&& | |
((perez_akt_milli>=vragi4Objects[i120].timeout_milli&&vragi4Objects[i120].timeout_milli<900)|| | |
(perez_akt_milli<vragi4Objects[i120].timeout_milli&&vragi4Objects[i120].timeout_milli>=900))) | |
{vragi4Objects[i120].ubit=0; | |
vragi4Objects[i120].bezboshki=0; | |
vragi4Objects[i120].v4x=-50; | |
if(player2_aktive==0) | |
{if(DIFF!=0) | |
{vragi4Objects[i120].v4y=hge->Random_Float(250,750);} | |
if(DIFF==0) | |
{vragi4Objects[i120].v4y=hge->Random_Float(350,650);}} | |
if(player2_aktive==1) | |
{if(DIFF!=0) | |
{vragi4Objects[i120].v4y=hge->Random_Float(150,850);} | |
if(DIFF==0) | |
{vragi4Objects[i120].v4y=hge->Random_Float(250,750);} | |
} | |
vragi4Objects[i120].health=20; | |
vragi4Objects[i120].speed=hge->Random_Float(0.5f,0.6f); | |
vragi4Objects[i120].defence=defence_zayac; | |
vragi4Objects[i120].object_id=-1; | |
vragi4Objects[i120].wait=0; | |
vragi4Objects[i120].wait_time_sec=0; | |
vragi4Objects[i120].polet=0; | |
vragi4Objects[i120].energy=0; | |
vragi4Objects[i120].rasstX=0; | |
vragi4Objects[i120].rasstY=0; | |
vragi4Objects[i120].vzorvan=false; | |
} | |
} | |
if(vragi4Objects[i120].v4x>1200&&vragi4Objects[i120].ubit!=1) // если птенец забежал за экран | |
{LIVES--; | |
vragi4Objects[i120].bezboshki=0; | |
vragi4Objects[i120].v4x=-50; | |
if(player2_aktive==0) | |
{if(DIFF!=0) | |
{vragi4Objects[i120].v4y=hge->Random_Float(250,750);} | |
if(DIFF==0) | |
{vragi4Objects[i120].v4y=hge->Random_Float(350,650);}} | |
if(player2_aktive==1) | |
{if(DIFF!=0) | |
{vragi4Objects[i120].v4y=hge->Random_Float(150,850);} | |
if(DIFF==0) | |
{vragi4Objects[i120].v4y=hge->Random_Float(250,750);}} | |
vragi4Objects[i120].health=20; | |
vragi4Objects[i120].speed=hge->Random_Float(0.5f,0.6f); | |
vragi4Objects[i120].defence=defence_zayac; | |
vragi4Objects[i120].object_id=-1; | |
vragi4Objects[i120].wait=0; | |
vragi4Objects[i120].wait_time_sec=0; | |
vragi4Objects[i120].energy=0; | |
vragi4Objects[i120].rasstX=0; | |
vragi4Objects[i120].rasstY=0; | |
vragi4Objects[i120].vzorvan=false; | |
} | |
if((((py<vragi4Objects[i120].v4y+22&&py>vragi4Objects[i120].v4y&&px<=vragi4Objects[i120].v4x&&px>vragi4Objects[i120].v4x-600*lag)|| | |
(p1d1y<vragi4Objects[i120].v4y+22&&p1d1y>vragi4Objects[i120].v4y&&p1d1x<=vragi4Objects[i120].v4x&&p1d1x>vragi4Objects[i120].v4x-600*lag)|| | |
(p1d2y<vragi4Objects[i120].v4y+22&&p1d2y>vragi4Objects[i120].v4y&&p1d2x<=vragi4Objects[i120].v4x&&p1d2x>vragi4Objects[i120].v4x-600*lag)|| | |
(p1d3y<vragi4Objects[i120].v4y+22&&p1d3y>vragi4Objects[i120].v4y&&p1d3x<=vragi4Objects[i120].v4x&&p1d3x>vragi4Objects[i120].v4x-600*lag)|| | |
(p1d4y<vragi4Objects[i120].v4y+22&&p1d4y>vragi4Objects[i120].v4y&&p1d4x<=vragi4Objects[i120].v4x&&p1d4x>vragi4Objects[i120].v4x-600*lag))&& | |
aktivatorp==1&&x-55>vragi4Objects[i120].v4x&&vragi4Objects[i120].ubit!=1)|| | |
(((p2y<vragi4Objects[i120].v4y+22&&p2y>vragi4Objects[i120].v4y&&p2x<=vragi4Objects[i120].v4x&&p2x>vragi4Objects[i120].v4x-600*lag)|| | |
(p2d1y<vragi4Objects[i120].v4y+22&&p2d1y>vragi4Objects[i120].v4y&&p2d1x<=vragi4Objects[i120].v4x&&p2d1x>vragi4Objects[i120].v4x-600*lag)|| | |
(p2d2y<vragi4Objects[i120].v4y+22&&p2d2y>vragi4Objects[i120].v4y&&p2d2x<=vragi4Objects[i120].v4x&&p2d2x>vragi4Objects[i120].v4x-600*lag)|| | |
(p2d3y<vragi4Objects[i120].v4y+22&&p2d3y>vragi4Objects[i120].v4y&&p2d3x<=vragi4Objects[i120].v4x&&p2d3x>vragi4Objects[i120].v4x-600*lag)|| | |
(p2d4y<vragi4Objects[i120].v4y+22&&p2d4y>vragi4Objects[i120].v4y&&p2d4x<=vragi4Objects[i120].v4x&&p2d4x>vragi4Objects[i120].v4x-600*lag))&& | |
aktivatorp2==1&&x2-55>vragi4Objects[i120].v4x&&vragi4Objects[i120].ubit!=1))//просчёт урона | |
{ | |
if(shot==0) | |
{ | |
if(((py<vragi4Objects[i120].v4y+22&&py>vragi4Objects[i120].v4y&&px<=vragi4Objects[i120].v4x&&px>vragi4Objects[i120].v4x-600*lag)|| | |
(p1d1y<vragi4Objects[i120].v4y+22&&p1d1y>vragi4Objects[i120].v4y&&p1d1x<=vragi4Objects[i120].v4x&&p1d1x>vragi4Objects[i120].v4x-600*lag)|| | |
(p1d2y<vragi4Objects[i120].v4y+22&&p1d2y>vragi4Objects[i120].v4y&&p1d2x<=vragi4Objects[i120].v4x&&p1d2x>vragi4Objects[i120].v4x-600*lag)|| | |
(p1d3y<vragi4Objects[i120].v4y+22&&p1d3y>vragi4Objects[i120].v4y&&p1d3x<=vragi4Objects[i120].v4x&&p1d3x>vragi4Objects[i120].v4x-600*lag)|| | |
(p1d4y<vragi4Objects[i120].v4y+22&&p1d4y>vragi4Objects[i120].v4y&&p1d4x<=vragi4Objects[i120].v4x&&p1d4x>vragi4Objects[i120].v4x-600*lag))&& | |
aktivatorp==1&&x-55>vragi4Objects[i120].v4x) | |
{vragi4Objects[i120].killed_by=1;}//попал игрок 1 | |
if(((p2y<vragi4Objects[i120].v4y+22&&p2y>vragi4Objects[i120].v4y&&p2x<=vragi4Objects[i120].v4x&&p2x>vragi4Objects[i120].v4x-600*lag)|| | |
(p2d1y<vragi4Objects[i120].v4y+22&&p2d1y>vragi4Objects[i120].v4y&&p2d1x<=vragi4Objects[i120].v4x&&p2d1x>vragi4Objects[i120].v4x-600*lag)|| | |
(p2d2y<vragi4Objects[i120].v4y+22&&p2d2y>vragi4Objects[i120].v4y&&p2d2x<=vragi4Objects[i120].v4x&&p2d2x>vragi4Objects[i120].v4x-600*lag)|| | |
(p2d3y<vragi4Objects[i120].v4y+22&&p2d3y>vragi4Objects[i120].v4y&&p2d3x<=vragi4Objects[i120].v4x&&p2d3x>vragi4Objects[i120].v4x-600*lag)|| | |
(p2d4y<vragi4Objects[i120].v4y+22&&p2d4y>vragi4Objects[i120].v4y&&p2d4x<=vragi4Objects[i120].v4x&&p2d4x>vragi4Objects[i120].v4x-600*lag))&& | |
aktivatorp2==1&&x2-55>vragi4Objects[i120].v4x) | |
{vragi4Objects[i120].killed_by=2;}//попал игрок 2 | |
if(((py<vragi4Objects[i120].v4y+22&&py>vragi4Objects[i120].v4y)|| | |
(p1d1y<vragi4Objects[i120].v4y+22&&p1d1y>vragi4Objects[i120].v4y)|| | |
(p1d2y<vragi4Objects[i120].v4y+22&&p1d2y>vragi4Objects[i120].v4y)|| | |
(p1d3y<vragi4Objects[i120].v4y+22&&p1d3y>vragi4Objects[i120].v4y)|| | |
(p1d4y<vragi4Objects[i120].v4y+22&&p1d4y>vragi4Objects[i120].v4y))|| | |
((p2y<vragi4Objects[i120].v4y+22&&p2y>vragi4Objects[i120].v4y)|| | |
(p2d1y<vragi4Objects[i120].v4y+22&&p2d1y>vragi4Objects[i120].v4y)|| | |
(p2d2y<vragi4Objects[i120].v4y+22&&p2d2y>vragi4Objects[i120].v4y)|| | |
(p2d3y<vragi4Objects[i120].v4y+22&&p2d3y>vragi4Objects[i120].v4y)|| | |
(p2d4y<vragi4Objects[i120].v4y+22&&p2d4y>vragi4Objects[i120].v4y)))//ОБЫЧНОЕ ПОПАДАНИЕ | |
{ | |
if(vragi4Objects[i120].killed_by==1) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi4Objects[i120].defence>=5|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi4Objects[i120].defence>=5) | |
{ | |
if(LVL1%2==0) | |
{vragi4Objects[i120].health-=damage[N_WEAPON1]+LVL1/2*attack1-vragi4Objects[i120].defence;} | |
if(LVL1%2==1) | |
{vragi4Objects[i120].health-=damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi4Objects[i120].defence;} | |
} | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi4Objects[i120].defence<5|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi4Objects[i120].defence<5) | |
{vragi4Objects[i120].health-=5;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi4Objects[i120].health-=damage[N_WEAPON1];} | |
}//урон от оружия игрока 1 | |
if(vragi4Objects[i120].killed_by==2) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi4Objects[i120].defence>=5|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi4Objects[i120].defence>=5) | |
{ | |
if(LVL2%2==0) | |
{vragi4Objects[i120].health-=damage[N_WEAPON2]+LVL2/2*attack2-vragi4Objects[i120].defence;} | |
if(LVL2%2==1) | |
{vragi4Objects[i120].health-=damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi4Objects[i120].defence;} | |
} | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi4Objects[i120].defence<5|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi4Objects[i120].defence<5) | |
{vragi4Objects[i120].health-=5;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi4Objects[i120].health-=damage[N_WEAPON2];} | |
}//урон от оружия игрока 2 | |
hge->Effect_PlayEx(shot1,volume*8/10,0,0); | |
}//ЗАКРЫТИЕ ПОПАДАНИЯ | |
if(((py<=vragi4Objects[i120].v4y+11&&py>vragi4Objects[i120].v4y)|| | |
(p1d1y<=vragi4Objects[i120].v4y+11&&p1d1y>vragi4Objects[i120].v4y)|| | |
(p1d2y<=vragi4Objects[i120].v4y+11&&p1d2y>vragi4Objects[i120].v4y)|| | |
(p1d3y<=vragi4Objects[i120].v4y+11&&p1d3y>vragi4Objects[i120].v4y)|| | |
(p1d4y<=vragi4Objects[i120].v4y+11&&p1d4y>vragi4Objects[i120].v4y))|| | |
((p2y<=vragi4Objects[i120].v4y+11&&p2y>vragi4Objects[i120].v4y)|| | |
(p2d1y<=vragi4Objects[i120].v4y+11&&p2d1y>vragi4Objects[i120].v4y)|| | |
(p2d2y<=vragi4Objects[i120].v4y+11&&p2d2y>vragi4Objects[i120].v4y)|| | |
(p2d3y<=vragi4Objects[i120].v4y+11&&p2d3y>vragi4Objects[i120].v4y)|| | |
(p2d4y<=vragi4Objects[i120].v4y+11&&p2d4y>vragi4Objects[i120].v4y)))//ХЭДШОТ!!! | |
{ | |
if(vragi4Objects[i120].killed_by==1) | |
{vragi4Objects[i120].health-=damage[N_WEAPON1]; | |
points1+=25;}//урон от оружия игрока 1 | |
if(vragi4Objects[i120].killed_by==2) | |
{vragi4Objects[i120].health-=damage[N_WEAPON2]; | |
points2+=25;}//урон от оружия игрока 2 | |
headshotPan=-75+vragi4Objects[i120].v4x/9; | |
headshot(); | |
if(vragi4Objects[i120].health<-40)//отрывание бошки | |
{ | |
vragi4Objects[i120].bezboshki=1; | |
if(vragi4Objects[i120].killed_by==1) | |
{points1+=25;} | |
if(vragi4Objects[i120].killed_by==2) | |
{points2+=25;} | |
}//закрытие отрывания бошки | |
}//ХЭДШОТ ЗАКОНЧИЛСЯ | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
shot=1; | |
if(vragi4Objects[i120].killed_by==1) | |
{ | |
if(N_WEAPON1==1||N_WEAPON1==2||N_WEAPON1==4||N_WEAPON1==6||N_WEAPON1==9)//если это ПМ или ПП19 или ТТ или МАС или Glock то патрон слабый | |
{aktivatorp=0; | |
oboima-=1;} | |
if(N_WEAPON1==7) | |
{ | |
if(ppp==2) | |
{p1d1y=y-9; | |
p1d1x=x-24;} | |
if(ppp==3) | |
{p1d2y=y-9; | |
p1d2x=x-24;} | |
if(ppp==4) | |
{p1d3y=y-9; | |
p1d3x=x-24;} | |
if(ppp==5) | |
{p1d4y=y-9; | |
p1d4x=x-24;} | |
} | |
if(N_WEAPON1==0||N_WEAPON1==3||N_WEAPON1==5||N_WEAPON1==8)// если это АК то косит всех подряд | |
{shot=0;} | |
} | |
if(vragi4Objects[i120].killed_by==2) | |
{ | |
if(N_WEAPON2==1||N_WEAPON2==2||N_WEAPON2==4||N_WEAPON2==6||N_WEAPON2==9)//если это ПМ или ПП19 или ТТ или МАС или Glock то патрон слабый | |
{aktivatorp2=0; | |
oboima2-=1;} | |
if(N_WEAPON2==7) | |
{ | |
if(ppp==2) | |
{p2d1y=y2-9; | |
p2d1x=x2-24;} | |
if(ppp==3) | |
{p2d2y=y2-9; | |
p2d2x=x2-24;} | |
if(ppp==4) | |
{p2d3y=y2-9; | |
p2d3x=x2-24;} | |
if(ppp==5) | |
{p2d4y=y2-9; | |
p2d4x=x2-24;} | |
} | |
if(N_WEAPON2==0||N_WEAPON2==3||N_WEAPON2==5||N_WEAPON2==8)// если это АК то косит всех подряд | |
{shot=0;} | |
} | |
}//if shot==0 | |
}//закрытие просчёта урона волку | |
//холодное оружие | |
if((katana1_anime->IsPlaying()==true&&katana1_anime->GetFrame()==2&&vragi4Objects[i120].health>0&&x-55>vragi4Objects[i120].v4x&& | |
vragi4Objects[i120].v4x+22>x-95&&y<vragi4Objects[i120].v4y+22&&y>vragi4Objects[i120].v4y)|| | |
(katana2_anime->IsPlaying()==true&&katana2_anime->GetFrame()==2&&vragi4Objects[i120].health>0&&x2-55>vragi4Objects[i120].v4x&& | |
vragi4Objects[i120].v4x+22>x2-95&&y2<vragi4Objects[i120].v4y+22&&y2>vragi4Objects[i120].v4y)) | |
{ | |
if(katana1_anime->IsPlaying()==true&&katana1_anime->GetFrame()==2&&vragi4Objects[i120].health>0&&x-55>vragi4Objects[i120].v4x&& | |
vragi4Objects[i120].v4x+22>x-95&&y<vragi4Objects[i120].v4y+22&&y>vragi4Objects[i120].v4y) | |
{vragi4Objects[i120].killed_by=1;} | |
if(katana2_anime->IsPlaying()==true&&katana2_anime->GetFrame()==2&&vragi4Objects[i120].health>0&&x2-55>vragi4Objects[i120].v4x&& | |
vragi4Objects[i120].v4x+22>x2-95&&y2<vragi4Objects[i120].v4y+22&&y2>vragi4Objects[i120].v4y) | |
{vragi4Objects[i120].killed_by=2;} | |
if((y<=vragi4Objects[i120].v4y+11&&y>vragi4Objects[i120].v4y)|| | |
(y2<=vragi4Objects[i120].v4y+11&&y2>vragi4Objects[i120].v4y))//ХЭДШОТ!!! | |
{ | |
if(vragi4Objects[i120].killed_by==1) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi4Objects[i120].defence>=5|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi4Objects[i120].defence>=5) | |
{ | |
if(CLASSMOD==true&&class1==1) | |
{ | |
if(LVL1%2==0) | |
{vragi4Objects[i120].health-=(damage[N_WEAPON1]+LVL1/2*attack1)*1.2f-vragi4Objects[i120].defence;} | |
if(LVL1%2==1) | |
{vragi4Objects[i120].health-=(damage[N_WEAPON1]+(LVL1-1)/2*attack1)*1.2f-vragi4Objects[i120].defence;} | |
} | |
if(CLASSMOD==false||class1!=1) | |
{ | |
if(LVL1%2==0) | |
{vragi4Objects[i120].health-=damage[N_WEAPON1]+LVL1/2*attack1-vragi4Objects[i120].defence;} | |
if(LVL1%2==1) | |
{vragi4Objects[i120].health-=damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi4Objects[i120].defence;} | |
} | |
} | |
//гарантированный урон | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi4Objects[i120].defence<5|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi4Objects[i120].defence<5) | |
{vragi4Objects[i120].health-=5;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi4Objects[i120].health-=damage[N_WEAPON1];} | |
if(RPGMOD==false&&CLASSMOD==true&&class1==1) | |
{vragi4Objects[i120].health-=damage[N_WEAPON1]*1.2f;} | |
points1+=25;}//урон от оружия игрока 1 | |
if(vragi4Objects[i120].killed_by==2) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi4Objects[i120].defence>=5|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi4Objects[i120].defence>=5) | |
{ | |
if(CLASSMOD==true&&class2==1) | |
{ | |
if(LVL2%2==0) | |
{vragi4Objects[i120].health-=(damage[N_WEAPON2]+LVL2/2*attack2)*1.2f-vragi4Objects[i120].defence;} | |
if(LVL2%2==1) | |
{vragi4Objects[i120].health-=(damage[N_WEAPON2]+(LVL2-1)/2*attack2)*1.2f-vragi4Objects[i120].defence;} | |
} | |
if(CLASSMOD==false||class2!=1) | |
{ | |
if(LVL2%2==0) | |
{vragi4Objects[i120].health-=damage[N_WEAPON2]+LVL2/2*attack2-vragi4Objects[i120].defence;} | |
if(LVL2%2==1) | |
{vragi4Objects[i120].health-=damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi4Objects[i120].defence;} | |
} | |
} | |
//гарантированный урон | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi4Objects[i120].defence<5|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi4Objects[i120].defence<5) | |
{vragi4Objects[i120].health-=5;} | |
}//RPG | |
if(RPGMOD==false&&CLASSMOD==false) | |
{vragi4Objects[i120].health-=damage[N_WEAPON2];} | |
if(RPGMOD==false&&CLASSMOD==true&&class2==1) | |
{vragi4Objects[i120].health-=damage[N_WEAPON2]*1.2f;} | |
points2+=25;}//урон от оружия игрока 2 | |
headshotPan=-75+(vragi4Objects[i120].v4x+120)/9; | |
headshot(); | |
}//ХЭДШОТ ЗАКОНЧИЛСЯ | |
if(vragi4Objects[i120].killed_by==1) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi4Objects[i120].defence>=10|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi4Objects[i120].defence>=10) | |
{ | |
if(CLASSMOD==true&&class1==1) | |
{ | |
if(LVL1%2==0) | |
{vragi4Objects[i120].health-=(damage[N_WEAPON1]+LVL1/2*attack1)*1.2f-vragi4Objects[i120].defence;} | |
if(LVL1%2==1) | |
{vragi4Objects[i120].health-=(damage[N_WEAPON1]+(LVL1-1)/2*attack1)*1.2f-vragi4Objects[i120].defence;} | |
} | |
if(CLASSMOD==false||class1!=1) | |
{ | |
if(LVL1%2==0) | |
{vragi4Objects[i120].health-=damage[N_WEAPON1]+LVL1/2*attack1-vragi4Objects[i120].defence;} | |
if(LVL1%2==1) | |
{vragi4Objects[i120].health-=damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi4Objects[i120].defence;} | |
} | |
} | |
//гарантированный урон | |
if(damage[N_WEAPON1]+LVL1/2*attack1-vragi4Objects[i120].defence<10|| | |
damage[N_WEAPON1]+(LVL1-1)/2*attack1-vragi4Objects[i120].defence<10) | |
{vragi4Objects[i120].health-=10;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi4Objects[i120].health-=damage[N_WEAPON1];} | |
krovyakObjects[N_BLOOD].y1=y-10; //КРОВЯК (вперед) | |
krovyakObjects[N_BLOOD].y2=y; | |
} | |
if(vragi4Objects[i120].killed_by==2) | |
{ | |
if(RPGMOD==true)//RPG | |
{ | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi4Objects[i120].defence>=10|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi4Objects[i120].defence>=10) | |
{ | |
if(CLASSMOD==true&&class2==1) | |
{ | |
if(LVL2%2==0) | |
{vragi4Objects[i120].health-=(damage[N_WEAPON2]+LVL2/2*attack2)*1.2f-vragi4Objects[i120].defence;} | |
if(LVL2%2==1) | |
{vragi4Objects[i120].health-=(damage[N_WEAPON2]+(LVL2-1)/2*attack2)*1.2f-vragi4Objects[i120].defence;} | |
} | |
if(CLASSMOD==false&&class2!=1) | |
{ | |
if(LVL2%2==0) | |
{vragi4Objects[i120].health-=damage[N_WEAPON2]+LVL2/2*attack2-vragi4Objects[i120].defence;} | |
if(LVL2%2==1) | |
{vragi4Objects[i120].health-=damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi4Objects[i120].defence;} | |
} | |
} | |
//гарантированный урон | |
if(damage[N_WEAPON2]+LVL2/2*attack2-vragi4Objects[i120].defence<10|| | |
damage[N_WEAPON2]+(LVL2-1)/2*attack2-vragi4Objects[i120].defence<10) | |
{vragi4Objects[i120].health-=10;} | |
}//RPG | |
if(RPGMOD==false) | |
{vragi4Objects[i120].health-=damage[N_WEAPON2];} | |
krovyakObjects[N_BLOOD].y1=y2-10; //КРОВЯК (вперед) | |
krovyakObjects[N_BLOOD].y2=y2; | |
} | |
krovyakObjects[N_BLOOD].seed=hge->Random_Int(101,103); | |
krovyakObjects[N_BLOOD].vrag=2; | |
krovyakObjects[N_BLOOD].x2=x-95+10; | |
krovyakObjects[N_BLOOD].x1=x-95+35; | |
krovyakObjects[N_BLOOD].xstart=x-95+10; | |
krovyakObjects[N_BLOOD].niz=vragi4Objects[i120].v4y+60; | |
krovyakObjects[N_BLOOD].blood_time=GetTime(); | |
krovyakObjects[N_BLOOD].blood_time_sec=perez_akt; | |
krovyakObjects[N_BLOOD].akt=1; | |
krovyakObjects[N_BLOOD].faza=1; | |
N_BLOOD++; | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
hge->Effect_PlayEx(shot1,volume*8/10,0,0); | |
}//холодное оружие | |
if(vragi4Objects[i120].health<=0&&vragi4Objects[i120].ubit==0)//убийство птенца | |
{ | |
ptenec->Stop(); | |
hge->Effect_PlayEx(ptenec_death1,volume*9/10,headshotPan,0); | |
vragi4Objects[i120].ubit=1; | |
vragi4Objects[i120].timeout_milli=GetTime(); | |
switch(DIFF) | |
{ | |
case 0: | |
if(perez_akt<50) | |
{vragi4Objects[i120].timeout=perez_akt+10;} | |
if(perez_akt>=51) | |
{vragi4Objects[i120].timeout=perez_akt-50;} | |
break; | |
case 1: | |
if(perez_akt<45) | |
{vragi4Objects[i120].timeout=perez_akt+15;} | |
if(perez_akt>=46) | |
{vragi4Objects[i120].timeout=perez_akt-45;} | |
break; | |
case 2: | |
if(perez_akt<40) | |
{vragi4Objects[i120].timeout=perez_akt+20;} | |
if(perez_akt>=41) | |
{vragi4Objects[i120].timeout=perez_akt-40;} | |
break; | |
} | |
//БОНУС?! | |
bonus_shans(); | |
if(vragi4Objects[i120].killed_by==1) | |
{ | |
if(bonus>=371&&bonus<=379+5*luck1) | |
{ | |
bonusiObjects[N_BONUS].x1=vragi4Objects[i120].v4x+5; | |
bonusiObjects[N_BONUS].y1=vragi4Objects[i120].v4y+5; | |
bonusiObjects[N_BONUS].x1_s=vragi4Objects[i120].v4x+5; | |
bonusiObjects[N_BONUS].x1_X=X; | |
bonusiObjects[N_BONUS].x2=vragi4Objects[i120].v4x+35; | |
bonusiObjects[N_BONUS].y2=vragi4Objects[i120].v4y+35; | |
bonusiObjects[N_BONUS].x2_s=vragi4Objects[i120].v4x+35; | |
bonusiObjects[N_BONUS].x2_X=X; | |
bonusiObjects[N_BONUS].appear_time_milli=GetTime(); | |
bonusiObjects[N_BONUS].appear_time=perez_akt; | |
bonusiObjects[N_BONUS].type=0; | |
bonusiObjects[N_BONUS].akt=1; | |
bonusiObjects[N_BONUS].spin=0; | |
bonusiObjects[N_BONUS].visible=true; | |
bonusiObjects[N_BONUS].mig_akt=0; | |
N_BONUS++; | |
if(N_BONUS>=MAX_BONUS-1) | |
{N_BONUS=0;} | |
} | |
}//if(vragi4Objects[i120].killed_by==1) | |
if(vragi4Objects[i120].killed_by==2) | |
{ | |
if(bonus>=371&&bonus<=379+5*luck2) | |
{ | |
bonusiObjects[N_BONUS].x1=vragi4Objects[i120].v4x+5; | |
bonusiObjects[N_BONUS].y1=vragi4Objects[i120].v4y+5; | |
bonusiObjects[N_BONUS].x1_s=vragi4Objects[i120].v4x+5; | |
bonusiObjects[N_BONUS].x1_X=X; | |
bonusiObjects[N_BONUS].x2=vragi4Objects[i120].v4x+35; | |
bonusiObjects[N_BONUS].y2=vragi4Objects[i120].v4y+35; | |
bonusiObjects[N_BONUS].x2_s=vragi4Objects[i120].v4x+35; | |
bonusiObjects[N_BONUS].x2_X=X; | |
bonusiObjects[N_BONUS].appear_time_milli=GetTime(); | |
bonusiObjects[N_BONUS].appear_time=perez_akt; | |
bonusiObjects[N_BONUS].type=0; | |
bonusiObjects[N_BONUS].akt=1; | |
bonusiObjects[N_BONUS].spin=0; | |
bonusiObjects[N_BONUS].visible=true; | |
bonusiObjects[N_BONUS].mig_akt=0; | |
N_BONUS++; | |
if(N_BONUS>=MAX_BONUS-1) | |
{N_BONUS=0;} | |
} | |
}//if(vragi4Objects[i120].killed_by==2) | |
if(vragi4Objects[i120].health>=-100)//ПРОСТОЕ УБИЙСТВО | |
{ | |
if(vragi4Objects[i120].killed_by==1) | |
{kills++; | |
//статистика | |
ubijstva[N_KILLS].player=1; | |
ubijstva[N_KILLS].vrag=4; | |
ubijstva[N_KILLS].weapon=N_WEAPON1; | |
ubijstva[N_KILLS].bezuh=false; | |
ubijstva[N_KILLS].bezboshki=false; | |
ubijstva[N_KILLS].headshot=false; | |
ubijstva[N_KILLS].vschiii=false; | |
N_KILLS++; | |
if(N_KILLS>=MAX_KILLS-1) | |
{N_KILLS=0;} | |
//статистика | |
points1+=20; | |
opit1+=(20+vragi4Objects[i120].defence*vragi4Objects[i120].defence/LVL1)*w_opit_zayac[N_WEAPON1]*(1+0.25f*umnik1)/daun1; | |
} | |
if(vragi4Objects[i120].killed_by==2) | |
{kills2++; | |
//статистика | |
ubijstva[N_KILLS].player=2; | |
ubijstva[N_KILLS].vrag=4; | |
ubijstva[N_KILLS].weapon=N_WEAPON2; | |
ubijstva[N_KILLS].bezuh=false; | |
ubijstva[N_KILLS].bezboshki=false; | |
ubijstva[N_KILLS].headshot=false; | |
ubijstva[N_KILLS].vschiii=false; | |
N_KILLS++; | |
if(N_KILLS>=MAX_KILLS-1) | |
{N_KILLS=0;} | |
//статистика | |
points2+=20; | |
opit2+=(20+vragi4Objects[i120].defence*vragi4Objects[i120].defence/LVL2)*w_opit_zayac[N_WEAPON2]*(1+0.25f*umnik2)/daun2; | |
} | |
trupsObjects[N_TRUPS].killtime=GetTime();//лужа кровяка | |
trupsObjects[N_TRUPS].killtime_sec=perez_akt; | |
trupsObjects[N_TRUPS].posX=vragi4Objects[i120].v4x+5; | |
trupsObjects[N_TRUPS].posY=vragi4Objects[i120].v4y+15; | |
trupsObjects[N_TRUPS].posX_s=vragi4Objects[i120].v4x+5; | |
trupsObjects[N_TRUPS].posX_X=X; | |
trupsObjects[N_TRUPS].vrag=4; | |
trupsObjects[N_TRUPS].scaleX=0.1f; | |
trupsObjects[N_TRUPS].scaleY=0; | |
trupsObjects[N_TRUPS].aktiv=1; | |
trupsObjects[N_TRUPS].type=9; | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
//ВСПЛЕСК ДРИСНИ (БОШКА ПТЕНЦА) | |
krovyakObjects[N_BLOOD].seed=1002; | |
krovyakObjects[N_BLOOD].x1=vragi4Objects[i120].v4x-5; | |
krovyakObjects[N_BLOOD].x2=vragi4Objects[i120].v4x-5; | |
krovyakObjects[N_BLOOD].xstart=1; | |
krovyakObjects[N_BLOOD].y1=vragi4Objects[i120].v4y-10; | |
krovyakObjects[N_BLOOD].y2=vragi4Objects[i120].v4y-10; | |
krovyakObjects[N_BLOOD].blood_time=GetTime(); | |
krovyakObjects[N_BLOOD].blood_time_sec=perez_akt; | |
krovyakObjects[N_BLOOD].akt=1; | |
krovyakObjects[N_BLOOD].faza=1; | |
N_BLOOD++; | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
trupsObjects[N_TRUPS].type=30; | |
trupsObjects[N_TRUPS].killtime=GetTime(); | |
trupsObjects[N_TRUPS].killtime_sec=perez_akt; | |
trupsObjects[N_TRUPS].frame=1; | |
trupsObjects[N_TRUPS].frame_akt=1; | |
trupsObjects[N_TRUPS].posX=vragi4Objects[i120].v4x; | |
trupsObjects[N_TRUPS].posY=vragi4Objects[i120].v4y; | |
trupsObjects[N_TRUPS].posX_s=vragi4Objects[i120].v4x; | |
trupsObjects[N_TRUPS].posX_X=X; | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
vragi4Objects[i120].polet=1; | |
vragi4Objects[i120].krug=0; | |
vragi4Objects[i120].rx=vragi4Objects[i120].v4x+hge->Random_Int(-400,400); | |
vragi4Objects[i120].ry=vragi4Objects[i120].v4y+hge->Random_Int(-400,-200); | |
vragi4Objects[i120].r=hge->Random_Int(75,150); | |
//vragi4Objects[i120].speedX=hge->Random_Float(2,2.5f); | |
vragi4Objects[i120].speedY=hge->Random_Float(2,2.5f); | |
vragi4Objects[i120].up=true; | |
vragi4Objects[i120].kruzhit=false; | |
vragi4Objects[i120].zahod=-1; | |
if(vragi4Objects[i120].rx>=vragi4Objects[i120].v4x) | |
{vragi4Objects[i120].chetvert=1; | |
vragi4Objects[i120].chetvert_n=1;} | |
if(vragi4Objects[i120].rx<vragi4Objects[i120].v4x) | |
{vragi4Objects[i120].chetvert=-1; | |
vragi4Objects[i120].chetvert_n=-1;} | |
}//ПРОСТОЕ УБИЙСТВО | |
if(vragi4Objects[i120].health<-100)//РАЗРЫВ В ЩИ | |
{ | |
//ВСПЛЕСК ДРИСНИ | |
krovyakObjects[N_BLOOD].seed=1001; | |
krovyakObjects[N_BLOOD].x1=vragi4Objects[i120].v4x+10; | |
krovyakObjects[N_BLOOD].x2=vragi4Objects[i120].v4x+10; | |
krovyakObjects[N_BLOOD].xstart=hge->Random_Float(0.8f,1); | |
krovyakObjects[N_BLOOD].y1=vragi4Objects[i120].v4y+5; | |
krovyakObjects[N_BLOOD].y2=vragi4Objects[i120].v4y+5; | |
krovyakObjects[N_BLOOD].blood_time=GetTime(); | |
krovyakObjects[N_BLOOD].blood_time_sec=perez_akt; | |
krovyakObjects[N_BLOOD].akt=1; | |
krovyakObjects[N_BLOOD].faza=1; | |
N_BLOOD++; | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
myasorazrivPan=-75+vragi4Objects[i120].v4x/9; | |
myasko_razriv(); | |
//крупное мясо | |
for (int i131=1;i131<=10;i131++) | |
{ | |
myasko[N_MYASO].seed=hge->Random_Int(1,5); | |
myasko[N_MYASO].x1=vragi4Objects[i120].v4x+hge->Random_Float(0,10); | |
myasko[N_MYASO].y1=vragi4Objects[i120].v4y+hge->Random_Float(-5,5); | |
myasko[N_MYASO].niz=vragi4Objects[i120].v4y+hge->Random_Float(15,50); | |
myasko[N_MYASO].xstart=myasko[N_MYASO].x1; | |
myasko[N_MYASO].type=1; | |
myasko[N_MYASO].myaso_time_sec=perez_akt; | |
myasko[N_MYASO].myaso_time=GetTime(); | |
myasko[N_MYASO].scaleX=hge->Random_Float(0.2f,0.3f); | |
myasko[N_MYASO].gradus=hge->Random_Float(0,1); | |
myasko[N_MYASO].speedX=hge->Random_Float(0.8f,1.6f); | |
myasko[N_MYASO].akt=1; | |
myasko[N_MYASO].bzdik=0; | |
myasko[N_MYASO].energy=0; | |
if(vragi4Objects[i120].vzorvan==true) | |
{myasko[N_MYASO].energy=vragi4Objects[i120].energy; | |
//передача энергии(выше) и её распределение | |
//если не прям под щами | |
if(myasko[N_MYASO].energy<=0.9f) | |
{ | |
if(vragi4Objects[i120].chetvert==1) | |
{myasko[N_MYASO].speedX=hge->Random_Float(1,3)*myasko[N_MYASO].energy*(vragi4Objects[i120].rasstX/(vragi4Objects[i120].rasstX+vragi4Objects[i120].rasstY)); | |
myasko[N_MYASO].speedY=-hge->Random_Float(1,3)*myasko[N_MYASO].energy*(vragi4Objects[i120].rasstY/(vragi4Objects[i120].rasstX+vragi4Objects[i120].rasstY)); | |
myasko[N_MYASO].niz=vragi4Objects[i120].v4y+20*myasko[N_MYASO].speedY;} | |
if(vragi4Objects[i120].chetvert==2) | |
{myasko[N_MYASO].speedX=hge->Random_Float(1,3)*myasko[N_MYASO].energy*(vragi4Objects[i120].rasstX/(vragi4Objects[i120].rasstX+vragi4Objects[i120].rasstY)); | |
myasko[N_MYASO].speedY=hge->Random_Float(1,3)*myasko[N_MYASO].energy*(vragi4Objects[i120].rasstY/(vragi4Objects[i120].rasstX+vragi4Objects[i120].rasstY)); | |
myasko[N_MYASO].niz=vragi4Objects[i120].v4y-20*myasko[N_MYASO].speedY;} | |
if(vragi4Objects[i120].chetvert==3) | |
{myasko[N_MYASO].speedX=-1*hge->Random_Float(1,3)*myasko[N_MYASO].energy*(vragi4Objects[i120].rasstX/(vragi4Objects[i120].rasstX+vragi4Objects[i120].rasstY)); | |
myasko[N_MYASO].speedY=hge->Random_Float(1,3)*myasko[N_MYASO].energy*(vragi4Objects[i120].rasstY/(vragi4Objects[i120].rasstX+vragi4Objects[i120].rasstY)); | |
myasko[N_MYASO].niz=vragi4Objects[i120].v4y-20*myasko[N_MYASO].speedY;} | |
if(vragi4Objects[i120].chetvert==4) | |
{myasko[N_MYASO].speedX=-1*hge->Random_Float(1,3)*myasko[N_MYASO].energy*(vragi4Objects[i120].rasstX/(vragi4Objects[i120].rasstX+vragi4Objects[i120].rasstY)); | |
myasko[N_MYASO].speedY=-hge->Random_Float(1,3)*myasko[N_MYASO].energy*(vragi4Objects[i120].rasstY/(vragi4Objects[i120].rasstX+vragi4Objects[i120].rasstY)); | |
myasko[N_MYASO].niz=vragi4Objects[i120].v4y+20*myasko[N_MYASO].speedY;} | |
}//если не прям под щами | |
//если прям под щами | |
if(myasko[N_MYASO].energy>0.9f) | |
{ | |
myasko[N_MYASO].speedY=-hge->Random_Float(5,8)*myasko[N_MYASO].energy; | |
myasko[N_MYASO].speedX=hge->Random_Float(-1,1)*myasko[N_MYASO].energy; | |
myasko[N_MYASO].niz=vragi4Objects[i120].v4y+hge->Random_Float(20,60)*myasko[N_MYASO].energy; | |
}//если прям под щами | |
}//закрытие взорванного мяса | |
N_MYASO++; | |
if(N_MYASO>=MAX_MYASO-1) | |
{N_MYASO=0;} | |
} | |
//крупное мясо | |
if(vragi4Objects[i120].killed_by==1) | |
{kills++; | |
//статистика | |
ubijstva[N_KILLS].player=1; | |
ubijstva[N_KILLS].vrag=4; | |
ubijstva[N_KILLS].weapon=N_WEAPON1; | |
ubijstva[N_KILLS].bezuh=false; | |
ubijstva[N_KILLS].bezboshki=false; | |
ubijstva[N_KILLS].headshot=false; | |
ubijstva[N_KILLS].vschiii=true; | |
N_KILLS++; | |
if(N_KILLS>=MAX_KILLS-1) | |
{N_KILLS=0;} | |
//статистика | |
points1+=30; | |
opit1+=(30+vragi4Objects[i120].defence*vragi4Objects[i120].defence/LVL1)*w_opit_zayac[N_WEAPON1]*(1+0.25f*umnik1)/daun1; | |
} | |
if(vragi4Objects[i120].killed_by==2) | |
{kills2++; | |
//статистика | |
ubijstva[N_KILLS].player=2; | |
ubijstva[N_KILLS].vrag=4; | |
ubijstva[N_KILLS].weapon=N_WEAPON2; | |
ubijstva[N_KILLS].bezuh=false; | |
ubijstva[N_KILLS].bezboshki=false; | |
ubijstva[N_KILLS].headshot=false; | |
ubijstva[N_KILLS].vschiii=true; | |
N_KILLS++; | |
if(N_KILLS>=MAX_KILLS-1) | |
{N_KILLS=0;} | |
//статистика | |
points2+=30; | |
opit2+=(30+vragi4Objects[i120].defence*vragi4Objects[i120].defence/LVL2)*w_opit_zayac[N_WEAPON2]*(1+0.25f*umnik2)/daun2; | |
} | |
}//РАЗРЫВ В ЩИ | |
}//закрытие убийства птенца | |
if(vragi4Objects[i120].polet==1)//polet | |
{ | |
//летим к радиусу | |
if(sqrt((vragi4Objects[i120].v4y-vragi4Objects[i120].ry)*(vragi4Objects[i120].v4y-vragi4Objects[i120].ry)+ | |
(vragi4Objects[i120].v4x-vragi4Objects[i120].rx)*(vragi4Objects[i120].v4x-vragi4Objects[i120].rx))>=vragi4Objects[i120].r&& | |
vragi4Objects[i120].kruzhit==false) | |
{ | |
vragi4Objects[i120].v4y-=vragi4Objects[i120].speedY*lag; | |
if(vragi4Objects[i120].v4x>=vragi4Objects[i120].rx) | |
{vragi4Objects[i120].v4x-=vragi4Objects[i120].speedY*(vragi4Objects[i120].v4x-vragi4Objects[i120].rx)/(vragi4Objects[i120].v4y-vragi4Objects[i120].ry)*lag;} | |
if(vragi4Objects[i120].v4x<vragi4Objects[i120].rx) | |
{vragi4Objects[i120].v4x+=vragi4Objects[i120].speedY*(vragi4Objects[i120].rx-vragi4Objects[i120].v4x)/(vragi4Objects[i120].v4y-vragi4Objects[i120].ry)*lag;} | |
if(sqrt((vragi4Objects[i120].v4y-vragi4Objects[i120].ry)*(vragi4Objects[i120].v4y-vragi4Objects[i120].ry)+ | |
(vragi4Objects[i120].v4x-vragi4Objects[i120].rx)*(vragi4Objects[i120].v4x-vragi4Objects[i120].rx))<=vragi4Objects[i120].r) | |
{vragi4Objects[i120].kruzhit=true; | |
if(vragi4Objects[i120].krug==0) | |
{vragi4Objects[i120].gradus=0; | |
vragi4Objects[i120].gradusNext=M_PI-M_PI_4;} | |
} | |
} | |
//прилетели к радиусу | |
//летим по кругу | |
if(vragi4Objects[i120].kruzhit==true) | |
{ | |
if(vragi4Objects[i120].chetvert_n==1) | |
{vragi4Objects[i120].gradus-=M_PI_4/(42+(150/vragi4Objects[i120].r)*(150/vragi4Objects[i120].r))*(150/vragi4Objects[i120].r)*lag;} | |
if(vragi4Objects[i120].chetvert_n==-1) | |
{vragi4Objects[i120].gradus+=M_PI_4/(42+(150/vragi4Objects[i120].r)*(150/vragi4Objects[i120].r))*(150/vragi4Objects[i120].r)*lag;} | |
if(vragi4Objects[i120].zahod==-1)//заходим снизу | |
{ | |
if(vragi4Objects[i120].up==true)//летим вверх | |
{ | |
//середина | |
if(vragi4Objects[i120].v4y>=(vragi4Objects[i120].ry-vragi4Objects[i120].r/2)&& | |
vragi4Objects[i120].v4y<=(vragi4Objects[i120].ry+vragi4Objects[i120].r/2)) | |
{vragi4Objects[i120].v4y-=vragi4Objects[i120].speedY*lag; | |
if(vragi4Objects[i120].chetvert==1)//против часовой (справа) | |
{vragi4Objects[i120].v4x=sqrt(vragi4Objects[i120].r*vragi4Objects[i120].r-(vragi4Objects[i120].v4y-vragi4Objects[i120].ry)*(vragi4Objects[i120].v4y-vragi4Objects[i120].ry))+vragi4Objects[i120].rx;} | |
if(vragi4Objects[i120].chetvert==-1)//по часовой (слева) | |
{vragi4Objects[i120].v4x=vragi4Objects[i120].rx-sqrt(vragi4Objects[i120].r*vragi4Objects[i120].r-(vragi4Objects[i120].v4y-vragi4Objects[i120].ry)*(vragi4Objects[i120].v4y-vragi4Objects[i120].ry));} | |
} | |
//по краям | |
if(vragi4Objects[i120].v4y<=(vragi4Objects[i120].ry-vragi4Objects[i120].r/2)|| | |
vragi4Objects[i120].v4y>=(vragi4Objects[i120].ry+vragi4Objects[i120].r/2)) | |
{ | |
if((vragi4Objects[i120].chetvert==-1&&vragi4Objects[i120].v4y<=(vragi4Objects[i120].ry-vragi4Objects[i120].r/2))|| | |
(vragi4Objects[i120].chetvert==1&&vragi4Objects[i120].v4y>=(vragi4Objects[i120].ry+vragi4Objects[i120].r/2))) | |
{vragi4Objects[i120].v4x+=vragi4Objects[i120].speedY*lag;} | |
if((vragi4Objects[i120].chetvert==-1&&vragi4Objects[i120].v4y>=(vragi4Objects[i120].ry+vragi4Objects[i120].r/2))|| | |
(vragi4Objects[i120].chetvert==1&&vragi4Objects[i120].v4y<=(vragi4Objects[i120].ry-vragi4Objects[i120].r/2))) | |
{vragi4Objects[i120].v4x-=vragi4Objects[i120].speedY*lag;} | |
if(vragi4Objects[i120].v4y>=vragi4Objects[i120].ry) | |
{vragi4Objects[i120].v4y=sqrt(vragi4Objects[i120].r*vragi4Objects[i120].r-(vragi4Objects[i120].v4x-vragi4Objects[i120].rx)*(vragi4Objects[i120].v4x-vragi4Objects[i120].rx))+vragi4Objects[i120].ry;} | |
if(vragi4Objects[i120].v4y<vragi4Objects[i120].ry) | |
{vragi4Objects[i120].v4y=vragi4Objects[i120].ry-sqrt(vragi4Objects[i120].r*vragi4Objects[i120].r-(vragi4Objects[i120].v4x-vragi4Objects[i120].rx)*(vragi4Objects[i120].v4x-vragi4Objects[i120].rx));} | |
} | |
//смена направления вниз | |
if(vragi4Objects[i120].v4y<=vragi4Objects[i120].ry-(vragi4Objects[i120].r-1)) | |
{vragi4Objects[i120].up=false; | |
if(vragi4Objects[i120].chetvert_n==1&&vragi4Objects[i120].chetvert==1) | |
{vragi4Objects[i120].chetvert=-1;} | |
if(vragi4Objects[i120].chetvert_n==-1&&vragi4Objects[i120].chetvert==-1) | |
{vragi4Objects[i120].chetvert=1;}}//смена направления вниз | |
}//летим вверх | |
if(vragi4Objects[i120].up==false)//летим вниз | |
{ | |
//середина | |
if(vragi4Objects[i120].v4y>=(vragi4Objects[i120].ry-vragi4Objects[i120].r/2)&& | |
vragi4Objects[i120].v4y<=(vragi4Objects[i120].ry+vragi4Objects[i120].r/2)) | |
{vragi4Objects[i120].v4y+=vragi4Objects[i120].speedY*lag; | |
if(vragi4Objects[i120].chetvert==1)//против часовой (справа) | |
{vragi4Objects[i120].v4x=sqrt(vragi4Objects[i120].r*vragi4Objects[i120].r-(vragi4Objects[i120].v4y-vragi4Objects[i120].ry)*(vragi4Objects[i120].v4y-vragi4Objects[i120].ry))+vragi4Objects[i120].rx;} | |
if(vragi4Objects[i120].chetvert==-1)//по часовой (слева) | |
{vragi4Objects[i120].v4x=vragi4Objects[i120].rx-sqrt(vragi4Objects[i120].r*vragi4Objects[i120].r-(vragi4Objects[i120].v4y-vragi4Objects[i120].ry)*(vragi4Objects[i120].v4y-vragi4Objects[i120].ry));} | |
} | |
//по краям | |
if(vragi4Objects[i120].v4y<=(vragi4Objects[i120].ry-vragi4Objects[i120].r/2)|| | |
vragi4Objects[i120].v4y>=(vragi4Objects[i120].ry+vragi4Objects[i120].r/2)) | |
{ | |
if((vragi4Objects[i120].chetvert==-1&&vragi4Objects[i120].v4y<=(vragi4Objects[i120].ry-vragi4Objects[i120].r/2))|| | |
(vragi4Objects[i120].chetvert==1&&vragi4Objects[i120].v4y>=(vragi4Objects[i120].ry+vragi4Objects[i120].r/2))) | |
{vragi4Objects[i120].v4x-=vragi4Objects[i120].speedY*lag;} | |
if((vragi4Objects[i120].chetvert==-1&&vragi4Objects[i120].v4y>=(vragi4Objects[i120].ry+vragi4Objects[i120].r/2))|| | |
(vragi4Objects[i120].chetvert==1&&vragi4Objects[i120].v4y<=(vragi4Objects[i120].ry-vragi4Objects[i120].r/2))) | |
{vragi4Objects[i120].v4x+=vragi4Objects[i120].speedY*lag;} | |
if(vragi4Objects[i120].v4y>=vragi4Objects[i120].ry) | |
{vragi4Objects[i120].v4y=sqrt(vragi4Objects[i120].r*vragi4Objects[i120].r-(vragi4Objects[i120].v4x-vragi4Objects[i120].rx)*(vragi4Objects[i120].v4x-vragi4Objects[i120].rx))+vragi4Objects[i120].ry;} | |
if(vragi4Objects[i120].v4y<vragi4Objects[i120].ry) | |
{vragi4Objects[i120].v4y=vragi4Objects[i120].ry-sqrt(vragi4Objects[i120].r*vragi4Objects[i120].r-(vragi4Objects[i120].v4x-vragi4Objects[i120].rx)*(vragi4Objects[i120].v4x-vragi4Objects[i120].rx));} | |
} | |
//смена направления вверх | |
if(vragi4Objects[i120].v4y>=vragi4Objects[i120].ry+(vragi4Objects[i120].r-1)) | |
{vragi4Objects[i120].up=true; | |
if(vragi4Objects[i120].chetvert_n==1&&vragi4Objects[i120].chetvert==-1) | |
{vragi4Objects[i120].chetvert=1;} | |
if(vragi4Objects[i120].chetvert_n==-1&&vragi4Objects[i120].chetvert==1) | |
{vragi4Objects[i120].chetvert=-1;}}//смена направления вверх | |
}//летим вниз | |
}//заход снизу | |
if(vragi4Objects[i120].gradus>vragi4Objects[i120].gradusNext) | |
{vragi4Objects[i120].kruzhit=false; | |
vragi4Objects[i120].krug++; | |
if(vragi4Objects[i120].zahod==1) | |
{vragi4Objects[i120].zahod=-1;} | |
if(vragi4Objects[i120].zahod==-1) | |
{vragi4Objects[i120].zahod=1;} | |
vragi4Objects[i120].rx=hge->Random_Float(vragi4Objects[i120].rx,vragi4Objects[i120].rx+600); | |
vragi4Objects[i120].ry=hge->Random_Float(vragi4Objects[i120].ry-300,vragi4Objects[i120].ry-100); | |
vragi4Objects[i120].gradus=vragi4Objects[i120].gradusNext; | |
vragi4Objects[i120].gradusNext+=M_PI-M_PI_4; | |
vragi4Objects[i120].r=hge->Random_Int(25,50); | |
} | |
if(vragi4Objects[i120].gradus<-vragi4Objects[i120].gradusNext) | |
{vragi4Objects[i120].kruzhit=false; | |
vragi4Objects[i120].krug++; | |
if(vragi4Objects[i120].zahod==1) | |
{vragi4Objects[i120].zahod=-1;} | |
if(vragi4Objects[i120].zahod==-1) | |
{vragi4Objects[i120].zahod=1;} | |
vragi4Objects[i120].rx=hge->Random_Float(vragi4Objects[i120].rx-600,vragi4Objects[i120].rx); | |
vragi4Objects[i120].ry=hge->Random_Float(vragi4Objects[i120].ry+100,vragi4Objects[i120].ry+300); | |
vragi4Objects[i120].gradus=-vragi4Objects[i120].gradusNext; | |
vragi4Objects[i120].gradusNext+=-(M_PI-M_PI_4); | |
vragi4Objects[i120].r=hge->Random_Int(25,50); | |
} | |
}//kruzhim | |
}//polet | |
}//ЗАКРЫТИЕ САГИ ПРО ПТЕНЦА | |
for (int i6=0;i6<=N_UHI;i6++) // летящие уши | |
{ | |
if(uhiObjects[i6].akt==1&&uhiObjects[i6].uhiy<uhiObjects[i6].niz) | |
{uhiObjects[i6].uhix-=hge->Random_Float(0,0.6f)*lag; | |
uhiObjects[i6].uhiy+=0.6f*lag; | |
uhiObjects[i6].gradus+=(M_PI_4/16)*lag;} | |
if(uhiObjects[i6].uhiy>uhiObjects[i6].niz&&uhiObjects[i6].akt==1)//если уши долетели | |
{ | |
myasoupaloPan=-75+uhiObjects[i6].uhix/9; | |
myasko_upalo(); | |
uhiObjects[i6].uhiy=uhiObjects[i6].niz; //остановка | |
uhiObjects[i6].gradus+=0;//уши перестают верететься | |
trupsObjects[N_TRUPS].rot=uhiObjects[i6].gradus; | |
trupsObjects[N_TRUPS].posX=uhiObjects[i6].uhix; | |
trupsObjects[N_TRUPS].posY=uhiObjects[i6].uhiy; | |
trupsObjects[N_TRUPS].posX_s=uhiObjects[i6].uhix; | |
trupsObjects[N_TRUPS].posX_X=X; | |
trupsObjects[N_TRUPS].type=2;// труп ушей :) | |
uhi_a->Play(); | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
uhiObjects[i6].akt=0; | |
} | |
}//закрытие летящих ушей | |
for (int i15=0;i15<=N_HEAD;i15++) // летящие бошки | |
{ | |
//ссущий кровяк!!! | |
if(boshkiObjects[i15].akt==1) | |
{blood_ssit_psi->FireAt(boshkiObjects[i15].bx,boshkiObjects[i15].by+5); | |
blood_ssit_psi->info.fDirection=boshkiObjects[i15].gradus; | |
blood_ssit_psi->Transpose(0.1f,0.1f);} | |
if(boshkiObjects[i15].akt==1&&boshkiObjects[i15].by<boshkiObjects[i15].niz&&boshkiObjects[i15].bzdik==0) | |
{ | |
boshkiObjects[i15].bx-=(hge->Random_Float(2,2.5f)+boshkiObjects[i15].seed*0.2f)*lag; | |
boshkiObjects[i15].by+=0.8f*lag; | |
boshkiObjects[i15].gradus+=(M_PI_4/8)*lag;} | |
if(boshkiObjects[i15].by>=boshkiObjects[i15].niz&&boshkiObjects[i15].akt==1&&boshkiObjects[i15].bzdik==0)//если бошки долетели 1-й раз | |
{boshkiObjects[i15].by=boshkiObjects[i15].niz; | |
boshkiObjects[i15].bzdik=1; | |
myasoupaloPan=-75+boshkiObjects[i15].bx/9; | |
myasko_upalo(); | |
//плям!!! | |
trupsObjects[N_TRUPS].posX=boshkiObjects[i15].bx; | |
trupsObjects[N_TRUPS].posY=boshkiObjects[i15].by; | |
trupsObjects[N_TRUPS].posX_s=boshkiObjects[i15].bx; | |
trupsObjects[N_TRUPS].posX_X=X; | |
trupsObjects[N_TRUPS].type=hge->Random_Int(800,802); | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
if(boshkiObjects[i15].bzdik_seed==1)//увы бошка дальше не полетит | |
{boshkiObjects[i15].akt=-1;} | |
} | |
if(boshkiObjects[i15].akt==1&&boshkiObjects[i15].by<=boshkiObjects[i15].niz&&boshkiObjects[i15].bzdik==1) | |
{ | |
boshkiObjects[i15].bx-=(hge->Random_Float(0.5f,1)+boshkiObjects[i15].seed*0.2f)*lag; | |
if(boshkiObjects[i15].by>boshkiObjects[i15].niz-50) | |
{boshkiObjects[i15].by-=0.6f*lag;} | |
if(boshkiObjects[i15].by<=boshkiObjects[i15].niz-50) | |
{boshkiObjects[i15].bzdik=2;} | |
boshkiObjects[i15].gradus+=(M_PI_4/4)*lag;} | |
if(boshkiObjects[i15].akt==1&&boshkiObjects[i15].by<boshkiObjects[i15].niz&&boshkiObjects[i15].bzdik==2) | |
{ | |
boshkiObjects[i15].bx-=(hge->Random_Float(0.5f,1)+boshkiObjects[i15].seed*0.2f)*lag; | |
boshkiObjects[i15].by+=0.6f*lag; | |
boshkiObjects[i15].gradus+=(M_PI_4/4)*lag;} | |
if(boshkiObjects[i15].by>=boshkiObjects[i15].niz&&boshkiObjects[i15].akt==1&&boshkiObjects[i15].bzdik==2)//если бошки долетели 2-й раз | |
{ | |
myasoupaloPan=-75+boshkiObjects[i15].bx/9; | |
myasko_upalo(); | |
boshkiObjects[i15].by=boshkiObjects[i15].niz; //остановка | |
boshkiObjects[i15].gradus+=0;//бошки перестают верететься | |
//плям!!! | |
trupsObjects[N_TRUPS].posX=boshkiObjects[i15].bx; | |
trupsObjects[N_TRUPS].posY=boshkiObjects[i15].by; | |
trupsObjects[N_TRUPS].posX_s=boshkiObjects[i15].bx; | |
trupsObjects[N_TRUPS].posX_X=X; | |
trupsObjects[N_TRUPS].type=hge->Random_Int(800,802); | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
boshkiObjects[i15].bzdik=3; | |
if(boshkiObjects[i15].bzdik_seed==2)//увы бошка дальше не попрыгает | |
{boshkiObjects[i15].akt=-1;} | |
} | |
if(boshkiObjects[i15].akt==1&&boshkiObjects[i15].by>=boshkiObjects[i15].niz-20&&boshkiObjects[i15].bzdik==3) | |
{ | |
boshkiObjects[i15].bx-=(hge->Random_Float(0.5f,0.7f)+boshkiObjects[i15].seed*0.15f)*lag; | |
boshkiObjects[i15].by-=0.6f*lag; | |
boshkiObjects[i15].gradus+=(M_PI_4/16)*lag; | |
} | |
if(boshkiObjects[i15].akt==1&&boshkiObjects[i15].by<=boshkiObjects[i15].niz-20&&boshkiObjects[i15].bzdik==3) | |
{boshkiObjects[i15].bzdik=4;} | |
if(boshkiObjects[i15].akt==1&&boshkiObjects[i15].by<=boshkiObjects[i15].niz&&boshkiObjects[i15].bzdik==4) | |
{boshkiObjects[i15].bx-=(hge->Random_Float(0.5f,0.7f)+boshkiObjects[i15].seed*0.15f)*lag; | |
boshkiObjects[i15].by+=0.5f*lag; | |
boshkiObjects[i15].gradus+=(M_PI_4/16)*lag;} | |
if(boshkiObjects[i15].akt==1&&boshkiObjects[i15].by>=boshkiObjects[i15].niz&&boshkiObjects[i15].bzdik==4) | |
{ | |
myasoupaloPan=-75+boshkiObjects[i15].bx/9; | |
myasko_upalo(); | |
boshkiObjects[i15].by=boshkiObjects[i15].niz; //остановка | |
//плям!!! | |
trupsObjects[N_TRUPS].posX=boshkiObjects[i15].bx; | |
trupsObjects[N_TRUPS].posY=boshkiObjects[i15].by; | |
trupsObjects[N_TRUPS].posX_s=boshkiObjects[i15].bx; | |
trupsObjects[N_TRUPS].posX_X=X; | |
trupsObjects[N_TRUPS].type=hge->Random_Int(800,802); | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
if(boshkiObjects[i15].bzdik_seed==3)//увы бошка дальше не попрыгает | |
{boshkiObjects[i15].akt=-1;} | |
} | |
if(boshkiObjects[i15].akt==-1)//запись в массив с щами | |
{ | |
trupsObjects[N_TRUPS].rot=boshkiObjects[i15].gradus; | |
trupsObjects[N_TRUPS].posX=boshkiObjects[i15].bx; | |
trupsObjects[N_TRUPS].posY=boshkiObjects[i15].by; | |
trupsObjects[N_TRUPS].posX_s=boshkiObjects[i15].bx; | |
trupsObjects[N_TRUPS].posX_X=X; | |
if(boshkiObjects[i15].vrag==1) | |
{ | |
if(boshkiObjects[i15].bezuh==0) | |
{trupsObjects[N_TRUPS].type=6;}// труп бошек :) | |
if(boshkiObjects[i15].bezuh==1) | |
{trupsObjects[N_TRUPS].type=7;} | |
} | |
if(boshkiObjects[i15].vrag==3) | |
{ | |
trupsObjects[N_TRUPS].type=511;// труп бошек :) | |
} | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
boshkiObjects[i15].akt=0; | |
} | |
}//закрытие летящих бошек | |
//просчёт анимации трупов и появление луж кровяка | |
for(int i13=0;i13<=N_TRUPS;i13++) | |
{ | |
if(trupsObjects[i13].type==1&&trupsObjects[i13].frame_akt==1)//анимация трупа зайца | |
{ | |
if(trupsObjects[i13].killtime<950) | |
{if((time>=trupsObjects[i13].killtime+50)||(time<trupsObjects[i13].killtime&&perez_akt!=trupsObjects[i13].killtime_sec)) //кадр 2 | |
{trupsObjects[i13].frame=2;}} | |
if(trupsObjects[i13].killtime>=950) | |
{if(time>=trupsObjects[i13].killtime-950) | |
{trupsObjects[i13].frame=2;} | |
} | |
if(trupsObjects[i13].killtime<900) | |
{if((time>=trupsObjects[i13].killtime+100&&trupsObjects[i13].frame==2)|| | |
(time<trupsObjects[i13].killtime&&perez_akt!=trupsObjects[i13].killtime_sec&&trupsObjects[i13].frame==2)) //кадр 3 | |
{trupsObjects[i13].frame=3;}} | |
if(trupsObjects[i13].killtime>=900) | |
{if(time>=trupsObjects[i13].killtime-900&&trupsObjects[i13].frame==2) | |
{trupsObjects[i13].frame=3;}} | |
if(trupsObjects[i13].killtime<850) | |
{if((time>=trupsObjects[i13].killtime+150&&trupsObjects[i13].frame==3)|| | |
(time<trupsObjects[i13].killtime&&perez_akt!=trupsObjects[i13].killtime_sec&&trupsObjects[i13].frame==3))//кадр 4 | |
{trupsObjects[i13].frame=4; | |
trupsObjects[i13].frame_akt=0; | |
}} | |
if(trupsObjects[i13].killtime>=850) | |
{if(time>=trupsObjects[i13].killtime-850&&trupsObjects[i13].frame==3) | |
{trupsObjects[i13].frame=4; | |
trupsObjects[i13].frame_akt=0; | |
}} | |
}//закрытие анимации зайцев | |
if(trupsObjects[i13].type==10&&trupsObjects[i13].frame_akt==1)//анимация трупа волка | |
{ | |
if(trupsObjects[i13].killtime<900) | |
{if((time>=trupsObjects[i13].killtime+100)||(time<trupsObjects[i13].killtime&&perez_akt!=trupsObjects[i13].killtime_sec)) //кадр 2 | |
{trupsObjects[i13].frame=2;}} | |
if(trupsObjects[i13].killtime>=900) | |
{if(time>=trupsObjects[i13].killtime-900) | |
{trupsObjects[i13].frame=2;} | |
} | |
if(trupsObjects[i13].killtime<800) | |
{if((time>=trupsObjects[i13].killtime+200&&trupsObjects[i13].frame==2)|| | |
(time<trupsObjects[i13].killtime&&perez_akt!=trupsObjects[i13].killtime_sec&&trupsObjects[i13].frame==2)) //кадр 3 | |
{trupsObjects[i13].frame=3; | |
trupsObjects[i13].frame_akt=0;}} | |
if(trupsObjects[i13].killtime>=800) | |
{if(time>=trupsObjects[i13].killtime-800&&trupsObjects[i13].frame==2) | |
{trupsObjects[i13].frame=3; | |
trupsObjects[i13].frame_akt=0;}} | |
}//закрытие анимации волков | |
if(trupsObjects[i13].type==20&&trupsObjects[i13].frame_akt==1)//анимация трупа медведя | |
{ | |
for(int i93=1;i93<6;i93++) | |
{ | |
if(trupsObjects[i13].frame==i93&&((trupsObjects[i13].killtime<900&& | |
(perez_akt_milli>=trupsObjects[i13].killtime+100||perez_akt!=trupsObjects[i13].killtime_sec)) | |
||(trupsObjects[i13].killtime>=900&& | |
perez_akt_milli>=trupsObjects[i13].killtime-900&&perez_akt!=trupsObjects[i13].killtime_sec))) //кадр ][ | |
{trupsObjects[i13].frame++; | |
trupsObjects[i13].killtime=GetTime(); | |
trupsObjects[i13].killtime_sec=perez_akt;} | |
if(trupsObjects[i13].frame==6) | |
{trupsObjects[i13].frame_akt=0;} | |
} | |
}//закрытие анимации медведя | |
if(trupsObjects[i13].type==9&&trupsObjects[i13].aktiv==1)//лужи кровяка | |
{ | |
if(trupsObjects[i13].vrag==1)//лужа после зайца | |
{ | |
if(trupsObjects[i13].scaleX<=0.4f&&time%25==0) | |
{trupsObjects[i13].scaleX+=0.015f;} | |
if(trupsObjects[i13].scaleX>=0.4f) | |
{trupsObjects[i13].aktiv=0;} | |
} | |
if(trupsObjects[i13].vrag==2)//лужа после волка | |
{ | |
if(trupsObjects[i13].scaleX<=0.7f&&time%25==0) | |
{trupsObjects[i13].scaleX+=0.02f;} | |
if(trupsObjects[i13].scaleX>=0.7f) | |
{trupsObjects[i13].aktiv=0;} | |
} | |
if(trupsObjects[i13].vrag==3)//лужа после медведя | |
{ | |
if(trupsObjects[i13].scaleX<=1.3f&&time%25==0) | |
{trupsObjects[i13].scaleX+=0.02f;} | |
if(trupsObjects[i13].scaleX>=1.3f) | |
{trupsObjects[i13].aktiv=0;} | |
} | |
if(trupsObjects[i13].vrag==4)//лужа после птенца | |
{ | |
if(trupsObjects[i13].scaleX<=0.3f&&time%25==0) | |
{trupsObjects[i13].scaleX+=0.01f;} | |
if(trupsObjects[i13].scaleX>=0.3f) | |
{trupsObjects[i13].aktiv=0;} | |
} | |
} | |
}//закрытие просчёта анимации трупов | |
//кровяк | |
if(peregruzheno_blood==0) | |
{ | |
for (int i12=0;i12<=N_BLOOD;i12++) | |
{ | |
if(krovyakObjects[i12].seed!=0&&krovyakObjects[i12].seed<1000) | |
{ | |
//krovyakObjects[i12].seed==1||krovyakObjects[i12].seed==2 | |
//если миллисек меньше 750 | |
if(krovyakObjects[i12].akt==1&&krovyakObjects[i12].blood_time<750&&perez_akt_milli<=krovyakObjects[i12].blood_time+250) | |
{ | |
if(krovyakObjects[i12].seed==1||krovyakObjects[i12].seed==2||krovyakObjects[i12].seed==3)//чтоб поменьше ссанья | |
{ | |
if(myaskoSsit!=0) | |
{myasko_ssit(); | |
myaskoSsit=0;} | |
if(krovyakObjects[i12].blood_time>=950&&perez_akt_milli<=krovyakObjects[i12].blood_time-950) | |
{myaskoSsit=1;} | |
if((krovyakObjects[i12].blood_time<950&&perez_akt_milli<=krovyakObjects[i12].blood_time+50) | |
||(perez_akt!=krovyakObjects[i12].blood_time_sec)) | |
{myaskoSsit=1;} | |
} | |
//летит по иксу | |
if(krovyakObjects[i12].seed==1||krovyakObjects[i12].seed==2||krovyakObjects[i12].seed==3)//назад | |
{ | |
if(krovyakObjects[i12].vrag==1) | |
{ | |
if(krovyakObjects[i12].xstart-krovyakObjects[i12].x1<=65) | |
{krovyakObjects[i12].x1-=hge->Random_Float(3,4)*lag;}} | |
if(krovyakObjects[i12].vrag==2) | |
{ | |
if(krovyakObjects[i12].xstart-krovyakObjects[i12].x1<=45) | |
{krovyakObjects[i12].x1-=hge->Random_Float(3,4)*lag;}} | |
if(krovyakObjects[i12].vrag==3) | |
{ | |
if(krovyakObjects[i12].xstart-krovyakObjects[i12].x1<=45) | |
{krovyakObjects[i12].x1-=hge->Random_Float(4,5)*lag;}} | |
} | |
if(krovyakObjects[i12].seed==101||krovyakObjects[i12].seed==102||krovyakObjects[i12].seed==103)//вперёд | |
{ | |
if(krovyakObjects[i12].vrag==1) | |
{ | |
if(krovyakObjects[i12].x1-krovyakObjects[i12].xstart<=35) | |
{krovyakObjects[i12].x1+=hge->Random_Float(3,4)*lag;}} | |
if(krovyakObjects[i12].vrag==2) | |
{ | |
if(krovyakObjects[i12].x1-krovyakObjects[i12].xstart<=50) | |
{krovyakObjects[i12].x1+=hge->Random_Float(3,4)*lag;}} | |
if(krovyakObjects[i12].vrag==3) | |
{ | |
if(krovyakObjects[i12].x1-krovyakObjects[i12].xstart<=65) | |
{krovyakObjects[i12].x1+=hge->Random_Float(4,5)*lag;}} | |
} | |
if(krovyakObjects[i12].faza==1&&(krovyakObjects[i12].y2-krovyakObjects[i12].y1<=25||krovyakObjects[i12].y2<=krovyakObjects[i12].niz)) | |
{krovyakObjects[i12].y2+=1.5f*lag;}//растягивается вниз | |
if(krovyakObjects[i12].faza==1&&(krovyakObjects[i12].y2-krovyakObjects[i12].y1>=25||krovyakObjects[i12].y2>=krovyakObjects[i12].niz)) | |
{krovyakObjects[i12].faza=2; | |
krovyakObjects[i12].y1+=1.5f*lag;} | |
if(krovyakObjects[i12].faza==2&&krovyakObjects[i12].y2-krovyakObjects[i12].y1>=12)//долетает вниз | |
{ | |
krovyakObjects[i12].y1+=1.5f*lag; | |
if(krovyakObjects[i12].seed==101||krovyakObjects[i12].seed==102||krovyakObjects[i12].seed==103)//вперёд | |
{krovyakObjects[i12].x2+=hge->Random_Float(1,1.5f)*lag;} | |
} | |
switch(krovyakObjects[i12].seed)//запись в трупы | |
{case 1: | |
case 101:trupsObjects[N_TRUPS].type=400; | |
break; | |
case 2: | |
case 102:trupsObjects[N_TRUPS].type=401; | |
break; | |
case 3: | |
case 103:trupsObjects[N_TRUPS].type=402; | |
break; | |
} | |
trupsObjects[N_TRUPS].posY=krovyakObjects[i12].y1; | |
trupsObjects[N_TRUPS].posY2=krovyakObjects[i12].y2; | |
trupsObjects[N_TRUPS].posX=krovyakObjects[i12].x1; | |
trupsObjects[N_TRUPS].posX2=krovyakObjects[i12].x2; | |
trupsObjects[N_TRUPS].posX_s=krovyakObjects[i12].x1; | |
trupsObjects[N_TRUPS].posX2_s=krovyakObjects[i12].x2; | |
trupsObjects[N_TRUPS].posX_X=X; | |
trupsObjects[N_TRUPS].posX2_X=X; | |
if(time>=krovyakObjects[i12].blood_time+250) | |
{krovyakObjects[i12].akt=0; | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
} | |
} | |
//если более 750 | |
if(krovyakObjects[i12].akt==1&&krovyakObjects[i12].blood_time>=750&& | |
perez_akt!=krovyakObjects[i12].blood_time_sec&&time<=krovyakObjects[i12].blood_time-750) | |
//|| | |
//(krovyakObjects[i12].akt==1&&krovyakObjects[i12].blood_time>=750&& | |
//perez_akt==krovyakObjects[i12].blood_time_sec&&time>=krovyakObjects[i12].blood_time)) | |
{ | |
if(krovyakObjects[i12].seed==1||krovyakObjects[i12].seed==2)//чтоб поменьше ссанья | |
{ | |
if(myaskoSsit!=0) | |
{myasko_ssit(); | |
myaskoSsit=0;} | |
if(krovyakObjects[i12].blood_time>=950&&time<=krovyakObjects[i12].blood_time-950) | |
{myaskoSsit=1;} | |
if((krovyakObjects[i12].blood_time<950&&perez_akt_milli<=krovyakObjects[i12].blood_time+50) | |
||(perez_akt!=krovyakObjects[i12].blood_time_sec)) | |
{myaskoSsit=1;} | |
} | |
//летит по иксу | |
if(krovyakObjects[i12].seed==1||krovyakObjects[i12].seed==2||krovyakObjects[i12].seed==3)//назад | |
{ | |
if(krovyakObjects[i12].vrag==1) | |
{if(krovyakObjects[i12].xstart-krovyakObjects[i12].x1<=65) | |
{krovyakObjects[i12].x1-=hge->Random_Float(3,4)*lag;}} | |
if(krovyakObjects[i12].vrag==2) | |
{ | |
if(krovyakObjects[i12].xstart-krovyakObjects[i12].x1<=45) | |
{krovyakObjects[i12].x1-=hge->Random_Float(3,4)*lag;}} | |
if(krovyakObjects[i12].vrag==3) | |
{ | |
if(krovyakObjects[i12].xstart-krovyakObjects[i12].x1<=45) | |
{krovyakObjects[i12].x1-=hge->Random_Float(4,5)*lag;}} | |
} | |
if(krovyakObjects[i12].seed==101||krovyakObjects[i12].seed==102||krovyakObjects[i12].seed==103)//вперёд | |
{ | |
if(krovyakObjects[i12].vrag==1) | |
{if(krovyakObjects[i12].x1-krovyakObjects[i12].xstart<=35) | |
{krovyakObjects[i12].x1+=hge->Random_Float(3,4)*lag;}} | |
if(krovyakObjects[i12].vrag==2) | |
{if(krovyakObjects[i12].x1-krovyakObjects[i12].xstart<=50) | |
{krovyakObjects[i12].x1+=hge->Random_Float(3,4)*lag;}} | |
if(krovyakObjects[i12].vrag==3) | |
{if(krovyakObjects[i12].x1-krovyakObjects[i12].xstart<=65) | |
{krovyakObjects[i12].x1+=hge->Random_Float(4,5)*lag;}} | |
} | |
if(krovyakObjects[i12].faza==1&&(krovyakObjects[i12].y2-krovyakObjects[i12].y1<=25||krovyakObjects[i12].y2<=krovyakObjects[i12].niz)) | |
{krovyakObjects[i12].y2+=1.5f*lag;}//растягивается вниз | |
if(krovyakObjects[i12].faza==1&&(krovyakObjects[i12].y2-krovyakObjects[i12].y1>=25||krovyakObjects[i12].y2>=krovyakObjects[i12].niz)) | |
{krovyakObjects[i12].faza=2; | |
krovyakObjects[i12].y1+=1.5f*lag;} | |
if(krovyakObjects[i12].faza==2&&krovyakObjects[i12].y2-krovyakObjects[i12].y1>=12)//долетает вниз | |
{ | |
krovyakObjects[i12].y1+=1.5f*lag; | |
if(krovyakObjects[i12].seed==101||krovyakObjects[i12].seed==102||krovyakObjects[i12].seed==103)//вперёд | |
{krovyakObjects[i12].x2+=hge->Random_Float(1,1.5f)*lag;} | |
} | |
switch(krovyakObjects[i12].seed) | |
{case 1: | |
case 101:trupsObjects[N_TRUPS].type=400; | |
break; | |
case 2: | |
case 102:trupsObjects[N_TRUPS].type=401; | |
break; | |
case 3: | |
case 103:trupsObjects[N_TRUPS].type=402; | |
break;} | |
trupsObjects[N_TRUPS].posY=krovyakObjects[i12].y1; | |
trupsObjects[N_TRUPS].posY2=krovyakObjects[i12].y2; | |
trupsObjects[N_TRUPS].posX=krovyakObjects[i12].x1; | |
trupsObjects[N_TRUPS].posX2=krovyakObjects[i12].x2; | |
trupsObjects[N_TRUPS].posX_s=krovyakObjects[i12].x1; | |
trupsObjects[N_TRUPS].posX2_s=krovyakObjects[i12].x2; | |
trupsObjects[N_TRUPS].posX_X=X; | |
trupsObjects[N_TRUPS].posX2_X=X; | |
if(time>=krovyakObjects[i12].blood_time-750) | |
{krovyakObjects[i12].akt=0; | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
} | |
} | |
}//закрытие летящего кровяка | |
if(krovyakObjects[i12].seed==0)//ТОЧКА | |
{ | |
if(krovyakObjects[i12].akt==1&&krovyakObjects[i12].blood_time<950&& | |
((time>=krovyakObjects[i12].blood_time+50)|| | |
(perez_akt!=krovyakObjects[i12].blood_time_sec&&time<krovyakObjects[i12].blood_time))) | |
{krovyakObjects[i12].akt=0;} | |
if(krovyakObjects[i12].blood_time>=950&&krovyakObjects[i12].akt==1&& | |
time>=krovyakObjects[i12].blood_time-950) | |
{krovyakObjects[i12].akt=0;} | |
} | |
if(krovyakObjects[i12].seed==1001||krovyakObjects[i12].seed==1002)//ВСПЛЕСКИ И ВОРОНКИ КРОВЯКА | |
{ | |
if(krovyakObjects[i12].akt==1)//анимация играет | |
{ | |
if(krovyakObjects[i12].faza==1&&( | |
(krovyakObjects[i12].blood_time>=950&& | |
perez_akt_milli>=krovyakObjects[i12].blood_time-950&&perez_akt!=krovyakObjects[i12].blood_time_sec)|| | |
((krovyakObjects[i12].blood_time<950&&perez_akt_milli>=krovyakObjects[i12].blood_time+50)|| | |
(perez_akt!=krovyakObjects[i12].blood_time_sec)) | |
)) | |
{krovyakObjects[i12].faza=2; | |
krovyakObjects[i12].blood_time=GetTime(); | |
krovyakObjects[i12].blood_time_sec=perez_akt;} | |
if(krovyakObjects[i12].faza==2&&( | |
(krovyakObjects[i12].blood_time>=950&& | |
perez_akt_milli>=krovyakObjects[i12].blood_time-950&&perez_akt!=krovyakObjects[i12].blood_time_sec)|| | |
((krovyakObjects[i12].blood_time<950&&perez_akt_milli>=krovyakObjects[i12].blood_time+50)|| | |
(perez_akt!=krovyakObjects[i12].blood_time_sec)) | |
)) | |
{krovyakObjects[i12].faza=3; | |
krovyakObjects[i12].blood_time=GetTime(); | |
krovyakObjects[i12].blood_time_sec=perez_akt;} | |
if(krovyakObjects[i12].faza==3&&( | |
(krovyakObjects[i12].blood_time>=900&& | |
perez_akt_milli>=krovyakObjects[i12].blood_time-900&&perez_akt!=krovyakObjects[i12].blood_time_sec)|| | |
((krovyakObjects[i12].blood_time<900&&perez_akt_milli>=krovyakObjects[i12].blood_time+100)|| | |
(perez_akt!=krovyakObjects[i12].blood_time_sec)) | |
)) | |
{krovyakObjects[i12].faza=4; | |
krovyakObjects[i12].blood_time=GetTime(); | |
krovyakObjects[i12].blood_time_sec=perez_akt;} | |
if(krovyakObjects[i12].faza==4&&( | |
(krovyakObjects[i12].blood_time>=900&& | |
perez_akt_milli>=krovyakObjects[i12].blood_time-900&&perez_akt!=krovyakObjects[i12].blood_time_sec)|| | |
((krovyakObjects[i12].blood_time<900&&perez_akt_milli>=krovyakObjects[i12].blood_time+100)|| | |
(perez_akt!=krovyakObjects[i12].blood_time_sec)) | |
)) | |
{krovyakObjects[i12].faza=5; | |
krovyakObjects[i12].blood_time=GetTime(); | |
krovyakObjects[i12].blood_time_sec=perez_akt; | |
krovyakObjects[i12].akt=-1;} | |
}//анимация играет | |
if(krovyakObjects[i12].akt==-1) | |
{ | |
if(krovyakObjects[i12].seed==1001) | |
{trupsObjects[N_TRUPS].type=hge->Random_Int(300,301);} | |
if(krovyakObjects[i12].seed==1002) | |
{trupsObjects[N_TRUPS].type=330;} | |
trupsObjects[N_TRUPS].posX=krovyakObjects[i12].x1; | |
trupsObjects[N_TRUPS].posY=krovyakObjects[i12].y1; | |
trupsObjects[N_TRUPS].posX_s=krovyakObjects[i12].x1; | |
trupsObjects[N_TRUPS].posX_X=X; | |
trupsObjects[N_TRUPS].scaleX=krovyakObjects[i12].xstart; | |
krovyakObjects[i12].akt=0; | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
} | |
}//всплески | |
}//for | |
}//закрытие кровяка | |
//КРОВЯК КОГДА ПЕРЕГРУЖЕНО | |
if(peregruzheno_blood==1) | |
{ | |
for (int i92=0;i92<=NUMBER_BLOOD;i92++) | |
{ | |
if(krovyakObjects[i92].seed!=0&&krovyakObjects[i92].seed<1000) | |
{ | |
//krovyakObjects[i12].seed==1||krovyakObjects[i12].seed==2 | |
//если миллисек меньше 750 | |
if(krovyakObjects[i92].akt==1&&krovyakObjects[i92].blood_time<750&&time<=krovyakObjects[i92].blood_time+250) | |
{ | |
if(krovyakObjects[i92].seed==1||krovyakObjects[i92].seed==2||krovyakObjects[i92].seed==3)//чтоб поменьше ссанья | |
{ | |
if(myaskoSsit!=0) | |
{myasko_ssit(); | |
myaskoSsit=0;} | |
if(krovyakObjects[i92].blood_time>=950&&time<=krovyakObjects[i92].blood_time-950) | |
{myaskoSsit=1;} | |
if((krovyakObjects[i92].blood_time<950&&perez_akt_milli<=krovyakObjects[i92].blood_time+50) | |
||(perez_akt!=krovyakObjects[i92].blood_time_sec)) | |
{myaskoSsit=1;} | |
} | |
//летит по иксу | |
if(krovyakObjects[i92].seed==1||krovyakObjects[i92].seed==2||krovyakObjects[i92].seed==3)//назад | |
{ | |
if(krovyakObjects[i92].vrag==1) | |
{ | |
if(krovyakObjects[i92].xstart-krovyakObjects[i92].x1<=65) | |
{krovyakObjects[i92].x1-=hge->Random_Float(3,4)*lag;}} | |
if(krovyakObjects[i92].vrag==2) | |
{ | |
if(krovyakObjects[i92].xstart-krovyakObjects[i92].x1<=45) | |
{krovyakObjects[i92].x1-=hge->Random_Float(3,4)*lag;}} | |
if(krovyakObjects[i92].vrag==3) | |
{ | |
if(krovyakObjects[i92].xstart-krovyakObjects[i92].x1<=45) | |
{krovyakObjects[i92].x1-=hge->Random_Float(4,5)*lag;}} | |
} | |
if(krovyakObjects[i92].seed==101||krovyakObjects[i92].seed==102||krovyakObjects[i92].seed==103)//вперёд | |
{ | |
if(krovyakObjects[i92].vrag==1) | |
{ | |
if(krovyakObjects[i92].x1-krovyakObjects[i92].xstart<=35) | |
{krovyakObjects[i92].x1+=hge->Random_Float(3,4)*lag;}} | |
if(krovyakObjects[i92].vrag==2) | |
{ | |
if(krovyakObjects[i92].x1-krovyakObjects[i92].xstart<=50) | |
{krovyakObjects[i92].x1+=hge->Random_Float(3,4)*lag;}} | |
if(krovyakObjects[i92].vrag==3) | |
{ | |
if(krovyakObjects[i92].x1-krovyakObjects[i92].xstart<=65) | |
{krovyakObjects[i92].x1+=hge->Random_Float(4,5)*lag;}} | |
} | |
if(krovyakObjects[i92].faza==1&&(krovyakObjects[i92].y2-krovyakObjects[i92].y1<=25||krovyakObjects[i92].y2<=krovyakObjects[i92].niz)) | |
{krovyakObjects[i92].y2+=1.5f*lag;}//растягивается вниз | |
if(krovyakObjects[i92].faza==1&&(krovyakObjects[i92].y2-krovyakObjects[i92].y1>=25||krovyakObjects[i92].y2>=krovyakObjects[i92].niz)) | |
{krovyakObjects[i92].faza=2; | |
krovyakObjects[i92].y1+=1.5f*lag;} | |
if(krovyakObjects[i92].faza==2&&krovyakObjects[i92].y2-krovyakObjects[i92].y1>=12)//долетает вниз | |
{ | |
krovyakObjects[i92].y1+=1.5f*lag; | |
if(krovyakObjects[i92].seed==101||krovyakObjects[i92].seed==102||krovyakObjects[i92].seed==103)//вперёд | |
{krovyakObjects[i92].x2+=hge->Random_Float(1,1.5f)*lag;} | |
} | |
switch(krovyakObjects[i92].seed)//запись в трупы | |
{case 1: | |
case 101:trupsObjects[N_TRUPS].type=400; | |
break; | |
case 2: | |
case 102:trupsObjects[N_TRUPS].type=401; | |
break; | |
case 3: | |
case 103:trupsObjects[N_TRUPS].type=402; | |
break;} | |
trupsObjects[N_TRUPS].posY=krovyakObjects[i92].y1; | |
trupsObjects[N_TRUPS].posY2=krovyakObjects[i92].y2; | |
trupsObjects[N_TRUPS].posX=krovyakObjects[i92].x1; | |
trupsObjects[N_TRUPS].posX2=krovyakObjects[i92].x2; | |
trupsObjects[N_TRUPS].posX_s=krovyakObjects[i92].x1; | |
trupsObjects[N_TRUPS].posX2_s=krovyakObjects[i92].x2; | |
trupsObjects[N_TRUPS].posX_X=X; | |
trupsObjects[N_TRUPS].posX2_X=X; | |
if(perez_akt_milli>=krovyakObjects[i92].blood_time+250) | |
{krovyakObjects[i92].akt=0; | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
} | |
} | |
//если более 750 | |
if(krovyakObjects[i92].akt==1&&krovyakObjects[i92].blood_time>=750&& | |
perez_akt!=krovyakObjects[i92].blood_time_sec&&time<=krovyakObjects[i92].blood_time-750) | |
//|| | |
//(krovyakObjects[i12].akt==1&&krovyakObjects[i12].blood_time>=750&& | |
//perez_akt==krovyakObjects[i12].blood_time_sec&&time>=krovyakObjects[i12].blood_time)) | |
{ | |
if(krovyakObjects[i92].seed==1||krovyakObjects[i92].seed==2)//чтоб поменьше ссанья | |
{ | |
if(myaskoSsit!=0) | |
{myasko_ssit(); | |
myaskoSsit=0;} | |
if(krovyakObjects[i92].blood_time>=950&&time<=krovyakObjects[i92].blood_time-950) | |
{myaskoSsit=1;} | |
if((krovyakObjects[i92].blood_time<950&&perez_akt_milli<=krovyakObjects[i92].blood_time+50) | |
||(perez_akt!=krovyakObjects[i92].blood_time_sec)) | |
{myaskoSsit=1;} | |
} | |
//летит по иксу | |
if(krovyakObjects[i92].seed==1||krovyakObjects[i92].seed==2||krovyakObjects[i92].seed==3)//назад | |
{ | |
if(krovyakObjects[i92].vrag==1) | |
{if(krovyakObjects[i92].xstart-krovyakObjects[i92].x1<=65) | |
{krovyakObjects[i92].x1-=hge->Random_Float(3,4)*lag;}} | |
if(krovyakObjects[i92].vrag==2) | |
{ | |
if(krovyakObjects[i92].xstart-krovyakObjects[i92].x1<=45) | |
{krovyakObjects[i92].x1-=hge->Random_Float(3,4)*lag;}} | |
if(krovyakObjects[i92].vrag==3) | |
{ | |
if(krovyakObjects[i92].xstart-krovyakObjects[i92].x1<=45) | |
{krovyakObjects[i92].x1-=hge->Random_Float(4,5)*lag;}} | |
} | |
if(krovyakObjects[i92].seed==101||krovyakObjects[i92].seed==102||krovyakObjects[i92].seed==103)//вперёд | |
{ | |
if(krovyakObjects[i92].vrag==1) | |
{if(krovyakObjects[i92].x1-krovyakObjects[i92].xstart<=35) | |
{krovyakObjects[i92].x1+=hge->Random_Float(3,4)*lag;}} | |
if(krovyakObjects[i92].vrag==2) | |
{if(krovyakObjects[i92].x1-krovyakObjects[i92].xstart<=50) | |
{krovyakObjects[i92].x1+=hge->Random_Float(3,4)*lag;}} | |
if(krovyakObjects[i92].vrag==3) | |
{if(krovyakObjects[i92].x1-krovyakObjects[i92].xstart<=65) | |
{krovyakObjects[i92].x1+=hge->Random_Float(4,5)*lag;}} | |
} | |
if(krovyakObjects[i92].faza==1&&(krovyakObjects[i92].y2-krovyakObjects[i92].y1<=25||krovyakObjects[i92].y2<=krovyakObjects[i92].niz)) | |
{krovyakObjects[i92].y2+=1.5f*lag;}//растягивается вниз | |
if(krovyakObjects[i92].faza==1&&(krovyakObjects[i92].y2-krovyakObjects[i92].y1>=25||krovyakObjects[i92].y2>=krovyakObjects[i92].niz)) | |
{krovyakObjects[i92].faza=2; | |
krovyakObjects[i92].y1+=1.5f*lag;} | |
if(krovyakObjects[i92].faza==2&&krovyakObjects[i92].y2-krovyakObjects[i92].y1>=12)//долетает вниз | |
{ | |
krovyakObjects[i92].y1+=1.5f*lag; | |
if(krovyakObjects[i92].seed==101||krovyakObjects[i92].seed==102||krovyakObjects[i92].seed==103)//вперёд | |
{krovyakObjects[i92].x2+=hge->Random_Float(1,1.5f)*lag;} | |
} | |
switch(krovyakObjects[i92].seed) | |
{case 1: | |
case 101:trupsObjects[N_TRUPS].type=400; | |
break; | |
case 2: | |
case 102:trupsObjects[N_TRUPS].type=401; | |
break; | |
case 3: | |
case 103:trupsObjects[N_TRUPS].type=402; | |
break;} | |
trupsObjects[N_TRUPS].posY=krovyakObjects[i92].y1; | |
trupsObjects[N_TRUPS].posY2=krovyakObjects[i92].y2; | |
trupsObjects[N_TRUPS].posX=krovyakObjects[i92].x1; | |
trupsObjects[N_TRUPS].posX2=krovyakObjects[i92].x2; | |
trupsObjects[N_TRUPS].posX_s=krovyakObjects[i92].x1; | |
trupsObjects[N_TRUPS].posX2_s=krovyakObjects[i92].x2; | |
trupsObjects[N_TRUPS].posX_X=X; | |
trupsObjects[N_TRUPS].posX2_X=X; | |
if(time>=krovyakObjects[i92].blood_time-750) | |
{krovyakObjects[i92].akt=0; | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
} | |
} | |
}//закрытие летящего кровяка | |
if(krovyakObjects[i92].seed==0)//ТОЧКА | |
{ | |
if(krovyakObjects[i92].akt==1&&krovyakObjects[i92].blood_time<950&& | |
((time>=krovyakObjects[i92].blood_time+50)|| | |
(perez_akt!=krovyakObjects[i92].blood_time_sec&&time<krovyakObjects[i92].blood_time))) | |
{krovyakObjects[i92].akt=0;} | |
if(krovyakObjects[i92].blood_time>=950&&krovyakObjects[i92].akt==1&& | |
time>=krovyakObjects[i92].blood_time-950) | |
{krovyakObjects[i92].akt=0;} | |
} | |
if(krovyakObjects[i92].seed==1001||krovyakObjects[i92].seed==1002)//ВСПЛЕСКИ И ВОРОНКИ КРОВЯКА | |
{ | |
if(krovyakObjects[i92].akt==1)//анимация играет | |
{ | |
if(krovyakObjects[i92].faza==1&&( | |
(krovyakObjects[i92].blood_time>=950&& | |
perez_akt_milli>=krovyakObjects[i92].blood_time-950&&perez_akt!=krovyakObjects[i92].blood_time_sec)|| | |
((krovyakObjects[i92].blood_time<950&&perez_akt_milli>=krovyakObjects[i92].blood_time+50)|| | |
(perez_akt!=krovyakObjects[i92].blood_time_sec)) | |
)) | |
{krovyakObjects[i92].faza=2; | |
krovyakObjects[i92].blood_time=GetTime(); | |
krovyakObjects[i92].blood_time_sec=perez_akt;} | |
if(krovyakObjects[i92].faza==2&&( | |
(krovyakObjects[i92].blood_time>=950&& | |
perez_akt_milli>=krovyakObjects[i92].blood_time-950&&perez_akt!=krovyakObjects[i92].blood_time_sec)|| | |
((krovyakObjects[i92].blood_time<950&&perez_akt_milli>=krovyakObjects[i92].blood_time+50)|| | |
(perez_akt!=krovyakObjects[i92].blood_time_sec)) | |
)) | |
{krovyakObjects[i92].faza=3; | |
krovyakObjects[i92].blood_time=GetTime(); | |
krovyakObjects[i92].blood_time_sec=perez_akt;} | |
if(krovyakObjects[i92].faza==3&&( | |
(krovyakObjects[i92].blood_time>=900&& | |
perez_akt_milli>=krovyakObjects[i92].blood_time-900&&perez_akt!=krovyakObjects[i92].blood_time_sec)|| | |
((krovyakObjects[i92].blood_time<900&&perez_akt_milli>=krovyakObjects[i92].blood_time+100)|| | |
(perez_akt!=krovyakObjects[i92].blood_time_sec)) | |
)) | |
{krovyakObjects[i92].faza=4; | |
krovyakObjects[i92].blood_time=GetTime(); | |
krovyakObjects[i92].blood_time_sec=perez_akt;} | |
if(krovyakObjects[i92].faza==4&&( | |
(krovyakObjects[i92].blood_time>=900&& | |
perez_akt_milli>=krovyakObjects[i92].blood_time-900&&perez_akt!=krovyakObjects[i92].blood_time_sec)|| | |
((krovyakObjects[i92].blood_time<900&&perez_akt_milli>=krovyakObjects[i92].blood_time+100)|| | |
(perez_akt!=krovyakObjects[i92].blood_time_sec)) | |
)) | |
{krovyakObjects[i92].faza=5; | |
krovyakObjects[i92].blood_time=GetTime(); | |
krovyakObjects[i92].blood_time_sec=perez_akt; | |
krovyakObjects[i92].akt=-1;} | |
}//анимация играет | |
if(krovyakObjects[i92].akt==-1) | |
{ | |
if(krovyakObjects[i92].seed==1001) | |
{trupsObjects[N_TRUPS].type=hge->Random_Int(300,301);} | |
if(krovyakObjects[i92].seed==1002) | |
{trupsObjects[N_TRUPS].type=330;} | |
trupsObjects[N_TRUPS].posX=krovyakObjects[i92].x1; | |
trupsObjects[N_TRUPS].posY=krovyakObjects[i92].y1; | |
trupsObjects[N_TRUPS].posX_s=krovyakObjects[i92].x1; | |
trupsObjects[N_TRUPS].posX_X=X; | |
trupsObjects[N_TRUPS].scaleX=krovyakObjects[i92].xstart; | |
krovyakObjects[i92].akt=0; | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
} | |
}//всплески | |
}//for | |
}//закрытие кровяка | |
//ЛЕТЯЩЕЕ МЯСО | |
for(int i41=0;i41<=N_MYASO;i41++) | |
{ | |
if(myasko[i41].akt==1)//летит | |
{ | |
//защита облаков | |
if(myasko[i41].niz<100) | |
{myasko[i41].niz=100;} | |
if(myasko[i41].energy==0)//открытие невзорванного мяса | |
{ | |
if(myasko[i41].y1<=myasko[i41].niz&&myasko[i41].bzdik==0) | |
{myasko[i41].y1+=0.8f*lag; | |
myasko[i41].x1-=myasko[i41].speedX*lag; | |
myasko[i41].gradus+=(M_PI_4/4)*lag;} | |
//бздык! | |
if(myasko[i41].y1>=myasko[i41].niz&&myasko[i41].bzdik==0) | |
{myasoupaloPan=-75+myasko[i41].x1/9; | |
myasko_upalo(); | |
myasko[i41].bzdik=1;} | |
//лёгкое мясо взлетает вверх | |
if(myasko[i41].bzdik==1&&myasko[i41].scaleX<=0.4f) | |
{myasko[i41].y1-=myasko[i41].speedY*lag; | |
myasko[i41].x1-=(myasko[i41].speedX/2)*lag; | |
myasko[i41].gradus+=(M_PI_4/8)*lag; | |
if(myasko[i41].y1<=myasko[i41].niz-30&&myasko[i41].bzdik==1) | |
{myasko[i41].bzdik=2;} | |
} | |
//и летит вниз | |
if(myasko[i41].y1<=myasko[i41].niz&&myasko[i41].bzdik==2) | |
{myasko[i41].y1+=0.8f*lag; | |
myasko[i41].x1-=(myasko[i41].speedX/2)*lag; | |
myasko[i41].gradus+=(M_PI_4/8)*lag; | |
} | |
//бздык! | |
if(myasko[i41].y1>=myasko[i41].niz&&myasko[i41].bzdik==2) | |
{myasoupaloPan=-75+myasko[i41].x1/9; | |
myasko_upalo(); | |
myasko[i41].bzdik=3; | |
} | |
if(myasko[i41].bzdik==3&&myasko[i41].scaleX<=0.4f)//катится мелочь | |
{myasko[i41].x1-=(myasko[i41].speedX/2)*lag; | |
myasko[i41].speedX-=0.025f*lag; | |
myasko[i41].gradus+=(M_PI_4/8)*lag; | |
headshotPan=-75+myasko[i41].x1/9; | |
if((int)myasko[i41].x1%50==0) | |
{myasko_ssit();} | |
} | |
if (myasko[i41].bzdik==1&&myasko[i41].scaleX>0.4f)//катится | |
{myasko[i41].x1-=myasko[i41].speedX*lag; | |
myasko[i41].speedX-=0.02f*lag; | |
myasko[i41].gradus+=(M_PI_4/8)*lag; | |
headshotPan=-75+myasko[i41].x1/9; | |
if((int)myasko[i41].x1%50==0) | |
{myasko_ssit();} | |
} | |
if(myasko[i41].speedX<=0) | |
{myasko[i41].akt=0;} | |
}//закрытие невзорванного мяса | |
if(myasko[i41].energy>0)//открытие взорванного мяса | |
{ | |
if(myasko[i41].energy<0.85f)//открытие "земного" мяса | |
{ | |
if((myasko[i41].speedY>=0&&myasko[i41].y1<=myasko[i41].niz&&myasko[i41].bzdik==0)|| | |
(myasko[i41].speedY<0&&myasko[i41].y1>=myasko[i41].niz&&myasko[i41].bzdik==0)) | |
{ | |
if(myasko[i41].speedY>=0.01f||myasko[i41].speedY<=-0.01f) | |
{myasko[i41].y1+=myasko[i41].speedY*lag;} | |
if(myasko[i41].speedY<=0.01f||myasko[i41].speedY>=-0.01f) | |
{myasko[i41].y1+=0.01f*lag;} | |
myasko[i41].x1+=myasko[i41].speedX*lag; | |
myasko[i41].gradus+=(M_PI_4/4)*lag;} | |
//бздык! | |
if((myasko[i41].speedY>=0&&myasko[i41].y1>=myasko[i41].niz&&myasko[i41].bzdik==0)|| | |
(myasko[i41].speedY<0&&myasko[i41].y1<=myasko[i41].niz&&myasko[i41].bzdik==0)) | |
{myasoupaloPan=-75+myasko[i41].x1/9; | |
myasko_upalo(); | |
myasko[i41].bzdik=1;} | |
if (myasko[i41].bzdik==1)//катится | |
{myasko[i41].x1+=myasko[i41].speedX*lag; | |
myasko[i41].y1+=myasko[i41].speedY*lag; | |
if(myasko[i41].speedX>0) | |
{ | |
myasko[i41].speedX-=0.005f*lag; | |
if(myasko[i41].speedX<=0) | |
{myasko[i41].bzdik=3;} | |
} | |
if(myasko[i41].speedX<0) | |
{ | |
myasko[i41].speedX+=0.005f*lag; | |
if(myasko[i41].speedX>=0) | |
{myasko[i41].bzdik=3;} | |
} | |
if(myasko[i41].speedY>0) | |
{myasko[i41].speedY-=0.005f*lag; | |
//защита облаков | |
if(myasko[i41].y1<100) | |
{myasko[i41].y1=100; | |
myasko[i41].speedY=0;}} | |
if(myasko[i41].speedY<0) | |
{myasko[i41].speedY+=0.005f*lag; | |
//защита облаков | |
if(myasko[i41].y1<100) | |
{myasko[i41].y1=100; | |
myasko[i41].speedY=0;}} | |
myasko[i41].gradus+=(M_PI_4/8)*lag; | |
headshotPan=-75+myasko[i41].x1/9; | |
if((int)myasko[i41].x1%50==0) | |
{myasko_ssit();} | |
} | |
}//закрытие "земного" мяса | |
//МЯСНОЙ ДОЖДЬ | |
if(myasko[i41].energy>=0.85f)//открытие "космического" мяса | |
{ | |
if(myasko[i41].y1<myasko[i41].niz) | |
{ | |
myasko[i41].y1+=myasko[i41].speedY*lag; | |
myasko[i41].x1+=myasko[i41].speedX*0.5f*lag; | |
myasko[i41].gradus+=(M_PI_4/2)*lag; | |
if(myasko[i41].speedY<=4) | |
{myasko[i41].speedY+=0.05f*lag;} | |
} | |
if(myasko[i41].y1>=myasko[i41].niz) | |
{ | |
myasko[i41].bzdik=3; | |
myasoupaloPan=-75+myasko[i41].x1/9; | |
myasko_upalo(); | |
//плям!!! | |
trupsObjects[N_TRUPS].posX=myasko[i41].x1; | |
trupsObjects[N_TRUPS].posY=myasko[i41].y1; | |
trupsObjects[N_TRUPS].posX_s=myasko[i41].x1; | |
trupsObjects[N_TRUPS].posX_X=X; | |
trupsObjects[N_TRUPS].type=hge->Random_Int(800,802); | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
} | |
}//закрытие "космического" мяса | |
//МЯСНОЙ ДОЖДЬ | |
if(myasko[i41].bzdik==3) | |
{myasko[i41].akt=0;} | |
}//закрытие взорванного мяса | |
}//закрытие летящего мяса | |
if(myasko[i41].akt==0)//запись в щи | |
{ | |
switch(myasko[i41].seed) | |
{case 1:trupsObjects[N_TRUPS].type=500; | |
break; | |
case 2:trupsObjects[N_TRUPS].type=501; | |
break; | |
case 3:trupsObjects[N_TRUPS].type=502; | |
break; | |
case 4:trupsObjects[N_TRUPS].type=503; | |
break; | |
case 5:trupsObjects[N_TRUPS].type=504; | |
break; | |
case 6:trupsObjects[N_TRUPS].type=7;//заячья бошка | |
break; | |
case 7:trupsObjects[N_TRUPS].type=505;//заячьи ребра 1 | |
break; | |
case 8:trupsObjects[N_TRUPS].type=506;//заячьи ребра 2 | |
break; | |
case 9:trupsObjects[N_TRUPS].type=507;//заячья нога 1 | |
break; | |
case 10:trupsObjects[N_TRUPS].type=508;//заячья нога 2 | |
break; | |
case 11:trupsObjects[N_TRUPS].type=509;//заячья нога 3 | |
break; | |
case 12:trupsObjects[N_TRUPS].type=510;//заячья нога 4 | |
break; | |
} | |
trupsObjects[N_TRUPS].posY=myasko[i41].y1; | |
trupsObjects[N_TRUPS].posX=myasko[i41].x1; | |
trupsObjects[N_TRUPS].posX_s=myasko[i41].x1; | |
trupsObjects[N_TRUPS].posX_X=X; | |
trupsObjects[N_TRUPS].rot=myasko[i41].gradus; | |
trupsObjects[N_TRUPS].scaleX=myasko[i41].scaleX; | |
N_TRUPS++; | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
myasko[i41].akt=-1; | |
}//закрытие записи в щи | |
}//ЗАКРЫТИЕ МЯСА | |
//-------------$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$----------------------------- | |
//БОНУСЫ | |
for (int i29=0;i29<=N_BONUS;i29++) | |
{ | |
if(bonusiObjects[i29].akt==1) | |
{//берем бонус | |
if(x-10<=bonusiObjects[i29].x2&&x+10>=bonusiObjects[i29].x1&& | |
y-48<=bonusiObjects[i29].y1&&y+48>=bonusiObjects[i29].y2) | |
{bonusiObjects[i29].owner=1;} | |
if(x2-10<=bonusiObjects[i29].x2&&x2+10>=bonusiObjects[i29].x1&& | |
y2-48<=bonusiObjects[i29].y1&&y2+48>=bonusiObjects[i29].y2) | |
{bonusiObjects[i29].owner=2;} | |
//активируем его | |
if(bonusiObjects[i29].owner==1) | |
{ | |
if(RPGMOD==true) | |
{ | |
switch(bonusiObjects[i29].type) | |
{ | |
case 0://рандом | |
bonusiObjects[i29].shans=hge->Random_Int(1,100); | |
//+ СКОРОСТЬ | |
if(bonusiObjects[i29].shans>=1&&bonusiObjects[i29].shans<=20+luck1/2) | |
{bonusi1[N_BONUS1].znachenie=skorost1*0.1f; | |
bonusi1[N_BONUS1].type=1; | |
bonusi1[N_BONUS1].id=i29; | |
speed+=bonusi1[N_BONUS1].znachenie; | |
bonustext1_1(); | |
//появление статуса +10% скорость | |
statusi1[N_BONUSSTATUS1].akt=1; | |
statusi1[N_BONUSSTATUS1].type=1; | |
statusi1[N_BONUSSTATUS1].id=i29; | |
statusi1[N_BONUSSTATUS1].queue=status_queue1; | |
status_queue1++; | |
N_BONUSSTATUS1++; | |
if(N_BONUSSTATUS1>=MAX_BONUSSTATUS-1) | |
{N_BONUSSTATUS1=0;} | |
N_BONUS1++; | |
if(N_BONUS1>=MAX_BONUSI-1) | |
{N_BONUS1=0;} | |
}//закрытие про шило | |
//ДАУНИЗМ | |
if(bonusiObjects[i29].shans>=21+luck1/2&&bonusiObjects[i29].shans<=40) | |
{ | |
daun1++; | |
bonusi1[N_BONUS1].type=2; | |
bonusi1[N_BONUS1].id=i29; | |
bonustext1_2(); | |
//появление статуса даунизма | |
statusi1[N_BONUSSTATUS1].akt=1; | |
statusi1[N_BONUSSTATUS1].type=2; | |
statusi1[N_BONUSSTATUS1].id=i29; | |
statusi1[N_BONUSSTATUS1].queue=status_queue1; | |
status_queue1++; | |
N_BONUSSTATUS1++; | |
if(N_BONUSSTATUS1>=MAX_BONUSSTATUS-1) | |
{N_BONUSSTATUS1=0;} | |
N_BONUS1++; | |
if(N_BONUS1>=MAX_BONUSI-1) | |
{N_BONUS1=0;}} | |
//УЛИТКА | |
if(bonusiObjects[i29].shans>=41&&bonusiObjects[i29].shans<=60-luck1/2) | |
{ | |
bonusi1[N_BONUS1].znachenie=skorost1*0.2f; | |
bonusi1[N_BONUS1].type=3; | |
bonusi1[N_BONUS1].id=i29; | |
speed-=bonusi1[N_BONUS1].znachenie; | |
bonustext1_3(); | |
//появление статуса замедления | |
statusi1[N_BONUSSTATUS1].akt=1; | |
statusi1[N_BONUSSTATUS1].type=3; | |
statusi1[N_BONUSSTATUS1].id=i29; | |
statusi1[N_BONUSSTATUS1].queue=status_queue1; | |
status_queue1++; | |
N_BONUSSTATUS1++; | |
if(N_BONUSSTATUS1>=MAX_BONUSSTATUS-1) | |
{N_BONUSSTATUS1=0;} | |
N_BONUS1++; | |
if(N_BONUS1>=MAX_BONUSI-1) | |
{N_BONUS1=0;}} | |
//УМНИК | |
if(bonusiObjects[i29].shans>=61-luck1/2&&bonusiObjects[i29].shans<=80) | |
{ | |
umnik1++; | |
bonusi1[N_BONUS1].type=4; | |
bonusi1[N_BONUS1].id=i29; | |
bonustext1_4(); | |
//появление статуса | |
statusi1[N_BONUSSTATUS1].akt=1; | |
statusi1[N_BONUSSTATUS1].type=4; | |
statusi1[N_BONUSSTATUS1].id=i29; | |
statusi1[N_BONUSSTATUS1].queue=status_queue1; | |
status_queue1++; | |
N_BONUSSTATUS1++; | |
if(N_BONUSSTATUS1>=MAX_BONUSSTATUS-1) | |
{N_BONUSSTATUS1=0;} | |
N_BONUS1++; | |
if(N_BONUS1>=MAX_BONUSI-1) | |
{N_BONUS1=0;}} | |
//НИЧЕГО | |
if(bonusiObjects[i29].shans>80) | |
{bonustext1_0();} | |
bonusiObjects[i29].akt=0; | |
bonusiObjects[i29].akt_time=perez_akt; | |
bonusiObjects[i29].akt_time_milli=GetTime(); | |
break; | |
case 1://шило в жопу | |
bonusi1[N_BONUS1].znachenie=skorost1*0.1f; | |
bonusi1[N_BONUS1].type=1; | |
bonusi1[N_BONUS1].id=i29; | |
speed+=bonusi1[N_BONUS1].znachenie; | |
bonustext1_1(); | |
//появление статуса +10% скорость | |
statusi1[N_BONUSSTATUS1].akt=1; | |
statusi1[N_BONUSSTATUS1].type=1; | |
statusi1[N_BONUSSTATUS1].id=i29; | |
statusi1[N_BONUSSTATUS1].queue=status_queue1; | |
status_queue1++; | |
N_BONUSSTATUS1++; | |
if(N_BONUSSTATUS1>=MAX_BONUSSTATUS-1) | |
{N_BONUSSTATUS1=0;} | |
N_BONUS1++; | |
if(N_BONUS1>=MAX_BONUSI-1) | |
{N_BONUS1=0;} | |
bonusiObjects[i29].akt=0; | |
bonusiObjects[i29].akt_time=perez_akt; | |
bonusiObjects[i29].akt_time_milli=GetTime(); | |
break;} | |
}//RPGMOD==true | |
if(RPGMOD==false) | |
{ | |
switch(bonusiObjects[i29].type) | |
{ | |
case 0://рандом | |
bonusiObjects[i29].shans=hge->Random_Int(1,100); | |
//+ СКОРОСТЬ | |
if(bonusiObjects[i29].shans>=1&&bonusiObjects[i29].shans<=50) | |
{bonusi1[N_BONUS1].znachenie=skorost1*0.1f; | |
bonusi1[N_BONUS1].type=1; | |
bonusi1[N_BONUS1].id=i29; | |
speed+=bonusi1[N_BONUS1].znachenie; | |
bonustext1_1(); | |
N_BONUS1++; | |
if(N_BONUS1>=MAX_BONUSI-1) | |
{N_BONUS1=0;}} | |
if(bonusiObjects[i29].shans>50) | |
{bonustext1_0();} | |
bonusiObjects[i29].akt=0; | |
bonusiObjects[i29].akt_time=perez_akt; | |
bonusiObjects[i29].akt_time_milli=GetTime(); | |
break; | |
case 1://шило в жопу | |
bonusi1[N_BONUS1].znachenie=skorost1*0.1f; | |
bonusi1[N_BONUS1].type=1; | |
bonusi1[N_BONUS1].id=i29; | |
speed+=bonusi1[N_BONUS1].znachenie; | |
bonustext1_1(); | |
N_BONUS1++; | |
if(N_BONUS1>=MAX_BONUSI-1) | |
{N_BONUS1=0;} | |
bonusiObjects[i29].akt=0; | |
bonusiObjects[i29].akt_time=perez_akt; | |
bonusiObjects[i29].akt_time_milli=GetTime(); | |
break;} | |
}//RPGMOD==false | |
} | |
if(bonusiObjects[i29].owner==2) | |
{ | |
if(RPGMOD==true) | |
{ | |
switch(bonusiObjects[i29].type) | |
{ | |
case 0://рандом | |
bonusiObjects[i29].shans=hge->Random_Int(1,100); | |
//+СКОРОСТЬ 2 | |
if(bonusiObjects[i29].shans>=1&&bonusiObjects[i29].shans<=20+luck2/2) | |
{bonusi2[N_BONUS2].znachenie=skorost2*0.1f; | |
bonusi2[N_BONUS2].type=1; | |
bonusi2[N_BONUS2].id=i29; | |
speed2+=bonusi2[N_BONUS2].znachenie; | |
bonustext2_1(); | |
//появление статуса +10% скорость | |
statusi2[N_BONUSSTATUS2].akt=1; | |
statusi2[N_BONUSSTATUS2].type=1; | |
statusi2[N_BONUSSTATUS2].id=i29; | |
statusi2[N_BONUSSTATUS2].queue=status_queue2; | |
status_queue2++; | |
N_BONUSSTATUS2++; | |
if(N_BONUSSTATUS2>=MAX_BONUSSTATUS-1) | |
{N_BONUSSTATUS2=0;} | |
N_BONUS2++; | |
if(N_BONUS2>=MAX_BONUSI-1) | |
{N_BONUS2=0;}} | |
//ДАУНИЗМ 2 | |
if(bonusiObjects[i29].shans>=21+luck2/2&&bonusiObjects[i29].shans<=40) | |
{ | |
daun2++; | |
bonusi2[N_BONUS2].type=2; | |
bonusi2[N_BONUS2].id=i29; | |
bonustext2_2(); | |
//появление статуса даунизма | |
statusi2[N_BONUSSTATUS2].akt=1; | |
statusi2[N_BONUSSTATUS2].type=2; | |
statusi2[N_BONUSSTATUS2].id=i29; | |
statusi2[N_BONUSSTATUS2].queue=status_queue2; | |
status_queue2++; | |
N_BONUSSTATUS2++; | |
if(N_BONUSSTATUS2>=MAX_BONUSSTATUS-1) | |
{N_BONUSSTATUS2=0;} | |
N_BONUS2++; | |
if(N_BONUS2>=MAX_BONUSI-1) | |
{N_BONUS2=0;}} | |
//УЛИТКА 2 | |
if(bonusiObjects[i29].shans>=41&&bonusiObjects[i29].shans<=60-luck2/2) | |
{ | |
bonusi2[N_BONUS2].znachenie=skorost2*0.2f; | |
bonusi2[N_BONUS2].type=3; | |
bonusi2[N_BONUS2].id=i29; | |
speed2-=bonusi2[N_BONUS2].znachenie; | |
bonustext2_3(); | |
//появление статуса замедления | |
statusi2[N_BONUSSTATUS2].akt=1; | |
statusi2[N_BONUSSTATUS2].type=3; | |
statusi2[N_BONUSSTATUS2].id=i29; | |
statusi2[N_BONUSSTATUS2].queue=status_queue2; | |
status_queue2++; | |
N_BONUSSTATUS2++; | |
if(N_BONUSSTATUS2>=MAX_BONUSSTATUS-1) | |
{N_BONUSSTATUS2=0;} | |
N_BONUS2++; | |
if(N_BONUS2>=MAX_BONUSI-1) | |
{N_BONUS2=0;}} | |
//УМНИК 2 | |
if(bonusiObjects[i29].shans>=61-luck2/2&&bonusiObjects[i29].shans<=80) | |
{ | |
umnik2++; | |
bonusi2[N_BONUS2].type=4; | |
bonusi2[N_BONUS2].id=i29; | |
bonustext2_4(); | |
//появление статуса | |
statusi2[N_BONUSSTATUS2].akt=1; | |
statusi2[N_BONUSSTATUS2].type=4; | |
statusi2[N_BONUSSTATUS2].id=i29; | |
statusi2[N_BONUSSTATUS2].queue=status_queue2; | |
status_queue2++; | |
N_BONUSSTATUS2++; | |
if(N_BONUSSTATUS2>=MAX_BONUSSTATUS-1) | |
{N_BONUSSTATUS2=0;} | |
N_BONUS2++; | |
if(N_BONUS2>=MAX_BONUSI-1) | |
{N_BONUS2=0;}} | |
//НИЧЕГО | |
if(bonusiObjects[i29].shans>80) | |
{bonustext2_0();} | |
bonusiObjects[i29].akt=0; | |
bonusiObjects[i29].akt_time=perez_akt; | |
bonusiObjects[i29].akt_time_milli=GetTime(); | |
break; | |
case 1://шило в жопу | |
bonusi2[N_BONUS2].znachenie=skorost2*0.1f; | |
bonusi2[N_BONUS2].type=1; | |
bonusi2[N_BONUS2].id=i29; | |
speed2+=bonusi2[N_BONUS2].znachenie; | |
bonustext2_1(); | |
//появление статуса +10% скорость | |
statusi2[N_BONUSSTATUS2].akt=1; | |
statusi2[N_BONUSSTATUS2].type=1; | |
statusi2[N_BONUSSTATUS2].id=i29; | |
statusi2[N_BONUSSTATUS2].queue=status_queue2; | |
status_queue2++; | |
N_BONUSSTATUS2++; | |
if(N_BONUSSTATUS2>=MAX_BONUSSTATUS-1) | |
{N_BONUSSTATUS2=0;} | |
N_BONUS2++; | |
if(N_BONUS2>=MAX_BONUSI-1) | |
{N_BONUS2=0;} | |
bonusiObjects[i29].akt=0; | |
bonusiObjects[i29].akt_time=perez_akt; | |
bonusiObjects[i29].akt_time_milli=GetTime(); | |
break;} | |
}//RPGMOD==true | |
if(RPGMOD==false) | |
{ | |
switch(bonusiObjects[i29].type) | |
{ | |
case 0://рандом | |
bonusiObjects[i29].shans=hge->Random_Int(1,100); | |
//+СКОРОСТЬ | |
if(bonusiObjects[i29].shans>=1&&bonusiObjects[i29].shans<=50) | |
{bonusi2[N_BONUS2].znachenie=skorost2*0.1f; | |
bonusi2[N_BONUS2].type=1; | |
bonusi2[N_BONUS2].id=i29; | |
speed2+=bonusi2[N_BONUS2].znachenie; | |
bonustext2_1(); | |
N_BONUS2++; | |
if(N_BONUS2>=MAX_BONUSI-1) | |
{N_BONUS2=0;}} | |
if(bonusiObjects[i29].shans>50) | |
{bonustext2_0();} | |
bonusiObjects[i29].akt=0; | |
bonusiObjects[i29].akt_time=perez_akt; | |
bonusiObjects[i29].akt_time_milli=GetTime(); | |
break; | |
case 1://шило в жопу | |
bonusi2[N_BONUS2].znachenie=skorost2*0.1f; | |
bonusi2[N_BONUS2].type=1; | |
bonusi2[N_BONUS2].id=i29; | |
speed2+=bonusi2[N_BONUS2].znachenie; | |
bonustext2_1(); | |
N_BONUS2++; | |
if(N_BONUS2>=MAX_BONUSI-1) | |
{N_BONUS2=0;} | |
bonusiObjects[i29].akt=0; | |
bonusiObjects[i29].akt_time=perez_akt; | |
bonusiObjects[i29].akt_time_milli=GetTime(); | |
break;} | |
}//RPGMOD==false | |
} | |
//кручение бонусов | |
if(bonusiObjects[i29].spin==0&&bonusiObjects[i29].x2>=bonusiObjects[i29].x1) | |
{bonusiObjects[i29].x1+=0.2f; | |
bonusiObjects[i29].x2-=0.2f;} | |
if(bonusiObjects[i29].spin==0&&bonusiObjects[i29].x2<=bonusiObjects[i29].x1) | |
{bonusiObjects[i29].spin=1;} | |
if(bonusiObjects[i29].spin==1&&bonusiObjects[i29].x1-bonusiObjects[i29].x2<=30) | |
{bonusiObjects[i29].x1+=0.2f; | |
bonusiObjects[i29].x2-=0.2f;} | |
if(bonusiObjects[i29].spin==1&&bonusiObjects[i29].x1-bonusiObjects[i29].x2>=30) | |
{bonusiObjects[i29].spin=2;} | |
if(bonusiObjects[i29].spin==2&&bonusiObjects[i29].x1>=bonusiObjects[i29].x2) | |
{bonusiObjects[i29].x1-=0.2f; | |
bonusiObjects[i29].x2+=0.2f;} | |
if(bonusiObjects[i29].spin==2&&bonusiObjects[i29].x1<=bonusiObjects[i29].x2) | |
{bonusiObjects[i29].spin=3;} | |
if(bonusiObjects[i29].spin==3&&bonusiObjects[i29].x2-bonusiObjects[i29].x1<=30) | |
{bonusiObjects[i29].x1-=0.2f; | |
bonusiObjects[i29].x2+=0.2f;} | |
if(bonusiObjects[i29].spin==3&&bonusiObjects[i29].x2-bonusiObjects[i29].x1>=30) | |
{bonusiObjects[i29].spin=0;} | |
}//если активировано | |
if(bonusiObjects[i29].akt==0)//исчезновение бонусных апгрейдов | |
{ | |
if((bonusiObjects[i29].akt_time<50&&perez_akt==bonusiObjects[i29].akt_time+10&& | |
GetTime()>=bonusiObjects[i29].akt_time_milli)|| | |
(bonusiObjects[i29].akt_time>=50&&perez_akt==bonusiObjects[i29].akt_time-50&& | |
GetTime()>=bonusiObjects[i29].akt_time_milli)) | |
{ | |
if(bonusiObjects[i29].owner==1) | |
{ | |
switch(bonusiObjects[i29].type) | |
{ | |
case 0: | |
//+10% скорость | |
if(bonusiObjects[i29].shans>=1&&bonusiObjects[i29].shans<=20+luck1/2) | |
{ | |
for(int i34=0;i34<=N_BONUS1;i34++) | |
{ | |
if(bonusi1[i34].id==i29) | |
{speed-=bonusi1[i34].znachenie;} | |
} | |
for(int i38=0;i38<=N_BONUSSTATUS1;i38++) | |
{ | |
if(statusi1[i38].id==i29) | |
{statusi1[i38].akt=0; | |
status_queue1--;} | |
if(statusi1[i38].akt==1&&statusi1[i38].id!=i29) | |
{statusi1[i38].queue--;} | |
}//status | |
} | |
//даунизм | |
if(bonusiObjects[i29].shans>=21+luck1/2&&bonusiObjects[i29].shans<=40) | |
{ | |
daun1--; | |
for(int i38=0;i38<=N_BONUSSTATUS1;i38++) | |
{ | |
if(statusi1[i38].id==i29) | |
{statusi1[i38].akt=0; | |
status_queue1--;} | |
if(statusi1[i38].akt==1&&statusi1[i38].id!=i29) | |
{statusi1[i38].queue--;} | |
}//status | |
} | |
//-20% скорость | |
if(bonusiObjects[i29].shans>=41&&bonusiObjects[i29].shans<=60-luck1/2) | |
{ | |
for(int i34=0;i34<=N_BONUS1;i34++) | |
{ | |
if(bonusi1[i34].id==i29) | |
{speed+=bonusi1[i34].znachenie;} | |
} | |
for(int i38=0;i38<=N_BONUSSTATUS1;i38++) | |
{ | |
if(statusi1[i38].id==i29) | |
{statusi1[i38].akt=0; | |
status_queue1--;} | |
if(statusi1[i38].akt==1&&statusi1[i38].id!=i29) | |
{statusi1[i38].queue--;} | |
}//status | |
} | |
//+25% обучение | |
if(bonusiObjects[i29].shans>=61-luck1/2&&bonusiObjects[i29].shans<=80) | |
{ | |
umnik1--; | |
for(int i38=0;i38<=N_BONUSSTATUS1;i38++) | |
{ | |
if(statusi1[i38].id==i29) | |
{statusi1[i38].akt=0; | |
status_queue1--;} | |
if(statusi1[i38].akt==1&&statusi1[i38].id!=i29) | |
{statusi1[i38].queue--;} | |
}//status | |
} | |
bonusiObjects[i29].akt=-1; | |
break; | |
case 1://шило в жопу | |
for(int i34=0;i34<=N_BONUS1;i34++) | |
{ | |
if(bonusi1[i34].id==i29) | |
{speed-=bonusi1[i34].znachenie;} | |
} | |
for(int i38=0;i38<=N_BONUSSTATUS1;i38++) | |
{ | |
if(statusi1[i38].id==i29) | |
{statusi1[i38].akt=0; | |
status_queue1--;} | |
if(statusi1[i38].akt==1&&statusi1[i38].id!=i29) | |
{statusi1[i38].queue--;} | |
}//status | |
bonusiObjects[i29--].akt=-1; | |
break;} | |
}//закрытие про игрока 1 | |
if(bonusiObjects[i29].owner==2) | |
{ | |
switch(bonusiObjects[i29].type) | |
{ | |
case 0: | |
if(bonusiObjects[i29].shans>=1&&bonusiObjects[i29].shans<=20+luck2/2) | |
{ | |
for(int i34=0;i34<=N_BONUS2;i34++) | |
{ | |
if(bonusi2[i34].id==i29) | |
{speed2-=bonusi2[i34].znachenie;} | |
} | |
for(int i38=0;i38<=N_BONUSSTATUS2;i38++) | |
{ | |
if(statusi2[i38].id==i29) | |
{statusi2[i38].akt=0; | |
status_queue2--;} | |
if(statusi2[i38].akt==1&&statusi2[i38].id!=i29) | |
{statusi2[i38].queue--;} | |
}//status | |
} | |
if(bonusiObjects[i29].shans>=21+luck2/2&&bonusiObjects[i29].shans<=40) | |
{ | |
daun2--; | |
for(int i38=0;i38<=N_BONUSSTATUS2;i38++) | |
{ | |
if(statusi2[i38].id==i29) | |
{statusi2[i38].akt=0; | |
status_queue2--;} | |
if(statusi2[i38].akt==1&&statusi2[i38].id!=i29) | |
{statusi2[i38].queue--;} | |
}//status | |
} | |
if(bonusiObjects[i29].shans>=41&&bonusiObjects[i29].shans<=60-luck2/2) | |
{ | |
for(int i34=0;i34<=N_BONUS2;i34++) | |
{ | |
if(bonusi2[i34].id==i29) | |
{speed2+=bonusi2[i34].znachenie;} | |
} | |
for(int i38=0;i38<=N_BONUSSTATUS2;i38++) | |
{ | |
if(statusi2[i38].id==i29) | |
{statusi2[i38].akt=0; | |
status_queue2--;} | |
if(statusi2[i38].akt==1&&statusi2[i38].id!=i29) | |
{statusi2[i38].queue--;} | |
}//status | |
} | |
if(bonusiObjects[i29].shans>=61-luck2/2&&bonusiObjects[i29].shans<=80) | |
{ | |
umnik2--; | |
for(int i38=0;i38<=N_BONUSSTATUS2;i38++) | |
{ | |
if(statusi2[i38].id==i29) | |
{statusi2[i38].akt=0; | |
status_queue2--;} | |
if(statusi2[i38].akt==1&&statusi2[i38].id!=i29) | |
{statusi2[i38].queue--;} | |
}//status | |
} | |
bonusiObjects[i29].akt=-1; | |
break; | |
case 1://шило в жопу | |
for(int i34=0;i34<=N_BONUS2;i34++) | |
{ | |
if(bonusi2[i34].id==i29) | |
{speed2-=bonusi2[i34].znachenie;} | |
} | |
for(int i38=0;i38<=N_BONUSSTATUS2;i38++) | |
{ | |
if(statusi2[i38].id==i29) | |
{statusi2[i38].akt=0; | |
status_queue2--;} | |
if(statusi2[i38].akt==1&&statusi2[i38].id!=i29) | |
{statusi2[i38].queue--;} | |
}//status | |
bonusiObjects[i29].akt=-1; | |
break;} | |
} | |
} | |
}//закрытие исчезновения бонусных апгрейдов | |
if(bonusiObjects[i29].akt==1)//исчезновение бонусов | |
{ | |
//мигание | |
if((bonusiObjects[i29].appear_time<53&&perez_akt==bonusiObjects[i29].appear_time+7&& | |
perez_akt_milli>=bonusiObjects[i29].appear_time_milli)|| | |
(bonusiObjects[i29].appear_time>=53&&perez_akt==bonusiObjects[i29].appear_time-53&& | |
perez_akt_milli>=bonusiObjects[i29].appear_time_milli)) | |
{bonusiObjects[i29].mig_akt=1; | |
bonusiObjects[i29].mig_time=perez_akt; | |
bonusiObjects[i29].mig_time_milli=GetTime();}//закрытие активации мигания | |
if(bonusiObjects[i29].mig_akt==1) | |
{ | |
if(bonusiObjects[i29].mig_time_milli<750&&bonusiObjects[i29].visible==true&& | |
(perez_akt_milli>=bonusiObjects[i29].mig_time_milli+250|| | |
(perez_akt_milli<bonusiObjects[i29].mig_time_milli&&perez_akt!=bonusiObjects[i29].mig_time))) | |
{bonusiObjects[i29].visible=false; | |
bonusiObjects[i29].mig_time=perez_akt; | |
bonusiObjects[i29].mig_time_milli=GetTime();} | |
if(bonusiObjects[i29].mig_time_milli<750&&bonusiObjects[i29].visible==false&& | |
(perez_akt_milli>=bonusiObjects[i29].mig_time_milli+250|| | |
(perez_akt_milli<bonusiObjects[i29].mig_time_milli&&perez_akt!=bonusiObjects[i29].mig_time))) | |
{bonusiObjects[i29].visible=true; | |
bonusiObjects[i29].mig_time=perez_akt; | |
bonusiObjects[i29].mig_time_milli=GetTime();} | |
if(bonusiObjects[i29].mig_time_milli>=750&&bonusiObjects[i29].visible==true&& | |
perez_akt_milli>=bonusiObjects[i29].mig_time_milli-750&&perez_akt!=bonusiObjects[i29].mig_time) | |
{bonusiObjects[i29].visible=false; | |
bonusiObjects[i29].mig_time=perez_akt; | |
bonusiObjects[i29].mig_time_milli=GetTime();} | |
if(bonusiObjects[i29].mig_time_milli>=750&&bonusiObjects[i29].visible==false&& | |
perez_akt_milli>=bonusiObjects[i29].mig_time_milli-750&&perez_akt!=bonusiObjects[i29].mig_time) | |
{bonusiObjects[i29].visible=true; | |
bonusiObjects[i29].mig_time=perez_akt; | |
bonusiObjects[i29].mig_time_milli=GetTime();} | |
}//if bonusiObjects[i29].mig_akt==1 | |
if((bonusiObjects[i29].appear_time<50&&perez_akt==bonusiObjects[i29].appear_time+10&& | |
perez_akt_milli>=bonusiObjects[i29].appear_time_milli)|| | |
(bonusiObjects[i29].appear_time>=50&&perez_akt==bonusiObjects[i29].appear_time-50&& | |
perez_akt_milli>=bonusiObjects[i29].appear_time_milli)) | |
{bonusiObjects[i29].akt=-1;} | |
}//закрытие исчезновения бонусов | |
}//закрытие бонусов | |
//-------------$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$----------------------------- | |
//ТЕКСТЫ БОНУСОВ | |
for(int i55=0;i55<=N_BONUSTEXT;i55++) | |
{ | |
if(bonustextiObjects[i55].akt==1) | |
{ | |
//текст движется | |
if((bonustextiObjects[i55].akt_time<57&&perez_akt<=bonustextiObjects[i55].akt_time+3)|| | |
(bonustextiObjects[i55].akt_time==57&&(perez_akt==57||perez_akt==58||(perez_akt==59&& | |
perez_akt_milli<=bonustextiObjects[i55].akt_time_milli)))|| | |
(bonustextiObjects[i55].akt_time==58&&(perez_akt==58||perez_akt==59||(perez_akt==0&& | |
perez_akt_milli<=bonustextiObjects[i55].akt_time_milli)))|| | |
(bonustextiObjects[i55].akt_time==59&&(perez_akt==59||perez_akt==0||(perez_akt==1&& | |
perez_akt_milli<=bonustextiObjects[i55].akt_time_milli)))) | |
{bonustextiObjects[i55].y-=0.5f;} | |
//текст исчезает | |
if((bonustextiObjects[i55].akt_time<57&&perez_akt==bonustextiObjects[i55].akt_time+3&& | |
perez_akt_milli>=bonustextiObjects[i55].akt_time_milli)|| | |
(bonustextiObjects[i55].akt_time>=57&&perez_akt==bonustextiObjects[i55].akt_time-57&& | |
perez_akt_milli>=bonustextiObjects[i55].akt_time_milli)) | |
{bonustextiObjects[i55].akt=0;} | |
} | |
} | |
//ПУЛЯ ИГРОКА 1 | |
if(oboima>0)//если в обойме есть пули | |
{ | |
if(aktivatorp==0)//если не открыт огонь | |
{px=x-24; | |
if(N_WEAPON1!=14) | |
{py=y-9;} | |
if(N_WEAPON1==14) | |
{py=y-13;} | |
} | |
if(aktivatorp1d1==0) | |
{p1d1x=x-24; p1d1y=y-9;} | |
if(aktivatorp1d2==0) | |
{p1d2x=x-24; p1d2y=y-9;} | |
if(aktivatorp1d3==0) | |
{p1d3x=x-24; p1d3y=y-9;} | |
if(aktivatorp1d4==0) | |
{p1d4x=x-24; p1d4y=y-9;} | |
shot=0; | |
}//в обойме есть пули | |
if(aktivatorp==1)//если открыт огонь | |
{ | |
//скорость пули | |
if(N_WEAPON1!=3&&N_WEAPON1!=6) | |
{px-=150*lag_p;} | |
} | |
if(N_WEAPON1==7) | |
{ | |
if(aktivatorp1d1==1) | |
{p1d1x-=110*lag_p;} | |
if(aktivatorp1d2==1) | |
{p1d2x-=110*lag_p;} | |
if(aktivatorp1d3==1) | |
{p1d3x-=110*lag_p;} | |
if(aktivatorp1d4==1) | |
{p1d4x-=110*lag_p;} | |
} | |
if(N_WEAPON1==3||N_WEAPON1==6) //FN F2000 и MAC | |
{px-=150*lag_p; | |
} | |
//просчёт рандома--------------------->>>>>>>>>>>>>>>>> | |
if(N_WEAPON1!=7&&N_WEAPON1!=10&&N_WEAPON1!=11&&N_WEAPON1!=12&&N_WEAPON1!=13) | |
{ | |
if(px<=x-(random_rasst_min[N_WEAPON1]+24)&&px>x-(random_rasst_max[N_WEAPON1]+24)) | |
{py+=hge->Random_Float(-random_value1[N_WEAPON1]*tochnost1,random_value1[N_WEAPON1]*tochnost1);}//рандом на x | |
if(px<=x-(random_rasst_max[N_WEAPON1]+24))//если пуля на расстоянии от 400 | |
{ | |
if(py>y-9)//если раньше пуля улетела вниз | |
{py+=hge->Random_Float(0,random_value2[N_WEAPON1]*tochnost1);} | |
if(py<y-9)//если раньше пуля улетела вверх | |
{py+=hge->Random_Float(-random_value2[N_WEAPON1]*tochnost1,0);} | |
if(py==y-9)//если раньше пуля не отклонилась | |
{py+=hge->Random_Float(-random_value2[N_WEAPON1]*tochnost1,random_value2[N_WEAPON1]*tochnost1);} | |
} | |
} | |
if(N_WEAPON1==7)//WINCHESTER | |
{ | |
if(px<=x-224&&px>x-424)//еслю пуля на расстоянии от 200 до 400 | |
{py+=hge->Random_Float(-1*tochnost1,1*tochnost1);}//рандом на 1 | |
if(px<=x-424)//если пуля на расстоянии от 400 | |
{ | |
if(py>y-9)//если раньше пуля улетела вниз | |
{py+=hge->Random_Float(0,3*tochnost1);} | |
if(py<y-9)//если раньше пуля улетела вверх | |
{py+=hge->Random_Float(-3*tochnost1,0);} | |
if(py==y-9)//если раньше пуля не отклонилась | |
{py+=hge->Random_Float(-3*tochnost1,3*tochnost1);} | |
} | |
if(p1d1x<=x-224&&p1d1x>x-424)//еслю пуля на расстоянии от 200 до 400 | |
{p1d1y+=hge->Random_Float(-7*tochnost1,7*tochnost1);}//рандом на 7 | |
if(p1d1x<=x-424)//если пуля на расстоянии от 400 | |
{ | |
if(p1d1y>y-9)//если раньше пуля улетела вниз | |
{p1d1y+=hge->Random_Float(0,15*tochnost1);} | |
if(p1d1y<y-9)//если раньше пуля улетела вверх | |
{p1d1y+=hge->Random_Float(-15*tochnost1,0);} | |
if(p1d1y==y-9)//если раньше пуля не отклонилась | |
{p1d1y+=hge->Random_Float(-15*tochnost1,15*tochnost1);} | |
} | |
if(p1d4x<=x-224&&p1d4x>x-424)//еслю пуля на расстоянии от 200 до 400 | |
{p1d4y+=hge->Random_Float(-7*tochnost1,7*tochnost1);}//рандом на 7 | |
if(p1d4x<=x-424)//если пуля на расстоянии от 400 | |
{ | |
if(p1d4y>y-9)//если раньше пуля улетела вниз | |
{p1d4y+=hge->Random_Float(0,15*tochnost1);} | |
if(p1d4y<y-9)//если раньше пуля улетела вверх | |
{p1d4y+=hge->Random_Float(-15*tochnost1,0);} | |
if(p1d4y==y-9)//если раньше пуля не отклонилась | |
{p1d4y+=hge->Random_Float(-15*tochnost1,15*tochnost1);} | |
} | |
if(p1d2x<=x-224&&p1d2x>x-424)//еслю пуля на расстоянии от 200 до 400 | |
{p1d2y+=hge->Random_Float(-3*tochnost1,3*tochnost1);}//рандом на 3 | |
if(p1d2x<=x-424)//если пуля на расстоянии от 400 | |
{ | |
if(p1d2y>y-9)//если раньше пуля улетела вниз | |
{p1d2y+=hge->Random_Float(0,8*tochnost1);} | |
if(p1d2y<y-9)//если раньше пуля улетела вверх | |
{p1d2y+=hge->Random_Float(-8*tochnost1,0);} | |
if(p1d2y==y-9)//если раньше пуля не отклонилась | |
{p1d2y+=hge->Random_Float(-8*tochnost1,8*tochnost1);} | |
} | |
if(p1d3x<=x-224&&p1d3x>x-424)//еслю пуля на расстоянии от 200 до 400 | |
{p1d3y+=hge->Random_Float(-3*tochnost1,3*tochnost1);}//рандом на 3 | |
if(p1d3x<=x-424)//если пуля на расстоянии от 400 | |
{ | |
if(p1d3y>y-9)//если раньше пуля улетела вниз | |
{p1d3y+=hge->Random_Float(0,8*tochnost1);} | |
if(p1d3y<y-9)//если раньше пуля улетела вверх | |
{p1d3y+=hge->Random_Float(-8*tochnost1,0);} | |
if(p1d3y==y-9)//если раньше пуля не отклонилась | |
{p1d3y+=hge->Random_Float(-8*tochnost1,8*tochnost1);} | |
} | |
} //закрытие про WINCHESTER | |
if(px<-100&&aktivatorp==1)//если пуля долетела до конца экрана | |
{aktivatorp=0; | |
oboima-=1; | |
px=x-24; | |
if(N_WEAPON1!=14) | |
{py=y-9;} | |
if(N_WEAPON1==14) | |
{py=y-13;} | |
} | |
if(p1d1x<-100) | |
{aktivatorp1d1=0; | |
p1d1x=x-24; p1d1y=y-9;} | |
if(p1d2x<-100) | |
{aktivatorp1d2=0; | |
p1d2x=x-24; p1d2y=y-9;} | |
if(p1d3x<-100) | |
{aktivatorp1d3=0; | |
p1d3x=x-24; p1d3y=y-9;} | |
if(p1d4x<-100) | |
{aktivatorp1d4=0; | |
p1d4x=x-24; p1d4y=y-9;} | |
if(oboima<=0) | |
{px=x-24; | |
if(N_WEAPON1!=14) | |
{py=y-9;} | |
if(N_WEAPON1==14) | |
{py=y-13;} | |
if(aktivatorp1d1==0) | |
{p1d1x=x-24; p1d1y=y-9;} | |
if(aktivatorp1d2==0) | |
{p1d2x=x-24; p1d2y=y-9;} | |
if(aktivatorp1d3==0) | |
{p1d3x=x-24; p1d3y=y-9;} | |
if(aktivatorp1d4==0) | |
{p1d4x=x-24; p1d4y=y-9;} | |
} | |
//ЗАКРЫТИЕ ПУЛИ ИГРОКА 1 | |
//ПУЛЯ ИГРОКА 2 | |
if(oboima2>0)//если в обойме есть пули | |
{ | |
if(aktivatorp2==0)//если не открыт огонь | |
{p2x=x2-24; | |
if(N_WEAPON2!=14) | |
{p2y=y2-9;} | |
if(N_WEAPON2==14) | |
{p2y=y2-13;} | |
p2d1x=x2-24; p2d1y=y2-9; | |
p2d2x=x2-24; p2d2y=y2-9; | |
p2d3x=x2-24; p2d3y=y2-9; | |
p2d4x=x2-24; p2d4y=y2-9; | |
shot=0; | |
} | |
if(aktivatorp2==1)//если открыт огонь | |
{ | |
//скорость пули | |
if(N_WEAPON2!=3&&N_WEAPON2!=6) | |
{p2x-=150*lag_p; | |
if(N_WEAPON2==7) | |
{p2d1x-=110*lag_p; | |
p2d2x-=110*lag_p; | |
p2d3x-=110*lag_p; | |
p2d4x-=110*lag_p;} | |
} | |
if(N_WEAPON2==3||N_WEAPON2==6) //FN F2000 и MAC | |
{p2x-=150*lag_p; | |
} | |
//просчёт рандома--------------------->>>>>>>>>>>>>>>>> | |
if(N_WEAPON2!=7&&N_WEAPON2!=10&&N_WEAPON2!=11&&N_WEAPON2!=12&&N_WEAPON2!=13) | |
{ | |
if(p2x<=x2-(random_rasst_min[N_WEAPON2]+24)&&p2x>x2-(random_rasst_max[N_WEAPON2]+24)) | |
{p2y+=hge->Random_Float(-random_value1[N_WEAPON2]*tochnost2,random_value1[N_WEAPON2]*tochnost2);}//рандом на x | |
if(p2x<=x2-(random_rasst_max[N_WEAPON2]+24))//если пуля на расстоянии от 400 | |
{ | |
if(p2y>y2-9)//если раньше пуля улетела вниз | |
{p2y+=hge->Random_Float(0,random_value2[N_WEAPON2]*tochnost2);} | |
if(p2y<y2-9)//если раньше пуля улетела вверх | |
{p2y+=hge->Random_Float(-random_value2[N_WEAPON2]*tochnost2,0);} | |
if(p2y==y2-9)//если раньше пуля не отклонилась | |
{p2y+=hge->Random_Float(-random_value2[N_WEAPON2]*tochnost2,random_value2[N_WEAPON2]*tochnost2);} | |
} | |
} | |
if(N_WEAPON2==7)//WINCHESTER | |
{ | |
if(p2x<=x2-224&&p2x>x2-424)//еслю пуля на расстоянии от 200 до 400 | |
{p2y+=hge->Random_Float(-1*tochnost2,1*tochnost2);}//рандом на 1 | |
if(p2x<=x2-424)//если пуля на расстоянии от 400 | |
{ | |
if(p2y>y2-9)//если раньше пуля улетела вниз | |
{p2y+=hge->Random_Float(0,3*tochnost2);} | |
if(p2y<y2-9)//если раньше пуля улетела вверх | |
{p2y+=hge->Random_Float(-3*tochnost2,0);} | |
if(p2y==y2-9)//если раньше пуля не отклонилась | |
{p2y+=hge->Random_Float(-3*tochnost2,3*tochnost2);} | |
} | |
if(p2d1x<=x2-224&&p2d1x>x2-424)//еслю пуля на расстоянии от 200 до 400 | |
{p2d1y+=hge->Random_Float(-7*tochnost2,7*tochnost2);}//рандом на 7 | |
if(p2d1x<=x2-424)//если пуля на расстоянии от 400 | |
{ | |
if(p2d1y>y2-9)//если раньше пуля улетела вниз | |
{p2d1y+=hge->Random_Float(0,15*tochnost2);} | |
if(p2d1y<y2-9)//если раньше пуля улетела вверх | |
{p2d1y+=hge->Random_Float(-15*tochnost2,0);} | |
if(p2d1y==y2-9)//если раньше пуля не отклонилась | |
{p2d1y+=hge->Random_Float(-15*tochnost2,15*tochnost2);} | |
} | |
if(p2d4x<=x2-224&&p2d4x>x2-424)//еслю пуля на расстоянии от 200 до 400 | |
{p2d4y+=hge->Random_Float(-7*tochnost2,7*tochnost2);}//рандом на 7 | |
if(p2d4x<=x2-424)//если пуля на расстоянии от 400 | |
{ | |
if(p2d4y>y2-9)//если раньше пуля улетела вниз | |
{p2d4y+=hge->Random_Float(0,15*tochnost2);} | |
if(p2d4y<y2-9)//если раньше пуля улетела вверх | |
{p2d4y+=hge->Random_Float(-15*tochnost2,0);} | |
if(p2d4y==y2-9)//если раньше пуля не отклонилась | |
{p2d4y+=hge->Random_Float(-15*tochnost2,15*tochnost2);} | |
} | |
if(p2d2x<=x2-224&&p2d2x>x2-424)//еслю пуля на расстоянии от 200 до 400 | |
{p2d2y+=hge->Random_Float(-3*tochnost2,3*tochnost2);}//рандом на 3 | |
if(p2d2x<=x2-424)//если пуля на расстоянии от 400 | |
{ | |
if(p2d2y>y2-9)//если раньше пуля улетела вниз | |
{p2d2y+=hge->Random_Float(0,8*tochnost2);} | |
if(p2d2y<y2-9)//если раньше пуля улетела вверх | |
{p2d2y+=hge->Random_Float(-8*tochnost2,0);} | |
if(p2d2y==y2-9)//если раньше пуля не отклонилась | |
{p2d2y+=hge->Random_Float(-8*tochnost2,8*tochnost2);} | |
} | |
if(p2d3x<=x2-224&&p2d3x>x2-424)//еслю пуля на расстоянии от 200 до 400 | |
{p2d3y+=hge->Random_Float(-3*tochnost2,3*tochnost2);}//рандом на 3 | |
if(p2d3x<=x2-424)//если пуля на расстоянии от 400 | |
{ | |
if(p2d3y>y2-9)//если раньше пуля улетела вниз | |
{p2d3y+=hge->Random_Float(0,8*tochnost2);} | |
if(p2d3y<y2-9)//если раньше пуля улетела вверх | |
{p2d3y+=hge->Random_Float(-8*tochnost2,0);} | |
if(p2d3y==y2-9)//если раньше пуля не отклонилась | |
{p2d3y+=hge->Random_Float(-8*tochnost2,8*tochnost2);} | |
} | |
} //закрытие про WINCHESTER | |
if(p2x<-100&&aktivatorp2==1)//если пуля 2 долетела до конца экрана | |
{aktivatorp2=0; | |
oboima2-=1; | |
p2x=x2-24; | |
if(N_WEAPON2!=14) | |
{p2y=y2-9;} | |
if(N_WEAPON2==14) | |
{p2y=y2-13;}} | |
if(p2d1x<-100) | |
{p2d1x=x2-24; p2d1y=y2-9;} | |
if(p2d2x<-100) | |
{p2d2x=x2-24; p2d2y=y2-9;} | |
if(p2d3x<-100) | |
{p2d3x=x2-24; p2d3y=y2-9;} | |
if(p2d4x<-100) | |
{p2d4x=x2-24; p2d4y=y2-9;} | |
} | |
} | |
if(oboima2<=0) | |
{p2x=x2-24; | |
if(N_WEAPON2!=14) | |
{p2y=y2-9;} | |
if(N_WEAPON2==14) | |
{p2y=y2-13;} | |
p2d1x=x2-24; p2d1y=y2-9; | |
p2d2x=x2-24; p2d2y=y2-9; | |
p2d3x=x2-24; p2d3y=y2-9; | |
p2d4x=x2-24; p2d4y=y2-9; | |
} | |
//ЗАКРЫТИЕ ПУЛИ | |
//координаты огня выстрела | |
switch (N_WEAPON1) | |
{case 0: | |
if(ak_tex==0) | |
{a=x-56;} | |
if(ak_tex==1) | |
{a=x-61;} | |
b=y-9; | |
break; | |
case 1: | |
case 9: | |
a=x-33; | |
b=y-10; | |
break; | |
case 2: | |
a=x-47; | |
b=y-9; | |
break; | |
case 3: | |
a=x-59; | |
b=y-11; | |
break; | |
case 4: | |
a=x-37; | |
b=y-10; | |
break; | |
case 5: | |
case 8: | |
a=x-71; | |
b=y-8; | |
break; | |
case 6: | |
a=x-30; | |
b=y-9; | |
break; | |
case 7: | |
a=x-81; | |
b=y-11; | |
break; | |
case 14: | |
a=x-40; | |
b=y-13; | |
break; | |
case 15: | |
a=x-36; | |
b=y-10; | |
break; | |
} | |
//координаты огня выстрела игрока 2 | |
switch (N_WEAPON2) | |
{case 0: | |
if(ak_tex==0) | |
{a2=x2-56;} | |
if(ak_tex==1) | |
{a2=x2-61;} | |
b2=y2-9; | |
break; | |
case 1: | |
case 9: | |
a2=x2-33; | |
b2=y2-10; | |
break; | |
case 2: | |
a2=x2-47; | |
b2=y2-9; | |
break; | |
case 3: | |
a2=x2-59; | |
b2=y2-11; | |
break; | |
case 4: | |
a2=x2-37; | |
b2=y2-10; | |
break; | |
case 5: | |
case 8: | |
a2=x2-71; | |
b2=y2-8; | |
break; | |
case 6: | |
a2=x2-30; | |
b2=y2-9; | |
break; | |
case 7: | |
a2=x2-81; | |
b2=y2-11; | |
break; | |
case 14: | |
a2=x2-40; | |
b2=y2-13; | |
break; | |
case 15: | |
a2=x2-36; | |
b2=y2-10; | |
break; | |
} | |
//летящие гильзы | |
for(int i180=0;i180<=MAX_GILZ-1;i180++) | |
{ | |
if(gilziObjects[i180].akt==1&&gilziObjects[i180].y<=gilziObjects[i180].niz) | |
{ | |
if(gilziObjects[i180].x<=gilziObjects[i180].xstart+gilziObjects[i180].randomx) | |
{gilziObjects[i180].x+=0.5f*lag; | |
gilziObjects[i180].y-=0.1f*(gilziObjects[i180].xstart+gilziObjects[i180].randomx-gilziObjects[i180].x)*lag;} | |
if(gilziObjects[i180].x>=gilziObjects[i180].xstart+gilziObjects[i180].randomx) | |
{gilziObjects[i180].x+=0.5f*lag; | |
gilziObjects[i180].y+=0.04f*(gilziObjects[i180].x-gilziObjects[i180].xstart+gilziObjects[i180].randomx)*lag;} | |
} | |
if(gilziObjects[i180].y>=gilziObjects[i180].niz) | |
{gilziObjects[i180].akt=0;} | |
}//закрытие гильз | |
//ЛЕТЯЩИЕ ГРЕНКИ!!!!!!!------------------------------------ | |
for(int i70=0;i70<=MAX_GREN-1;i70++) | |
{ | |
if(granati[i70].akt==1) | |
{granati[i70].x-=granati[i70].speedX*lag; | |
granati[i70].y-=granati[i70].speedY*(granati[i70].x-granati[i70].osX)*lag; | |
if(granati[i70].type==1) | |
{granati[i70].gradus+=M_PI_4/4*lag;} | |
int rocketPan=-75+granati[i70].x/9; | |
if(granati[i70].type==3&&granati[i70].x>0) | |
{if(granati[i70].owner==1) | |
{hge->Effect_PlayEx(rocket_polet,volume,rocketPan,0);} | |
if(granati[i70].owner==2) | |
{hge->Effect_PlayEx(rocket2_polet,volume,rocketPan,0);}} | |
if(granati[i70].type==3&&granati[i70].x<=0) | |
{if(granati[i70].owner==1) | |
{hge->Effect_PlayEx(rocket_polet,volume,-100,0);} | |
if(granati[i70].owner==2) | |
{hge->Effect_PlayEx(rocket2_polet,volume,-100,0);}} | |
} | |
if(granati[i70].akt==1&&granati[i70].x<granati[i70].osX&&granati[i70].y>=granati[i70].osY-16) | |
{granati[i70].akt=0;} | |
if((granati[i70].type==2||granati[i70].type==3)&&granati[i70].akt==1)//гранаты из подствольника или РПГ детонируют при контакте с врагом | |
{ | |
for (int i132=0;i132<=N_ZAYAC;i132++) | |
{ | |
if(granati[i70].x<=vragi1Objects[i132].v1x+10&&granati[i70].x>vragi1Objects[i132].v1x-100*lag&& | |
granati[i70].y<=vragi1Objects[i132].v1y+44&&granati[i70].y>vragi1Objects[i132].v1y+5&& | |
vragi1Objects[i132].ubit!=1) | |
{granati[i70].akt=0;} | |
} | |
for (int i133=0;i133<=N_VOLK;i133++) | |
{ | |
if(granati[i70].x<=vragi2Objects[i133].v2x+100&&granati[i70].x>vragi2Objects[i133].v2x-150*lag&& | |
granati[i70].y<=vragi2Objects[i133].v2y+50&&granati[i70].y>vragi2Objects[i133].v2y&& | |
vragi2Objects[i133].ubit!=1) | |
{granati[i70].akt=0;} | |
} | |
for (int i134=0;i134<=N_MEDVED;i134++) | |
{ | |
if(granati[i70].x<=vragi3Objects[i134].v3x+100&&granati[i70].x>vragi3Objects[i134].v3x-300*lag&& | |
granati[i70].y<=vragi3Objects[i134].v3y+200&&granati[i70].y>vragi3Objects[i134].v3y+105&& | |
vragi3Objects[i134].ubit!=1) | |
{granati[i70].akt=0;} | |
} | |
for (int i135=0;i135<=N_PTENEC;i135++) | |
{ | |
if(granati[i70].x<=vragi4Objects[i135].v4x&&granati[i70].x>vragi4Objects[i135].v4x-40*lag&& | |
granati[i70].y<=vragi4Objects[i135].v4y+22&&granati[i70].y>vragi4Objects[i135].v4y&& | |
vragi4Objects[i135].ubit!=1) | |
{granati[i70].akt=0;} | |
} | |
} | |
if(granati[i70].akt==0)//ВЗРЫВ!!!--------- | |
{vzriv_grena_psi->FireAt(granati[i70].x,granati[i70].y); | |
vzriv_ogon_grena_psi->FireAt(granati[i70].x,granati[i70].y); | |
hge->Effect_PlayEx(vzriv_grena1,volume*9/10,-75+granati[i70].x/9,0); | |
//про зайцев---- | |
for (int i56=0;i56<=N_ZAYAC;i56++) | |
{ | |
if(RPGMOD==false) | |
{ //радиус | |
if(granati[i70].x-vragi1Objects[i56].v1x<=radius_vzriva[granati[i70].type]&&granati[i70].x-vragi1Objects[i56].v1x>=-radius_vzriva[granati[i70].type]&& | |
granati[i70].y-vragi1Objects[i56].v1y<=radius_vzriva[granati[i70].type]&&granati[i70].y-vragi1Objects[i56].v1y>=-radius_vzriva[granati[i70].type]) | |
//УРОН ОТ ВЗРЫВЧАТКИ | |
{ | |
vragi1Objects[i56].health-=damage_gren[granati[i70].type]*(radius_vzriva[granati[i70].type]-sqrt((granati[i70].x-vragi1Objects[i56].v1x)*(granati[i70].x-vragi1Objects[i56].v1x)+ | |
(granati[i70].y-vragi1Objects[i56].v1y)*(granati[i70].y-vragi1Objects[i56].v1y)))/radius_vzriva[granati[i70].type]; | |
//энергия взрыва | |
vragi1Objects[i56].energy=(radius_vzriva[granati[i70].type]-sqrt((granati[i70].x-vragi1Objects[i56].v1x)*(granati[i70].x-vragi1Objects[i56].v1x)+ | |
(granati[i70].y-vragi1Objects[i56].v1y)*(granati[i70].y-vragi1Objects[i56].v1y)))/radius_vzriva[granati[i70].type]; | |
//определение расстояния | |
if(granati[i70].x>=vragi1Objects[i56].v1x) | |
{vragi1Objects[i56].rasstX=granati[i70].x-vragi1Objects[i56].v1x;} | |
if(granati[i70].x<=vragi1Objects[i56].v1x) | |
{vragi1Objects[i56].rasstX=vragi1Objects[i56].v1x-granati[i70].x;} | |
if(granati[i70].y>=vragi1Objects[i56].v1y) | |
{vragi1Objects[i56].rasstY=granati[i70].y-vragi1Objects[i56].v1y;} | |
if(granati[i70].y<=vragi1Objects[i56].v1y) | |
{vragi1Objects[i56].rasstY=vragi1Objects[i56].v1y-granati[i70].y;} | |
//направление щей (четверти) | |
if(granati[i70].x<vragi1Objects[i56].v1x&&granati[i70].y>=vragi1Objects[i56].v1y) | |
{vragi1Objects[i56].chetvert=1;} | |
if(granati[i70].x<vragi1Objects[i56].v1x&&granati[i70].y<vragi1Objects[i56].v1y) | |
{vragi1Objects[i56].chetvert=2;} | |
if(granati[i70].x>=vragi1Objects[i56].v1x&&granati[i70].y<vragi1Objects[i56].v1y) | |
{vragi1Objects[i56].chetvert=3;} | |
if(granati[i70].x>=vragi1Objects[i56].v1x&&granati[i70].y>=vragi1Objects[i56].v1y) | |
{vragi1Objects[i56].chetvert=4;} | |
} | |
} | |
if(RPGMOD==true) | |
{ | |
//--- | |
//РАДИУС ИГРОКА 1 | |
if(granati[i70].owner==1) | |
{ | |
//радиус | |
if(granati[i70].x-vragi1Objects[i56].v1x<=radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)&&granati[i70].x-vragi1Objects[i56].v1x>=-radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)&& | |
granati[i70].y-vragi1Objects[i56].v1y<=radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)&&granati[i70].y-vragi1Objects[i56].v1y>=-radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)) | |
//УРОН ОТ ВЗРЫВЧАТКИ | |
{ | |
if(LVL1%2==0) | |
{vragi1Objects[i56].health-=(damage_gren[granati[i70].type]+attack1*LVL1/2)*(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)-sqrt((granati[i70].x-vragi1Objects[i56].v1x)*(granati[i70].x-vragi1Objects[i56].v1x)+ | |
(granati[i70].y-vragi1Objects[i56].v1y)*(granati[i70].y-vragi1Objects[i56].v1y)))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1);} | |
if(LVL1%2==1) | |
{vragi1Objects[i56].health-=(damage_gren[granati[i70].type]+attack1*(LVL1-1)/2)*(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)-sqrt((granati[i70].x-vragi1Objects[i56].v1x)*(granati[i70].x-vragi1Objects[i56].v1x)+ | |
(granati[i70].y-vragi1Objects[i56].v1y)*(granati[i70].y-vragi1Objects[i56].v1y)))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1);} | |
//энергия взрыва | |
vragi1Objects[i56].energy=(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)-sqrt((granati[i70].x-vragi1Objects[i56].v1x)*(granati[i70].x-vragi1Objects[i56].v1x)+ | |
(granati[i70].y-vragi1Objects[i56].v1y)*(granati[i70].y-vragi1Objects[i56].v1y)))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1); | |
//определение расстояния | |
if(granati[i70].x>=vragi1Objects[i56].v1x) | |
{vragi1Objects[i56].rasstX=granati[i70].x-vragi1Objects[i56].v1x;} | |
if(granati[i70].x<=vragi1Objects[i56].v1x) | |
{vragi1Objects[i56].rasstX=vragi1Objects[i56].v1x-granati[i70].x;} | |
if(granati[i70].y>=vragi1Objects[i56].v1y) | |
{vragi1Objects[i56].rasstY=granati[i70].y-vragi1Objects[i56].v1y;} | |
if(granati[i70].y<=vragi1Objects[i56].v1y) | |
{vragi1Objects[i56].rasstY=vragi1Objects[i56].v1y-granati[i70].y;} | |
if(vragi1Objects[i56].rasstX<20) | |
{vragi1Objects[i56].rasstX=20;} | |
if(vragi1Objects[i56].rasstY<20) | |
{vragi1Objects[i56].rasstY=20;} | |
//направление щей (четверти) | |
if(granati[i70].x<vragi1Objects[i56].v1x&&granati[i70].y>=vragi1Objects[i56].v1y) | |
{vragi1Objects[i56].chetvert=1;} | |
if(granati[i70].x<vragi1Objects[i56].v1x&&granati[i70].y<vragi1Objects[i56].v1y) | |
{vragi1Objects[i56].chetvert=2;} | |
if(granati[i70].x>=vragi1Objects[i56].v1x&&granati[i70].y<vragi1Objects[i56].v1y) | |
{vragi1Objects[i56].chetvert=3;} | |
if(granati[i70].x>=vragi1Objects[i56].v1x&&granati[i70].y>=vragi1Objects[i56].v1y) | |
{vragi1Objects[i56].chetvert=4;} | |
} | |
} | |
//РАДИУС ИГРОКА 2 | |
if(granati[i70].owner==2) | |
{ | |
//радиус | |
if(granati[i70].x-vragi1Objects[i56].v1x<=radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)&&granati[i70].x-vragi1Objects[i56].v1x>=-radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)&& | |
granati[i70].y-vragi1Objects[i56].v1y<=radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)&&granati[i70].y-vragi1Objects[i56].v1y>=-radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)) | |
//УРОН ОТ ВЗРЫВЧАТКИ | |
{ | |
if(LVL2%2==0) | |
{vragi1Objects[i56].health-=(damage_gren[granati[i70].type]+attack2*LVL2/2)*(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)-sqrt((granati[i70].x-vragi1Objects[i56].v1x)*(granati[i70].x-vragi1Objects[i56].v1x)+ | |
(granati[i70].y-vragi1Objects[i56].v1y)*(granati[i70].y-vragi1Objects[i56].v1y)))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2);} | |
if(LVL2%2==1) | |
{vragi1Objects[i56].health-=(damage_gren[granati[i70].type]+attack2*(LVL2-1)/2)*(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)-sqrt((granati[i70].x-vragi1Objects[i56].v1x)*(granati[i70].x-vragi1Objects[i56].v1x)+ | |
(granati[i70].y-vragi1Objects[i56].v1y)*(granati[i70].y-vragi1Objects[i56].v1y)))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2);} | |
//энергия взрыва | |
vragi1Objects[i56].energy=(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)-sqrt((granati[i70].x-vragi1Objects[i56].v1x)*(granati[i70].x-vragi1Objects[i56].v1x)+ | |
(granati[i70].y-vragi1Objects[i56].v1y)*(granati[i70].y-vragi1Objects[i56].v1y)))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2); | |
//определение расстояния | |
if(granati[i70].x>=vragi1Objects[i56].v1x) | |
{vragi1Objects[i56].rasstX=granati[i70].x-vragi1Objects[i56].v1x;} | |
if(granati[i70].x<=vragi1Objects[i56].v1x) | |
{vragi1Objects[i56].rasstX=vragi1Objects[i56].v1x-granati[i70].x;} | |
if(granati[i70].y>=vragi1Objects[i56].v1y) | |
{vragi1Objects[i56].rasstY=granati[i70].y-vragi1Objects[i56].v1y;} | |
if(granati[i70].y<=vragi1Objects[i56].v1y) | |
{vragi1Objects[i56].rasstY=vragi1Objects[i56].v1y-granati[i70].y;} | |
if(vragi1Objects[i56].rasstX<20) | |
{vragi1Objects[i56].rasstX=20;} | |
if(vragi1Objects[i56].rasstY<20) | |
{vragi1Objects[i56].rasstY=20;} | |
//направление щей (четверти) | |
if(granati[i70].x<vragi1Objects[i56].v1x&&granati[i70].y>=vragi1Objects[i56].v1y) | |
{vragi1Objects[i56].chetvert=1;} | |
if(granati[i70].x<vragi1Objects[i56].v1x&&granati[i70].y<vragi1Objects[i56].v1y) | |
{vragi1Objects[i56].chetvert=2;} | |
if(granati[i70].x>=vragi1Objects[i56].v1x&&granati[i70].y<vragi1Objects[i56].v1y) | |
{vragi1Objects[i56].chetvert=3;} | |
if(granati[i70].x>=vragi1Objects[i56].v1x&&granati[i70].y>=vragi1Objects[i56].v1y) | |
{vragi1Objects[i56].chetvert=4;} | |
} | |
} | |
//--- | |
}//RPGMOD==TRUE | |
if(RPGMOD==true) | |
{vragi1Objects[i56].health+=vragi1Objects[i56].defence; | |
if(vragi1Objects[i56].health>50) | |
{vragi1Objects[i56].health=50;} | |
}//RPGMOD | |
//убил!:'( | |
if(vragi1Objects[i56].health<=0) | |
{ | |
vragi1Objects[i56].vzorvan=true; | |
if(granati[i70].owner==1) | |
{vragi1Objects[i56].killed_by=1;} | |
if(granati[i70].owner==2) | |
{vragi1Objects[i56].killed_by=2;} | |
} | |
}//про зайцев----- | |
//про волков---- | |
for (int i57=0;i57<=N_VOLK;i57++) | |
{ | |
if(RPGMOD==false) | |
{ //радиус | |
if(granati[i70].x-vragi2Objects[i57].v2x<=radius_vzriva[granati[i70].type]&&granati[i70].x-vragi2Objects[i57].v2x>=-radius_vzriva[granati[i70].type]&& | |
granati[i70].y-vragi2Objects[i57].v2y<=radius_vzriva[granati[i70].type]&&granati[i70].y-vragi2Objects[i57].v2y>=-radius_vzriva[granati[i70].type]) | |
//УРОН ОТ ВЗРЫВЧАТКИ | |
{ | |
vragi2Objects[i57].health-=damage_gren[granati[i70].type]*(radius_vzriva[granati[i70].type]-sqrt((granati[i70].x-vragi2Objects[i57].v2x)*(granati[i70].x-vragi2Objects[i57].v2x)+ | |
(granati[i70].y-vragi2Objects[i57].v2y)*(granati[i70].y-vragi2Objects[i57].v2y)))/radius_vzriva[granati[i70].type]; | |
} | |
} | |
if(RPGMOD==true) | |
{ | |
//РАДИУС ИГРОКА 1 | |
if(granati[i70].owner==1) | |
{ | |
//радиус | |
if(granati[i70].x-vragi2Objects[i57].v2x<=radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)&&granati[i70].x-vragi2Objects[i57].v2x>=-radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)&& | |
granati[i70].y-vragi2Objects[i57].v2y<=radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)&&granati[i70].y-vragi2Objects[i57].v2y>=-radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)) | |
//УРОН ОТ ВЗРЫВЧАТКИ | |
{ | |
if(LVL1%2==0) | |
{vragi2Objects[i57].health-=(damage_gren[granati[i70].type]+attack1*LVL1/2)*(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)-sqrt((granati[i70].x-vragi2Objects[i57].v2x)*(granati[i70].x-vragi2Objects[i57].v2x)+ | |
(granati[i70].y-vragi2Objects[i57].v2y)*(granati[i70].y-vragi2Objects[i57].v2y)))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1);} | |
if(LVL1%2==1) | |
{vragi2Objects[i57].health-=(damage_gren[granati[i70].type]+attack1*(LVL1-1)/2)*(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)-sqrt((granati[i70].x-vragi2Objects[i57].v2x)*(granati[i70].x-vragi2Objects[i57].v2x)+ | |
(granati[i70].y-vragi2Objects[i57].v2y)*(granati[i70].y-vragi2Objects[i57].v2y)))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1);} | |
} | |
} | |
//РАДИУС ИГРОКА 2 | |
if(granati[i70].owner==2) | |
{ | |
//радиус | |
if(granati[i70].x-vragi2Objects[i57].v2x<=radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)&&granati[i70].x-vragi2Objects[i57].v2x>=-radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)&& | |
granati[i70].y-vragi2Objects[i57].v2y<=radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)&&granati[i70].y-vragi2Objects[i57].v2y>=-radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)) | |
//УРОН ОТ ВЗРЫВЧАТКИ | |
{ | |
if(LVL2%2==0) | |
{vragi2Objects[i57].health-=(damage_gren[granati[i70].type]+attack1*LVL2/2)*(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)-sqrt((granati[i70].x-vragi2Objects[i57].v2x)*(granati[i70].x-vragi2Objects[i57].v2x)+ | |
(granati[i70].y-vragi2Objects[i57].v2y)*(granati[i70].y-vragi2Objects[i57].v2y)))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2);} | |
if(LVL2%2==1) | |
{vragi2Objects[i57].health-=(damage_gren[granati[i70].type]+attack1*(LVL2-1)/2)*(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)-sqrt((granati[i70].x-vragi2Objects[i57].v2x)*(granati[i70].x-vragi2Objects[i57].v2x)+ | |
(granati[i70].y-vragi2Objects[i57].v2y)*(granati[i70].y-vragi2Objects[i57].v2y)))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2);} | |
} | |
} | |
}//RPGMOD==TRUE | |
if(RPGMOD==true) | |
{vragi2Objects[i57].health+=vragi2Objects[i57].defence; | |
if(vragi2Objects[i57].health>125) | |
{vragi2Objects[i57].health=125;} | |
}//RPGMOD | |
//убил!:'( | |
if(vragi2Objects[i57].health<=0) | |
{ | |
if(granati[i70].owner==1) | |
{vragi2Objects[i57].killed_by=1;} | |
if(granati[i70].owner==2) | |
{vragi2Objects[i57].killed_by=2;} | |
} | |
}//про волков-------- | |
//про медведей---- | |
for (int i83=0;i83<=N_MEDVED;i83++) | |
{ | |
if(RPGMOD==false) | |
{ //радиус | |
if(granati[i70].x-(vragi3Objects[i83].v3x+90)<=radius_vzriva[granati[i70].type]&&granati[i70].x-(vragi3Objects[i83].v3x+90)>=-radius_vzriva[granati[i70].type]&& | |
granati[i70].y-(vragi3Objects[i83].v3y+110)<=radius_vzriva[granati[i70].type]&&granati[i70].y-(vragi3Objects[i83].v3y+110)>=-radius_vzriva[granati[i70].type]) | |
//УРОН ОТ ВЗРЫВЧАТКИ | |
{ | |
vragi3Objects[i83].health-=damage_gren[granati[i70].type]*(radius_vzriva[granati[i70].type]-sqrt((granati[i70].x-(vragi3Objects[i83].v3x+90))*(granati[i70].x-(vragi3Objects[i83].v3x+90))+ | |
(granati[i70].y-(vragi3Objects[i83].v3y+110))*(granati[i70].y-(vragi3Objects[i83].v3y+110))))/radius_vzriva[granati[i70].type]; | |
} | |
} | |
if(RPGMOD==true) | |
{ | |
//РАДИУС ИГРОКА 1 | |
if(granati[i70].owner==1) | |
{ | |
//радиус | |
if(granati[i70].x-(vragi3Objects[i83].v3x+90)<=radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)&&granati[i70].x-(vragi3Objects[i83].v3x+90)>=-radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)&& | |
granati[i70].y-(vragi3Objects[i83].v3y+110)<=radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)&&granati[i70].y-(vragi3Objects[i83].v3y+110)>=-radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)) | |
//УРОН ОТ ВЗРЫВЧАТКИ | |
{ | |
if(LVL1%2==0) | |
{vragi3Objects[i83].health-=(damage_gren[granati[i70].type]+attack1*LVL1/2)*(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)-sqrt((granati[i70].x-(vragi3Objects[i83].v3x+90))*(granati[i70].x-(vragi3Objects[i83].v3x+90))+ | |
(granati[i70].y-(vragi3Objects[i83].v3y+110))*(granati[i70].y-(vragi3Objects[i83].v3y+110))))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1);} | |
if(LVL1%2==1) | |
{vragi3Objects[i83].health-=(damage_gren[granati[i70].type]+attack1*(LVL1-1)/2)*(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)-sqrt((granati[i70].x-(vragi3Objects[i83].v3x+90))*(granati[i70].x-(vragi3Objects[i83].v3x+90))+ | |
(granati[i70].y-(vragi3Objects[i83].v3y+110))*(granati[i70].y-(vragi3Objects[i83].v3y+110))))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1);} | |
} | |
} | |
//РАДИУС ИГРОКА 2 | |
if(granati[i70].owner==2) | |
{ | |
//радиус | |
if(granati[i70].x-(vragi3Objects[i83].v3x+90)<=radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)&&granati[i70].x-(vragi3Objects[i83].v3x+90)>=-radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)&& | |
granati[i70].y-(vragi3Objects[i83].v3y+110)<=radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)&&granati[i70].y-(vragi3Objects[i83].v3y+110)>=-radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)) | |
//УРОН ОТ ВЗРЫВЧАТКИ | |
{ | |
if(LVL2%2==0) | |
{vragi3Objects[i83].health-=(damage_gren[granati[i70].type]+attack2*LVL2/2)*(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)-sqrt((granati[i70].x-(vragi3Objects[i83].v3x+90))*(granati[i70].x-(vragi3Objects[i83].v3x+90))+ | |
(granati[i70].y-(vragi3Objects[i83].v3y+110))*(granati[i70].y-(vragi3Objects[i83].v3y+110))))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2);} | |
if(LVL2%2==0) | |
{vragi3Objects[i83].health-=(damage_gren[granati[i70].type]+attack2*(LVL2-1)/2)*(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)-sqrt((granati[i70].x-(vragi3Objects[i83].v3x+90))*(granati[i70].x-(vragi3Objects[i83].v3x+90))+ | |
(granati[i70].y-(vragi3Objects[i83].v3y+110))*(granati[i70].y-(vragi3Objects[i83].v3y+110))))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2);} | |
} | |
} | |
}//RPGMOD==TRUE | |
if(RPGMOD==true) | |
{vragi3Objects[i83].health+=vragi3Objects[i83].defence; | |
if(vragi3Objects[i83].health>400) | |
{vragi3Objects[i83].health=400;} | |
}//RPGMOD | |
//убил!:'( | |
if(vragi3Objects[i83].health<=0&&vragi3Objects[i83].ubit==0) | |
{ | |
if(granati[i70].owner==1) | |
{vragi3Objects[i83].killed_by=1;} | |
if(granati[i70].owner==2) | |
{vragi3Objects[i83].killed_by=2;} | |
if(vragi3Objects[i83].health<=-150) | |
{vragi3Objects[i83].bezboshki=1; | |
if(vragi3Objects[i83].killed_by==1) | |
{points1+=125;} | |
if(vragi3Objects[i83].killed_by==2) | |
{points2+=125;} | |
boshkiObjects[N_HEAD].bezuh=0; | |
boshkiObjects[N_HEAD].vrag=3; | |
boshkiObjects[N_HEAD].niz=vragi3Objects[i83].v3y+200; | |
boshkiObjects[N_HEAD].bx=vragi3Objects[i83].v3x+125; | |
boshkiObjects[N_HEAD].by=vragi3Objects[i83].v3y+120; | |
boshkiObjects[N_HEAD].bzdik=0; | |
boshkiObjects[N_HEAD].seed=hge->Random_Int(1,5); | |
boshkiObjects[N_HEAD].bzdik_seed=hge->Random_Int(1,3); | |
boshkiObjects[N_HEAD].akt=1; | |
N_HEAD++; | |
if(N_HEAD>=MAX_HEAD-1) | |
{N_HEAD=0;} | |
} | |
} | |
}//про медведей-------- | |
//про птенцов---- | |
for (int i130=0;i130<=N_PTENEC;i130++) | |
{ | |
if(vragi4Objects[i130].ubit==0) | |
{ | |
if(RPGMOD==false) | |
{ //радиус | |
if(granati[i70].x-vragi4Objects[i130].v4x<=radius_vzriva[granati[i70].type]&&granati[i70].x-vragi4Objects[i130].v4x>=-radius_vzriva[granati[i70].type]&& | |
granati[i70].y-vragi4Objects[i130].v4y<=radius_vzriva[granati[i70].type]&&granati[i70].y-vragi4Objects[i130].v4y>=-radius_vzriva[granati[i70].type]) | |
//УРОН ОТ ВЗРЫВЧАТКИ | |
{ | |
vragi4Objects[i130].health-=damage_gren[granati[i70].type]*(radius_vzriva[granati[i70].type]-sqrt((granati[i70].x-vragi4Objects[i130].v4x)*(granati[i70].x-vragi4Objects[i130].v4x)+ | |
(granati[i70].y-vragi4Objects[i130].v4y)*(granati[i70].y-vragi4Objects[i130].v4y)))/radius_vzriva[granati[i70].type]; | |
//энергия взрыва | |
vragi4Objects[i130].energy=(radius_vzriva[granati[i70].type]-sqrt((granati[i70].x-vragi4Objects[i130].v4x)*(granati[i70].x-vragi4Objects[i130].v4x)+ | |
(granati[i70].y-vragi4Objects[i130].v4y)*(granati[i70].y-vragi4Objects[i130].v4y)))/radius_vzriva[granati[i70].type]; | |
//определение расстояния | |
if(granati[i70].x>=vragi4Objects[i130].v4x) | |
{vragi4Objects[i130].rasstX=granati[i70].x-vragi4Objects[i130].v4x;} | |
if(granati[i70].x<=vragi4Objects[i130].v4x) | |
{vragi4Objects[i130].rasstX=vragi4Objects[i130].v4x-granati[i70].x;} | |
if(granati[i70].y>=vragi4Objects[i130].v4y) | |
{vragi4Objects[i130].rasstY=granati[i70].y-vragi4Objects[i130].v4y;} | |
if(granati[i70].y<=vragi4Objects[i130].v4y) | |
{vragi4Objects[i130].rasstY=vragi4Objects[i130].v4y-granati[i70].y;} | |
//направление щей (четверти) | |
if(granati[i70].x<vragi4Objects[i130].v4x&&granati[i70].y>=vragi4Objects[i130].v4y) | |
{vragi4Objects[i130].chetvert=1;} | |
if(granati[i70].x<vragi4Objects[i130].v4x&&granati[i70].y<vragi4Objects[i130].v4y) | |
{vragi4Objects[i130].chetvert=2;} | |
if(granati[i70].x>=vragi4Objects[i130].v4x&&granati[i70].y<vragi4Objects[i130].v4y) | |
{vragi4Objects[i130].chetvert=3;} | |
if(granati[i70].x>=vragi4Objects[i130].v4x&&granati[i70].y>=vragi4Objects[i130].v4y) | |
{vragi4Objects[i130].chetvert=4;} | |
} | |
} | |
if(RPGMOD==true) | |
{ | |
//--- | |
//РАДИУС ИГРОКА 1 | |
if(granati[i70].owner==1) | |
{ | |
//радиус | |
if(granati[i70].x-vragi4Objects[i130].v4x<=radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)&&granati[i70].x-vragi4Objects[i130].v4x>=-radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)&& | |
granati[i70].y-vragi4Objects[i130].v4y<=radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)&&granati[i70].y-vragi4Objects[i130].v4y>=-radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)) | |
//УРОН ОТ ВЗРЫВЧАТКИ | |
{ | |
if(LVL1%2==0) | |
{vragi4Objects[i130].health-=(damage_gren[granati[i70].type]+attack1*LVL1/2)*(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)-sqrt((granati[i70].x-vragi4Objects[i130].v4x)*(granati[i70].x-vragi4Objects[i130].v4x)+ | |
(granati[i70].y-vragi4Objects[i130].v4y)*(granati[i70].y-vragi4Objects[i130].v4y)))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1);} | |
if(LVL1%2==1) | |
{vragi4Objects[i130].health-=(damage_gren[granati[i70].type]+attack1*(LVL1-1)/2)*(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)-sqrt((granati[i70].x-vragi4Objects[i130].v4x)*(granati[i70].x-vragi4Objects[i130].v4x)+ | |
(granati[i70].y-vragi4Objects[i130].v4y)*(granati[i70].y-vragi4Objects[i130].v4y)))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1);} | |
//энергия взрыва | |
vragi4Objects[i130].energy=(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1)-sqrt((granati[i70].x-vragi4Objects[i130].v4x)*(granati[i70].x-vragi4Objects[i130].v4x)+ | |
(granati[i70].y-vragi4Objects[i130].v4y)*(granati[i70].y-vragi4Objects[i130].v4y)))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka1); | |
//определение расстояния | |
if(granati[i70].x>=vragi4Objects[i130].v4x) | |
{vragi4Objects[i130].rasstX=granati[i70].x-vragi4Objects[i130].v4x;} | |
if(granati[i70].x<=vragi4Objects[i130].v4x) | |
{vragi4Objects[i130].rasstX=vragi4Objects[i130].v4x-granati[i70].x;} | |
if(granati[i70].y>=vragi4Objects[i130].v4y) | |
{vragi4Objects[i130].rasstY=granati[i70].y-vragi4Objects[i130].v4y;} | |
if(granati[i70].y<=vragi4Objects[i130].v4y) | |
{vragi4Objects[i130].rasstY=vragi4Objects[i130].v4y-granati[i70].y;} | |
if(vragi4Objects[i130].rasstX<20) | |
{vragi4Objects[i130].rasstX=20;} | |
if(vragi4Objects[i130].rasstY<20) | |
{vragi4Objects[i130].rasstY=20;} | |
//направление щей (четверти) | |
if(granati[i70].x<vragi4Objects[i130].v4x&&granati[i70].y>=vragi4Objects[i130].v4y) | |
{vragi4Objects[i130].chetvert=1;} | |
if(granati[i70].x<vragi4Objects[i130].v4x&&granati[i70].y<vragi4Objects[i130].v4y) | |
{vragi4Objects[i130].chetvert=2;} | |
if(granati[i70].x>=vragi4Objects[i130].v4x&&granati[i70].y<vragi4Objects[i130].v4y) | |
{vragi4Objects[i130].chetvert=3;} | |
if(granati[i70].x>=vragi4Objects[i130].v4x&&granati[i70].y>=vragi4Objects[i130].v4y) | |
{vragi4Objects[i130].chetvert=4;} | |
} | |
} | |
//РАДИУС ИГРОКА 2 | |
if(granati[i70].owner==2) | |
{ | |
//радиус | |
if(granati[i70].x-vragi4Objects[i130].v4x<=radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)&&granati[i70].x-vragi4Objects[i130].v4x>=-radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)&& | |
granati[i70].y-vragi4Objects[i130].v4y<=radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)&&granati[i70].y-vragi4Objects[i130].v4y>=-radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)) | |
//УРОН ОТ ВЗРЫВЧАТКИ | |
{ | |
if(LVL2%2==0) | |
{vragi4Objects[i130].health-=(damage_gren[granati[i70].type]+attack2*LVL2/2)*(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)-sqrt((granati[i70].x-vragi4Objects[i130].v4x)*(granati[i70].x-vragi4Objects[i130].v4x)+ | |
(granati[i70].y-vragi4Objects[i130].v4y)*(granati[i70].y-vragi4Objects[i130].v4y)))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2);} | |
if(LVL2%2==1) | |
{vragi4Objects[i130].health-=(damage_gren[granati[i70].type]+attack2*(LVL2-1)/2)*(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)-sqrt((granati[i70].x-vragi4Objects[i130].v4x)*(granati[i70].x-vragi4Objects[i130].v4x)+ | |
(granati[i70].y-vragi4Objects[i130].v4y)*(granati[i70].y-vragi4Objects[i130].v4y)))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2);} | |
//энергия взрыва | |
vragi4Objects[i130].energy=(radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2)-sqrt((granati[i70].x-vragi4Objects[i130].v4x)*(granati[i70].x-vragi4Objects[i130].v4x)+ | |
(granati[i70].y-vragi4Objects[i130].v4y)*(granati[i70].y-vragi4Objects[i130].v4y)))/radius_vzriva[granati[i70].type]*(1+0.01f*vzrivchatka2); | |
//определение расстояния | |
if(granati[i70].x>=vragi4Objects[i130].v4x) | |
{vragi4Objects[i130].rasstX=granati[i70].x-vragi4Objects[i130].v4x;} | |
if(granati[i70].x<=vragi4Objects[i130].v4x) | |
{vragi4Objects[i130].rasstX=vragi4Objects[i130].v4x-granati[i70].x;} | |
if(granati[i70].y>=vragi4Objects[i130].v4y) | |
{vragi4Objects[i130].rasstY=granati[i70].y-vragi4Objects[i130].v4y;} | |
if(granati[i70].y<=vragi4Objects[i130].v4y) | |
{vragi4Objects[i130].rasstY=vragi4Objects[i130].v4y-granati[i70].y;} | |
if(vragi4Objects[i130].rasstX<20) | |
{vragi4Objects[i130].rasstX=20;} | |
if(vragi4Objects[i130].rasstY<20) | |
{vragi4Objects[i130].rasstY=20;} | |
//направление щей (четверти) | |
if(granati[i70].x<vragi4Objects[i130].v4x&&granati[i70].y>=vragi4Objects[i130].v4y) | |
{vragi4Objects[i130].chetvert=1;} | |
if(granati[i70].x<vragi4Objects[i130].v4x&&granati[i70].y<vragi4Objects[i130].v4y) | |
{vragi4Objects[i130].chetvert=2;} | |
if(granati[i70].x>=vragi4Objects[i130].v4x&&granati[i70].y<vragi4Objects[i130].v4y) | |
{vragi4Objects[i130].chetvert=3;} | |
if(granati[i70].x>=vragi4Objects[i130].v4x&&granati[i70].y>=vragi4Objects[i130].v4y) | |
{vragi4Objects[i130].chetvert=4;} | |
} | |
} | |
//--- | |
}//RPGMOD==TRUE | |
if(RPGMOD==true) | |
{vragi4Objects[i130].health+=vragi4Objects[i130].defence; | |
if(vragi4Objects[i130].health>50) | |
{vragi4Objects[i130].health=50;} | |
}//RPGMOD | |
//убил!:'( | |
if(vragi4Objects[i130].health<=0) | |
{ | |
vragi4Objects[i130].vzorvan=true; | |
if(granati[i70].owner==1) | |
{vragi4Objects[i130].killed_by=1;} | |
if(granati[i70].owner==2) | |
{vragi4Objects[i130].killed_by=2;} | |
} | |
} | |
}//про птенцов----- | |
granati[i70].akt=-1; | |
}//закрытие взрыва------------------------- | |
} | |
//ЗАКРЫТИЕ ГРЕНОК | |
for(int i150=0;i150<=15;i150++) | |
{ | |
weapon_x1[i150]=x+w_x1[i150]; | |
weapon_y1[i150]=y+w_y1[i150]; | |
weapon_x2[i150]=x+w_x2[i150]; | |
weapon_y2[i150]=y+w_y2[i150]; | |
weapon2_x1[i150]=x2+w_x1[i150]; | |
weapon2_y1[i150]=y2+w_y1[i150]; | |
weapon2_x2[i150]=x2+w_x2[i150]; | |
weapon2_y2[i150]=y2+w_y2[i150]; | |
} | |
// кнопкы | |
char Buff[2][8]; | |
char srbuff[16]; | |
//СОХРАНЕНИЕ!!!!!!!!!! | |
if (hge->Input_GetKeyState(HGEK_Q)) | |
{ | |
FILE * SaveFile; | |
SaveFile = fopen ("save01.txt","w"); | |
sprintf (Buff[0]," "); | |
sprintf (Buff[1]," "); | |
sprintf (Buff[0],"%d",x); | |
sprintf (Buff[1],"%d",y); | |
memcpy(srbuff,Buff,32); | |
fwrite ((const char*)srbuff,16,1,SaveFile); | |
fclose (SaveFile); | |
} | |
//ЗАГРУЗКА!!!!!!!!!! | |
if (hge->Input_GetKeyState(HGEK_E)) | |
{ | |
FILE * SavedFile; | |
SavedFile = fopen ("save01.txt","r"); | |
fread(srbuff,16,1,SavedFile); | |
memcpy(Buff,srbuff,16); | |
x=(int)Buff[0]; | |
y=(int)Buff[1]; | |
} | |
//ЗАГРУЗКА!!!!!!!!!! | |
//if (hge->Input_GetKeyState(HGEK_X)) | |
//{ | |
//filebuf fb; | |
//fb.open=("save01.txt".save01.txt} | |
/* | |
// кнопкы | |
fprintf(SaveFile,"\nУдача:%d",luck1); | |
if(player2_aktive==1) | |
{fprintf(SaveFile,"\nУровень игрока2:%d",LVL2);} | |
fclose (SaveFile); | |
}} | |
//ЗАГРУЗКА!!!!!!!!!! | |
if (hge->Input_GetKeyState(HGEK_X)) | |
{ | |
FILE * SavedFile; | |
SavedFile = fopen ("save01.txt","a+"); | |
if (SavedFile!=NULL) | |
{ | |
char buff[1]; | |
//НАСТРОЙКИ ИГРЫ | |
//система классов и рпг-мод | |
fseek (SavedFile ,35 , SEEK_SET); | |
fread(buff,1,1,SavedFile); | |
if(isdigit(buff[0])) | |
{CLASSMOD=atoi(buff);} | |
fseek (SavedFile ,45 , SEEK_SET); | |
fread(buff,1,1,SavedFile); | |
if(isdigit(buff[0])) | |
{RPGMOD=atoi(buff);} | |
//кол-во игроков | |
fseek (SavedFile ,57 , SEEK_SET); | |
fread(buff,1,1,SavedFile); | |
if(isdigit(buff[0])) | |
{player2_aktive=atoi(buff);} | |
//НАСТРОЙКИ ИГРЫ | |
//игрок1 | |
int r_size; | |
int m_size; | |
fseek (SavedFile ,71 , SEEK_SET); | |
fread(buff,1,4,SavedFile); | |
if(isdigit(buff[0])) | |
{r_size=atoi(buff);} | |
m_size=r_size; | |
fseek (SavedFile ,82 , SEEK_SET); | |
fread(buff,1,r_size,SavedFile); | |
if(isdigit(buff[0])) | |
{LVL1=atoi(buff);} | |
fseek (SavedFile ,84+m_size , SEEK_SET); | |
fread(buff,1,4,SavedFile); | |
if(isdigit(buff[0])) | |
{r_size=atoi(buff);} | |
fseek (SavedFile ,92+m_size, SEEK_SET); | |
fread(buff,1,r_size,SavedFile); | |
if(isdigit(buff[0])) | |
{opit1=atoi(buff);} | |
m_size+=r_size; | |
fseek (SavedFile ,94+(long)m_size , SEEK_SET); | |
fread(buff,1,4,SavedFile); | |
if(isdigit(buff[0])) | |
{r_size=atoi(buff);} | |
fseek (SavedFile ,103+m_size, SEEK_SET); | |
fread(buff,1,r_size,SavedFile); | |
if(isdigit(buff[0])) | |
{attack1=atoi(buff);} | |
m_size+=r_size; | |
fseek (SavedFile ,105+(long)m_size , SEEK_SET); | |
fread(buff,1,4,SavedFile); | |
if(isdigit(buff[0])) | |
{r_size=atoi(buff);} | |
fseek (SavedFile ,117+m_size, SEEK_SET); | |
fread(buff,1,r_size,SavedFile); | |
if(isdigit(buff[0])) | |
{skorost1=atoi(buff);} | |
m_size+=r_size; | |
fseek (SavedFile ,121 , SEEK_SET); | |
fread(buff,1,4,SavedFile); | |
if(isdigit(buff[0])) | |
{luck1=atoi(buff);} | |
//игрок1 | |
if(player2_aktive==1) | |
{fseek (SavedFile ,95 , SEEK_SET); | |
fread(buff,1,4,SavedFile); | |
if(isdigit(buff[0])) | |
{LVL2=atoi(buff);}} | |
fclose (SavedFile); | |
} | |
} | |
*/ | |
if (hge->Input_GetKeyState(HGEK_LEFT)&&net_user!=2) //ВПЕРЕД | |
{afk1=false; | |
dx-=(speed-3*weight[N_WEAPON1]/sqrt(vinoslivost1))*sqrt(dt/1400); | |
if(class1==2||CLASSMOD==false) | |
{player1_strelok->Resume();//играет | |
player1_strelok->Update(dt);} | |
if(class1==1) | |
{player1_myasnik->Resume();//играет | |
player1_myasnik->Update(dt);} | |
if(class1==3) | |
{player1_razrushitel->Resume();//играет | |
player1_razrushitel->Update(dt);} | |
if(class1==4) | |
{player1_tehnik->Resume();//играет | |
player1_tehnik->Update(dt);} | |
} | |
if (hge->Input_GetKeyState(HGEK_RIGHT)&&net_user!=2) //НАЗАД | |
{afk1=false; | |
dx+=(speed-3*weight[N_WEAPON1]/sqrt(vinoslivost1))*sqrt(dt/1400); | |
if(class1==2||CLASSMOD==false) | |
{player1_strelok->Resume();//играет | |
player1_strelok->Update(dt);} | |
if(class1==1) | |
{player1_myasnik->Resume();//играет | |
player1_myasnik->Update(dt);} | |
if(class1==3) | |
{player1_razrushitel->Resume();//играет | |
player1_razrushitel->Update(dt);} | |
if(class1==4) | |
{player1_tehnik->Resume();//играет | |
player1_tehnik->Update(dt);} | |
} | |
if (hge->Input_GetKeyState(HGEK_UP)&&net_user!=2) //ВВЕРХ | |
{afk1=false; | |
dy-=(speed-3*weight[N_WEAPON1]/sqrt(vinoslivost1))*sqrt(dt/1400); | |
if(class1==2||CLASSMOD==false) | |
{player1_strelok->Resume();//играет | |
player1_strelok->Update(dt);} | |
if(class1==1) | |
{player1_myasnik->Resume();//играет | |
player1_myasnik->Update(dt);} | |
if(class1==3) | |
{player1_razrushitel->Resume();//играет | |
player1_razrushitel->Update(dt);} | |
if(class1==4) | |
{player1_tehnik->Resume();//играет | |
player1_tehnik->Update(dt);} | |
} | |
if (hge->Input_GetKeyState(HGEK_DOWN)&&net_user!=2) //ВНИЗ | |
{afk1=false; | |
dy+=(speed-3*weight[N_WEAPON1]/sqrt(vinoslivost1))*sqrt(dt/1400); | |
if(class1==2||CLASSMOD==false) | |
{player1_strelok->Resume();//играет | |
player1_strelok->Update(dt);} | |
if(class1==1) | |
{player1_myasnik->Resume();//играет | |
player1_myasnik->Update(dt);} | |
if(class1==3) | |
{player1_razrushitel->Resume();//играет | |
player1_razrushitel->Update(dt);} | |
if(class1==4) | |
{player1_tehnik->Resume();//играет | |
player1_tehnik->Update(dt);} | |
} | |
if((hge->Input_GetKeyState(HGEK_UP)==false && hge->Input_GetKeyState(HGEK_DOWN)==false&& | |
hge->Input_GetKeyState(HGEK_LEFT)==false && hge->Input_GetKeyState(HGEK_RIGHT)==false&&net_user!=2)||(dx==0&&dy==0&&net_user==2)) | |
{player1_myasnik->Play(); | |
player1_strelok->Play(); | |
player1_razrushitel->Play(); | |
player1_tehnik->Play(); | |
if(afk1==false) | |
{afx=x; | |
afX=X; | |
afk1=true;} | |
} | |
if(hge->Input_GetKeyState(HGEK_LEFT)==false && hge->Input_GetKeyState(HGEK_RIGHT)==false&&net_user!=2) | |
{ | |
if(afk1==false) | |
{afx=x; | |
afX=X; | |
afk1=true;} | |
} | |
if(player2_aktive==1)//ЕСЛИ ВТОРОЙ ИГРОК ВООБЩЕ ЕСТЬ | |
{ if (hge->Input_GetKeyState(HGEK_A)&&net_user!=1) //ВПЕРЕД | |
{afk2=false; | |
dx2-=(speed2-3*weight[N_WEAPON2]/sqrt(vinoslivost2))*sqrt(dt/1400); | |
player2_strelok->Resume();//играет | |
player2_strelok->Update(dt);} | |
if (hge->Input_GetKeyState(HGEK_D)&&net_user!=1) //НАЗАД | |
{afk2=false; | |
dx2+=(speed2-3*weight[N_WEAPON2]/sqrt(vinoslivost2))*sqrt(dt/1400); | |
player2_strelok->Resume();//играет | |
player2_strelok->Update(dt); | |
} | |
if (hge->Input_GetKeyState(HGEK_W)&&net_user!=1) //ВВЕРХ | |
{afk2=false; | |
dy2-=(speed2-3*weight[N_WEAPON2]/sqrt(vinoslivost2))*sqrt(dt/1400); | |
player2_strelok->Resume();//играет | |
player2_strelok->Update(dt);} | |
if (hge->Input_GetKeyState(HGEK_S)&&net_user!=1) //ВНИЗ | |
{afk2=false; | |
dy2+=(speed2-3*weight[N_WEAPON2]/sqrt(vinoslivost2))*sqrt(dt/1400); | |
player2_strelok->Resume();//играет | |
player2_strelok->Update(dt);} | |
if((hge->Input_GetKeyState(HGEK_A)==false && hge->Input_GetKeyState(HGEK_D)==false && | |
hge->Input_GetKeyState(HGEK_W)==false && hge->Input_GetKeyState(HGEK_S)==false&&net_user!=1)||(dx2==0&&dy2==0&&net_user==1)) | |
{ | |
if(afk2==false) | |
{afx2=x2; | |
afX2=X; | |
afk2=true;} | |
player2_strelok->Play();} | |
if(hge->Input_GetKeyState(HGEK_A)==false && hge->Input_GetKeyState(HGEK_D)==false&&net_user!=1) | |
{ | |
if(afk2==false) | |
{afx2=x2; | |
afX2=X; | |
afk2=true;}} | |
}//если 2-й игрок вообще есть | |
if(hge->Input_GetKeyState(HGEK_N)==true) | |
{Xz+=hge->Random_Int(-3,3);} | |
if(hge->Input_GetKeyState(HGEK_N)==false) | |
{Xz=0;} | |
//ПЕРЕЗАРЯДКА | |
if (((hge->Input_GetKeyState(HGEK_SHIFT)&&net_user!=2)||(shift==true&&net_user==2))&&N_WEAPON1!=10&&N_WEAPON1!=11&&reload==false) | |
{perez_time=perez_akt; | |
//perez_time_milli=perez_akt_milli; | |
reload=true; | |
perez_time_milli=perez_akt_milli+reload_time_milli[N_WEAPON1]; | |
if(perez_time_milli<=900) | |
{ | |
if(perez_akt<(60-reload_time[N_WEAPON1])) | |
{perez_time=perez_akt+reload_time[N_WEAPON1];} | |
if(perez_akt>=(60-reload_time[N_WEAPON1])) | |
{perez_time=perez_akt-(60-reload_time[N_WEAPON1]);} | |
} | |
if(perez_time_milli>900&&perez_time_milli<1000) | |
{ | |
if(perez_akt<(60-(reload_time[N_WEAPON1]+1))) | |
{perez_time=perez_akt+reload_time[N_WEAPON1]+1;} | |
if(perez_akt>=(60-(reload_time[N_WEAPON1]+1))) | |
{perez_time=perez_akt-(60-(reload_time[N_WEAPON1]+1));} | |
perez_time_milli=0; | |
} | |
if(perez_time_milli>=1000) | |
{ | |
perez_time_milli-=1000; | |
if(perez_akt<(60-(reload_time[N_WEAPON1]+1))) | |
{perez_time=perez_akt+reload_time[N_WEAPON1]+1;} | |
if(perez_akt>=(60-(reload_time[N_WEAPON1]+1))) | |
{perez_time=perez_akt-(60-(reload_time[N_WEAPON1]+1));} | |
} | |
switch(N_WEAPON1) | |
{ | |
case 0: | |
case 3: | |
case 5: | |
case 8: | |
ak_perez1(); | |
break; | |
case 1: | |
case 4: | |
case 9: | |
case 15: | |
pm_perez1(); | |
break; | |
case 2: | |
pp19_perez1(); | |
break; | |
case 6: | |
mac_perez1(); | |
break; | |
case 14: | |
webley_perez1(); | |
break; | |
default: | |
break; | |
} | |
} | |
/*АВТОМАТИЧЕСКАЯ ПЕРЕЗАРЯДКА (НУ ЛАДНО...ПОЛУ-АВТОМАТИЧЕСКАЯ) | |
if(oboima==0&&hge->Input_GetKeyState(HGEK_ENTER)) | |
{perez_time=GetCurrentSecond(); | |
reload=true;}*/ | |
if(N_WEAPON1!=10&&N_WEAPON1!=11&&N_WEAPON1!=7&&N_WEAPON1!=12) | |
{ | |
if(perez_akt==perez_time&&perez_akt_milli>=perez_time_milli&&reload==true)//перезарядился... | |
{reload=false; | |
switch(N_WEAPON1) | |
{ | |
case 0: | |
case 3: | |
case 2: | |
oboima=30; | |
if(N_WEAPON1==0&&ak_up==true) | |
{oboima_alt[0]=1;} | |
if(N_WEAPON1==3&&fn_f2000_up==true) | |
{oboima_alt[3]=1;} | |
break; | |
case 5: | |
oboima=45; | |
break; | |
case 8: | |
oboima=75; | |
break; | |
case 1: | |
case 4: | |
oboima=8; | |
break; | |
case 9: | |
oboima=17; | |
break; | |
case 6: | |
oboima=50; | |
break; | |
case 13: | |
oboima=1; | |
p_vistrel=1; | |
break; | |
case 14: | |
oboima=6; | |
break; | |
case 15: | |
oboima=20; | |
break; | |
} | |
} | |
} | |
if(N_WEAPON1==7) | |
{ | |
if((perez_time_milli<500&&perez_akt_milli==perez_time_milli+500&&reload==true)|| | |
(perez_time_milli<500&&perez_akt_milli<perez_time_milli&&perez_time!=perez_akt&&reload==true))//WINCHESTER | |
{oboima+=1; | |
hge->Effect_PlayEx(drob_reload1,volume,player1Pan,0); | |
perez_time=perez_akt; | |
perez_time_milli=GetTime();} | |
if(perez_time_milli>=500&&perez_akt_milli>=perez_time_milli-500&& | |
perez_akt!=perez_time&&reload==true)//WINCHESTER | |
{oboima+=1; | |
hge->Effect_PlayEx(drob_reload1,volume,player1Pan,0); | |
perez_time=perez_akt; | |
perez_time_milli=GetTime();} | |
if(oboima>=8||hge->Input_GetKeyState(HGEK_ENTER)) | |
{ | |
if(oboima>=8&&reload==true) | |
{pompa_time_milli=GetTime(); | |
pompa_time=perez_akt; | |
pompa_akt1=1;} | |
reload=false; | |
} | |
} | |
if(N_WEAPON1==12) | |
{ | |
if((perez_time_milli<600&&perez_akt_milli>=perez_time_milli+400&&reload==true&&oboima<6) | |
//|| | |
//(perez_time_milli<500&&perez_akt_milli<perez_time_milli&&perez_time!=perez_akt&&reload==true) | |
)//Milkor MGL | |
{oboima+=1; | |
hge->Effect_PlayEx(drob_reload1,volume,player1Pan,0); | |
perez_time=perez_akt; | |
perez_time_milli=GetTime();} | |
if(perez_time_milli>=600&&perez_akt_milli>=perez_time_milli-600&& | |
perez_akt!=perez_time&&reload==true&&oboima<6)//Milkor MGL | |
{oboima+=1; | |
hge->Effect_PlayEx(drob_reload1,volume,player1Pan,0); | |
perez_time=perez_akt; | |
perez_time_milli=GetTime();} | |
if(oboima>=6||hge->Input_GetKeyState(HGEK_ENTER)) | |
{reload=false;} | |
} | |
//КОНЕЦ ПЕРЕЗАРЯДКИ | |
//ПЕРЕЗАРЯДКА ИГРОКА 2 ЕСЛИ ОН ЕСТЬ | |
if(player2_aktive==1) | |
{ | |
if (((hge->Input_GetKeyState(HGEK_R)&&net_user!=1)||(r_key==true&&net_user==1))&&N_WEAPON2!=10&&N_WEAPON2!=11&&reload2==false) | |
{perez_time2=perez_akt; | |
//perez_time_milli=perez_akt_milli; | |
reload2=true; | |
perez_time_milli2=perez_akt_milli+reload_time_milli[N_WEAPON2]; | |
if(perez_time_milli2<=900) | |
{ | |
if(perez_akt<(60-reload_time[N_WEAPON2])) | |
{perez_time2=perez_akt+reload_time[N_WEAPON2];} | |
if(perez_akt>=(60-reload_time[N_WEAPON2])) | |
{perez_time2=perez_akt-(60-reload_time[N_WEAPON2]);} | |
} | |
if(perez_time_milli2>900&&perez_time_milli2<1000) | |
{ | |
if(perez_akt<(60-(reload_time[N_WEAPON2]+1))) | |
{perez_time2=perez_akt+reload_time[N_WEAPON2]+1;} | |
if(perez_akt>=(60-(reload_time[N_WEAPON2]+1))) | |
{perez_time2=perez_akt-(60-(reload_time[N_WEAPON2]+1));} | |
perez_time_milli2=0; | |
} | |
if(perez_time_milli2>=1000) | |
{ | |
perez_time_milli2-=1000; | |
if(perez_akt<(60-(reload_time[N_WEAPON2]+1))) | |
{perez_time2=perez_akt+reload_time[N_WEAPON2]+1;} | |
if(perez_akt>=(60-(reload_time[N_WEAPON2]+1))) | |
{perez_time2=perez_akt-(60-(reload_time[N_WEAPON2]+1));} | |
} | |
switch(N_WEAPON2) | |
{ | |
case 0: | |
case 3: | |
case 5: | |
case 8: | |
ak2_perez1(); | |
break; | |
case 1: | |
case 4: | |
case 9: | |
case 15: | |
pm2_perez1(); | |
break; | |
case 2: | |
pp192_perez1(); | |
break; | |
case 6: | |
mac2_perez1(); | |
break; | |
case 14: | |
webley2_perez1(); | |
break; | |
default: | |
break; | |
} | |
} | |
/*АВТОМАТИЧЕСКАЯ ПЕРЕЗАРЯДКА (НУ ЛАДНО...ПОЛУ-АВТОМАТИЧЕСКАЯ) | |
if(oboima==0&&hge->Input_GetKeyState(HGEK_ENTER)) | |
{perez_time=GetCurrentSecond(); | |
reload=true;}*/ | |
if(N_WEAPON2!=10&&N_WEAPON2!=11&&N_WEAPON2!=7&&N_WEAPON2!=12) | |
{ | |
if(perez_akt==perez_time2&&perez_akt_milli>=perez_time_milli2&&reload2==true)//перезарядился... | |
{reload2=false; | |
switch(N_WEAPON2) | |
{ | |
case 0: | |
case 3: | |
case 2: | |
oboima2=30; | |
if(N_WEAPON2==0&&ak_up2==true) | |
{oboima2_alt[0]=1;} | |
if(N_WEAPON2==3&&fn_f2000_up2==true) | |
{oboima2_alt[3]=1;} | |
break; | |
case 5: | |
oboima2=45; | |
break; | |
case 8: | |
oboima2=75; | |
break; | |
case 1: | |
case 4: | |
oboima2=8; | |
break; | |
case 9: | |
oboima2=17; | |
break; | |
case 6: | |
oboima2=50; | |
break; | |
case 13: | |
oboima2=1; | |
p_vistrel2=1; | |
break; | |
case 14: | |
oboima2=6; | |
break; | |
case 15: | |
oboima2=20; | |
break; | |
} | |
} | |
} | |
if(N_WEAPON2==7) | |
{ | |
if((perez_time_milli2<500&&perez_akt_milli==perez_time_milli2+500&&reload2==true)|| | |
(perez_time_milli2<500&&perez_akt_milli<perez_time_milli2&&perez_time2!=perez_akt&&reload2==true))//WINCHESTER | |
{oboima2+=1; | |
hge->Effect_PlayEx(drob_reload1,volume,player2Pan,0); | |
perez_time2=perez_akt; | |
perez_time_milli2=GetTime();} | |
if(perez_time_milli2>=500&&perez_akt_milli>=perez_time_milli2-500&& | |
perez_akt!=perez_time2&&reload2==true)//WINCHESTER | |
{oboima2+=1; | |
hge->Effect_PlayEx(drob_reload1,volume,player2Pan,0); | |
perez_time2=perez_akt; | |
perez_time_milli2=GetTime();} | |
if(oboima2>=8||hge->Input_GetKeyState(HGEK_SPACE)) | |
{ | |
if(oboima2>=8&&reload2==true) | |
{pompa_time_milli2=GetTime(); | |
pompa_time2=perez_akt; | |
pompa_akt2=1;} | |
reload2=false;} | |
} | |
if(N_WEAPON2==12) | |
{ | |
if((perez_time_milli2<600&&perez_akt_milli==perez_time_milli2+400&&reload2==true&&oboima2<6) | |
//|| | |
//(perez_time_milli2<500&&perez_akt_milli<perez_time_milli2&&perez_time2!=perez_akt&&reload2==true) | |
)//Milkor MGL | |
{oboima2+=1; | |
hge->Effect_PlayEx(drob_reload1,volume,player2Pan,0); | |
perez_time2=perez_akt; | |
perez_time_milli2=GetTime();} | |
if(perez_time_milli2>=600&&perez_akt_milli>=perez_time_milli2-600&& | |
perez_akt!=perez_time2&&reload2==true&&oboima2<6)//Milkor MGL | |
{oboima2+=1; | |
hge->Effect_PlayEx(drob_reload1,volume,player2Pan,0); | |
perez_time2=perez_akt; | |
perez_time_milli2=GetTime();} | |
if(oboima2>=6||hge->Input_GetKeyState(HGEK_SPACE)) | |
{reload2=false;} | |
} | |
} | |
//КОНЕЦ ПЕРЕЗАРЯДКИ ИГРОКА 2 | |
if(N_WEAPON1==7) | |
{ | |
if(((pompa_time_milli<750&&perez_akt_milli>=pompa_time_milli+250)|| | |
(pompa_time_milli>=750&&perez_akt_milli>=pompa_time_milli-750)|| | |
(perez_akt_milli<pompa_time_milli&&perez_akt!=pompa_time))&&pompa_akt1==1) | |
{ | |
winchester_anime->Play(); | |
player1_ruka1_winch->Play(); | |
hge->Effect_PlayEx(drob_pompa,volume,player1Pan,0); | |
pompa_akt1=0; | |
} | |
} | |
if(N_WEAPON2==7) | |
{ | |
if(((pompa_time_milli2<750&&perez_akt_milli>=pompa_time_milli2+250)|| | |
(pompa_time_milli2>=750&&perez_akt_milli>=pompa_time_milli2-750)|| | |
(perez_akt_milli<pompa_time_milli2&&perez_akt!=pompa_time2))&&pompa_akt2==1) | |
{ | |
winchester2_anime->Play(); | |
hge->Effect_PlayEx(drob_pompa,volume,player2Pan,0); | |
pompa_akt2=0; | |
} | |
} | |
//огонь!!! | |
if ((hge->Input_GetKeyState(HGEK_ENTER)&&net_user!=2)||(enter==true&&net_user==2)) | |
{ | |
if(N_WEAPON1==0||N_WEAPON1==2||N_WEAPON1==3||N_WEAPON1==5||N_WEAPON1==6||N_WEAPON1==7||N_WEAPON1==8) | |
{ | |
if(oboima>0&&p_vistrel!=0) | |
{ | |
fire1(); | |
player1_ruka1_vintovka->Play(); | |
player1_ruka1_vintovka->Update(dt); | |
p_ogon_ms=GetTime(); | |
p_ogon_s=perez_akt; | |
p_vistrel=0; | |
} | |
} | |
if(N_WEAPON1==1||N_WEAPON1==4||N_WEAPON1==9||N_WEAPON1==14||N_WEAPON1==15)//пистолеты | |
{ | |
if(oboima>0) | |
{ | |
if(N_WEAPON1==1||N_WEAPON1==9||N_WEAPON1==15) | |
{weapon_x1[N_WEAPON1]++; | |
weapon_x2[N_WEAPON1]++;} | |
if(N_WEAPON1==4) | |
{weapon_x1[N_WEAPON1]++; | |
weapon_y1[N_WEAPON1]--; | |
weapon_y2[N_WEAPON1]--; } | |
if(N_WEAPON1==14) | |
{weapon_x1[N_WEAPON1]+=2; | |
weapon_y1[N_WEAPON1]--; | |
weapon_x2[N_WEAPON1]++; | |
weapon_y2[N_WEAPON1]--;} | |
} | |
if(oboima>0&&p_vistrel!=0) | |
{fire1(); | |
p_ogon_ms=GetTime(); | |
p_ogon_s=perez_akt; | |
p_vistrel=0;} | |
if(p_ogon_ms+125==GetTime()&&p_ogon_s==perez_akt)//чтобы огонь не горел постоянно при нажатом Ентере | |
{pulya->SetColor(0x00FFA000);} | |
if(p_ogon_ms>=875&&p_ogon_s!=perez_akt)//чтобы огонь не горел постоянно при нажатом Ентере | |
{pulya->SetColor(0x00FFA000);} | |
} | |
if(N_WEAPON1==10&&oboima>0&&p_vistrel!=0) | |
{fire1(); | |
player1_gogranata_ruka1->Play(); | |
player1_gogranata_ruka1->Update(dt); | |
player1_gogranata_ruka2->Play(); | |
player1_gogranata_ruka2->Update(dt); | |
p_vistrel=0;} | |
if(N_WEAPON1==11&&p_vistrel!=0) | |
{fire1(); | |
player1_myasnik_ruka1_udar_sleva->Play(); | |
player1_myasnik_ruka1_udar_sleva->Update(dt); | |
katana1_anime->Play(); | |
katana1_anime->Update(dt); | |
p_vistrel=0;} | |
if((N_WEAPON1==12||N_WEAPON1==13)&&oboima>0&&p_vistrel!=0) | |
{fire1(); | |
p_vistrel=0;} | |
} | |
//огонь!!! ВТОРОГО ИГРОКА ЕСЛИ ОН ИГРАЕТ | |
if(player2_aktive==1) | |
{ | |
if ((hge->Input_GetKeyState(HGEK_SPACE)&&net_user!=1)||(space==true&&net_user==1)) | |
{ | |
if(N_WEAPON2==0||N_WEAPON2==2||N_WEAPON2==3||N_WEAPON2==5||N_WEAPON2==6||N_WEAPON2==7||N_WEAPON2==8) | |
{ | |
if(oboima2>0&&p_vistrel2!=0) | |
{ | |
fire2(); | |
player2_ruka1_vintovka->Play(); | |
player2_ruka1_vintovka->Update(dt); | |
p_ogon_ms2=GetTime(); | |
p_ogon_s2=perez_akt; | |
p_vistrel2=0; | |
} | |
} | |
if(N_WEAPON2==1||N_WEAPON2==4||N_WEAPON2==9||N_WEAPON2==14||N_WEAPON2==15)//пистолеты | |
{ | |
if(oboima2>0) | |
{ | |
if(N_WEAPON2==1||N_WEAPON2==9||N_WEAPON2==15) | |
{weapon2_x1[N_WEAPON2]++; | |
weapon2_x2[N_WEAPON2]++;} | |
if(N_WEAPON2==4) | |
{weapon2_x1[N_WEAPON2]++; | |
weapon2_y1[N_WEAPON2]--; | |
weapon2_y2[N_WEAPON2]--;} | |
if(N_WEAPON2==14) | |
{weapon2_x1[N_WEAPON2]+=2; | |
weapon2_y1[N_WEAPON2]--; | |
weapon2_x2[N_WEAPON2]++; | |
weapon2_y2[N_WEAPON2]--;} | |
} | |
if(oboima2>0&&p_vistrel2!=0) | |
{fire2(); | |
p_ogon_ms2=GetTime(); | |
p_ogon_s2=perez_akt; | |
p_vistrel2=0;} | |
if(p_ogon_ms2+125==GetTime()&&p_ogon_s2==perez_akt)//чтобы огонь не горел постоянно при нажатом Ентере | |
{pulya2->SetColor(0x00FFA000);} | |
if(p_ogon_ms2>=875&&p_ogon_s2!=perez_akt)//чтобы огонь не горел постоянно при нажатом Ентере | |
{pulya2->SetColor(0x00FFA000);} | |
}//закрытие про пистолеты | |
if(N_WEAPON2==10&&oboima2>0&&p_vistrel2!=0) | |
{fire2(); | |
player2_gogranata_ruka1->Play(); | |
player2_gogranata_ruka1->Update(dt); | |
player2_gogranata_ruka2->Play(); | |
player2_gogranata_ruka2->Update(dt); | |
p_vistrel2=0;} | |
if(N_WEAPON2==11&&p_vistrel2!=0) | |
{fire2(); | |
player2_myasnik_ruka1_udar_sleva->Play(); | |
player2_myasnik_ruka1_udar_sleva->Update(dt); | |
katana2_anime->Play(); | |
katana2_anime->Update(dt); | |
p_vistrel2=0;} | |
if((N_WEAPON2==12||N_WEAPON2==13)&&oboima2>0&&p_vistrel2!=0) | |
{fire2(); | |
p_vistrel2=0;} | |
} //закрытие огня | |
}//if player2_aktive==1 | |
//АЛЬТЕРНАТИВНЫЙ огонь!!! | |
if (hge->Input_GetKeyState(HGEK_BACKSLASH)&&net_user!=2) | |
{if(((N_WEAPON1==3&&fn_f2000_up==true)||(N_WEAPON1==0&&ak_up==true))&&oboima_alt[N_WEAPON1]==1) | |
{fire1_alt();} | |
} | |
if (hge->Input_GetKeyState(HGEK_Z)&&net_user!=1) | |
{if(((N_WEAPON2==3&&fn_f2000_up2==true)||(N_WEAPON2==0&&ak_up2==true))&&oboima2_alt[N_WEAPON2]==1) | |
{fire2_alt();} | |
} | |
//шоб пуля не горела | |
if((vistrel_time<950&&GetTime()>=vistrel_time+25&&GetTime()<vistrel_time+50)|| | |
(vistrel_time>=975&&GetTime()<=vistrel_time-975&&perez_akt!=vistrel_time_sec)) | |
{pulya->SetColor(0x00FFA000);} | |
//СКОРОСТРЕЛЬНОСТЬ | |
if(p_vistrel!=1&&(N_WEAPON1==0||N_WEAPON1==2||N_WEAPON1==3||N_WEAPON1==5||N_WEAPON1==6||N_WEAPON1==7||N_WEAPON1==8||N_WEAPON1==12||N_WEAPON1==13)) | |
{ | |
if((vistrel_time<975&&GetTime()>=vistrel_time+25)||(vistrel_time>=975&&GetTime()>=vistrel_time-975&&perez_akt!=vistrel_time_sec)) | |
{//отдача | |
if(N_WEAPON1==0||N_WEAPON1==2||N_WEAPON1==3||N_WEAPON1==5||N_WEAPON1==6||N_WEAPON1==8) | |
{ | |
//if(ak_tex==0) | |
//{akx1=x-53;} | |
//if(ak_tex==1) | |
//{akx1=x-58;} | |
weapon_x1[N_WEAPON1]++; | |
weapon_y1[N_WEAPON1]--; | |
weapon_y2[N_WEAPON1]--; | |
} | |
} | |
if((vistrel_time<750&&GetTime()<=vistrel_time+250)||(vistrel_time>=750&&GetTime()<=vistrel_time-750&&perez_akt!=vistrel_time_sec)) | |
{ | |
if(N_WEAPON1==7) | |
{weapon_x1[N_WEAPON1]+=2; | |
weapon_y1[N_WEAPON1]--; | |
weapon_x2[N_WEAPON1]++; | |
weapon_y2[N_WEAPON1]--;} | |
} | |
if(N_WEAPON1==0||N_WEAPON1==2||N_WEAPON1==5||N_WEAPON1==8)//для АК И ПП-19 И РПК (600) | |
{ | |
if(vistrel_time<900) | |
{if((GetTime()>vistrel_time+100)||(GetTime()<vistrel_time&&perez_akt!=vistrel_time_sec)) | |
{p_vistrel=1;}} | |
if(vistrel_time>=900&&GetTime()>=vistrel_time-900&&perez_akt!=vistrel_time_sec) | |
{p_vistrel=1;} | |
} | |
if(N_WEAPON1==3)//для FN F-2000 (850) | |
{ | |
if(vistrel_time<928) | |
{if((GetTime()>vistrel_time+72)||(GetTime()<vistrel_time&&perez_akt!=vistrel_time_sec)) | |
{p_vistrel=1;}} | |
if(vistrel_time>=928&&GetTime()>=vistrel_time-928&&perez_akt!=vistrel_time_sec) | |
{p_vistrel=1;} | |
} | |
if(N_WEAPON1==6)//для MAC (800) | |
{ | |
if(vistrel_time<925) | |
{if((GetTime()>vistrel_time+75)||(GetTime()<vistrel_time&&perez_akt!=vistrel_time_sec)) | |
{p_vistrel=1;}} | |
if(vistrel_time>=925&&GetTime()>vistrel_time-925&&perez_akt!=vistrel_time_sec) | |
{p_vistrel=1;} | |
} | |
if(N_WEAPON1==7)//для winchester(1) | |
{ | |
if(perez_akt_milli>=vistrel_time&&perez_akt!=vistrel_time_sec) | |
{p_vistrel=1;} | |
} | |
if(N_WEAPON1==12||N_WEAPON1==13)//для Milkor MGL(0,5c) | |
{ | |
if((vistrel_time<500&&perez_akt_milli>=vistrel_time+500)|| | |
(vistrel_time>=500&&perez_akt_milli>=vistrel_time-500&&perez_akt!=vistrel_time_sec)) | |
{p_vistrel=1;} | |
} | |
}//закрытие для огнестрельных игрока 1 | |
if(p_vistrel!=1&&N_WEAPON1==10&&oboima==0) | |
{ | |
//if(GetTime()>=vistrel_time&&perez_akt!=vistrel_time_sec&&perez_akt!=60&&p_vistrel==1) | |
//{reload=false; | |
//oboima++;} | |
if(perez_akt_milli>=vistrel_time&&perez_akt!=vistrel_time_sec&&perez_akt!=60&&p_vistrel==0) | |
{p_vistrel=1; | |
reload=false; | |
oboima++;} | |
}//закрытие для взрывчатых игрока 1 | |
if(N_WEAPON1==11&&p_vistrel!=1) | |
{ | |
if(((vistrel_time<reload_time_milli[N_WEAPON1]&&(perez_akt_milli>=vistrel_time+reload_time_milli[N_WEAPON1]||perez_akt!=vistrel_time_sec))|| | |
(vistrel_time>=reload_time_milli[N_WEAPON1]&&perez_akt_milli>=vistrel_time+reload_time_milli[N_WEAPON1]-1000&&perez_akt!=vistrel_time_sec))&&perez_akt!=60&&p_vistrel==0) | |
{p_vistrel=1; | |
reload=false; | |
}} | |
//чтобы огонь не горел постоянно | |
if((vistrel2_time<950&&GetTime()>=vistrel2_time+25&&GetTime()<vistrel2_time+50)|| | |
(vistrel2_time>=975&&GetTime()<=vistrel2_time-975&&perez_akt!=vistrel2_time_sec)) | |
{pulya2->SetColor(0x00FFA000);} | |
if(p_vistrel2!=1&&(N_WEAPON2==0||N_WEAPON2==2||N_WEAPON2==3||N_WEAPON2==5||N_WEAPON2==6||N_WEAPON2==7||N_WEAPON2==8||N_WEAPON2==12||N_WEAPON2==13)) | |
{ | |
if((vistrel2_time<975&&GetTime()<=vistrel2_time+25)||(vistrel2_time>=975&&GetTime()<=vistrel2_time-975)) | |
{//отдача | |
if(N_WEAPON2==0||N_WEAPON2==2||N_WEAPON2==3||N_WEAPON2==5||N_WEAPON2==6||N_WEAPON2==8) | |
{ | |
//if(ak_tex==0) | |
//{akx1=x-53;} | |
//if(ak_tex==1) | |
//{akx1=x-58;} | |
weapon2_x1[N_WEAPON2]++; | |
weapon2_y1[N_WEAPON2]--; | |
weapon2_y2[N_WEAPON2]--; | |
} | |
} | |
if((vistrel2_time<750&&GetTime()<=vistrel2_time+250)||(vistrel2_time>=750&&GetTime()<=vistrel2_time-750&&perez_akt!=vistrel2_time_sec)) | |
{ | |
if(N_WEAPON2==7) | |
{weapon2_x1[N_WEAPON2]+=2; | |
weapon2_y1[N_WEAPON2]--; | |
weapon2_x2[N_WEAPON2]++; | |
weapon2_y2[N_WEAPON2]--;} | |
} | |
if(N_WEAPON2==0||N_WEAPON2==2||N_WEAPON2==5||N_WEAPON2==8)//для АК И ПП-19 И РПК (600) | |
{ | |
if(vistrel2_time<900) | |
{if((GetTime()>vistrel2_time+100)||(GetTime()<vistrel2_time&&perez_akt!=vistrel2_time_sec)) | |
{p_vistrel2=1;}} | |
if(vistrel2_time>=900&&GetTime()>vistrel2_time-900&&perez_akt!=vistrel2_time_sec) | |
{p_vistrel2=1;} | |
} | |
if(N_WEAPON2==3)//для FN F-2000 (850) | |
{ | |
if(vistrel2_time<928) | |
{if((GetTime()>=vistrel2_time+72)||(GetTime()<vistrel2_time&&perez_akt!=vistrel2_time_sec)) | |
{p_vistrel2=1;}} | |
if(vistrel2_time>=928&&GetTime()>vistrel2_time-928&&perez_akt!=vistrel2_time_sec) | |
{p_vistrel2=1;} | |
} | |
if(N_WEAPON2==6)//для MAC (800) | |
{ | |
if(vistrel2_time<925) | |
{if((GetTime()>vistrel2_time+75)||(GetTime()<vistrel2_time&&perez_akt!=vistrel2_time_sec)) | |
{p_vistrel2=1;}} | |
if(vistrel2_time>=925&&GetTime()>vistrel2_time-925&&perez_akt!=vistrel2_time_sec) | |
{p_vistrel2=1;} | |
} | |
if(N_WEAPON2==7)//для winchester (1) | |
{ | |
if(perez_akt_milli>=vistrel2_time&&perez_akt!=vistrel2_time_sec) | |
{p_vistrel2=1;} | |
} | |
if(N_WEAPON2==12||N_WEAPON2==13)//для Milkor MGL(0,5c) | |
{ | |
if((vistrel2_time<500&&perez_akt_milli>=vistrel2_time+500)|| | |
(vistrel2_time>=500&&perez_akt_milli>=vistrel2_time-500&&perez_akt!=vistrel2_time_sec)) | |
{p_vistrel2=1;} | |
} | |
}//закрытие для игрока 2 | |
if(p_vistrel2!=1&&N_WEAPON2==10&&oboima2==0) | |
{ | |
//if(GetTime()>=vistrel2_time&&perez_akt!=vistrel2_time_sec&&perez_akt!=60&&p_vistrel2==1) | |
//{reload2=false; | |
//oboima2++;} | |
if(perez_akt_milli>=vistrel2_time&&perez_akt!=vistrel2_time_sec&&perez_akt!=60&&p_vistrel2==0) | |
{p_vistrel2=1; | |
reload2=false; | |
oboima2++;} | |
}//закрытие для взрывчатых игрока 2 | |
if(N_WEAPON2==11&&p_vistrel2!=1) | |
{ | |
if(((vistrel2_time<reload_time_milli[N_WEAPON2]&&(perez_akt_milli>=vistrel2_time+reload_time_milli[N_WEAPON2]||perez_akt!=vistrel2_time_sec))|| | |
(vistrel2_time>=reload_time_milli[N_WEAPON2]&&perez_akt_milli>=vistrel2_time+reload_time_milli[N_WEAPON2]-1000&&perez_akt!=vistrel2_time_sec))&&perez_akt!=60&&p_vistrel2==0) | |
{p_vistrel2=1; | |
reload2=false; | |
}} | |
//если не ведется огонь то его нет и оружие на месте | |
if((hge->Input_GetKeyState(HGEK_ENTER)==false&&net_user!=2)||(enter==false&&net_user==2)) | |
{ | |
if(N_WEAPON1!=10&&N_WEAPON1!=11&&N_WEAPON1!=12&&N_WEAPON1!=13) | |
{p_vistrel=1; | |
pulya->SetColor(0x00FFA000); | |
weapon_x1[N_WEAPON1]=x+w_x1[N_WEAPON1]; | |
weapon_y1[N_WEAPON1]=y+w_y1[N_WEAPON1]; | |
weapon_x2[N_WEAPON1]=x+w_x2[N_WEAPON1]; | |
weapon_y2[N_WEAPON1]=y+w_y2[N_WEAPON1];} | |
} | |
if(player2_aktive==1) | |
{ | |
if((hge->Input_GetKeyState(HGEK_SPACE)==false&&net_user!=1)||(space==false&&net_user==1)) | |
{ | |
if(N_WEAPON2!=10&&N_WEAPON2!=11&&N_WEAPON2!=12&&N_WEAPON2!=13) | |
{p_vistrel2=1; | |
pulya2->SetColor(0x00FFA000); | |
weapon2_x1[N_WEAPON2]=x2+w_x1[N_WEAPON2]; | |
weapon2_y1[N_WEAPON2]=y2+w_y1[N_WEAPON2]; | |
weapon2_x2[N_WEAPON2]=x2+w_x2[N_WEAPON2]; | |
weapon2_y2[N_WEAPON2]=y2+w_y2[N_WEAPON2];} | |
} | |
}//if player2_aktive==1 | |
if(hge->Input_GetKeyState(HGEK_ADD)&&time%25==0&&N_ZAYAC<=MAX_ZAYAC-10&&net_user!=2) | |
{zayac_add();} | |
if(hge->Input_GetKeyState(HGEK_SUBTRACT)&&time%25==0&&N_ZAYAC>=2&&net_user!=2) | |
{N_ZAYAC--;} | |
if(hge->Input_GetKeyState(HGEK_ADD)&&hge->Input_GetKeyState(HGEK_ALT)&&time%25==0&&N_PTENEC<=MAX_PTENEC-5&&net_user!=2) | |
{ptenec_add();} | |
//СТОРОНА ЗВУУУУУУУУУУУУУУУУУУУУУУУУУКА | |
player1Pan=-75+x/9; | |
player2Pan=-75+x2/9; | |
//ПОКУПКА-------------------------------------- | |
if(hge->Input_GetKeyState(HGEK_BACKSPACE)&&net_user!=2&&reload==false) //игрок 1 | |
{ | |
if(weapon1_buy!=0) | |
{menu1_on=1;//активация меню | |
PAUSE=true; | |
weapon1_buy=0;} | |
} | |
if(player2_aktive==1&&hge->Input_GetKeyState(HGEK_B)&&net_user!=1&&reload2==false) //игрок 2 | |
{ | |
if(weapon2_buy!=0) | |
{menu2_on=1;//активация меню | |
PAUSE=true; | |
weapon2_buy=0;} | |
} | |
//СМЕНА ОРУЖИЯ------------ | |
if(hge->Input_GetKeyState(HGEK_CTRL)&&net_user!=2) | |
{ | |
if(weapon1_change!=0&&(ak_buy==true||pp19_buy==true||fn_f2000_buy==true||tt_buy==true|| | |
rpk_buy==true||mac_buy==true||winchester_buy==true||rpk47_buy==true||glok_buy==true||rgd5_buy==true|| | |
katana_buy==true||milkor_buy==true||panzer_buy==true||webley_buy==true||fn_five_seven_buy==true)&&reload==false | |
&&p_vistrel==1&&aktivatorp==0) | |
{oboim[N_WEAPON1]=oboima;//запись кол-ва пуль | |
N_WEAPON1=pred_weapon1;//оружие меняется на предыдущее | |
oboima=oboim[N_WEAPON1];//загрузка кол-ва пуль | |
pred_weapon1=last_weapon1;//предыдущее равно последнему (что было) | |
last_weapon1=N_WEAPON1; //последнее оружие - сейчасное (=)з) | |
weapon1_change=0;} | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
} | |
if(player2_aktive==1&&hge->Input_GetKeyState(HGEK_Q)&&net_user!=1) | |
{ | |
if(weapon2_change!=0&&(ak_buy2==true||pp19_buy2==true||fn_f2000_buy2==true||tt_buy2==true|| | |
rpk_buy2==true||mac_buy2==true||winchester_buy2==true||rpk47_buy2==true||glok_buy2==true||rgd5_buy2==true|| | |
katana_buy2==true||milkor_buy2==true||panzer_buy2==true||webley_buy2==true||fn_five_seven_buy2==true)&&reload2==false | |
&&p_vistrel2==1&&aktivatorp2==0) | |
{oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль | |
N_WEAPON2=pred_weapon2;//оружие меняется на предыдущее | |
oboima2=oboim2[N_WEAPON2];//загрузка кол-ва пуль | |
pred_weapon2=last_weapon2;//предыдущее равно последнему (что было) | |
last_weapon2=N_WEAPON2; //последнее оружие - сейчасное (=)з) | |
weapon2_change=0;} | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
} | |
if(menu1_on==0&&net_user!=2)//смена оружия по классам ИГРОКА 1 | |
{ | |
if(hge->Input_GetKeyState(HGEK_NUMPAD1)) //пистолеты | |
{ | |
if(weapon1_change!=0&&reload==false&&N_WEAPON1!=pistol1) | |
{oboim[N_WEAPON1]=oboima;//запись кол-ва пуль | |
N_WEAPON1=pistol1;//оружие меняется на пистолет | |
oboima=oboim[N_WEAPON1];//загрузка кол-ва пуль | |
pred_weapon1=last_weapon1;//предыдущее равно последнему (что было) | |
last_weapon1=N_WEAPON1; //последнее оружие - сейчасное (=)з) | |
weapon1_change=0;} | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
} | |
if(hge->Input_GetKeyState(HGEK_NUMPAD2)) //дробовики | |
{ | |
if(weapon1_change!=0&&reload==false&&N_WEAPON1!=drob1&&winchester_buy==true) | |
{oboim[N_WEAPON1]=oboima;//запись кол-ва пуль | |
N_WEAPON1=drob1;//оружие меняется на пистолет | |
oboima=oboim[N_WEAPON1];//загрузка кол-ва пуль | |
pred_weapon1=last_weapon1;//предыдущее равно последнему (что было) | |
last_weapon1=N_WEAPON1; //последнее оружие - сейчасное (=)з) | |
weapon1_change=0;} | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
} | |
if(hge->Input_GetKeyState(HGEK_NUMPAD3)) //смг | |
{ | |
if(weapon1_change!=0&&reload==false&&N_WEAPON1!=smg1&&(pp19_buy==true||mac_buy==true)) | |
{oboim[N_WEAPON1]=oboima;//запись кол-ва пуль | |
N_WEAPON1=smg1;//оружие меняется на пистолет | |
oboima=oboim[N_WEAPON1];//загрузка кол-ва пуль | |
pred_weapon1=last_weapon1;//предыдущее равно последнему (что было) | |
last_weapon1=N_WEAPON1; //последнее оружие - сейчасное (=)з) | |
weapon1_change=0;} | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
} | |
if(hge->Input_GetKeyState(HGEK_NUMPAD4)) //автоматы | |
{ | |
if(weapon1_change!=0&&reload==false&&N_WEAPON1!=avtomat1&&(ak_buy==true||fn_f2000_buy==true)) | |
{oboim[N_WEAPON1]=oboima;//запись кол-ва пуль | |
N_WEAPON1=avtomat1;//оружие меняется на пистолет | |
oboima=oboim[N_WEAPON1];//загрузка кол-ва пуль | |
pred_weapon1=last_weapon1;//предыдущее равно последнему (что было) | |
last_weapon1=N_WEAPON1; //последнее оружие - сейчасное (=)з) | |
weapon1_change=0;} | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
} | |
if(hge->Input_GetKeyState(HGEK_NUMPAD5)) //пулемёты | |
{ | |
if(weapon1_change!=0&&reload==false&&N_WEAPON1!=pulemet1&&(rpk_buy==true||rpk47_buy==true)) | |
{oboim[N_WEAPON1]=oboima;//запись кол-ва пуль | |
N_WEAPON1=pulemet1;//оружие меняется на пистолет | |
oboima=oboim[N_WEAPON1];//загрузка кол-ва пуль | |
pred_weapon1=last_weapon1;//предыдущее равно последнему (что было) | |
last_weapon1=N_WEAPON1; //последнее оружие - сейчасное (=)з) | |
weapon1_change=0;} | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
} | |
if(hge->Input_GetKeyState(HGEK_NUMPAD6)) //гранатомёты | |
{ | |
if(weapon1_change!=0&&reload==false&&N_WEAPON1!=granatomet1&&(rgd5_buy==true||milkor_buy==true||panzer_buy==true)) | |
{oboim[N_WEAPON1]=oboima;//запись кол-ва пуль | |
N_WEAPON1=granatomet1;//оружие меняется на пистолет | |
oboima=oboim[N_WEAPON1];//загрузка кол-ва пуль | |
pred_weapon1=last_weapon1;//предыдущее равно последнему (что было) | |
last_weapon1=N_WEAPON1; //последнее оружие - сейчасное (=)з) | |
weapon1_change=0;} | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
} | |
if(hge->Input_GetKeyState(HGEK_NUMPAD8)) //хододное | |
{ | |
if(weapon1_change!=0&&reload==false&&N_WEAPON1!=holodnoe1&&katana_buy==true) | |
{oboim[N_WEAPON1]=oboima;//запись кол-ва пуль | |
N_WEAPON1=holodnoe1;//оружие меняется на пистолет | |
oboima=oboim[N_WEAPON1];//загрузка кол-ва пуль | |
pred_weapon1=last_weapon1;//предыдущее равно последнему (что было) | |
last_weapon1=N_WEAPON1; //последнее оружие - сейчасное (=)з) | |
weapon1_change=0;} | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
} | |
} | |
if(menu2_on==0&&player2_aktive==1&&net_user!=1)//смена оружия по классам ИГРОКА 2 | |
{ | |
if(hge->Input_GetKeyState(HGEK_1)) //пистолеты | |
{ | |
if(weapon2_change!=0&&reload2==false&&N_WEAPON2!=pistol2) | |
{oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль | |
N_WEAPON2=pistol2;//оружие меняется на пистолет | |
oboima2=oboim2[N_WEAPON2];//загрузка кол-ва пуль | |
pred_weapon2=last_weapon2;//предыдущее равно последнему (что было) | |
last_weapon2=N_WEAPON2; //последнее оружие - сейчасное (=)з) | |
weapon2_change=0;} | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
} | |
if(hge->Input_GetKeyState(HGEK_2)) //дробовики | |
{ | |
if(weapon2_change!=0&&reload2==false&&N_WEAPON2!=drob2&&winchester_buy2==true) | |
{oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль | |
N_WEAPON2=drob2;//оружие меняется на пистолет | |
oboima2=oboim2[N_WEAPON2];//загрузка кол-ва пуль | |
pred_weapon2=last_weapon2;//предыдущее равно последнему (что было) | |
last_weapon2=N_WEAPON2; //последнее оружие - сейчасное (=)з) | |
weapon2_change=0;} | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
} | |
if(hge->Input_GetKeyState(HGEK_3)) //смг | |
{ | |
if(weapon2_change!=0&&reload2==false&&N_WEAPON2!=smg2&&(pp19_buy2==true||mac_buy2==true)) | |
{oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль | |
N_WEAPON2=smg2;//оружие меняется на пистолет | |
oboima2=oboim2[N_WEAPON2];//загрузка кол-ва пуль | |
pred_weapon2=last_weapon2;//предыдущее равно последнему (что было) | |
last_weapon2=N_WEAPON2; //последнее оружие - сейчасное (=)з) | |
weapon2_change=0;} | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
} | |
if(hge->Input_GetKeyState(HGEK_4)) //автоматы | |
{ | |
if(weapon2_change!=0&&reload2==false&&N_WEAPON2!=avtomat2&&(ak_buy2==true||fn_f2000_buy2==true)) | |
{oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль | |
N_WEAPON2=avtomat2;//оружие меняется на пистолет | |
oboima2=oboim2[N_WEAPON2];//загрузка кол-ва пуль | |
pred_weapon2=last_weapon2;//предыдущее равно последнему (что было) | |
last_weapon2=N_WEAPON2; //последнее оружие - сейчасное (=)з) | |
weapon2_change=0;} | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
} | |
if(hge->Input_GetKeyState(HGEK_5)) //пулемёты | |
{ | |
if(weapon2_change!=0&&reload2==false&&N_WEAPON2!=pulemet2&&(rpk_buy2==true||rpk47_buy2==true)) | |
{oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль | |
N_WEAPON2=pulemet2;//оружие меняется на пистолет | |
oboima2=oboim2[N_WEAPON2];//загрузка кол-ва пуль | |
pred_weapon2=last_weapon2;//предыдущее равно последнему (что было) | |
last_weapon2=N_WEAPON2; //последнее оружие - сейчасное (=)з) | |
weapon2_change=0;} | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
} | |
if(hge->Input_GetKeyState(HGEK_6)) //гранатомёты | |
{ | |
if(weapon2_change!=0&&reload2==false&&N_WEAPON2!=granatomet2&&(rgd5_buy2==true||milkor_buy2==true||panzer_buy2==true)) | |
{oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль | |
N_WEAPON2=granatomet2;//оружие меняется на пистолет | |
oboima2=oboim2[N_WEAPON2];//загрузка кол-ва пуль | |
pred_weapon2=last_weapon2;//предыдущее равно последнему (что было) | |
last_weapon2=N_WEAPON2; //последнее оружие - сейчасное (=)з) | |
weapon2_change=0;} | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
} | |
if(hge->Input_GetKeyState(HGEK_8)) //холодное | |
{ | |
if(weapon2_change!=0&&reload2==false&&N_WEAPON2!=holodnoe2&&katana_buy2==true) | |
{oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль | |
N_WEAPON2=holodnoe2;//оружие меняется на пистолет | |
oboima2=oboim2[N_WEAPON2];//загрузка кол-ва пуль | |
pred_weapon2=last_weapon2;//предыдущее равно последнему (что было) | |
last_weapon2=N_WEAPON2; //последнее оружие - сейчасное (=)з) | |
weapon2_change=0;} | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
} | |
} | |
//ЗАКРЫТИЕ СМЕНЫ ОРУЖИЯ | |
//ПЕРЕМЕЩЕНИЕ ПО УРОВНЮ | |
lvl_go1=false; | |
lvl_go2=false; | |
lvl_back1=false; | |
lvl_back2=false; | |
float lvl_go1_value=(2.4f-0.2f*140/fps)*speed*dt; | |
float lvl_go2_value=(2.4f-0.2f*140/fps)*speed2*dt; | |
if(player2_aktive==0)//1 ИГРОК | |
{ | |
if(x<=286) | |
{ | |
X+=lvl_go1_value; | |
x=287; | |
lvl_go1=true; | |
} | |
if(x>=1184&&X>=0) | |
{ | |
X-=lvl_go1_value; | |
x=1183; | |
lvl_back1=true; | |
} | |
} | |
if(player2_aktive==1)//2 ИГРОКА | |
{ | |
if(x<=286&&x2<=600) | |
{ | |
X+=lvl_go1_value; | |
x=287; | |
lvl_go1=true; | |
//if(afk2==true) | |
//{x2=afx2+(X-afX2);} | |
} | |
if(x2<=286&&x<=600) | |
{ | |
X+=lvl_go2_value; | |
x2=287; | |
lvl_go2=true; | |
//if(afk1==true) | |
//{x=afx+(X-afX);} | |
} | |
if(x>=1184&&x2>=600&&X>=0) | |
{ | |
X-=lvl_go1_value; | |
x=1183; | |
lvl_back1=true; | |
//if(afk2==true) | |
//{x2=afx2+(X-afX2);} | |
} | |
if(x2>=1184&&x>=600&&X>=0) | |
{ | |
X-=lvl_go2_value; | |
x2=1183; | |
lvl_back2=true; | |
//if(afk1==true) | |
//{x=afx+(X-afX);} | |
} | |
} | |
if(lvl_go1==true||lvl_go2==true||lvl_back1==true||lvl_back2==true)//оставление щей | |
{ | |
if(peregruzheno==0) | |
{for(int i23=0;i23<=N_TRUPS;i23++) | |
{trupsObjects[i23].posX=trupsObjects[i23].posX_s+(X-trupsObjects[i23].posX_X); | |
trupsObjects[i23].posX2=trupsObjects[i23].posX2_s+(X-trupsObjects[i23].posX2_X);} | |
} | |
if(peregruzheno==1) | |
{for(int i23=0;i23<=NUMBER_TRUPS;i23++) | |
{trupsObjects[i23].posX=trupsObjects[i23].posX_s+(X-trupsObjects[i23].posX_X); | |
trupsObjects[i23].posX2=trupsObjects[i23].posX2_s+(X-trupsObjects[i23].posX2_X);} | |
} | |
for(int i35=0;i35<=N_BONUSTEXT;i35++) | |
{bonustextiObjects[i35].x=bonustextiObjects[i35].x_s+(X-bonustextiObjects[i35].x_X);} | |
if(lvl_go1==true) | |
{dx2+=(speed-3*weight[N_WEAPON1]*vinoslivost1)*sqrt(dt/1400); | |
for(int i24=0;i24<=N_ZAYAC;i24++) | |
{vragi1Objects[i24].v1x+=lvl_go1_value;} | |
for(int i25=0;i25<=N_VOLK;i25++) | |
{vragi2Objects[i25].v2x+=lvl_go1_value; | |
if(vragi2Objects[i25].RPG_illusionist!=0) | |
{vragi2Objects[i25].ill1_x+=lvl_go1_value; | |
vragi2Objects[i25].ill2_x+=lvl_go1_value;}} | |
for(int i26=0;i26<=N_UHI;i26++) | |
{uhiObjects[i26].uhix+=lvl_go1_value;} | |
for(int i27=0;i27<=N_HEAD;i27++) | |
{boshkiObjects[i27].bx+=lvl_go1_value;} | |
for(int i28=0;i28<=MAX_BLOOD-1;i28++) | |
{krovyakObjects[i28].x1+=lvl_go1_value; | |
krovyakObjects[i28].x2+=lvl_go1_value;} | |
for(int i34=0;i34<=N_BONUS;i34++) | |
{bonusiObjects[i34].x1+=lvl_go1_value; | |
bonusiObjects[i34].x2+=lvl_go1_value;} | |
for(int i42=0;i42<=MAX_MYASO-1;i42++) | |
{myasko[i42].x1+=lvl_go1_value;} | |
for(int i50=0;i50<=MAX_GREN-1;i50++) | |
{granati[i50].x+=lvl_go1_value;} | |
for(int i82=0;i82<=N_MEDVED;i82++) | |
{vragi3Objects[i82].v3x+=lvl_go1_value; | |
if(vragi3Objects[i82].RPG_illusionist!=0) | |
{vragi3Objects[i82].ill1_x+=lvl_go1_value; | |
vragi3Objects[i82].ill2_x+=lvl_go1_value;}} | |
for(int i124=0;i124<=N_PTENEC;i124++) | |
{vragi4Objects[i124].v4x+=lvl_go1_value; | |
if(vragi4Objects[i124].polet==1) | |
{vragi4Objects[i124].rx+=lvl_go1_value;}} | |
} | |
if(lvl_go2==true) | |
{dx+=(speed2-3*weight[N_WEAPON2]*vinoslivost2)*sqrt(dt/1400); | |
for(int i24=0;i24<=N_ZAYAC;i24++) | |
{vragi1Objects[i24].v1x+=lvl_go2_value;} | |
for(int i25=0;i25<=N_VOLK;i25++) | |
{vragi2Objects[i25].v2x+=lvl_go2_value; | |
if(vragi2Objects[i25].RPG_illusionist!=0) | |
{vragi2Objects[i25].ill1_x+=lvl_go2_value; | |
vragi2Objects[i25].ill2_x+=lvl_go2_value;}} | |
for(int i26=0;i26<=N_UHI;i26++) | |
{uhiObjects[i26].uhix+=lvl_go2_value;} | |
for(int i27=0;i27<=N_HEAD;i27++) | |
{boshkiObjects[i27].bx+=lvl_go2_value;} | |
for(int i28=0;i28<=MAX_BLOOD-1;i28++) | |
{krovyakObjects[i28].x1+=lvl_go2_value; | |
krovyakObjects[i28].x2+=lvl_go2_value;} | |
for(int i34=0;i34<=N_BONUS;i34++) | |
{bonusiObjects[i34].x1+=lvl_go2_value; | |
bonusiObjects[i34].x2+=lvl_go2_value;} | |
for(int i42=0;i42<=MAX_MYASO-1;i42++) | |
{myasko[i42].x1+=lvl_go2_value;} | |
for(int i50=0;i50<=MAX_GREN-1;i50++) | |
{granati[i50].x+=lvl_go2_value;} | |
for(int i82=0;i82<=N_MEDVED;i82++) | |
{vragi3Objects[i82].v3x+=lvl_go2_value; | |
if(vragi3Objects[i82].RPG_illusionist!=0) | |
{vragi3Objects[i82].ill1_x+=lvl_go2_value; | |
vragi3Objects[i82].ill2_x+=lvl_go2_value;}} | |
for(int i124=0;i124<=N_PTENEC;i124++) | |
{vragi4Objects[i124].v4x+=lvl_go2_value; | |
if(vragi4Objects[i124].polet==1) | |
{vragi4Objects[i124].rx+=lvl_go2_value;}} | |
} | |
if(lvl_back1==true) | |
{dx2-=(speed-3*weight[N_WEAPON1]*vinoslivost1)*sqrt(dt/1400); | |
for(int i24=0;i24<=N_ZAYAC;i24++) | |
{vragi1Objects[i24].v1x-=lvl_go1_value;} | |
for(int i25=0;i25<=N_VOLK;i25++) | |
{vragi2Objects[i25].v2x-=lvl_go1_value; | |
if(vragi2Objects[i25].RPG_illusionist!=0) | |
{vragi2Objects[i25].ill1_x-=lvl_go1_value; | |
vragi2Objects[i25].ill2_x-=lvl_go1_value;}} | |
for(int i26=0;i26<=N_UHI;i26++) | |
{uhiObjects[i26].uhix-=lvl_go1_value;} | |
for(int i27=0;i27<=N_HEAD;i27++) | |
{boshkiObjects[i27].bx-=lvl_go1_value;} | |
for(int i28=0;i28<=MAX_BLOOD-1;i28++) | |
{krovyakObjects[i28].x1-=lvl_go1_value; | |
krovyakObjects[i28].x2-=lvl_go1_value;} | |
for(int i34=0;i34<=N_BONUS;i34++) | |
{bonusiObjects[i34].x1-=lvl_go1_value; | |
bonusiObjects[i34].x2-=lvl_go1_value;} | |
for(int i42=0;i42<=MAX_MYASO-1;i42++) | |
{myasko[i42].x1-=lvl_go1_value;} | |
for(int i50=0;i50<=MAX_GREN-1;i50++) | |
{granati[i50].x-=lvl_go1_value;} | |
for(int i82=0;i82<=N_MEDVED;i82++) | |
{vragi3Objects[i82].v3x-=lvl_go1_value; | |
if(vragi3Objects[i82].RPG_illusionist!=0) | |
{vragi3Objects[i82].ill1_x-=lvl_go1_value; | |
vragi3Objects[i82].ill2_x-=lvl_go1_value;}} | |
for(int i124=0;i124<=N_PTENEC;i124++) | |
{vragi4Objects[i124].v4x-=lvl_go1_value; | |
if(vragi4Objects[i124].polet==1) | |
{vragi4Objects[i124].rx-=lvl_go1_value;}} | |
} | |
if(lvl_back2==true) | |
{dx-=(speed2-3*weight[N_WEAPON2]*vinoslivost2)*sqrt(dt/1400); | |
for(int i24=0;i24<=N_ZAYAC;i24++) | |
{vragi1Objects[i24].v1x-=lvl_go2_value;} | |
for(int i25=0;i25<=N_VOLK;i25++) | |
{vragi2Objects[i25].v2x-=lvl_go2_value; | |
if(vragi2Objects[i25].RPG_illusionist!=0) | |
{vragi2Objects[i25].ill1_x-=lvl_go2_value; | |
vragi2Objects[i25].ill2_x-=lvl_go2_value;}} | |
for(int i26=0;i26<=N_UHI;i26++) | |
{uhiObjects[i26].uhix-=lvl_go2_value;} | |
for(int i27=0;i27<=N_HEAD;i27++) | |
{boshkiObjects[i27].bx-=lvl_go2_value;} | |
for(int i28=0;i28<=MAX_BLOOD-1;i28++) | |
{krovyakObjects[i28].x1-=lvl_go2_value; | |
krovyakObjects[i28].x2-=lvl_go2_value;} | |
for(int i34=0;i34<=N_BONUS;i34++) | |
{bonusiObjects[i34].x1-=lvl_go2_value; | |
bonusiObjects[i34].x2-=lvl_go2_value;} | |
for(int i42=0;i42<=MAX_MYASO-1;i42++) | |
{myasko[i42].x1-=lvl_go2_value;} | |
for(int i50=0;i50<=MAX_GREN-1;i50++) | |
{granati[i50].x-=lvl_go2_value;} | |
for(int i82=0;i82<=N_MEDVED;i82++) | |
{vragi3Objects[i82].v3x-=lvl_go2_value; | |
if(vragi3Objects[i82].RPG_illusionist!=0) | |
{vragi3Objects[i82].ill1_x-=lvl_go2_value; | |
vragi3Objects[i82].ill2_x-=lvl_go2_value;}} | |
for(int i124=0;i124<=N_PTENEC;i124++) | |
{vragi4Objects[i124].v4x-=lvl_go2_value; | |
if(vragi4Objects[i124].polet==1) | |
{vragi4Objects[i124].rx-=lvl_go2_value;}} | |
} | |
}//закрытие оставления щей | |
//ЗАКРЫТИЕ ПЕРЕМЕЩЕНИЯ ПО УРОВНЮ | |
//Создание сервера | |
if(hge->Input_GetKeyState(HGEK_I)&&player2_aktive==0) | |
{ | |
PAUSE=true; | |
s[0]=socket(AF_INET,SOCK_STREAM,0);//создаем сокет | |
//WSAAsyncSelect (s[0],main_window_handle,WM_SOCKET,(FD_CLOSE | FD_ACCEPT | FD_READ | FD_WRITE));//сокет сервера асинхронный | |
//if (connection==SOCKET_ERROR) | |
//{connection_error=true; | |
//WSACleanup (); | |
//strcpy(net_status,"Ошибка init "); | |
//return 0;} | |
server.sin_family = AF_INET;//интернет | |
server.sin_port = htons (15624);//потр пять адын адын адын | |
server.sin_addr.s_addr = htonl (INADDR_LOOPBACK); //адрес - наш | |
if (bind(s[0],(LPSOCKADDR)&server,sizeof(server))==SOCKET_ERROR)//сокет имеет адрес | |
{connection_error=true; | |
WSACleanup (); | |
strcpy(net_status,"Ошибка bind server "); | |
return 0;} | |
strcpy(net_status,"Ждем запроса на соединение..."); | |
srvr=true; | |
} | |
if(hge->Input_GetKeyState(HGEK_C)&&player2_aktive==0) | |
{PAUSE=true; | |
s[4]=socket(AF_INET,SOCK_STREAM,0);//создаем сокет | |
//WSAAsyncSelect(s[4],main_window_handle,WM_SOCKET,(FD_CLOSE | FD_CONNECT | FD_READ | FD_WRITE));//сокет серверного клиента асинхронный | |
you.sin_family = AF_INET; | |
you.sin_port = htons (15624); | |
strcpy(net_status,"Введите IP:"); | |
client[0].sin_family=AF_INET; | |
client[0].sin_addr.s_addr= htonl (INADDR_LOOPBACK); //адрес - наш | |
client[0].sin_port= htons (IPPORT_REGISTERED_MAX ); | |
clnt=true; | |
} | |
//blood_ssit_psi->MoveTo(x,y); | |
blood_ssit_psi->Fire(); | |
blood_ssit_psi->info.bRelative=false; | |
blood_ssit_psi->info.fSpeedMin=-1.43f*sqrt(150/(float)fps); | |
blood_ssit_psi->info.fSpeedMax=-1.43f*sqrt(150/(float)fps); | |
blood_ssit_psi->info.fParticleLifeMin=0.16f*sqrt(150/(float)fps); | |
blood_ssit_psi->info.colColorStart=0xFFD72323; | |
blood_ssit_psi->info.colColorEnd=0xFFCD1A1A; | |
blood_ssit_psi->Update(dt); | |
RPG_healing_psi->Fire(); | |
RPG_healing_psi->info.fSpeedMin=1.1f*sqrt(150/(float)fps); | |
RPG_healing_psi->info.fSpeedMax=sqrt(150/(float)fps); | |
RPG_healing_psi->info.fParticleLifeMin=0.36f*sqrt(150/(float)fps); | |
RPG_healing_psi->info.bRelative=false; | |
RPG_healing_psi->Update(dt); | |
//vzriv_grena_psi->info.nEmission=250; | |
//vzriv_grena_psi->info.fSpeedMin=sqrt(150/(float)fps); | |
//vzriv_grena_psi->info.fSpeedMax=sqrt(150/(float)fps); | |
//vzriv_grena_psi->info.fParticleLifeMin=0.7f*sqrt(150/(float)fps); | |
//vzriv_grena_psi->info.bRelative=false; | |
//vzriv_grena_psi->Update(dt); | |
vzriv_ogon_grena_psi->info.nEmission=300; | |
vzriv_ogon_grena_psi->info.fSpeedMin=2.5f*sqrt(150/(float)fps); | |
vzriv_ogon_grena_psi->info.fSpeedMax=0.8f*sqrt(150/(float)fps); | |
vzriv_ogon_grena_psi->info.fParticleLifeMin=0.16f*sqrt(150/(float)fps); | |
vzriv_ogon_grena_psi->info.bRelative=false; | |
vzriv_ogon_grena_psi->Update(dt); | |
if(RPGMOD==true) | |
{ | |
//ПРОСЧЕТ ОПЫТА | |
opit1_x2=1023+177*opit1/opit_lvl[LVL1-1]; | |
if(opit1>=opit_lvl[LVL1-1]) | |
{opit1-=opit_lvl[LVL1-1]; | |
lvl1_ready=true; | |
LVL1++; | |
opit_points1+=3; | |
if(LVL1%2==0) | |
{naviki_points1++;} | |
} | |
if(lvl1_ready==true) | |
{ | |
if(lvl1_mig==0) | |
{lvl1_mig_time=perez_akt; | |
lvl1_mig_time_milli=GetTime(); | |
lvl1_mig=1; | |
} | |
if(lvl1_mig==1&&lvl1_mig_time_milli<500&&perez_akt!=60&& | |
((perez_akt==lvl1_mig_time&&perez_akt_milli>=lvl1_mig_time_milli+500)|| | |
(perez_akt!=lvl1_mig_time))) | |
{lvl1_mig_time=perez_akt; | |
lvl1_mig_time_milli=GetTime(); | |
lvl1_mig=2;} | |
if(lvl1_mig==1&&lvl1_mig_time_milli>=500&&perez_akt!=lvl1_mig_time&&perez_akt_milli>=lvl1_mig_time_milli-500) | |
{lvl1_mig_time=perez_akt; | |
lvl1_mig_time_milli=GetTime(); | |
lvl1_mig=2;} | |
if(lvl1_mig==2&&lvl1_mig_time_milli<500&&perez_akt!=60&& | |
((perez_akt==lvl1_mig_time&&perez_akt_milli>=lvl1_mig_time_milli+500)|| | |
(perez_akt!=lvl1_mig_time))) | |
{lvl1_mig_time=perez_akt; | |
lvl1_mig_time_milli=GetTime(); | |
lvl1_mig=1;} | |
if(lvl1_mig==2&&lvl1_mig_time_milli>=500&&perez_akt!=lvl1_mig_time&&perez_akt_milli>=lvl1_mig_time_milli-500) | |
{lvl1_mig_time=perez_akt; | |
lvl1_mig_time_milli=GetTime(); | |
lvl1_mig=1;} | |
if(hge->Input_GetKeyState(HGEK_L)&&lvl_key_block==false&&reload==false&&reload2==false&&net_user!=2) | |
{lvl1_ready=false; | |
lvl1_mig=0; | |
lvl1_vibor=true; | |
lvl_key_block=true; | |
lvl_key_time=GetCurrentSecond(); | |
lvl_key_time_milli=GetTime(); | |
VIBOR=0; | |
VIBOR_ITEM=1;} | |
}//lvl1_ready==true | |
if(player2_aktive==1) | |
{ | |
opit2_x2=1023+177*opit2/opit_lvl[LVL2-1]; | |
if(opit2>=opit_lvl[LVL2-1]) | |
{opit2-=opit_lvl[LVL2-1]; | |
lvl2_ready=true; | |
LVL2++; | |
opit_points2+=3; | |
if(LVL2%2==0) | |
{naviki_points2++;} | |
} | |
if(lvl2_ready==true) | |
{ | |
if(lvl2_mig==0) | |
{lvl2_mig_time=perez_akt; | |
lvl2_mig_time_milli=GetTime(); | |
lvl2_mig=1; | |
} | |
if(lvl2_mig==1&&lvl2_mig_time_milli<500&&perez_akt!=60&& | |
((perez_akt==lvl2_mig_time&&perez_akt_milli>=lvl2_mig_time_milli+500)|| | |
(perez_akt!=lvl2_mig_time))) | |
{lvl2_mig_time=perez_akt; | |
lvl2_mig_time_milli=GetTime(); | |
lvl2_mig=2;} | |
if(lvl2_mig==1&&lvl2_mig_time_milli>=500&&perez_akt!=lvl2_mig_time&&perez_akt_milli>=lvl2_mig_time_milli-500) | |
{lvl2_mig_time=perez_akt; | |
lvl2_mig_time_milli=GetTime(); | |
lvl2_mig=2;} | |
if(lvl2_mig==2&&lvl2_mig_time_milli<500&&perez_akt!=60&& | |
((perez_akt==lvl2_mig_time&&perez_akt_milli>=lvl2_mig_time_milli+500)|| | |
(perez_akt!=lvl2_mig_time))) | |
{lvl2_mig_time=perez_akt; | |
lvl2_mig_time_milli=GetTime(); | |
lvl2_mig=1;} | |
if(lvl2_mig==2&&lvl2_mig_time_milli>=500&&perez_akt!=lvl2_mig_time&&perez_akt_milli>=lvl2_mig_time_milli-500) | |
{lvl2_mig_time=perez_akt; | |
lvl2_mig_time_milli=GetTime(); | |
lvl2_mig=1;} | |
if(hge->Input_GetKeyState(HGEK_F)&&lvl_key_block==false&&reload==false&&reload2==false&&net_user!=1) | |
{lvl2_ready=false; | |
lvl2_mig=0; | |
lvl2_vibor=true; | |
lvl_key_block=true; | |
lvl_key_time=GetCurrentSecond(); | |
lvl_key_time_milli=GetTime(); | |
VIBOR=0; | |
VIBOR_ITEM=1;} | |
}//lvl2_ready==true | |
}//player2_aktive==true | |
}//RPGMOD==true | |
if(TEST_REZHIM==false)//тестовый режим | |
{ | |
//УСЛОВИЕ ПОБЕДЫ | |
if(player2_aktive==0&&X-lvl1_lenght>=x&&LIVES>=0) | |
{pobeda=true;} | |
if(player2_aktive==1&&X-lvl1_lenght>=x&&X-lvl1_lenght>=x2&&LIVES>=0) | |
{pobeda=true;} | |
//УСЛОВИЕ ПОРАЖЕНИЯ | |
if(LIVES<0&&player2_aktive==0&&X-lvl1_lenght<x) | |
{porazhenie=true;} | |
if(player2_aktive==1&&(X-lvl1_lenght<x||X-lvl1_lenght<x2)&&LIVES<0) | |
{porazhenie=true;} | |
}//тестовый режим | |
//ПРОДВИЖЕНИЕ ИГРЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ-////////////////////////////////// | |
//120 - середина зеленого режима | |
if(player2_aktive==0) | |
{ | |
if(kills>=2&&GAME_PROGRESS==0) | |
{zayac_add(); | |
ptenec_add(); | |
GAME_PROGRESS=1;} | |
if(kills>=15&&GAME_PROGRESS==1) | |
{zayac_add(); | |
GAME_PROGRESS=2;} | |
if(kills>=40&&GAME_PROGRESS==2) | |
{zayac_add(); | |
GAME_PROGRESS=3;} | |
if(kills>=70&&GAME_PROGRESS==3) | |
{zayac_add(); | |
volk_add(); | |
GAME_PROGRESS=4;} | |
if(kills>=100&&GAME_PROGRESS==4) | |
{zayac_add(); | |
GAME_PROGRESS=5;} | |
if(kills>=150&&GAME_PROGRESS==5) | |
{medved_add(); | |
GAME_PROGRESS=6;} | |
if(kills>=250&&GAME_PROGRESS==6) | |
{zayac_add(); | |
rpg_healers=true; | |
GAME_PROGRESS=7;} | |
if(kills>=400&&GAME_PROGRESS==7) | |
{ | |
volk_add(); | |
rpg_illusionists=true; | |
GAME_PROGRESS=8;} | |
if(kills>=750&&GAME_PROGRESS==8) | |
{ | |
rpg_teleporters=true; | |
GAME_PROGRESS=9;} | |
} | |
if(player2_aktive==1) | |
{ | |
if(kills+kills2>=4&&GAME_PROGRESS==0) | |
{zayac_add(); | |
zayac_add(); | |
GAME_PROGRESS=1;} | |
if(kills+kills2>=30&&GAME_PROGRESS==1) | |
{zayac_add(); | |
zayac_add(); | |
GAME_PROGRESS=2;} | |
if(kills+kills2>=80&&GAME_PROGRESS==2) | |
{zayac_add(); | |
zayac_add(); | |
GAME_PROGRESS=3;} | |
if(kills+kills2>=140&&GAME_PROGRESS==3) | |
{zayac_add();//не хватает 1-го...ну и пусть | |
volk_add(); | |
volk_add(); | |
GAME_PROGRESS=4;} | |
if(kills+kills2>=200&&GAME_PROGRESS==4) | |
{zayac_add(); | |
zayac_add(); | |
GAME_PROGRESS=5;} | |
if(kills+kills2>=300&&GAME_PROGRESS==5) | |
{medved_add(); | |
medved_add(); | |
rpg_healers=true; | |
GAME_PROGRESS=6;} | |
if(kills+kills2>=360&&GAME_PROGRESS==6) | |
{zayac_add(); | |
zayac_add(); | |
rpg_healers=true; | |
GAME_PROGRESS=7;} | |
if(kills+kills2>=500&&GAME_PROGRESS==7) | |
{volk_add(); | |
volk_add(); | |
rpg_illusionists=true; | |
GAME_PROGRESS=8;} | |
if(kills>=600&&GAME_PROGRESS==8) | |
{rpg_teleporters=true; | |
GAME_PROGRESS=9;} | |
} | |
//ПОВЫШЕНИЕ ЗАЩИТЫ МОБОВ | |
if((defence_upgrade_sec<45&&perez_akt==defence_upgrade_sec+15)|| | |
(defence_upgrade_sec>=45&&perez_akt==defence_upgrade_sec-45)) | |
{ | |
if(N_ZAYAC>=0) | |
{defence_zayac++;} | |
if(N_VOLK>=0) | |
{defence_volk++;} | |
if(N_MEDVED>=0) | |
{defence_medved++;} | |
defence_upgrade_sec=perez_akt; | |
} | |
//ПОВЫШЕНИЕ СЛОЖНОСТИ | |
if(perez_akt==30) | |
{ | |
if(DIFF==1&&DIFF_UP==true&&DIFF_UPGRADED==false)//с синего на красный + | |
{DIFF++; | |
DIFF_UPGRADED=true; | |
if((int)(N_ZAYAC+1)%2==0) | |
{n_zayac_up=(N_ZAYAC+1)/2;} | |
if((int)(N_ZAYAC+1)%2!=0) | |
{n_zayac_up=N_ZAYAC/2;} | |
for(int i101=1;i101<=n_zayac_up;i101++) | |
{zayac_add();} | |
} | |
if(DIFF==1&&DIFF_UP==false&&DIFF_UPGRADED==false)//с синего на зелёный - | |
{DIFF--; | |
DIFF_UPGRADED=true; | |
if((int)(N_ZAYAC+1)%2==0) | |
{n_zayac_down=(N_ZAYAC+1)/2;} | |
if((int)(N_ZAYAC+1)%2!=0) | |
{n_zayac_down=N_ZAYAC/2;} | |
n_zayac_up=n_zayac_down; | |
zayac_must_down=true; | |
} | |
if(DIFF==2&&DIFF_UP==true&&DIFF_UPGRADED==false)//с красного на синий - | |
{DIFF--; | |
DIFF_UP=false; | |
DIFF_UPGRADED=true; | |
zayac_must_down=true;} | |
if(DIFF==0&&DIFF_UP==false&&DIFF_UPGRADED==false)//с зелёного на синий + | |
{DIFF++; | |
DIFF_UP=true; | |
DIFF_UPGRADED=true; | |
for (int i104=1;i104<=n_zayac_up;i104++) | |
{zayac_add();} | |
n_zayac_up=0; | |
} | |
}//if(perez_akt==30) | |
if(perez_akt==31&&DIFF_UPGRADED==true) | |
{DIFF_UPGRADED=false;} | |
if(zayac_must_down==true)//исчезновение лишних зайцев (когда они убиты) | |
{ | |
if((vragi1Objects[N_ZAYAC].ubit==1||vragi1Objects[N_ZAYAC].v1x<0)&&n_zayac_up!=0&&DIFF==1) | |
{N_ZAYAC--; | |
n_zayac_up--;} | |
if(n_zayac_up==0&&DIFF==1) | |
{zayac_must_down=false;} | |
if((vragi1Objects[N_ZAYAC].ubit==1||vragi1Objects[N_ZAYAC].v1x<0)&&n_zayac_down!=0&&DIFF==0) | |
{N_ZAYAC--; | |
n_zayac_down--;} | |
if(n_zayac_down==0&&DIFF==0) | |
{zayac_must_down=false;} | |
}//закрытие исчезновения лишних зайцев | |
if(N_TRUPS>=MAX_TRUPS-1) | |
{NUMBER_TRUPS=N_TRUPS; | |
N_TRUPS=0; | |
peregruzheno=1; | |
} | |
if(N_BLOOD==MAX_BLOOD-1) | |
{ | |
NUMBER_BLOOD=N_BLOOD; | |
N_BLOOD=0; | |
peregruzheno_blood=1;}// ААААА ФАК МОЙ МОСК ТУТ ВСЕГДА ДОЛЖЕН БЫТЬ 0!!!!! | |
//----Y-COORDINATING-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y- | |
N_Y=0;//обнуление | |
for(int ii6=0;ii6<=N_ZAYAC;ii6++) | |
{ | |
Y[N_Y].type=1; | |
Y[N_Y].y=vragi1Objects[ii6].v1y; | |
Y[N_Y].id=ii6; | |
N_Y++; | |
} | |
for(int ii7=0;ii7<=N_VOLK;ii7++) | |
{ | |
Y[N_Y].type=2; | |
Y[N_Y].y=vragi2Objects[ii7].v2y+10; | |
Y[N_Y].id=ii7; | |
N_Y++; | |
} | |
for(int ii25=0;ii25<=N_MEDVED;ii25++) | |
{ | |
Y[N_Y].type=10; | |
Y[N_Y].y=vragi3Objects[ii25].v3y+180; | |
Y[N_Y].id=ii25; | |
N_Y++; | |
} | |
for(int ii27=0;ii27<=N_PTENEC;ii27++) | |
{ | |
Y[N_Y].type=11; | |
Y[N_Y].y=vragi4Objects[ii27].v4y+25; | |
Y[N_Y].id=ii27; | |
N_Y++; | |
} | |
for(int ii8=0;ii8<=N_MYASO;ii8++) | |
{ | |
if(myasko[ii8].akt==1) | |
{Y[N_Y].type=3; | |
Y[N_Y].y=myasko[ii8].niz-15; | |
Y[N_Y].id=ii8; | |
N_Y++;} | |
} | |
for(int ii9=0;ii9<=N_UHI;ii9++) | |
{ | |
Y[N_Y].type=4; | |
Y[N_Y].y=uhiObjects[ii9].niz-15; | |
Y[N_Y].id=ii9; | |
N_Y++; | |
} | |
for(int ii10=0;ii10<=N_HEAD;ii10++) | |
{ | |
Y[N_Y].type=5; | |
Y[N_Y].y=boshkiObjects[ii10].niz-15; | |
Y[N_Y].id=ii10; | |
N_Y++; | |
} | |
for(int ii11=0;ii11<=N_BONUS;ii11++) | |
{ | |
Y[N_Y].type=6; | |
Y[N_Y].y=bonusiObjects[ii11].y2; | |
Y[N_Y].id=ii11; | |
N_Y++; | |
} | |
for(int ii12=0;ii12<=N_OBJECTS-1;ii12++) | |
{ | |
Y[N_Y].type=7; | |
switch(Objects[ii12].type) | |
{ | |
case 0: | |
Y[N_Y].y=Objects[ii12].y; | |
break; | |
case 1: | |
Y[N_Y].y=Objects[ii12].y-10; | |
break; | |
case 2: | |
Y[N_Y].y=Objects[ii12].y-10; | |
break;} | |
Y[N_Y].id=ii12; | |
N_Y++; | |
} | |
for(int ii13=0;ii13<=N_GILZ;ii13++) | |
{ | |
Y[N_Y].type=8; | |
Y[N_Y].y=gilziObjects[ii13].niz-hge->Random_Float(46,50); | |
Y[N_Y].id=ii13; | |
N_Y++; | |
} | |
for(int ii20=0;ii20<=N_GREN;ii20++) | |
{ | |
Y[N_Y].type=9; | |
Y[N_Y].y=granati[ii20].y; | |
Y[N_Y].id=ii20; | |
N_Y++; | |
} | |
/* | |
for(int ii14=0;ii14<=N_BLOOD;ii14++) | |
{ | |
Y[N_Y].type=9; | |
Y[N_Y].y=krovyakObjects[ii14].niz-hge->Random_Float(-3,3); | |
Y[N_Y].id=ii14; | |
N_Y++; | |
}*/ | |
Y[N_Y].type=101; | |
Y[N_Y].y=y+10; | |
N_Y++; | |
Y[N_Y].type=102; | |
Y[N_Y].y=y2+10; | |
N_Y++; | |
//НАЧАЛО ТАСОВКИ | |
//проверка | |
for(int ii20=0; ii20<=N_Y; ii20++) | |
{ | |
for(int ii21=0; ii21<=N_Y; ii21++) | |
{ | |
if(Y[ii20].y==Y[ii21].y&&ii20!=ii21) | |
{Y[ii20].y+=0.1f;} | |
} | |
} | |
for(int ii2=0;ii2<=N_Y;ii2++) | |
{ | |
for(int ii5=0;ii5<=N_Y;ii5++) | |
{if(Y[ii5].A!=1) | |
{y_min=Y[ii5].y; | |
y_type=Y[ii5].type; | |
y_id=Y[ii5].id;}} | |
for(int ii=0;ii<=N_Y;ii++)//проверка на меньшее число | |
{if(Y[ii].y<=y_min&&Y[ii].A!=1) | |
{y_min=Y[ii].y; | |
y_type=Y[ii].type; | |
y_id=Y[ii].id;}} | |
for(int ii4=0;ii4<=N_Y;ii4++)//обсчитывается нужный object | |
{if(y_min==Y[ii4].y) | |
{Y[ii4].A=1;}} | |
A[ii2].y=y_min; | |
A[ii2].type=y_type; | |
A[ii2].id=y_id; | |
} | |
//КОНЕЦ ТАСОВКИ | |
//ОБНУЛЕНИЕ | |
for(int ii3=0;ii3<=N_Y;ii3++) | |
{Y[ii3].A=0;} | |
//-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y-Y- | |
//БРАТЬ ВРЕМЯ ТУТ->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | |
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | |
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | |
/*perez_akt=GetCurrentSecond()-pause_time_sec;//это работает ПОСТОЯННО (не выносить в ф-ию) | |
if(perez_akt>59) | |
{perez_akt%=60;} | |
if(perez_akt<0) | |
{perez_akt=60+GetCurrentSecond()-pause_time_sec;}*/ | |
perez_akt_milli=GetTime(); | |
//perez_akt=GetCurrentSecond(); | |
time_now=GetCurrentSecond(); | |
if(time_was!=time_now) | |
{ | |
time_was=time_now; | |
if(perez_akt<60&&perez_akt>0) | |
{perez_akt++;} | |
if(perez_akt==0) | |
{perez_akt=1;} | |
if(perez_akt==60)//сразу исключаем 60-ю секунду (нулевую) | |
{perez_akt=0; | |
leveltime++;} | |
} | |
}//-------------------------PAUSE==FALSE-----------------------------------------|||||||||||||||||||||||||||||||||||||||||||\ | |
if(hge->Input_GetKeyState(HGEK_O)&&net_user!=0) | |
{Close_Net(); | |
PAUSE=false; | |
} | |
if(clnt==true) | |
{ | |
Connect_Net(); | |
} | |
if(srvr==true) | |
{ | |
Init_Net(); | |
} | |
//----BUY | |
weapon1_buy=1; | |
weapon2_buy=1; | |
//выход из меню | |
if(menu1_on!=0&&hge->Input_GetKeyState(HGEK_NUMPAD0)&&net_user!=2) | |
{menu1_on=0; | |
PAUSE=false; | |
} | |
if(menu2_on!=0&&hge->Input_GetKeyState(HGEK_0)&&net_user!=1) | |
{menu2_on=0; | |
PAUSE=false; | |
} | |
//вход в меню пистолетов | |
if(menu1_on==1&&hge->Input_GetKeyState(HGEK_NUMPAD1)&&net_user!=2) | |
{menu1_on=2; | |
weapon1_change=0; | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond();} | |
if(menu2_on==1&&hge->Input_GetKeyState(HGEK_1)&&net_user!=1) | |
{menu2_on=2; | |
weapon2_change=0; | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond();} | |
//вход в меню дробовиков | |
if(menu1_on==1&&hge->Input_GetKeyState(HGEK_NUMPAD2)&&net_user!=2) | |
{menu1_on=3; | |
weapon1_change=0; | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond();} | |
if(menu2_on==1&&hge->Input_GetKeyState(HGEK_2)&&net_user!=1) | |
{menu2_on=3; | |
weapon2_change=0; | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond();} | |
//вход в меню SMG | |
if(menu1_on==1&&hge->Input_GetKeyState(HGEK_NUMPAD3)&&net_user!=2) | |
{menu1_on=4;} | |
if(menu2_on==1&&hge->Input_GetKeyState(HGEK_3)&&net_user!=1) | |
{menu2_on=4;} | |
//вход в меню автоматов | |
if(menu1_on==1&&hge->Input_GetKeyState(HGEK_NUMPAD4)&&net_user!=2) | |
{menu1_on=5;} | |
if(menu2_on==1&&hge->Input_GetKeyState(HGEK_4)&&net_user!=1) | |
{menu2_on=5;} | |
//вход в меню пулемётов | |
if(menu1_on==1&&hge->Input_GetKeyState(HGEK_NUMPAD5)&&net_user!=2) | |
{menu1_on=6;} | |
if(menu2_on==1&&hge->Input_GetKeyState(HGEK_5)&&net_user!=1) | |
{menu2_on=6;} | |
//вход в меню гранатомётов | |
if(menu1_on==1&&hge->Input_GetKeyState(HGEK_NUMPAD6)&&net_user!=2) | |
{menu1_on=7;} | |
if(menu2_on==1&&hge->Input_GetKeyState(HGEK_6)&&net_user!=1) | |
{menu2_on=7;} | |
//вход в меню холодного оружия | |
if(menu1_on==1&&hge->Input_GetKeyState(HGEK_NUMPAD8)&&net_user!=2) | |
{menu1_on=9;} | |
if(menu2_on==1&&hge->Input_GetKeyState(HGEK_8)&&net_user!=1) | |
{menu2_on=9;} | |
//апгрейд AK | |
if(menu1_on==5&&hge->Input_GetKeyState(HGEK_NUMPAD1)&&ak_buy==true&&ak_up==false&&net_user!=2) | |
{ | |
if(points1>=cena_up[1]) | |
{ak_up=true; | |
points1-=cena_up[1]; | |
menu1_on=0; | |
weapon1_change=0; | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points1<cena_up[1]) | |
{menu1_on=0; | |
PAUSE=false;} | |
} | |
if(menu2_on==5&&hge->Input_GetKeyState(HGEK_1)&&ak_buy2==true&&ak_up2==false&&net_user!=1) | |
{ | |
if(points2>=cena_up[1]) | |
{ak_up2=true; | |
points2-=cena_up[1]; | |
menu2_on=0; | |
weapon2_change=0; | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points2<cena_up[1]) | |
{menu2_on=0; | |
PAUSE=false;} | |
} | |
//покупка автомата АК | |
if(menu1_on==5&&hge->Input_GetKeyState(HGEK_NUMPAD1)&&ak_buy==false&&net_user!=2) | |
{ | |
if(points1>=cena[0]) | |
{pred_weapon1=N_WEAPON1; | |
oboim[N_WEAPON1]=oboima;//запись кол-ва пуль до покупки | |
N_WEAPON1=0; | |
ak_buy=true; | |
last_weapon1=N_WEAPON1; | |
oboima=oboim[N_WEAPON1]; | |
points1-=cena[0]; | |
if(fn_f2000_buy==false) | |
{avtomat1=0;} | |
menu1_on=0; | |
weapon1_change=0; | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points1<cena[0]) | |
{menu1_on=0; | |
PAUSE=false;} | |
} | |
if(menu2_on==5&&hge->Input_GetKeyState(HGEK_1)&&ak_buy2==false&&net_user!=1) | |
{ | |
if(points2>=cena[0]) | |
{pred_weapon2=N_WEAPON2; | |
oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль до покупки | |
N_WEAPON2=0; | |
ak_buy2=true; | |
last_weapon2=N_WEAPON2; | |
oboima2=oboim2[N_WEAPON2]; | |
points2-=cena[0]; | |
if(fn_f2000_buy2==false) | |
{avtomat2=0;} | |
menu2_on=0; | |
weapon2_change=0; | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points2<cena[0]) | |
{menu2_on=0; | |
PAUSE=false;} | |
} | |
//покупка ПП-19 "Витязь" | |
if(menu1_on==4&&hge->Input_GetKeyState(HGEK_NUMPAD2)&&pp19_buy==false&&net_user!=2) | |
{ | |
if(points1>=cena[2]) | |
{pred_weapon1=N_WEAPON1; | |
oboim[N_WEAPON1]=oboima;//запись кол-ва пуль до покупки | |
N_WEAPON1=2; | |
pp19_buy=true; | |
last_weapon1=N_WEAPON1; | |
oboima=oboim[N_WEAPON1]; | |
points1-=cena[2]; | |
smg1=2; | |
menu1_on=0; | |
weapon1_change=0; | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points1<cena[2]) | |
{menu1_on=0; | |
PAUSE=false;} | |
} | |
if(menu2_on==4&&hge->Input_GetKeyState(HGEK_2)&&pp19_buy2==false&&net_user!=1) | |
{ | |
if(points2>=cena[2]) | |
{pred_weapon2=N_WEAPON2; | |
oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль до покупки | |
N_WEAPON2=2; | |
pp19_buy2=true; | |
last_weapon2=N_WEAPON2; | |
oboima2=oboim2[N_WEAPON2]; | |
points2-=cena[2]; | |
smg2=2; | |
menu2_on=0; | |
weapon2_change=0; | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points2<cena[2]) | |
{menu2_on=0; | |
PAUSE=false;} | |
} | |
//апгрейд FN F-2000 | |
if(menu1_on==5&&hge->Input_GetKeyState(HGEK_NUMPAD2)&&fn_f2000_buy==true&&fn_f2000_up==false&&net_user!=2) | |
{ | |
if(points1>=cena_up[0]) | |
{fn_f2000_up=true; | |
points1-=cena_up[0]; | |
menu1_on=0; | |
weapon1_change=0; | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points1<cena_up[0]) | |
{menu1_on=0; | |
PAUSE=false;} | |
} | |
if(menu2_on==5&&hge->Input_GetKeyState(HGEK_2)&&fn_f2000_buy2==true&&fn_f2000_up2==false&&net_user!=1) | |
{ | |
if(points2>=cena_up[0]) | |
{fn_f2000_up2=true; | |
points2-=cena_up[0]; | |
menu2_on=0; | |
weapon2_change=0; | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points2<cena_up[0]) | |
{menu2_on=0; | |
PAUSE=false;} | |
} | |
//покупка FN F-2000 | |
if(menu1_on==5&&hge->Input_GetKeyState(HGEK_NUMPAD2)&&fn_f2000_buy==false&&net_user!=2) | |
{ | |
if(points1>=cena[3]) | |
{pred_weapon1=N_WEAPON1; | |
oboim[N_WEAPON1]=oboima;//запись кол-ва пуль до покупки | |
N_WEAPON1=3; | |
fn_f2000_buy=true; | |
last_weapon1=N_WEAPON1; | |
oboima=oboim[N_WEAPON1]; | |
points1-=cena[3]; | |
avtomat1=3; | |
menu1_on=0; | |
weapon1_change=0; | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points1<cena[3]) | |
{menu1_on=0; | |
PAUSE=false;} | |
} | |
if(menu2_on==5&&hge->Input_GetKeyState(HGEK_2)&&fn_f2000_buy2==false&&net_user!=1) | |
{ | |
if(points2>=cena[3]) | |
{pred_weapon2=N_WEAPON2; | |
oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль до покупки | |
N_WEAPON2=3; | |
fn_f2000_buy2=true; | |
last_weapon2=N_WEAPON2; | |
oboima2=oboim2[N_WEAPON2]; | |
points2-=cena[3]; | |
avtomat2=3; | |
menu2_on=0; | |
weapon2_change=0; | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points2<cena[3]) | |
{menu2_on=0; | |
PAUSE=false;} | |
} | |
//покупка TT | |
if(menu1_on==2&&weapon1_change!=0&&hge->Input_GetKeyState(HGEK_NUMPAD1)&&tt_buy==false&&net_user!=2) | |
{ | |
if(points1>=cena[4]) | |
{pred_weapon1=N_WEAPON1; | |
oboim[N_WEAPON1]=oboima;//запись кол-ва пуль до покупки | |
N_WEAPON1=4; | |
tt_buy=true; | |
last_weapon1=N_WEAPON1; | |
oboima=oboim[N_WEAPON1]; | |
points1-=cena[4]; | |
if(glok_buy==false&&webley_buy!=true&&fn_five_seven_buy!=true) | |
{pistol1=4;} | |
menu1_on=0; | |
weapon1_change=0; | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points1<cena[4]) | |
{menu1_on=0; | |
PAUSE=false;} | |
} | |
if(menu2_on==2&&weapon2_change!=0&&hge->Input_GetKeyState(HGEK_1)&&tt_buy2==false&&net_user!=1) | |
{ | |
if(points2>=cena[4]) | |
{pred_weapon2=N_WEAPON2; | |
oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль до покупки | |
N_WEAPON2=4; | |
tt_buy2=true; | |
last_weapon2=N_WEAPON2; | |
oboima2=oboim2[N_WEAPON2]; | |
points2-=cena[4]; | |
if(glok_buy2==false&&webley_buy2!=true&&fn_five_seven_buy2!=true) | |
{pistol2=4;} | |
menu2_on=0; | |
weapon2_change=0; | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points2<cena[4]) | |
{menu2_on=0; | |
PAUSE=false;} | |
} | |
//покупка РПК | |
if(menu1_on==6&&weapon1_change!=0&&hge->Input_GetKeyState(HGEK_NUMPAD2)&&rpk_buy==false&&net_user!=2) | |
{ | |
if(points1>=cena[5]) | |
{pred_weapon1=N_WEAPON1; | |
oboim[N_WEAPON1]=oboima;//запись кол-ва пуль до покупки | |
N_WEAPON1=5; | |
rpk_buy=true; | |
last_weapon1=N_WEAPON1; | |
oboima=oboim[N_WEAPON1]; | |
points1-=cena[5]; | |
pulemet1=5; | |
menu1_on=0; | |
weapon1_change=0; | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points1<cena[5]) | |
{menu1_on=0; | |
PAUSE=false;} | |
} | |
if(menu2_on==6&&weapon2_change!=0&&hge->Input_GetKeyState(HGEK_2)&&rpk_buy2==false&&net_user!=1) | |
{ | |
if(points2>=cena[5]) | |
{pred_weapon2=N_WEAPON2; | |
oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль до покупки | |
N_WEAPON2=5; | |
rpk_buy2=true; | |
last_weapon2=N_WEAPON2; | |
oboima2=oboim2[N_WEAPON2]; | |
points2-=cena[5]; | |
pulemet2=5; | |
menu2_on=0; | |
weapon2_change=0; | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points2<cena[5]) | |
{menu2_on=0; | |
PAUSE=false;} | |
} | |
//покупка MAC | |
if(menu1_on==4&&weapon1_change!=0&&hge->Input_GetKeyState(HGEK_NUMPAD1)&&mac_buy==false&&net_user!=2) | |
{ | |
if(points1>=cena[6]) | |
{pred_weapon1=N_WEAPON1; | |
oboim[N_WEAPON1]=oboima;//запись кол-ва пуль до покупки | |
N_WEAPON1=6; | |
mac_buy=true; | |
last_weapon1=N_WEAPON1; | |
oboima=oboim[N_WEAPON1]; | |
points1-=cena[6]; | |
if(pp19_buy==false) | |
{smg1=6;} | |
menu1_on=0; | |
weapon1_change=0; | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points1<cena[6]) | |
{menu1_on=0; | |
PAUSE=false;} | |
} | |
if(menu2_on==4&&weapon2_change!=0&&hge->Input_GetKeyState(HGEK_1)&&mac_buy2==false&&net_user!=1) | |
{ | |
if(points2>=cena[6]) | |
{pred_weapon2=N_WEAPON2; | |
oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль до покупки | |
N_WEAPON2=6; | |
mac_buy2=true; | |
last_weapon2=N_WEAPON2; | |
oboima2=oboim2[N_WEAPON2]; | |
points2-=cena[6]; | |
if(pp19_buy2==false) | |
{smg2=6;} | |
menu2_on=0; | |
weapon2_change=0; | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points2<cena[6]) | |
{menu2_on=0; | |
PAUSE=false;} | |
} | |
//покупка winchester | |
if(menu1_on==3&&weapon1_change!=0&&hge->Input_GetKeyState(HGEK_NUMPAD1)&&winchester_buy==false&&net_user!=2) | |
{ | |
if(points1>=cena[7]) | |
{pred_weapon1=N_WEAPON1; | |
oboim[N_WEAPON1]=oboima;//запись кол-ва пуль до покупки | |
N_WEAPON1=7; | |
winchester_buy=true; | |
last_weapon1=N_WEAPON1; | |
oboima=oboim[N_WEAPON1]; | |
points1-=cena[7]; | |
drob1=7; | |
menu1_on=0; | |
weapon1_change=0; | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points1<cena[7]) | |
{menu1_on=0; | |
PAUSE=false;} | |
} | |
if(menu2_on==3&&weapon2_change!=0&&hge->Input_GetKeyState(HGEK_1)&&winchester_buy2==false&&net_user!=1) | |
{ | |
if(points2>=cena[7]) | |
{pred_weapon2=N_WEAPON2; | |
oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль до покупки | |
N_WEAPON2=7; | |
winchester_buy2=true; | |
last_weapon2=N_WEAPON2; | |
oboima2=oboim2[N_WEAPON2]; | |
points2-=cena[7]; | |
drob2=7; | |
menu2_on=0; | |
weapon2_change=0; | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points2<cena[7]) | |
{menu2_on=0; | |
PAUSE=false;} | |
} | |
//покупка РПК 47 | |
if(menu1_on==6&&weapon1_change!=0&&hge->Input_GetKeyState(HGEK_NUMPAD1)&&rpk47_buy==false&&net_user!=2) | |
{ | |
if(points1>=cena[8]) | |
{pred_weapon1=N_WEAPON1; | |
oboim[N_WEAPON1]=oboima;//запись кол-ва пуль до покупки | |
N_WEAPON1=8; | |
rpk47_buy=true; | |
last_weapon1=N_WEAPON1; | |
oboima=oboim[N_WEAPON1]; | |
points1-=cena[8]; | |
if(rpk_buy==false) | |
{pulemet1=8;} | |
menu1_on=0; | |
weapon1_change=0; | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points1<cena[8]) | |
{menu1_on=0; | |
PAUSE=false;} | |
} | |
if(menu2_on==6&&weapon2_change!=0&&hge->Input_GetKeyState(HGEK_1)&&rpk47_buy2==false&&net_user!=1) | |
{ | |
if(points2>=cena[8]) | |
{pred_weapon2=N_WEAPON2; | |
oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль до покупки | |
N_WEAPON2=8; | |
rpk47_buy2=true; | |
last_weapon2=N_WEAPON2; | |
oboima2=oboim2[N_WEAPON2]; | |
points2-=cena[8]; | |
if(rpk_buy2==false) | |
{pulemet2=8;} | |
menu2_on=0; | |
weapon2_change=0; | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points2<cena[8]) | |
{menu2_on=0; | |
PAUSE=false;} | |
} | |
//покупка GLOK | |
if(menu1_on==2&&weapon1_change!=0&&hge->Input_GetKeyState(HGEK_NUMPAD2)&&glok_buy==false&&net_user!=2) | |
{ | |
if(points1>=cena[9]) | |
{pred_weapon1=N_WEAPON1; | |
oboim[N_WEAPON1]=oboima;//запись кол-ва пуль до покупки | |
N_WEAPON1=9; | |
glok_buy=true; | |
last_weapon1=N_WEAPON1; | |
oboima=oboim[N_WEAPON1]; | |
points1-=cena[9]; | |
if(webley_buy!=true&&fn_five_seven_buy!=true) | |
{pistol1=9;} | |
menu1_on=0; | |
weapon1_change=0; | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points1<cena[9]) | |
{menu1_on=0; | |
PAUSE=false;} | |
} | |
if(menu2_on==2&&weapon2_change!=0&&hge->Input_GetKeyState(HGEK_2)&&glok_buy2==false&&net_user!=1) | |
{ | |
if(points2>=cena[9]) | |
{pred_weapon2=N_WEAPON2; | |
oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль до покупки | |
N_WEAPON2=9; | |
glok_buy2=true; | |
last_weapon2=N_WEAPON2; | |
oboima2=oboim2[N_WEAPON2]; | |
points2-=cena[9]; | |
if(webley_buy2!=true&&fn_five_seven_buy2!=true) | |
{pistol2=9;} | |
menu2_on=0; | |
weapon2_change=0; | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points2<cena[9]) | |
{menu2_on=0; | |
PAUSE=false;} | |
} | |
//покупка РГД-5 | |
if(menu1_on==7&&weapon1_change!=0&&hge->Input_GetKeyState(HGEK_NUMPAD1)&&rgd5_buy==false&&net_user!=2) | |
{ | |
if(points1>=cena[10]) | |
{pred_weapon1=N_WEAPON1; | |
oboim[N_WEAPON1]=oboima;//запись кол-ва пуль до покупки | |
N_WEAPON1=10; | |
rgd5_buy=true; | |
last_weapon1=N_WEAPON1; | |
oboima=oboim[N_WEAPON1]; | |
points1-=cena[10]; | |
if(milkor_buy!=true&&panzer_buy!=true) | |
{granatomet1=10;} | |
menu1_on=0; | |
weapon1_change=0; | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points1<cena[10]) | |
{menu1_on=0; | |
PAUSE=false;} | |
} | |
if(menu2_on==7&&weapon2_change!=0&&hge->Input_GetKeyState(HGEK_1)&&rgd5_buy2==false&&net_user!=1) | |
{ | |
if(points2>=cena[10]) | |
{pred_weapon2=N_WEAPON2; | |
oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль до покупки | |
N_WEAPON2=10; | |
rgd5_buy2=true; | |
last_weapon2=N_WEAPON2; | |
oboima2=oboim2[N_WEAPON2]; | |
points2-=cena[10]; | |
if(milkor_buy2!=true&&panzer_buy2!=true) | |
{granatomet2=10;} | |
menu2_on=0; | |
weapon2_change=0; | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points2<cena[10]) | |
{menu2_on=0; | |
PAUSE=false;} | |
} | |
//покупка катаны | |
if(menu1_on==9&&weapon1_change!=0&&hge->Input_GetKeyState(HGEK_NUMPAD2)&&katana_buy==false&&net_user!=2) | |
{ | |
if(points1>=cena[11]) | |
{pred_weapon1=N_WEAPON1; | |
oboim[N_WEAPON1]=oboima;//запись кол-ва пуль до покупки | |
N_WEAPON1=11; | |
katana_buy=true; | |
last_weapon1=N_WEAPON1; | |
oboima=oboim[N_WEAPON1]; | |
points1-=cena[11]; | |
holodnoe1=11; | |
menu1_on=0; | |
weapon1_change=0; | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points1<cena[11]) | |
{menu1_on=0; | |
PAUSE=false;} | |
} | |
if(menu2_on==9&&weapon2_change!=0&&hge->Input_GetKeyState(HGEK_2)&&katana_buy2==false&&net_user!=1) | |
{ | |
if(points2>=cena[11]) | |
{pred_weapon2=N_WEAPON2; | |
oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль до покупки | |
N_WEAPON2=11; | |
katana_buy2=true; | |
last_weapon2=N_WEAPON2; | |
oboima2=oboim2[N_WEAPON2]; | |
points2-=cena[11]; | |
holodnoe2=11; | |
menu2_on=0; | |
weapon2_change=0; | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points2<cena[11]) | |
{menu2_on=0; | |
PAUSE=false;} | |
} | |
//покупка MILKOR MGL | |
if(menu1_on==7&&weapon1_change!=0&&hge->Input_GetKeyState(HGEK_NUMPAD3)&&milkor_buy==false&&net_user!=2) | |
{ | |
if(points1>=cena[12]) | |
{pred_weapon1=N_WEAPON1; | |
oboim[N_WEAPON1]=oboima;//запись кол-ва пуль до покупки | |
N_WEAPON1=12; | |
milkor_buy=true; | |
last_weapon1=N_WEAPON1; | |
oboima=oboim[N_WEAPON1]; | |
points1-=cena[12]; | |
if(panzer_buy!=true) | |
{granatomet1=12;} | |
menu1_on=0; | |
weapon1_change=0; | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points1<cena[12]) | |
{menu1_on=0; | |
PAUSE=false;} | |
} | |
if(menu2_on==7&&weapon2_change!=0&&hge->Input_GetKeyState(HGEK_3)&&milkor_buy2==false&&net_user!=1) | |
{ | |
if(points2>=cena[12]) | |
{pred_weapon2=N_WEAPON2; | |
oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль до покупки | |
N_WEAPON2=12; | |
milkor_buy2=true; | |
last_weapon2=N_WEAPON2; | |
oboima2=oboim2[N_WEAPON2]; | |
points2-=cena[12]; | |
if(panzer_buy2!=true) | |
{granatomet2=12;} | |
menu2_on=0; | |
weapon2_change=0; | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points2<cena[12]) | |
{menu2_on=0; | |
PAUSE=false;} | |
} | |
//покупка Panzerfaust 3 | |
if(menu1_on==7&&weapon1_change!=0&&hge->Input_GetKeyState(HGEK_NUMPAD5)&&panzer_buy==false&&net_user!=2) | |
{ | |
if(points1>=cena[13]) | |
{pred_weapon1=N_WEAPON1; | |
oboim[N_WEAPON1]=oboima;//запись кол-ва пуль до покупки | |
N_WEAPON1=13; | |
panzer_buy=true; | |
last_weapon1=N_WEAPON1; | |
oboima=oboim[N_WEAPON1]; | |
points1-=cena[13]; | |
granatomet1=13; | |
menu1_on=0; | |
weapon1_change=0; | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points1<cena[13]) | |
{menu1_on=0; | |
PAUSE=false;} | |
} | |
if(menu2_on==7&&weapon2_change!=0&&hge->Input_GetKeyState(HGEK_5)&&panzer_buy2==false&&net_user!=1) | |
{ | |
if(points2>=cena[13]) | |
{pred_weapon2=N_WEAPON2; | |
oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль до покупки | |
N_WEAPON2=13; | |
panzer_buy2=true; | |
last_weapon2=N_WEAPON2; | |
oboima2=oboim2[N_WEAPON2]; | |
points2-=cena[13]; | |
granatomet2=13; | |
menu2_on=0; | |
weapon2_change=0; | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points2<cena[13]) | |
{menu2_on=0; | |
PAUSE=false;} | |
} | |
//покупка Webley MK4 | |
if(menu1_on==2&&weapon1_change!=0&&hge->Input_GetKeyState(HGEK_NUMPAD3)&&webley_buy==false&&net_user!=2) | |
{ | |
if(points1>=cena[14]) | |
{pred_weapon1=N_WEAPON1; | |
oboim[N_WEAPON1]=oboima;//запись кол-ва пуль до покупки | |
N_WEAPON1=14; | |
webley_buy=true; | |
last_weapon1=N_WEAPON1; | |
oboima=oboim[N_WEAPON1]; | |
points1-=cena[14]; | |
if(fn_five_seven_buy!=true) | |
{pistol1=14;} | |
menu1_on=0; | |
weapon1_change=0; | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points1<cena[14]) | |
{menu1_on=0; | |
PAUSE=false;} | |
} | |
if(menu2_on==2&&weapon2_change!=0&&hge->Input_GetKeyState(HGEK_3)&&webley_buy2==false&&net_user!=1) | |
{ | |
if(points2>=cena[14]) | |
{pred_weapon2=N_WEAPON2; | |
oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль до покупки | |
N_WEAPON2=14; | |
webley_buy2=true; | |
last_weapon2=N_WEAPON2; | |
oboima2=oboim2[N_WEAPON2]; | |
points2-=cena[14]; | |
if(fn_five_seven_buy2!=true) | |
{pistol2=14;} | |
menu2_on=0; | |
weapon2_change=0; | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points2<cena[14]) | |
{menu2_on=0; | |
PAUSE=false;} | |
} | |
//покупка FN Five-Seven | |
if(menu1_on==2&&weapon1_change!=0&&hge->Input_GetKeyState(HGEK_NUMPAD4)&&fn_five_seven_buy==false&&net_user!=2) | |
{ | |
if(points1>=cena[15]) | |
{pred_weapon1=N_WEAPON1; | |
oboim[N_WEAPON1]=oboima;//запись кол-ва пуль до покупки | |
N_WEAPON1=15; | |
fn_five_seven_buy=true; | |
last_weapon1=N_WEAPON1; | |
oboima=oboim[N_WEAPON1]; | |
points1-=cena[15]; | |
pistol1=15; | |
menu1_on=0; | |
weapon1_change=0; | |
weapon1_change_time=GetTime(); | |
weapon1_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points1<cena[15]) | |
{menu1_on=0; | |
PAUSE=false;} | |
} | |
if(menu2_on==2&&weapon2_change!=0&&hge->Input_GetKeyState(HGEK_4)&&fn_five_seven_buy2==false&&net_user!=1) | |
{ | |
if(points2>=cena[15]) | |
{pred_weapon2=N_WEAPON2; | |
oboim2[N_WEAPON2]=oboima2;//запись кол-ва пуль до покупки | |
N_WEAPON2=15; | |
fn_five_seven_buy2=true; | |
last_weapon2=N_WEAPON2; | |
oboima2=oboim2[N_WEAPON2]; | |
points2-=cena[15]; | |
pistol2=15; | |
menu2_on=0; | |
weapon2_change=0; | |
weapon2_change_time=GetTime(); | |
weapon2_change_time_sec=GetCurrentSecond(); | |
PAUSE=false; | |
} | |
if(points2<cena[15]) | |
{menu2_on=0; | |
PAUSE=false;} | |
} | |
//если оружие уже есть | |
if(net_user!=2) | |
{ | |
if(menu1_on==5&&hge->Input_GetKeyState(HGEK_NUMPAD1)&&ak_buy==true) | |
{menu1_on=0; | |
PAUSE=false;} | |
if(menu1_on==4&&hge->Input_GetKeyState(HGEK_NUMPAD1)&&mac_buy==true) | |
{menu1_on=0; | |
PAUSE=false;} | |
if(menu1_on==4&&hge->Input_GetKeyState(HGEK_NUMPAD2)&&pp19_buy==true) | |
{menu1_on=0; | |
PAUSE=false;} | |
if(menu1_on==5&&hge->Input_GetKeyState(HGEK_NUMPAD2)&&fn_f2000_buy==true) | |
{menu1_on=0; | |
PAUSE=false;} | |
if(menu1_on==2&&hge->Input_GetKeyState(HGEK_NUMPAD1)&&tt_buy==true&&weapon1_change!=0) | |
{menu1_on=0; | |
PAUSE=false;} | |
if(menu1_on==6&&hge->Input_GetKeyState(HGEK_NUMPAD2)&&rpk_buy==true) | |
{menu1_on=0; | |
PAUSE=false;} | |
if(menu1_on==3&&hge->Input_GetKeyState(HGEK_NUMPAD1)&&winchester_buy==true) | |
{menu1_on=0; | |
PAUSE=false;} | |
if(menu1_on==6&&hge->Input_GetKeyState(HGEK_NUMPAD1)&&rpk47_buy==true) | |
{menu1_on=0; | |
PAUSE=false;} | |
if(menu1_on==2&&hge->Input_GetKeyState(HGEK_NUMPAD2)&&glok_buy==true) | |
{menu1_on=0; | |
PAUSE=false;} | |
if(menu1_on==7&&hge->Input_GetKeyState(HGEK_NUMPAD1)&&rgd5_buy==true) | |
{menu1_on=0; | |
PAUSE=false;} | |
if(menu1_on==9&&hge->Input_GetKeyState(HGEK_NUMPAD2)&&katana_buy==true) | |
{menu1_on=0; | |
PAUSE=false;} | |
if(menu1_on==7&&hge->Input_GetKeyState(HGEK_NUMPAD3)&&milkor_buy==true) | |
{menu1_on=0; | |
PAUSE=false;} | |
if(menu1_on==7&&hge->Input_GetKeyState(HGEK_NUMPAD5)&&panzer_buy==true) | |
{menu1_on=0; | |
PAUSE=false;} | |
if(menu1_on==2&&hge->Input_GetKeyState(HGEK_NUMPAD3)&&webley_buy==true) | |
{menu1_on=0; | |
PAUSE=false;} | |
if(menu1_on==2&&hge->Input_GetKeyState(HGEK_NUMPAD4)&&fn_five_seven_buy==true) | |
{menu1_on=0; | |
PAUSE=false;} | |
} | |
if(net_user!=1) | |
{ | |
if(menu2_on==5&&hge->Input_GetKeyState(HGEK_1)&&ak_buy2==true) | |
{menu2_on=0; | |
PAUSE=false;} | |
if(menu2_on==4&&hge->Input_GetKeyState(HGEK_1)&&mac_buy2==true) | |
{menu2_on=0; | |
PAUSE=false;} | |
if(menu2_on==4&&hge->Input_GetKeyState(HGEK_2)&&pp19_buy2==true) | |
{menu2_on=0; | |
PAUSE=false;} | |
if(menu2_on==5&&hge->Input_GetKeyState(HGEK_2)&&fn_f2000_buy2==true) | |
{menu2_on=0; | |
PAUSE=false;} | |
if(menu2_on==2&&hge->Input_GetKeyState(HGEK_1)&&tt_buy2==true&&weapon2_change==1) | |
{menu2_on=0; | |
PAUSE=false;} | |
if(menu2_on==6&&hge->Input_GetKeyState(HGEK_2)&&rpk_buy2==true) | |
{menu2_on=0; | |
PAUSE=false;} | |
if(menu2_on==3&&hge->Input_GetKeyState(HGEK_1)&&winchester_buy2==true) | |
{menu2_on=0; | |
PAUSE=false;} | |
if(menu2_on==6&&hge->Input_GetKeyState(HGEK_1)&&rpk47_buy2==true) | |
{menu2_on=0; | |
PAUSE=false;} | |
if(menu2_on==2&&hge->Input_GetKeyState(HGEK_2)&&glok_buy2==true) | |
{menu2_on=0; | |
PAUSE=false;} | |
if(menu2_on==7&&hge->Input_GetKeyState(HGEK_1)&&rgd5_buy2==true) | |
{menu2_on=0; | |
PAUSE=false;} | |
if(menu2_on==9&&hge->Input_GetKeyState(HGEK_2)&&katana_buy2==true) | |
{menu2_on=0; | |
PAUSE=false;} | |
if(menu2_on==7&&hge->Input_GetKeyState(HGEK_3)&&milkor_buy2==true) | |
{menu2_on=0; | |
PAUSE=false;} | |
if(menu2_on==7&&hge->Input_GetKeyState(HGEK_5)&&panzer_buy2==true) | |
{menu2_on=0; | |
PAUSE=false;} | |
if(menu2_on==2&&hge->Input_GetKeyState(HGEK_3)&&webley_buy2==true) | |
{menu2_on=0; | |
PAUSE=false;} | |
if(menu2_on==2&&hge->Input_GetKeyState(HGEK_4)&&fn_five_seven_buy2==true) | |
{menu2_on=0; | |
PAUSE=false;} | |
} | |
//----BUY | |
if(weapon1_change==0&&((weapon1_change_time<800&&GetTime()>=weapon1_change_time+200)|| | |
(weapon1_change_time>=800&&GetCurrentSecond()!=weapon1_change_time_sec&&GetTime()>=weapon1_change_time-800))) | |
{weapon1_change=1;} | |
if(weapon2_change==0&&((weapon2_change_time<800&&GetTime()>=weapon2_change_time+200)|| | |
(weapon2_change_time>=800&&GetCurrentSecond()!=weapon2_change_time_sec&&GetTime()>=weapon2_change_time-800))) | |
{weapon2_change=1;} | |
if(RPGMOD==true) | |
{ | |
//ВЫБОР НАВЫКОВ | |
if(lvl1_vibor==true)//ВЫБОР ИГРОКА 1 | |
{ | |
PAUSE=true; | |
player1_myasnik->Stop(); | |
player1_strelok->Stop(); | |
player1_razrushitel->Stop(); | |
player1_tehnik->Stop(); | |
player2_strelok->Stop(); | |
zayac->Stop(); | |
volk->Stop(); | |
medved->Stop(); | |
uhi_a->Stop(); | |
winchester_anime->Stop(); | |
winchester2_anime->Stop(); | |
blood_ssit_psi->Stop(); | |
RPG_healing_psi->Stop(); | |
//блокировка выбора навыков нажатием ентера | |
if(vibor_block==true&&opit_points1>0) | |
{ | |
if(vibor_time_milli<800&&((GetCurrentSecond()==vibor_time&&GetTime()>=vibor_time_milli+200)|| | |
(GetCurrentSecond()!=vibor_time&&GetTime()<vibor_time_milli))) | |
{vibor_block=false;} | |
if(vibor_time_milli>=800&&GetCurrentSecond()!=vibor_time&&GetTime()>=vibor_time_milli-800) | |
{vibor_block=false;} | |
} | |
if(opit_points1==0) | |
{vibor_block=true;} | |
//закрытие блокировки | |
//ВЫБОР НАВЫКА | |
if (hge->Input_GetKeyState(HGEK_DOWN)&&viborchange_block==false&&net_user!=2) | |
{ | |
VIBOR++; | |
viborchange_block=true; | |
viborchange_time=GetCurrentSecond(); | |
viborchange_time_milli=GetTime(); | |
if(VIBOR>3&&CLASSMOD==false) | |
{VIBOR=0;} | |
if(VIBOR>5&&CLASSMOD==true) | |
{VIBOR=0;} | |
} | |
if (hge->Input_GetKeyState(HGEK_UP)&&viborchange_block==false&&net_user!=2) | |
{ | |
VIBOR--; | |
viborchange_block=true; | |
viborchange_time=GetCurrentSecond(); | |
viborchange_time_milli=GetTime(); | |
if(VIBOR<0&&CLASSMOD==false) | |
{VIBOR=3;} | |
if(VIBOR<0&&CLASSMOD==true) | |
{VIBOR=5;} | |
} | |
if (hge->Input_GetKeyState(HGEK_ENTER)&&vibor_block==false&&VIBOR!=0&&net_user!=2) | |
{ | |
vibor_block=true; | |
vibor_time=GetCurrentSecond(); | |
vibor_time_milli=GetTime(); | |
opit_points1--; | |
switch(VIBOR) | |
{case 1: | |
attack1++; | |
break; | |
case 2: | |
skorost1++; | |
speed++; | |
break; | |
case 3: | |
luck1++; | |
break; | |
case 4: | |
switch(class1) | |
{ | |
case 1: | |
mosch1++; | |
break; | |
case 2: | |
tochnost1-=0.01f; | |
break; | |
case 3: | |
vinoslivost1++; | |
break; | |
case 4: | |
modifikacii1++; | |
break; | |
} | |
break; | |
case 5: | |
switch(class1) | |
{ | |
case 1: | |
primanka1++; | |
break; | |
case 2: | |
postroenie1++; | |
break; | |
case 3: | |
vzrivchatka1++; | |
break; | |
case 4: | |
technika1++; | |
break; | |
} | |
break; | |
} | |
} | |
//ЗАКРЫТИЕ | |
//выход | |
if(hge->Input_GetKeyState(HGEK_L)&&lvl_key_block==false&&net_user!=2) | |
{ | |
pause_start_time_sec=GetCurrentSecond(); | |
pause_start_time=GetTime(); | |
lvl_key_block=true; | |
lvl_key_time=GetCurrentSecond(); | |
lvl_key_time_milli=GetTime(); | |
lvl1_vibor=false; | |
PAUSE=false; | |
player1_myasnik->Play(); | |
player1_strelok->Play(); | |
player1_razrushitel->Play(); | |
player1_tehnik->Play(); | |
player2_strelok->Play(); | |
zayac->Play(); | |
volk->Play(); | |
medved->Play(); | |
uhi_a->Play(); | |
winchester_anime->Play(); | |
winchester2_anime->Play(); | |
blood_ssit_psi->Fire(); | |
RPG_healing_psi->Fire(); | |
} | |
//закрытие выхода | |
}//закрытие выбора 1-го игрока | |
if(lvl2_vibor==true)//ВЫБОР ИГРОКА 2 | |
{ | |
PAUSE=true; | |
player1_myasnik->Stop(); | |
player1_strelok->Stop(); | |
player1_razrushitel->Stop(); | |
player1_tehnik->Stop(); | |
player2_strelok->Stop(); | |
zayac->Stop(); | |
volk->Stop(); | |
medved->Stop(); | |
uhi_a->Stop(); | |
winchester_anime->Stop(); | |
winchester2_anime->Stop(); | |
blood_ssit_psi->Stop(); | |
RPG_healing_psi->Stop(); | |
//блокировка выбора навыков нажатием пробела | |
if(vibor_block==true&&opit_points2>0) | |
{ | |
if(vibor_time_milli<800&&((GetCurrentSecond()==vibor_time&&GetTime()>=vibor_time_milli+200)|| | |
(GetCurrentSecond()!=vibor_time&&GetTime()<vibor_time_milli))) | |
{vibor_block=false;} | |
if(vibor_time_milli>=800&&GetCurrentSecond()!=vibor_time&&GetTime()>=vibor_time_milli-800) | |
{vibor_block=false;} | |
} | |
if(opit_points2==0) | |
{vibor_block=true;} | |
//закрытие блокировки | |
//ВЫБОР НАВЫКА | |
if (hge->Input_GetKeyState(HGEK_S)&&viborchange_block==false&&net_user!=1) | |
{ | |
VIBOR++; | |
viborchange_block=true; | |
viborchange_time=GetCurrentSecond(); | |
viborchange_time_milli=GetTime(); | |
if(VIBOR>3&&CLASSMOD==false) | |
{VIBOR=0;} | |
if(VIBOR>5&&CLASSMOD==true) | |
{VIBOR=0;} | |
} | |
if (hge->Input_GetKeyState(HGEK_W)&&viborchange_block==false&&net_user!=1) | |
{ | |
VIBOR--; | |
viborchange_block=true; | |
viborchange_time=GetCurrentSecond(); | |
viborchange_time_milli=GetTime(); | |
if(VIBOR<0&&CLASSMOD==false) | |
{VIBOR=3;} | |
if(VIBOR<0&&CLASSMOD==true) | |
{VIBOR=5;} | |
} | |
if (hge->Input_GetKeyState(HGEK_SPACE)&&vibor_block==false&&VIBOR!=0&&net_user!=1) | |
{ | |
vibor_block=true; | |
vibor_time=GetCurrentSecond(); | |
vibor_time_milli=GetTime(); | |
opit_points2--; | |
switch(VIBOR) | |
{case 1: | |
attack2++; | |
break; | |
case 2: | |
skorost2++; | |
speed2++; | |
break; | |
case 3: | |
luck2++; | |
break; | |
case 4: | |
switch(class2) | |
{ | |
case 1: | |
mosch2++; | |
break; | |
case 2: | |
tochnost2-=0.01f; | |
break; | |
case 3: | |
vinoslivost2++; | |
break; | |
case 4: | |
modifikacii2++; | |
break; | |
} | |
break; | |
case 5: | |
switch(class2) | |
{ | |
case 1: | |
primanka2++; | |
break; | |
case 2: | |
postroenie2++; | |
break; | |
case 3: | |
vzrivchatka2++; | |
break; | |
case 4: | |
technika2++; | |
break; | |
} | |
break; | |
} | |
} | |
//ЗАКРЫТИЕ | |
//выход | |
if(hge->Input_GetKeyState(HGEK_F)&&lvl_key_block==false&&net_user!=1) | |
{ | |
pause_start_time_sec=GetCurrentSecond(); | |
pause_start_time=GetTime(); | |
lvl_key_block=true; | |
lvl_key_time=GetCurrentSecond(); | |
lvl_key_time_milli=GetTime(); | |
lvl2_vibor=false; | |
PAUSE=false; | |
player1_myasnik->Play(); | |
player1_strelok->Play(); | |
player1_razrushitel->Play(); | |
player1_tehnik->Play(); | |
player2_strelok->Play(); | |
zayac->Play(); | |
volk->Play(); | |
medved->Play(); | |
uhi_a->Play(); | |
winchester_anime->Play(); | |
winchester2_anime->Play(); | |
blood_ssit_psi->Fire(); | |
RPG_healing_psi->Fire(); | |
}//закрытие выхода | |
}//закрытие выбора 2-го игрока | |
//блокировка окна выбора | |
if(lvl_key_block==true) | |
{ | |
if(GetCurrentSecond()!=lvl_key_time&&GetTime()>=lvl_key_time_milli) | |
{ | |
lvl_key_block=false; | |
} | |
}//закрытие блокировки | |
//блокировка смены выбора (ВВЕРХ-ВНИЗ) | |
if(viborchange_block==true) | |
{ | |
if(viborchange_time_milli<900&&((GetCurrentSecond()==viborchange_time&&GetTime()>=viborchange_time_milli+100)|| | |
(GetCurrentSecond()!=viborchange_time&&GetTime()<viborchange_time_milli))) | |
{viborchange_block=false;} | |
if(viborchange_time_milli>=900&&GetCurrentSecond()!=viborchange_time&&GetTime()>=viborchange_time_milli-900) | |
{viborchange_block=false;} | |
}//закрытие блокировки | |
}//if RPG_MOD==TRUE | |
if(TEST_REZHIM==false)//тестовый режим | |
{ | |
//ПОРАЖЕНИЕ/ПОБЕДА | |
if((pobeda==true||porazhenie==true)&&PAUSE==false&&menu_aktive==0) | |
{ | |
PAUSE=true; | |
player1_myasnik->Stop(); | |
player1_strelok->Stop(); | |
player1_razrushitel->Stop(); | |
player1_tehnik->Stop(); | |
player2_strelok->Stop(); | |
zayac->Stop(); | |
volk->Stop(); | |
medved->Stop(); | |
uhi_a->Stop(); | |
winchester_anime->Stop(); | |
winchester2_anime->Stop(); | |
blood_ssit_psi->Stop(); | |
RPG_healing_psi->Stop(); | |
pobeda_time=GetCurrentSecond(); | |
} | |
//небольшая пауза | |
if((pobeda==true||porazhenie==true)&&PAUSE==true) | |
{ | |
if((pobeda_time<57&&GetCurrentSecond()==pobeda_time+3)||(pobeda_time>=57&&GetCurrentSecond()==pobeda_time-57)) | |
{PAUSE=false; | |
player1_myasnik->Play(); | |
player1_strelok->Play(); | |
player1_razrushitel->Play(); | |
player1_tehnik->Play(); | |
player2_strelok->Play(); | |
zayac->Play(); | |
volk->Play(); | |
medved->Play(); | |
uhi_a->Play(); | |
winchester_anime->Play(); | |
winchester2_anime->Play(); | |
blood_ssit_psi->Fire(); | |
RPG_healing_psi->Fire(); | |
//ПОКАЗ СТАТИСТИКИ | |
for(int i91=0;i91<=N_KILLS;i91++) | |
{ | |
//1 игрок | |
if(ubijstva[i91].player==1) | |
{ | |
if(ubijstva[i91].vrag==1) | |
{kills_zayac++; | |
if(ubijstva[i91].bezuh==true) | |
{kills_zayac_bezuh++;} | |
if(ubijstva[i91].bezboshki==true) | |
{kills_zayac_bezboshki++;} | |
if(ubijstva[i91].vschiii==true) | |
{kills_zayac_vschiii++;}} | |
if(ubijstva[i91].vrag==2) | |
{kills_volk++;} | |
if(ubijstva[i91].vrag==3) | |
{kills_medved++;} | |
}//1 игрок | |
//2 игрок | |
if(ubijstva[i91].player==2) | |
{ | |
if(ubijstva[i91].vrag==1) | |
{kills2_zayac++; | |
if(ubijstva[i91].bezuh==true) | |
{kills2_zayac_bezuh++;} | |
if(ubijstva[i91].bezboshki==true) | |
{kills2_zayac_bezboshki++;} | |
if(ubijstva[i91].vschiii==true) | |
{kills2_zayac_vschiii++;}} | |
if(ubijstva[i91].vrag==2) | |
{kills2_volk++;} | |
if(ubijstva[i91].vrag==3) | |
{kills2_medved++;} | |
}//2 игрок | |
}//закрытие просчёта убийств | |
procent_kills_zayac_bezuh=(float)kills_zayac_bezuh/(float)kills_zayac*100; | |
procent_kills_zayac_bezboshki=(float)kills_zayac_bezboshki*100/(float)kills_zayac; | |
procent_kills_zayac_vschiii=(float)kills_zayac_vschiii*100/(float)kills_zayac; | |
procent_kills2_zayac_bezuh=(float)kills2_zayac_bezuh*100/(float)kills2_zayac; | |
procent_kills2_zayac_bezboshki=(float)kills2_zayac_bezboshki*100/(float)kills2_zayac; | |
procent_kills2_zayac_vschiii=(float)kills2_zayac_vschiii*100/(float)kills2_zayac; | |
menu_aktive=-5; | |
} | |
} | |
//ПОРАЖЕНИЕ/ПОБЕДА | |
}//если не в тестовом режиме | |
if (hge->Input_GetKeyState(HGEK_ESCAPE)) //ВЫХОД В МЕНЮЮЮЮЮЮЮЮЮЮЮ | |
{ menu->DelCtrl(1); | |
menu->DelCtrl(2); | |
menu->DelCtrl(3); | |
menu->DelCtrl(4); | |
menu->DelCtrl(5); | |
menu->DelCtrl(6); | |
menu->AddCtrl(new hgeGUIMenuItem(1,menu_font,menu_sound,menu_choose,600,200,0.0f,"Продолжить")); | |
menu->AddCtrl(new hgeGUIMenuItem(2,menu_font,menu_sound,menu_choose,600,240,0.0f,"НоваЯ Игра")); | |
menu->AddCtrl(new hgeGUIMenuItem(3,menu_font,menu_sound,menu_choose,600,280,0.0f,"Опции")); | |
menu->AddCtrl(new hgeGUIMenuItem(4,menu_font,menu_sound,menu_choose,600,320,0.0f,"Инфо")); | |
menu->AddCtrl(new hgeGUIMenuItem(5,menu_font,menu_sound,menu_choose,600,360,0.0f,"Авторы")); | |
menu->AddCtrl(new hgeGUIMenuItem(6,menu_font,menu_sound,menu_choose,600,400,0.0f,"Выход")); | |
menu_aktive=1; | |
PAUSE=true; | |
menu->SetFocus(1); | |
menu->Enter(); | |
pause_start_time_sec=GetCurrentSecond(); | |
pause_start_time=GetTime(); | |
} | |
}//меню не активно | |
//ТЕСТОВЫЙ РЕЖИМ | |
if (hge->Input_GetKeyState(HGEK_T)&&TEST_REZHIM==false&&net_user!=2) | |
{TEST_REZHIM=true; | |
points1+=1000; | |
points2+=1000;} | |
if (hge->Input_GetKeyState(HGEK_CTRL)&&hge->Input_GetKeyState(HGEK_T)&&TEST_REZHIM==true) | |
{TEST_REZHIM=false;} | |
//ТЕСТОВЫЙ РЕЖИМ | |
if((PAUSE==true||menu_aktive!=0)&&game_start==1) | |
{ | |
if(GetCurrentSecond()!=pause_start_time_sec&&pause_time_minus==false) | |
{pause_time_minus=true; | |
pause_start_time_sec=GetCurrentSecond();} | |
if(pause_time_minus==true) | |
{pause_time_sec++; | |
pause_time_minus=false;} | |
} | |
// Continue execution | |
return false; | |
} | |
//---------------------------------------------------------------------------- | |
// This function will be called by HGE when | |
// the application window should be redrawn. | |
// Put your rendering code here. | |
bool RenderFunc() | |
{ | |
float delta=hge->Timer_GetDelta(); | |
player1_strelok->Update(delta); | |
player1_gogranata_ruka1->Update(delta); | |
player1_gogranata_ruka2->Update(delta); | |
player1_myasnik->Update(delta); | |
player1_razrushitel->Update(delta); | |
player1_myasnik_ruka1_udar_sleva->Update(delta); | |
player1_ruka1_pistol->Update(delta); | |
player1_ruka1_vintovka->Update(delta); | |
player1_ruka1_winch->Update(delta); | |
player2_strelok->Update(delta); | |
player2_gogranata_ruka1->Update(delta); | |
player2_gogranata_ruka2->Update(delta); | |
player2_myasnik_ruka1_udar_sleva->Update(delta); | |
player2_ruka1_pistol->Update(delta); | |
player2_ruka1_vintovka->Update(delta); | |
zayac->Update(delta); | |
volk->Update(delta); | |
medved->Update(delta); | |
ptenec->Update(delta); | |
ptenec_wait->Update(delta); | |
uhi_a->Update(delta); | |
winchester_anime->Update(delta); | |
winchester2_anime->Update(delta); | |
katana1_anime->Update(delta); | |
katana2_anime->Update(delta); | |
blood_ssit_psi->Update(delta); | |
RPG_healing_psi->Update(delta); | |
vzriv_grena_psi->Update(delta); | |
vzriv_ogon_grena_psi->Update(delta); | |
//hge->Gfx_BeginScene(blood_target); | |
//hge->Gfx_Clear(0); | |
//hge->Gfx_EndScene(); | |
hge->Gfx_BeginScene(); | |
hge->Gfx_Clear(0); | |
if(menu_aktive==0) | |
{ | |
for(int i43=0;i43<=31;i43++) | |
{ | |
switch (FON[i43].type) | |
{case 1: | |
fon1->Render(X-FON[i43].x+Xz,FON[i43].y); | |
break; | |
case 2: | |
fon2->Render(X-FON[i43].x+Xz,FON[i43].y); | |
break; | |
case 3: | |
fon3->Render(X-FON[i43].x+Xz,FON[i43].y); | |
break; | |
} | |
} | |
polosa_finish->Render(X-lvl1_lenght,0); | |
polosa_finish->Render(X-lvl1_lenght,477); | |
oblaka1->Render(-800+X/12+Xz,0); | |
alkash1->Render(X-300+Xz,600); | |
if(peregruzheno==0)//ЩИ | |
{for(int i=0;i<=N_TRUPS;i++) | |
{ | |
Render_trups(i); | |
}}//закрытие щей | |
if(peregruzheno==1)//ЩИ | |
{ | |
if(N_TRUPS<NUMBER_TRUPS) | |
{ | |
for(int i95=N_TRUPS+1;i95<=NUMBER_TRUPS;i95++) | |
{Render_trups(i95);} | |
for(int i95=0;i95<=N_TRUPS;i95++) | |
{ Render_trups(i95);} | |
}//если N_TRUPS<NUMBER_TRUPS | |
if(N_TRUPS>=NUMBER_TRUPS) | |
{ | |
for(int i95=0;i95<=NUMBER_TRUPS;i95++) | |
{Render_trups(i95);} | |
} | |
}//закрытие щей if(peregruzheno==1) | |
for(int i11=0;i11<=N_BLOOD;i11++)//КРОВЯК | |
{ | |
if(krovyakObjects[i11].akt!=0) | |
{ | |
if(krovyakObjects[i11].seed!=0) | |
{ | |
switch(krovyakObjects[i11].seed) | |
{case 1: | |
case 101:krovyak1->RenderStretch(krovyakObjects[i11].x1+Xz,krovyakObjects[i11].y1, | |
krovyakObjects[i11].x2+Xz,krovyakObjects[i11].y2); | |
break; | |
case 2: | |
case 102:krovyak2->RenderStretch(krovyakObjects[i11].x1+Xz,krovyakObjects[i11].y1, | |
krovyakObjects[i11].x2+Xz,krovyakObjects[i11].y2); | |
break; | |
case 3: | |
case 103:krovyak3->RenderStretch(krovyakObjects[i11].x1+Xz,krovyakObjects[i11].y1, | |
krovyakObjects[i11].x2+Xz,krovyakObjects[i11].y2); | |
break; | |
case 1001: | |
switch (krovyakObjects[i11].faza) | |
{case 1: | |
krovyak_vzriv1->SetTexture(blood_vzriv1_a_tex); | |
break; | |
case 2: | |
krovyak_vzriv1->SetTexture(blood_vzriv1_b_tex); | |
break; | |
case 3: | |
krovyak_vzriv1->SetTexture(blood_vzriv1_c_tex); | |
break; | |
case 4: | |
krovyak_vzriv1->SetTexture(blood_vzriv1_d_tex); | |
break; | |
case 5: | |
krovyak_vzriv1->SetTexture(blood_vzriv1_e_tex); | |
break;} | |
krovyak_vzriv1->Render(krovyakObjects[i11].x1+Xz,krovyakObjects[i11].y1); | |
break; | |
case 1002: | |
switch (krovyakObjects[i11].faza) | |
{case 1: | |
ptenec_boshka_vzriv1->SetTexture(ptenec_boshka_vzriv1_a_tex); | |
break; | |
case 2: | |
ptenec_boshka_vzriv1->SetTexture(ptenec_boshka_vzriv1_b_tex); | |
break; | |
case 3: | |
ptenec_boshka_vzriv1->SetTexture(ptenec_boshka_vzriv1_c_tex); | |
break; | |
case 4: | |
ptenec_boshka_vzriv1->SetTexture(ptenec_boshka_vzriv1_d_tex); | |
break; | |
case 5: | |
ptenec_boshka_vzriv1->SetTexture(ptenec_boshka_vzriv1_e_tex); | |
break;} | |
ptenec_boshka_vzriv1->RenderEx(krovyakObjects[i11].x1+Xz,krovyakObjects[i11].y1,0,krovyakObjects[i11].xstart,0); | |
break; | |
} | |
} | |
if(krovyakObjects[i11].seed==0) | |
{krovyak_shot1->RenderStretch(krovyakObjects[i11].x1+Xz,krovyakObjects[i11].y1, | |
krovyakObjects[i11].x2+Xz,krovyakObjects[i11].y2);} | |
} | |
} | |
//БОЛЬШОЙ СЛОЁНЫЙ ПИРОГ!!!!!!!!!!!! | |
for(int I=0;I<=N_Y;I++) | |
{ | |
switch(A[I].type) | |
{ | |
//ЗАЙЦЫ | |
case 1: | |
zayac->SetTexture(zayac_go_tex); | |
if(vragi1Objects[A[I].id].bezuh==1)//если заяц покоцан | |
{zayac->SetTexture(zayac_go_bezuh_tex);}//то он без ушей | |
if(vragi1Objects[A[I].id].ubit!=1) | |
{zayac->Render(vragi1Objects[A[I].id].v1x+Xz,vragi1Objects[A[I].id].v1y);}//вывод живых зайцев на экран | |
break; | |
//ВОЛКИ | |
case 2: | |
if(vragi2Objects[A[I].id].ubit!=1) | |
{volk->SetColor(0xFFAAAAAA); | |
volk->Render(vragi2Objects[A[I].id].v2x+Xz,vragi2Objects[A[I].id].v2y); | |
if(vragi2Objects[A[I].id].RPG_healer!=0&&RPGMOD==true)//хилер | |
{RPG_healer->RenderEx(vragi2Objects[A[I].id].v2x+50+Xz,vragi2Objects[A[I].id].v2y+8,0,0.35f,0);} | |
if(vragi2Objects[A[I].id].RPG_illusionist!=0&&RPGMOD==true)//иллюзионист | |
{RPG_illusionist->SetColor(0xFFAAAAAA); | |
RPG_illusionist->RenderEx(vragi2Objects[A[I].id].v2x+50+Xz,vragi2Objects[A[I].id].v2y+8,0,0.35f,0); | |
//иллюзии | |
if(vragi2Objects[A[I].id].ill1_active!=0) | |
{volk->SetColor(0xFFAAAAAA); | |
volk->Render(vragi2Objects[A[I].id].ill1_x+Xz,vragi2Objects[A[I].id].ill1_y); | |
RPG_illusionist->SetColor(0xFFAAAAAA); | |
RPG_illusionist->RenderEx(vragi2Objects[A[I].id].ill1_x+50+Xz,vragi2Objects[A[I].id].ill1_y+8,0,0.35f,0);} | |
if(vragi2Objects[A[I].id].ill2_active!=0) | |
{volk->SetColor(0xFFAAAAAA); | |
volk->Render(vragi2Objects[A[I].id].ill2_x+Xz,vragi2Objects[A[I].id].ill2_y); | |
RPG_illusionist->SetColor(0xFFAAAAAA); | |
RPG_illusionist->RenderEx(vragi2Objects[A[I].id].ill2_x+50+Xz,vragi2Objects[A[I].id].ill2_y+8,0,0.35f,0);} | |
if(vragi2Objects[A[I].id].ill1_active==0) | |
{volk->SetColor(0xFFAAAAAA); | |
volk->Render(vragi2Objects[A[I].id].ill1_x+Xz,vragi2Objects[A[I].id].ill1_y); | |
RPG_illusionist->SetColor(0xFFAAAAAA); | |
RPG_illusionist->RenderEx(vragi2Objects[A[I].id].ill1_x+50+Xz,vragi2Objects[A[I].id].ill1_y+8,0,0.35f,0);} | |
if(vragi2Objects[A[I].id].ill2_active==0) | |
{volk->SetColor(0xFFAAAAAA); | |
volk->Render(vragi2Objects[A[I].id].ill2_x+Xz,vragi2Objects[A[I].id].ill2_y); | |
RPG_illusionist->SetColor(0xFFAAAAAA); | |
RPG_illusionist->RenderEx(vragi2Objects[A[I].id].ill2_x+50+Xz,vragi2Objects[A[I].id].ill2_y+8,0,0.35f,0);} | |
//иллюзии | |
} | |
if(vragi2Objects[A[I].id].RPG_teleporter!=0&&RPGMOD==true)//телепортер | |
{RPG_teleporter->RenderEx(vragi2Objects[A[I].id].v2x+50+Xz,vragi2Objects[A[I].id].v2y+8,0,0.35f,0);} | |
if(vragi2Objects[A[I].id].RPG_healer!=0&&vragi2Objects[A[I].id].health<125&& | |
RPGMOD==true) | |
{RPG_healing_psi->Render();} | |
}//вывод живых волков на экран | |
break; | |
//МЯСО!!!!!!!!! | |
case 3: | |
if(myasko[A[I].id].akt==1) | |
{ | |
switch(myasko[A[I].id].seed) | |
{case 1:krovyak_myaso1->RenderEx(myasko[A[I].id].x1+Xz,myasko[A[I].id].y1,myasko[A[I].id].gradus,myasko[A[I].id].scaleX,0); | |
break; | |
case 2:krovyak_myaso2->RenderEx(myasko[A[I].id].x1+Xz,myasko[A[I].id].y1,myasko[A[I].id].gradus,myasko[A[I].id].scaleX,0); | |
break; | |
case 3:krovyak_myaso3->RenderEx(myasko[A[I].id].x1+Xz,myasko[A[I].id].y1,myasko[A[I].id].gradus,myasko[A[I].id].scaleX,0); | |
break; | |
case 4:krovyak_myaso4->RenderEx(myasko[A[I].id].x1+Xz,myasko[A[I].id].y1,myasko[A[I].id].gradus,myasko[A[I].id].scaleX,0); | |
break; | |
case 5:krovyak_myaso5->RenderEx(myasko[A[I].id].x1+Xz,myasko[A[I].id].y1,myasko[A[I].id].gradus,myasko[A[I].id].scaleX,0); | |
break; | |
case 6:zayac_boshka_bezuh->RenderEx(myasko[A[I].id].x1+Xz,myasko[A[I].id].y1,myasko[A[I].id].gradus,1,0); | |
break; | |
case 7:krovyak_zayac_rebra1->RenderEx(myasko[A[I].id].x1+Xz,myasko[A[I].id].y1,myasko[A[I].id].gradus,1,0); | |
break; | |
case 8:krovyak_zayac_rebra2->RenderEx(myasko[A[I].id].x1+Xz,myasko[A[I].id].y1,myasko[A[I].id].gradus,1,0); | |
break; | |
case 9:krovyak_zayac_noga1->RenderEx(myasko[A[I].id].x1+Xz,myasko[A[I].id].y1,myasko[A[I].id].gradus,1,0); | |
break; | |
case 10:krovyak_zayac_noga2->RenderEx(myasko[A[I].id].x1+Xz,myasko[A[I].id].y1,myasko[A[I].id].gradus,1,0); | |
break; | |
case 11:krovyak_zayac_noga3->RenderEx(myasko[A[I].id].x1+Xz,myasko[A[I].id].y1,myasko[A[I].id].gradus,1,0); | |
break; | |
case 12:krovyak_zayac_noga4->RenderEx(myasko[A[I].id].x1+Xz,myasko[A[I].id].y1,myasko[A[I].id].gradus,1,0); | |
break; | |
} | |
} | |
break; | |
//УШИ | |
case 4: | |
if(uhiObjects[A[I].id].akt==1) | |
{uhi->RenderEx(uhiObjects[A[I].id].uhix+Xz,uhiObjects[A[I].id].uhiy,uhiObjects[A[I].id].gradus,1,0);} | |
break; | |
//БОШКИ | |
case 5: | |
if(boshkiObjects[A[I].id].akt==1) | |
{ | |
blood_ssit_psi->Render(); | |
if(boshkiObjects[A[I].id].vrag==1) | |
{ | |
if(boshkiObjects[A[I].id].bezuh==0) | |
{zayac_boshka->RenderEx(boshkiObjects[A[I].id].bx+Xz,boshkiObjects[A[I].id].by,boshkiObjects[A[I].id].gradus,1,0);} | |
if(boshkiObjects[A[I].id].bezuh==1) | |
{zayac_boshka_bezuh->RenderEx(boshkiObjects[A[I].id].bx+Xz,boshkiObjects[A[I].id].by,boshkiObjects[A[I].id].gradus,1,0);} | |
} | |
if(boshkiObjects[A[I].id].vrag==3) | |
{medved_boshka->RenderEx(boshkiObjects[A[I].id].bx+Xz,boshkiObjects[A[I].id].by,boshkiObjects[A[I].id].gradus,1,0);} | |
} | |
break; | |
//БОНУСЫ | |
case 6: | |
if(bonusiObjects[A[I].id].akt==1&&bonusiObjects[A[I].id].visible==true) | |
{ | |
switch(bonusiObjects[A[I].id].type) | |
{ | |
case 0: | |
bonus_this->RenderStretch(bonusiObjects[A[I].id].x1+Xz,bonusiObjects[A[I].id].y1,bonusiObjects[A[I].id].x2+Xz,bonusiObjects[A[I].id].y2); | |
break; | |
case 1: | |
bonus_shilo->RenderStretch(bonusiObjects[A[I].id].x1+Xz,bonusiObjects[A[I].id].y1,bonusiObjects[A[I].id].x2+Xz,bonusiObjects[A[I].id].y2); | |
break;} | |
} | |
break; | |
//ОБЪЕКТЫ | |
case 7: | |
switch(Objects[A[I].id].type) | |
{case 0: | |
znak_polputi->Render(X-Objects[A[I].id].x+Xz,Objects[A[I].id].y); | |
break; | |
case 1: | |
penek1->Render(X-Objects[A[I].id].x+Xz,Objects[A[I].id].y); | |
break; | |
case 2: | |
derevo1->Render(X-Objects[A[I].id].x+Xz,Objects[A[I].id].y); | |
break;} | |
break; | |
//ГИЛЬЗЫ | |
case 8: | |
if(gilziObjects[A[I].id].akt==1) | |
{ | |
switch(gilziObjects[A[I].id].type) | |
{case 1: | |
gilza_pist->Render(gilziObjects[A[I].id].x+Xz,gilziObjects[A[I].id].y); | |
break; | |
case 2: | |
gilza_avt->Render(gilziObjects[A[I].id].x+Xz,gilziObjects[A[I].id].y); | |
break; | |
} | |
} | |
break; | |
//КРОВЯК | |
/*case 9: | |
if(krovyakObjects[A[I].id].akt!=0) | |
{ | |
if(krovyakObjects[A[I].id].seed!=0) | |
{ | |
switch(krovyakObjects[A[I].id].seed) | |
{case 1: | |
case 101:krovyak1->RenderStretch(krovyakObjects[A[I].id].x1,krovyakObjects[A[I].id].y1, | |
krovyakObjects[A[I].id].x2,krovyakObjects[A[I].id].y2); | |
break; | |
case 2: | |
case 102:krovyak2->RenderStretch(krovyakObjects[A[I].id].x1,krovyakObjects[A[I].id].y1, | |
krovyakObjects[A[I].id].x2,krovyakObjects[A[I].id].y2); | |
break; | |
case 3: | |
case 103:krovyak3->RenderStretch(krovyakObjects[A[I].id].x1,krovyakObjects[A[I].id].y1, | |
krovyakObjects[A[I].id].x2,krovyakObjects[A[I].id].y2); | |
break; | |
} | |
} | |
if(krovyakObjects[A[I].id].seed==0) | |
{krovyak_shot1->RenderStretch(krovyakObjects[A[I].id].x1,krovyakObjects[A[I].id].y1, | |
krovyakObjects[A[I].id].x2,krovyakObjects[A[I].id].y2);} | |
} | |
break; | |
*/ | |
//ГРЕНКИ | |
case 9: | |
if(granati[A[I].id].akt==1) | |
{ | |
switch(granati[A[I].id].type) | |
{case 1: | |
rgd5->RenderEx(granati[A[I].id].x+Xz,granati[A[I].id].y,granati[A[I].id].gradus,0.7f,0); | |
break; | |
case 2: | |
granata_podstvol->RenderEx(granati[A[I].id].x+Xz,granati[A[I].id].y,granati[A[I].id].gradus,0.18f,0); | |
break; | |
case 3: | |
granata_panzer->RenderEx(granati[A[I].id].x+Xz,granati[A[I].id].y,granati[A[I].id].gradus,0.66f,0); | |
break; | |
} | |
} | |
break; | |
//МЕДВЕДИ | |
case 10: | |
if(vragi3Objects[A[I].id].ubit!=1) | |
{medved->SetColor(0xFFFFFFFF); | |
medved->RenderEx(vragi3Objects[A[I].id].v3x+Xz,vragi3Objects[A[I].id].v3y,0,1,0); | |
if(vragi3Objects[A[I].id].RPG_healer!=0&&RPGMOD==true)//хилер | |
{RPG_healer->RenderEx(vragi3Objects[A[I].id].v3x+70+Xz,vragi3Objects[A[I].id].v3y+130,0,0.5f,0);} | |
if(vragi3Objects[A[I].id].RPG_healer!=0&&vragi3Objects[A[I].id].health<400&& | |
RPGMOD==true) | |
{RPG_healing_psi->Render();} | |
if(vragi3Objects[A[I].id].RPG_illusionist!=0&&RPGMOD==true)//иллюзионист | |
{RPG_illusionist->SetColor(0xFFFFFFFF); | |
RPG_illusionist->RenderEx(vragi3Objects[A[I].id].v3x+70+Xz,vragi3Objects[A[I].id].v3y+130,0,0.5f,0); | |
//иллюзии | |
if(vragi3Objects[A[I].id].ill1_active!=0) | |
{medved->SetColor(0xFFFFFFFF); | |
medved->Render(vragi3Objects[A[I].id].ill1_x+Xz,vragi3Objects[A[I].id].ill1_y); | |
RPG_illusionist->SetColor(0xFFFFFFFF); | |
RPG_illusionist->RenderEx(vragi3Objects[A[I].id].ill1_x+70+Xz,vragi3Objects[A[I].id].ill1_y+130,0,0.5f,0);} | |
if(vragi3Objects[A[I].id].ill2_active!=0) | |
{medved->SetColor(0xFFFFFFFF); | |
medved->Render(vragi3Objects[A[I].id].ill2_x+Xz,vragi3Objects[A[I].id].ill2_y); | |
RPG_illusionist->SetColor(0xFFFFFFFF); | |
RPG_illusionist->RenderEx(vragi3Objects[A[I].id].ill2_x+70+Xz,vragi3Objects[A[I].id].ill2_y+130,0,0.5f,0);} | |
if(vragi3Objects[A[I].id].ill1_active==0) | |
{medved->SetColor(0xFFFFFFFF); | |
medved->Render(vragi3Objects[A[I].id].ill1_x+Xz,vragi3Objects[A[I].id].ill1_y); | |
RPG_illusionist->SetColor(0xFFFFFFFF); | |
RPG_illusionist->RenderEx(vragi3Objects[A[I].id].ill1_x+70+Xz,vragi3Objects[A[I].id].ill1_y+130,0,0.5f,0);} | |
if(vragi3Objects[A[I].id].ill2_active==0) | |
{medved->SetColor(0xFFFFFFFF); | |
medved->Render(vragi3Objects[A[I].id].ill2_x+Xz,vragi3Objects[A[I].id].ill2_y); | |
RPG_illusionist->SetColor(0xFFFFFFFF); | |
RPG_illusionist->RenderEx(vragi3Objects[A[I].id].ill2_x+70+Xz,vragi3Objects[A[I].id].ill2_y+130,0,0.5f,0);} | |
//иллюзии | |
} | |
if(vragi3Objects[A[I].id].RPG_teleporter!=0&&RPGMOD==true)//телепортер | |
{RPG_teleporter->RenderEx(vragi3Objects[A[I].id].v3x+70+Xz,vragi3Objects[A[I].id].v3y+130,0,0.5f,0);} | |
}//вывод живых медведей на экран | |
break; | |
case 11://ПТЕНЦЫ!!! | |
if(vragi4Objects[A[I].id].ubit!=1) | |
{ | |
if(vragi4Objects[A[I].id].wait!=1) | |
{ptenec->RenderEx(vragi4Objects[A[I].id].v4x+Xz,vragi4Objects[A[I].id].v4y,0,0.7f,0);} | |
if(vragi4Objects[A[I].id].wait==1) | |
{ptenec_wait->RenderEx(vragi4Objects[A[I].id].v4x+Xz,vragi4Objects[A[I].id].v4y,0,0.7f,0);} | |
} | |
if(vragi4Objects[A[I].id].polet==1) | |
{if(vragi4Objects[A[I].id].chetvert_n==1) | |
{ptenec_trup1->SetTexture(ptenec_vpolete_tex);} | |
if(vragi4Objects[A[I].id].chetvert_n==-1) | |
{ptenec_trup1->SetTexture(ptenec_vpolete_reverse_tex);} | |
ptenec_trup1->RenderEx(vragi4Objects[A[I].id].v4x+Xz,vragi4Objects[A[I].id].v4y,vragi4Objects[A[I].id].gradus,0.7f,0);} | |
break; | |
//ПЕРВЫЙ ИГРОК И ВСЯ ЕГО УТВАРЬ | |
case 101: | |
if(aktivatorp!=0) | |
{p->Render(px+Xz,py);//пуля1 | |
p1d1->Render(p1d1x+Xz,p1d1y); | |
p1d2->Render(p1d2x+Xz,p1d2y); | |
p1d3->Render(p1d3x+Xz,p1d3y); | |
p1d4->Render(p1d4x+Xz,p1d4y);} | |
switch(N_WEAPON1) | |
{case 0 : | |
if(ak_up==false) | |
{ | |
if(ak_tex==0) | |
{ak47->SetTexture(ak);} | |
if(ak_tex==1) | |
{ak47->SetTexture(ak2);} | |
} | |
if(ak_up==true) | |
{ | |
if(ak_tex==0) | |
{ak47->SetTexture(ak_upgraded);} | |
if(ak_tex==1) | |
{ak47->SetTexture(ak2_upgraded);} | |
} | |
ak47->RenderStretch(weapon_x1[N_WEAPON1]+Xz,weapon_y1[N_WEAPON1],weapon_x2[N_WEAPON1]+Xz,weapon_y2[N_WEAPON1]); | |
break; | |
case 1 :pm->RenderStretch(weapon_x1[N_WEAPON1]+Xz,weapon_y1[N_WEAPON1],weapon_x2[N_WEAPON1]+Xz,weapon_y2[N_WEAPON1]); | |
//ruka_pistol->RenderStretch(ruk1x1+Xz,ruk1y1,ruk1x2+Xz,ruk1y2); | |
break; | |
case 2:pp19_vityaz->RenderStretch(weapon_x1[N_WEAPON1]+Xz,weapon_y1[N_WEAPON1],weapon_x2[N_WEAPON1]+Xz,weapon_y2[N_WEAPON1]); | |
break; | |
case 3: | |
if(fn_f2000_up==false) | |
{fn_f2000->SetTexture(w_fn_f2000_tex);} | |
if(fn_f2000_up==true) | |
{fn_f2000->SetTexture(w_fn_f2000_upgraded_tex);} | |
fn_f2000->RenderStretch(weapon_x1[N_WEAPON1]+Xz,weapon_y1[N_WEAPON1],weapon_x2[N_WEAPON1]+Xz,weapon_y2[N_WEAPON1]); | |
break; | |
case 4:tt->RenderStretch(weapon_x1[N_WEAPON1]+Xz,weapon_y1[N_WEAPON1],weapon_x2[N_WEAPON1]+Xz,weapon_y2[N_WEAPON1]); | |
//ruka_pistol->RenderStretch(ruk1x1+Xz,ruk1y1,ruk1x2+Xz,ruk1y2); | |
break; | |
case 5:rpk->RenderStretch(weapon_x1[N_WEAPON1]+Xz,weapon_y1[N_WEAPON1],weapon_x2[N_WEAPON1]+Xz,weapon_y2[N_WEAPON1]); | |
break; | |
case 6:mac->RenderStretch(weapon_x1[N_WEAPON1]+Xz,weapon_y1[N_WEAPON1],weapon_x2[N_WEAPON1]+Xz,weapon_y2[N_WEAPON1]); | |
break; | |
case 7:winchester_anime->RenderStretch(weapon_x1[N_WEAPON1]+Xz,weapon_y1[N_WEAPON1],weapon_x2[N_WEAPON1]+Xz,weapon_y2[N_WEAPON1]); | |
break; | |
case 8:rpk47->RenderStretch(weapon_x1[N_WEAPON1]+Xz,weapon_y1[N_WEAPON1],weapon_x2[N_WEAPON1]+Xz,weapon_y2[N_WEAPON1]); | |
break; | |
case 9:glok->RenderStretch(weapon_x1[N_WEAPON1]+Xz,weapon_y1[N_WEAPON1],weapon_x2[N_WEAPON1]+Xz,weapon_y2[N_WEAPON1]); | |
//ruka_pistol->RenderStretch(ruk1x1+Xz,ruk1y1,ruk1x2+Xz,ruk1y2); | |
break; | |
case 10: | |
if(oboima>0) | |
rgd5->RenderEx(x+9+Xz,y-44,0,0.7f,0); | |
if(class1==1) | |
{player1_gogranata_ruka2->SetTexture(player1_myasnik_gogranata_ruka2_tex);} | |
if(class1==2) | |
{player1_gogranata_ruka2->SetTexture(player1_strelok_gogranata_ruka2_tex);} | |
if(class1==3) | |
{player1_gogranata_ruka2->SetTexture(player1_razrushitel_gogranata_ruka2_tex);} | |
if(class1==4) | |
{player1_gogranata_ruka2->SetTexture(player1_tehnik_gogranata_ruka2_tex);} | |
player1_gogranata_ruka2->Render(x-48+Xz, y-48); | |
break; | |
case 12:milkor->RenderStretch(weapon_x1[N_WEAPON1]+Xz,weapon_y1[N_WEAPON1],weapon_x2[N_WEAPON1]+Xz,weapon_y2[N_WEAPON1]); | |
break; | |
case 13: | |
if(oboima!=0) | |
{panzer->SetTexture(w_panzer_tex);} | |
if(oboima<=0) | |
{panzer->SetTexture(w_panzer_out_tex);} | |
panzer->RenderStretch(weapon_x1[N_WEAPON1]+Xz,weapon_y1[N_WEAPON1],weapon_x2[N_WEAPON1]+Xz,weapon_y2[N_WEAPON1]); | |
break; | |
case 14:webley->RenderStretch(weapon_x1[N_WEAPON1]+Xz,weapon_y1[N_WEAPON1],weapon_x2[N_WEAPON1]+Xz,weapon_y2[N_WEAPON1]); | |
break; | |
case 15:fn_five_seven->RenderStretch(weapon_x1[N_WEAPON1]+Xz,weapon_y1[N_WEAPON1],weapon_x2[N_WEAPON1]+Xz,weapon_y2[N_WEAPON1]); | |
break; | |
} | |
switch (class1) | |
{ | |
case 1: | |
player1_myasnik->Render(x-48+Xz, y-48); | |
break; | |
case 2: | |
player1_strelok->Render(x-48+Xz, y-48); | |
break; | |
case 3: | |
player1_razrushitel->Render(x-48+Xz, y-48); | |
break; | |
case 4: | |
player1_tehnik->Render(x-48+Xz, y-48); | |
break; | |
} | |
if(N_WEAPON1==1||N_WEAPON1==4||N_WEAPON1==9||N_WEAPON1==14||N_WEAPON1==15) | |
{ | |
switch (class1) | |
{ | |
case 1: | |
player1_ruka1_pistol->SetTexture(player1_myasnik_ruka1_pistol_tex); | |
break; | |
case 2: | |
player1_ruka1_pistol->SetTexture(player1_strelok_ruka1_pistol_tex); | |
break; | |
case 3: | |
player1_ruka1_pistol->SetTexture(player1_razrushitel_ruka1_pistol_tex); | |
break; | |
case 4: | |
player1_ruka1_pistol->SetTexture(player1_tehnik_ruka1_pistol_tex); | |
break; | |
} | |
player1_ruka1_pistol->Render(x-48+Xz,y-48); | |
} | |
if(N_WEAPON1==0||N_WEAPON1==2||N_WEAPON1==3||N_WEAPON1==5||N_WEAPON1==8) | |
{ | |
switch (class1) | |
{ | |
case 1: | |
player1_ruka1_vintovka->SetTexture(player1_myasnik_ruka1_vintovka_tex); | |
break; | |
case 2: | |
player1_ruka1_vintovka->SetTexture(player1_strelok_ruka1_vintovka_tex); | |
break; | |
case 3: | |
player1_ruka1_vintovka->SetTexture(player1_razrushitel_ruka1_vintovka_tex); | |
break; | |
case 4: | |
player1_ruka1_vintovka->SetTexture(player1_tehnik_ruka1_vintovka_tex); | |
break; | |
} | |
if(N_WEAPON1!=2&&N_WEAPON1!=8) | |
{player1_ruka1_vintovka->Render(x-48+Xz, y-48);} | |
if(N_WEAPON1==2||N_WEAPON1==8) | |
{player1_ruka1_vintovka->Render(x-48+Xz, y-45);} | |
} | |
if(N_WEAPON1==7) | |
{ | |
switch(class1) | |
{ | |
case 1: | |
player1_ruka1_winch->SetTexture(player1_myasnik_ruka1_winch_tex); | |
break; | |
case 2: | |
player1_ruka1_winch->SetTexture(player1_strelok_ruka1_winch_tex); | |
break; | |
case 3: | |
player1_ruka1_winch->SetTexture(player1_razrushitel_ruka1_winch_tex); | |
break; | |
case 4: | |
player1_ruka1_winch->SetTexture(player1_tehnik_ruka1_winch_tex); | |
break; | |
} | |
player1_ruka1_winch->Render(x-48+Xz-17, y-45); | |
} | |
if(N_WEAPON1==10) | |
{ | |
switch(class1) | |
{ | |
case 1: | |
player1_gogranata_ruka1->SetTexture(player1_myasnik_gogranata_ruka1_tex); | |
break; | |
case 2: | |
player1_gogranata_ruka1->SetTexture(player1_strelok_gogranata_ruka1_tex); | |
break; | |
case 3: | |
player1_gogranata_ruka1->SetTexture(player1_razrushitel_gogranata_ruka1_tex); | |
break; | |
case 4: | |
player1_gogranata_ruka1->SetTexture(player1_tehnik_gogranata_ruka1_tex); | |
break; | |
} | |
player1_gogranata_ruka1->Render(x-48+Xz, y-48); | |
} | |
if(N_WEAPON1==11) | |
{ | |
if(katana1_anime->GetFrame()!=2) | |
{katana1_anime->Render(x-75+Xz, y-80);} | |
if(katana1_anime->GetFrame()==2) | |
{katana1_anime->Render(x-95+Xz, y-82);} | |
if(class1==1) | |
{player1_myasnik_ruka1_udar_sleva->SetTexture(player1_myasnik_ruka1_udar_sleva_tex);} | |
if(class1==2) | |
{player1_myasnik_ruka1_udar_sleva->SetTexture(player1_strelok_ruka1_udar_sleva_tex);} | |
if(class1==3) | |
{player1_myasnik_ruka1_udar_sleva->SetTexture(player1_razrushitel_ruka1_udar_sleva_tex);} | |
if(class1==4) | |
{player1_myasnik_ruka1_udar_sleva->SetTexture(player1_tehnik_ruka1_udar_sleva_tex);} | |
player1_myasnik_ruka1_udar_sleva->Render(x-48+Xz, y-48);} | |
pulya->Render(a+Xz, b); | |
break; | |
//ВТОРОЙ ИГРОК И ВСЯ ЕГО УТВАРЬ | |
case 102: | |
if(player2_aktive==1)//если игрок 2 играет | |
{ | |
if(aktivatorp2!=0) | |
{p2->Render(p2x+Xz,p2y);//пуля2 | |
p2d1->Render(p2d1x+Xz,p2d1y); | |
p2d2->Render(p2d2x+Xz,p2d2y); | |
p2d3->Render(p2d3x+Xz,p2d3y); | |
p2d4->Render(p2d4x+Xz,p2d4y);} | |
switch(N_WEAPON2) | |
{case 0 : | |
if(ak_up2==false) | |
{ | |
if(ak2_tex==0) | |
{ak472->SetTexture(ak);} | |
if(ak2_tex==1) | |
{ak472->SetTexture(ak2);} | |
} | |
if(ak_up2==true) | |
{ | |
if(ak2_tex==0) | |
{ak472->SetTexture(ak_upgraded);} | |
if(ak2_tex==1) | |
{ak472->SetTexture(ak2_upgraded);} | |
} | |
ak472->RenderStretch(weapon2_x1[N_WEAPON2]+Xz,weapon2_y1[N_WEAPON2],weapon2_x2[N_WEAPON2]+Xz,weapon2_y2[N_WEAPON2]); | |
break; | |
case 1 :pm2->RenderStretch(weapon2_x1[N_WEAPON2]+Xz,weapon2_y1[N_WEAPON2],weapon2_x2[N_WEAPON2]+Xz,weapon2_y2[N_WEAPON2]); | |
break; | |
case 2:pp19_vityaz2->RenderStretch(weapon2_x1[N_WEAPON2]+Xz,weapon2_y1[N_WEAPON2],weapon2_x2[N_WEAPON2]+Xz,weapon2_y2[N_WEAPON2]); | |
break; | |
case 3: | |
if(fn_f2000_up2==false) | |
{fn_f20002->SetTexture(w_fn_f2000_tex);} | |
if(fn_f2000_up2==true) | |
{fn_f20002->SetTexture(w_fn_f2000_upgraded_tex);} | |
fn_f20002->RenderStretch(weapon2_x1[N_WEAPON2]+Xz,weapon2_y1[N_WEAPON2],weapon2_x2[N_WEAPON2]+Xz,weapon2_y2[N_WEAPON2]); | |
break; | |
case 4:tt2->RenderStretch(weapon2_x1[N_WEAPON2]+Xz,weapon2_y1[N_WEAPON2],weapon2_x2[N_WEAPON2]+Xz,weapon2_y2[N_WEAPON2]); | |
break; | |
case 5:rpk2->RenderStretch(weapon2_x1[N_WEAPON2]+Xz,weapon2_y1[N_WEAPON2],weapon2_x2[N_WEAPON2]+Xz,weapon2_y2[N_WEAPON2]); | |
break; | |
case 6:mac2->RenderStretch(weapon2_x1[N_WEAPON2]+Xz,weapon2_y1[N_WEAPON2],weapon2_x2[N_WEAPON2]+Xz,weapon2_y2[N_WEAPON2]); | |
break; | |
case 7:winchester2_anime->RenderStretch(weapon2_x1[N_WEAPON2]+Xz,weapon2_y1[N_WEAPON2],weapon2_x2[N_WEAPON2]+Xz,weapon2_y2[N_WEAPON2]); | |
break; | |
case 8:rpk472->RenderStretch(weapon2_x1[N_WEAPON2]+Xz,weapon2_y1[N_WEAPON2],weapon2_x2[N_WEAPON2]+Xz,weapon2_y2[N_WEAPON2]); | |
break; | |
case 9:glok2->RenderStretch(weapon2_x1[N_WEAPON2]+Xz,weapon2_y1[N_WEAPON2],weapon2_x2[N_WEAPON2]+Xz,weapon2_y2[N_WEAPON2]); | |
break; | |
case 10: | |
if(oboima2>0) | |
rgd52->RenderEx(x2+9+Xz,y2-44,0,0.7f,0); | |
player2_gogranata_ruka2->Render(x2-48+Xz, y2-48); | |
break; | |
case 12:milkor2->RenderStretch(weapon2_x1[N_WEAPON2]+Xz,weapon2_y1[N_WEAPON2],weapon2_x2[N_WEAPON2]+Xz,weapon2_y2[N_WEAPON2]); | |
break; | |
case 13: | |
if(oboima2!=0) | |
{panzer2->SetTexture(w_panzer_tex);} | |
if(oboima2<=0) | |
{panzer2->SetTexture(w_panzer_out_tex);} | |
panzer2->RenderStretch(weapon2_x1[N_WEAPON2]+Xz,weapon2_y1[N_WEAPON2],weapon2_x2[N_WEAPON2]+Xz,weapon2_y2[N_WEAPON2]); | |
break; | |
case 14:webley2->RenderStretch(weapon2_x1[N_WEAPON2]+Xz,weapon2_y1[N_WEAPON2],weapon2_x2[N_WEAPON2]+Xz,weapon2_y2[N_WEAPON2]); | |
break; | |
case 15:fn_five_seven2->RenderStretch(weapon2_x1[N_WEAPON2]+Xz,weapon2_y1[N_WEAPON2],weapon2_x2[N_WEAPON2]+Xz,weapon2_y2[N_WEAPON2]); | |
break; | |
} | |
player2_strelok->Render(x2-48+Xz, y2-48); | |
if(N_WEAPON2==1||N_WEAPON2==4||N_WEAPON2==9||N_WEAPON2==14||N_WEAPON2==15) | |
{ | |
//switch (class1) | |
//{ | |
//case 1: | |
//player1_ruka1_pistol->SetTexture(player2_myasnik_ruka1_pistol_tex); | |
//break; | |
//case 2: | |
player2_ruka1_pistol->SetTexture(player2_strelok_ruka1_pistol_tex); | |
//break; | |
//case 3: | |
//player1_ruka1_pistol->SetTexture(player2_razrushitel_ruka1_pistol_tex); | |
//break; | |
//case 4: | |
//player1_ruka1_pistol->SetTexture(player2_tehnik_ruka1_pistol_tex); | |
//break; | |
//} | |
player2_ruka1_pistol->Render(x2-48+Xz,y2-48); | |
} | |
if(N_WEAPON2==0||N_WEAPON2==2||N_WEAPON2==3||N_WEAPON2==5||N_WEAPON2==8) | |
{ | |
if(N_WEAPON2!=2&&N_WEAPON2!=8) | |
{player2_ruka1_vintovka->Render(x2-48+Xz, y2-48);} | |
if(N_WEAPON2==2||N_WEAPON2==8) | |
{player2_ruka1_vintovka->Render(x2-48+Xz, y2-45);} | |
} | |
if(N_WEAPON2==10) | |
{player2_gogranata_ruka1->Render(x2-48+Xz, y2-48);} | |
if(N_WEAPON2==11) | |
{ | |
if(katana2_anime->GetFrame()!=2) | |
{katana2_anime->Render(x2-75+Xz, y2-80);} | |
if(katana2_anime->GetFrame()==2) | |
{katana2_anime->Render(x2-95+Xz, y2-82);} | |
player2_myasnik_ruka1_udar_sleva->Render(x2-48+Xz, y2-48); | |
} | |
pulya2->Render(a2+Xz, b2); | |
}//закрытие if player2_aktive==1 | |
break; | |
default: | |
break; | |
} | |
}//ЗАКРЫТИЕ ПИРОЖКА...СМАЧНОГО!!! | |
vzriv_grena_psi->Render(); | |
vzriv_ogon_grena_psi->Render(); | |
//КОЛ-ВО ПАТРОНОВ----------игрока 1 | |
if((reload==false||N_WEAPON1==7||N_WEAPON1==12)&&N_WEAPON1!=11) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "%d",oboima); | |
if((N_WEAPON1==3&&fn_f2000_up==true)||(N_WEAPON1==0&&ak_up==true)) | |
{oboima_text->printf(x-22+Xz, y-28, HGETEXT_CENTER, "+%d",oboima_alt[N_WEAPON1]);} | |
} | |
//КОЛ-ВО ПАТРОНОВ----------игрока 2 | |
if((reload2==false||N_WEAPON2==7||N_WEAPON2==12)&&player2_aktive==1&&N_WEAPON2!=11) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "%d",oboima2); | |
if((N_WEAPON2==3&&fn_f2000_up2==true)||(N_WEAPON2==0&&ak_up2==true)) | |
{oboima_text->printf(x2-22+Xz, y2-28, HGETEXT_CENTER, "+%d",oboima2_alt[N_WEAPON2]);} | |
} | |
//ВЫВОД ПРОГРЕССА ПЕРЕЗАРЯДКИ ИГРОКА 1 | |
if(reload==true) | |
{ | |
if(N_WEAPON1==0||N_WEAPON1==3||N_WEAPON1==5||N_WEAPON1==8) | |
{ | |
if(perez_time>reload_time[N_WEAPON1]) //если секунда от 0 до 57 | |
{ | |
if(perez_akt==perez_time-reload_time[N_WEAPON1]) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[- ]");} | |
if((reload_time[N_WEAPON1]%2==0&&perez_akt==perez_time-(reload_time[N_WEAPON1]-reload_time[N_WEAPON1]/2))|| | |
(reload_time[N_WEAPON1]%2!=0&&perez_akt==perez_time-(reload_time[N_WEAPON1]-((reload_time[N_WEAPON1]-1)/2)))|| | |
(reload_time[N_WEAPON1]%2!=0&&perez_akt==perez_time-(reload_time[N_WEAPON1]-((reload_time[N_WEAPON1]+1)/2)))) | |
{ | |
oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli&&(perez_akt==perez_time-1||perez_akt==59)) | |
{ak_perez2();} | |
} | |
if(perez_akt==perez_time&&perez_akt_milli<perez_time_milli) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[---]");} | |
} | |
} | |
if(N_WEAPON1==0||N_WEAPON1==3) | |
{ | |
if(perez_time==0) //если секунда 58 | |
{ | |
if(perez_akt==58) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[- ]");} | |
if(perez_akt==59) | |
{ | |
oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli){ak_perez2();} | |
} | |
if(perez_akt==0&&perez_akt_milli<perez_time_milli) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[---]");} | |
} | |
if(perez_time==1) //если секунда 59 | |
{ | |
if(perez_akt==59) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[- ]");} | |
if(perez_akt==0) | |
{ | |
oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli){ak_perez2();} | |
} | |
if(perez_akt==1&&perez_akt_milli<perez_time_milli) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[---]");} | |
} | |
if(perez_time==2) //если секунда 0 | |
{ | |
if(perez_akt==0) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[- ]");} | |
if(perez_akt==1) | |
{ | |
oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli){ak_perez2();} | |
} | |
if(perez_akt==2&&perez_akt_milli<perez_time_milli) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[---]");} | |
} | |
} | |
if(N_WEAPON1==1||N_WEAPON1==4||N_WEAPON1==9||N_WEAPON1==14||N_WEAPON1==15) | |
{ | |
if((perez_akt==perez_time-1&&perez_time!=0)||(perez_akt==59&&perez_time==0)) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[- ]");} | |
if(perez_time>0) //если секунда меньше 59 | |
{ | |
if(perez_time_milli<700&&perez_akt_milli>perez_time_milli+300|| | |
perez_time_milli>=700&&perez_akt_milli>perez_time_milli-700) | |
{ oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[-- ]");} | |
if(perez_time_milli<500&&perez_akt_milli==perez_time_milli+500|| | |
perez_time_milli>=500&&perez_akt==perez_time&&perez_akt_milli==perez_time_milli-500) | |
{ | |
if(N_WEAPON1!=14) | |
{pm_perez2();} | |
if(N_WEAPON1==14) | |
{webley_perez2();} | |
} | |
if(perez_akt==perez_time&&perez_akt_milli<perez_time_milli) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[---]"); | |
} | |
} | |
if(perez_time==0) //если секуда 59-я | |
{ | |
if(perez_time_milli<700&&perez_akt_milli>perez_time_milli+300|| | |
perez_time_milli>=700&&perez_akt_milli>perez_time_milli-700) | |
{ oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[-- ]");} | |
if(perez_time_milli<500&&perez_akt_milli==perez_time_milli+500|| | |
perez_time_milli>=500&&perez_akt==perez_time&&perez_akt_milli==perez_time_milli-500) | |
{if(N_WEAPON1!=14) | |
{pm_perez2();} | |
if(N_WEAPON1==14) | |
{webley_perez2();} | |
} | |
if(perez_akt==perez_time-59&&perez_akt_milli<perez_time_milli) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[---]");} | |
} | |
} | |
if(N_WEAPON1==2||N_WEAPON1==6) | |
{ | |
if(perez_time>=2&&perez_akt==perez_time-2) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[- ]");} | |
if((perez_time==0&perez_akt==58)||(perez_time==1&perez_akt==59)) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[- ]");} | |
if(perez_time>=1 | |
&&perez_akt==perez_time-1&&perez_akt_milli<=perez_time_milli) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli) | |
{ | |
if(N_WEAPON1==2) | |
{pp19_perez2();} | |
if(N_WEAPON1==6) | |
{mac_perez2();} | |
}} | |
if(perez_time==0 | |
&&perez_akt==59&&perez_akt_milli<=perez_time_milli) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli) | |
{ | |
if(N_WEAPON1==2) | |
{pp19_perez2();} | |
if(N_WEAPON1==6) | |
{mac_perez2();} | |
}} | |
if((perez_time>=1 | |
&&perez_akt==perez_time-1&&perez_akt_milli>=perez_time_milli)||perez_akt==perez_time) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[---]");} | |
if((perez_time==0 | |
&&perez_akt==59&&perez_akt_milli>=perez_time_milli)||perez_akt==0) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[---]");} | |
} | |
if(N_WEAPON1==5||N_WEAPON1==8) | |
{ | |
if(perez_time==0) //если секунда 57 | |
{ | |
if(perez_akt==57) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[- ]");} | |
if(perez_akt==58) | |
{ | |
oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli){ak_perez2();} | |
} | |
if(perez_akt==59&&perez_akt_milli<perez_time_milli) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[---]");} | |
} | |
if(perez_time==1) //если секунда 58 | |
{ | |
if(perez_akt==58) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[- ]");} | |
if(perez_akt==59) | |
{ | |
oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli){ak_perez2();} | |
} | |
if(perez_akt==0&&perez_akt_milli<perez_time_milli) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[---]");} | |
} | |
if(perez_time==2) //если секунда 59 | |
{ | |
if(perez_akt==59) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[- ]");} | |
if(perez_akt==0) | |
{ | |
oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli){ak_perez2();} | |
} | |
if(perez_akt==1&&perez_akt_milli<perez_time_milli) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[---]");} | |
} | |
if(perez_time==3) //если секунда 0 | |
{ | |
if(perez_akt==0) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[- ]");} | |
if(perez_akt==1) | |
{ | |
oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli){ak_perez2();} | |
} | |
if(perez_akt==2&&perez_akt_milli<perez_time_milli) | |
{oboima_text->printf(x-35+Xz, y-28, HGETEXT_CENTER, "[---]");} | |
} | |
} | |
} //ЗАКРЫТИЕ ВЫВОДА ПРОГРЕССА ПЕРЕЗАРЯДКИ ИГРОКА 1 | |
//ВЫВОД ПРОГРЕССА ПЕРЕЗАРЯДКИ ИГРОКА 2 | |
if(reload2==true) | |
{ | |
if(N_WEAPON2==0||N_WEAPON2==3||N_WEAPON2==5||N_WEAPON2==8) | |
{ | |
if(perez_time2>reload_time[N_WEAPON2]) //если секунда от 0 до 57 | |
{ | |
if(perez_akt==perez_time2-reload_time[N_WEAPON2]) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[- ]");} | |
if((reload_time[N_WEAPON2]%2==0&&perez_akt==perez_time2-(reload_time[N_WEAPON2]-reload_time[N_WEAPON2]/2))|| | |
(reload_time[N_WEAPON2]%2!=0&&perez_akt==perez_time2-(reload_time[N_WEAPON2]-((reload_time[N_WEAPON2]-1)/2)))|| | |
(reload_time[N_WEAPON2]%2!=0&&perez_akt==perez_time2-(reload_time[N_WEAPON2]-((reload_time[N_WEAPON2]+1)/2)))) | |
{ | |
oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli2&&(perez_akt==perez_time2-1||perez_akt==59)) | |
{ak2_perez2();} | |
} | |
if(perez_akt==perez_time2&&perez_akt_milli<perez_time_milli2) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[---]");} | |
} | |
} | |
if(N_WEAPON2==0||N_WEAPON2==3) | |
{ | |
if(perez_time2==0) //если секунда 58 | |
{ | |
if(perez_akt==58) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[- ]");} | |
if(perez_akt==59) | |
{ | |
oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli2){ak2_perez2();} | |
} | |
if(perez_akt==0&&perez_akt_milli<perez_time_milli2) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[---]");} | |
} | |
if(perez_time2==1) //если секунда 59 | |
{ | |
if(perez_akt==59) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[- ]");} | |
if(perez_akt==0) | |
{ | |
oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli2){ak2_perez2();} | |
} | |
if(perez_akt==1&&perez_akt_milli<perez_time_milli2) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[---]");} | |
} | |
if(perez_time2==2) //если секунда 0 | |
{ | |
if(perez_akt==0) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[- ]");} | |
if(perez_akt==1) | |
{ | |
oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli2){ak2_perez2();} | |
} | |
if(perez_akt==2&&perez_akt_milli<perez_time_milli2) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[---]");} | |
} | |
} | |
if(N_WEAPON2==1||N_WEAPON2==4||N_WEAPON2==9||N_WEAPON2==14||N_WEAPON2==15) | |
{ | |
if((perez_akt==perez_time2-1&&perez_time2!=0)||(perez_akt==59&&perez_time2==0)) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[- ]");} | |
if(perez_time2>0) //если секунда меньше 59 | |
{ | |
if(perez_time_milli2<700&&perez_akt_milli>perez_time_milli2+300|| | |
perez_time_milli2>=700&&perez_akt_milli>perez_time_milli2-700) | |
{ oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[-- ]");} | |
if(perez_time_milli2<500&&perez_akt_milli==perez_time_milli2+500|| | |
perez_time_milli2>=500&&perez_akt==perez_time2&&perez_akt_milli==perez_time_milli2-500) | |
{if(N_WEAPON2!=14) | |
{pm2_perez2();} | |
if(N_WEAPON2==14) | |
{webley2_perez2();}} | |
if(perez_akt==perez_time2&&perez_akt_milli<perez_time_milli2) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[---]"); | |
} | |
} | |
if(perez_time2==0) //если секуда 59-я | |
{ | |
if(perez_time_milli2<700&&perez_akt_milli>perez_time_milli2+300|| | |
perez_time_milli2>=700&&perez_akt_milli>perez_time_milli2-700) | |
{ oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[-- ]");} | |
if(perez_time_milli2<500&&perez_akt_milli==perez_time_milli2+500|| | |
perez_time_milli2>=500&&perez_akt==perez_time2&&perez_akt_milli==perez_time_milli2-500) | |
{if(N_WEAPON2!=14) | |
{pm2_perez2();} | |
if(N_WEAPON2==14) | |
{webley2_perez2();}} | |
if(perez_akt==perez_time2-59&&perez_akt_milli<perez_time_milli2) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[---]");} | |
} | |
} | |
if(N_WEAPON2==2||N_WEAPON2==6) | |
{ | |
if(perez_time2>=2&&perez_akt==perez_time2-2) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[- ]");} | |
if((perez_time2==0&perez_akt==58)||(perez_time2==1&perez_akt==59)) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[- ]");} | |
if(perez_time2>=1 | |
&&perez_akt==perez_time2-1&&perez_akt_milli<=perez_time_milli2) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli2) | |
{ | |
if(N_WEAPON2==2) | |
{pp192_perez2();} | |
if(N_WEAPON2==6) | |
{mac2_perez2();} | |
}} | |
if(perez_time2==0 | |
&&perez_akt==59&&perez_akt_milli<=perez_time_milli2) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli2) | |
{ | |
if(N_WEAPON2==2) | |
{pp192_perez2();} | |
if(N_WEAPON2==6) | |
{mac2_perez2();} | |
}} | |
if((perez_time2>=1 | |
&&perez_akt==perez_time2-1&&perez_akt_milli>=perez_time_milli2)||perez_akt==perez_time2) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[---]");} | |
if((perez_time2==0 | |
&&perez_akt==59&&perez_akt_milli>=perez_time_milli2)||perez_akt==0) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[---]");} | |
} | |
if(N_WEAPON2==5||N_WEAPON2==8) | |
{ | |
if(perez_time2==0) //если секунда 57 | |
{ | |
if(perez_akt==57) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[- ]");} | |
if(perez_akt==58) | |
{ | |
oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli2){ak2_perez2();} | |
} | |
if(perez_akt==59&&perez_akt_milli<perez_time_milli2) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[---]");} | |
} | |
if(perez_time2==1) //если секунда 58 | |
{ | |
if(perez_akt==58) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[- ]");} | |
if(perez_akt==59) | |
{ | |
oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli2){ak2_perez2();} | |
} | |
if(perez_akt==0&&perez_akt_milli<perez_time_milli2) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[---]");} | |
} | |
if(perez_time2==2) //если секунда 59 | |
{ | |
if(perez_akt==59) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[- ]");} | |
if(perez_akt==0) | |
{ | |
oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli2){ak2_perez2();} | |
} | |
if(perez_akt==1&&perez_akt_milli<perez_time_milli2) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[---]");} | |
} | |
if(perez_time2==3) //если секунда 0 | |
{ | |
if(perez_akt==0) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[- ]");} | |
if(perez_akt==1) | |
{ | |
oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[-- ]"); | |
if(perez_akt_milli==perez_time_milli2){ak2_perez2();} | |
} | |
if(perez_akt==2&&perez_akt_milli<perez_time_milli2) | |
{oboima_text->printf(x2-35+Xz, y2-28, HGETEXT_CENTER, "[---]");} | |
} | |
} | |
} //ЗАКРЫТИЕ ВЫВОДА ПРОГРЕССА ПЕРЕЗАРЯДКИ ИГРОКА 2 | |
//ОПТИЧЕСКИЕ ПРИЦЕЛЫ-------- | |
if(N_WEAPON1==3) | |
{optika1->RenderEx(x-374+Xz,y-9,0,1,0); | |
optika1->RenderEx(x-380+Xz,y-9,0,1,0); | |
optika1->RenderEx(x-375+Xz,y-13,M_PI_2,1,0); | |
optika1->RenderEx(x-375+Xz,y-7,M_PI_2,1,0); | |
} | |
if(N_WEAPON1==12) | |
{optika1->RenderEx(x-374+Xz,y-49,0,1,0); | |
optika1->RenderEx(x-380+Xz,y-49,0,1,0); | |
optika1->RenderEx(x-375+Xz,y-53,M_PI_2,1,0); | |
optika1->RenderEx(x-375+Xz,y-47,M_PI_2,1,0); | |
} | |
if(N_WEAPON1==13) | |
{optika1->RenderEx(x-374+Xz,y-16,0,1,0); | |
optika1->RenderEx(x-380+Xz,y-16,0,1,0); | |
optika1->RenderEx(x-375+Xz,y-20,M_PI_2,1,0); | |
optika1->RenderEx(x-375+Xz,y-14,M_PI_2,1,0); | |
} | |
if(N_WEAPON2==3) | |
{optika1->RenderEx(x2-374+Xz,y2-9,0,1,0); | |
optika1->RenderEx(x2-380+Xz,y2-9,0,1,0); | |
optika1->RenderEx(x2-375+Xz,y2-13,M_PI_2,1,0); | |
optika1->RenderEx(x2-375+Xz,y2-7,M_PI_2,1,0); | |
} | |
if(N_WEAPON2==12) | |
{optika1->RenderEx(x2-374+Xz,y2-49,0,1,0); | |
optika1->RenderEx(x2-380+Xz,y2-49,0,1,0); | |
optika1->RenderEx(x2-375+Xz,y2-53,M_PI_2,1,0); | |
optika1->RenderEx(x2-375+Xz,y2-47,M_PI_2,1,0); | |
} | |
if(N_WEAPON2==13) | |
{optika1->RenderEx(x2-374+Xz,y2-16,0,1,0); | |
optika1->RenderEx(x2-380+Xz,y2-16,0,1,0); | |
optika1->RenderEx(x2-375+Xz,y2-20,M_PI_2,1,0); | |
optika1->RenderEx(x2-375+Xz,y2-14,M_PI_2,1,0); | |
} | |
//-------------------------- | |
//тексты бонуса | |
for(int i35=0;i35<=N_BONUSTEXT;i35++) | |
{ | |
if(bonustextiObjects[i35].akt==1) | |
{ | |
switch(bonustextiObjects[i35].type) | |
{ | |
case 0: | |
bonus_this_text->Render(bonustextiObjects[i35].x+Xz,bonustextiObjects[i35].y); | |
break; | |
case 1: | |
bonus_shilo_text->Render(bonustextiObjects[i35].x+Xz,bonustextiObjects[i35].y); | |
break; | |
case 2: | |
bonus_daun_text->Render(bonustextiObjects[i35].x+Xz,bonustextiObjects[i35].y); | |
break; | |
case 3: | |
bonus_ulitka_text->Render(bonustextiObjects[i35].x+Xz,bonustextiObjects[i35].y); | |
break; | |
case 4: | |
bonus_umnik_text->Render(bonustextiObjects[i35].x+Xz,bonustextiObjects[i35].y); | |
break; | |
} | |
} | |
}//закрытие текста бонуса | |
info->printf(5,10, HGETEXT_LEFT, "dt:%.3f\nFPS:%d", | |
hge->Timer_GetDelta(), hge->Timer_GetFPS()); | |
info->printf(5,50,HGETEXT_LEFT,"Перегрузка: %d/%d",N_TRUPS,MAX_TRUPS); | |
info->printf(5,70,HGETEXT_LEFT,"Врагов: %d",N_ZAYAC+1+N_VOLK+1+N_MEDVED+1+N_PTENEC+1); | |
//время игры | |
if(perez_akt<10&leveltime<10) | |
{info->printf(600,30,HGETEXT_CENTER,"0%d:0%d",leveltime,perez_akt);} | |
if(perez_akt<10&leveltime>=10) | |
{info->printf(600,30,HGETEXT_CENTER,"%d:0%d",leveltime,perez_akt);} | |
if(perez_akt>=10&&leveltime<10) | |
{info->printf(600,30,HGETEXT_CENTER,"0%d:%d",leveltime,perez_akt);} | |
if(perez_akt>=10&&leveltime>=10) | |
{info->printf(600,30,HGETEXT_CENTER,"%d:%d",leveltime,perez_akt);} | |
info->printf(1050,30,HGETEXT_LEFT,"ИГРОК 1"); | |
info->printf(1050,50,HGETEXT_LEFT,"ОЧКИ: %d",points1); | |
info->printf(1050,70,HGETEXT_LEFT,"Убито: %d",kills); | |
//RPG | |
if(RPGMOD==true) | |
{ | |
if(lvl1_ready==false) | |
{info->printf(960,92,HGETEXT_LEFT,"Ур.:%d",LVL1);} | |
if(lvl1_ready==true) | |
{ | |
if(lvl1_mig==1) | |
infoR->printf(960,92,HGETEXT_LEFT,"Ур.:%d",LVL1); | |
if(lvl1_mig==2) | |
info->printf(960,92,HGETEXT_LEFT,"Ур.:%d",LVL1); | |
} | |
opit1_progress->RenderStretch(1023,103,opit1_x2,117); | |
status_opit->Render(1020,100); | |
status_udar->Render(1020,120); | |
//статус | |
for(int i39=0;i39<=N_BONUSSTATUS1;i39++) | |
{ | |
if(statusi1[i39].akt==1) | |
{switch(statusi1[i39].type) | |
{case 1: | |
bonus_shilo_status->Render(status1x+14,status1y+40+20*statusi1[i39].queue); | |
break; | |
case 2: | |
bonus_daun_status->Render(status1x+14,status1y+40+20*statusi1[i39].queue); | |
break; | |
case 3: | |
bonus_ulitka_status->Render(status1x+14,status1y+40+20*statusi1[i39].queue); | |
break; | |
case 4: | |
bonus_umnik_status->Render(status1x+14,status1y+40+20*statusi1[i39].queue); | |
break; | |
} | |
} | |
} | |
status_status->Render(status1x,status1y); | |
//закрытие статуса | |
}//RPG | |
if(player2_aktive==1) | |
{ | |
info->printf(1050,780,HGETEXT_LEFT,"ИГРОК 2"); | |
info->printf(1050,810,HGETEXT_LEFT,"ОЧКИ: %d",points2); | |
info->printf(1050,830,HGETEXT_LEFT,"Убито: %d",kills2); | |
//RPG | |
if(RPGMOD==true) | |
{ | |
if(lvl2_ready==false) | |
{info->printf(960,852,HGETEXT_LEFT,"Ур.:%d",LVL2);} | |
if(lvl2_ready==true) | |
{ | |
if(lvl2_mig==1) | |
infoR->printf(960,852,HGETEXT_LEFT,"Ур.:%d",LVL2); | |
if(lvl2_mig==2) | |
info->printf(960,852,HGETEXT_LEFT,"Ур.:%d",LVL2); | |
} | |
opit1_progress->RenderStretch(1023,863,opit2_x2,877); | |
status_opit->Render(1020,860); | |
status_udar->Render(1020,880); | |
//статус | |
for(int i39=0;i39<=N_BONUSSTATUS2;i39++) | |
{ | |
if(statusi2[i39].akt==1) | |
{switch(statusi2[i39].type) | |
{case 1: | |
bonus_shilo_status->Render(status2x+14,status2y+40+20*statusi2[i39].queue); | |
break; | |
case 2: | |
bonus_daun_status->Render(status2x+14,status2y+40+20*statusi2[i39].queue); | |
break; | |
case 3: | |
bonus_ulitka_status->Render(status2x+14,status2y+40+20*statusi2[i39].queue); | |
break; | |
case 4: | |
bonus_umnik_status->Render(status2x+14,status2y+40+20*statusi2[i39].queue); | |
break; | |
} | |
} | |
} | |
status_status->Render(status2x,status2y); | |
//закрытие статуса | |
}//RPG | |
} | |
switch(menu1_on) | |
{case 1:info->printf(0,100,HGETEXT_LEFT,"1.Пистолеты\n2.Дробовики\n3.Пистолеты-пулемёты\n4.Автоматы\n5.Пулемёты\n6.Гранатомёты\n7.Винтовки\n8.Холодное\n9.Спец.оружие\n0.Выход"); | |
break; | |
case 2: | |
//TT | |
if(tt_buy==false) | |
{ | |
if(points1>=cena[4]) | |
{info->printf(0,100,HGETEXT_LEFT,"1.TT(СССР) %d\n",cena[4]);} | |
else | |
{infoR->printf(0,100,HGETEXT_LEFT,"1.TT(СССР) %d\n",cena[4]);} | |
} | |
if(tt_buy==true) | |
{infoD->printf(0,100,HGETEXT_LEFT,"1.TT(СССР) %d\n",cena[4]); | |
galka->Render(330,114);} | |
//GLOK | |
if(glok_buy==false) | |
{ | |
if(points1>=cena[9]) | |
{info->printf(0,120,HGETEXT_LEFT,"2.GLOCK(Австрия) %d\n",cena[9]);} | |
else | |
{infoR->printf(0,120,HGETEXT_LEFT,"2.GLOCK(Австрия) %d\n",cena[9]);} | |
} | |
if(glok_buy==true) | |
{infoD->printf(0,120,HGETEXT_LEFT,"2.GLOCK(Австрия) %d\n",cena[9]); | |
galka->Render(330,134);} | |
//Webley mk4 | |
if(webley_buy==false) | |
{ | |
if(points1>=cena[14]) | |
{info->printf(0,140,HGETEXT_LEFT,"3.Webley mkIV(Англия) %d\n",cena[14]);} | |
else | |
{infoR->printf(0,140,HGETEXT_LEFT,"3.Webley mkIV(Англия) %d\n",cena[14]);} | |
} | |
if(webley_buy==true) | |
{infoD->printf(0,140,HGETEXT_LEFT,"3.Webley mkIV(Англия) %d\n",cena[14]); | |
galka->Render(330,154);} | |
//FN Five-Seven | |
if(fn_five_seven_buy==false) | |
{ | |
if(points1>=cena[15]) | |
{info->printf(0,160,HGETEXT_LEFT,"4.FN Five-Seven(Бельгия) %d\n0.Выход",cena[15]);} | |
else | |
{infoR->printf(0,160,HGETEXT_LEFT,"4.FN Five-Seven(Бельгия) %d\n0.Выход",cena[15]);} | |
} | |
if(fn_five_seven_buy==true) | |
{infoD->printf(0,160,HGETEXT_LEFT,"4.FN Five-Seven(Бельгия) %d\n0.Выход",cena[15]); | |
galka->Render(330,174);} | |
break; | |
case 3: | |
//WINCHESTER | |
if(winchester_buy==false) | |
{ | |
if(points1>=cena[7]) | |
{info->printf(0,100,HGETEXT_LEFT,"1.Winchester %d\n0.Выход",cena[7]);} | |
else | |
{infoR->printf(0,100,HGETEXT_LEFT,"1.Winchester %d\n0.Выход",cena[7]);} | |
} | |
if(winchester_buy==true) | |
{infoD->printf(0,100,HGETEXT_LEFT,"1.Winchester %d\n0.Выход",cena[7]); | |
galka->Render(330,114);} | |
break; | |
case 4: | |
//MAC | |
if(mac_buy==false) | |
{ | |
if(points1>=cena[6]) | |
{info->printf(0,100,HGETEXT_LEFT,"1.MAC(США) %d\n",cena[6]);} | |
else | |
{infoR->printf(0,100,HGETEXT_LEFT,"1.MAC(США) %d\n",cena[6]);} | |
} | |
if(mac_buy==true) | |
{infoD->printf(0,100,HGETEXT_LEFT,"1.MAC(США) %d\n",cena[6]); | |
galka->Render(330,114);} | |
//PP-19 | |
if(pp19_buy==false) | |
{ | |
if(points1>=cena[2]) | |
{info->printf(0,120,HGETEXT_LEFT,"2.ПП-19'Витязь'(Россия) %d\n0.Выход",cena[2]);} | |
else | |
{infoR->printf(0,120,HGETEXT_LEFT,"2.ПП-19'Витязь'(Россия) %d\n0.Выход",cena[2]);} | |
} | |
if(pp19_buy==true) | |
{infoD->printf(0,120,HGETEXT_LEFT,"2.ПП-19'Витязь'(Россия) %d\n0.Выход",cena[2]); | |
galka->Render(330,134);} | |
break; | |
case 5: | |
//AK-74 | |
if(ak_buy==false) | |
{ | |
if(points1>=cena[0]) | |
{info->printf(0,100,HGETEXT_LEFT,"1.АК-74(СССР) %d\n",cena[0]);} | |
else | |
{infoR->printf(0,100,HGETEXT_LEFT,"1.АК-74(СССР) %d\n",cena[0]);} | |
} | |
if(ak_buy==true&&ak_up==false) | |
{ | |
if(points1>=cena_up[1]) | |
{info->printf(0,100,HGETEXT_LEFT,"1.АК-74(СССР) upgrade %d\n",cena_up[1]);} | |
if(points1<cena_up[1]) | |
{infoR->printf(0,100,HGETEXT_LEFT,"1.АК-74(СССР) upgrade %d\n",cena_up[1]);} | |
} | |
if(ak_buy==true&&ak_up==true) | |
{infoD->printf(0,100,HGETEXT_LEFT,"1.АК-74(СССР) %d\n",cena[0]); | |
galka->Render(330,114);} | |
//FN F2000 | |
if(fn_f2000_buy==false) | |
{ | |
if(points1>=cena[3]) | |
{info->printf(0,120,HGETEXT_LEFT,"2.FN_F2000(Бельгия) %d\n0.Выход",cena[3]);} | |
else | |
{infoR->printf(0,120,HGETEXT_LEFT,"2.FN_F2000(Бельгия) %d\n0.Выход",cena[3]);} | |
} | |
if(fn_f2000_buy==true&&fn_f2000_up==false) | |
{ | |
if(points1>=cena_up[0]) | |
{info->printf(0,120,HGETEXT_LEFT,"2.FN_F2000(Бельгия) upgrade %d\n0.Выход",cena_up[0]);} | |
if(points1<cena_up[0]) | |
{infoR->printf(0,120,HGETEXT_LEFT,"2.FN_F2000(Бельгия) upgrade %d\n0.Выход",cena_up[0]);} | |
} | |
if(fn_f2000_buy==true&&fn_f2000_up==true) | |
{infoD->printf(0,120,HGETEXT_LEFT,"2.FN_F2000(Бельгия) %d\n0.Выход",cena[3]); | |
galka->Render(330,134);} | |
break; | |
case 6: | |
//RPK 47 | |
if(rpk47_buy==false) | |
{ | |
if(points1>=cena[8]) | |
{info->printf(0,100,HGETEXT_LEFT,"1.РПК-74(СССР) %d\n",cena[8]);} | |
else | |
{infoR->printf(0,100,HGETEXT_LEFT,"1.РПК-74(СССР) %d\n",cena[8]);} | |
} | |
if(rpk47_buy==true) | |
{infoD->printf(0,100,HGETEXT_LEFT,"1.РПК-74(СССР) %d\n",cena[8]); | |
galka->Render(330,114);} | |
//RPK | |
if(rpk_buy==false) | |
{ | |
if(points1>=cena[5]) | |
{info->printf(0,120,HGETEXT_LEFT,"2.РПК-74М(СССР) %d\n0.Выход",cena[5]);} | |
else | |
{infoR->printf(0,120,HGETEXT_LEFT,"2.РПК-74М(СССР) %d\n0.Выход",cena[5]);} | |
} | |
if(rpk_buy==true) | |
{infoD->printf(0,120,HGETEXT_LEFT,"2.РПК-74М(СССР) %d\n0.Выход",cena[5]); | |
galka->Render(330,134);} | |
break; | |
//РГД-5 | |
case 7: | |
if(rgd5_buy==false) | |
{ | |
if(points1>=cena[10]) | |
{info->printf(0,100,HGETEXT_LEFT,"1.РГД-5(СССР) %d\n",cena[10]);} | |
else | |
{infoR->printf(0,100,HGETEXT_LEFT,"1.РГД-5(СССР) %d\n",cena[10]);} | |
} | |
if(rgd5_buy==true) | |
{infoD->printf(0,100,HGETEXT_LEFT,"1.РГД-5(СССР) %d\n",cena[10]); | |
galka->Render(330,114);} | |
//MILKOR MGL | |
if(milkor_buy==false) | |
{ | |
if(points1>=cena[12]) | |
{info->printf(0,140,HGETEXT_LEFT,"3.Milkor MGL %d\n",cena[12]);} | |
else | |
{infoR->printf(0,140,HGETEXT_LEFT,"3.Milkor MGL %d\n",cena[12]);} | |
} | |
if(milkor_buy==true) | |
{infoD->printf(0,140,HGETEXT_LEFT,"3.Milkor MGL %d\n",cena[12]); | |
galka->Render(330,154);} | |
//Panzerfaust 3 | |
if(panzer_buy==false) | |
{ | |
if(points1>=cena[13]) | |
{info->printf(0,180,HGETEXT_LEFT,"5.Panzerfaust-3(Германия) %d\n0.Выход",cena[13]);} | |
else | |
{infoR->printf(0,180,HGETEXT_LEFT,"5.Panzerfaust-3(Германия) %d\n0.Выход",cena[13]);} | |
} | |
if(panzer_buy==true) | |
{infoD->printf(0,180,HGETEXT_LEFT,"5.Panzerfaust-3(Германия) %d\n0.Выход",cena[13]); | |
galka->Render(330,194);} | |
break; | |
//катана | |
case 9: | |
if(katana_buy==false) | |
{ | |
if(points1>=cena[11]) | |
{info->printf(0,120,HGETEXT_LEFT,"2.Катана(Япония) %d\n0.Выход",cena[11]);} | |
else | |
{infoR->printf(0,120,HGETEXT_LEFT,"2.Катана(Япония) %d\n0.Выход",cena[11]);} | |
} | |
if(katana_buy==true) | |
{infoD->printf(0,120,HGETEXT_LEFT,"2.Катана(Япония) %d\n0.Выход",cena[11]); | |
galka->Render(330,134);} | |
break; | |
} | |
switch(menu2_on) | |
{case 1:info->printf(0,550,HGETEXT_LEFT,"1.Пистолеты\n2.Дробовики\n3.Пистолеты-пулемёты\n4.Автоматы\n5.Пулемёты\n6.Гранатомёты\n7.Винтовки\n8.Холодное\n9.Спец.оружие\n0.Выход"); | |
break; | |
case 2: | |
//ТТ | |
if(tt_buy2==false) | |
{ | |
if(points2>=cena[4]) | |
{info->printf(0,550,HGETEXT_LEFT,"1.TT(СССР) %d\n",cena[4]);} | |
else | |
{infoR->printf(0,550,HGETEXT_LEFT,"1.TT(СССР) %d\n",cena[4]);} | |
} | |
if(tt_buy2==true) | |
{infoD->printf(0,550,HGETEXT_LEFT,"1.TT(СССР) %d\n",cena[4]); | |
galka->Render(330,564);} | |
//GLOK | |
if(glok_buy2==false) | |
{ | |
if(points2>=cena[9]) | |
{info->printf(0,570,HGETEXT_LEFT,"2.GLOCK(Австрия) %d\n",cena[9]);} | |
else | |
{infoR->printf(0,570,HGETEXT_LEFT,"2.GLOCK(Австрия) %d\n",cena[9]);} | |
} | |
if(glok_buy2==true) | |
{infoD->printf(0,570,HGETEXT_LEFT,"2.GLOCK(Австрия) %d\n",cena[9]); | |
galka->Render(330,584);} | |
//Webley mk4 | |
if(webley_buy2==false) | |
{ | |
if(points2>=cena[14]) | |
{info->printf(0,590,HGETEXT_LEFT,"3.Webley mkIV(Англия) %d\n",cena[14]);} | |
else | |
{infoR->printf(0,590,HGETEXT_LEFT,"3.Webley mkIV(Англия) %d\n",cena[14]);} | |
} | |
if(webley_buy2==true) | |
{infoD->printf(0,590,HGETEXT_LEFT,"3.Webley mkIV(Англия) %d\n",cena[14]); | |
galka->Render(330,604);} | |
//FN Five-Seven | |
if(fn_five_seven_buy2==false) | |
{ | |
if(points2>=cena[15]) | |
{info->printf(0,610,HGETEXT_LEFT,"4.FN Five-Seven(Бельгия) %d\n0.Выход",cena[15]);} | |
else | |
{infoR->printf(0,610,HGETEXT_LEFT,"4.FN Five-Seven(Бельгия) %d\n0.Выход",cena[15]);} | |
} | |
if(fn_five_seven_buy2==true) | |
{infoD->printf(0,610,HGETEXT_LEFT,"4.FN Five-Seven(Бельгия) %d\n0.Выход",cena[15]); | |
galka->Render(330,624);} | |
break; | |
case 3: | |
//WINCHESTER | |
if(winchester_buy2==false) | |
{ | |
if(points2>=cena[7]) | |
{info->printf(0,550,HGETEXT_LEFT,"1.Winchester %d\n0.Выход",cena[7]);} | |
else | |
{infoR->printf(0,550,HGETEXT_LEFT,"1.Winchester %d\n0.Выход",cena[7]);} | |
} | |
if(winchester_buy2==true) | |
{infoD->printf(0,550,HGETEXT_LEFT,"1.Winchester %d\n0.Выход",cena[7]); | |
galka->Render(330,564);} | |
break; | |
case 4: | |
//MAC | |
if(mac_buy2==false) | |
{ | |
if(points2>=cena[6]) | |
{info->printf(0,550,HGETEXT_LEFT,"1.MAC(США) %d\n",cena[6]);} | |
else | |
{infoR->printf(0,550,HGETEXT_LEFT,"1.MAC(США) %d\n",cena[6]);} | |
} | |
if(mac_buy2==true) | |
{infoD->printf(0,550,HGETEXT_LEFT,"1.MAC(США) %d\n",cena[6]); | |
galka->Render(330,564);} | |
//PP-19 | |
if(pp19_buy2==false) | |
{ | |
if(points2>=cena[2]) | |
{info->printf(0,570,HGETEXT_LEFT,"2.ПП-19'ВитЯзь'(Россия) %d\n0.Выход",cena[2]);} | |
else | |
{infoR->printf(0,570,HGETEXT_LEFT,"2.ПП-19'ВитЯзь'(Россия) %d\n0.Выход",cena[2]);} | |
} | |
if(pp19_buy2==true) | |
{infoD->printf(0,570,HGETEXT_LEFT,"2.ПП-19'ВитЯзь'(Россия) %d\n0.Выход",cena[2]); | |
galka->Render(330,584);} | |
break; | |
case 5: | |
//AK-74 | |
if(ak_buy2==false) | |
{ | |
if(points2>=cena[0]) | |
{info->printf(0,550,HGETEXT_LEFT,"1.АК-74(СССР) %d\n",cena[0]);} | |
else | |
{infoR->printf(0,550,HGETEXT_LEFT,"1.АК-74(СССР) %d\n",cena[0]);} | |
} | |
if(ak_buy2==true&&ak_up2==false) | |
{ | |
if(points2>=cena_up[1]) | |
{info->printf(0,550,HGETEXT_LEFT,"1.АК-74(СССР) upgrade %d\n",cena_up[1]);} | |
if(points2<cena_up[1]) | |
{infoR->printf(0,550,HGETEXT_LEFT,"1.АК-74(СССР) upgrade %d\n",cena_up[1]);} | |
} | |
if(ak_buy2==true&&ak_up2==true) | |
{infoD->printf(0,550,HGETEXT_LEFT,"1.АК-74(СССР) %d\n",cena[0]); | |
galka->Render(330,564);} | |
//FN F2000 | |
if(fn_f2000_buy2==false) | |
{ | |
if(points2>=cena[3]) | |
{info->printf(0,570,HGETEXT_LEFT,"2.FN_F2000(Бельгия) %d\n0.Выход",cena[3]);} | |
else | |
{infoR->printf(0,570,HGETEXT_LEFT,"2.FN_F2000(Бельгия) %d\n0.Выход",cena[3]);} | |
} | |
if(fn_f2000_buy2==true&&fn_f2000_up2==false) | |
{ | |
if(points2>=cena_up[0]) | |
{info->printf(0,570,HGETEXT_LEFT,"2.FN_F2000(Бельгия) upgrade %d\n0.Выход",cena_up[0]);} | |
if(points2<cena_up[0]) | |
{infoR->printf(0,570,HGETEXT_LEFT,"2.FN_F2000(Бельгия) upgrade %d\n0.Выход",cena_up[0]);} | |
} | |
if(fn_f2000_buy2==true&&fn_f2000_up2==true) | |
{infoD->printf(0,570,HGETEXT_LEFT,"2.FN_F2000(Бельгия) %d\n0.Выход",cena[3]); | |
galka->Render(330,584);} | |
break; | |
case 6: | |
//RPK 47 | |
if(rpk47_buy2==false) | |
{ | |
if(points2>=cena[8]) | |
{info->printf(0,550,HGETEXT_LEFT,"1.РПК-74(СССР) %d\n",cena[8]);} | |
else | |
{infoR->printf(0,550,HGETEXT_LEFT,"1.РПК-74(СССР) %d\n",cena[8]);} | |
} | |
if(rpk47_buy2==true) | |
{infoD->printf(0,550,HGETEXT_LEFT,"1.РПК-74(СССР) %d\n",cena[8]); | |
galka->Render(330,564);} | |
//RPK | |
if(rpk_buy2==false) | |
{ | |
if(points2>=cena[5]) | |
{info->printf(0,570,HGETEXT_LEFT,"2.РПК-74М(СССР) %d\n0.Выход",cena[5]);} | |
else | |
{infoR->printf(0,570,HGETEXT_LEFT,"2.РПК-74М(СССР) %d\n0.Выход",cena[5]);} | |
} | |
if(rpk_buy2==true) | |
{infoD->printf(0,570,HGETEXT_LEFT,"2.РПК-74М(СССР) %d\n0.Выход",cena[5]); | |
galka->Render(330,584);} | |
break; | |
//РГД-5 | |
case 7: | |
if(rgd5_buy2==false) | |
{ | |
if(points2>=cena[10]) | |
{info->printf(0,550,HGETEXT_LEFT,"1.РГД-5(СССР) %d\n",cena[10]);} | |
else | |
{infoR->printf(0,550,HGETEXT_LEFT,"1.РГД-5(СССР) %d\n",cena[10]);} | |
} | |
if(rgd5_buy2==true) | |
{infoD->printf(0,550,HGETEXT_LEFT,"1.РГД-5(СССР) %d\n",cena[10]);} | |
//MILKOR MGL | |
if(milkor_buy2==false) | |
{ | |
if(points2>=cena[12]) | |
{info->printf(0,590,HGETEXT_LEFT,"3.Milkor MGL %d\n",cena[12]);} | |
else | |
{infoR->printf(0,590,HGETEXT_LEFT,"3.Milkor MGL %d\n",cena[12]);} | |
} | |
if(milkor_buy2==true) | |
{infoD->printf(0,590,HGETEXT_LEFT,"3.Milkor MGL %d\n",cena[12]); | |
galka->Render(330,604);} | |
//Panzerfaust 3 | |
if(panzer_buy2==false) | |
{ | |
if(points2>=cena[13]) | |
{info->printf(0,630,HGETEXT_LEFT,"5.Panzerfaust-3(Германия) %d\n0.Выход",cena[13]);} | |
else | |
{infoR->printf(0,630,HGETEXT_LEFT,"5.Panzerfaust-3(Германия) %d\n0.Выход",cena[13]);} | |
} | |
if(panzer_buy2==true) | |
{infoD->printf(0,630,HGETEXT_LEFT,"5.Panzerfaust-3(Германия) %d\n0.Выход",cena[13]); | |
galka->Render(330,644);} | |
break; | |
//катана | |
case 9: | |
if(katana_buy2==false) | |
{ | |
if(points2>=cena[11]) | |
{info->printf(0,570,HGETEXT_LEFT,"2.Катана(Япония) %d\n0.Выход",cena[11]);} | |
else | |
{infoR->printf(0,570,HGETEXT_LEFT,"2.Катана(Япония) %d\n0.Выход",cena[11]);} | |
} | |
if(katana_buy2==true) | |
{infoD->printf(0,570,HGETEXT_LEFT,"2.Катана(Япония) %d\n0.Выход",cena[11]); | |
galka->Render(330,584);} | |
break; | |
} | |
if(RPGMOD==true) | |
{ | |
//выбор навыков игрока 1 | |
if(lvl1_vibor==true) | |
{opit_okno_vibora->Render(600,450); | |
infoBR->printf(600,240,HGETEXT_CENTER,"Уровень %d",LVL1); | |
info->printf(600,320,HGETEXT_CENTER,"Осталось распределить"); | |
if(opit_points1>=2&&opit_points1<=4) | |
{info->printf(430,340,HGETEXT_CENTER,"%d очка",opit_points1);} | |
if(opit_points1==0||opit_points1>4) | |
{info->printf(430,340,HGETEXT_CENTER,"%d очков",opit_points1);} | |
if(opit_points1==1) | |
{info->printf(430,340,HGETEXT_CENTER,"%d очко",opit_points1);} | |
//если есть очки х-к | |
if(opit_points1>0) | |
{ | |
info->printf(430,380,HGETEXT_CENTER,"Характеристики:"); | |
if(VIBOR_ITEM==1) | |
{ | |
switch(VIBOR) | |
{ | |
case 0: | |
infoR->printf(350,400,HGETEXT_LEFT,"Атака: %d",attack1); | |
//infoR->printf(350,420,HGETEXT_LEFT,"Урон +атака*ур./2"); | |
infoR->printf(350,440,HGETEXT_LEFT,"Скорость: %d",skorost1-100); | |
//infoR->printf(350,460,HGETEXT_LEFT,"Скорость +1%"); | |
infoR->printf(350,480,HGETEXT_LEFT,"Удача: %d",luck1); | |
//infoR->printf(350,500,HGETEXT_LEFT,"Влияет на бонусы"); | |
if(CLASSMOD==true) | |
{ | |
switch(class1) | |
{case 1: | |
infoR->printf(350,520,HGETEXT_LEFT,"Мощь: %d",mosch1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Приманка: %d",primanka1); | |
break; | |
case 2: | |
infoR->printf(350,520,HGETEXT_LEFT,"Точность: %.0f",(0.8f-tochnost1)*100); | |
infoR->printf(350,560,HGETEXT_LEFT,"Построение: %d",postroenie1); | |
break; | |
case 3: | |
infoR->printf(350,520,HGETEXT_LEFT,"Выносливость: %.0f",vinoslivost1-1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Взрывчатка: %d",vzrivchatka1-5); | |
break; | |
case 4: | |
infoR->printf(350,520,HGETEXT_LEFT,"Модификации: %d",modifikacii1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Техника: %d",technika1); | |
break;} | |
} | |
break; | |
case 1: | |
info->printf(350,400,HGETEXT_LEFT,"Атака: %d",attack1); | |
//info->printf(350,420,HGETEXT_LEFT,"Урон +атака*ур./2"); | |
infoR->printf(350,440,HGETEXT_LEFT,"Скорость: %d",skorost1-100); | |
//infoR->printf(350,460,HGETEXT_LEFT,"Скорость +1%"); | |
infoR->printf(350,480,HGETEXT_LEFT,"Удача: %d",luck1); | |
//infoR->printf(350,500,HGETEXT_LEFT,"Влияет на бонусы"); | |
if(CLASSMOD==true) | |
{ | |
switch(class1) | |
{case 1: | |
infoR->printf(350,520,HGETEXT_LEFT,"Мощь: %d",mosch1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Приманка: %d",primanka1); | |
break; | |
case 2: | |
infoR->printf(350,520,HGETEXT_LEFT,"Точность: %.0f",(0.8f-tochnost1)*100); | |
infoR->printf(350,560,HGETEXT_LEFT,"Построение: %d",postroenie1); | |
break; | |
case 3: | |
infoR->printf(350,520,HGETEXT_LEFT,"Выносливость: %.0f",vinoslivost1-1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Взрывчатка: %d",vzrivchatka1-5); | |
break; | |
case 4: | |
infoR->printf(350,520,HGETEXT_LEFT,"Модификации: %d",modifikacii1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Техника: %d",technika1); | |
break;} | |
} | |
break; | |
case 2: | |
infoR->printf(350,400,HGETEXT_LEFT,"Атака: %d",attack1); | |
//infoR->printf(350,420,HGETEXT_LEFT,"Урон +атака*ур./2"); | |
info->printf(350,440,HGETEXT_LEFT,"Скорость: %d",skorost1-100); | |
//info->printf(350,460,HGETEXT_LEFT,"Скорость +1%"); | |
infoR->printf(350,480,HGETEXT_LEFT,"Удача: %d",luck1); | |
//infoR->printf(350,500,HGETEXT_LEFT,"Влияет на бонусы"); | |
if(CLASSMOD==true) | |
{ | |
switch(class1) | |
{case 1: | |
infoR->printf(350,520,HGETEXT_LEFT,"Мощь: %d",mosch1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Приманка: %d",primanka1); | |
break; | |
case 2: | |
infoR->printf(350,520,HGETEXT_LEFT,"Точность: %.0f",(0.8f-tochnost1)*100); | |
infoR->printf(350,560,HGETEXT_LEFT,"Построение: %d",postroenie1); | |
break; | |
case 3: | |
infoR->printf(350,520,HGETEXT_LEFT,"Выносливость: %.0f",vinoslivost1-1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Взрывчатка: %d",vzrivchatka1-5); | |
break; | |
case 4: | |
infoR->printf(350,520,HGETEXT_LEFT,"Модификации: %d",modifikacii1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Техника: %d",technika1); | |
break;} | |
} | |
break; | |
case 3: | |
infoR->printf(350,400,HGETEXT_LEFT,"Атака: %d",attack1); | |
//infoR->printf(350,420,HGETEXT_LEFT,"Урон +атака*ур./2"); | |
infoR->printf(350,440,HGETEXT_LEFT,"Скорость: %d",skorost1-100); | |
//infoR->printf(350,460,HGETEXT_LEFT,"Скорость +1%"); | |
info->printf(350,480,HGETEXT_LEFT,"Удача: %d",luck1); | |
//info->printf(350,500,HGETEXT_LEFT,"Влияет на бонусы"); | |
if(CLASSMOD==true) | |
{ | |
switch(class1) | |
{case 1: | |
infoR->printf(350,520,HGETEXT_LEFT,"Мощь: %d",mosch1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Приманка: %d",primanka1); | |
break; | |
case 2: | |
infoR->printf(350,520,HGETEXT_LEFT,"Точность: %.0f",(0.8f-tochnost1)*100); | |
infoR->printf(350,560,HGETEXT_LEFT,"Построение: %d",postroenie1); | |
break; | |
case 3: | |
infoR->printf(350,520,HGETEXT_LEFT,"Выносливость: %.0f",vinoslivost1-1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Взрывчатка: %d",vzrivchatka1-5); | |
break; | |
case 4: | |
infoR->printf(350,520,HGETEXT_LEFT,"Модификации: %d",modifikacii1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Техника: %d",technika1); | |
break;} | |
} | |
break; | |
case 4: | |
infoR->printf(350,400,HGETEXT_LEFT,"Атака: %d",attack1); | |
//infoR->printf(350,420,HGETEXT_LEFT,"Урон +атака*ур./2"); | |
infoR->printf(350,440,HGETEXT_LEFT,"Скорость: %d",skorost1-100); | |
//infoR->printf(350,460,HGETEXT_LEFT,"Скорость +1%"); | |
infoR->printf(350,480,HGETEXT_LEFT,"Удача: %d",luck1); | |
//infoR->printf(350,500,HGETEXT_LEFT,"Влияет на бонусы"); | |
if(CLASSMOD==true) | |
{ | |
switch(class1) | |
{case 1: | |
info->printf(350,520,HGETEXT_LEFT,"Мощь: %d",mosch1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Приманка: %d",primanka1); | |
break; | |
case 2: | |
info->printf(350,520,HGETEXT_LEFT,"Точность: %.0f",(0.8f-tochnost1)*100); | |
infoR->printf(350,560,HGETEXT_LEFT,"Построение: %d",postroenie1); | |
break; | |
case 3: | |
info->printf(350,520,HGETEXT_LEFT,"Выносливость: %.0f",vinoslivost1-1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Взрывчатка: %d",vzrivchatka1-5); | |
break; | |
case 4: | |
info->printf(350,520,HGETEXT_LEFT,"Модификации: %d",modifikacii1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Техника: %d",technika1); | |
break;}} | |
break; | |
case 5: | |
infoR->printf(350,400,HGETEXT_LEFT,"Атака: %d",attack1); | |
//infoR->printf(350,420,HGETEXT_LEFT,"Урон +атака*ур./2"); | |
infoR->printf(350,440,HGETEXT_LEFT,"Скорость: %d",skorost1-100); | |
//infoR->printf(350,460,HGETEXT_LEFT,"Скорость +1%"); | |
infoR->printf(350,480,HGETEXT_LEFT,"Удача: %d",luck1); | |
//infoR->printf(350,500,HGETEXT_LEFT,"Влияет на бонусы"); | |
if(CLASSMOD==true) | |
{ | |
switch(class1) | |
{case 1: | |
infoR->printf(350,520,HGETEXT_LEFT,"Мощь: %d",mosch1); | |
info->printf(350,560,HGETEXT_LEFT,"Приманка: %d",primanka1); | |
break; | |
case 2: | |
infoR->printf(350,520,HGETEXT_LEFT,"Точность: %.0f",(0.8f-tochnost1)*100); | |
info->printf(350,560,HGETEXT_LEFT,"Построение: %d",postroenie1); | |
break; | |
case 3: | |
infoR->printf(350,520,HGETEXT_LEFT,"Выносливость: %.0f",vinoslivost1-1); | |
info->printf(350,560,HGETEXT_LEFT,"Взрывчатка: %d",vzrivchatka1-5); | |
break; | |
case 4: | |
infoR->printf(350,520,HGETEXT_LEFT,"Модификации: %d",modifikacii1); | |
info->printf(350,560,HGETEXT_LEFT,"Техника: %d",technika1); | |
break;}} | |
break; | |
} | |
} | |
}//если есть очки х-к | |
if(opit_points1==0) | |
{infoD->printf(430,380,HGETEXT_CENTER,"Характеристики:"); | |
infoD->printf(350,400,HGETEXT_LEFT,"Атака: %d",attack1); | |
//infoD->printf(350,420,HGETEXT_LEFT,"Урон +атака*ур./2"); | |
infoD->printf(350,440,HGETEXT_LEFT,"Скорость: %d",skorost1-100); | |
//infoD->printf(350,460,HGETEXT_LEFT,"Скорость +1%"); | |
infoD->printf(350,480,HGETEXT_LEFT,"Удача: %d",luck1); | |
//infoD->printf(350,500,HGETEXT_LEFT,"Влияет на бонусы"); | |
if(CLASSMOD==true) | |
{ | |
switch(class1) | |
{ | |
case 1: | |
infoD->printf(350,520,HGETEXT_LEFT,"Мощь: %d",mosch1); | |
infoD->printf(350,560,HGETEXT_LEFT,"Приманка: %d",primanka1); | |
break; | |
case 2: | |
infoD->printf(350,520,HGETEXT_LEFT,"Точность: %.0f",(0.8f-tochnost1)*100); | |
infoD->printf(350,560,HGETEXT_LEFT,"Построение: %d",postroenie1); | |
break; | |
case 3: | |
infoD->printf(350,520,HGETEXT_LEFT,"Выносливость: %.0f",vinoslivost1-1); | |
infoD->printf(350,560,HGETEXT_LEFT,"Взрывчатка: %d",vzrivchatka1-5); | |
break; | |
case 4: | |
infoD->printf(350,520,HGETEXT_LEFT,"Модификации: %d",modifikacii1); | |
infoD->printf(350,560,HGETEXT_LEFT,"Техника: %d",technika1); | |
break; | |
}} | |
} | |
//выбор характеристик | |
//НАВЫКИ | |
if(naviki_points1>=2&&naviki_points1<=4) | |
{info->printf(750,340,HGETEXT_CENTER,"%d очка",naviki_points1);} | |
if(naviki_points1==0||naviki_points1>4) | |
{info->printf(750,340,HGETEXT_CENTER,"%d очков",naviki_points1);} | |
if(naviki_points1==1) | |
{info->printf(750,340,HGETEXT_CENTER,"%d очко",naviki_points1);} | |
if(naviki_points1>0) | |
info->printf(750,380,HGETEXT_CENTER,"Навыки:"); | |
if(naviki_points1<=0) | |
infoD->printf(750,380,HGETEXT_CENTER,"Навыки:"); | |
if(VIBOR_ITEM==2) | |
{ | |
switch(VIBOR) | |
{ | |
case 1: | |
weapon1_fire_skill(); | |
break; | |
default: | |
break; | |
} | |
} | |
//ОПАСНОСТЕ!!! | |
info->printf(410,530,HGETEXT_LEFT,"Защита:"); | |
if(LVL1%2==0) | |
{ | |
if(attack1*LVL1/2-defence_zayac>=0) | |
{info->printf(410,550,HGETEXT_LEFT,"зайца %d ",defence_zayac);} | |
else | |
{infoR->printf(410,550,HGETEXT_LEFT,"зайца %d ",defence_zayac);} | |
if(attack1*LVL1/2-defence_volk>=0) | |
{info->printf(510,550,HGETEXT_LEFT,"волка %d ",defence_volk);} | |
else | |
{infoR->printf(510,550,HGETEXT_LEFT,"волка %d ",defence_volk);} | |
} | |
//----- | |
if(LVL1%2==1) | |
{ | |
if(attack1*(LVL1-1)/2-defence_zayac>=0) | |
{info->printf(410,550,HGETEXT_LEFT,"зайца %d ",defence_zayac);} | |
else | |
{infoR->printf(410,550,HGETEXT_LEFT,"зайца %d ",defence_zayac);} | |
if(attack1*(LVL1-1)/2-defence_volk>=0) | |
{info->printf(510,550,HGETEXT_LEFT,"волка %d ",defence_volk);} | |
else | |
{infoR->printf(510,550,HGETEXT_LEFT,"волка %d ",defence_volk);} | |
} | |
//ОПАСНОСТЕ!!! | |
}//закрыте выбора игрока 1 | |
//выбор навыков игрока 2 | |
if(lvl2_vibor==true) | |
{opit_okno_vibora->Render(600,450); | |
infoBR->printf(600,240,HGETEXT_CENTER,"Уровень %d",LVL2); | |
info->printf(600,320,HGETEXT_CENTER,"Осталось распределить"); | |
if(opit_points2>=2&&opit_points2<=4) | |
{info->printf(430,340,HGETEXT_CENTER,"%d очка",opit_points2);} | |
if(opit_points2==0||opit_points2>4) | |
{info->printf(430,340,HGETEXT_CENTER,"%d очков",opit_points2);} | |
if(opit_points2==1) | |
{info->printf(430,340,HGETEXT_CENTER,"%d очко",opit_points2);} | |
//если есть очки х-к | |
if(opit_points2>0) | |
{ | |
info->printf(430,380,HGETEXT_CENTER,"Характеристики:"); | |
if(VIBOR_ITEM==1) | |
{ | |
switch(VIBOR) | |
{ | |
case 0: | |
infoR->printf(350,400,HGETEXT_LEFT,"Атака: %d",attack2); | |
//infoR->printf(350,420,HGETEXT_LEFT,"Урон +атака*ур./2"); | |
infoR->printf(350,440,HGETEXT_LEFT,"Скорость: %d",skorost2-100); | |
//infoR->printf(350,460,HGETEXT_LEFT,"Скорость +1%"); | |
infoR->printf(350,480,HGETEXT_LEFT,"Удача: %d",luck2); | |
//infoR->printf(350,500,HGETEXT_LEFT,"Влияет на бонусы"); | |
if(CLASSMOD==true) | |
{ | |
switch(class2) | |
{case 1: | |
infoR->printf(350,520,HGETEXT_LEFT,"Мощь: %d",mosch2); | |
infoR->printf(350,560,HGETEXT_LEFT,"Приманка: %d",primanka2); | |
break; | |
case 2: | |
infoR->printf(350,520,HGETEXT_LEFT,"Точность: %.0f",(0.8f-tochnost2)*100); | |
infoR->printf(350,560,HGETEXT_LEFT,"Построение: %d",postroenie2); | |
break; | |
case 3: | |
infoR->printf(350,520,HGETEXT_LEFT,"Выносливость: %.0f",vinoslivost2-1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Взрывчатка: %d",vzrivchatka2-5); | |
break; | |
case 4: | |
infoR->printf(350,520,HGETEXT_LEFT,"Модификации: %d",modifikacii2); | |
infoR->printf(350,560,HGETEXT_LEFT,"Техника: %d",technika2); | |
break;}} | |
break; | |
case 1: | |
info->printf(350,400,HGETEXT_LEFT,"Атака: %d",attack2); | |
//info->printf(350,420,HGETEXT_LEFT,"Урон +атака*ур./2"); | |
infoR->printf(350,440,HGETEXT_LEFT,"Скорость: %d",skorost2-100); | |
//infoR->printf(350,460,HGETEXT_LEFT,"Скорость +1%"); | |
infoR->printf(350,480,HGETEXT_LEFT,"Удача: %d",luck2); | |
//infoR->printf(350,500,HGETEXT_LEFT,"Влияет на бонусы"); | |
if(CLASSMOD==true) | |
{ | |
switch(class2) | |
{case 1: | |
infoR->printf(350,520,HGETEXT_LEFT,"Мощь: %d",mosch2); | |
infoR->printf(350,560,HGETEXT_LEFT,"Приманка: %d",primanka2); | |
break; | |
case 2: | |
infoR->printf(350,520,HGETEXT_LEFT,"Точность: %.0f",(0.8f-tochnost2)*100); | |
infoR->printf(350,560,HGETEXT_LEFT,"Построение: %d",postroenie2); | |
break; | |
case 3: | |
infoR->printf(350,520,HGETEXT_LEFT,"Выносливость: %.0f",vinoslivost2-1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Взрывчатка: %d",vzrivchatka2-5); | |
break; | |
case 4: | |
infoR->printf(350,520,HGETEXT_LEFT,"Модификации: %d",modifikacii2); | |
infoR->printf(350,560,HGETEXT_LEFT,"Техника: %d",technika2); | |
break; | |
default: | |
break;} | |
} | |
break; | |
case 2: | |
infoR->printf(350,400,HGETEXT_LEFT,"Атака: %d",attack2); | |
//infoR->printf(350,420,HGETEXT_LEFT,"Урон +атака*ур./2"); | |
info->printf(350,440,HGETEXT_LEFT,"Скорость: %d",skorost2-100); | |
//info->printf(350,460,HGETEXT_LEFT,"Скорость +1%"); | |
infoR->printf(350,480,HGETEXT_LEFT,"Удача: %d",luck2); | |
//infoR->printf(350,500,HGETEXT_LEFT,"Влияет на бонусы"); | |
if(CLASSMOD==true) | |
{ | |
switch(class2) | |
{case 1: | |
infoR->printf(350,520,HGETEXT_LEFT,"Мощь: %d",mosch2); | |
infoR->printf(350,560,HGETEXT_LEFT,"Приманка: %d",primanka2); | |
break; | |
case 2: | |
infoR->printf(350,520,HGETEXT_LEFT,"Точность: %.0f",(0.8f-tochnost2)*100); | |
infoR->printf(350,560,HGETEXT_LEFT,"Построение: %d",postroenie2); | |
break; | |
case 3: | |
infoR->printf(350,520,HGETEXT_LEFT,"Выносливость: %.0f",vinoslivost2-1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Взрывчатка: %d",vzrivchatka2-5); | |
break; | |
case 4: | |
infoR->printf(350,520,HGETEXT_LEFT,"Модификации: %d",modifikacii2); | |
infoR->printf(350,560,HGETEXT_LEFT,"Техника: %d",technika2); | |
break; | |
default: | |
break;} | |
} | |
break; | |
case 3: | |
infoR->printf(350,400,HGETEXT_LEFT,"Атака: %d",attack2); | |
//infoR->printf(350,420,HGETEXT_LEFT,"Урон +атака*ур./2"); | |
infoR->printf(350,440,HGETEXT_LEFT,"Скорость: %d",skorost2-100); | |
//infoR->printf(350,460,HGETEXT_LEFT,"Скорость +1%"); | |
info->printf(350,480,HGETEXT_LEFT,"Удача: %d",luck2); | |
//info->printf(350,500,HGETEXT_LEFT,"Влияет на бонусы"); | |
if(CLASSMOD==true) | |
{ | |
switch(class2) | |
{case 1: | |
infoR->printf(350,520,HGETEXT_LEFT,"Мощь: %d",mosch2); | |
infoR->printf(350,560,HGETEXT_LEFT,"Приманка: %d",primanka2); | |
break; | |
case 2: | |
infoR->printf(350,520,HGETEXT_LEFT,"Точность: %.0f",(0.8f-tochnost2)*100); | |
infoR->printf(350,560,HGETEXT_LEFT,"Построение: %d",postroenie2); | |
break; | |
case 3: | |
infoR->printf(350,520,HGETEXT_LEFT,"Выносливость: %.0f",vinoslivost2-1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Взрывчатка: %d",vzrivchatka2-5); | |
break; | |
case 4: | |
infoR->printf(350,520,HGETEXT_LEFT,"Модификации: %d",modifikacii2); | |
infoR->printf(350,560,HGETEXT_LEFT,"Техника: %d",technika2); | |
break; | |
default: | |
break;} | |
} | |
break; | |
case 4: | |
infoR->printf(350,400,HGETEXT_LEFT,"Атака: %d",attack2); | |
//infoR->printf(350,420,HGETEXT_LEFT,"Урон +атака*ур./2"); | |
infoR->printf(350,440,HGETEXT_LEFT,"Скорость: %d",skorost2-100); | |
//infoR->printf(350,460,HGETEXT_LEFT,"Скорость +1%"); | |
infoR->printf(350,480,HGETEXT_LEFT,"Удача: %d",luck2); | |
//infoR->printf(350,500,HGETEXT_LEFT,"Влияет на бонусы"); | |
if(CLASSMOD==true) | |
{ | |
switch(class2) | |
{case 1: | |
info->printf(350,520,HGETEXT_LEFT,"Мощь: %d",mosch2); | |
infoR->printf(350,560,HGETEXT_LEFT,"Приманка: %d",primanka2); | |
break; | |
case 2: | |
info->printf(350,520,HGETEXT_LEFT,"Точность: %.0f",(0.8f-tochnost2)*100); | |
infoR->printf(350,560,HGETEXT_LEFT,"Построение: %d",postroenie2); | |
break; | |
case 3: | |
info->printf(350,520,HGETEXT_LEFT,"Выносливость: %.0f",vinoslivost2-1); | |
infoR->printf(350,560,HGETEXT_LEFT,"Взрывчатка: %d",vzrivchatka2-5); | |
break; | |
case 4: | |
info->printf(350,520,HGETEXT_LEFT,"Модификации: %d",modifikacii2); | |
infoR->printf(350,560,HGETEXT_LEFT,"Техника: %d",technika2); | |
break;}} | |
break; | |
case 5: | |
infoR->printf(350,400,HGETEXT_LEFT,"Атака: %d",attack2); | |
//infoR->printf(350,420,HGETEXT_LEFT,"Урон +атака*ур./2"); | |
infoR->printf(350,440,HGETEXT_LEFT,"Скорость: %d",skorost2-100); | |
//infoR->printf(350,460,HGETEXT_LEFT,"Скорость +1%"); | |
infoR->printf(350,480,HGETEXT_LEFT,"Удача: %d",luck2); | |
//infoR->printf(350,500,HGETEXT_LEFT,"Влияет на бонусы"); | |
if(CLASSMOD==true) | |
{ | |
switch(class2) | |
{case 1: | |
infoR->printf(350,520,HGETEXT_LEFT,"Мощь: %d",mosch2); | |
info->printf(350,560,HGETEXT_LEFT,"Приманка: %d",primanka2); | |
break; | |
case 2: | |
infoR->printf(350,520,HGETEXT_LEFT,"Точность: %.0f",(0.8f-tochnost2)*100); | |
info->printf(350,560,HGETEXT_LEFT,"Построение: %d",postroenie2); | |
break; | |
case 3: | |
infoR->printf(350,520,HGETEXT_LEFT,"Выносливость: %.0f",vinoslivost2-1); | |
info->printf(350,560,HGETEXT_LEFT,"Взрывчатка: %d",vzrivchatka2-5); | |
break; | |
case 4: | |
infoR->printf(350,520,HGETEXT_LEFT,"Модификации: %d",modifikacii2); | |
info->printf(350,560,HGETEXT_LEFT,"Техника: %d",technika2); | |
break;}} | |
break; | |
} | |
} | |
}//если есть очки х-к | |
if(opit_points2==0) | |
{infoD->printf(430,380,HGETEXT_CENTER,"Характеристики:"); | |
infoD->printf(350,400,HGETEXT_LEFT,"Атака: %d",attack2); | |
//infoD->printf(350,420,HGETEXT_LEFT,"Урон +атака*ур./2"); | |
infoD->printf(350,440,HGETEXT_LEFT,"Скорость: %d",skorost2-100); | |
//infoD->printf(350,460,HGETEXT_LEFT,"Скорость +1%"); | |
infoD->printf(350,480,HGETEXT_LEFT,"Удача: %d",luck2); | |
//infoD->printf(350,500,HGETEXT_LEFT,"Влияет на бонусы"); | |
if(CLASSMOD==true) | |
{ | |
switch(class2) | |
{ | |
case 1: | |
infoD->printf(350,520,HGETEXT_LEFT,"Мощь: %d",mosch2); | |
infoD->printf(350,560,HGETEXT_LEFT,"Приманка: %d",primanka2); | |
break; | |
case 2: | |
infoD->printf(350,520,HGETEXT_LEFT,"Точность: %.0f",(0.8f-tochnost2)*100); | |
infoD->printf(350,560,HGETEXT_LEFT,"Построение: %d",postroenie2); | |
break; | |
case 3: | |
infoD->printf(350,520,HGETEXT_LEFT,"Выносливость: %.0f",vinoslivost2-1); | |
infoD->printf(350,560,HGETEXT_LEFT,"Взрывчатка: %d",vzrivchatka2-5); | |
break; | |
case 4: | |
infoD->printf(350,520,HGETEXT_LEFT,"Модификации: %d",modifikacii2); | |
infoD->printf(350,560,HGETEXT_LEFT,"Техника: %d",technika2); | |
break; | |
default: | |
break; | |
}} | |
} | |
//выбор характеристик | |
//НАВЫКИ | |
if(naviki_points2>=2&&naviki_points2<=4) | |
{info->printf(750,340,HGETEXT_CENTER,"%d очка",naviki_points2);} | |
if(naviki_points2==0||naviki_points2>4) | |
{info->printf(750,340,HGETEXT_CENTER,"%d очков",naviki_points2);} | |
if(naviki_points2==1) | |
{info->printf(750,340,HGETEXT_CENTER,"%d очко",naviki_points2);} | |
if(naviki_points2>0) | |
info->printf(750,380,HGETEXT_CENTER,"Навыки:"); | |
if(naviki_points2<=0) | |
infoD->printf(750,380,HGETEXT_CENTER,"Навыки:"); | |
if(VIBOR_ITEM==2) | |
{ | |
switch(VIBOR) | |
{ | |
case 1: | |
weapon1_fire_skill(); | |
break; | |
default: | |
break; | |
} | |
} | |
//ОПАСНОСТЕ!!! | |
info->printf(410,530,HGETEXT_LEFT,"Защита:"); | |
if(LVL2%2==0) | |
{ | |
if(attack2*LVL2/2-defence_zayac>=0) | |
{info->printf(410,550,HGETEXT_LEFT,"зайца %d ",defence_zayac);} | |
else | |
{infoR->printf(410,550,HGETEXT_LEFT,"зайца %d ",defence_zayac);} | |
if(attack2*LVL2/2-defence_volk>=0) | |
{info->printf(510,550,HGETEXT_LEFT,"волка %d ",defence_volk);} | |
else | |
{infoR->printf(510,550,HGETEXT_LEFT,"волка %d ",defence_volk);} | |
} | |
//----- | |
if(LVL2%2==1) | |
{ | |
if(attack2*(LVL2-1)/2-defence_zayac>=0) | |
{info->printf(410,550,HGETEXT_LEFT,"зайца %d ",defence_zayac);} | |
else | |
{infoR->printf(410,550,HGETEXT_LEFT,"зайца %d ",defence_zayac);} | |
if(attack2*(LVL2-1)/2-defence_volk>=0) | |
{info->printf(510,550,HGETEXT_LEFT,"волка %d ",defence_volk);} | |
else | |
{infoR->printf(510,550,HGETEXT_LEFT,"волка %d ",defence_volk);} | |
} | |
//ОПАСНОСТЕ!!! | |
}//закрыте выбора игрока 2 | |
}//if RPGMOD==TRUE | |
if(DIFF==0) | |
{okno_lvl_progress_green->Render(600,800);} | |
if(DIFF==1) | |
{okno_lvl_progress->Render(600,800);} | |
if(DIFF==2) | |
{okno_lvl_progress_red->Render(600,800);} | |
if(player2_aktive==0) | |
{ | |
if(890-(X+1200-x)/16>=305) | |
{okno_lvl_polzunok->Render(895-(X+1200-x)/16,800);} | |
else | |
{okno_lvl_polzunok->Render(305,800);} | |
} | |
if(player2_aktive==1) | |
{ | |
if(890-(X+1200-((x+x2)/2))/16>=305) | |
{okno_lvl_polzunok->Render(895-(X+1200-((x+x2)/2))/16,800);} | |
else | |
{okno_lvl_polzunok->Render(305,800);} | |
} | |
} //if menu_aktive=0 | |
if(menu_aktive==1)// МЕНЮ ИГРЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ | |
{menu->Render();} | |
if(menu_aktive==-1)//выбор игроков | |
{menu_start->Render();} | |
//ОПЦИИ | |
if(menu_aktive==2) | |
{ | |
if(player2_aktive==0) | |
{info->printf(600,100,HGETEXT_CENTER,"1 ИГРОК\nРАЗРЕШЕНИЕ:1200х900");} | |
if(player2_aktive==1) | |
{info->printf(600,100,HGETEXT_CENTER,"2 ИГРОКА\nРАЗРЕШЕНИЕ:1200х900");} | |
menu_font->printf(600,380,HGETEXT_CENTER,"RPGMOD"); | |
menu_font->printf(600,240,HGETEXT_CENTER,"CИСТЕМА КЛАССОВ"); | |
if(RPGMOD==true) | |
{info->printf(600,440,HGETEXT_CENTER,"Если не переносите задротства,\nто можете выключить"); | |
galka_menu->Render(780,520);} | |
if(RPGMOD==false) | |
{info->printf(600,440,HGETEXT_CENTER,"Если любите задротство,\nто можете включить"); | |
galka_menu->Render(800,560);} | |
if(CLASSMOD==true) | |
{galka_menu->Render(900,300);} | |
if(CLASSMOD==false) | |
{galka_menu->Render(920,340);} | |
if(menu_video->GetFocus()==5) | |
{info->printf(600,630,HGETEXT_CENTER,"%d",volume); | |
if((hge->Input_GetKeyState(HGEK_LEFT)==true||hge->Input_GetKeyState(HGEK_D))&&volume>0) | |
{volume--;} | |
if((hge->Input_GetKeyState(HGEK_RIGHT)==true||hge->Input_GetKeyState(HGEK_A))&&volume<100) | |
{volume++;} | |
if(volume==0) | |
{strelka_menu->SetTexture(strelka_menu_D_tex);} | |
if(volume>0) | |
{strelka_menu->SetTexture(strelka_menu_tex);} | |
strelka_menu->Render(550,650); | |
if(volume==100) | |
{strelka_menu->SetTexture(strelka_menu_D_tex);} | |
if(volume<100) | |
{strelka_menu->SetTexture(strelka_menu_tex);} | |
strelka_menu->RenderStretch(675,625,625,675); | |
} | |
menu_video->Render(); | |
} | |
//ОПЦИИ | |
if(menu_aktive==3) | |
{menu_info->Render();} | |
if(menu_aktive==4)//авторы | |
{info->printf(600,300,HGETEXT_CENTER,"ПРОГРАММИРОВАНИЕ:\nСирант Андрей aka Ан147\nГРАФИКА:\nСирант Андрей aka Ан147\nЗВУК:\nСирант Андрей aka Ан147\nПольдЯев Андрей aka Шустрый\nТЕСТЕРЫ:\nДмитрий Кашуба aka Airyng\nСирант Андрей aka Ан147");} | |
if(menu_aktive==31)//инфа про врагов | |
{zayac->Render(600,250); | |
info->printf(600,300,HGETEXT_CENTER,"ЗАЙЦЫ\nЗдоровье:50\nБонус про попадании в голову\n(область между ушами и глазами):2Х\nПримечания:Могут отваливаться уши");} | |
if(menu_aktive==32)//инфа про ружбайки | |
{info->printf(600,50,HGETEXT_CENTER,"ПИСТОЛЕТЫ"); | |
info->printf(50,120,HGETEXT_LEFT,"ПМ(Пистолет Макарова)"); | |
pm->RenderStretch(150,140,200,180); | |
info->printf(50,200,HGETEXT_LEFT,"Урон: 20\nКол-во патронов в магазине: 8\nСкорость перезарядки: 1 сек.\nСтоимость: Бесплатно\nСтрана производитель: СССР\nТочность:\n-=расстояние=- -=рандом=-\nот 200 до 400 пикселей - 6 пикселей\nболее 400 - 12 пикселей\nПримечание: Стартовое оружие"); | |
info->printf(450,120,HGETEXT_LEFT,"ТТ(Тульский Токарев)"); | |
tt->RenderStretch(510,140,574,185); | |
info->printf(450,200,HGETEXT_LEFT,"Урон: 30\nКол-во патронов в магазине: 8\nСкорость перезарядки: 1 сек.\nСтоимость: 500\nСтрана производитель: СССР\nТочность:\n-=расстояние=- -=рандом=-\nот 250 до 500 пикселей - 5,5 пикселей\nболее 500 - 11 пикселей\nПримечание: Дешёвый"); | |
info->printf(600,450,HGETEXT_CENTER,"АВТОМАТЫ"); | |
info->printf(50,520,HGETEXT_LEFT,"АК(Автомат Калашникова)"); | |
ak47->RenderStretch(115,540,245,585); | |
info->printf(50,605,HGETEXT_LEFT,"Урон: 70\nКол-во патронов в магазине: 30\nСкорость перезарядки: 2 сек.\nСтоимость: 5500\nСтрана производитель: СССР\nТочность:\n-=расстояние=- -=рандом=-\nот 400 до 600 пикселей - 5 пикселей\nболее 600 - 8,5 пикселей\nПримечание: Мощный патрон"); | |
} | |
if(menu_aktive==33)//инфа про бонусы | |
{ | |
info->printf(600,50,HGETEXT_CENTER,"ПОЛОЖИТЕЛЬНЫЕ"); | |
info->printf(150,120,HGETEXT_LEFT,"Шило"); | |
bonus_shilo->RenderStretch(160,160,190,190); | |
info->printf(150,210,HGETEXT_LEFT,"Эффект:Скорость увеличивается\nна 10 процентов от стартовой скорости.\nЭффекты суммируются. Эффект длитсЯ 10 секунд."); | |
} | |
if(menu_aktive==-2) | |
{info->printf(600,250,HGETEXT_CENTER,"ТОЧНО?"); | |
menu_really->Render();} | |
if(menu_aktive==-3) | |
{ | |
menu_font->printf(600,200,HGETEXT_CENTER,"ВЫБОР ИГРОКА 1"); | |
menu_class->Render(); | |
znak_myasnik->Render(400,330); | |
znak_myasnik->Render(800,330); | |
znak_strelok->Render(400,430); | |
znak_strelok->Render(800,430); | |
znak_razrushitel->Render(400,530); | |
znak_razrushitel->Render(800,530); | |
znak_tehnik->Render(400,630); | |
znak_tehnik->Render(800,630); | |
} | |
if(menu_aktive==-4) | |
{ | |
menu_font->printf(600,200,HGETEXT_CENTER,"ВЫБОР ИГРОКА 2"); | |
menu_class2->Render(); | |
znak_myasnik->Render(400,330); | |
znak_myasnik->Render(800,330); | |
znak_strelok->Render(400,430); | |
znak_strelok->Render(800,430); | |
znak_razrushitel->Render(400,530); | |
znak_razrushitel->Render(800,530); | |
znak_tehnik->Render(400,630); | |
znak_tehnik->Render(800,630); | |
} | |
//статистика | |
if(menu_aktive==-5) | |
{ | |
if(player2_aktive==0) | |
{ | |
info->printf(600,200,HGETEXT_CENTER,"В ОБЩЕМ:"); | |
//время игры | |
if(pobeda==true) | |
{ | |
if(perez_akt<10&leveltime<10) | |
{info->printf(600,220,HGETEXT_CENTER,"Время пройденной игры: 0%d:0%d",leveltime,perez_akt);} | |
if(perez_akt<10&leveltime>=10) | |
{info->printf(600,220,HGETEXT_CENTER,"Время пройденной игры: %d:0%d",leveltime,perez_akt);} | |
if(perez_akt>=10&&leveltime<10) | |
{info->printf(600,220,HGETEXT_CENTER,"Время пройденной игры: 0%d:%d",leveltime,perez_akt);} | |
if(perez_akt>=10&&leveltime>=10) | |
{info->printf(600,220,HGETEXT_CENTER,"Время пройденной игры: %d:%d",leveltime,perez_akt);} | |
} | |
if(pobeda!=true) | |
{ | |
if(perez_akt<10&leveltime<10) | |
{info->printf(600,220,HGETEXT_CENTER,"Вы продержались: 0%d:0%d",leveltime,perez_akt);} | |
if(perez_akt<10&leveltime>=10) | |
{info->printf(600,220,HGETEXT_CENTER,"Вы продержались: %d:0%d",leveltime,perez_akt);} | |
if(perez_akt>=10&&leveltime<10) | |
{info->printf(600,220,HGETEXT_CENTER,"Вы продержались: 0%d:%d",leveltime,perez_akt);} | |
if(perez_akt>=10&&leveltime>=10) | |
{info->printf(600,220,HGETEXT_CENTER,"Вы продержались: %d:%d",leveltime,perez_akt);} | |
} | |
info->printf(600,240,HGETEXT_CENTER,"Набрано очков:%d",points1); | |
info->printf(600,260,HGETEXT_CENTER,"Всего убито:%d",kills); | |
info->printf(600,280,HGETEXT_CENTER,"В ТОМ ЧИСЛЕ:"); | |
info->printf(600,300,HGETEXT_CENTER,"Зайцев:%d",kills_zayac); | |
info->printf(600,320,HGETEXT_CENTER,"Волков:%d",kills_volk); | |
info->printf(600,340,HGETEXT_CENTER,"Медведей:%d",kills_medved); | |
info->printf(50,300,HGETEXT_LEFT,"ЗАЙЦЫ:"); | |
info->printf(50,320,HGETEXT_LEFT,"Оторвано ушей:%d (%.2f%%)",kills_zayac_bezuh,procent_kills_zayac_bezuh); | |
info->printf(50,340,HGETEXT_LEFT,"Оторвано бошек:%d (%.2f%%)",kills_zayac_bezboshki,procent_kills_zayac_bezboshki); | |
info->printf(50,360,HGETEXT_LEFT,"Разорвано в ЩИ:%d (%.2f%%)",kills_zayac_vschiii,procent_kills_zayac_vschiii); | |
} | |
if(player2_aktive==1) | |
{ | |
info->printf(600,200,HGETEXT_CENTER,"В ОБЩЕМ:"); | |
if(pobeda==true) | |
{ | |
if(perez_akt<10&leveltime<10) | |
{info->printf(600,220,HGETEXT_CENTER,"Время пройденной игры: 0%d:0%d",leveltime,perez_akt);} | |
if(perez_akt<10&leveltime>=10) | |
{info->printf(600,220,HGETEXT_CENTER,"Время пройденной игры: %d:0%d",leveltime,perez_akt);} | |
if(perez_akt>=10&&leveltime<10) | |
{info->printf(600,220,HGETEXT_CENTER,"Время пройденной игры: 0%d:%d",leveltime,perez_akt);} | |
if(perez_akt>=10&&leveltime>=10) | |
{info->printf(600,220,HGETEXT_CENTER,"Время пройденной игры: %d:%d",leveltime,perez_akt);} | |
} | |
if(pobeda!=true) | |
{ | |
if(perez_akt<10&leveltime<10) | |
{info->printf(600,220,HGETEXT_CENTER,"Вы продержались: 0%d:0%d",leveltime,perez_akt);} | |
if(perez_akt<10&leveltime>=10) | |
{info->printf(600,220,HGETEXT_CENTER,"Вы продержались: %d:0%d",leveltime,perez_akt);} | |
if(perez_akt>=10&&leveltime<10) | |
{info->printf(600,220,HGETEXT_CENTER,"Вы продержались: 0%d:%d",leveltime,perez_akt);} | |
if(perez_akt>=10&&leveltime>=10) | |
{info->printf(600,220,HGETEXT_CENTER,"Вы продержались: %d:%d",leveltime,perez_akt);} | |
} | |
info->printf(600,240,HGETEXT_CENTER,"Набрано очков:%d",points1+points2); | |
info->printf(600,260,HGETEXT_CENTER,"Всего убито:%d",kills+kills2); | |
info->printf(600,280,HGETEXT_CENTER,"В ТОМ ЧИСЛЕ:"); | |
info->printf(600,300,HGETEXT_CENTER,"Зайцев:%d",kills_zayac+kills2_zayac); | |
info->printf(600,320,HGETEXT_CENTER,"Волков:%d",kills_volk+kills2_volk); | |
info->printf(600,340,HGETEXT_CENTER,"Медведей:%d",kills_medved+kills2_medved); | |
info->printf(50,200,HGETEXT_LEFT,"ИГРОК 1"); | |
info->printf(50,220,HGETEXT_LEFT,"Набрал очков:%d",points1); | |
info->printf(50,240,HGETEXT_LEFT,"Врагов убил:%d",kills); | |
info->printf(50,280,HGETEXT_LEFT,"Зайцев:%d",kills_zayac); | |
info->printf(50,300,HGETEXT_LEFT,"Волков:%d",kills_volk); | |
info->printf(50,320,HGETEXT_LEFT,"Медведей:%d",kills_medved); | |
info->printf(50,340,HGETEXT_LEFT,"ЗАЙЦЫ:"); | |
info->printf(50,360,HGETEXT_LEFT,"Оторвано ушей:%d (%.2f%%)",kills_zayac_bezuh,procent_kills_zayac_bezuh); | |
info->printf(50,380,HGETEXT_LEFT,"Оторвано бошек:%d (%.2f%%)",kills_zayac_bezboshki,procent_kills_zayac_bezboshki); | |
info->printf(50,400,HGETEXT_LEFT,"Разорвано в ЩИ:%d (%.2f%%)",kills_zayac_vschiii,procent_kills_zayac_vschiii); | |
info->printf(1150,200,HGETEXT_RIGHT,"ИГРОК 2"); | |
info->printf(1150,220,HGETEXT_RIGHT,"Набрал очков:%d",points2); | |
info->printf(1150,240,HGETEXT_RIGHT,"Врагов убил:%d",kills2); | |
info->printf(1150,280,HGETEXT_RIGHT,"Зайцев:%d",kills2_zayac); | |
info->printf(1150,300,HGETEXT_RIGHT,"Волков:%d",kills2_volk); | |
info->printf(1150,320,HGETEXT_RIGHT,"Медведей:%d",kills2_medved); | |
info->printf(1150,340,HGETEXT_RIGHT,"ЗАЙЦЫ:"); | |
info->printf(1150,360,HGETEXT_RIGHT,"Оторвано ушей:%d (%.2f%%)",kills2_zayac_bezuh,procent_kills2_zayac_bezuh); | |
info->printf(1150,380,HGETEXT_RIGHT,"Оторвано бошек:%d (%.2f%%)",kills2_zayac_bezboshki,procent_kills2_zayac_bezboshki); | |
info->printf(1150,400,HGETEXT_RIGHT,"Разорвано в ЩИ:%d (%.2f%%)",kills2_zayac_vschiii,procent_kills2_zayac_vschiii); | |
} | |
//выход | |
info->printf(50,850,HGETEXT_LEFT,"ДлЯ вЫхоДа нАжМитЕ Esc"); | |
}//статистика | |
/* | |
for(int iief=0;iief<=N_PTENEC;iief++) | |
{ | |
if(vragi4Objects[iief].polet==1) | |
{ | |
rgd5->RenderEx(vragi4Objects[iief].rx,vragi4Objects[iief].ry,0,1,0); | |
info->printf(vragi4Objects[iief].rx,vragi4Objects[iief].ry,HGETEXT_CENTER,"rx %.0f",vragi4Objects[iief].rx); | |
info->printf(vragi4Objects[iief].rx,vragi4Objects[iief].ry+15,HGETEXT_CENTER,"ry %.0f",vragi4Objects[iief].ry); | |
info->printf(vragi4Objects[iief].rx,vragi4Objects[iief].ry+30,HGETEXT_CENTER,"v4x %.0f",vragi4Objects[iief].v4x); | |
info->printf(vragi4Objects[iief].rx,vragi4Objects[iief].ry+45,HGETEXT_CENTER,"v4y %.0f",vragi4Objects[iief].v4y); | |
info->printf(vragi4Objects[iief].rx,vragi4Objects[iief].ry+60,HGETEXT_CENTER,"r %.0f",vragi4Objects[iief].r); | |
info->printf(vragi4Objects[iief].rx,vragi4Objects[iief].ry+75,HGETEXT_CENTER,"up %d",vragi4Objects[iief].up); | |
} | |
} | |
*/ | |
if(net_user!=0||srvr==true||clnt==true) | |
{//info->printf(50,800,HGETEXT_LEFT,"%d",In); | |
if(n_ip==0) | |
{info->printf(300,830,HGETEXT_CENTER,"%d.",(int)ip[0]);} | |
else | |
{infoR->printf(300,830,HGETEXT_CENTER,"%d.",(int)ip[0]);} | |
if(n_ip==1) | |
{info->printf(350,830,HGETEXT_CENTER,"%d.",(int)ip[1]);} | |
else | |
{infoR->printf(350,830,HGETEXT_CENTER,"%d.",(int)ip[1]);} | |
if(n_ip==2) | |
{info->printf(400,830,HGETEXT_CENTER,"%d.",(int)ip[2]);} | |
else | |
{infoR->printf(400,830,HGETEXT_CENTER,"%d.",(int)ip[2]);} | |
if(n_ip==3) | |
{info->printf(450,830,HGETEXT_CENTER,"%d",(int)ip[3]);} | |
else | |
{infoR->printf(450,830,HGETEXT_CENTER,"%d",(int)ip[3]);} | |
info->printf(50,850,HGETEXT_LEFT,"Сервер:%s,порт %d\n", inet_ntoa(server.sin_addr), htons(server.sin_port)); | |
info->printf(50,870,HGETEXT_LEFT,"Клиент:%s,порт %d\n", inet_ntoa(client[0].sin_addr), htons(client[0].sin_port)); | |
info->printf(50,830,HGETEXT_LEFT,"%s",net_status); | |
info->printf(600,200,HGETEXT_CENTER,"%d",received);} | |
//info->printf(600,200,HGETEXT_CENTER,"%.0f",speed); | |
//info->printf(660,300,HGETEXT_CENTER,"%.3f",blood_ssit_psi->info.fSpeedMax); | |
//info->printf(720,300,HGETEXT_CENTER,"%.3f",blood_ssit_psi->info.fParticleLifeMin); | |
if(menu_aktive==0) | |
{ | |
if(LIVES>0&&pobeda==false) | |
{info->printf(600,820,HGETEXT_CENTER,"%d",LIVES);} | |
if(LIVES==0&&pobeda==false) | |
{infoD->printf(600,820,HGETEXT_CENTER,"%d",LIVES); | |
info->printf(600,840,HGETEXT_CENTER,"Без права на ошибку");} | |
if(LIVES<0&&pobeda==false) | |
{infoR->printf(600,450,HGETEXT_CENTER,"Игра проиграна");} | |
if(pobeda==true) | |
{info->printf(600,450,HGETEXT_CENTER,"Победа!!!");} | |
} | |
if(TEST_REZHIM==true) | |
{info->printf(50,860,HGETEXT_LEFT,"Тестовый режим");} | |
// End rendering and update the screen | |
hge->Gfx_EndScene(); | |
// RenderFunc should always return false | |
return false; | |
} | |
//----------------------------------------------------------------------------------------------- | |
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) | |
{ | |
// Get HGE interface | |
hge = hgeCreate(HGE_VERSION); | |
// Set up log file, frame function, render function and window title | |
hge->System_SetState(HGE_FRAMEFUNC, FrameFunc); | |
hge->System_SetState(HGE_RENDERFUNC, RenderFunc); | |
hge->System_SetState(HGE_FOCUSGAINFUNC, FocusGainFunc); | |
hge->System_SetState(HGE_TITLE, "ЩИ!!! Версия 0.1.9"); | |
// Set up video mode | |
hge->System_SetState(HGE_WINDOWED, true); | |
hge->System_SetState(HGE_SCREENWIDTH, 1200); | |
hge->System_SetState(HGE_SCREENHEIGHT, 900); | |
hge->System_SetState(HGE_SCREENBPP, 32); | |
hge->System_SetState(HGE_FPS, 150); | |
main_window_handle = hge->System_GetState(HGE_HWND); | |
WNDCLASSEX winclass; // this will hold the class we create | |
blood_tar=0; | |
blood_target=0; | |
if(hge->System_Initiate()) | |
{ | |
ak_tex=hge->Random_Int(0,1); | |
ak2_tex=hge->Random_Int(0,1); | |
oboima_text=new hgeFont("Data/myfont.fnt"); | |
info= new hgeFont("Data/game_font_rus.fnt"); | |
infoR= new hgeFont("Data/game_font_red_rus.fnt"); | |
infoD= new hgeFont("Data/game_font_dark_rus.fnt"); | |
infoBR= new hgeFont("Data/game_font_red_lvl_rus.fnt"); | |
infoBR->SetScale(1.2f); | |
menu_font= new hgeFont("Data/menu_font.fnt"); | |
// Load sound and texture | |
menu_sound=hge->Effect_Load("Zvuki/menu.wav"); | |
menu_choose=hge->Effect_Load("Zvuki/menu_vibor.mp3"); | |
//звуки выстрелов и перезарядки | |
snd=hge->Effect_Load("Zvuki/pushki/ak_1.wav"); | |
pm_fire=hge->Effect_Load("Zvuki/pushki/pm_1.wav"); | |
pp19_fire=hge->Effect_Load("Zvuki/pushki/pp19_vityaz_1.wav"); | |
ak_reload1=hge->Effect_Load("Zvuki/pushki/ak_reload1.wav"); | |
ak_reload2=hge->Effect_Load("Zvuki/pushki/ak_reload2.wav"); | |
pm_reload1=hge->Effect_Load("Zvuki/pushki/pm_reload1.wav"); | |
pm_reload2=hge->Effect_Load("Zvuki/pushki/pm_reload2.wav"); | |
pp19_reload1=hge->Effect_Load("Zvuki/pushki/pp19_reload1.wav"); | |
pp19_reload2=hge->Effect_Load("Zvuki/pushki/pp19_reload2.wav"); | |
fn_f2000_fire=hge->Effect_Load("Zvuki/pushki/FN_F2000_1.mp3"); | |
tt_fire=hge->Effect_Load("Zvuki/pushki/TT_1.mp3"); | |
mac_fire=hge->Effect_Load("Zvuki/pushki/MAC_1.mp3"); | |
mac_reload1=hge->Effect_Load("Zvuki/pushki/MAC_reload1.mp3"); | |
mac_reload2=hge->Effect_Load("Zvuki/pushki/MAC_reload2.mp3"); | |
webley_fire=hge->Effect_Load("Zvuki/pushki/webley_1.mp3"); | |
webley_reload1=hge->Effect_Load("Zvuki/pushki/webley_reload1.mp3"); | |
webley_reload2=hge->Effect_Load("Zvuki/pushki/webley_reload2.mp3"); | |
fn_five_seven_fire=hge->Effect_Load("Zvuki/pushki/fiveseven_1.mp3"); | |
milkor_fire=hge->Effect_Load("Zvuki/pushki/milkor_1.mp3"); | |
winch_fire=hge->Effect_Load("Zvuki/pushki/winchester_1.wav"); | |
rocket_fire=hge->Effect_Load("Zvuki/pushki/rocket_fire.mp3"); | |
rocket2_fire=hge->Effect_Load("Zvuki/pushki/rocket_fire.mp3"); | |
rocket_polet=hge->Effect_Load("Zvuki/pushki/rocket_polet.mp3"); | |
rocket2_polet=hge->Effect_Load("Zvuki/pushki/rocket_polet.mp3"); | |
drob_reload1=hge->Effect_Load("Zvuki/pushki/drob_reload1.wav"); | |
drob_pompa=hge->Effect_Load("Zvuki/pushki/drob_pompa.wav"); | |
vzriv_grena1=hge->Effect_Load("Zvuki/pushki/vzriv_grena.wav"); | |
//мясо | |
shot1=hge->Effect_Load("Zvuki/myaso/shot1.wav"); | |
headshot1=hge->Effect_Load("Zvuki/myaso/headshot1.mp3"); | |
headshot2=hge->Effect_Load("Zvuki/myaso/headshot2.mp3"); | |
headshot3=hge->Effect_Load("Zvuki/myaso/headshot3.mp3"); | |
headshot4=hge->Effect_Load("Zvuki/myaso/headshot4.mp3"); | |
headshot5=hge->Effect_Load("Zvuki/myaso/headshot5.mp3"); | |
headshot6=hge->Effect_Load("Zvuki/myaso/headshot6.mp3"); | |
headshot7=hge->Effect_Load("Zvuki/myaso/headshot7.mp3"); | |
headshot8=hge->Effect_Load("Zvuki/myaso/headshot8.mp3"); | |
myaso_upalo1=hge->Effect_Load("Zvuki/myaso/myaso_kusok_upal1.mp3"); | |
myaso_upalo2=hge->Effect_Load("Zvuki/myaso/myaso_kusok_upal2.mp3"); | |
myaso_upalo3=hge->Effect_Load("Zvuki/myaso/myaso_kusok_upal3.mp3"); | |
myaso_upalo4=hge->Effect_Load("Zvuki/myaso/myaso_kusok_upal4.mp3"); | |
myaso_upalo5=hge->Effect_Load("Zvuki/myaso/myaso_kusok_upal5.mp3"); | |
myaso_upalo6=hge->Effect_Load("Zvuki/myaso/myaso_kusok_upal6.mp3"); | |
myaso_upalo7=hge->Effect_Load("Zvuki/myaso/myaso_kusok_upal7.mp3"); | |
myaso_upalo8=hge->Effect_Load("Zvuki/myaso/myaso_kusok_upal8.mp3"); | |
myaso_razriv_user1=hge->Effect_Load("Zvuki/myaso/myaso_razriv_user1.wav"); | |
myaso_razriv_user2=hge->Effect_Load("Zvuki/myaso/myaso_razriv_user2.wav"); | |
ssik1=hge->Effect_Load("Zvuki/myaso/ssik1.mp3"); | |
ssik2=hge->Effect_Load("Zvuki/myaso/ssik2.mp3"); | |
ssik3=hge->Effect_Load("Zvuki/myaso/ssik3.mp3"); | |
ssik4=hge->Effect_Load("Zvuki/myaso/ssik4.mp3"); | |
ptenec_death1=hge->Effect_Load("Zvuki/myaso/ptenec_death1.mp3"); | |
blood1_tex=hge->Texture_Load("Sprite/krovyak/krovyak1_head.png"); | |
blood2_tex=hge->Texture_Load("Sprite/krovyak/krovyak2_head.png"); | |
blood3_tex=hge->Texture_Load("Sprite/krovyak/krovyak3_head.png"); | |
blood_shot1_tex=hge->Texture_Load("Sprite/krovyak/krovyak_shot1.png"); | |
blood_plyam1_tex=hge->Texture_Load("Sprite/krovyak/krovyak_plyam1.png"); | |
blood_plyam2_tex=hge->Texture_Load("Sprite/krovyak/krovyak_plyam2.png"); | |
blood_plyam3_tex=hge->Texture_Load("Sprite/krovyak/krovyak_plyam3.png"); | |
blood_luzha1_tex=hge->Texture_Load("Sprite/krovyak/krovyak_luzha1.png"); | |
blood_myaso1_tex=hge->Texture_Load("Sprite/krovyak/krovyak_myaso1.png"); | |
blood_myaso2_tex=hge->Texture_Load("Sprite/krovyak/krovyak_myaso2.png"); | |
blood_myaso3_tex=hge->Texture_Load("Sprite/krovyak/krovyak_myaso3.png"); | |
blood_myaso4_tex=hge->Texture_Load("Sprite/krovyak/krovyak_myaso4.png"); | |
blood_myaso5_tex=hge->Texture_Load("Sprite/krovyak/krovyak_myaso5.png"); | |
blood_zayac_noga1_tex=hge->Texture_Load("Sprite/krovyak/krovyak_zayac_noga1.png"); | |
blood_zayac_noga2_tex=hge->Texture_Load("Sprite/krovyak/krovyak_zayac_noga2.png"); | |
blood_zayac_noga3_tex=hge->Texture_Load("Sprite/krovyak/krovyak_zayac_noga3.png"); | |
blood_zayac_noga4_tex=hge->Texture_Load("Sprite/krovyak/krovyak_zayac_noga4.png"); | |
blood_zayac_rebra1_tex=hge->Texture_Load("Sprite/krovyak/krovyak_zayac_rebra1.png"); | |
blood_zayac_rebra2_tex=hge->Texture_Load("Sprite/krovyak/krovyak_zayac_rebra2.png"); | |
blood_vzriv1_a_tex=hge->Texture_Load("Sprite/krovyak/krovyak_vzriv1_a.png"); | |
blood_vzriv1_b_tex=hge->Texture_Load("Sprite/krovyak/krovyak_vzriv1_b.png"); | |
blood_vzriv1_c_tex=hge->Texture_Load("Sprite/krovyak/krovyak_vzriv1_c.png"); | |
blood_vzriv1_d_tex=hge->Texture_Load("Sprite/krovyak/krovyak_vzriv1_d.png"); | |
blood_vzriv1_e_tex=hge->Texture_Load("Sprite/krovyak/krovyak_vzriv1_e.png"); | |
blood_vzriv1_e2_tex=hge->Texture_Load("Sprite/krovyak/krovyak_vzriv1_e2.png"); | |
player1_myasnik_gogranata_ruka1_tex=hge->Texture_Load("Sprite/Igrok1/player1_myasnik_gogranata_ruka1.png"); | |
player1_myasnik_gogranata_ruka2_tex=hge->Texture_Load("Sprite/Igrok1/player1_myasnik_gogranata_ruka2.png"); | |
player1_strelok_gogranata_ruka1_tex=hge->Texture_Load("Sprite/Igrok1/player1_strelok_gogranata_ruka1.png"); | |
player1_strelok_gogranata_ruka2_tex=hge->Texture_Load("Sprite/Igrok1/player1_strelok_gogranata_ruka2.png"); | |
player1_razrushitel_gogranata_ruka1_tex=hge->Texture_Load("Sprite/Igrok1/player1_razrushitel_gogranata_ruka1.png"); | |
player1_razrushitel_gogranata_ruka2_tex=hge->Texture_Load("Sprite/Igrok1/player1_razrushitel_gogranata_ruka2.png"); | |
player1_tehnik_gogranata_ruka1_tex=hge->Texture_Load("Sprite/Igrok1/player1_tehnik_gogranata_ruka1.png"); | |
player1_tehnik_gogranata_ruka2_tex=hge->Texture_Load("Sprite/Igrok1/player1_tehnik_gogranata_ruka2.png"); | |
player1_myasnik_tex=hge->Texture_Load("Sprite/Igrok1/player1_myasnik.png"); | |
player1_strelok_tex=hge->Texture_Load("Sprite/Igrok1/player1_strelok.png"); | |
player1_razrushitel_tex=hge->Texture_Load("Sprite/Igrok1/player1_razrushitel.png"); | |
player1_tehnik_tex=hge->Texture_Load("Sprite/Igrok1/player1_tehnik.png"); | |
player1_myasnik_ruka1_udar_sleva_tex=hge->Texture_Load("Sprite/Igrok1/player1_myasnik_ruka1_udar_sleva.png"); | |
player1_strelok_ruka1_udar_sleva_tex=hge->Texture_Load("Sprite/Igrok1/player1_strelok_ruka1_udar_sleva.png"); | |
player1_razrushitel_ruka1_udar_sleva_tex=hge->Texture_Load("Sprite/Igrok1/player1_razrushitel_ruka1_udar_sleva.png"); | |
player1_tehnik_ruka1_udar_sleva_tex=hge->Texture_Load("Sprite/Igrok1/player1_tehnik_ruka1_udar_sleva.png"); | |
player1_myasnik_ruka1_pistol_tex=hge->Texture_Load("Sprite/Igrok1/player1_myasnik_ruka1_pistol.png"); | |
player1_strelok_ruka1_pistol_tex=hge->Texture_Load("Sprite/Igrok1/player1_strelok_ruka1_pistol.png"); | |
player1_razrushitel_ruka1_pistol_tex=hge->Texture_Load("Sprite/Igrok1/player1_razrushitel_ruka1_pistol.png"); | |
player1_tehnik_ruka1_pistol_tex=hge->Texture_Load("Sprite/Igrok1/player1_tehnik_ruka1_pistol.png"); | |
player1_myasnik_ruka1_vintovka_tex=hge->Texture_Load("Sprite/Igrok1/player1_myasnik_ruka1_vintovka.png"); | |
player1_strelok_ruka1_vintovka_tex=hge->Texture_Load("Sprite/Igrok1/player1_strelok_ruka1_vintovka.png"); | |
player1_razrushitel_ruka1_vintovka_tex=hge->Texture_Load("Sprite/Igrok1/player1_razrushitel_ruka1_vintovka.png"); | |
player1_tehnik_ruka1_vintovka_tex=hge->Texture_Load("Sprite/Igrok1/player1_tehnik_ruka1_vintovka.png"); | |
player1_myasnik_ruka1_winch_tex=hge->Texture_Load("Sprite/Igrok1/player1_myasnik_ruka1_winch.png"); | |
player1_strelok_ruka1_winch_tex=hge->Texture_Load("Sprite/Igrok1/player1_strelok_ruka1_winch.png"); | |
player1_razrushitel_ruka1_winch_tex=hge->Texture_Load("Sprite/Igrok1/player1_razrushitel_ruka1_winch.png"); | |
player1_tehnik_ruka1_winch_tex=hge->Texture_Load("Sprite/Igrok1/player1_tehnik_ruka1_winch.png"); | |
player2_strelok_tex=hge->Texture_Load("Sprite/Igrok2/player2_strelok.png"); | |
player2_gogranata_ruka1_tex=hge->Texture_Load("Sprite/Igrok2/player2_gogranata_ruka1.png"); | |
player2_gogranata_ruka2_tex=hge->Texture_Load("Sprite/Igrok2/player2_gogranata_ruka2.png"); | |
player2_strelok_ruka1_udar_sleva_tex=hge->Texture_Load("Sprite/Igrok2/player2_strelok_ruka1_udar_sleva.png"); | |
player2_strelok_ruka1_pistol_tex=hge->Texture_Load("Sprite/Igrok2/player2_strelok_ruka1_pistol.png"); | |
player2_strelok_ruka1_vintovka_tex=hge->Texture_Load("Sprite/Igrok2/player2_strelok_ruka1_vintovka.png"); | |
//заяц | |
zayac_go_tex=hge->Texture_Load("Sprite/vragi/zayac/zayac_go.png"); | |
zayac_uhi_k_tex=hge->Texture_Load("Sprite/vragi/zayac/zayac_uhi_sprite_k.tga"); | |
zayac_uhi_s_tex=hge->Texture_Load("Sprite/vragi/zayac/zayac_uhi_sprite.png"); | |
zayac_uhi_tex=hge->Texture_Load("Sprite/vragi/zayac/zayac_uhi.png"); | |
zayac_go_bezuh_tex=hge->Texture_Load("Sprite/vragi/zayac/zayac_go_bezuh.png"); | |
zayac_boshka_tex=hge->Texture_Load("Sprite/vragi/zayac/zayac_boshka.png"); | |
zayac_boshka_bezuh_tex=hge->Texture_Load("Sprite/vragi/zayac/zayac_boshka_bezuh.png"); | |
zayac_trup1_a_tex=hge->Texture_Load("Sprite/vragi/zayac/zayac_trup1a.png"); | |
zayac_trup1_b_tex=hge->Texture_Load("Sprite/vragi/zayac/zayac_trup1b.png"); | |
zayac_trup1_c_tex=hge->Texture_Load("Sprite/vragi/zayac/zayac_trup1c.png"); | |
zayac_trup1_d_tex=hge->Texture_Load("Sprite/vragi/zayac/zayac_trup1d.png"); | |
zayac_trup1_a_bezuh_tex=hge->Texture_Load("Sprite/vragi/zayac/zayac_trup1a_bezuh.png"); | |
zayac_trup1_b_bezuh_tex=hge->Texture_Load("Sprite/vragi/zayac/zayac_trup1b_bezuh.png"); | |
zayac_trup1_c_bezuh_tex=hge->Texture_Load("Sprite/vragi/zayac/zayac_trup1c_bezuh.png"); | |
zayac_trup1_d_bezuh_tex=hge->Texture_Load("Sprite/vragi/zayac/zayac_trup1d_bezuh.png"); | |
zayac_trup1_a_bezboshki_tex=hge->Texture_Load("Sprite/vragi/zayac/zayac_trup1a_bezboshki.png"); | |
zayac_trup1_b_bezboshki_tex=hge->Texture_Load("Sprite/vragi/zayac/zayac_trup1b_bezboshki.png"); | |
zayac_trup1_c_bezboshki_tex=hge->Texture_Load("Sprite/vragi/zayac/zayac_trup1c_bezboshki.png"); | |
zayac_trup1_d_bezboshki_tex=hge->Texture_Load("Sprite/vragi/zayac/zayac_trup1d_bezboshki.png"); | |
volk_go_tex=hge->Texture_Load("Sprite/vragi/volk/volk_anime.png"); | |
volk_trup1_a_tex=hge->Texture_Load("Sprite/vragi/volk/volk_trup1a.png"); | |
volk_trup1_b_tex=hge->Texture_Load("Sprite/vragi/volk/volk_trup1b.png"); | |
volk_trup1_c_tex=hge->Texture_Load("Sprite/vragi/volk/volk_trup1c.png"); | |
medved_trup1_a_tex=hge->Texture_Load("Sprite/vragi/medved/medved_trup1a.png"); | |
medved_trup1_b_tex=hge->Texture_Load("Sprite/vragi/medved/medved_trup1b.png"); | |
medved_trup1_c_tex=hge->Texture_Load("Sprite/vragi/medved/medved_trup1c.png"); | |
medved_trup1_d_tex=hge->Texture_Load("Sprite/vragi/medved/medved_trup1d.png"); | |
medved_trup1_e_tex=hge->Texture_Load("Sprite/vragi/medved/medved_trup1e.png"); | |
medved_trup1_f_tex=hge->Texture_Load("Sprite/vragi/medved/medved_trup1f.png"); | |
medved_trup1_a_bezboshki_tex=hge->Texture_Load("Sprite/vragi/medved/medved_trup1a_bezboshki.png"); | |
medved_trup1_b_bezboshki_tex=hge->Texture_Load("Sprite/vragi/medved/medved_trup1b_bezboshki.png"); | |
medved_trup1_c_bezboshki_tex=hge->Texture_Load("Sprite/vragi/medved/medved_trup1c_bezboshki.png"); | |
medved_trup1_d_bezboshki_tex=hge->Texture_Load("Sprite/vragi/medved/medved_trup1d_bezboshki.png"); | |
medved_trup1_e_bezboshki_tex=hge->Texture_Load("Sprite/vragi/medved/medved_trup1e_bezboshki.png"); | |
medved_trup1_f_bezboshki_tex=hge->Texture_Load("Sprite/vragi/medved/medved_trup1f_bezboshki.png"); | |
medved_go_tex=hge->Texture_Load("Sprite/vragi/medved/medved_anime.png"); | |
medved_boshka1_tex=hge->Texture_Load("Sprite/vragi/medved/medved_boshka1.png"); | |
ptenec_go_tex=hge->Texture_Load("Sprite/vragi/ptenec/ptenec_anime.png"); | |
ptenec_wait_tex=hge->Texture_Load("Sprite/vragi/ptenec/ptenec_wait.png"); | |
ptenec_vpolete_tex=hge->Texture_Load("Sprite/vragi/ptenec/ptenec_vpolete.png"); | |
ptenec_vpolete_reverse_tex=hge->Texture_Load("Sprite/vragi/ptenec/ptenec_vpolete_reverse.png"); | |
ptenec_trup1_tex=hge->Texture_Load("Sprite/vragi/ptenec/ptenec_trup1.png"); | |
ptenec_boshka_vzriv1_a_tex=hge->Texture_Load("Sprite/vragi/ptenec/ptenec_boshka_vzriv1_a.png"); | |
ptenec_boshka_vzriv1_b_tex=hge->Texture_Load("Sprite/vragi/ptenec/ptenec_boshka_vzriv1_b.png"); | |
ptenec_boshka_vzriv1_c_tex=hge->Texture_Load("Sprite/vragi/ptenec/ptenec_boshka_vzriv1_c.png"); | |
ptenec_boshka_vzriv1_d_tex=hge->Texture_Load("Sprite/vragi/ptenec/ptenec_boshka_vzriv1_d.png"); | |
ptenec_boshka_vzriv1_e_tex=hge->Texture_Load("Sprite/vragi/ptenec/ptenec_boshka_vzriv1_e.png"); | |
RPG_healer_tex=hge->Texture_Load("Sprite/vragi/RPG/runa_healer.png"); | |
RPG_illusionist_tex=hge->Texture_Load("Sprite/vragi/RPG/runa_illusionist.png"); | |
RPG_teleporter_tex=hge->Texture_Load("Sprite/vragi/RPG/runa_teleporter.png"); | |
bonus_this_tex=hge->Texture_Load("Sprite/bonus/bonus_this.png"); | |
bonus_shilo_tex=hge->Texture_Load("Sprite/bonus/bonus_shilo.png"); | |
bonus_this_text_tex=hge->Texture_Load("Sprite/bonus/bonus_this_text.png"); | |
bonus_shilo_text_tex=hge->Texture_Load("Sprite/bonus/bonus_shilo_text.png"); | |
bonus_daun_text_tex=hge->Texture_Load("Sprite/bonus/bonus_daun_text.png"); | |
bonus_ulitka_text_tex=hge->Texture_Load("Sprite/bonus/bonus_ulitka_text.png"); | |
bonus_umnik_text_tex=hge->Texture_Load("Sprite/bonus/bonus_umnik_text.png"); | |
bonus_shilo_status_tex=hge->Texture_Load("Sprite/bonus/bonus_shilo_status.png"); | |
bonus_daun_status_tex=hge->Texture_Load("Sprite/bonus/bonus_daun_status.png"); | |
bonus_ulitka_status_tex=hge->Texture_Load("Sprite/bonus/bonus_ulitka_status.png"); | |
bonus_umnik_status_tex=hge->Texture_Load("Sprite/bonus/bonus_umnik_status.png"); | |
fon1_tex=hge->Texture_Load("Sprite/fon/fon_trava_pojuxlaya.png"); | |
fon2_tex=hge->Texture_Load("Sprite/fon/fon_trava_poj-trava_vlesu.png"); | |
fon3_tex=hge->Texture_Load("Sprite/fon/fon_trava_vlesu.png"); | |
oblaka1_tex=hge->Texture_Load("Sprite/oblaka/oblaka_derevnya.png"); | |
alkash1_tex=hge->Texture_Load("Sprite/fon_interaktive/alkash1.png"); | |
derevo1_tex=hge->Texture_Load("Sprite/objects/trees/derevo1.png"); | |
penek1_tex=hge->Texture_Load("Sprite/objects/trees/penek1.png"); | |
znak_polputi_tex=hge->Texture_Load("Sprite/fon_lvling/znak_polputi.png"); | |
polosa_finish_tex=hge->Texture_Load("Sprite/fon_lvling/polosa_finish.png"); | |
okno_lvl_progress_tex=hge->Texture_Load("Sprite/status/okno_lvl_progress.png"); | |
okno_lvl_progress_red_tex=hge->Texture_Load("Sprite/status/okno_lvl_progress_red.png"); | |
okno_lvl_progress_green_tex=hge->Texture_Load("Sprite/status/okno_lvl_progress_green.png"); | |
okno_lvl_polzunok_tex=hge->Texture_Load("Sprite/status/okno_lvl_polzunok.png"); | |
galka_tex=hge->Texture_Load("Sprite/other/galka.png"); | |
galka_menu_tex=hge->Texture_Load("Sprite/other/galka_menu.png"); | |
strelka_menu_tex=hge->Texture_Load("Sprite/other/strelka_menu.png"); | |
strelka_menu_D_tex=hge->Texture_Load("Sprite/other/strelka_menu_D.png"); | |
znak_myasnik_tex=hge->Texture_Load("Sprite/class/znak_myasnik.png"); | |
znak_strelok_tex=hge->Texture_Load("Sprite/class/znak_strelok.png"); | |
znak_razrushitel_tex=hge->Texture_Load("Sprite/class/znak_razrushitel.png"); | |
znak_tehnik_tex=hge->Texture_Load("Sprite/class/znak_tehnik.png"); | |
status_opit_tex=hge->Texture_Load("Sprite/status/okno_opit.png"); | |
status_udar_tex=hge->Texture_Load("Sprite/status/okno_udar.png"); | |
status_status_tex=hge->Texture_Load("Sprite/status/okno_status.png"); | |
opit_okno_vibora_tex=hge->Texture_Load("Sprite/status/opit_oknovibora.png"); | |
//текстуры оружия | |
if(ak_tex==0) | |
{ak=hge->Texture_Load("Sprite/pushki/ak47.tga");} | |
if(ak_tex==1) | |
{ak=hge->Texture_Load("Sprite/pushki/ak47_2.tga");} | |
if(ak2_tex==0) | |
{ak2=hge->Texture_Load("Sprite/pushki/ak47.tga");} | |
if(ak2_tex==1) | |
{ak2=hge->Texture_Load("Sprite/pushki/ak47_2.tga");} | |
ak_upgraded=hge->Texture_Load("Sprite/pushki/ak47_upgraded.tga"); | |
ak2_upgraded=hge->Texture_Load("Sprite/pushki/ak47_2_upgraded.tga"); | |
w_pm_tex=hge->Texture_Load("Sprite/pushki/pm.png"); | |
w_pp19_vityaz_tex=hge->Texture_Load("Sprite/pushki/pp19_vityaz.tga"); | |
w_fn_f2000_tex=hge->Texture_Load("Sprite/pushki/FN_F2000.png"); | |
w_fn_f2000_upgraded_tex=hge->Texture_Load("Sprite/pushki/FN_F2000_upgraded.png"); | |
w_tt_tex=hge->Texture_Load("Sprite/pushki/TT.png"); | |
w_rpk_tex=hge->Texture_Load("Sprite/pushki/RPK74.png"); | |
w_mac_tex=hge->Texture_Load("Sprite/pushki/MAC.png"); | |
w_winchester_tex=hge->Texture_Load("Sprite/pushki/winchester.png"); | |
w_winchester_anime_tex=hge->Texture_Load("Sprite/pushki/winchester_anime.png"); | |
w_rpk47_tex=hge->Texture_Load("Sprite/pushki/RPK47.png"); | |
w_glok_tex=hge->Texture_Load("Sprite/pushki/glock-37.png"); | |
w_glok2_tex=hge->Texture_Load("Sprite/pushki/glock-37.png"); | |
w_rgd5_tex=hge->Texture_Load("Sprite/pushki/rgd5.png"); | |
w_milkor_tex=hge->Texture_Load("Sprite/pushki/Milkor MGL.png"); | |
w_panzer_tex=hge->Texture_Load("Sprite/pushki/panzerfaust3.png"); | |
w_panzer_out_tex=hge->Texture_Load("Sprite/pushki/panzerfaust3_out.png"); | |
w_webley_tex=hge->Texture_Load("Sprite/pushki/webley_mk4.png"); | |
w_fn_five_seven_tex=hge->Texture_Load("Sprite/pushki/fn_five-seven.png"); | |
w_qlz87_pushka_tex=hge->Texture_Load("Sprite/pushki/qlz-87_pushka.png"); | |
w_qlz87_trenoga_tex=hge->Texture_Load("Sprite/pushki/qlz-87_trenoga.png"); | |
w_granata_podstvol_tex=hge->Texture_Load("Sprite/pushki/granata_podstvol.png"); | |
w_granata_panzer_tex=hge->Texture_Load("Sprite/pushki/granata_panzerfaust3.png"); | |
katana_udar_sleva_tex=hge->Texture_Load("Sprite/pushki/katana_udar_sleva.png"); | |
ogon1=hge->Texture_Load("Sprite/fire/pulya.tga"); | |
blood_ssit_tex=hge->Texture_Load("Data/blood_ssit.png"); | |
RPG_healing_tex=hge->Texture_Load("Data/particle_zvezda.png"); | |
vzriv_grena_tex=hge->Texture_Load("Data/particles.png"); | |
vzriv_ogon_grena_tex=hge->Texture_Load("Data/particles.png"); | |
if(!menu_font||!oboima_text||!info||!infoR||!infoD||!infoBR|| | |
!oblaka1_tex||!fon1_tex||!fon2_tex||!fon3_tex|| | |
!galka_tex||!galka_menu_tex||!strelka_menu_tex||!strelka_menu_D_tex|| | |
!znak_myasnik_tex||!znak_strelok_tex||!znak_razrushitel_tex||!znak_tehnik_tex|| | |
!status_opit_tex||!status_udar_tex||!status_status_tex||!opit_okno_vibora_tex|| | |
!okno_lvl_progress_tex||!okno_lvl_progress_red_tex||!okno_lvl_progress_green_tex||!okno_lvl_polzunok_tex|| | |
!snd||!ak_reload1||!ak_reload2||!pm_fire||!pm_reload1||!pm_reload2|| | |
!pp19_fire||!pp19_reload1||!pp19_reload2||!fn_f2000_fire||!tt_fire|| | |
!mac_fire||!mac_reload1||!mac_reload2||!webley_fire||!webley_reload1||!webley_reload2||!milkor_fire|| | |
!fn_five_seven_fire||!winch_fire||!drob_reload1||!drob_pompa||!vzriv_grena1|| | |
!rocket_fire||!rocket2_fire||!rocket_polet||!rocket2_polet|| | |
!myaso_upalo1||!myaso_upalo2||!myaso_upalo3||!myaso_upalo4||!myaso_upalo5||!myaso_upalo6||!myaso_upalo7|| | |
!myaso_upalo8|| | |
!myaso_razriv_user1||!myaso_razriv_user2|| | |
!menu_sound||!menu_choose|| | |
!shot1||!headshot1||!headshot2||!headshot3||!headshot4||!headshot5||!headshot6||!headshot7||!headshot8|| | |
!ssik1||!ssik2||!ssik3|!ssik4|| | |
!ptenec_death1|| | |
!ak||!ak2||!ak_upgraded||!ak2_upgraded||!w_pm_tex||!w_pp19_vityaz_tex||!w_fn_f2000_tex||!w_fn_f2000_upgraded_tex|| | |
!w_tt_tex||!w_rpk_tex||!w_mac_tex|| | |
!w_winchester_tex||!w_winchester_anime_tex||!w_rpk47_tex||!w_glok_tex||!w_glok2_tex||!w_rgd5_tex||!w_milkor_tex|| | |
!w_panzer_tex||!w_panzer_out_tex||!w_webley_tex||!w_fn_five_seven_tex||!w_granata_podstvol_tex||!w_granata_panzer_tex|| | |
!w_qlz87_pushka_tex||!w_qlz87_trenoga_tex||!katana_udar_sleva_tex|| | |
!blood1_tex||!blood2_tex||!blood3_tex||!blood_shot1_tex|| | |
!blood_plyam1_tex||!blood_plyam2_tex||!blood_plyam3_tex||!blood_luzha1_tex|| | |
!blood_myaso1_tex||!blood_myaso2_tex||!blood_myaso3_tex||!blood_myaso4_tex||!blood_myaso5_tex|| | |
!blood_zayac_noga1_tex||!blood_zayac_noga2_tex||!blood_zayac_noga3_tex||!blood_zayac_noga4_tex|| | |
!blood_zayac_rebra1_tex||!blood_zayac_rebra2_tex|| | |
!blood_vzriv1_a_tex||!blood_vzriv1_b_tex||!blood_vzriv1_c_tex||!blood_vzriv1_d_tex||!blood_vzriv1_e_tex|| | |
!blood_vzriv1_e2_tex|| | |
!player1_myasnik_gogranata_ruka1_tex||!player1_myasnik_gogranata_ruka2_tex|| | |
!player1_strelok_gogranata_ruka1_tex||!player1_strelok_gogranata_ruka2_tex|| | |
!player1_razrushitel_gogranata_ruka1_tex||!player1_razrushitel_gogranata_ruka2_tex|| | |
!player1_tehnik_gogranata_ruka1_tex||!player1_tehnik_gogranata_ruka2_tex|| | |
!player1_myasnik_tex||!player1_strelok_tex||!player1_razrushitel_tex||!player1_tehnik_tex|| | |
!player1_myasnik_ruka1_udar_sleva_tex||!player1_strelok_ruka1_udar_sleva_tex|| | |
!player1_razrushitel_ruka1_udar_sleva_tex||!player1_tehnik_ruka1_udar_sleva_tex|| | |
!player1_myasnik_ruka1_pistol_tex||!player1_strelok_ruka1_pistol_tex|| | |
!player1_razrushitel_ruka1_pistol_tex||!player1_tehnik_ruka1_pistol_tex|| | |
!player1_myasnik_ruka1_vintovka_tex||!player1_strelok_ruka1_vintovka_tex|| | |
!player1_razrushitel_ruka1_vintovka_tex||!player1_tehnik_ruka1_vintovka_tex|| | |
!player1_myasnik_ruka1_winch_tex||!player1_strelok_ruka1_winch_tex|| | |
!player1_razrushitel_ruka1_winch_tex||!player1_tehnik_ruka1_winch_tex|| | |
!player2_strelok_tex||!player2_gogranata_ruka1_tex||!player2_gogranata_ruka2_tex|| | |
!player2_strelok_ruka1_udar_sleva_tex||!player2_strelok_ruka1_vintovka_tex||!player2_strelok_ruka1_pistol_tex|| | |
!zayac_go_tex||!zayac_uhi_k_tex||!zayac_uhi_s_tex||!zayac_uhi_tex|| | |
!zayac_boshka_tex||!zayac_boshka_bezuh_tex|| | |
!volk_go_tex||!volk_trup1_a_tex||!volk_trup1_b_tex||!volk_trup1_c_tex|| | |
!medved_go_tex||!medved_boshka1_tex|| | |
!medved_trup1_a_tex||!medved_trup1_b_tex||!medved_trup1_c_tex||!medved_trup1_d_tex||!medved_trup1_e_tex||!medved_trup1_f_tex|| | |
!medved_trup1_a_bezboshki_tex||!medved_trup1_b_bezboshki_tex||!medved_trup1_c_bezboshki_tex|| | |
!medved_trup1_d_bezboshki_tex||!medved_trup1_e_bezboshki_tex||!medved_trup1_f_bezboshki_tex|| | |
!ptenec_go_tex||!ptenec_wait_tex||!ptenec_vpolete_tex||!ptenec_vpolete_reverse_tex||!ptenec_trup1_tex|| | |
!ptenec_boshka_vzriv1_a_tex||!ptenec_boshka_vzriv1_b_tex||!ptenec_boshka_vzriv1_c_tex|| | |
!ptenec_boshka_vzriv1_d_tex||!ptenec_boshka_vzriv1_e_tex|| | |
!RPG_healer_tex||!RPG_illusionist_tex||!RPG_teleporter_tex|| | |
!bonus_shilo_tex||!bonus_this_tex|| | |
!bonus_shilo_text_tex||!bonus_this_text_tex||!bonus_daun_text_tex||!bonus_ulitka_text_tex||!bonus_umnik_text_tex|| | |
!bonus_shilo_status_tex||!bonus_daun_status_tex||!bonus_ulitka_status_tex||!bonus_umnik_status_tex|| | |
!zayac_trup1_a_tex||!zayac_trup1_b_tex||!zayac_trup1_c_tex||!zayac_trup1_d_tex|| | |
!zayac_trup1_a_bezuh_tex||!zayac_trup1_b_bezuh_tex||!zayac_trup1_c_bezuh_tex||!zayac_trup1_d_bezuh_tex|| | |
!zayac_trup1_a_bezboshki_tex||!zayac_trup1_b_bezboshki_tex||!zayac_trup1_c_bezboshki_tex|| | |
!zayac_trup1_d_bezboshki_tex|| | |
!zayac_go_bezuh_tex||!ogon1|| | |
!blood_ssit_tex||!RPG_healing_tex||!vzriv_grena_tex||!vzriv_ogon_grena_tex|| | |
!alkash1_tex||!derevo1_tex||!penek1_tex|| | |
!znak_polputi_tex||!polosa_finish_tex) | |
{ | |
// If one of the data files is not found, display | |
// an error message and shutdown. | |
MessageBox(NULL, "Ошибка загрузки игровых файлов.", "Ошибка, пля!!!", MB_OK | MB_ICONERROR | MB_APPLMODAL); | |
hge->System_Shutdown(); | |
hge->Release(); | |
return 0; | |
} | |
//начальные коррдинаты пули | |
px=x-24; | |
py=y-9; | |
kills=0; | |
menu= new hgeGUI(); | |
menu->AddCtrl(new hgeGUIMenuItem(1,menu_font,menu_sound,menu_choose,600,200,0.0f,"Старт")); | |
menu->AddCtrl(new hgeGUIMenuItem(2,menu_font,menu_sound,menu_choose,600,240,0.1f,"Опции")); | |
menu->AddCtrl(new hgeGUIMenuItem(3,menu_font,menu_sound,menu_choose,600,280,0.2f,"Инфо")); | |
menu->AddCtrl(new hgeGUIMenuItem(4,menu_font,menu_sound,menu_choose,600,320,0.3f,"Авторы")); | |
menu->AddCtrl(new hgeGUIMenuItem(5,menu_font,menu_sound,menu_choose,600,360,0.4f,"Выход")); | |
menu->AddCtrl(new hgeGUIMenuItem(6,menu_font,0,0,600,400,0.4f,"")); | |
menu->SetNavMode(HGEGUI_UPDOWN | HGEGUI_CYCLED); | |
menu->SetFocus(1); | |
menu->Enter(); | |
menu_info= new hgeGUI(); | |
menu_info->AddCtrl(new hgeGUIMenuItem(1,menu_font,menu_sound,menu_choose,600,200,0.0f,"Враги")); | |
menu_info->AddCtrl(new hgeGUIMenuItem(2,menu_font,menu_sound,menu_choose,600,240,0.1f,"Оружие")); | |
menu_info->AddCtrl(new hgeGUIMenuItem(3,menu_font,menu_sound,menu_choose,600,280,0.2f,"Бонусы")); | |
menu_info->AddCtrl(new hgeGUIMenuItem(4,menu_font,menu_sound,menu_choose,600,320,0.3f,"Назад")); | |
menu_info->SetNavMode(HGEGUI_UPDOWN | HGEGUI_CYCLED); | |
menu_info->SetFocus(1); | |
menu_info->Enter(); | |
menu_start= new hgeGUI(); | |
menu_start->AddCtrl(new hgeGUIMenuItem(1,menu_font,menu_sound,menu_choose,600,200,0.0f,"1 ИГРОК")); | |
menu_start->AddCtrl(new hgeGUIMenuItem(2,menu_font,menu_sound,menu_choose,600,240,0.1f,"2 ИГРОКА")); | |
menu_start->AddCtrl(new hgeGUIMenuItem(3,menu_font,menu_sound,menu_choose,600,280,0.2f,"Назад")); | |
menu_start->SetNavMode(HGEGUI_UPDOWN | HGEGUI_CYCLED); | |
menu_start->SetFocus(1); | |
menu_start->Enter(); | |
menu_video= new hgeGUI(); | |
menu_video->AddCtrl(new hgeGUIMenuItem(1,menu_font,menu_sound,menu_choose,600,280,0.0f,"ВКЛ СИСТЕМУ КЛАССОВ")); | |
menu_video->AddCtrl(new hgeGUIMenuItem(2,menu_font,menu_sound,menu_choose,600,320,0.1f,"ВЫКЛ СИСТЕМУ КЛАССОВ")); | |
menu_video->AddCtrl(new hgeGUIMenuItem(3,menu_font,menu_sound,menu_choose,600,500,0.0f,"ВКЛ RPGMOD")); | |
menu_video->AddCtrl(new hgeGUIMenuItem(4,menu_font,menu_sound,menu_choose,600,540,0.1f,"ВЫКЛ RPGMOD")); | |
menu_video->AddCtrl(new hgeGUIMenuItem(5,menu_font,menu_sound,menu_choose,600,580,0.1f,"ЗВУК")); | |
menu_video->SetNavMode(HGEGUI_UPDOWN | HGEGUI_CYCLED); | |
menu_video->SetFocus(1); | |
menu_video->Enter(); | |
menu_really= new hgeGUI(); | |
menu_really->AddCtrl(new hgeGUIMenuItem(1,menu_font,menu_sound,menu_choose,300,450,0.0f,"Да")); | |
menu_really->AddCtrl(new hgeGUIMenuItem(2,menu_font,menu_sound,menu_choose,900,450,0.1f,"Нет")); | |
menu_really->SetNavMode(HGEGUI_LEFTRIGHT | HGEGUI_CYCLED); | |
menu_really->SetFocus(2); | |
menu_really->Enter(); | |
menu_class= new hgeGUI(); | |
menu_class->AddCtrl(new hgeGUIMenuItem(1,menu_font,menu_sound,menu_choose,600,300,0.0f,"МЯСНИК")); | |
menu_class->AddCtrl(new hgeGUIMenuItem(2,menu_font,menu_sound,menu_choose,600,400,0.1f,"СТРЕЛОК")); | |
menu_class->AddCtrl(new hgeGUIMenuItem(3,menu_font,menu_sound,menu_choose,600,500,0.2f,"РАЗРУШИТЕЛЬ")); | |
menu_class->AddCtrl(new hgeGUIMenuItem(4,menu_font,menu_sound,menu_choose,600,600,0.3f,"ИНЖЕНЕР")); | |
menu_class->AddCtrl(new hgeGUIMenuItem(5,menu_font,menu_sound,menu_choose,600,700,0.4f,"Назад")); | |
menu_class->SetNavMode(HGEGUI_UPDOWN | HGEGUI_CYCLED); | |
menu_class->SetFocus(2); | |
menu_class->Enter(); | |
menu_class2= new hgeGUI(); | |
menu_class2->AddCtrl(new hgeGUIMenuItem(1,menu_font,menu_sound,menu_choose,600,300,0.0f,"МЯСНИК")); | |
menu_class2->AddCtrl(new hgeGUIMenuItem(2,menu_font,menu_sound,menu_choose,600,400,0.1f,"СТРЕЛОК")); | |
menu_class2->AddCtrl(new hgeGUIMenuItem(3,menu_font,menu_sound,menu_choose,600,500,0.2f,"РАЗРУШИТЕЛЬ")); | |
menu_class2->AddCtrl(new hgeGUIMenuItem(4,menu_font,menu_sound,menu_choose,600,600,0.3f,"ИНЖЕНЕР")); | |
menu_class2->AddCtrl(new hgeGUIMenuItem(5,menu_font,menu_sound,menu_choose,600,700,0.4f,"Назад")); | |
menu_class2->SetNavMode(HGEGUI_UPDOWN | HGEGUI_CYCLED); | |
menu_class2->SetFocus(2); | |
menu_class2->Enter(); | |
fonColor= new hgeColor(0xFFCCCCCC); | |
blood_target=hge->Target_Create(1200,900,false); | |
blood_tar=new hgeSprite(hge->Target_GetTexture(blood_target),0,0,1200,900); | |
blood_tar->SetColor(0xFFFFFFFF); | |
blood_tar->SetBlendMode(BLEND_COLORMUL|BLEND_ALPHAADD|BLEND_NOZWRITE); | |
//фон | |
fon1= new hgeSprite(fon1_tex,0,0,600,450); //пожухлая трава | |
fon1->SetColor(fonColor->GetHWColor()); | |
fon2= new hgeSprite(fon2_tex,0,0,600,450); //из пожухлой в лесную | |
fon2->SetColor(fonColor->GetHWColor()); | |
fon3= new hgeSprite(fon3_tex,0,0,600,450); //лесная трава | |
fon3->SetColor(fonColor->GetHWColor()); | |
oblaka1= new hgeSprite(oblaka1_tex,0,0,2000,100); | |
oblaka1->SetColor(0xFFFFFFFF); | |
alkash1= new hgeSprite(alkash1_tex,0,0,150,50); | |
alkash1->SetColor(0xFFAAAAAA); | |
derevo1= new hgeSprite(derevo1_tex,0,0,200,450); | |
derevo1->SetColor(0xFFAAAAAA); | |
derevo1->SetHotSpot(100, 428); | |
penek1= new hgeSprite(penek1_tex,0,0,100,55); | |
penek1->SetColor(0xFFAAAAAA); | |
penek1->SetHotSpot(50, 22); | |
znak_polputi= new hgeSprite(znak_polputi_tex,0,0,100,100); | |
znak_polputi->SetColor(0xFFAAAAAA); | |
znak_polputi->SetHotSpot(50, 50); | |
polosa_finish= new hgeSprite(polosa_finish_tex,0,0,15,477); | |
polosa_finish->SetColor(0xFFAAAAAA); | |
galka=new hgeSprite(galka_tex, 0, 0, 20, 20); | |
galka->SetColor(0xFFFFFFFF); | |
galka->SetHotSpot(10, 10); | |
galka_menu=new hgeSprite(galka_menu_tex, 0, 0, 50, 50); | |
galka_menu->SetColor(0xFFFFFFFF); | |
galka_menu->SetHotSpot(25, 25); | |
strelka_menu=new hgeSprite(strelka_menu_tex, 0, 0, 50, 50); | |
strelka_menu->SetColor(0xFFFFFFFF); | |
strelka_menu->SetHotSpot(25, 25); | |
znak_myasnik= new hgeSprite(znak_myasnik_tex, 0, 0, 64, 64); | |
znak_myasnik->SetColor(0xFFFFFFFF); | |
znak_myasnik->SetHotSpot(32, 32); | |
znak_strelok= new hgeSprite(znak_strelok_tex, 0, 0, 64, 64); | |
znak_strelok->SetColor(0xFFFFFFFF); | |
znak_strelok->SetHotSpot(32, 32); | |
znak_razrushitel= new hgeSprite(znak_razrushitel_tex, 0, 0, 64, 64); | |
znak_razrushitel->SetColor(0xFFFFFFFF); | |
znak_razrushitel->SetHotSpot(32, 32); | |
znak_tehnik= new hgeSprite(znak_tehnik_tex, 0, 0, 64, 64); | |
znak_tehnik->SetColor(0xFFFFFFFF); | |
znak_tehnik->SetHotSpot(32, 32); | |
status_opit=new hgeSprite(status_opit_tex, 0, 0, 180, 20); | |
status_opit->SetColor(0xDDFFFFFF); | |
//status_opit->SetHotSpot(90, 10); | |
status_udar=new hgeSprite(status_udar_tex, 0, 0, 180, 20); | |
status_udar->SetColor(0xDDFFFFFF); | |
status_status=new hgeSprite(status_status_tex, 0, 0, 28, 250); | |
status_status->SetColor(0xDDFFFFFF); | |
opit1_progress=new hgeSprite(0, 0, 0, 180, 18); | |
opit1_progress->SetColor(0xAAF0FF02); | |
//opit1_progress->SetHotSpot(90, 9); | |
opit_okno_vibora=new hgeSprite(opit_okno_vibora_tex, 0, 0, 700, 517); | |
opit_okno_vibora->SetColor(0xFFFFFFFF); | |
opit_okno_vibora->SetHotSpot(350, 259); | |
okno_lvl_progress=new hgeSprite(okno_lvl_progress_tex, 0, 0, 600, 20); | |
okno_lvl_progress->SetColor(0xDDFFFFFF); | |
okno_lvl_progress->SetHotSpot(300, 10); | |
okno_lvl_progress_red=new hgeSprite(okno_lvl_progress_red_tex, 0, 0, 600, 20); | |
okno_lvl_progress_red->SetColor(0xDDFFFFFF); | |
okno_lvl_progress_red->SetHotSpot(300, 10); | |
okno_lvl_progress_green=new hgeSprite(okno_lvl_progress_green_tex, 0, 0, 600, 20); | |
okno_lvl_progress_green->SetColor(0xDDFFFFFF); | |
okno_lvl_progress_green->SetHotSpot(300, 10); | |
okno_lvl_polzunok=new hgeSprite(okno_lvl_polzunok_tex, 0, 0, 10, 36); | |
okno_lvl_polzunok->SetColor(0xAAFFFFFF); | |
okno_lvl_polzunok->SetHotSpot(5, 18); | |
//огонь выстрела | |
pulya=new hgeSprite(ogon1, 0, 0, 16, 16); | |
pulya->SetColor(0x00FFFFFF); | |
pulya->SetHotSpot(8, 8); | |
//огонь выстрела 2 | |
pulya2=new hgeSprite(ogon1, 0, 0, 16, 16); | |
pulya2->SetColor(0x00FFFFFF); | |
pulya2->SetHotSpot(8, 8); | |
//пуля | |
p=new hgeSprite(0, 0, 0, 3, 1); | |
p->SetColor(0xFFFFDC1D); | |
//пуля2 | |
p2=new hgeSprite(0, 0, 0, 3, 1); | |
p2->SetColor(0xFFFFDC1D); | |
p1d1=new hgeSprite(0, 0, 0, 3, 1); | |
p1d1->SetColor(0xFFFFDC1D); | |
p1d2=new hgeSprite(0, 0, 0, 3, 1); | |
p1d2->SetColor(0xFFFFDC1D); | |
p1d3=new hgeSprite(0, 0, 0, 3, 1); | |
p1d3->SetColor(0xFFFFDC1D); | |
p1d4=new hgeSprite(0, 0, 0, 3, 1); | |
p1d4->SetColor(0xFFFFDC1D); | |
p2d1=new hgeSprite(0, 0, 0, 3, 1); | |
p2d1->SetColor(0xFFFFDC1D); | |
p2d2=new hgeSprite(0, 0, 0, 3, 1); | |
p2d2->SetColor(0xFFFFDC1D); | |
p2d3=new hgeSprite(0, 0, 0, 3, 1); | |
p2d3->SetColor(0xFFFFDC1D); | |
p2d4=new hgeSprite(0, 0, 0, 3, 1); | |
p2d4->SetColor(0xFFFFDC1D); | |
optika1=new hgeSprite(0, 0, 0, 3, 1); | |
optika1->SetColor(0xFFFFFFFF); | |
gilza_pist=new hgeSprite(0, 0, 0, 1, 1); | |
gilza_pist->SetColor(0xFFFFDC1D); | |
gilza_avt=new hgeSprite(0, 0, 0, 2, 1); | |
gilza_avt->SetColor(0xFFFFDC1D); | |
granata_podstvol=new hgeSprite(w_granata_podstvol_tex, 0, 0, 58, 24); | |
granata_podstvol->SetColor(0xFFAAAAAA); | |
granata_podstvol->SetHotSpot(29,12); | |
granata_panzer=new hgeSprite(w_granata_panzer_tex, 0, 0, 64, 13); | |
granata_panzer->SetColor(0xFFFFFFFF); | |
granata_panzer->SetHotSpot(32,6); | |
//ak47-1 | |
if(ak_tex==0) //деревянный старый | |
{ak47=new hgeSprite(ak , 0 , 0, 128, 40); | |
ak47->SetColor(0xFFFFFFFF); | |
ak47->SetHotSpot(64, 20);} | |
if(ak_tex==1) //железный | |
{ak47=new hgeSprite(ak2 , 0 , 0, 123, 37);} | |
ak47->SetColor(0xFFFFFFFF); | |
ak47->SetHotSpot(62, 18); | |
//ak47-2 | |
if(ak2_tex==0) //деревянный старый | |
{ak472=new hgeSprite(ak , 0 , 0, 128, 40); | |
ak472->SetColor(0xFFFFFFFF); | |
ak472->SetHotSpot(64, 20);} | |
if(ak2_tex==1) //железный | |
{ak472=new hgeSprite(ak2 , 0 , 0, 123, 37);} | |
ak472->SetColor(0xFFFFFFFF); | |
ak472->SetHotSpot(62, 18); | |
//Пистолет Макарова | |
pm=new hgeSprite(w_pm_tex , 0 , 0, 100, 80); | |
pm->SetColor(0xFFFFFFFF); | |
pm->SetHotSpot(50,40); | |
//Пистолет Макарова 2 | |
pm2=new hgeSprite(w_pm_tex , 0 , 0, 100, 80); | |
pm2->SetColor(0xFFFFFFFF); | |
pm2->SetHotSpot(50,40); | |
//ПП19-01 "Витязь" | |
pp19_vityaz=new hgeSprite(w_pp19_vityaz_tex , 0 , 0, 100,44); | |
pp19_vityaz->SetColor(0xFFFFFFFF); | |
pp19_vityaz->SetHotSpot(50,22); | |
//ПП19-01 "Витязь" 2 | |
pp19_vityaz2=new hgeSprite(w_pp19_vityaz_tex , 0 , 0, 100,44); | |
pp19_vityaz2->SetColor(0xFFFFFFFF); | |
pp19_vityaz2->SetHotSpot(50,22); | |
//FN F2000 | |
fn_f2000=new hgeSprite(w_fn_f2000_tex , 0 , 0, 128,56); | |
fn_f2000->SetColor(0xFFFFFFFF); | |
fn_f2000->SetHotSpot(64,28); | |
//FN F2000 2 | |
fn_f20002=new hgeSprite(w_fn_f2000_tex , 0 , 0, 128,56); | |
fn_f20002->SetColor(0xFFFFFFFF); | |
fn_f20002->SetHotSpot(64,28); | |
//TT | |
tt=new hgeSprite(w_tt_tex , 0 , 0, 64,45); | |
tt->SetColor(0xFFFFFFFF); | |
tt->SetHotSpot(32,22); | |
//TT 2 | |
tt2=new hgeSprite(w_tt_tex , 0 , 0, 64,45); | |
tt2->SetColor(0xFFFFFFFF); | |
tt2->SetHotSpot(32,22); | |
//РПК 74 | |
rpk=new hgeSprite(w_rpk_tex , 0 , 0, 150,45); | |
rpk->SetColor(0xFFFFFFFF); | |
rpk->SetHotSpot(75,22); | |
//РПК 74 2 | |
rpk2=new hgeSprite(w_rpk_tex , 0 , 0, 150,45); | |
rpk2->SetColor(0xFFFFFFFF); | |
rpk2->SetHotSpot(75,22); | |
//MAC | |
mac=new hgeSprite(w_mac_tex , 0 , 0, 100,88); | |
mac->SetColor(0xFFFFFFFF); | |
mac->SetHotSpot(50,44); | |
//MAC 2 | |
mac2=new hgeSprite(w_mac_tex , 0 , 0, 100,88); | |
mac2->SetColor(0xFFFFFFFF); | |
mac2->SetHotSpot(50,44); | |
//Винчестер 1 | |
winchester=new hgeSprite(w_winchester_tex , 0 , 0, 128,27); | |
winchester->SetColor(0xFFFFFFFF); | |
winchester->SetHotSpot(64,13); | |
//Винчестер 2 | |
winchester2=new hgeSprite(w_winchester_tex , 0 , 0, 128,27); | |
winchester2->SetColor(0xFFFFFFFF); | |
winchester2->SetHotSpot(64,13); | |
winchester_anime=new hgeAnimation(w_winchester_anime_tex,3,8.0f,0,0,128,27); | |
winchester_anime->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_NOLOOP); | |
winchester_anime->SetColor(0xFFFFFFFF);//анимация видима | |
winchester2_anime=new hgeAnimation(w_winchester_anime_tex,3,8.0f,0,0,128,27); | |
winchester2_anime->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_NOLOOP); | |
winchester2_anime->SetColor(0xFFFFFFFF);//анимация видима | |
//РПК 47 | |
rpk47=new hgeSprite(w_rpk47_tex , 0 , 0, 150,64); | |
rpk47->SetColor(0xFFFFFFFF); | |
rpk47->SetHotSpot(75,32); | |
//РПК 47 2 | |
rpk472=new hgeSprite(w_rpk47_tex , 0 , 0, 150,64); | |
rpk472->SetColor(0xFFFFFFFF); | |
rpk472->SetHotSpot(75,32); | |
//GLOCK | |
glok=new hgeSprite(w_glok_tex , 0 , 0, 100,66); | |
glok->SetColor(0xFFFFFFFF); | |
glok->SetHotSpot(50,33); | |
//GLOCK 2 | |
glok2=new hgeSprite(w_glok2_tex , 0 , 0, 100,66); | |
glok2->SetColor(0xFFFFFFFF); | |
glok2->SetHotSpot(50,33); | |
//РГД-5 | |
rgd5=new hgeSprite(w_rgd5_tex , 0 , 0, 25,25); | |
rgd5->SetColor(0xFFFFFFFF); | |
rgd5->SetHotSpot(10,10); | |
//РГД-5 2 | |
rgd52=new hgeSprite(w_rgd5_tex , 0 , 0, 25,25); | |
rgd52->SetColor(0xFFFFFFFF); | |
rgd52->SetHotSpot(10,10); | |
//КАТАНА 1 | |
katana1_anime=new hgeAnimation(katana_udar_sleva_tex,4,20.0f,0,0,150,96); | |
katana1_anime->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_NOLOOP); | |
katana1_anime->SetColor(0xFFAAAAAA); | |
//КАТАНА 2 | |
katana2_anime=new hgeAnimation(katana_udar_sleva_tex,4,20.0f,0,0,150,96); | |
katana2_anime->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_NOLOOP); | |
katana2_anime->SetColor(0xFFAAAAAA); | |
//Milkor MGL | |
milkor=new hgeSprite(w_milkor_tex , 0, 0, 100,34); | |
milkor->SetColor(0xFFFFFFFF); | |
milkor->SetHotSpot(50,17); | |
//Milkor MGL 2 | |
milkor2=new hgeSprite(w_milkor_tex , 0, 0, 100,34); | |
milkor2->SetColor(0xFFFFFFFF); | |
milkor2->SetHotSpot(50,17); | |
//Panzerfaust-3 | |
panzer=new hgeSprite(w_panzer_tex , 0, 0, 150,38); | |
panzer->SetColor(0xFFFFFFFF); | |
panzer->SetHotSpot(55,19); | |
//Panzerfaust-3 2 | |
panzer2=new hgeSprite(w_panzer_tex , 0, 0, 150,38); | |
panzer2->SetColor(0xFFFFFFFF); | |
panzer2->SetHotSpot(55,19); | |
//Webley MK4 | |
webley=new hgeSprite(w_webley_tex , 0, 0, 100,53); | |
webley->SetColor(0xFFFFFFFF); | |
webley->SetHotSpot(50,26); | |
//Webley MK4 2 | |
webley2=new hgeSprite(w_webley_tex , 0, 0, 100,53); | |
webley2->SetColor(0xFFFFFFFF); | |
webley2->SetHotSpot(50,26); | |
//FN Five-Seven | |
fn_five_seven=new hgeSprite(w_fn_five_seven_tex , 0, 0, 64,44); | |
fn_five_seven->SetColor(0xFFFFFFFF); | |
fn_five_seven->SetHotSpot(32,22); | |
//FN Five-Seven 2 | |
fn_five_seven2=new hgeSprite(w_fn_five_seven_tex , 0, 0, 64,44); | |
fn_five_seven2->SetColor(0xFFFFFFFF); | |
fn_five_seven2->SetHotSpot(32,22); | |
qlz87_pushka=new hgeSprite(w_qlz87_pushka_tex , 0, 0, 116,40); | |
qlz87_pushka->SetColor(0xFFFFFFFF); | |
qlz87_pushka->SetHotSpot(90,16); | |
qlz87_trenoga=new hgeSprite(w_qlz87_trenoga_tex , 0, 0, 118,57); | |
qlz87_trenoga->SetColor(0xFFFFFFFF); | |
qlz87_trenoga->SetHotSpot(59,28); | |
//ИГРОК 1 | |
player1_myasnik=new hgeAnimation(player1_myasnik_tex,4,12.0f,0,0,96,96); | |
player1_myasnik->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_LOOP); | |
player1_myasnik->SetColor(0xFFAAAAAA);//МЯСНИК | |
player1_strelok=new hgeAnimation(player1_strelok_tex,4,12.0f,0,0,96,96); | |
player1_strelok->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_LOOP); | |
player1_strelok->SetColor(0xFFAAAAAA);//СТРЕЛОК | |
player1_razrushitel=new hgeAnimation(player1_razrushitel_tex,4,12.0f,0,0,96,96); | |
player1_razrushitel->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_LOOP); | |
player1_razrushitel->SetColor(0xFFAAAAAA);//РАЗРУШИТЕЛЬ | |
player1_tehnik=new hgeAnimation(player1_tehnik_tex,4,12.0f,0,0,96,96); | |
player1_tehnik->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_LOOP); | |
player1_tehnik->SetColor(0xFFAAAAAA);//ТЕХНИК | |
player1_myasnik_ruka1_udar_sleva=new hgeAnimation(player1_myasnik_ruka1_udar_sleva_tex,4,20.0f,0,0,96,96); | |
player1_myasnik_ruka1_udar_sleva->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_NOLOOP); | |
player1_myasnik_ruka1_udar_sleva->SetColor(0xFFAAAAAA);//рука с ручным оружием | |
player1_ruka1_pistol=new hgeAnimation(player1_strelok_ruka1_pistol_tex,2,20.0f,0,0,96,96); | |
player1_ruka1_pistol->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_NOLOOP); | |
player1_ruka1_pistol->SetColor(0xFFAAAAAA);//рука с пистолетом | |
player1_ruka1_vintovka=new hgeAnimation(player1_strelok_ruka1_vintovka_tex,2,20.0f,0,0,96,96); | |
player1_ruka1_vintovka->SetMode(HGEANIM_FWD|HGEANIM_NOPINGPONG|HGEANIM_NOLOOP); | |
player1_ruka1_vintovka->SetColor(0xFFAAAAAA);//рука с винтовкой | |
player1_ruka1_winch=new hgeAnimation(player1_tehnik_ruka1_winch_tex,3,8.0f,0,0,96,96); | |
player1_ruka1_winch->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_NOLOOP); | |
player1_ruka1_winch->SetColor(0xFFAAAAAA);//рука с дробовиком | |
player1_gogranata_ruka1=new hgeAnimation(player1_strelok_gogranata_ruka1_tex,4,20.0f,0,0,96,96); | |
player1_gogranata_ruka1->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_NOLOOP); | |
player1_gogranata_ruka1->SetColor(0xFFAAAAAA); | |
player1_gogranata_ruka2=new hgeAnimation(player1_strelok_gogranata_ruka2_tex,4,20.0f,0,0,96,96); | |
player1_gogranata_ruka2->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_NOLOOP); | |
player1_gogranata_ruka2->SetColor(0xFFAAAAAA); | |
//ИГРОК 2 | |
player2_strelok=new hgeAnimation(player2_strelok_tex,4,12.0f,0,0,96,96); | |
player2_strelok->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_LOOP); | |
player2_strelok->SetColor(0xFFAAAAAA);//СТРЕЛОК | |
player2_gogranata_ruka1=new hgeAnimation(player2_gogranata_ruka1_tex,4,20.0f,0,0,96,96); | |
player2_gogranata_ruka1->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_NOLOOP); | |
player2_gogranata_ruka1->SetColor(0xFFAAAAAA); | |
player2_gogranata_ruka2=new hgeAnimation(player2_gogranata_ruka2_tex,4,20.0f,0,0,96,96); | |
player2_gogranata_ruka2->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_NOLOOP); | |
player2_gogranata_ruka2->SetColor(0xFFAAAAAA); | |
player2_myasnik_ruka1_udar_sleva=new hgeAnimation(player2_strelok_ruka1_udar_sleva_tex,4,20.0f,0,0,96,96); | |
player2_myasnik_ruka1_udar_sleva->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_NOLOOP); | |
player2_myasnik_ruka1_udar_sleva->SetColor(0xFFAAAAAA);//рука с ручным оружием | |
player2_ruka1_pistol=new hgeAnimation(player2_strelok_ruka1_pistol_tex,2,20.0f,0,0,96,96); | |
player2_ruka1_pistol->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_NOLOOP); | |
player2_ruka1_pistol->SetColor(0xFFAAAAAA);//рука с пистолетом | |
player2_ruka1_vintovka=new hgeAnimation(player2_strelok_ruka1_vintovka_tex,2,20.0f,0,0,96,96); | |
player2_ruka1_vintovka->SetMode(HGEANIM_FWD|HGEANIM_NOPINGPONG|HGEANIM_NOLOOP); | |
player2_ruka1_vintovka->SetColor(0xFFAAAAAA);//рука с винтовкой | |
//ЗАЯЦ | |
zayac=new hgeAnimation(zayac_go_tex,6,9.0f,0,0,40,40); | |
zayac->SetMode(HGEANIM_FWD|HGEANIM_NOPINGPONG|HGEANIM_LOOP); | |
zayac->SetColor(0xFFAAAAAA);//анимация видима | |
zayac->SetHotSpot(0,0); | |
uhi=new hgeSprite(zayac_uhi_s_tex,0,0,18,16); | |
uhi->SetColor(0xFFAAAAAA); | |
uhi->SetHotSpot(9,8); | |
zayac_boshka=new hgeSprite(zayac_boshka_tex,0,0,24,24); | |
zayac_boshka->SetColor(0xFFAAAAAA); | |
zayac_boshka->SetHotSpot(15,17); | |
zayac_boshka_bezuh=new hgeSprite(zayac_boshka_bezuh_tex,0,0,24,24); | |
zayac_boshka_bezuh->SetColor(0xFFAAAAAA); | |
zayac_boshka_bezuh->SetHotSpot(15,17); | |
//ТРУП ЗАЙЦА | |
zayac_trup1= new hgeSprite(zayac_go_tex,0,0,40,40); | |
zayac_trup1->SetColor(0xFFAAAAAA); | |
uhi_a= new hgeAnimation(zayac_uhi_tex,6,12.0f,0,0,18,16); | |
uhi_a->SetColor(0xFFAAAAAA); | |
uhi_a->SetMode(HGEANIM_FWD|HGEANIM_NOPINGPONG|HGEANIM_NOLOOP); | |
uhi_a->SetHotSpot(9,8); | |
//ВОЛК | |
volk=new hgeAnimation(volk_go_tex,7,9.0f,0,0,120,50); | |
volk->SetMode(HGEANIM_FWD|HGEANIM_NOPINGPONG|HGEANIM_LOOP); | |
volk->SetColor(0xFFAAAAAA);//анимация видима | |
volk->SetHotSpot(0,0); | |
//ТРУП ВОЛКА | |
volk_trup1= new hgeSprite(volk_go_tex,0,0,120,50); | |
volk_trup1->SetColor(0xFFAAAAAA); | |
//МЕДВЕДЬ | |
medved=new hgeAnimation(medved_go_tex,6,4.0f,0,0,190,225); | |
//ТРУП МЕДВЕДЯ | |
medved_trup1= new hgeSprite(medved_go_tex,0,0,190,225); | |
medved_boshka= new hgeSprite(medved_boshka1_tex,0,0,55,48); | |
medved_boshka->SetHotSpot(22,24); | |
//ПТЕНЕЦ | |
ptenec=new hgeAnimation(ptenec_go_tex,3,4.0f,0,0,32,32); | |
ptenec->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_LOOP); | |
ptenec->SetColor(0xFFAAAAAA);//анимация видима | |
ptenec_wait=new hgeAnimation(ptenec_wait_tex,9,6.0f,0,0,32,32); | |
ptenec_wait->SetMode(HGEANIM_FWD|HGEANIM_PINGPONG|HGEANIM_LOOP); | |
ptenec_wait->SetColor(0xFFAAAAAA);//анимация видима | |
ptenec_trup1= new hgeSprite(ptenec_trup1_tex,0,0,32,32); | |
ptenec_trup1->SetColor(0xFFAAAAAA); | |
ptenec_boshka_vzriv1= new hgeSprite(ptenec_boshka_vzriv1_a_tex,0,0,42,42); | |
ptenec_boshka_vzriv1->SetColor(0xFFAAAAAA); | |
//руны | |
RPG_healer= new hgeSprite(RPG_healer_tex,0,0,64,64); | |
RPG_healer->SetColor(0xFFAAAAAA); | |
RPG_illusionist= new hgeSprite(RPG_illusionist_tex,0,0,64,64); | |
RPG_illusionist->SetColor(0xFFAAAAAA); | |
RPG_teleporter= new hgeSprite(RPG_teleporter_tex,0,0,64,64); | |
RPG_teleporter->SetColor(0xFFAAAAAA); | |
//БОНУСЫ | |
bonus_this=new hgeSprite(bonus_this_tex,0,0,30,30); | |
bonus_this->SetColor(0xFFAAAAAA); | |
bonus_this->SetHotSpot(15,15); | |
bonus_shilo=new hgeSprite(bonus_shilo_tex,0,0,30,30); | |
bonus_shilo->SetColor(0xFFAAAAAA); | |
bonus_shilo->SetHotSpot(15,15); | |
//ТЕКСТЫ БОНУСОВ | |
bonus_this_text=new hgeSprite(bonus_this_text_tex,0,0,56,21); | |
bonus_this_text->SetColor(0xFFAAAAAA); | |
bonus_this_text->SetHotSpot(28,10); | |
bonus_shilo_text=new hgeSprite(bonus_shilo_text_tex,0,0,120,23); | |
bonus_shilo_text->SetColor(0xFFAAAAAA); | |
bonus_shilo_text->SetHotSpot(60,11); | |
bonus_daun_text=new hgeSprite(bonus_daun_text_tex,0,0,120,22); | |
bonus_daun_text->SetColor(0xFFAAAAAA); | |
bonus_daun_text->SetHotSpot(60,11); | |
bonus_ulitka_text=new hgeSprite(bonus_ulitka_text_tex,0,0,120,23); | |
bonus_ulitka_text->SetColor(0xFFAAAAAA); | |
bonus_ulitka_text->SetHotSpot(60,11); | |
bonus_umnik_text=new hgeSprite(bonus_umnik_text_tex,0,0,120,22); | |
bonus_umnik_text->SetColor(0xFFAAAAAA); | |
bonus_umnik_text->SetHotSpot(60,11); | |
//ЗНАЧКИ СТАТУСА БОНУСОВ | |
bonus_shilo_status=new hgeSprite(bonus_shilo_status_tex,0,0,20,20); | |
bonus_shilo_status->SetColor(0xFFFFFFFF); | |
bonus_shilo_status->SetHotSpot(10,10); | |
bonus_daun_status=new hgeSprite(bonus_daun_status_tex,0,0,20,20); | |
bonus_daun_status->SetColor(0xFFFFFFFF); | |
bonus_daun_status->SetHotSpot(10,10); | |
bonus_ulitka_status=new hgeSprite(bonus_ulitka_status_tex,0,0,20,20); | |
bonus_ulitka_status->SetColor(0xFFFFFFFF); | |
bonus_ulitka_status->SetHotSpot(10,10); | |
bonus_umnik_status=new hgeSprite(bonus_umnik_status_tex,0,0,20,20); | |
bonus_umnik_status->SetColor(0xFFFFFFFF); | |
bonus_umnik_status->SetHotSpot(10,10); | |
/* | |
krovyak1=new hgeAnimation(blood1_tex,8,24.0f,0,0,64,64); | |
krovyak1->SetColor(0xFFAAAAAA); | |
krovyak1->SetMode(HGEANIM_FWD|HGEANIM_NOPINGPONG|HGEANIM_NOLOOP); | |
krovyak1->SetHotSpot(32,32); | |
krovyak1_s=new hgeSprite(blood1_s_tex , 0 , 0, 64,64); | |
krovyak1_s->SetColor(0xFFAAAAAA); | |
krovyak1_s->SetHotSpot(32,32);*/ | |
//ДРИСНЯ | |
krovyak1= new hgeSprite(blood1_tex,0,0,128,64); | |
krovyak1->SetColor(0xFFAAAAAA); | |
krovyak1->SetHotSpot(64,32); | |
krovyak2= new hgeSprite(blood2_tex,0,0,128,64); | |
krovyak2->SetColor(0xFFAAAAAA); | |
krovyak2->SetHotSpot(64,32); | |
krovyak3= new hgeSprite(blood3_tex,0,0,128,64); | |
krovyak3->SetColor(0xFFAAAAAA); | |
krovyak3->SetHotSpot(64,32); | |
//ТОЧЕЧНЫЙ КРОВЯК | |
krovyak_shot1= new hgeSprite(blood_shot1_tex,0,0,16,16); | |
krovyak_shot1->SetColor(0xFFAAAAAA); | |
krovyak_shot1->SetHotSpot(8,8); | |
//КЛЯКСЫ | |
krovyak_plyam1= new hgeSprite(blood_plyam1_tex,0,0,64,64); | |
krovyak_plyam1->SetColor(0xFFAAAAAA); | |
krovyak_plyam1->SetHotSpot(32,32); | |
krovyak_plyam2= new hgeSprite(blood_plyam2_tex,0,0,64,60); | |
krovyak_plyam2->SetColor(0xFFAAAAAA); | |
krovyak_plyam2->SetHotSpot(32,30); | |
krovyak_plyam3= new hgeSprite(blood_plyam3_tex,0,0,64,60); | |
krovyak_plyam3->SetColor(0xFFAAAAAA); | |
krovyak_plyam3->SetHotSpot(32,30); | |
//ЛУЖИ | |
krovyak_luzha1= new hgeSprite(blood_luzha1_tex,0,0,128,64); | |
krovyak_luzha1->SetColor(0xFFAAAAAA); | |
krovyak_luzha1->SetHotSpot(64,32); | |
//МЯСО!!! | |
krovyak_myaso1= new hgeSprite(blood_myaso1_tex,0,0,43,24); | |
krovyak_myaso1->SetColor(0xFFAAAAAA); | |
krovyak_myaso1->SetHotSpot(21,12); | |
krovyak_myaso2= new hgeSprite(blood_myaso2_tex,0,0,36,22); | |
krovyak_myaso2->SetColor(0xFFAAAAAA); | |
krovyak_myaso2->SetHotSpot(18,11); | |
krovyak_myaso3= new hgeSprite(blood_myaso3_tex,0,0,38,25); | |
krovyak_myaso3->SetColor(0xFFAAAAAA); | |
krovyak_myaso3->SetHotSpot(19,12); | |
krovyak_myaso4= new hgeSprite(blood_myaso4_tex,0,0,30,19); | |
krovyak_myaso4->SetColor(0xFFAAAAAA); | |
krovyak_myaso4->SetHotSpot(15,9); | |
krovyak_myaso5= new hgeSprite(blood_myaso5_tex,0,0,30,19); | |
krovyak_myaso5->SetColor(0xFFAAAAAA); | |
krovyak_myaso5->SetHotSpot(15,9); | |
krovyak_zayac_noga1= new hgeSprite(blood_zayac_noga1_tex,0,0,14,21); | |
krovyak_zayac_noga1->SetColor(0xFFAAAAAA); | |
krovyak_zayac_noga1->SetHotSpot(7,10); | |
krovyak_zayac_noga2= new hgeSprite(blood_zayac_noga2_tex,0,0,18,23); | |
krovyak_zayac_noga2->SetColor(0xFFAAAAAA); | |
krovyak_zayac_noga2->SetHotSpot(9,18);//чтоб летела как культяпка))) | |
krovyak_zayac_noga3= new hgeSprite(blood_zayac_noga3_tex,0,0,18,23); | |
krovyak_zayac_noga3->SetColor(0xFFAAAAAA); | |
krovyak_zayac_noga3->SetHotSpot(9,20);//чтоб летела как культяпка))) | |
krovyak_zayac_noga4= new hgeSprite(blood_zayac_noga4_tex,0,0,18,20); | |
krovyak_zayac_noga4->SetColor(0xFFAAAAAA); | |
krovyak_zayac_noga4->SetHotSpot(9,10); | |
krovyak_zayac_rebra1= new hgeSprite(blood_zayac_rebra1_tex,0,0,16,13); | |
krovyak_zayac_rebra1->SetColor(0xFFAAAAAA); | |
krovyak_zayac_rebra1->SetHotSpot(8,6); | |
krovyak_zayac_rebra2= new hgeSprite(blood_zayac_rebra2_tex,0,0,16,13); | |
krovyak_zayac_rebra2->SetColor(0xFFAAAAAA); | |
krovyak_zayac_rebra2->SetHotSpot(8,6); | |
krovyak_vzriv1= new hgeSprite(blood_vzriv1_e_tex,0,0,64,64); | |
krovyak_vzriv1->SetColor(0xFFAAAAAA); | |
krovyak_vzriv1->SetHotSpot(32,32); | |
blood_ssit_spr=new hgeSprite(blood_ssit_tex, 0,0, 29, 30); | |
blood_ssit_spr->SetColor(0xFFAAAAAA); | |
blood_ssit_spr->SetHotSpot(15, 15); | |
blood_ssit_psi=new hgeParticleSystem("Data/blood_ssit.psi", blood_ssit_spr); | |
blood_ssit_psi->Fire(); | |
RPG_healing_spr=new hgeSprite(RPG_healing_tex, 0,0, 20, 20); | |
RPG_healing_spr->SetColor(0xFFAAAAAA); | |
RPG_healing_spr->SetHotSpot(10, 10); | |
RPG_healing_psi=new hgeParticleSystem("Data/particle_healing.psi", RPG_healing_spr); | |
RPG_healing_psi->Fire(); | |
vzriv_grena_spr=new hgeSprite(vzriv_grena_tex, 0,96, 32, 32); | |
vzriv_grena_spr->SetColor(0xFFAAAAAA); | |
vzriv_grena_spr->SetHotSpot(16, 16); | |
vzriv_grena_psi=new hgeParticleSystem("Data/particle_vzriv_grena.psi", vzriv_grena_spr); | |
vzriv_grena_psi->Fire(); | |
vzriv_ogon_grena_spr=new hgeSprite(vzriv_ogon_grena_tex, 0,96, 32, 32); | |
vzriv_ogon_grena_spr->SetColor(0xFFAAAAAA); | |
vzriv_ogon_grena_spr->SetHotSpot(16, 16); | |
vzriv_ogon_grena_psi=new hgeParticleSystem("Data/particle_vzriv_ogon_grena.psi", vzriv_ogon_grena_spr); | |
vzriv_ogon_grena_psi->Fire(); | |
for (int iii=0;iii<=999;iii++) | |
{opit_lvl[iii]=1000+500*(iii*iii+iii)/2;} | |
trupsObjects=new spriteObject[MAX_TRUPS]; //ТРУПЫ | |
N_TRUPS=0; | |
vragi1Objects= new zayacObject[MAX_ZAYAC]; //ЗАЙЦЫ | |
N_ZAYAC=0; | |
vragi2Objects= new volkObject[MAX_VOLK]; //ВОЛКИ | |
N_VOLK=-1; | |
vragi3Objects= new medvedObject[MAX_MEDVED]; //МЕДВЕДИ | |
N_MEDVED=-1; | |
vragi4Objects= new ptenecObject[MAX_PTENEC]; //ПТЕНЦЫ!!! | |
N_PTENEC=-1; | |
uhiObjects= new uhiObject[MAX_UHI]; //УШИ | |
N_UHI=0; | |
krovyakObjects= new bloodObject[MAX_BLOOD]; //КРОВЯК | |
N_BLOOD=0; | |
boshkiObjects= new headObject[MAX_HEAD]; //БОШКИ | |
N_HEAD=0; | |
gilziObjects= new gilzaObject[MAX_GILZ];//ГИЛЬЗЫ | |
N_GILZ=0; | |
bonusiObjects= new bonusObject[MAX_BONUS];//БОНУСЫ | |
N_BONUS=0; | |
bonustextiObjects= new bonustextObject[MAX_BONUSTEXT]; //ТЕКСТЫ БОНУСОВ | |
N_BONUSTEXT=0; | |
bonusi1= new bonusZnach[MAX_BONUSI];//БОНУСНЫЕ ЗНАЧЕНИЯ | |
N_BONUS1=0; | |
bonusi2= new bonusZnach[MAX_BONUSI]; | |
N_BONUS2=0; | |
statusi1= new bonusStatus[MAX_BONUSSTATUS];//СТАТУСЫ | |
N_BONUSSTATUS1=0; | |
statusi2= new bonusStatus[MAX_BONUSSTATUS]; | |
N_BONUSSTATUS2=0; | |
myasko= new myasoObject[MAX_MYASO];//МЯСО | |
N_MYASO=0; | |
FON= new fonObject[32];//ФОН | |
for(int i53=0;i53<=31;i53++) | |
{ | |
if(i53%2==0) | |
{FON[i53].x=600*(i53/2-1); | |
FON[i53].y=0;} | |
if(i53%2==1) | |
{FON[i53].x=600*((i53-1)/2-1); | |
FON[i53].y=450;} | |
if(i53<=11) //3 экрана | |
{FON[i53].type=1;}//пожухлая трава | |
if(i53>11&&i53<=13)//пол-экрана | |
{FON[i53].type=2;}//переход из пожухлой в лесную | |
if(i53>13)//остальное | |
{FON[i53].type=3;}//лесная трава | |
} | |
granati= new granataObject[MAX_GREN]; | |
N_GREN=0; | |
ubijstva=new fragObject[MAX_KILLS]; | |
N_KILLS=0; | |
Objects= new Object[N_OBJECTS];//ОБЪЕТЫ НА ФОНЕ | |
for(int i50=0;i50<=N_OBJECTS-1;i50++) | |
{ | |
if(i50>5&&i50<=25)//20 деревьев | |
{Objects[i50].x=hge->Random_Float(3000,8000); | |
Objects[i50].y=hge->Random_Float(200,700); | |
Objects[i50].pl=0; | |
Objects[i50].type=2;} | |
if(i50>0&&i50<=5)//5 пней | |
{Objects[i50].x=hge->Random_Float(1000,6000); | |
Objects[i50].y=hge->Random_Float(200,700); | |
Objects[i50].pl=0; | |
Objects[i50].type=1;} | |
if(i50==0)//знак полпути | |
{Objects[i50].x=(lvl1_lenght-1200)/2; | |
Objects[i50].y=250; | |
Objects[i50].pl=1; | |
Objects[i50].type=0;} | |
} | |
A= new ALL[MAX_ZAYAC+MAX_VOLK+MAX_MYASO+MAX_BONUS+MAX_UHI+MAX_HEAD+N_OBJECTS+MAX_GILZ+MAX_BLOOD+MAX_GREN+MAX_MEDVED+MAX_PTENEC+2]; | |
Y= new YCOORD[MAX_ZAYAC+MAX_VOLK+MAX_MYASO+MAX_BONUS+MAX_UHI+MAX_HEAD+N_OBJECTS+MAX_GILZ+MAX_BLOOD+MAX_GREN+MAX_MEDVED+MAX_PTENEC+2]; | |
N_Y=0; | |
//ОРУЖИЕ!!!!!!!!!!!!!! | |
oboima=8; | |
oboima2=8; | |
for(int i4=0;i4<=N_ZAYAC;i4++) | |
{vragi1Objects[i4].ubit=0;//все зайцы живы | |
vragi1Objects[i4].pokoin=0; | |
vragi1Objects[i4].health=50; | |
vragi1Objects[i4].v1x=0; | |
vragi1Objects[i4].v1y=hge->Random_Float(50,850); | |
vragi1Objects[i4].bezuh=0;//все зайцы с ушами | |
vragi1Objects[i4].bezboshki=0; | |
vragi1Objects[i4].speed=hge->Random_Float(1,1.2f); | |
vragi1Objects[i4].defence=0; | |
vragi1Objects[i4].object_id=-1; | |
vragi1Objects[i4].A=0; | |
vragi1Objects[i4].vzorvan=false; | |
vragi1Objects[i4].energy=0; | |
vragi1Objects[i4].rasstX=0; | |
vragi1Objects[i4].rasstY=0; | |
vragi1Objects[i4].chetvert=0; | |
} | |
for(int i7=0;i7<=MAX_UHI-1;i7++) | |
{uhiObjects[i7].gradus=hge->Random_Float(0,M_PI); | |
uhiObjects[i7].niz=0;} | |
for(int i17=0;i17<= MAX_HEAD-1;i17++) | |
{boshkiObjects[i17].gradus=hge->Random_Float(0,M_PI);} | |
for(int i13=0;i13<=MAX_BLOOD-1;i13++) | |
{krovyakObjects[i13].akt=0;} | |
for(int i37=0;i37<=N_VOLK;i37++) | |
{vragi2Objects[i37].defence=0; | |
vragi2Objects[i37].object_id=-1;} | |
for(int i58=0;i58<= MAX_GREN-1;i58++) | |
{granati[i58].gradus=0;} | |
kills_zayac=0; | |
kills_volk=0; | |
kills_medved=0; | |
kills_zayac_vschiii=0; | |
kills_zayac_bezuh=0; | |
kills_zayac_bezboshki=0; | |
kills2_zayac=0; | |
kills2_volk=0; | |
kills2_medved=0; | |
kills2_zayac_vschiii=0; | |
kills2_zayac_bezuh=0; | |
kills2_zayac_bezboshki=0; | |
// Let's rock now! | |
hge->System_Start(); | |
// Free loaded texture and sound | |
hge->Texture_Free(ak); | |
hge->Texture_Free(ak2); | |
hge->Texture_Free(ak_upgraded); | |
hge->Texture_Free(ak2_upgraded); | |
hge->Texture_Free(w_pm_tex); | |
hge->Texture_Free(ogon1); | |
hge->Texture_Free(player1_myasnik_gogranata_ruka1_tex); | |
hge->Texture_Free(player1_myasnik_gogranata_ruka2_tex); | |
hge->Texture_Free(player1_strelok_gogranata_ruka1_tex); | |
hge->Texture_Free(player1_strelok_gogranata_ruka2_tex); | |
hge->Texture_Free(player1_razrushitel_gogranata_ruka1_tex); | |
hge->Texture_Free(player1_razrushitel_gogranata_ruka2_tex); | |
hge->Texture_Free(player1_tehnik_gogranata_ruka1_tex); | |
hge->Texture_Free(player1_tehnik_gogranata_ruka2_tex); | |
hge->Texture_Free(player1_myasnik_tex); | |
hge->Texture_Free(player1_strelok_tex); | |
hge->Texture_Free(player1_razrushitel_tex); | |
hge->Texture_Free(player1_tehnik_tex); | |
hge->Texture_Free(player1_myasnik_ruka1_udar_sleva_tex); | |
hge->Texture_Free(player1_strelok_ruka1_udar_sleva_tex); | |
hge->Texture_Free(player1_razrushitel_ruka1_udar_sleva_tex); | |
hge->Texture_Free(player1_tehnik_ruka1_udar_sleva_tex); | |
hge->Texture_Free(player1_myasnik_ruka1_pistol_tex); | |
hge->Texture_Free(player1_strelok_ruka1_pistol_tex); | |
hge->Texture_Free(player1_razrushitel_ruka1_pistol_tex); | |
hge->Texture_Free(player1_tehnik_ruka1_pistol_tex); | |
hge->Texture_Free(player1_myasnik_ruka1_vintovka_tex); | |
hge->Texture_Free(player1_strelok_ruka1_vintovka_tex); | |
hge->Texture_Free(player1_razrushitel_ruka1_vintovka_tex); | |
hge->Texture_Free(player1_tehnik_ruka1_vintovka_tex); | |
hge->Texture_Free(player1_myasnik_ruka1_winch_tex); | |
hge->Texture_Free(player1_strelok_ruka1_winch_tex); | |
hge->Texture_Free(player1_razrushitel_ruka1_winch_tex); | |
hge->Texture_Free(player1_tehnik_ruka1_winch_tex); | |
hge->Texture_Free(player2_strelok_tex); | |
hge->Texture_Free(player2_gogranata_ruka1_tex); | |
hge->Texture_Free(player2_gogranata_ruka2_tex); | |
hge->Texture_Free(player2_strelok_ruka1_udar_sleva_tex); | |
hge->Texture_Free(player2_strelok_ruka1_pistol_tex); | |
hge->Texture_Free(player2_strelok_ruka1_vintovka_tex); | |
hge->Texture_Free(zayac_go_tex); | |
hge->Texture_Free(zayac_go_bezuh_tex); | |
hge->Texture_Free(zayac_uhi_tex); | |
hge->Texture_Free(zayac_boshka_tex); | |
hge->Texture_Free(zayac_boshka_bezuh_tex); | |
hge->Texture_Free(zayac_trup1_a_tex); | |
hge->Texture_Free(zayac_trup1_b_tex); | |
hge->Texture_Free(zayac_trup1_c_tex); | |
hge->Texture_Free(zayac_trup1_d_tex); | |
hge->Texture_Free(zayac_trup1_a_bezuh_tex); | |
hge->Texture_Free(zayac_trup1_b_bezuh_tex); | |
hge->Texture_Free(zayac_trup1_c_bezuh_tex); | |
hge->Texture_Free(zayac_trup1_d_bezuh_tex); | |
hge->Texture_Free(zayac_trup1_a_bezboshki_tex); | |
hge->Texture_Free(zayac_trup1_b_bezboshki_tex); | |
hge->Texture_Free(zayac_trup1_c_bezboshki_tex); | |
hge->Texture_Free(zayac_trup1_d_bezboshki_tex); | |
hge->Texture_Free(volk_go_tex); | |
hge->Texture_Free(volk_trup1_a_tex); | |
hge->Texture_Free(volk_trup1_b_tex); | |
hge->Texture_Free(volk_trup1_c_tex); | |
hge->Texture_Free(medved_trup1_a_tex); | |
hge->Texture_Free(medved_trup1_b_tex); | |
hge->Texture_Free(medved_trup1_c_tex); | |
hge->Texture_Free(medved_trup1_d_tex); | |
hge->Texture_Free(medved_trup1_e_tex); | |
hge->Texture_Free(medved_trup1_f_tex); | |
hge->Texture_Free(medved_trup1_a_bezboshki_tex); | |
hge->Texture_Free(medved_trup1_b_bezboshki_tex); | |
hge->Texture_Free(medved_trup1_c_bezboshki_tex); | |
hge->Texture_Free(medved_trup1_d_bezboshki_tex); | |
hge->Texture_Free(medved_trup1_e_bezboshki_tex); | |
hge->Texture_Free(medved_trup1_f_bezboshki_tex); | |
hge->Texture_Free(medved_go_tex); | |
hge->Texture_Free(ptenec_go_tex); | |
hge->Texture_Free(ptenec_wait_tex); | |
hge->Texture_Free(ptenec_vpolete_tex); | |
hge->Texture_Free(ptenec_vpolete_reverse_tex); | |
hge->Texture_Free(ptenec_trup1_tex); | |
hge->Texture_Free(ptenec_boshka_vzriv1_a_tex); | |
hge->Texture_Free(ptenec_boshka_vzriv1_b_tex); | |
hge->Texture_Free(ptenec_boshka_vzriv1_c_tex); | |
hge->Texture_Free(ptenec_boshka_vzriv1_d_tex); | |
hge->Texture_Free(ptenec_boshka_vzriv1_e_tex); | |
hge->Texture_Free(RPG_healer_tex); | |
hge->Texture_Free(RPG_illusionist_tex); | |
hge->Texture_Free(RPG_teleporter_tex); | |
hge->Texture_Free(bonus_this_tex); | |
hge->Texture_Free(bonus_shilo_tex); | |
hge->Texture_Free(bonus_this_text_tex); | |
hge->Texture_Free(bonus_shilo_text_tex); | |
hge->Texture_Free(bonus_daun_text_tex); | |
hge->Texture_Free(bonus_ulitka_text_tex); | |
hge->Texture_Free(bonus_umnik_text_tex); | |
hge->Texture_Free(bonus_shilo_status_tex); | |
hge->Texture_Free(bonus_daun_status_tex); | |
hge->Texture_Free(bonus_ulitka_status_tex); | |
hge->Texture_Free(bonus_umnik_status_tex); | |
hge->Texture_Free(blood1_tex); | |
hge->Texture_Free(blood2_tex); | |
hge->Texture_Free(blood3_tex); | |
hge->Texture_Free(blood_shot1_tex); | |
hge->Texture_Free(blood_plyam1_tex); | |
hge->Texture_Free(blood_plyam2_tex); | |
hge->Texture_Free(blood_plyam3_tex); | |
hge->Texture_Free(blood_luzha1_tex); | |
hge->Texture_Free(blood_myaso1_tex); | |
hge->Texture_Free(blood_myaso2_tex); | |
hge->Texture_Free(blood_myaso3_tex); | |
hge->Texture_Free(blood_myaso4_tex); | |
hge->Texture_Free(blood_myaso5_tex); | |
hge->Texture_Free(blood_zayac_noga1_tex); | |
hge->Texture_Free(blood_zayac_noga2_tex); | |
hge->Texture_Free(blood_zayac_noga3_tex); | |
hge->Texture_Free(blood_zayac_noga4_tex); | |
hge->Texture_Free(blood_zayac_rebra1_tex); | |
hge->Texture_Free(blood_zayac_rebra2_tex); | |
hge->Texture_Free(blood_vzriv1_a_tex); | |
hge->Texture_Free(blood_vzriv1_b_tex); | |
hge->Texture_Free(blood_vzriv1_c_tex); | |
hge->Texture_Free(blood_vzriv1_d_tex); | |
hge->Texture_Free(blood_vzriv1_e_tex); | |
hge->Texture_Free(blood_vzriv1_e2_tex); | |
hge->Texture_Free(zayac_uhi_s_tex); | |
hge->Texture_Free(fon1_tex); | |
hge->Texture_Free(fon2_tex); | |
hge->Texture_Free(fon3_tex); | |
hge->Texture_Free(oblaka1_tex); | |
hge->Texture_Free(alkash1_tex); | |
hge->Texture_Free(derevo1_tex); | |
hge->Texture_Free(penek1_tex); | |
hge->Texture_Free(znak_polputi_tex); | |
hge->Texture_Free(polosa_finish_tex); | |
hge->Texture_Free(w_pm_tex); | |
hge->Texture_Free(w_pp19_vityaz_tex); | |
hge->Texture_Free(w_fn_f2000_tex); | |
hge->Texture_Free(w_fn_f2000_upgraded_tex); | |
hge->Texture_Free(w_tt_tex); | |
hge->Texture_Free(w_rpk_tex); | |
hge->Texture_Free(w_mac_tex); | |
hge->Texture_Free(w_winchester_tex); | |
hge->Texture_Free(w_winchester_anime_tex); | |
hge->Texture_Free(w_rpk47_tex); | |
hge->Texture_Free(w_glok_tex); | |
hge->Texture_Free(w_glok2_tex); | |
hge->Texture_Free(w_rgd5_tex); | |
hge->Texture_Free(katana_udar_sleva_tex); | |
hge->Texture_Free(w_milkor_tex); | |
hge->Texture_Free(w_granata_podstvol_tex); | |
hge->Texture_Free(w_panzer_tex); | |
hge->Texture_Free(w_panzer_out_tex); | |
hge->Texture_Free(w_granata_panzer_tex); | |
hge->Texture_Free(w_webley_tex); | |
hge->Texture_Free(w_fn_five_seven_tex); | |
hge->Texture_Free(w_qlz87_pushka_tex); | |
hge->Texture_Free(w_qlz87_trenoga_tex); | |
hge->Texture_Free(blood_ssit_tex); | |
hge->Texture_Free(RPG_healing_tex); | |
hge->Texture_Free(vzriv_grena_tex); | |
hge->Texture_Free(vzriv_ogon_grena_tex); | |
hge->Texture_Free(galka_tex); | |
hge->Texture_Free(galka_menu_tex); | |
hge->Texture_Free(strelka_menu_tex); | |
hge->Texture_Free(strelka_menu_D_tex); | |
hge->Texture_Free(znak_myasnik_tex); | |
hge->Texture_Free(znak_strelok_tex); | |
hge->Texture_Free(znak_razrushitel_tex); | |
hge->Texture_Free(znak_tehnik_tex); | |
hge->Texture_Free(status_opit_tex); | |
hge->Texture_Free(status_udar_tex); | |
hge->Texture_Free(status_status_tex); | |
hge->Texture_Free(opit_okno_vibora_tex); | |
hge->Texture_Free(okno_lvl_progress_tex); | |
hge->Texture_Free(okno_lvl_progress_red_tex); | |
hge->Texture_Free(okno_lvl_progress_green_tex); | |
hge->Texture_Free(okno_lvl_polzunok_tex); | |
hge->Effect_Free(menu_sound); | |
hge->Effect_Free(menu_choose); | |
hge->Effect_Free(snd); | |
hge->Effect_Free(ak_reload1); | |
hge->Effect_Free(ak_reload2); | |
hge->Effect_Free(pm_fire); | |
hge->Effect_Free(pm_reload1); | |
hge->Effect_Free(pm_reload2); | |
hge->Effect_Free(pp19_fire); | |
hge->Effect_Free(pp19_reload1); | |
hge->Effect_Free(pp19_reload2); | |
hge->Effect_Free(fn_f2000_fire); | |
hge->Effect_Free(tt_fire); | |
hge->Effect_Free(mac_fire); | |
hge->Effect_Free(mac_reload1); | |
hge->Effect_Free(mac_reload2); | |
hge->Effect_Free(webley_fire); | |
hge->Effect_Free(webley_reload1); | |
hge->Effect_Free(webley_reload2); | |
hge->Effect_Free(fn_five_seven_fire); | |
hge->Effect_Free(milkor_fire); | |
hge->Effect_Free(winch_fire); | |
hge->Effect_Free(rocket_fire); | |
hge->Effect_Free(rocket2_fire); | |
hge->Effect_Free(rocket_polet); | |
hge->Effect_Free(rocket2_polet); | |
hge->Effect_Free(drob_reload1); | |
hge->Effect_Free(drob_pompa); | |
hge->Effect_Free(vzriv_grena1); | |
hge->Effect_Free(myaso_upalo1); | |
hge->Effect_Free(myaso_upalo2); | |
hge->Effect_Free(myaso_upalo3); | |
hge->Effect_Free(myaso_upalo4); | |
hge->Effect_Free(myaso_upalo5); | |
hge->Effect_Free(myaso_upalo6); | |
hge->Effect_Free(myaso_upalo7); | |
hge->Effect_Free(myaso_upalo8); | |
hge->Effect_Free(myaso_razriv_user1); | |
hge->Effect_Free(myaso_razriv_user2); | |
hge->Effect_Free(shot1); | |
hge->Effect_Free(headshot1); | |
hge->Effect_Free(headshot2); | |
hge->Effect_Free(headshot3); | |
hge->Effect_Free(headshot4); | |
hge->Effect_Free(headshot5); | |
hge->Effect_Free(headshot6); | |
hge->Effect_Free(headshot7); | |
hge->Effect_Free(headshot8); | |
hge->Effect_Free(ssik1); | |
hge->Effect_Free(ssik2); | |
hge->Effect_Free(ssik3); | |
hge->Effect_Free(ssik4); | |
hge->Effect_Free(ptenec_death1); | |
hge->Target_Free(blood_target); | |
delete blood_tar; | |
delete menu; | |
delete menu_info; | |
delete menu_start; | |
delete menu_video; | |
delete menu_really; | |
delete menu_class; | |
delete menu_class2; | |
delete pulya; | |
delete pulya2; | |
delete granata_podstvol; | |
delete granata_panzer; | |
delete ak47; | |
delete pm; | |
delete pp19_vityaz; | |
delete fn_f2000; | |
delete tt; | |
delete rpk; | |
delete mac; | |
delete winchester; | |
delete winchester_anime; | |
delete ak472; | |
delete pm2; | |
delete pp19_vityaz2; | |
delete fn_f20002; | |
delete tt2; | |
delete rpk2; | |
delete mac2; | |
delete winchester2; | |
delete winchester2_anime; | |
delete rpk47; | |
delete rpk472; | |
delete glok; | |
delete glok2; | |
delete rgd5; | |
delete rgd52; | |
delete katana1_anime; | |
delete katana2_anime; | |
delete milkor; | |
delete milkor2; | |
delete panzer; | |
delete panzer2; | |
delete webley; | |
delete webley2; | |
delete fn_five_seven; | |
delete fn_five_seven2; | |
delete qlz87_pushka; | |
delete qlz87_trenoga; | |
delete info; | |
delete infoR; | |
delete infoD; | |
delete infoBR; | |
delete oboima_text; | |
delete menu_font; | |
delete galka; | |
delete galka_menu; | |
delete strelka_menu; | |
delete znak_myasnik; | |
delete znak_strelok; | |
delete znak_razrushitel; | |
delete znak_tehnik; | |
delete status_opit; | |
delete status_udar; | |
delete status_status; | |
delete opit1_progress; | |
delete opit_okno_vibora; | |
delete okno_lvl_progress; | |
delete okno_lvl_progress_red; | |
delete okno_lvl_progress_green; | |
delete okno_lvl_polzunok; | |
delete p; | |
delete p2; | |
delete p1d1,p1d2,p1d3,p1d4,p2d1,p2d2,p2d3,p2d4; | |
delete optika1; | |
delete gilza_pist; | |
delete gilza_avt; | |
delete zayac_trup1; | |
delete player1_gogranata_ruka1; | |
delete player1_gogranata_ruka2; | |
delete player1_myasnik; | |
delete player1_strelok; | |
delete player1_razrushitel; | |
delete player1_tehnik; | |
delete player1_myasnik_ruka1_udar_sleva; | |
delete player1_ruka1_pistol; | |
delete player1_ruka1_vintovka; | |
delete player1_ruka1_winch; | |
delete player2_strelok; | |
delete player2_gogranata_ruka1; | |
delete player2_gogranata_ruka2; | |
delete player2_myasnik_ruka1_udar_sleva; | |
delete player2_ruka1_pistol; | |
delete player2_ruka1_vintovka; | |
delete zayac; | |
delete uhi; | |
delete uhi_a; | |
delete zayac_boshka; | |
delete zayac_boshka_bezuh; | |
delete volk; | |
delete volk_trup1; | |
delete medved; | |
delete medved_trup1; | |
delete medved_boshka; | |
delete ptenec; | |
delete ptenec_wait; | |
delete ptenec_trup1; | |
delete ptenec_boshka_vzriv1; | |
delete RPG_healer; | |
delete RPG_illusionist; | |
delete RPG_teleporter; | |
delete bonus_this; | |
delete bonus_shilo; | |
delete bonus_this_text; | |
delete bonus_shilo_text; | |
delete bonus_daun_text; | |
delete bonus_ulitka_text; | |
delete bonus_umnik_text; | |
delete bonus_shilo_status; | |
delete bonus_daun_status; | |
delete bonus_ulitka_status; | |
delete bonus_umnik_status; | |
delete krovyak1; | |
delete krovyak2; | |
delete krovyak3; | |
delete krovyak_shot1; | |
delete krovyak_plyam1; | |
delete krovyak_plyam2; | |
delete krovyak_plyam3; | |
delete krovyak_luzha1; | |
delete krovyak_myaso1; | |
delete krovyak_myaso2; | |
delete krovyak_myaso3; | |
delete krovyak_myaso4; | |
delete krovyak_myaso5; | |
delete krovyak_zayac_noga1; | |
delete krovyak_zayac_noga2; | |
delete krovyak_zayac_noga3; | |
delete krovyak_zayac_noga4; | |
delete krovyak_zayac_rebra1; | |
delete krovyak_zayac_rebra2; | |
delete krovyak_vzriv1; | |
delete blood_ssit_psi; | |
delete blood_ssit_spr; | |
delete RPG_healing_psi; | |
delete RPG_healing_spr; | |
delete vzriv_grena_psi; | |
delete vzriv_grena_spr; | |
delete vzriv_ogon_grena_psi; | |
delete vzriv_ogon_grena_spr; | |
delete [] trupsObjects; | |
delete [] vragi1Objects; | |
delete [] vragi2Objects; | |
delete [] vragi3Objects; | |
delete [] vragi4Objects; | |
delete [] uhiObjects; | |
delete [] boshkiObjects; | |
delete [] gilziObjects; | |
delete [] bonusiObjects; | |
delete [] bonustextiObjects; | |
delete [] bonusi1; | |
delete [] bonusi2; | |
delete [] statusi1; | |
delete [] statusi2; | |
delete [] myasko; | |
delete [] ubijstva; | |
delete [32] FON; | |
delete [] granati; | |
delete [] Objects; | |
delete [] A; | |
delete [] Y; | |
delete fon1; | |
delete fon2; | |
delete fon3; | |
delete oblaka1; | |
delete alkash1; | |
delete derevo1; | |
delete penek1; | |
delete znak_polputi; | |
delete polosa_finish; | |
delete fonColor; | |
} | |
else MessageBox(NULL, hge->System_GetErrorMessage(), "Error", MB_OK | MB_ICONERROR | MB_SYSTEMMODAL); | |
// Clean up and shutdown | |
hge->System_Shutdown(); | |
hge->Release(); | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
На случай, если с оригинальным ресурсом что-то случится, копия бинарных файлов игры загружена на archive.org.