Pluginy AMX Mod X - CoD:WM + Nowe Klasy Nazwa :
QTM_CodMod + nowe Klasy by RomanPL
Opis :
Call of Duty Mod z ... |
|
Bot
Grupa: Użytkownik
Postów: 16
Zarejestrowany: Oct 2009
Skąd: Pyskowice
Wiek: 15
|
CoD:WM + Nowe Klasy -
10-06-10, 07:54
Nazwa :
QTM_CodMod + nowe Klasy by RomanPL
Opis :
Call of Duty Mod z dodanymi przez mnie Klasami zrobiony na serwerownie cs-cimeria, ale wam też go udostępniam 
To nie jest przerobiony diablo mod
Cvar :
Tak jak w podstawowym QTM_CodMod
cod_killxp 15 // ilosc xp za zabicie
cod_bombxp 100 //ilosc xp za podłożenie paki
Komenda :
Tak jak w podstawowym QTM_CodMod
say /klasa - wybór klasy
say /klasy - opis klas
say /reset - zresetowanie postaci
say /item - info
o przedmiocie
say /drop wyrzucenie itemu
Instalacja :
Standardowo, czyli
plik QTM_CodMod + nowe Klasy by RomanPL.amxx wklejamy do cstrike\addons\amxmodx\plugins
i dodajemy QTM_CodMod + nowe Klasy by RomanPL.amxx na końcu pliku
plugins.ini
Opis Klas :
Snajper
Opis Podstawowy: Dostaje AWP, scout i deagle, 120hp bazowe, 1/3 szansy natychmiastowego zabicia noza, 110% biegu, 100 pancerza
Szybkość : 7/10
Wytrzymałość : 6/10
Walka na Bliski Dystans : 4/10
Walka na Daleki Dystans : 10/10
Zalety : szybkość biegu, AWP (mówi samo za siebie ), jako tako z HP
Wady : Z bliskiej odległości przeciwko klasom na bliski/średni dystans małe szanse
Komandos
Opis Podstawowy: Dostaje Deagle, 140hp bazowe, Natychmiastowe zabicie z noza (prawy przycisk myszy), 135% biegu, 100 pancerza
Szybkość : 8/10
Wytrzymałość : 8/10
Walka na Bliski Dystans : 8/10
Walka na Daleki Dystans : 4/10
Zalety : Zabijanie 1 ciosem z noża, Szybko biega, Nawet dużo hp
Wady : Nie nadaje się do walki na dalsze dystanse
Strzelec wyborowy
Opis Podstawowy: Dostaje AK i M4A1, 110hp bazowe, 80 % biegu, 100 pancerza
Szybkość : 4/10
Wytrzymałość : 7/10
Walka na Bliski Dystans : 7/10
Walka na Daleki Dystans : 7/10
Zalety : Dobrze sobie radzi na bliski/daleki dystans, posiada pełen pancerz
Wady : Wolno biega
Obronca
Opis Podstawowy: Dostaje M249 (Krowa), 120hp bazowe, 80% biegu, jest odporny na miny, ma wszystkie granaty, 150 pancerza
Szybkość : 4/10
Wytrzymałość : 7,5/10
Walka na Bliski Dystans : 9/10
Walka na Daleki Dystans : 6/10
Zalety : Posiada Wszystkie granaty, Dobry na bliski dystans (nie trzeba nawet specjalnie celować ), nawet nieźle idzie na daleki dystans
Wady : Wolno biega
Medyk
Opis Podstawowy: Dostaje UMP45, 110hp bazowe, posiada apteczke, 100 pancerza
Szybkość : 5,5/10
Wytrzymałość : 7/10
Walka na Bliski Dystans : 7/10
Walka na Daleki Dystans : 5/10
Zalety : Może leczyć siebie i sojuszników, nawet wytrzymały jak na klase bardziej do pomocy
Wady : Słaba broń, jest nie przystosowany do walki na daleki dystans
Wsparcie ogniowe
Opis Podstawowy: Dostaje MP5, 100 hp bazowe, Ma dwie rakiety,ktore po trafieniu przeciwnika zadaja dużo obrazen
Szybkość : 5,5/10
Wytrzymałość : 6/10
Walka na Bliski Dystans : 7,5/10
Walka na Daleki Dystans : 5,5/10
Zalety : Posiada rakiety
Wady : Trochę mało hp, nie najlepsza broń, rakiety szybko się kończą
Saper
Opis Podstawowy: Dostaje P90, 100hp bazowe, 100 pancerza, Dostaje 3 miny, gdy ktos w nie wejdzie wybuchaja
Szybkość : 5,5/10
Wytrzymałość : 6/10
Walka na Bliski Dystans : 7,5/10
Walka na Daleki Dystans : 5/10
Zalety : Posiada miny (dobre na mapy typu cs lub na bs'a)
Wady : Trochę mało hp, nie najlepsza broń
Demolitions
Opis Podstawowy: Dostaje AUG, 110 hp bazowe, 100 pancerza, Ma wszystkie granaty, Dostaje dynamit, który zabiera sporo zycia wszystkim znajdującym się blisko niego
Szybkość : 5,5/10
Wytrzymałość : 7/10
Walka na Bliski Dystans : 7/10
Walka na Daleki Dystans : 7/10
Zalety : Dynamit, niezła nawet broń, ma kamizelkę, posiada granaty (po 1 każdego typu)
Wady : Tylko 1 dynamit , mogło by być więcej hp
Rusher
Opis Podstawowy: Dostaje szotgana M3, 100 hp bazowe, 130% biegu
Szybkość : 8/10
Wytrzymałość : 6/10
Walka na Bliski Dystans : 10/10
Walka na Daleki Dystans : 1/10
Zalety : BARDZO dobry na bliski dystans, szybko biega
Wady : zupełnie bezradny na większe dystanse
Rambo - klasa premium
Opis Podstawowy: Dostaje Famasa, 130 hp bazowe, 120% biegu, za kazde zabojstwo +20 hp oraz pelen magazynek, podwojny skok
Szybkość : 7,5/10
Wytrzymałość : 9/10
Walka na Bliski Dystans : 7/10
Walka na Daleki Dystans : 6/10
Zalety : Podwójny skok, w miarę dobra broń, amunicja + hp za zabójstwo
Wady : Tylko dla adminów, trochę mało celny na dalekie dystanse
Partyzant
Opis Podstawowy: Dostaje P90 + FLASH, 100 hp bazowe + mniej widzialny
Szybkość : 6,5/10
Wytrzymałość : 6/10
Walka na Bliski Dystans : 7,5/10
Walka na Daleki Dystans : 5/10
Zalety : W cieniu można go nie zauważyć, posiada FLASH'a
Wady : Mało hp, średniawa prędkość (troche szybszy od sanitariusza)
Szpieg
Opis Podstawowy: Dostaje deagla, 70 hp bazowe, ma ubranie wroga
Szybkość : 7/10
Wytrzymałość : 3/10
Walka na Bliski Dystans : 6/10
Walka na Daleki Dystans : 5/10
Zalety : Przebrany za wroga, nawet szybki
Wady : BARDZO Mało hp, słaby przeciwko wrogom którzy mają broń automatyczną
Szturmowiec
Opis Podstawowy: Dostaje M4 + deagle + he, 140 hp bazowe + 150 kamizelki, wolniej biega
Szybkość : 4,5/10
Wytrzymałość : 10/10
Walka na Bliski Dystans : 7/10
Walka na Daleki Dystans : 6/10
Zalety : Dobre uzbrojenie, dużo hp
Wady : Wolny
Strzelec Wsparcia
Opis Podstawowy: Dostaje G3/SG-1, 125 hp bazowe, ma 1 rakiete
Szybkość : 4,5/10
Wytrzymałość : 7,5/10
Walka na Bliski Dystans : 6/10
Walka na Daleki Dystans : 9/10
Zalety : Ma rakietę, dobra broń
Wady : tylko 1 rakieta, wolny
Lekki Żołnierz
Opis Podstawowy: Dostaje galil + p228, 100 hp bazowe, szybciej biega
Szybkość : 9/10
Wytrzymałość : 5,5/10
Walka na Bliski Dystans : 7/10
Walka na Daleki Dystans : 6/10
Zalety : Jedna z najszybszych klas w modzie, dobra broń
Wady : Mało hp
Rebeliant
Opis Podstawowy: Dostaje sg552 + 1 mine + 1 HE, 125 hp bazowe
Szybkość : 5,5/10
Wytrzymałość : 7,5/10
Walka na Bliski Dystans : 6,5/10
Walka na Daleki Dystans : 7/10
Zalety : Posiada minę, Ma HE, ma nawet dobrą broń
Wady : Wolny, ma tylko 1 mine
Terorysta
Opis Podstawowy: Dostaje elites, 70 hp bazowe, o wiele szybciej biega
Szybkość : 10/10
Wytrzymałość : 3/10
Walka na Bliski Dystans : 7/10
Walka na Daleki Dystans : 4/10
Zalety : Najszybsza klasa w modzie
Wady : Niecelna broń. Mało hp
Ostatnio edytowane przez romanPL : 11-06-10 - 15:46
|
Offline
|
|
|
Wygadany
Grupa: Użytkownik
Postów: 466
Zarejestrowany: Nov 2009
Skąd: Konin
Wiek: 14
Status:
|
Odp: CoD:WM + Nowe Klasy -
10-06-10, 15:18
Wiele ludzi szuka tego moda a nie było go jeszcze na cscenter . Masz odemnie wielkiego plusa !
|
Offline
|
|
|
Forumowy ekspert
Grupa: Użytkownik
Postów: 1,660
Zarejestrowany: Sep 2008
Skąd: Szczecin
Wiek: 15
Status:
|
Odp: CoD:WM + Nowe Klasy -
10-06-10, 15:25
git +
|
Offline
|
|
|
Bot
Grupa: Użytkownik
Postów: 7
Zarejestrowany: Dec 2009
Skąd: polska
Wiek: 16
|
Odp: CoD:WM + Nowe Klasy -
10-06-10, 15:42
a bys mogl wrzucic .sma bo chce nazwy klas zmienic
|
Offline
|
|
|
Bot
Grupa: Użytkownik
Postów: 16
Zarejestrowany: Oct 2009
Skąd: Pyskowice
Wiek: 15
|
Odp: CoD:WM + Nowe Klasy -
10-06-10, 15:48
Łapaj 
Kod:
#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 "0.7.9 Beta"
#define AUTHOR "QTM_Peyote"
#define STANDARDOWA_SZYBKOSC 250.0
#define ZADANIE_POKAZ_INFORMACJE 672
#define ZADANIE_WSKRZES 704
#define ZADANIE_WYSZKOLENIE_SANITARNE 736
#define ZADANIE_POKAZ_REKLAME 768
#define ZADANIE_USTAW_SZYBKOSC 832
//#define BOTY 1
new SyncHudObj;
new SyncHudObj2;
new SyncHudObj3;
new g_msg_screenfade;
new sprite_white;
new sprite_blast;
new g_vault;
new podkladajacy;
new rozbrajajacy;
new doswiadczenia_za_zabojstwo;
new doswiadczenie_za_bombe;
new Ubrania_CT[4][]={"sas","gsg9","urban","gign"};
new Ubrania_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 informacje_przedmiotu_gracza[33][2];
new const nazwy_przedmiotow[][] = {"Brak",
"Buty Szturmowego", //1
"Podwojna Kamizelka", //2
"Wzmocniona Kamizelka", //3
"Weteran Noza", //4
"Zaskoczenie Wroga", //5
"Plaszcz Partyzanta", //6
"Morfina", //7
"Noz Komandosa", //8
"Podrecznik Szpiega", //9
"Tajemnica Generala", //10
"Notatki Ninji", //11
"Tajemnica Wojskowa", //12
"AWP Sniper",//13
"Adrenalina",//14
"Tajemnica Rambo",//15
"Wyszkolenie Sanitarne",//16
"Kamizelka NASA",//17
"Wytrenowany Weteran",//18
"Apteczka",//19
"Eliminator Rozrzutu",//20
"Tytanowe Naboje",//21
"Naboje Pulkownika",//22
"Ogranicznik Rozrzutu",//23
"Tarcza SWAT",//24
"Wytrenowany Rekrut",//25
"Pancerz Nomexowy",//26
"Notatki Kapitana",//27
"Modul odrzutowy"
};
new const opisy_przedmiotow[][] = {"Zabij kogos aby dostac przedmiot",
"Cicho biegasz",
"Obniza uszkodzenia zadawane graczowi o LW",
"Obniza uszkodzenia zadawane graczowi o LW",
"Zadajesz wieksze obrazenia nozem",
"Gdy trafisz kogos od tylu, obrazenia sa 2 razy wieksze",
"Masz LW premii niewidocznosci",
"1/LW szans do ponownego odrodzenia sie po smierci",
"Natychmiastowe zabicie z Noza",
"Masz 1/LW szans na natychmiastowe zabicie z HE. Posiadasz takze ubranie wroga",
"Natychmiastowe zabicie granatem HE. Zadajesz LW dodatkowych obrazen",
"Mozesz zrobic podwojny skok w powietrzu",
"Twoje obrazenia sa zredukowane o 5. Masz 1/LW szans na oslepienie wroga",
"Natychmiastowe zabicie z AWP",
"Za kazdego Fraga dostajesz 50 zycia",
"Za kazdego Fraga dostajesz pelen magazynek oraz +20 hp",
"Dostajesz 10 HP co 5 sekund",
"Masz 500 pancerza",
"Dostajesz +100 HP co runde, wolniej biegasz",
"Uzyj, aby uleczyc sie do maksymalnej ilosci HP",
"Nie posiadasz rozrzutu broni",
"Zadajesz 10 obrazen wiecej",
"Zadajesz 20 obrazen wiecej",
"Twoj rozrzut jest mniejszy",
"Nie dzialaja na ciebie zadne przedmioty",
"Dostajesz +50 HP co runde, wolniej biegasz",
"Masz 1/LW szans na odbicie pocisku przez pancerz",
"Jestes odporny na 3 pociski w kazdej rundzie",
"Nacisnij CTRL i SPACE aby uzyc modulu, modul laduje sie co 4 sekundy"
};
new nazwa_gracza[33][64];
new klasa_gracza[33];
new poziom_gracza[33] = 1;
new doswiadczenie_gracza[33];
new nowa_klasa_gracza[33];
new const doswiadczenie_poziomu[] = {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_gracza[33];
new zdrowie_gracza[33];
new inteligencja_gracza[33];
new wytrzymalosc_gracza[33];
new Float:redukcja_obrazen_gracza[33];
new kondycja_gracza[33];
new maksymalne_zdrowie_gracza[33];
new Float:szybkosc_gracza[33];
new bool:gracz_resetuje[33];
enum { NONE = 0, Snajper, Komandos, Strzelec, Obronca, Medyk, Wsparcie, Saper, Demolitions, Rusher, Rambo, Partyzant, Szpieg, Szturmowiec, StrzelecWsparcia, LekkiZolnierz, Rebeliant, Ninja};
new const zdrowie_klasy[] = { 0, 120, 140, 110, 120, 110, 100, 100, 110, 100, 130, 100, 70, 140, 125, 100, 125, 70};
new const Float:szybkosc_klasy[] = {0.0, 1.2, 1.35, 0.8, 0.8, 1.0, 1.0, 1.0, 1.0, 1.3 , 1.15, 1.1, 1.2, 0.9, 0.9, 1.35, 1.2, 1.5};
new const pancerz_klasy[] = { 0, 100, 100, 100, 150, 100, 0, 100, 100, 0, 150, 0, 0, 150, 50, 0, 25, 0};
new const nazwy_klas[][] = {"Brak",
"Snajper",
"Komandos",
"Strzelec wyborowy",
"Obronca",
"Medyk",
"Wsparcie ogniowe",
"Saper",
"Demolitions",
"Rusher",
"Rambo (Klasa Premium)",
"Partyzant",
"Szpieg",
"Szturmowiec",
"Strzelec Wsparcia",
"Lekki Zolniez",
"Rebeliant",
"Terorysta"
};
new const opisy_klas[][] = {"Brak",
"Dostaje AWP, scout i deagle, 120hp bazowe, 1/3 szansy natychmiastowego zabicia noza, 110% biegu, 100 pancerza",
"Dostaje Deagle, 140hp bazowe, Natychmiastowe zabicie z noza (prawy przycisk myszy), 135% biegu, 100 pancerza",
"Dostaje AK i M4A1, 110hp bazowe, 80 % biegu, 100 pancerza",
"Dostaje M249 (Krowa), 120hp bazowe, 80% biegu, jest odporny na miny, ma wszystkie granaty, 150 pancerza",
"Dostaje UMP45, 110hp bazowe, posiada apteczke, 100 pancerza",
"Dostaje MP5, 100 hp bazowe, Ma dwie rakiety,ktore po trafieniu przeciwnika zadaja dużo obrazen",
"Dostaje P90, 100hp bazowe, 100 pancerza, Dostaje 3 miny, gdy ktos w nie wejdzie wybuchaja",
"Dostaje AUG, 110 hp bazowe, 100 pancerza, Ma wszystkie granaty, Dostaje dynamit, który zabiera sporo zycia wszystkim znajdującym się blisko niego",
"Dostaje szotgana M3, 100 hp bazowe, 130% biegu",
"Dostaje Famasa, 130 hp bazowe, 120% biegu, za kazde zabojstwo +20 hp oraz pelen magazynek, podwojny skok",
"Dostaje P90 + FLASH, 100 hp bazowe + mniej widzialny",
"Dostaje deagla, 70 hp bazowe, ma ubranie wroga",
"Dostaje M4 + deagle + he, 140 hp bazowe + 150 kamizelki, wolniej biega",
"Dostaje G3/SG-1, 125 hp bazowe, ma 1 rakiete",
"Dostaje galil + p228, 100 hp bazowe, szybciej biega",
"Dostaje sg552 + 1 mine + 1 HE, 100 hp bazowe",
"Dostaje elites, 70 hp bazowe, o wiele szybciej biega"
};
new ilosc_apteczek_gracza[33];
new ilosc_rakiet_gracza[33];
new Float:poprzednia_rakieta_gracza[33];
new ilosc_min_gracza[33];
new ilosc_dynamitow_gracza[33];
new ilosc_skokow_gracza[33];
new bool:freezetime = true;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
g_vault = nvault_open("CodMod");
register_think("Apteczka","ApteczkaThink");
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
RegisterHam(Ham_Touch, "armoury_entity", "DotykBroni");
RegisterHam(Ham_Touch, "weapon_shield", "DotykBroni");
RegisterHam(Ham_Touch, "weaponbox", "DotykBroni");
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", "RozbrajaBombe", "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", "10");
register_cvar("cod_bombxp", "100");
register_clcmd("say /klasa", "WybierzKlase");
register_clcmd("say /klasy", "OpisKlasy");
register_clcmd("say /przedmiot", "OpisPrzedmiotu");
register_clcmd("say /item", "OpisPrzedmiotu");
register_clcmd("say /drop", "WyrzucPrzedmiot");
register_clcmd("say /wyrzuc", "WyrzucPrzedmiot");
register_clcmd("say /reset", "KomendaResetujPunkty");
register_clcmd("fullupdate", "BlokujKomende");
register_clcmd("cl_autobuy", "BlokujKomende");
register_clcmd("say /molotov", "BlokujKomende");
register_clcmd("say molotov", "BlokujKomende");
register_clcmd("cl_rebuy", "BlokujKomende");
register_clcmd("cl_setautobuy","BlokujKomende");
register_clcmd("rebuy", "BlokujKomende");
register_clcmd("autobuy", "BlokujKomende");
register_clcmd("glock", "BlokujKomende");
register_clcmd("usp", "BlokujKomende");
register_clcmd("p228", "BlokujKomende");
register_clcmd("deagle", "BlokujKomende");
register_clcmd("elites", "BlokujKomende");
register_clcmd("fn57", "BlokujKomende");
register_clcmd("m3", "BlokujKomende");
register_clcmd("XM1014", "BlokujKomende");
register_clcmd("mac10", "BlokujKomende");
register_clcmd("tmp", "BlokujKomende");
register_clcmd("mp5", "BlokujKomende");
register_clcmd("ump45", "BlokujKomende");
register_clcmd("p90", "BlokujKomende");
register_clcmd("galil", "BlokujKomende");
register_clcmd("ak47", "BlokujKomende");
register_clcmd("scout", "BlokujKomende");
register_clcmd("sg552", "BlokujKomende");
register_clcmd("awp", "BlokujKomende");
register_clcmd("g3sg1", "BlokujKomende");
register_clcmd("famas", "BlokujKomende");
register_clcmd("m4a1", "BlokujKomende");
register_clcmd("bullpup", "BlokujKomende");
register_clcmd("sg550", "BlokujKomende");
register_clcmd("m249", "BlokujKomende");
register_clcmd("shield", "BlokujKomende");
register_clcmd("hegren", "BlokujKomende");
register_clcmd("sgren", "BlokujKomende");
register_clcmd("flash", "BlokujKomende");
//register_concmd("cod_setlvl", "cmd_setlvl", ADMIN_KICK, "<name> <level>");
g_msg_screenfade = get_user_msgid("ScreenFade");
SyncHudObj = CreateHudSyncObj();
SyncHudObj2 = CreateHudSyncObj();
SyncHudObj3 = CreateHudSyncObj();
doswiadczenia_za_zabojstwo = get_cvar_num("cod_killxp");
doswiadczenie_za_bombe = get_cvar_num("cod_bombxp");
set_task(30.0, "Pomoc");
}
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("QTM_CodMod/select.wav");
precache_sound("QTM_CodMod/start.wav");
precache_sound("QTM_CodMod/start2.wav");
precache_sound("QTM_CodMod/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(informacje_przedmiotu_gracza[id][0] == 11 || klasa_gracza[id] == Rambo)
{
if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && ilosc_skokow_gracza[id] > 0)
{
ilosc_skokow_gracza[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_gracza[id] = 0;
if(informacje_przedmiotu_gracza[id][0] == 11)
ilosc_skokow_gracza[id]++;
if(klasa_gracza[id] == Rambo)
ilosc_skokow_gracza[id]++;
}
}
if(button & IN_ATTACK)
{
new Float:punchangle[3];
if(informacje_przedmiotu_gracza[id][0] == 20)
entity_set_vector(id, EV_VEC_punchangle, punchangle);
if(informacje_przedmiotu_gracza[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(informacje_przedmiotu_gracza[id][0] == 28 && button & IN_JUMP && button & IN_DUCK && flags & FL_ONGROUND && get_gametime() > informacje_przedmiotu_gracza[id][1]+4.0)
{
informacje_przedmiotu_gracza[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_klasa_gracza[id])
{
klasa_gracza[id] = nowa_klasa_gracza[id];
nowa_klasa_gracza[id] = 0;
strip_user_weapons(id);
give_item(id, "weapon_knife");
switch(get_user_team(id))
{
case 1: give_item(id, "weapon_glock18");
case 2: give_item(id, "weapon_usp");
}
WczytajDane(id, klasa_gracza[id]);
}
if(!klasa_gracza[id])
{
WybierzKlase(id);
return PLUGIN_CONTINUE;
}
switch(klasa_gracza[id])
{
case Snajper:
{
give_item(id, "weapon_awp");
give_item(id, "weapon_scout");
give_item(id, "weapon_deagle");
}
case Komandos:
{
give_item(id, "weapon_deagle");
}
case Strzelec:
{
give_item(id, "weapon_m4a1");
give_item(id, "weapon_ak47");
}
case Obronca:
{
give_item(id, "weapon_m249");
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
}
case Medyk:
{
give_item(id, "weapon_ump45");
ilosc_apteczek_gracza[id] = 2;
}
case Wsparcie:
{
give_item(id, "weapon_mp5navy");
ilosc_rakiet_gracza[id] = 2;
}
case Saper:
{
give_item(id, "weapon_p90");
ilosc_min_gracza[id] = 3;
}
case Demolitions:
{
give_item(id, "weapon_aug");
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
ilosc_dynamitow_gracza[id] = 1;
}
case Rusher:
{
give_item(id, "weapon_m3");
}
case Rambo:
{
give_item(id, "weapon_famas");
}
case Partyzant:
{
give_item(id, "weapon_p90");
give_item(id, "weapon_flashbang");
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 70);
}
case Szpieg:
{
give_item(id, "weapon_deagle");
ZmienUbranie(id, 0);
}
case Szturmowiec:
{
give_item(id, "weapon_m4a1");
give_item(id, "weapon_deagle");
give_item(id, "weapon_hegrenade");
}
case StrzelecWsparcia:
{
give_item(id, "weapon_g3sg1");
ilosc_rakiet_gracza[id] = 1 ;
}
case LekkiZolnierz:
{
give_item(id, "weapon_galil");
give_item(id, "weapon_p228");
}
case Rebeliant:
{
give_item(id, "weapon_sg552");
give_item(id, "weapon_hegrenade");
ilosc_min_gracza[id] = 1 ;
}
case Ninja:
{
give_item(id, "weapon_elite");
}
}
if(gracz_resetuje[id])
{
ResetujPunkty(id);
gracz_resetuje[id] = false;
}
if(punkty_gracza[id]>0)
PrzydzielPunkty(id);
if(informacje_przedmiotu_gracza[id][0] == 10 || informacje_przedmiotu_gracza[id][0] == 9)
give_item(id, "weapon_hegrenade");
if(informacje_przedmiotu_gracza[id][0] == 9)
ZmienUbranie(id, 0);
if(informacje_przedmiotu_gracza[id][0] == 1)
set_user_footsteps(id, 1);
else
set_user_footsteps(id, 0);
if(informacje_przedmiotu_gracza[id][0] == 13)
give_item(id, "weapon_awp");
if(informacje_przedmiotu_gracza[id][0] == 19)
informacje_przedmiotu_gracza[id][1] = 1;
if(informacje_przedmiotu_gracza[id][0] == 27)
informacje_przedmiotu_gracza[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_gracza[id] = (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(wytrzymalosc_gracza[id])))/100);
maksymalne_zdrowie_gracza[id] = zdrowie_klasy[klasa_gracza[id]]+zdrowie_gracza[id]*2;
szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC*szybkosc_klasy[klasa_gracza[id]]+floatround(kondycja_gracza[id]*1.3);
if(informacje_przedmiotu_gracza[id][0] == 18)
{
maksymalne_zdrowie_gracza[id] += 100;
szybkosc_gracza[id] -= 0.4;
}
if(informacje_przedmiotu_gracza[id][0] == 25)
{
maksymalne_zdrowie_gracza[id] += 50;
szybkosc_gracza[id] -= 0.3;
}
set_user_armor(id, pancerz_klasy[klasa_gracza[id]]);
set_user_health(id, maksymalne_zdrowie_gracza[id]);
if(informacje_przedmiotu_gracza[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, "UstawSzybkosc", id+ZADANIE_USTAW_SZYBKOSC);
switch(get_user_team(id))
{
case 1: client_cmd(id, "spk QTM_CodMod/start");
case 2: client_cmd(id, "spk QTM_CodMod/start2");
}
}
}
public NowaRunda()
{
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) || informacje_przedmiotu_gracza[this][0] == 24 || !is_user_connected(idattacker) || get_user_team(this) == get_user_team(idattacker) || !klasa_gracza[idattacker])
return HAM_IGNORED;
new health = get_user_health(this);
new weapon = get_user_weapon(idattacker);
if(health < 2)
return HAM_IGNORED;
if(informacje_przedmiotu_gracza[this][0] == 27 && informacje_przedmiotu_gracza[this][1]>0)
{
informacje_przedmiotu_gracza[this][1]--;
return HAM_SUPERCEDE;
}
if(wytrzymalosc_gracza[this]>0)
damage -= redukcja_obrazen_gracza[this]*damage;
if(informacje_przedmiotu_gracza[this][0] == 2 || informacje_przedmiotu_gracza[this][0] == 3)
damage-=(float(informacje_przedmiotu_gracza[this][1])<damage)? float(informacje_przedmiotu_gracza[this][1]): damage;
if(informacje_przedmiotu_gracza[idattacker][0] == 5 && !UTIL_In_FOV(this, idattacker) && UTIL_In_FOV(idattacker, this))
damage*=2.0;
if(informacje_przedmiotu_gracza[idattacker][0] == 10)
damage+=informacje_przedmiotu_gracza[idattacker][1];
if(informacje_przedmiotu_gracza[this][0] == 12)
damage-=(5.0<damage)? 5.0: damage;
if(weapon == CSW_AWP && informacje_przedmiotu_gracza[idattacker][0] == 13)
damage=float(health);
if(informacje_przedmiotu_gracza[idattacker][0] == 21)
damage+=10;
if(informacje_przedmiotu_gracza[idattacker][0] == 22)
damage+=20;
if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
{
if((informacje_przedmiotu_gracza[idattacker][0] == 9 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1) || informacje_przedmiotu_gracza[idattacker][0] == 10)
damage = float(health);
}
if(weapon == CSW_KNIFE)
{
if(informacje_przedmiotu_gracza[this][0] == 4)
damage=damage*1.4+inteligencja_gracza[idattacker];
if(informacje_przedmiotu_gracza[idattacker][0] == 8 || (klasa_gracza[idattacker] == Snajper && random(2) == 2) || klasa_gracza[idattacker] == Komandos && !(get_user_button(idattacker) & IN_ATTACK))
damage = float(health);
}
if(informacje_przedmiotu_gracza[this][0] == 26 && random_num(1, informacje_przedmiotu_gracza[this][1]) == 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 || !klasa_gracza[attacker])
return PLUGIN_CONTINUE;
if(informacje_przedmiotu_gracza[attacker][0] == 12 && random_num(1, informacje_przedmiotu_gracza[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;
doswiadczenie_gracza[attacker]++;
}
}
SprawdzPoziom(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) && klasa_gracza[attacker])
{
new nowe_doswiadczenie = 0;
nowe_doswiadczenie += doswiadczenia_za_zabojstwo;
if(klasa_gracza[id] == Rambo && klasa_gracza[attacker] != Rambo)
nowe_doswiadczenie += doswiadczenia_za_zabojstwo*2;
if(poziom_gracza[id] > poziom_gracza[attacker])
nowe_doswiadczenie += poziom_gracza[id] - poziom_gracza[attacker];
if(klasa_gracza[attacker] == Rambo || informacje_przedmiotu_gracza[attacker][0] == 15 && maxClip[weapon] != -1)
{
new nowe_zdrowie = (zdrowie+20<maksymalne_zdrowie_gracza[attacker])? zdrowie+20: maksymalne_zdrowie_gracza[attacker];
set_user_clip(attacker, maxClip[weapon]);
set_user_health(attacker, nowe_zdrowie);
}
#if defined BOTY
if(is_user_bot2(attacker) && random(9) == 0)
WyrzucPrzedmiot(id);
#endif
if(!informacje_przedmiotu_gracza[attacker][0])
DajPrzedmiot(attacker, random_num(1, sizeof nazwy_przedmiotow-1));
if(informacje_przedmiotu_gracza[attacker][0] == 14)
{
new nowe_zdrowie = (zdrowie+50<maksymalne_zdrowie_gracza[attacker])? zdrowie+50: maksymalne_zdrowie_gracza[attacker];
set_user_health(attacker, nowe_zdrowie);
}
set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", nowe_doswiadczenie);
doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
}
SprawdzPoziom(attacker);
if(informacje_przedmiotu_gracza[id][0] == 7 && random_num(1, informacje_przedmiotu_gracza[id][1]) == 1)
set_task(0.1, "Wskrzes", id+ZADANIE_WSKRZES);
return PLUGIN_CONTINUE;
}
public client_connect(id)
{
//resetuje umiejetnosci
klasa_gracza[id] = 0;
poziom_gracza[id] = 0;
doswiadczenie_gracza[id] = 0;
punkty_gracza[id] = 0;
zdrowie_gracza[id] = 0;
inteligencja_gracza[id] = 0;
wytrzymalosc_gracza[id] = 0;
kondycja_gracza[id] = 0;
maksymalne_zdrowie_gracza[id] = 0;
szybkosc_gracza[id] = 0.0;
get_user_name(id, nazwa_gracza[id], 63);
remove_task(id+ZADANIE_POKAZ_INFORMACJE);
remove_task(id+ZADANIE_POKAZ_REKLAME);
remove_task(id+ZADANIE_USTAW_SZYBKOSC);
remove_task(id+ZADANIE_WSKRZES);
remove_task(id+ZADANIE_WYSZKOLENIE_SANITARNE);
set_task(10.0, "PokazReklame", id+ZADANIE_POKAZ_REKLAME);
set_task(3.0, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
//resetuje przedmioty
UsunPrzedmiot(id);
}
public client_disconnect(id)
{
remove_task(id+ZADANIE_POKAZ_INFORMACJE);
remove_task(id+ZADANIE_POKAZ_REKLAME);
remove_task(id+ZADANIE_USTAW_SZYBKOSC);
remove_task(id+ZADANIE_WSKRZES);
remove_task(id+ZADANIE_WYSZKOLENIE_SANITARNE);
ZapiszDane(id);
UsunPrzedmiot(id);
}
public RozbrajaBombe(id)
if(klasa_gracza[id])
rozbrajajacy = id;
public BombaPodlozona()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "TERRORIST");
if(get_playersnum() > 1)
{
doswiadczenie_gracza[podkladajacy] += doswiadczenie_za_bombe;
for (new i=0; i<playerCount; i++)
{
id = Players[i];
if(!klasa_gracza[id])
continue;
if(id != podkladajacy)
{
doswiadczenie_gracza[id] += doswiadczenia_za_zabojstwo;
client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za podlozenie bomby przez twoj team.", doswiadczenia_za_zabojstwo);
}
else
{
client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za podlozenie bomby.", doswiadczenie_za_bombe);
}
SprawdzPoziom(id);
}
}
}
public BombaRozbrojona()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "CT");
doswiadczenie_gracza[rozbrajajacy] += doswiadczenie_za_bombe;
for (new i=0; i<playerCount; i++)
{
id = Players[i];
if(!klasa_gracza[id])
continue;
if(id != rozbrajajacy)
{
doswiadczenie_gracza[id]+= doswiadczenia_za_zabojstwo;
client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za rozbrojenie bomby przez twoj team.", doswiadczenia_za_zabojstwo);
}
else
client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za rozbrojenie bomby.",doswiadczenie_za_bombe);
SprawdzPoziom(id);
}
}
public OpisKlasy(id)
{
new menu = menu_create("Wybierz klase:", "OpisKlasy_Handle");
for(new i=1; i<sizeof nazwy_klas; i++)
menu_additem(menu, nazwy_klas[i]);
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
client_cmd(id, "spk QTM_CodMod/select");
}
public OpisKlasy_Handle(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
client_print(id, print_chat, "[COD:MW] %s: %s", nazwy_klas[item+1], opisy_klas[item+1]);
menu_display(id, menu);
return PLUGIN_CONTINUE;
}
public WybierzKlase(id)
{
new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");
new klasa[50];
for(new i=1; i<sizeof nazwy_klas; i++)
{
WczytajDane(id, i);
format(klasa, 49, "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
menu_additem(menu, klasa);
}
WczytajDane(id, klasa_gracza[id]);
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
client_cmd(id, "spk QTM_CodMod/select");
#if defined BOTY
if(is_user_bot2(id))
WybierzKlase_Handle(id, menu, random(sizeof nazwy_klas-1));
#endif
}
public WybierzKlase_Handle(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
item++;
if(item == klasa_gracza[id])
return PLUGIN_CONTINUE;
if(item == Rambo && !(get_user_flags(id) & ADMIN_KICK))
{
client_print(id, print_chat, "[COD:MW] Nie masz uprawnien aby kozystac z klasy premium.");
WybierzKlase(id);
return PLUGIN_CONTINUE;
}
if(klasa_gracza[id])
{
nowa_klasa_gracza[id] = item;
client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
}
else
{
klasa_gracza[id] = item;
WczytajDane(id, klasa_gracza[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, "Inteligencja: \r%i \y(Zwieksza obrazenia zadawane przedmiotami)", inteligencja_gracza[id]);
format(zdrowie, 59, "Zycie: \r%i \y(Zwieksza zycie)", zdrowie_gracza[id]);
format(wytrzymalosc, 59, "Wytrzymalosc: \r%i \y(Zmniejsza obrazenia)", wytrzymalosc_gracza[id]);
format(kondycja, 59, "Kondycja: \r%i \y(Zwieksza tempo chodu)", kondycja_gracza[id]);
format(tytul, 24, "Przydziel Punkty(%i):", punkty_gracza[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 BOTY
if(is_user_bot2(id))
PrzydzielPunkty_Handler(id, menu, random(4));
#endif
}
public PrzydzielPunkty_Handler(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
switch(item)
{
case 0:
{
if(inteligencja_gracza[id]<100)
inteligencja_gracza[id]++;
else
client_print(id, print_chat, "[COD:MW] Maxymalny poziom inteligencji osiagniety");
}
case 1:
{
if(zdrowie_gracza[id]<100)
zdrowie_gracza[id]++;
else
client_print(id, print_chat, "[COD:MW] Maxymalny poziom sily osiagniety");
}
case 2:
{
if(wytrzymalosc_gracza[id]<100)
wytrzymalosc_gracza[id]++;
else
client_print(id, print_chat, "[COD:MW] Maxymalny poziom zrecznosci osiagniety");
}
case 3:
{
if(kondycja_gracza[id]<100)
kondycja_gracza[id]++;
else
client_print(id, print_chat, "[COD:MW] Maxymalny poziom zwinnosci osiagniety");
}
}
punkty_gracza[id]--;
if(punkty_gracza[id]>0)
PrzydzielPunkty(id);
return PLUGIN_CONTINUE;
}
public ResetujPunkty(id)
{
punkty_gracza[id] = poziom_gracza[id]*2-2;
inteligencja_gracza[id] = 0;
zdrowie_gracza[id] = 0;
kondycja_gracza[id] = 0;
wytrzymalosc_gracza[id] = 0;
}
public KomendaResetujPunkty(id)
{
client_print(id, print_chat, "[COD:MW] Umiejetnosci zostana zresetowane w nastepnej rundzie.");
client_cmd(id, "spk QTM_CodMod/select");
gracz_resetuje[id] = true;
}
public WyszkolenieSanitarne(id)
{
id -= ZADANIE_WYSZKOLENIE_SANITARNE;
if(informacje_przedmiotu_gracza[id][0] != 16)
return PLUGIN_CONTINUE;
set_task(5.0, "WyszkolenieSanitarne", id+ZADANIE_WYSZKOLENIE_SANITARNE);
if(!is_user_alive(id))
return PLUGIN_CONTINUE;
new health = get_user_health(id);
new new_health = (health+10<maksymalne_zdrowie_gracza[id])?health+10:maksymalne_zdrowie_gracza[id];
set_user_health(id, new_health);
return PLUGIN_CONTINUE;
}
public StworzApteczke(id)
{
if (!ilosc_apteczek_gracza[id])
{
client_print(id, print_center, "Masz tylko 2 apteczki na runde!");
return PLUGIN_CONTINUE;
}
if(inteligencja_gracza[id] < 1)
client_print(id, print_center, "Aby wzmocnic apteczke, zwieksz inteligencje!");
ilosc_apteczek_gracza[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, "Apteczka");
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 ApteczkaThink(ent)
{
new id = entity_get_edict(ent, EV_ENT_owner);
new totem_dist = 300;
new totem_heal = 5+floatround(inteligencja_gracza[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_gracza[pid])?zdrowie+totem_heal:maksymalne_zdrowie_gracza[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_gracza[id])
{
client_print(id, print_center, "Wykrzystales juz wszystkie rakiety!");
return PLUGIN_CONTINUE;
}
if(poprzednia_rakieta_gracza[id] + 2.0 > get_gametime())
{
client_print(id, print_center, "Rakiet mozesz uzywac co 2 sekundy!");
return PLUGIN_CONTINUE;
}
if (is_user_alive(id))
{
if(inteligencja_gracza[id] < 1)
client_print(id, print_center, "Aby wzmocnic rakiete, zwieksz inteligencje!");
poprzednia_rakieta_gracza[id] = get_gametime();
ilosc_rakiet_gracza[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_gracza[id])
{
client_print(id, print_center, "Wykorzystales juz caly dynamit!");
return PLUGIN_CONTINUE;
}
if(inteligencja_gracza[id] < 1)
client_print(id, print_center, "Aby wzmocnic dynamit, zwieksz inteligencje!");
ilosc_dynamitow_gracza[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) || informacje_przedmiotu_gracza[pid][0] == 24)
continue;
ExecuteHam(Ham_TakeDamage, pid, 0, id, 90.0+float(inteligencja_gracza[id]) , 1);
}
return PLUGIN_CONTINUE;
}
public PostawMine(id)
{
if (!ilosc_min_gracza[id])
{
client_print(id, print_center, "Wykorzystales juz wszystkie miny!");
return PLUGIN_CONTINUE;
}
if(inteligencja_gracza[id] < 1)
client_print(id, print_center, "Aby wzmocnic miny, zwieksz inteligencje!");
ilosc_min_gracza[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,50) ;
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) || informacje_przedmiotu_gracza[pid][0] == 24 || klasa_gracza[id] == Obronca)
continue;
ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 90.0+float(inteligencja_gracza[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) || informacje_przedmiotu_gracza[pid][0] == 24)
continue;
ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0+float(inteligencja_gracza[attacker]) , 1);
}
remove_entity(ent);
}
public CurWeapon(id)
{
if(freezetime || !klasa_gracza[id])
return PLUGIN_CONTINUE;
new weapon = read_data(2);
UstawSzybkosc(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"))
{
UzyjPrzedmiotu(id);
return FMRES_SUPERCEDE;
}
return FMRES_IGNORED;
}
public UzyjPrzedmiotu(id)
{
if(informacje_przedmiotu_gracza[id][0] == 19 && informacje_przedmiotu_gracza[id][1]>0)
{
set_user_health(id, maksymalne_zdrowie_gracza[id]);
informacje_przedmiotu_gracza[id][1]--;
}
if(ilosc_apteczek_gracza[id]>0)
StworzApteczke(id);
if(ilosc_rakiet_gracza[id]>0)
StworzRakiete(id);
if(ilosc_min_gracza[id]>0)
PostawMine(id);
if(ilosc_dynamitow_gracza[id]>0)
PolozDynamit(id);
return PLUGIN_HANDLED;
}
public ZapiszDane(id)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa_gracza[id]);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]);
nvault_set(g_vault,vaultkey,vaultdata);
}
public WczytajDane(id, klasa)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]);
nvault_get(g_vault,vaultkey,vaultdata,255);
replace_all(vaultdata, 255, "#", " ");
new doswiadczeniegracza[32], poziomgracza[32], inteligencjagracza[32], silagracza[32], zrecznoscgracza[32], zwinnoscgracza[32];
parse(vaultdata, doswiadczeniegracza, 31, poziomgracza, 31, inteligencjagracza, 31, silagracza, 31, zrecznoscgracza, 31, zwinnoscgracza, 31);
doswiadczenie_gracza[id] = str_to_num(doswiadczeniegracza);
poziom_gracza[id] = str_to_num(poziomgracza)>0?str_to_num(poziomgracza):1;
inteligencja_gracza[id] = str_to_num(inteligencjagracza);
zdrowie_gracza[id] = str_to_num(silagracza);
wytrzymalosc_gracza[id] = str_to_num(zrecznoscgracza);
kondycja_gracza[id] = str_to_num(zwinnoscgracza);
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
}
public WyrzucPrzedmiot(id)
{
if(informacje_przedmiotu_gracza[id][0])
{
client_print(id, print_chat, "[COD:MW] Wyrzuciles %s.", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
UsunPrzedmiot(id);
}
else
client_print(id, print_chat, "[COD:MW] Nie masz zadnego przedmiotu.", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
}
public UsunPrzedmiot(id)
{
informacje_przedmiotu_gracza[id][0] = 0;
informacje_przedmiotu_gracza[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);
informacje_przedmiotu_gracza[id][0] = przedmiot;
client_print(id, print_chat, "[COD:MW] Zdobyles %s.", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
switch(przedmiot)
{
case 1:
{
set_user_footsteps(id, 1);
}
case 2:
{
informacje_przedmiotu_gracza[id][1] = random_num(3,6);
}
case 3:
{
informacje_przedmiotu_gracza[id][1] = random_num(6, 11);
}
case 5:
{
informacje_przedmiotu_gracza[id][1] = random_num(6, 9);
}
case 6:
{
informacje_przedmiotu_gracza[id][1] = random_num(100, 150);
set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, informacje_przedmiotu_gracza[id][1]);
}
case 7:
{
informacje_przedmiotu_gracza[id][1] = random_num(2, 4);
}
case 8:
{
if(klasa_gracza[id] == Komandos)
DajPrzedmiot(id, random_num(1, sizeof nazwy_przedmiotow-1));
}
case 9:
{
informacje_przedmiotu_gracza[id][1] = random_num(1, 3);
ZmienUbranie(id, 0);
give_item(id, "weapon_hegrenade");
}
case 10:
{
informacje_przedmiotu_gracza[id][1] = random_num(4, 8);
give_item(id, "weapon_hegrenade");
}
case 12:
{
informacje_przedmiotu_gracza[id][1] = random_num(1, 4);
}
case 13:
{
give_item(id, "weapon_awp");
}
case 15:
{
if(klasa_gracza[id] == Rambo)
DajPrzedmiot(id, random_num(1, sizeof nazwy_przedmiotow-1));
}
case 16:
{
set_task(5.0, "WyszkolenieSanitarne", id+ZADANIE_WYSZKOLENIE_SANITARNE);
}
case 19:
{
informacje_przedmiotu_gracza[id][1] = 1;
}
case 26:
{
informacje_przedmiotu_gracza[id][1] = random_num(3, 6);
}
case 27:
{
informacje_przedmiotu_gracza[id][1] = 3;
}
}
}
public OpisPrzedmiotu(id)
{
new opis_przedmiotu[128];
new losowa_wartosc[3];
num_to_str(informacje_przedmiotu_gracza[id][1], losowa_wartosc, 2);
format(opis_przedmiotu, 127, opisy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
replace_all(opis_przedmiotu, 127, "LW", losowa_wartosc);
client_print(id, print_chat, "Przedmiot: %s.", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
client_print(id, print_chat, "Opis: %s.", opis_przedmiotu);
}
public Wskrzes(id)
{
id-=ZADANIE_WSKRZES;
ExecuteHamB(Ham_CS_RoundRespawn, id);
}
public SprawdzPoziom(id)
{
if(poziom_gracza[id] < 201)
{
while(doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]])
{
poziom_gracza[id]++;
set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
ShowSyncHudMsg(id, SyncHudObj3, "Awansowales do nastepnego poziomu!");
client_cmd(id, "spk QTM_CodMod/levelup");
}
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
}
ZapiszDane(id);
}
public PokazInformacje(id)
{
id -= ZADANIE_POKAZ_INFORMACJE;
set_task(0.1, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
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, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPrzedmiot : %s", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target], nazwy_przedmiotow[informacje_przedmiotu_gracza[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, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Przedmiot : %s]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id], nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
return PLUGIN_CONTINUE;
}
public PokazReklame(id)
{
id-=ZADANIE_POKAZ_REKLAME;
client_print(id, print_chat, "[COD:MW] Witaj w Modyfikacji Call of Duty stworzonej przez QTM_Peyote.");
}
public UstawSzybkosc(id)
{
id -= id>32? ZADANIE_USTAW_SZYBKOSC: 0;
if(klasa_gracza[id])
set_user_maxspeed(id, szybkosc_gracza[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, Ubrania_CT[num]);
case 2:cs_set_user_model(id, Ubrania_Terro[num]);
}
}
return PLUGIN_CONTINUE;
}
public Pomoc()
{
switch(random(6))
{
case 0: client_print(0, print_chat, "[COD:MW] Aby zresetowac umiejetnosci napisz /reset.");
case 1: client_print(0, print_chat, "[COD:MW] Aby zmienic klase napisz /klasa.");
case 2: client_print(0, print_chat, "[COD:MW] Aby uzyc przedmiotu nacisnij E.");
case 3: client_print(0, print_chat, "[COD:MW] Aby wyrzucic przedmiot napisz /wyrzuc.");
case 4: client_print(0, print_chat, "[COD:MW] Aby zobaczyc opis przedmiotu napisz /przedmiot.");
case 5: client_print(0, print_chat, "[COD:MW] Aby zobaczyc opis klas napisz /klasy.");
}
set_task(36.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;
doswiadczenie_gracza[player] = doswiadczenie_poziomu[value];
poziom_gracza[player] = 0;
SprawdzPoziom(player);
return PLUGIN_HANDLED;
}*/
public DotykBroni(weapon,id)
{
new model[23];
entity_get_string(weapon, EV_SZ_model, model, 22);
if (!is_user_connected(id) || entity_get_edict(weapon, EV_ENT_owner) == id || equal(model, "models/w_backpack.mdl"))
return HAM_IGNORED;
return HAM_SUPERCEDE;
}
public BlokujKomende()
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 BOTY
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;
}
|
Offline
|
|
|
Wygadany
Grupa: Użytkownik
Postów: 466
Zarejestrowany: Nov 2009
Skąd: Konin
Wiek: 14
Status:
|
Odp: CoD:WM + Nowe Klasy -
10-06-10, 16:22
Dodaj sma do załącznika . Żeby łątwiej zmienić i pobrać
|
Offline
|
|
|
Bot
Grupa: Użytkownik
Postów: 7
Zarejestrowany: Dec 2009
Skąd: polska
Wiek: 16
|
Odp: CoD:WM + Nowe Klasy -
11-06-10, 01:13
Podaje w zalaczniku chlopak sie juz wystarczajaca napracowal
|
Offline
|
|
|
Bot
Grupa: Użytkownik
Postów: 91
Zarejestrowany: Jan 2009
Skąd: lancut
Wiek: 20
|
Odp: CoD:WM + Nowe Klasy -
11-06-10, 11:57
mam pytanie czy jak wgram ta wersje COD.
aktualnie posiadam wersje orginalna - czyli bez new kals.
jak wgram to to beda aktualne LVLE nadal te co byly czy od nowa al??
|
Offline
|
|
|
Bot
Grupa: Użytkownik
Postów: 16
Zarejestrowany: Oct 2009
Skąd: Pyskowice
Wiek: 15
|
Odp: CoD:WM + Nowe Klasy -
11-06-10, 13:30
Lvl'e będą nadal takie same, dodadzą się tylko klasy
|
Offline
|
|
|
Bot
Grupa: Użytkownik
Postów: 91
Zarejestrowany: Jan 2009
Skąd: lancut
Wiek: 20
|
Odp: CoD:WM + Nowe Klasy -
11-06-10, 13:37
a pytanie czy tytaj sa zablokowane bronie ?
bo nie wiem why sniper mzoe kupic m4 xD
i komandos tez.
|
Offline
|
|
|
Bot
Grupa: Użytkownik
Postów: 16
Zarejestrowany: Oct 2009
Skąd: Pyskowice
Wiek: 15
|
Odp: CoD:WM + Nowe Klasy -
11-06-10, 13:41
Broń jest zablokowane (no oprócz granatów), no chyba że coś nie kontaktuje (w kodzie jest zablokowane M4)
|
Offline
|
|
|
Bot
Grupa: Użytkownik
Postów: 91
Zarejestrowany: Jan 2009
Skąd: lancut
Wiek: 20
|
Odp: CoD:WM + Nowe Klasy -
11-06-10, 13:45
posiadam org wersje - bronie all zablokwoane sa w amxmodmenu .
a sniper i tak moze sobie kupic bron
komandos tez.
|
Offline
|
|
|
Bot
Grupa: Użytkownik
Postów: 16
Zarejestrowany: Oct 2009
Skąd: Pyskowice
Wiek: 15
|
Odp: CoD:WM + Nowe Klasy -
11-06-10, 13:56
zablokuj też komendy buy_nazwabroni i wszystkie skróty do nich
|
Offline
|
|
|
Bot
Grupa: Użytkownik
Postów: 91
Zarejestrowany: Jan 2009
Skąd: lancut
Wiek: 20
|
Odp: CoD:WM + Nowe Klasy -
11-06-10, 13:59
a jaka flaga odpowiada tutaj za RAMBO?? bo T - nie dziala
|
Offline
|
|
|
Bot
Grupa: Użytkownik
Postów: 16
Zarejestrowany: Oct 2009
Skąd: Pyskowice
Wiek: 15
|
Odp: CoD:WM + Nowe Klasy -
11-06-10, 14:10
Jest na kick'i bo były problemy z tym na moim serwie (nie działała właśnie flaga T)
|
Offline
|
|
|
Bot
Grupa: Użytkownik
Postów: 3
Zarejestrowany: Apr 2010
Skąd: Poznań
Wiek: 22
Status:
|
Odp: CoD:WM + Nowe Klasy -
12-06-10, 01:14
Mi Tm trybi wszystko Tylko Leveli Ne Moge dac  komenda cod_setlvl nie chodzi pisze mi unkonow command
|
Offline
|
|
|
Bot
Grupa: Użytkownik
Postów: 16
Zarejestrowany: Oct 2009
Skąd: Pyskowice
Wiek: 15
|
Odp: CoD:WM + Nowe Klasy -
12-06-10, 14:26
Szwagier, nie działa, bo ta wersja w ogóle (nawet w podstawowej) nie posiada tej komendy (nie wiem czy jakieś mam lipne sma, czy myli ci się z przerobionym diablo)
|
Offline
|
|
|
Bot
Grupa: Użytkownik
Postów: 3
Zarejestrowany: Apr 2010
Skąd: Poznań
Wiek: 22
Status:
|
Odp: CoD:WM + Nowe Klasy -
12-06-10, 16:07
Wez Ja Wcześniej Mogłem Dodawac Levle Przez Ta Komende
|
Offline
|
|
|
Bot
Grupa: Użytkownik
Postów: 16
Zarejestrowany: Oct 2009
Skąd: Pyskowice
Wiek: 15
|
Odp: CoD:WM + Nowe Klasy -
12-06-10, 16:21
To wychodzi na to że masz nowszą wersje (u mnie w sma nie ma w ogóle takiej komendy)
Postaram się ją dodac (jak możesz do daj mi link do twojej wersji)
|
Offline
|
|
|
Nowy
Grupa: Użytkownik
Postów: 9
Zarejestrowany: Apr 2010
Skąd: RbK
Wiek: 14
Status:
|
Odp: CoD:WM + Nowe Klasy -
12-06-10, 23:20
jest to przerobiona wersja Call of Duty : MW by QTM_Peyote (link) :-)
takie same itemy, klasy (jedynie roman dodał kilka )...
Napewno będzie sporo bugów :-)
Ostatnio edytowane przez EliteF!ghter : 13-06-10 - 01:30
|
Offline
|
|
|
Bot
Grupa: Użytkownik
Postów: 16
Zarejestrowany: Oct 2009
Skąd: Pyskowice
Wiek: 15
|
Odp: CoD:WM + Nowe Klasy -
13-06-10, 13:20
A czy ja pisałem, że to mój plugin ??? Ja tylko klasy dodałem (jak nazwa wskazuje  )
A co do bug'ów to nie ma żadnych (przynajmniej u mnie na serwie wszystko działa).
Ps. Link nie działa
|
Offline
|
|
|
Bot
Grupa: Użytkownik
Postów: 1
Zarejestrowany: Mar 2009
|
Odp: CoD:WM + Nowe Klasy -
13-06-10, 13:43
czy może ktoś zmienić broń dla Rambo na m4a1 bo jak ja zmieniałem to nic się nie działo  aha i jak dodawać lvl bo u mnie też nie dziala komenda "cod_setlvl".
Ostatnio edytowane przez armigon : 13-06-10 - 13:47
|
Offline
|
|
|
Bot
Grupa: Użytkownik
Postów: 54
Zarejestrowany: Nov 2009
|
Odp: CoD:WM + Nowe Klasy -
13-06-10, 18:21
jak chcecie dodawac expa
Szukasz:
//register_con
zmieniasz na:
register_con
Następnie szukasz i usuwasz:
/*
oraz
*/
i tyle.
plugin bede testowal i latal dziury;)
wiekiii plus;)
amxbans za 1zl;) pisac pw;)
bazy danych za 1zl;)
|
Offline
|
|
|
Bot
Grupa: Użytkownik
Postów: 54
Zarejestrowany: Nov 2009
|
Odp: CoD:WM + Nowe Klasy -
13-06-10, 18:26
jak chcecie dodawac expa
Szukasz:
//register_con
zmieniasz na:
register_con
Następnie szukasz i usuwasz:
/*
oraz
*/
i tyle.
plugin bede testowal i latal dziury;)
wiekiii plus;)
zmieniona bron w zalaczniku
linijka 267 odpowiedzialna za dodawanie expa.
zmienilem na:
Cytat:
|
register_concmd("cod_setlvl", "cmd_setlvl", ADMIN_IMMUNITY, "<name> <level>");
|
i dalej dodacac moge z flaga kick:(
pomoze ktos?
jak zrobic zeby nie dalo sie nabijac expa?
chodzi mi ze w nocy ktos wchodzi i podklada sam pake i exp leci:/
jaka komenta zeby plugin byl aktywny gdy sa 2 osoby?
amxbans za 1zl;) pisac pw;)
bazy danych za 1zl;)
Ostatnio edytowane przez toxicmaster : 13-06-10 - 23:32
Powód: pytanie
|
Offline
|
|
|
Nowy
Grupa: Użytkownik
Postów: 2
Zarejestrowany: May 2010
|
Odp: CoD:WM + Nowe Klasy -
15-06-10, 16:29
ktoś tu pisał o zablokowaniu kupowania broni, w kodzie w plugin init powinno być o tka o :
register_clcmd("cl_autobuy", "BlokujKomende");
register_clcmd("cl_rebuy", "BlokujKomende");
register_clcmd("cl_setautobuy","BlokujKomende");
register_clcmd("rebuy", "BlokujKomende");
register_clcmd("autobuy", "BlokujKomende");
register_clcmd("buy", "BlokujKomende");
register_clcmd("glock", "BlokujKomende");
register_clcmd("usp", "BlokujKomende");
register_clcmd("p228", "BlokujKomende");
register_clcmd("deagle", "BlokujKomende");
register_clcmd("elites", "BlokujKomende");
register_clcmd("fn57", "BlokujKomende");
register_clcmd("m3", "BlokujKomende");
register_clcmd("autoshotgun", "BlokujKomende");
register_clcmd("mac10", "BlokujKomende");
register_clcmd("tmp", "BlokujKomende");
register_clcmd("mp5", "BlokujKomende");
register_clcmd("ump45", "BlokujKomende");
register_clcmd("p90", "BlokujKomende");
register_clcmd("galil", "BlokujKomende");
register_clcmd("ak47", "BlokujKomende");
register_clcmd("scout", "BlokujKomende");
register_clcmd("sg552", "BlokujKomende");
register_clcmd("awp", "BlokujKomende");
register_clcmd("g3sg1", "BlokujKomende");
register_clcmd("famas", "BlokujKomende");
register_clcmd("m4a1", "BlokujKomende");
register_clcmd("bullpup", "BlokujKomende");
register_clcmd("sg550", "BlokujKomende");
register_clcmd("m249", "BlokujKomende");
register_clcmd("shield", "BlokujKomende");
register_clcmd("hegren", "BlokujKomende");
register_clcmd("sgren", "BlokujKomende");
register_clcmd("flash", "BlokujKomende");
dalej, rambo :
szukamy :
if(item == Rambo && !(get_user_flags(id) &
i po tym & ustawiamy flagę, u mnie na serverze jest na flage r więc kod brzmi :
if(item == Rambo && !(get_user_flags(id) & ADMIN_LEVEL_G))
Jeżeli ktoś chce zobaczyć moje modyfikacje, zapraszam na link
Pozdrawiam
Ostatnio edytowane przez EliteF!ghter : 15-06-10 - 20:03
|
Offline
|
|
| Zwiększ popularność tego tematu dodając go na: |
|
| Narzędzia wątku |
|
|
| Wygląd |
Wygląd liniowy
|
Zasady postowania
|
Nie możesz zakładać nowych tematów
Nie możesz pisać wiadomości
Nie możesz dodawać załączników
Nie możesz edytować swoich postów
HTML kod jest Wył.
|
|
|
Translations supported by vB Enterprise Translator 3.3.6 Powered by vBulletin® Version 3.8.6 Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.5.1 PL1 ©2010, Crawlability, Inc.
Copyright © 2008-2010 CSCenter.pl
Wszelkie prawa zastrzeżone. Kopiowanie treści forum bez zgody administracji zabronione.
|