Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <amxmisc>
- #include <fun>
- #include <cstrike>
- #include <fakemeta>
- #include <engine>
- #include <hamsandwich>
- #include <nvault>
- #define PLUGIN "Call of Duty: MW Mod"
- #define VERSION "1.0"
- #define AUTHOR "QTM_Peyote,johnC,GranTorino"
- #define TRANSLATOR "HIGHNESS"
- #define STANDARD_FAST 250.0
- #define TASK_SHOW_INFORMATION 672
- #define TASK_RAISE 704
- #define TASK_TRAINING_SANITARY 736
- #define TASK_SHOW_ADVERTISEMENT 768
- #define TASK_SET_FAST 832
- // weapons offsets
- #define OFFSET_CLIPAMMO 51
- #define OFFSET_LINUX_WEAPONS 4
- #define fm_cs_set_weapon_ammo(%1,%2) set_pdata_int(%1, OFFSET_CLIPAMMO, %2, OFFSET_LINUX_WEAPONS)
- // players offsets
- #define m_pActivation 373
- const NOCLIP_WPN_BS = ((1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE)|(1<<CSW_C4))
- new const g_MaxAmmoClip[] =
- {
- 0,
- 13, //CSW_P228
- 0,
- 10, //CSW_SCOUT
- 0, //CSW_HEGRENADE
- 7, //CSW_XM1014
- 0, //CSW_C4
- 30,//CSW_MAC10
- 30, //CSW_AUG
- 0, //CSW_SMOKEGRENADE
- 15,//CSW_ELITE
- 20,//CSW_FIVESEVEN
- 25,//CSW_UMP45
- 30, //CSW_SG550
- 35, //CSW_GALIL
- 25, //CSW_FAMAS
- 12,//CSW_USP
- 20,//CSW_GLOCK18
- 10, //CSW_AWP
- 30,//CSW_MP5NAVY
- 100,//CSW_M249
- 8, //CSW_M3
- 30, //CSW_M4A1
- 30,//CSW_TMP
- 20, //CSW_G3SG1
- 0, //CSW_FLASHBANG
- 7, //CSW_DEAGLE
- 30, //CSW_SG552
- 30, //CSW_AK47
- 0, //CSW_KNIFE
- 50//CSW_P90
- }
- //#define BOT 1
- new SyncHudObj;
- new SyncHudObj2;
- new SyncHudObj3;
- new g_msg_screenfade;
- new sprite_white;
- new sprite_blast;
- new g_vault;
- new podkladajacy;
- new disarming;
- new experience_for_murder;
- new experience_for_bomb;
- new dropitem;
- new itemalea;
- new Clothing_CT[4][]={"sas","gsg9","urban","gign"};
- new Clothing_Terro[4][]={"arctic","leet","guerilla","terror"};
- new const maxAmmo[31]={0,52,0,90,1,32,1,100,90,1,120,100,100,90,90,90,100,120,30,120,200,32,90,120,90,2,35,90,90,0,100};
- new const maxClip[31] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20,
- 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 };
- new information_item_player[33][2];
- new const names_objects[][] =
- {
- "None",
- "Bottes d'Assaut", //1
- "Double Veste", //2
- "Veste Renforcee", //3
- "Couteau Veteran", //4
- "Surprise Ennemi", //5
- "Voile du Ninja", //6
- "Morphine", //7
- "Couteau Commando", //8
- "Lunettes d'Espion",
- "Grenade Mysterieuses",
- "Pieds de Ninja", //11
- "Secret Militaire", //12
- "AWP Sniper",//13
- "Adrenaline",//14
- "Mysterieux Soldat",//15
- "Formation Sanitaire",//16
- "Veste de la NASA",//17
- "Formation Veteran",//18
- "Kit de survie",//19
- "No recoil",//20
- "Cartouches de Titanes",//21
- "Cartouches du Colonel",//22
- "Limitation du recoil",//23
- "Bouclier SWAT",//24
- "Recrue experimentee",//25
- "Armure",//26
- "Les notes du Capitaine",//27
- "Jet Module",//28
- "Kamikaze"
- };
- new const descriptions_objects[][] = {"Vous devez tuer un ennemi pour obtenir un Item",
- "Cours silencieusement",
- "Reduit les dommages subis",
- "Reduit les dommages subis",
- "Les coups de couteaux font plus de dommages",
- "Vous faites 2x plus de dommages en touchant un ennemi dans le dos",
- "Vous rend partiellement invisible",
- "1/3 chance de respawn quand vous mourrez",
- "Tue instantanement avec le couteau",
- "Vous avez 1/3 chance de tuer directement avec la HE. Vous avez l'apparence de l'ennemi",
- "Tue directement avec la HE",
- "Vous pouvez faire un double jump",
- "Vos blessures sont reduites par 1/3. Vous avez 1/3 chance d'aveugler votre ennemi",
- "Tue instantanement avec l'AWP",
- "Pour chaque frag, vous avez +50 HP",
- "Pour chaque frag, vos munitions sont rechargees et +20 HP",
- "Recois +10 HP toutes les 3 secondes",
- "+500 Armure",
- "Vous avez +100 HP chaque round, mais vous courez plus lentement",
- "Press E pour obtenir des HP",
- "No recoil",
- "+15 Damage",
- "+25 Damage",
- "Recoil amoindri",
- "Aucun item ne vous affecte",
- "Vous avez +50 HP chaque round, et vous courez moins rapidement",
- "1/3 chance to reflex your damage",
- "Vous evitez 3 balles par round",
- "Press CTRL et SPACE pour utiliser le module, le module se recharge toutes les 4 secondes",
- "Lorsque vous etes mort tous les ennemis autour de vous explosent"
- };
- new g_szAuthID[33][34];
- new class_player[33];
- new level_player[33] = 1;
- new experience_player[33];
- new nowa_class_player[33];
- new const experience_level[] =
- {
- 0,35,140,315,560,875,1260,1715,2240,2835,3500,4235,5040,5915,6860,7875,8960,10115,11340,12635,14000,15435,16940,18515,20160,21875,23660,25515,27440,29435,31500,33635,35840,38115,40460,42875,45360,47915,50540,53235,56000,58835,61740,64715,67760,70875,
- 74060,77315,80640,84035,87500,91035,94640,98315,102060,105875,109760,113715,117740,121835,126000,130235,134540,138915,143360,147875,152460,157115,161840,166635,171500,176435,181440,186515,191660,196875,202160,207515,212940,218435,224000,229635,235340,241115,246960,252875,258860,
- 264915,271040,277235,283500,289835,296240,302715,309260,315875,322560,329315,336140,343035,350000,357035,364140,371315,378560,385875,393260,400715,408240,415835,423500,431235,439040,446915,454860,462875,470960,479115,487340,495635,504000,512435,520940,529515,538160,546875,555660,564515,573440,
- 582435,591500,600635,609840,619115,628460,637875,647360,656915,666540,676235,686000,695835,705740,715715,725760,735875,746060,756315,766640,777035,787500,798035,808640,819315,830060,840875,851760,862715,873740,884835,896000,907235,918540,929915,941360,952875,964460,976115,987840,999635,1011500,1023435,1035440,
- 1047515,1059660,1071875,1084160,1096515,1108940,1121435,1134000,1146635,1159340,1172115,1184960,1197875,1210860,1223915,1237040,1250235,1263500,1276835,1290240,1303715,1317260,1330875,1344560,1358315,1372140,1386035,1400000
- };
- new punkty_player[33];
- new zdrowie_player[33];
- new inteligencja_player[33];
- new wytrzymalosc_player[33];
- new Float:redukcja_obrazen_player[33];
- new kondycja_player[33];
- new maksymalne_zdrowie_player[33];
- new Float:fast_player[33];
- new ifdrop[33]=0;
- new bool:gracz_resetuje[33];
- enum { NONE = 0, Sniper, Commando, Sharpshooter, Protector, Medic, FireSupport, Sapper, Demolitions, Rusher, Rambo };
- new const zdrowie_klasy[] = { 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100};
- new const Float:fast_klasy[] = {0.0, 1.2, 1.35, 1.15, 0.8, 1.0, 1.0, 1.0, 1.0, 1.45 , 1.15};
- new const pancerz_klasy[] = { 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0};
- new const names_klas[][] = {"None",
- "Tireur d'elite",
- "Commando",
- "Terroriste",
- "Terminator",
- "Sniper debutant",
- "Marine",
- "SWAT",
- "Demolition",
- "Rusher",
- "Soldat"
- };
- new const descriptions_klas[][] = {"None",
- "Tu as : AWP, Deagle , 120hp. 1/3 chance de tuer instanement au couteau. 110 Speed, 100 Armure.",
- "Tu as : M4a1, Deagle & 130hp. Tue instantanement au couteau (clique droit), 135 Speed, 100 Armure",
- "Tu as : AK47, Deagle , Grenade& 135hp. 115 Speed, 100 Armure",
- "Tu as : M249, 200hp & All grenades, Imminuse contre les mines, 200 Armure",
- "Tu as : SNIPE AUTO, Smoke, 150hp. Kit de survie, 100 Armure",
- "Tu as : MP5, 100 hp, Two rockets, Extra dommages par hit",
- "Tu as : P90, 100hp, 3 mines, 100 Armure",
- "Tu as : AUG, 130 hp, All grenades, dynamite, 100 Armure",
- "Tu as : M3, 100 hp, 145 Speed",
- "Tu as : Famas, 130 hp, 120 Speed, 20 HP per kill, Double jump, 100 Armure"
- };
- new ilosc_apteczek_player[33];
- new ilosc_rakiet_player[33];
- new Float:poprzednia_rakieta_player[33];
- new ilosc_min_player[33];
- new ilosc_dynamitow_player[33];
- new ilosc_skokow_player[33];
- new bool:freezetime = true;
- public plugin_init()
- {
- register_message(get_user_msgid("Health"), "message_Health");
- register_plugin(PLUGIN, VERSION, AUTHOR);
- g_vault = nvault_open("CodMod");
- register_think("FirstAidKit","FirstAidKitThink");
- RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
- RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
- register_forward(FM_CmdStart, "CmdStart");
- register_forward(FM_EmitSound, "EmitSound");
- register_logevent("PoczatekRundy", 2, "1=Round_Start");
- register_logevent("BombaPodlozona", 3, "2=Planted_The_Bomb");
- register_event("SendAudio", "BombaRozbrojona", "a", "2&%!MRAD_BOMBDEF");
- register_event("BarTime", "RozbrajaBomb", "be", "1=10", "1=5");
- register_event("DeathMsg", "Death", "ade");
- register_event("Damage", "Damage", "b", "2!=0");
- register_event("CurWeapon","CurWeapon","be", "1=1");
- register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
- register_touch("Rocket", "*" , "DotykRakiety");
- register_touch("Mine", "player", "DotykMiny");
- register_cvar("cod_killxp", "30");
- register_cvar("cod_bombxp", "50");
- register_clcmd("say /shop", "shopmenu");
- register_clcmd("say shop", "shopmenu");
- register_clcmd("say /class", "WybierzKlase");
- register_clcmd("say /classinfo", "DescriptionKlasy");
- register_clcmd("say /item", "DescriptionItem");
- register_clcmd("say /drop", "WyrzucPrzedmiot");
- register_clcmd("say /reset", "KomendaResetujPunkty");
- register_clcmd("say /help", "userhelp", 0, " - Help Motd ");
- register_clcmd("say /save","ZapiszDane")
- register_clcmd("fullupdate", "CommandBlock");
- register_clcmd("cl_autobuy", "CommandBlock");
- register_clcmd("cl_rebuy", "CommandBlock");
- register_clcmd("cl_setautobuy","CommandBlock");
- register_clcmd("rebuy", "CommandBlock");
- register_clcmd("autobuy", "CommandBlock");
- register_clcmd("glock", "CommandBlock");
- register_clcmd("usp", "CommandBlock");
- register_clcmd("p228", "CommandBlock");
- register_clcmd("deagle", "CommandBlock");
- register_clcmd("elites", "CommandBlock");
- register_clcmd("fn57", "CommandBlock");
- register_clcmd("m3", "CommandBlock");
- register_clcmd("autoshotgun", "CommandBlock");
- register_clcmd("mac10", "CommandBlock");
- register_clcmd("tmp", "CommandBlock");
- register_clcmd("mp5", "CommandBlock");
- register_clcmd("ump45", "CommandBlock");
- register_clcmd("p90", "CommandBlock");
- register_clcmd("galil", "CommandBlock");
- register_clcmd("ak47", "CommandBlock");
- register_clcmd("scout", "CommandBlock");
- register_clcmd("sg552", "CommandBlock");
- register_clcmd("awp", "CommandBlock");
- register_clcmd("g3sg1", "CommandBlock");
- register_clcmd("famas", "CommandBlock");
- register_clcmd("m4a1", "CommandBlock");
- register_clcmd("bullpup", "CommandBlock");
- register_clcmd("sg550", "CommandBlock");
- register_clcmd("m249", "CommandBlock");
- register_clcmd("shield", "CommandBlock");
- register_clcmd("hegren", "CommandBlock");
- register_clcmd("sgren", "CommandBlock");
- register_clcmd("flash", "CommandBlock");
- register_concmd("codmw2_givelvl", "cmd_setlvl", ADMIN_KICK, "<name> <level>");
- g_msg_screenfade = get_user_msgid("ScreenFade");
- SyncHudObj = CreateHudSyncObj();
- SyncHudObj2 = CreateHudSyncObj();
- SyncHudObj3 = CreateHudSyncObj();
- experience_for_murder = get_cvar_num("cod_killxp");
- experience_for_bomb = get_cvar_num("cod_bombxp");
- set_task(60.0, "Pomoc");
- }
- public Kamikaze(id)
- {
- new Float:fOrigin[3], iOrigin[3];
- entity_get_vector( id, EV_VEC_origin, fOrigin);
- iOrigin[0] = floatround(fOrigin[0]);
- iOrigin[1] = floatround(fOrigin[1]);
- iOrigin[2] = floatround(fOrigin[2]);
- message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
- write_byte(TE_EXPLOSION);
- write_coord(iOrigin[0]);
- write_coord(iOrigin[1]);
- write_coord(iOrigin[2]);
- write_short(sprite_blast);
- write_byte(32);
- write_byte(20);
- write_byte(0);
- message_end();
- message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
- write_byte( TE_BEAMCYLINDER );
- write_coord( iOrigin[0] );
- write_coord( iOrigin[1] );
- write_coord( iOrigin[2] );
- write_coord( iOrigin[0] );
- write_coord( iOrigin[1] + 300 );
- write_coord( iOrigin[2] + 300 );
- write_short( sprite_white );
- write_byte( 0 ); // startframe
- write_byte( 0 ); // framerate
- write_byte( 10 ); // life
- write_byte( 10 ); // width
- write_byte( 255 ); // noise
- write_byte( 255 ); // r, g, b
- write_byte( 100 );// r, g, b
- write_byte( 100 ); // r, g, b
- write_byte( 128 ); // brightness
- write_byte( 8 ); // speed
- message_end();
- new entlist[33];
- new numfound = find_sphere_class(id, "player", 320.0 , entlist, 32);
- for (new i=0; i < numfound; i++)
- {
- new pid = entlist[i];
- /*Dist = entity_range(id,pid)
- Radius(id,pid,Dist)*/
- if (!is_user_alive(pid))
- continue;
- ExecuteHam(Ham_TakeDamage, pid, 0, id, 160.0+float(inteligencja_player[id]) , 1);
- }
- return PLUGIN_CONTINUE;
- }
- public shopmenu(id)
- {
- if(is_user_alive(id))
- {
- new Menu = menu_create("[SHOP MENU] :", "montrer_menu")
- menu_additem(Menu, "\ Grenade HE [3.000 $]", "1", 0)
- menu_additem(Menu, "\ Grenade Flash [2.00 $]", "2", 0)
- menu_additem(Menu, "\ Grenade Fumigene [4.000 $]", "3", 0)
- menu_additem(Menu, "\ Item aleatoire 1 round [16000 $]", "4", 0)
- menu_additem(Menu, "\ 50 EXP [16000 $]", "5", 0)
- menu_additem(Menu, "\ 100 ARMURE [8000 $]", "6", 0)
- menu_setprop(Menu,MPROP_EXITNAME,"Sortir")
- menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
- menu_display(id, Menu, 0)
- }
- }
- public montrer_menu(id, Menu, item)
- {
- if (item == MENU_EXIT)
- {
- menu_destroy(Menu)
- return PLUGIN_HANDLED
- }
- // variables
- new iData[6];
- new iAccess;
- new iCallback;
- new iName[64];
- menu_item_getinfo(Menu, item, iAccess, iData, 5, iName, 63, iCallback)
- switch (str_to_num(iData))
- {
- case 1:
- {
- if(cs_get_user_money(id) < 6000)
- {
- client_print( id, print_chat,"Vous n'avez pas assez d'argent pour acheter cet item.",id, "SHOP_ITEM_LOST");
- return PLUGIN_HANDLED;
- }
- else
- {
- cs_take_user_money(id, 3000);
- give_item(id, "weapon_hegrenade")
- client_print( id, print_chat,"Vous avez achete une HE.",id, "SHOP_ITEMT_1");
- }
- }
- case 2:
- {
- if(cs_get_user_money(id) < 2000)
- {
- client_print(id, print_chat,"Vous n'avez pas assez d'argent pour acheter cet item.",id, "SHOP_ITEM_LOST");
- return PLUGIN_HANDLED;
- }
- else
- {
- cs_take_user_money(id, 2000)
- give_item(id, "weapon_flashbang")
- client_print( id, print_chat,"Vous avez achete une flash.",id, "SHOP_ITEMT_2");
- }
- }
- case 3:
- {
- if(cs_get_user_money(id) < 4000)
- {
- client_print( id, print_chat,"Vous n'avez pas assez d'argent pour acheter cet item.",id, "SHOP_ITEM_LOST");
- return PLUGIN_HANDLED;
- }
- else
- {
- cs_take_user_money(id, 4000)
- give_item(id, "weapon_smokegrenade")
- client_print( id, print_chat,"Vous avez achete une smoke.",id, "SHOP_ITEMT_3");
- }
- }
- case 4:
- {
- if(cs_get_user_money(id) < 16000)
- {
- client_print(id, print_chat, "Vous n'avez pas assez d'argent pour acheter cet item");
- }
- else
- {
- switch(information_item_player[id][0])
- {
- case 0: dropitem=0;
- case 1: dropitem=1;
- case 2: dropitem=2;
- case 3: dropitem=3;
- case 4: dropitem=4;
- case 5: dropitem=5;
- case 6: dropitem=6;
- case 7: dropitem=7;
- case 8: dropitem=8;
- case 9: dropitem=9;
- case 10: dropitem=10;
- case 11: dropitem=11;
- case 12: dropitem=12;
- case 13: dropitem=13;
- case 14: dropitem=14;
- case 15: dropitem=15;
- case 16: dropitem=16;
- case 17: dropitem=17;
- case 18: dropitem=18;
- case 19: dropitem=19;
- case 20: dropitem=20;
- case 21: dropitem=21;
- case 22: dropitem=22;
- case 23: dropitem=23;
- case 24: dropitem=24;
- case 25: dropitem=25;
- case 26: dropitem=26;
- case 27: dropitem=27;
- case 28: dropitem=28;
- }
- new Menu3 = menu_create("[ITEM SHOP]", "item_menu")
- menu_additem(Menu3, "\ Voile du Ninja", "1", 0)
- menu_additem(Menu3, "\ Grenade Mysterieuse", "2", 0)
- menu_additem(Menu3, "\ Couteau Commando", "3", 0)
- menu_additem(Menu3, "\ AWP Sniper", "4", 0)
- menu_additem(Menu3, "\ Morphine", "5", 0)
- menu_setprop(Menu3,MPROP_EXITNAME,"Sortir")
- menu_setprop(Menu3, MPROP_EXIT, MEXIT_ALL)
- menu_display(id, Menu3, 0);
- }
- }
- case 5:
- {
- if(cs_get_user_money(id) < 16000)
- {
- client_print( id, print_chat,"Vous n'avez pas assez d'argent pour acheter cet item.",id, "SHOP_ITEM_LOST");
- return PLUGIN_HANDLED;
- }
- else
- {
- cs_take_user_money(id, 16000)
- experience_player[id]+=50;
- client_print( id, print_chat,"Vous avez achete 50 EXP.",id, "SHOP_ITEMT_7");
- }
- }
- case 6:
- {
- if(cs_get_user_money(id) < 8000)
- {
- client_print( id, print_chat,"Vous n'avez pas assez d'argent pour acheter cet item.");
- return PLUGIN_HANDLED;
- }
- else
- {
- cs_take_user_money(id, 8000)
- set_user_armor(id, get_user_armor(id) + 100);
- client_print(id, print_chat,"Vous avez achete +100 d'armure.");
- }
- }
- }
- return PLUGIN_HANDLED
- }
- public item_menu(id, Menu3, item)
- {
- if (item == MENU_EXIT)
- {
- menu_destroy(Menu3)
- return PLUGIN_HANDLED
- }
- // variables
- new iData[6];
- new iAccess;
- new iCallback;
- new iName[64];
- menu_item_getinfo(Menu3, item, iAccess, iData, 5, iName, 63, iCallback)
- switch (str_to_num(iData))
- {
- case 1:
- {
- cs_take_user_money(id, 16000);
- information_item_player[id][0]=6;
- ifdrop[id]=1;
- information_item_player[id][1] = random_num(100, 150);
- set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 40);
- client_print(id, print_chat, "Vous avez achete l'item Voile du Ninja");
- }
- case 2:
- {
- cs_take_user_money(id, 16000);
- information_item_player[id][0]=10;
- give_item(id, "weapon_hegrenade");
- ifdrop[id]=1;
- client_print(id, print_chat, "Vous avez achete l'item Grenade Mysterieuse");
- }
- case 3:
- {
- cs_take_user_money(id, 16000);
- information_item_player[id][0]=8;
- ifdrop[id]=1;
- client_print(id, print_chat, "Vous avez achete l'item Couteau Commando");
- }
- case 4:
- {
- cs_take_user_money(id, 16000);
- information_item_player[id][0]=13;
- give_item(id, "weapon_awp");
- ifdrop[id]=1;
- client_print(id, print_chat, "Vous avez achete l'item AWP SNIPER");
- }
- case 5:
- {
- cs_take_user_money(id, 16000);
- information_item_player[id][0]=7;
- ifdrop[id]=1;
- client_print(id, print_chat, "Vous avez achete l'item Morphine");
- }
- }
- }
- stock cs_take_user_money(id, amount)
- {
- new money = cs_get_user_money(id)
- if (money - amount < 0)
- return 0
- cs_set_user_money(id, clamp( money - amount, 0, 16000))
- return 1
- }
- public plugin_cfg()
- {
- server_cmd("sv_maxspeed 1600");
- }
- public plugin_precache()
- {
- sprite_white = precache_model("sprites/white.spr") ;
- sprite_blast = precache_model("sprites/dexplo.spr");
- precache_sound("MW/select.wav");
- precache_sound("MW/start.wav");
- precache_sound("MW/start2.wav");
- precache_sound("MW/levelup.wav");
- precache_model("models/w_medkit.mdl");
- precache_model("models/rpgrocket.mdl");
- precache_model("models/mine.mdl");
- }
- public CmdStart(id, uc_handle)
- {
- if(!is_user_alive(id))
- return FMRES_IGNORED;
- new button = get_uc(uc_handle, UC_Buttons);
- new oldbutton = get_user_oldbutton(id);
- new flags = get_entity_flags(id);
- if(information_item_player[id][0] == 11 || class_player[id] == Rambo)
- {
- if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && ilosc_skokow_player[id] > 0)
- {
- ilosc_skokow_player[id]--;
- new Float:velocity[3];
- entity_get_vector(id,EV_VEC_velocity,velocity);
- velocity[2] = random_float(265.0,285.0);
- entity_set_vector(id,EV_VEC_velocity,velocity);
- }
- else if(flags & FL_ONGROUND)
- {
- ilosc_skokow_player[id] = 0;
- if(information_item_player[id][0] == 11)
- ilosc_skokow_player[id]++;
- if(class_player[id] == Rambo)
- ilosc_skokow_player[id]++;
- }
- }
- if(button & IN_ATTACK)
- {
- new Float:punchangle[3];
- if(information_item_player[id][0] == 20)
- entity_set_vector(id, EV_VEC_punchangle, punchangle);
- if(information_item_player[id][0] == 23)
- {
- entity_get_vector(id, EV_VEC_punchangle, punchangle);
- for(new i=0; i<3;i++)
- punchangle[i]*=0.9;
- entity_set_vector(id, EV_VEC_punchangle, punchangle);
- }
- }
- if(information_item_player[id][0] == 28 && button & IN_JUMP && button & IN_DUCK && flags & FL_ONGROUND && get_gametime() > information_item_player[id][1]+4.0)
- {
- information_item_player[id][1] = floatround(get_gametime());
- new Float:velocity[3];
- VelocityByAim(id, 700, velocity);
- velocity[2] = random_float(265.0,285.0);
- entity_set_vector(id, EV_VEC_velocity, velocity);
- }
- return FMRES_IGNORED;
- }
- public Odrodzenie(id)
- {
- if(!is_user_alive(id) || !is_user_connected(id))
- return PLUGIN_CONTINUE;
- if(nowa_class_player[id])
- {
- class_player[id] = nowa_class_player[id];
- nowa_class_player[id] = 0;
- strip_user_weapons(id);
- give_item(id, "weapon_knife");
- WczytajDane(id, class_player[id]);
- }
- if(!class_player[id])
- {
- WybierzKlase(id);
- return PLUGIN_CONTINUE;
- }
- switch(class_player[id])
- {
- case Sniper:
- {
- give_item(id, "weapon_awp");
- give_item(id, "weapon_deagle");
- give_item(id, "item_thighpack")
- }
- case Commando:
- {
- give_item(id, "weapon_deagle");
- give_item(id, "weapon_m4a1");
- give_item(id, "item_thighpack")
- }
- case Sharpshooter:
- {
- give_item(id, "weapon_deagle");
- give_item(id, "weapon_ak47");
- give_item(id, "weapon_hegrenade");
- give_item(id, "item_thighpack")
- }
- case Protector:
- {
- give_item(id, "weapon_m249");
- give_item(id, "weapon_hegrenade");
- give_item(id, "weapon_flashbang");
- give_item(id, "weapon_smokegrenade");
- give_item(id, "item_thighpack")
- }
- case Medic:
- {
- give_item(id, "weapon_sg550");
- give_item(id, "weapon_smokegrenade");
- ilosc_apteczek_player[id] = 2;
- give_item(id, "item_thighpack")
- }
- case FireSupport:
- {
- give_item(id, "weapon_mp5navy");
- ilosc_rakiet_player[id] = 3;
- give_item(id, "item_thighpack")
- }
- case Sapper:
- {
- give_item(id, "weapon_p90");
- ilosc_min_player[id] = 3;
- give_item(id, "item_thighpack")
- }
- case Demolitions:
- {
- give_item(id, "weapon_aug");
- give_item(id, "weapon_hegrenade");
- give_item(id, "weapon_flashbang");
- give_item(id, "weapon_smokegrenade");
- give_item(id, "item_thighpack")
- ilosc_dynamitow_player[id] = 1;
- }
- case Rusher:
- {
- give_item(id, "weapon_m3");
- give_item(id, "item_thighpack")
- }
- case Rambo:
- {
- give_item(id, "weapon_famas");
- give_item(id, "weapon_deagle");
- give_item(id, "item_thighpack")
- }
- }
- if(gracz_resetuje[id])
- {
- ResetujPunkty(id);
- gracz_resetuje[id] = false;
- }
- if(punkty_player[id]>0)
- PrzydzielPunkty(id);
- if(information_item_player[id][0] == 10 || information_item_player[id][0] == 9)
- give_item(id, "weapon_hegrenade");
- if(information_item_player[id][0] == 9)
- ZmienUbranie(id, 0);
- if(information_item_player[id][0] == 1)
- set_user_footsteps(id, 1);
- else
- set_user_footsteps(id, 0);
- if(information_item_player[id][0] == 13)
- give_item(id, "weapon_awp");
- if(information_item_player[id][0] == 19)
- information_item_player[id][1] = 1;
- if(information_item_player[id][0] == 27)
- information_item_player[id][1] = 3;
- new weapons[32];
- new weaponsnum;
- get_user_weapons(id, weapons, weaponsnum);
- for(new i=0; i<weaponsnum; i++)
- if(is_user_alive(id))
- if(maxAmmo[weapons[i]] > 0)
- cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);
- redukcja_obrazen_player[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(wytrzymalosc_player[id])))/100);
- maksymalne_zdrowie_player[id] = zdrowie_klasy[class_player[id]]+zdrowie_player[id]*2;
- fast_player[id] = STANDARD_FAST*fast_klasy[class_player[id]]+floatround(kondycja_player[id]*1.3);
- if(information_item_player[id][0] == 18)
- {
- maksymalne_zdrowie_player[id] += 100;
- fast_player[id] -= 0.4;
- }
- if(information_item_player[id][0] == 25)
- {
- maksymalne_zdrowie_player[id] += 50;
- fast_player[id] -= 0.3;
- }
- set_user_armor(id, pancerz_klasy[class_player[id]]);
- set_user_health(id, maksymalne_zdrowie_player[id]);
- if(information_item_player[id][0] == 17)
- set_user_armor(id, 500);
- return PLUGIN_CONTINUE;
- }
- public PoczatekRundy()
- {
- freezetime = false;
- for(new id=0;id<=32;id++)
- {
- if(!is_user_alive(id))
- continue;
- set_task(0.1, "SetFast", id+TASK_SET_FAST);
- switch(get_user_team(id))
- {
- case 1: client_cmd(id, "spk MW/start");
- case 2: client_cmd(id, "spk MW/start2");
- }
- }
- }
- public NowaRunda()
- {
- new Players[32]
- new playerCount, i, player
- get_players(Players, playerCount)
- for (i=0; i<playerCount; i++)
- {
- player = Players[i]
- if(ifdrop[player]==1){
- ifdrop[player]=0;
- set_user_rendering(player, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
- information_item_player[player][0]=dropitem;}
- }
- client_print(0, print_chat, "Tapez /shop pour ouvrir le menu d'achats.");
- freezetime = true;
- new iEnt = find_ent_by_class(-1, "Mine");
- while(iEnt > 0)
- {
- remove_entity(iEnt);
- iEnt = find_ent_by_class(iEnt, "Mine");
- }
- }
- public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
- {
- if(!is_user_alive(this) || !is_user_connected(this) || information_item_player[this][0] == 24 || !is_user_connected(idattacker) || get_user_team(this) == get_user_team(idattacker) || !class_player[idattacker])
- return HAM_IGNORED;
- new health = get_user_health(this);
- new weapon = get_user_weapon(idattacker);
- if(health < 2)
- return HAM_IGNORED;
- if(information_item_player[this][0] == 27 && information_item_player[this][1]>0)
- {
- information_item_player[this][1]--;
- return HAM_SUPERCEDE;
- }
- if(wytrzymalosc_player[this]>0)
- damage -= redukcja_obrazen_player[this]*damage;
- if(information_item_player[this][0] == 2 || information_item_player[this][0] == 3)
- damage-=(float(information_item_player[this][1])<damage)? float(information_item_player[this][1]): damage;
- if(information_item_player[idattacker][0] == 5 && !UTIL_In_FOV(this, idattacker) && UTIL_In_FOV(idattacker, this))
- damage*=2.0;
- if(information_item_player[idattacker][0] == 10)
- damage+=information_item_player[idattacker][1];
- if(information_item_player[this][0] == 12)
- damage-=(5.0<damage)? 5.0: damage;
- if(weapon == CSW_AWP && information_item_player[idattacker][0] == 13)
- damage=float(health);
- if(information_item_player[idattacker][0] == 21)
- damage+=15;
- if(information_item_player[idattacker][0] == 22)
- damage+=25;
- if(idinflictor != idattacker && (entity_get_int(idinflictor, EV_INT_movetype) != 5 || entity_get_int(idinflictor, EV_INT_movetype) == MOVETYPE_BOUNCE || entity_get_int(idinflictor, EV_INT_movetype) == MOVETYPE_FOLLOW ))
- {
- if((information_item_player[idattacker][0] == 9 && random_num(1, information_item_player[idattacker][1]) == 1) || information_item_player[idattacker][0] == 10)
- damage = float(health);
- }
- if(weapon == CSW_KNIFE)
- {
- if(information_item_player[this][0] == 4)
- damage=damage*1.4+inteligencja_player[idattacker];
- if(information_item_player[idattacker][0] == 8 || (class_player[idattacker] == Sniper && random(2) == 2) || class_player[idattacker] == Commando && !(get_user_button(idattacker) & IN_ATTACK))
- damage = float(health);
- }
- if(information_item_player[this][0] == 26 && random_num(1, 3) == 1)
- {
- SetHamParamEntity(3, this);
- SetHamParamEntity(1, idattacker);
- }
- SetHamParamFloat(4, damage);
- return HAM_IGNORED;
- }
- public Damage(id)
- {
- new attacker = get_user_attacker(id);
- new damage = read_data(2);
- if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker || !class_player[attacker])
- return PLUGIN_CONTINUE;
- if(information_item_player[attacker][0] == 12 && random_num(1, information_item_player[id][1]) == 1)
- Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);
- if(get_user_team(id) != get_user_team(attacker))
- {
- while(damage>20)
- {
- damage-=20;
- experience_player[attacker]++;
- }
- }
- SprawdzLevel(attacker);
- return PLUGIN_CONTINUE;
- }
- public Death()
- {
- new id = read_data(2);
- new attacker = read_data(1);
- if(!is_user_alive(attacker) || !is_user_connected(attacker))
- return PLUGIN_CONTINUE;
- new weapon = get_user_weapon(attacker);
- new zdrowie = get_user_health(attacker);
- if(get_user_team(id) != get_user_team(attacker) && class_player[attacker])
- {
- new nowe_experience = 0;
- nowe_experience += experience_for_murder;
- if(class_player[id] == Rambo && class_player[attacker] != Rambo)
- nowe_experience += experience_for_murder*2;
- if(level_player[id] > level_player[attacker])
- nowe_experience += level_player[id] - level_player[attacker];
- if(class_player[attacker] == Rambo || information_item_player[attacker][0] == 15 && maxClip[weapon] != -1)
- {
- new nowe_zdrowie = (zdrowie+20<maksymalne_zdrowie_player[attacker])? zdrowie+20: maksymalne_zdrowie_player[attacker];
- set_user_clip(attacker, maxClip[weapon]);
- set_user_health(attacker, nowe_zdrowie);
- }
- #if defined BOT
- if(is_user_bot2(attacker) && random(9) == 0)
- WyrzucPrzedmiot(id);
- #endif
- if(!information_item_player[attacker][0])
- DajPrzedmiot(attacker, random_num(1, sizeof names_objects-1));
- if(information_item_player[attacker][0] == 14)
- {
- new nowe_zdrowie = (zdrowie+50<maksymalne_zdrowie_player[attacker])? zdrowie+50: maksymalne_zdrowie_player[attacker];
- set_user_health(attacker, nowe_zdrowie);
- }
- if(information_item_player[id][0]==29)
- set_task(0.1,"Kamikaze",id,_,_,"a",1)
- set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
- ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", nowe_experience);
- experience_player[attacker] += nowe_experience;
- }
- SprawdzLevel(attacker);
- if(information_item_player[id][0] == 7 && random_num(1, information_item_player[id][1]) == 1)
- set_task(0.1, "Raise", id+TASK_RAISE);
- return PLUGIN_CONTINUE;
- }
- public client_connect(id)
- {
- //resetuje umiejetnosci
- class_player[id] = 0;
- level_player[id] = 0;
- experience_player[id] = 0;
- punkty_player[id] = 0;
- zdrowie_player[id] = 0;
- inteligencja_player[id] = 0;
- wytrzymalosc_player[id] = 0;
- kondycja_player[id] = 0;
- maksymalne_zdrowie_player[id] = 0;
- fast_player[id] = 0.0;
- get_user_authid(id, g_szAuthID[id], charsmax(g_szAuthID[] ));
- remove_task(id+TASK_SHOW_INFORMATION);
- remove_task(id+TASK_SHOW_ADVERTISEMENT);
- remove_task(id+TASK_SET_FAST);
- remove_task(id+TASK_RAISE);
- remove_task(id+TASK_TRAINING_SANITARY);
- set_task(10.0, "ShowAdvertisement", id+TASK_SHOW_ADVERTISEMENT);
- set_task(3.0, "ShowInformation", id+TASK_SHOW_INFORMATION);
- //resetuje przedmioty
- UsunPrzedmiot(id);
- }
- public client_disconnect(id)
- {
- remove_task(id+TASK_SHOW_INFORMATION);
- remove_task(id+TASK_SHOW_ADVERTISEMENT);
- remove_task(id+TASK_SET_FAST);
- remove_task(id+TASK_RAISE);
- remove_task(id+TASK_TRAINING_SANITARY);
- ZapiszDane(id);
- UsunPrzedmiot(id);
- }
- public RozbrajaBomb(id)
- if(class_player[id])
- disarming = id;
- public BombaPodlozona()
- {
- new Players[32], playerCount, id;
- get_players(Players, playerCount, "aeh", "TERRORIST");
- if(get_playersnum() > 1)
- {
- experience_player[podkladajacy] += experience_for_bomb;
- for (new i=0; i<playerCount; i++)
- {
- id = Players[i];
- if(!class_player[id])
- continue;
- if(id != podkladajacy)
- {
- experience_player[id] += experience_for_murder;
- client_print(id, print_chat, "[COD:MW] Vous recevez **%i** EXP pour avoir plante la bombe.", experience_for_murder);
- }
- else
- {
- client_print(id, print_chat, "[COD:MW] Vous recevez **%i** EXP pour avoir plante la bombe.", experience_for_bomb);
- }
- SprawdzLevel(id);
- }
- }
- }
- public BombaRozbrojona()
- {
- new Players[32], playerCount, id;
- get_players(Players, playerCount, "aeh", "CT");
- experience_player[disarming] += experience_for_bomb;
- for (new i=0; i<playerCount; i++)
- {
- id = Players[i];
- if(!class_player[id])
- continue;
- if(id != disarming)
- {
- experience_player[id]+= experience_for_murder;
- client_print(id, print_chat, "[COD:MW] Vous recevez **%i** EXP pour avoir diffuse la bombe.", experience_for_murder);
- }
- else
- client_print(id, print_chat, "[COD:MW] Vous recevez **%i** EXP pour avoir diffuse la bombe.",experience_for_bomb);
- SprawdzLevel(id);
- }
- }
- public DescriptionKlasy(id)
- {
- new menu = menu_create("Select Class:", "DescriptionKlasy_Handle");
- for(new i=1; i<sizeof names_klas; i++)
- menu_additem(menu, names_klas[i]);
- menu_setprop(menu, MPROP_EXITNAME, "Exit");
- menu_setprop(menu, MPROP_BACKNAME, "Previous Page");
- menu_setprop(menu, MPROP_NEXTNAME, "Next Page");
- menu_display(id, menu);
- client_cmd(id, "spk MW/select");
- }
- public DescriptionKlasy_Handle(id, menu, item)
- {
- client_cmd(id, "spk MW/select");
- if(item == MENU_EXIT)
- {
- menu_destroy(menu);
- return PLUGIN_CONTINUE;
- }
- client_print(id, print_chat, "[COD:MW] %s: %s", names_klas[item+1], descriptions_klas[item+1]);
- menu_display(id, menu);
- return PLUGIN_CONTINUE;
- }
- public WybierzKlase(id)
- {
- new menu = menu_create("Select Class:", "WybierzKlase_Handle");
- new class[50];
- for(new i=1; i<sizeof names_klas; i++)
- {
- WczytajDane(id, i);
- format(class, 49, "%s \yLevel: %i", names_klas[i], level_player[id]);
- menu_additem(menu, class);
- }
- WczytajDane(id, class_player[id]);
- menu_setprop(menu, MPROP_EXITNAME, "Exit");
- menu_setprop(menu, MPROP_BACKNAME, "Previous Page");
- menu_setprop(menu, MPROP_NEXTNAME, "Next Page");
- menu_display(id, menu);
- client_cmd(id, "spk MW/select");
- #if defined BOT
- if(is_user_bot2(id))
- WybierzKlase_Handle(id, menu, random(sizeof names_klas-1));
- #endif
- }
- public WybierzKlase_Handle(id, menu, item)
- {
- client_cmd(id, "spk MW/select");
- if(item == MENU_EXIT)
- {
- menu_destroy(menu);
- return PLUGIN_CONTINUE;
- }
- item++;
- if(item == class_player[id])
- return PLUGIN_CONTINUE;
- if(class_player[id])
- {
- nowa_class_player[id] = item;
- client_print(id, print_chat, "[COD:MW] Votre classe sera change au prochain round.");
- }
- else
- {
- class_player[id] = item;
- WczytajDane(id, class_player[id]);
- Odrodzenie(id);
- }
- return PLUGIN_CONTINUE;
- }
- public PrzydzielPunkty(id)
- {
- new inteligencja[65];
- new zdrowie[60];
- new wytrzymalosc[60];
- new kondycja[60];
- new tytul[25];
- format(inteligencja, 64, "Intelligence: \r%i \y(Augmente les dommages des Items)", inteligencja_player[id]);
- format(zdrowie, 59, "Vie: \r%i \y(Augmente la vie)", zdrowie_player[id]);
- format(wytrzymalosc, 59, "Dexterite: \r%i \y(Reduit les dommages sur vous)", wytrzymalosc_player[id]);
- format(kondycja, 59, "Agilite: \r%i \y(Augmente la rapidite)", kondycja_player[id]);
- format(tytul, 24, "Assign Points(%i):", punkty_player[id]);
- new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
- menu_additem(menu, inteligencja);
- menu_additem(menu, zdrowie);
- menu_additem(menu, wytrzymalosc);
- menu_additem(menu, kondycja);
- menu_display(id, menu);
- #if defined BOT
- if(is_user_bot2(id))
- PrzydzielPunkty_Handler(id, menu, random(4));
- #endif
- }
- public PrzydzielPunkty_Handler(id, menu, item)
- {
- client_cmd(id, "spk MW/select");
- if(item == MENU_EXIT)
- {
- menu_destroy(menu);
- return PLUGIN_CONTINUE;
- }
- switch(item)
- {
- case 0:
- {
- if(inteligencja_player[id]<100)
- inteligencja_player[id]++;
- else
- client_print(id, print_chat, "[COD:MW] Maximum Intelligence Level");
- }
- case 1:
- {
- if(zdrowie_player[id]<100)
- zdrowie_player[id]++;
- else
- client_print(id, print_chat, "[COD:MW] Maximum Vie Level");
- }
- case 2:
- {
- if(wytrzymalosc_player[id]<100)
- wytrzymalosc_player[id]++;
- else
- client_print(id, print_chat, "[COD:MW] Maximum Dexterite Level");
- }
- case 3:
- {
- if(kondycja_player[id]<100)
- kondycja_player[id]++;
- else
- client_print(id, print_chat, "[COD:MW] Maximum Agilite Level");
- }
- }
- punkty_player[id]--;
- if(punkty_player[id]>0)
- PrzydzielPunkty(id);
- return PLUGIN_CONTINUE;
- }
- public ResetujPunkty(id)
- {
- punkty_player[id] = level_player[id]*2-2;
- inteligencja_player[id] = 0;
- zdrowie_player[id] = 0;
- kondycja_player[id] = 0;
- wytrzymalosc_player[id] = 0;
- }
- public KomendaResetujPunkty(id)
- {
- client_print(id, print_chat, "[COD:MW] Vos points seront remis a zero au prochain round.");
- client_cmd(id, "spk MW/select");
- gracz_resetuje[id] = true;
- }
- public TrainingSanitary(id)
- {
- id -= TASK_TRAINING_SANITARY;
- if(information_item_player[id][0] != 16)
- return PLUGIN_CONTINUE;
- set_task(3.0, "TrainingSanitary", id+TASK_TRAINING_SANITARY);
- if(!is_user_alive(id))
- return PLUGIN_CONTINUE;
- new health = get_user_health(id);
- new new_health = (health+10<maksymalne_zdrowie_player[id])?health+10:maksymalne_zdrowie_player[id];
- set_user_health(id, new_health);
- return PLUGIN_CONTINUE;
- }
- public StworzApteczke(id)
- {
- if (!ilosc_apteczek_player[id])
- {
- client_print(id, print_center, "Vous avez seulement 2 kits par round!");
- return PLUGIN_CONTINUE;
- }
- if(inteligencja_player[id] < 1)
- client_print(id, print_center, "Pour ameliorer votre Kit de survie, augmentez votre Intelligence!");
- ilosc_apteczek_player[id]--;
- new Float:origin[3];
- entity_get_vector(id, EV_VEC_origin, origin);
- new ent = create_entity("info_target");
- entity_set_string(ent, EV_SZ_classname, "FirstAidKit");
- entity_set_edict(ent, EV_ENT_owner, id);
- entity_set_int(ent, EV_INT_solid, SOLID_NOT);
- entity_set_vector(ent, EV_VEC_origin, origin);
- entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);
- entity_set_model(ent, "models/w_medkit.mdl");
- set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) ;
- drop_to_floor(ent);
- entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
- return PLUGIN_CONTINUE;
- }
- public FirstAirKitThink(ent)
- {
- new id = entity_get_edict(ent, EV_ENT_owner);
- new totem_dist = 300;
- new totem_heal = 5+floatround(inteligencja_player[id]*0.5);
- if (entity_get_edict(ent, EV_ENT_euser2) == 1)
- {
- new Float:forigin[3], origin[3];
- entity_get_vector(ent, EV_VEC_origin, forigin);
- FVecIVec(forigin,origin);
- new entlist[33];
- new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist, 32,forigin);
- for (new i=0; i < numfound; i++)
- {
- new pid = entlist[i];
- if (get_user_team(pid) != get_user_team(id))
- continue;
- new zdrowie = get_user_health(pid);
- new nowe_zdrowie = (zdrowie+totem_heal<maksymalne_zdrowie_player[pid])?zdrowie+totem_heal:maksymalne_zdrowie_player[pid];
- if (is_user_alive(pid)) set_user_health(pid, nowe_zdrowie);
- }
- entity_set_edict(ent, EV_ENT_euser2, 0);
- entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5);
- return PLUGIN_CONTINUE;
- }
- if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
- {
- remove_entity(ent);
- return PLUGIN_CONTINUE;
- }
- if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
- set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 ) ;
- new Float:forigin[3], origin[3];
- entity_get_vector(ent, EV_VEC_origin, forigin);
- FVecIVec(forigin,origin);
- //Find people near and give them health
- message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
- write_byte( TE_BEAMCYLINDER );
- write_coord( origin[0] );
- write_coord( origin[1] );
- write_coord( origin[2] );
- write_coord( origin[0] );
- write_coord( origin[1] + totem_dist );
- write_coord( origin[2] + totem_dist );
- write_short( sprite_white );
- write_byte( 0 ); // startframe
- write_byte( 0 ); // framerate
- write_byte( 10 ); // life
- write_byte( 10 ); // width
- write_byte( 255 ); // noise
- write_byte( 255 ); // r, g, b
- write_byte( 100 );// r, g, b
- write_byte( 100 ); // r, g, b
- write_byte( 128 ); // brightness
- write_byte( 5 ); // speed
- message_end();
- entity_set_edict(ent, EV_ENT_euser2 ,1);
- entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5);
- return PLUGIN_CONTINUE;
- }
- public StworzRakiete(id)
- {
- if (!ilosc_rakiet_player[id])
- {
- client_print(id, print_center, "Vous avez utilise toutes vos rockets!");
- return PLUGIN_CONTINUE;
- }
- if(poprzednia_rakieta_player[id] + 2.0 > get_gametime())
- {
- client_print(id, print_center, "Vous pouvez utiliser le rocket toutes les 2 secondes!");
- return PLUGIN_CONTINUE;
- }
- if (is_user_alive(id))
- {
- if(inteligencja_player[id] < 1)
- client_print(id, print_center, "Pour ameliorer vos Rockets, augmentez votreIntelligence!");
- poprzednia_rakieta_player[id] = get_gametime();
- ilosc_rakiet_player[id]--;
- new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];
- entity_get_vector(id, EV_VEC_v_angle, vAngle);
- entity_get_vector(id, EV_VEC_origin , Origin);
- new Ent = create_entity("info_target");
- entity_set_string(Ent, EV_SZ_classname, "Rocket");
- entity_set_model(Ent, "models/rpgrocket.mdl");
- vAngle[0] *= -1.0;
- entity_set_origin(Ent, Origin);
- entity_set_vector(Ent, EV_VEC_angles, vAngle);
- entity_set_int(Ent, EV_INT_effects, 2);
- entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
- entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
- entity_set_edict(Ent, EV_ENT_owner, id);
- VelocityByAim(id, 1000 , Velocity);
- entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
- }
- return PLUGIN_CONTINUE;
- }
- public PolozDynamit(id)
- {
- if(!ilosc_dynamitow_player[id])
- {
- client_print(id, print_center, "Vous avez deja utilise votre dynamite!");
- return PLUGIN_CONTINUE;
- }
- if(inteligencja_player[id] < 1)
- client_print(id, print_center, "Pour ameliorer votre dynamite, augmentez votre intelligence!");
- ilosc_dynamitow_player[id]--;
- new Float:fOrigin[3], iOrigin[3];
- entity_get_vector( id, EV_VEC_origin, fOrigin);
- iOrigin[0] = floatround(fOrigin[0]);
- iOrigin[1] = floatround(fOrigin[1]);
- iOrigin[2] = floatround(fOrigin[2]);
- message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
- write_byte(TE_EXPLOSION);
- write_coord(iOrigin[0]);
- write_coord(iOrigin[1]);
- write_coord(iOrigin[2]);
- write_short(sprite_blast);
- write_byte(32);
- write_byte(20);
- write_byte(0);
- message_end();
- message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
- write_byte( TE_BEAMCYLINDER );
- write_coord( iOrigin[0] );
- write_coord( iOrigin[1] );
- write_coord( iOrigin[2] );
- write_coord( iOrigin[0] );
- write_coord( iOrigin[1] + 300 );
- write_coord( iOrigin[2] + 300 );
- write_short( sprite_white );
- write_byte( 0 ); // startframe
- write_byte( 0 ); // framerate
- write_byte( 10 ); // life
- write_byte( 10 ); // width
- write_byte( 255 ); // noise
- write_byte( 255 ); // r, g, b
- write_byte( 100 );// r, g, b
- write_byte( 100 ); // r, g, b
- write_byte( 128 ); // brightness
- write_byte( 8 ); // speed
- message_end();
- new entlist[33];
- new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);
- for (new i=0; i < numfound; i++)
- {
- new pid = entlist[i];
- if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || information_item_player[pid][0] == 24)
- continue;
- ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(inteligencja_player[id]) , 1);
- }
- return PLUGIN_CONTINUE;
- }
- public PostawMine(id)
- {
- if (!ilosc_min_player[id])
- {
- client_print(id, print_center, "Vous avez utilise toutes vos mines!");
- return PLUGIN_CONTINUE;
- }
- if(inteligencja_player[id] < 1)
- client_print(id, print_center, "Pour ameliorer vos mines, augmentez votre intelligence!");
- ilosc_min_player[id]--;
- new Float:origin[3];
- entity_get_vector(id, EV_VEC_origin, origin);
- new ent = create_entity("info_target");
- entity_set_string(ent ,EV_SZ_classname, "Mine");
- entity_set_edict(ent ,EV_ENT_owner, id);
- entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS);
- entity_set_origin(ent, origin);
- entity_set_int(ent, EV_INT_solid, SOLID_BBOX);
- entity_set_model(ent, "models/mine.mdl");
- entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});
- drop_to_floor(ent);
- entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) ;
- set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,20) ;
- return PLUGIN_CONTINUE;
- }
- public DotykMiny(ent, id)
- {
- new attacker = entity_get_edict(ent, EV_ENT_owner);
- if (get_user_team(attacker) != get_user_team(id))
- {
- new Float:fOrigin[3], iOrigin[3];
- entity_get_vector( ent, EV_VEC_origin, fOrigin);
- iOrigin[0] = floatround(fOrigin[0]);
- iOrigin[1] = floatround(fOrigin[1]);
- iOrigin[2] = floatround(fOrigin[2]);
- message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
- write_byte(TE_EXPLOSION);
- write_coord(iOrigin[0]);
- write_coord(iOrigin[1]);
- write_coord(iOrigin[2]);
- write_short(sprite_blast);
- write_byte(32); // scale
- write_byte(20); // framerate
- write_byte(0);// flags
- message_end();
- new entlist[33];
- new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32);
- for (new i=0; i < numfound; i++)
- {
- new pid = entlist[i];
- if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || information_item_player[pid][0] == 24 || class_player[id] == Protector)
- continue;
- ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 90.0+float(inteligencja_player[attacker]) , 1);
- }
- remove_entity(ent);
- }
- }
- public DotykRakiety(ent)
- {
- if ( !is_valid_ent(ent))
- return;
- new attacker = entity_get_edict(ent, EV_ENT_owner);
- new Float:fOrigin[3], iOrigin[3];
- entity_get_vector( ent, EV_VEC_origin, fOrigin);
- iOrigin[0] = floatround(fOrigin[0]);
- iOrigin[1] = floatround(fOrigin[1]);
- iOrigin[2] = floatround(fOrigin[2]);
- message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
- write_byte(TE_EXPLOSION);
- write_coord(iOrigin[0]);
- write_coord(iOrigin[1]);
- write_coord(iOrigin[2]);
- write_short(sprite_blast);
- write_byte(32); // scale
- write_byte(20); // framerate
- write_byte(0);// flags
- message_end();
- new entlist[33];
- new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32);
- for (new i=0; i < numfound; i++)
- {
- new pid = entlist[i];
- if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || information_item_player[pid][0] == 24)
- continue;
- ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0+float(inteligencja_player[attacker]) , 1);
- }
- remove_entity(ent);
- }
- public CurWeapon(id)
- {
- if(class_player[id]==Rusher){
- new iWeapon = read_data(2)
- if( !( NOCLIP_WPN_BS & (1<<iWeapon) ) )
- {
- fm_cs_set_weapon_ammo( get_pdata_cbase(id, m_pActivation) , g_MaxAmmoClip[ iWeapon ] )
- }
- }
- if(freezetime || !class_player[id])
- return PLUGIN_CONTINUE;
- new weapon = read_data(2);
- SetFast(id);
- if(weapon == CSW_C4)
- podkladajacy = id;
- return PLUGIN_CONTINUE;
- }
- public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch )
- {
- if(equal(szSound, "common/wpn_denyselect.wav"))
- {
- UzyjItem(id);
- return FMRES_SUPERCEDE;
- }
- return FMRES_IGNORED;
- }
- public UzyjItem(id)
- {
- if(information_item_player[id][0] == 19 && information_item_player[id][1]>0)
- {
- set_user_health(id, maksymalne_zdrowie_player[id]);
- information_item_player[id][1]--;
- }
- if(ilosc_apteczek_player[id]>0)
- StworzApteczke(id);
- if(ilosc_rakiet_player[id]>0)
- StworzRakiete(id);
- if(ilosc_min_player[id]>0)
- PostawMine(id);
- if(ilosc_dynamitow_player[id]>0)
- PolozDynamit(id);
- return PLUGIN_HANDLED;
- }
- public ZapiszDane(id)
- {
- new vaultkey[64],vaultdata[256];
- format(vaultkey,63,"%s-%i-cod", g_szAuthID[id], class_player[id]);
- format(vaultdata,255,"%i#%i#%i#%i#%i#%i", experience_player[id], level_player[id], inteligencja_player[id], zdrowie_player[id], wytrzymalosc_player[id], kondycja_player[id]);
- nvault_set(g_vault,vaultkey,vaultdata);
- }
- public WczytajDane(id, class)
- {
- new vaultkey[64],vaultdata[256];
- format(vaultkey,63,"%s-%i-cod", g_szAuthID[id], class);
- format(vaultdata,255,"%i#%i#%i#%i#%i#%i", experience_player[id], level_player[id], inteligencja_player[id], zdrowie_player[id], wytrzymalosc_player[id], kondycja_player[id]);
- nvault_get(g_vault,vaultkey,vaultdata,255);
- replace_all(vaultdata, 255, "#", " ");
- new experienceplayer[32], levelplayer[32], inteligencjaplayer[32], silaplayer[32], zrecznoscplayer[32], zwinnoscplayer[32];
- parse(vaultdata, experienceplayer, 31, levelplayer, 31, inteligencjaplayer, 31, silaplayer, 31, zrecznoscplayer, 31, zwinnoscplayer, 31);
- experience_player[id] = str_to_num(experienceplayer);
- level_player[id] = str_to_num(levelplayer)>0?str_to_num(levelplayer):1;
- inteligencja_player[id] = str_to_num(inteligencjaplayer);
- zdrowie_player[id] = str_to_num(silaplayer);
- wytrzymalosc_player[id] = str_to_num(zrecznoscplayer);
- kondycja_player[id] = str_to_num(zwinnoscplayer);
- punkty_player[id] = (level_player[id]-1)*2-inteligencja_player[id]-zdrowie_player[id]-wytrzymalosc_player[id]-kondycja_player[id];
- }
- public WyrzucPrzedmiot(id)
- {
- if(information_item_player[id][0])
- {
- client_print(id, print_chat, "[COD:MW] Item jete %s.", names_objects[information_item_player[id][0]]);
- UsunPrzedmiot(id);
- }
- else
- client_print(id, print_chat, "[COD:MW] Vous navez pas d'Item a jeter.", names_objects[information_item_player[id][0]]);
- }
- public UsunPrzedmiot(id)
- {
- information_item_player[id][0] = 0;
- information_item_player[id][1] = 0;
- if(is_user_alive(id))
- set_user_footsteps(id, 0);
- set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
- ZmienUbranie(id, 1);
- }
- public DajPrzedmiot(id, przedmiot)
- {
- UsunPrzedmiot(id);
- information_item_player[id][0] = przedmiot;
- client_print(id, print_chat, "[COD:MW] Recu : %s.", names_objects[information_item_player[id][0]]);
- switch(przedmiot)
- {
- case 1:
- {
- set_user_footsteps(id, 1);
- }
- case 2:
- {
- information_item_player[id][1] = random_num(3,6);
- }
- case 3:
- {
- information_item_player[id][1] = random_num(6, 11);
- }
- case 5:
- {
- information_item_player[id][1] = random_num(6, 9);
- }
- case 6:
- {
- information_item_player[id][1] = random_num(100, 150);
- set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 40);
- }
- case 7:
- {
- information_item_player[id][1] = random_num(2, 4);
- }
- case 8:
- {
- if(class_player[id] == Commando)
- DajPrzedmiot(id, random_num(1, sizeof names_objects-1));
- }
- case 9:
- {
- information_item_player[id][1] = random_num(1, 3);
- ZmienUbranie(id, 0);
- give_item(id, "weapon_hegrenade");
- }
- case 10:
- {
- information_item_player[id][1] = random_num(4, 98);
- give_item(id, "weapon_hegrenade");
- }
- case 12:
- {
- information_item_player[id][1] = random_num(1, 99);
- }
- case 13:
- {
- give_item(id, "weapon_awp");
- }
- case 15:
- {
- if(class_player[id] == Rambo)
- DajPrzedmiot(id, random_num(1, sizeof names_objects-1));
- }
- case 16:
- {
- set_task(5.0, "TrainingSanitary", id+TASK_TRAINING_SANITARY);
- }
- case 19:
- {
- information_item_player[id][1] = 1;
- }
- case 26:
- {
- information_item_player[id][1] = random_num(3, 6);
- }
- case 27:
- {
- information_item_player[id][1] = 3;
- }
- }
- }
- public DescriptionItem(id)
- {
- new description_item[128];
- new losowa_wartosc[3];
- num_to_str(information_item_player[id][1], losowa_wartosc, 2);
- format(description_item, 127, descriptions_objects[information_item_player[id][0]]);
- replace_all(description_item, 127, "LW", losowa_wartosc);
- client_print(id, print_chat, "Item: %s.", names_objects[information_item_player[id][0]]);
- client_print(id, print_chat, "Description: %s.", description_item);
- }
- public Raise(id)
- {
- id-=TASK_RAISE;
- ExecuteHamB(Ham_CS_RoundRespawn, id);
- }
- public SprawdzLevel(id)
- {
- if(level_player[id] < 201)
- {
- while(experience_player[id] >= experience_level[level_player[id]])
- {
- level_player[id]++;
- set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
- ShowSyncHudMsg(id, SyncHudObj3, "Felicitations, vous avez gagne un level!");
- client_cmd(id, "spk MW/levelup");
- }
- punkty_player[id] = (level_player[id]-1)*2-inteligencja_player[id]-zdrowie_player[id]-wytrzymalosc_player[id]-kondycja_player[id];
- }
- ZapiszDane(id);
- }
- public ShowInformation(id)
- {
- id -= TASK_SHOW_INFORMATION;
- set_task(0.1, "ShowInformation", id+TASK_SHOW_INFORMATION);
- if(!is_user_alive(id))
- {
- new target = entity_get_int(id, EV_INT_iuser2);
- if(target == 0)
- return PLUGIN_CONTINUE;
- set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
- ShowSyncHudMsg(id, SyncHudObj, "Class : %s^nExp : %i / %i^nLevel : %i^nItem : %s", names_klas[class_player[target]], experience_player[target], experience_level[level_player[target]], level_player[target], names_objects[information_item_player[target][0]]);
- return PLUGIN_CONTINUE;
- }
- set_hudmessage(255, 0, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
- ShowSyncHudMsg(id, SyncHudObj, "[Class : %s]^n[Exp : %i / %i]^n[Level : %i]^n[Item : %s]^n[Vie : %i]", names_klas[class_player[id]], experience_player[id], experience_level[level_player[id]], level_player[id], names_objects[information_item_player[id][0]],get_user_health(id));
- return PLUGIN_CONTINUE;
- }
- public ShowAdvertisement(id)
- {
- id-=TASK_SHOW_ADVERTISEMENT;
- client_print(id, print_chat, "[COD:MW] Bienvenue sur le server des .:|SFF|:.");
- client_print(id, print_chat, "Tapez /help pour afficher la liste des commandes du mode CMD MW");
- }
- public SetFast(id)
- {
- id -= id>32? TASK_SET_FAST: 0;
- if(class_player[id])
- set_user_maxspeed(id, fast_player[id]);
- }
- public ZmienUbranie(id,reset)
- {
- if (id<1 || id>32 || !is_user_connected(id))
- return PLUGIN_CONTINUE;
- if (reset)
- cs_reset_user_model(id);
- else
- {
- new num = random_num(0,3);
- switch(get_user_team(id))
- {
- case 1: cs_set_user_model(id, Clothing_CT[num]);
- case 2:cs_set_user_model(id, Clothing_Terro[num]);
- }
- }
- return PLUGIN_CONTINUE;
- }
- public Pomoc()
- {
- switch(random(3))
- {
- case 0: client_print(0, print_chat, "[COD:MW] Ceci est une version modifiee, si vous rencontrez des bugs merci de nous les signaler");
- case 1: client_print(0, print_chat, "[COD:MW] Nous recrutons des admins actifs http://sff.servfr.net");
- case 2: client_print(0, print_chat, "[COD:MW] Tapez /help pour obtenir l'aide");
- }
- set_task(60.0, "Pomoc");
- }
- public cmd_setlvl(id, level, cid)
- {
- if(!cmd_access(id,level,cid,3))
- return PLUGIN_HANDLED;
- new arg1[33];
- new arg2[6];
- read_argv(1, arg1, 32);
- read_argv(2, arg2, 5);
- new player = cmd_target(id, arg1);
- new value = str_to_num(arg2)-1;
- experience_player[player] = experience_level[value];
- level_player[player] = 0;
- SprawdzLevel(player);
- return PLUGIN_HANDLED;
- }
- public CommandBlock()
- return PLUGIN_HANDLED;
- stock bool:UTIL_In_FOV(id,target)
- {
- if (Find_Angle(id,target,9999.9) > 0.0)
- return true;
- return false;
- }
- #if defined BOT
- public is_user_bot2(id)
- {
- new ping, loss
- get_user_ping(id, ping, loss)
- if(ping > 0 && loss > 0)
- return false
- return true
- }
- #endif
- stock Float:Find_Angle(Core,Target,Float:dist)
- {
- new Float:vec2LOS[2];
- new Float:flDot;
- new Float:CoreOrigin[3];
- new Float:TargetOrigin[3];
- new Float:CoreAngles[3];
- pev(Core,pev_origin,CoreOrigin);
- pev(Target,pev_origin,TargetOrigin);
- if (get_distance_f(CoreOrigin,TargetOrigin) > dist)
- return 0.0;
- pev(Core,pev_angles, CoreAngles);
- for ( new i = 0; i < 2; i++ )
- vec2LOS[i] = TargetOrigin[i] - CoreOrigin[i];
- new Float:veclength = Vec2DLength(vec2LOS);
- //Normalize V2LOS
- if (veclength <= 0.0)
- {
- vec2LOS[0] = 0.0;
- vec2LOS[1] = 0.0;
- }
- else
- {
- new Float:flLen = 1.0 / veclength;
- vec2LOS[0] = vec2LOS[0]*flLen;
- vec2LOS[1] = vec2LOS[1]*flLen;
- }
- //Do a makevector to make v_forward right
- engfunc(EngFunc_MakeVectors,CoreAngles);
- new Float:v_forward[3];
- new Float:v_forward2D[2];
- get_global_vector(GL_v_forward, v_forward);
- v_forward2D[0] = v_forward[0];
- v_forward2D[1] = v_forward[1];
- flDot = vec2LOS[0]*v_forward2D[0]+vec2LOS[1]*v_forward2D[1];
- if ( flDot > 0.5 )
- {
- return flDot;
- }
- return 0.0;
- }
- stock Float:Vec2DLength( Float:Vec[2] )
- {
- return floatsqroot(Vec[0]*Vec[0] + Vec[1]*Vec[1] );
- }
- stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
- {
- message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id );
- write_short( duration ); // Duration of fadeout
- write_short( holdtime ); // Hold time of color
- write_short( fadetype ); // Fade type
- write_byte ( red ); // Red
- write_byte ( green ); // Green
- write_byte ( blue ); // Blue
- write_byte ( alpha ); // Alpha
- message_end();
- }
- stock set_user_clip(id, ammo)
- {
- new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
- get_weaponname(weapon, weaponname, 31);
- while ((weaponid = find_ent_by_class(weaponid, weaponname)) != 0)
- if(entity_get_edict(weaponid, EV_ENT_owner) == id)
- {
- set_pdata_int(weaponid, 51, ammo, 4);
- return weaponid;
- }
- return 0;
- }
- public userhelp(id)
- {
- //create info/help.txt in your mod folder and put your info there as you add in motd
- show_motd(id, "help.txt", "Help Motd")
- }
- public message_Health(msgid, dest, id)
- {
- if(!is_user_alive(id))
- return PLUGIN_CONTINUE;
- static hp;
- hp = get_msg_arg_int(1);
- if(hp > 255 && (hp % 256) == 0)
- set_msg_arg_int(1, ARG_BYTE, ++hp);
- return PLUGIN_CONTINUE;}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement