Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Damianciu - zdjęcie

Damianciu

Rejestracja: 28.03.2012
Aktualnie: Nieaktywny
Poza forum Ostatnio: 18.06.2014 20:01
-----

#456207 [cod stary] Win Messages

Napisane przez d0naciak w 07.09.2012 14:22

Informacje
Plugin dodaje napis/obrazek pod koniec rundy, ich tresc to "Terrorysci wygrali!" i "Obrońcy wygrali!", wygląda to naprawdę fajnie, a dodatkowe pliki bardzo mało ważą :) . Chciałbym dodać że plugin nie wymaga natywów codmoda, więc działa na każdym serwerze, czy to ffa czy 4fun, tylko napisy nadają się bardziej na coda :>
Instalacja
Zawartosc QTM_CodMod.rar wrzucamy do cstrike/models/QTM_CodMod/
reszta jest standardowa
Komendy
say /reka - zmienia reke na przeciwną niż ta którą mamy (np. jeżeli mamy prawą, zmienia na lewą)
Screenshoty
Spoiler


Download

Załączony plik  QTM_CodMod.rar   5,48 KB  205 Ilość pobrań

Załączony plik  cod_winmessages.sma   2,38 KB  196 Ilość pobrań
  cod_winmessages.amxx
  • +
  • -
  • 3


#590861 [Zapowiedz] AMXX Editor Online

Napisane przez DarkGL w 06.12.2013 17:24

Zrzut ekranu z 2013-12-02 13:10:31.png

 

Cel to wpełni działające środowisko programistyczne w przeglądarce ( wraz z znanymi ułatwieniami tzn. generatory ) oraz możliwość przenoszenia kodu między różnymi komputerami itp.

 

Mam nadzieję że projekt uda się ukończyć jednak jest mnóstwo problemów z obsługą w różnych przeglądarkach oraz problemów wydajnościowych.


  • +
  • -
  • 63


#555649 NADPISANIE ODZNAK NA BF2

Napisane przez Słodki <3 w 16.07.2013 07:16

Tak!

Jeżeli wgrasz modyfikacje 60 odznak to odznaki nie zrestartują się i każdy będzie miał takie same jak miał.

Ranking też się nie zrestartuje.


  • +
  • -
  • 1


#545775 Paczka perkow by bulka_z_maslem

Napisane przez bulka w 27.05.2013 18:41

Witam, przedstawiam wam paczkę perków. Paczka zawiera 50 perków zwykłych + 15 perków premium, czyli razem 65 perków. Oto opis perków:

 

Zwykłe perki:

 

Nazwa -----> Opis

1. Zestaw terrorysty -----> Dostajesz ak(1/10 z niego) oraz elite(1/5 z niego)
2. Zestaw anty-terrorysty -----> Dostajesz m4(1/10 z niego) oraz five-seven(1/5 z niego)
3. Naboje inteligencji -----> Zadajesz 10(+int) wiecej
4. Pelerynka -----> Twoja widocznosc spada do 20
5. Buty Speedhackera -----> Dostajesz 100 kondycji
6. Peleryna zabojcy -----> Masz 1 hp oraz jestes niewidzialny
7. Zlote m4 -----> Dostajesz zlote m4 oraz + 20dmg z niego
8. Zlote ak -----> Dostajesz zlote ak oraz + 20dmg z niego
9. Zloty deagle -----> Dostajesz zlotego deagle'a oraz + 20dmg z niego
10. Jumper -----> Masz 5 skokow oraz co 5 sek modul
11. Ksiega wiedzy -----> +50 do kazdej statystyki
12. Geniusz -----> Dostajesz 50 inteligencji
13. Zestaw profesjonalisty -----> Dostajesz awp, m4 i ak
14. Peleryna Kucacza -----> Podczas kucania z nozem jestes slabo widoczny
15. Adidaski -----> Dostajesz 50 kondycji oraz nie slychac twoich krokow
16. Tajemnica zolnierza -----> Dostajesz 50hp ale tracisz 50 kondycji
17. Buty skoczka -----> Masz 5 skokow w powietrzu
18. Grawitacja -----> Masz 300/800 grawitacji
19. Trampki -----> Dostajesz 20 kondycji oraz masz auto bh
20. Ubranie szpiega -----> Posiadasz ubranie wroga
21. Doswiadczenie vipa -----> Dostajesz 30 expa za fraga
22. Kamizelka -----> Dostajesz 20-30 wytrzymalosci
23. Pro naboje -----> Zadajesz 30 procent obrazen wiecej
24. Pancerz kapitana -----> Odbijasz 2-4 pociskow na runde
25. Naboje wroga -----> Atakujac od tylu zadajesz 3 razy wieksze obrazenia
26. Wszechwidzacy -----> Widzisz miny i niewidzialnych
27. Wyrzutnik -----> Masz 1/3-5 szans na wyrzucenie broni przeciwnika
28. Zawodowy zabojca -----> Masz 1/8-12 na zabicie z m4
29. Adrenalina -----> Dostajesz 20 kondycji oraz 50hp za kazdego fraga
30. Amulet -----> Zadajesz 10-20 obrazen wiecej, 1/2 z HE
31. Tajemnica Taliba -----> Masz 1/4-6 na zabicie z deagle'a
32. Granat admina -----> Natychmiastowe zabice z HE
33. Granaty -----> Co runde dostajesz 10 granatow kazdego rodzaju
34. Pieniadze Bil Gates'a -----> Dostajesz 16000$ co runde
35. Tajemnica zlodzieja -----> 1/4-6 na zabranie perku swojej ofierze
36. Twardy Baniak -----> Nie dostajesz obrazen w glowe
37. Tajemnica glocka -----> Dostajesz glocka + 30dmg z niego oraz usp + 20dmg z niego
38. Moc medyka -----> Masz 1/3-6 szansy na zreanimowanie czlonka druzyny po zabiciu wroga
39. Peleryna Pottera -----> Gdy stoisz w miejscu jestes niewidzialny
40. Naboje Martina -----> Masz 1\3-6 szans na oslepienie przeciwnika
41. Niesmiertelnik -----> Masz 1/1-4 szans na odrodzenie sie po smierci, dostajesz 10 inteligencji
42. Scouter -----> Masz 1/1-3 ze scouta
43. Niewidzialnosc ninji -----> Twoja widocznosc spada do 20-100
44. Moc szpiega -----> Szansa ze odrodzisz sie u wroga 1/2-4
45. Tajemnica snajpera -----> Ma 1/1 z AWP i podczas kucania z nim jego widocznosc wynosi 50-100
46. Regeneracja -----> Co 5 sekund dostajesz 5-10 hp.
47. Rakietki -----> Masz 2-4 rakiety
48. Mocne nogi -----> Nie tracisz HP spadajac z wysokosci
49. Notatki sapera -----> Masz 2-4 miny
50. Apteczka -----> Raz na runde mozesz sie uleczyc

 

Perki premium (ADMIN_LEVEL_ B):

 

Nazwa -----> Opis

1. Pelerynka(premium) -----> Twoja widocznosc spada do 1
2. Ksiega wiedzy(premium) -----> +100 do kazdej statystyki
3. Geniusz(premium) -----> Dostajesz 100 inteligencji
4. Kamizelka(premium) -----> Dostajesz 50-100 wytrzymalosci
5. Pro naboje(premium) -----> Zadajesz 60 procent obrazen wiecej
6. Pancerz kapitana(premium) -----> Odbijasz 5-7 pociskow na runde7
7. Wyrzutnik(premium) -----> Masz 1/2-4 szans na wyrzucenie broni przeciwnika oraz dostajesz 30 hp
8. Amulet(premium) -----> Zadajesz 25-45 obrazen wiecej, 1/2 z HE
9. Tajemnica Taliba(premium) -----> Masz 1/2-4 na zabicie z deagle'a
10. Granaty(premium) -----> Co runde dostajesz 30 granatow kazdego rodzaju
11. Tajemnica Zlodzieja(premium) -----> 1/2-4 na zabranie perku swojej ofierze oraz +20 inteligencji
12. Naboje Martina(premium) -----> Masz 1\2-3 szans na oslepienie przeciwnika
13. Niesmiertelnik(premium) -----> Masz 1/1-2 szans na odrodzenie sie po smierci, dostajesz 30 inteligencji
14. Moc szpiega(premium) -----> Szansa ze odrodzisz sie u wroga 1/LW. Dostajesz 30 wytrzymalosci
15. Regeneracja(premium) -----> Co 5 sekund dostajesz 15-25 hp.

 

Nazwy perków .amxx (przydatne do plugins-codmod.ini):

Spoiler

 

Download:

Załączony plik  Perki by bulka_z_maslem.rar   865,85 KB  2210 Ilość pobrań




#417146 [ROZWIĄZANE] Problem z kompilacją(znów)

Napisane przez Maniek974 w 02.06.2012 20:13

Trzymaj

Załączone pliki


  • +
  • -
  • 1


#416925 [ROZWIĄZANE] Crash|(Help)

Napisane przez ExTaza?! w 02.06.2012 11:32

A dopisales
debug
?
  • +
  • -
  • 1


#337692 KillStreak 1.3.4a, 1.4c ; Wyzwania

Napisane przez Cypis' w 21.12.2011 19:45

Witam, przedstawiam wam plugin mojego autorstwa, który jak się zabije przeciwnika to dostajemy nagrodę czyli 'KillStreak'. Nagrody za zabicia są następujące:
- 3 zabicia - UAV
- 4 zabicia - Care Package lub Counter-UAV
- 5 zabicia - Predator
- 6 zabicia - Airstreak (nalot)
- 8 zabicia - Sentry Gun
- 15 zabicia - EMP
- 20 zabicia - NUKE

Jak użyć Kill Streaka:
say /ks
say /killstreak

Cvary:
ks_hpsentry "2500.0" // ile ma miec hp sentry gun
ks_sentry_remove "1" // jesli 1 usuwa sentry w nowej rundzie, jak 0 to nie

Screenshot:
Dołączona grafika

Dołączona grafika

Instalacja:
Standardowa

UWAGA! Wymagany jest Amx Mod X 1.8.1 lub wyższy do działania pluginu

Changelog:

1.0:
- pierwsza wersja

1.0.1:
- poprawka spadającej paczki

1.1:
- Dodano nowe dźwięki,
- Dodano poprawki do Predatora, Care Package, Emp i Nuke,
- Dodano menu wyboru nagród,
- Zmniejszono trochę kod

1.1.1:
- dodana poprawka dotyku entów (były rlogi)

1.1.2:
- usunięcie native menu_addtext (przez to niektórym nie działał killstreak)

1.2:
- wersja niepublikowana (dodanie sentry guna)

1.3:
- naprawienie bugów w Sentry gunie,
- naprawienie bugów z EMP,
- dodanie paska jak wejdziemy w Care Package (pasek jak przy brojeniu bomby),
- dodanie nowych dźwięków

1.3.1:
- dodanie cvaru "ks_hpsentry",
- dodanie informacji w chat kto użył killstreaka

1.3.2:
- naprawienie Sentry Guna (jak kucaliśmy to nie strzelał),
- Jak zabijemy kogoś z Sentry Guna lub z Nalotu lub z innej rzeczy to liczy te zabicie do rankingu,
- Dodanie UAV dla całej drużyny i po 60s od użycia UAV znika (tak jak w COD MW2 tylko że tam jest 30s)

1.3.3:
- 1.3.2 była zła wersja nie ta wgrałem,
- dodanie cvara na usunięcie sentry guna

1.3.4:
- dodano do sentry guna materiał, żeby były odgłosy gdy strzelamy w niego
- dodano że jak mamy tarcze założną to sentry nie strzela
- poprawiono UAV (teraz podlicza cały czas z uav)

1.3.4a:
- naprawiono wszystkie bugi, które zrobiłem wczoraj

Plany:
- Dodanie Emergency AriDrop (jest w wersji BETA 1.4)

Załączony plik  killstreak.sma   30,55 KB  5078 Ilość pobrań
  killstreak.amxx
Załączony plik  modele-dzwieki.rar   3,85 MB  8055 Ilość pobrań


--------------------------------------------

Wersja BETA 1.4 :

Changelog:
1.4a:
- dodano Emergency AriDrop, jest on od 8 zabójstw
- dodano komendę say /ks2
- naprawiono wszelkie bugi
- dodano większą losowość nagród z skrzynki

1.4b
- naprawiono błąd z "[CSTRIKE] Invalid player 12"
- zamieniono kilka funkcji cs_get_user_team na get_user_team - ponieważ get_user_team nie wywala błedu po wyjsciu gracza
- naprawiono błąd że po użyciu nuke serwer creshował bo w cvar amx_nextmap posiadał nieprawidłową mape
- zmieniono kilka typów w message_begin z MSG_ONE_UNRELIABLE na MSG_BROADCAST, żeby plugin w pewnych miejscach nie używał pętli for
- w Emergency AriDrop naprawiono że w każdej paczce jest coś innego (wcześniej mogły być np. 4 sentry guny z paczek)

1.4c
- dodanie EngFunc_GetAttachment do sentryguna
- ta wersja będzie umożliwiać dodanie wyzwań, które później udostępnię

Instalacja dodatkowych dźwięków (trzeba wypakować rar):
Załączony plik  modele-dzwieki.rar   3,85 MB  8055 Ilość pobrań

po wgraniu tego wgrywamy to do sound/mw :
Załączony plik  dzwieki-emergairdrop.rar   218,89 KB  2807 Ilość pobrań


SMA - sentry gun będzie atakował gracza z tarczą:
Załączony plik  killstreak-tarcza.sma   37,6 KB  1619 Ilość pobrań
  killstreak-tarcza.amxx

SMA2 - sentry gun nie będzie atakował gracza z tarczą:
Załączony plik  killstreak-bez.sma   37,6 KB  1502 Ilość pobrań
  killstreak-bez.amxx

Wyzwania do KillStreaka 1.4c:
[cod nowy] KillStreak 1.3.4a | 1.4c - Poradniki, Łatki oraz Pluginy - AMXX.pl: Support AMX Mod X - strona 4

Jak będą jakieś bugi pisać w temacie.
--------------------------------------------

Plugin nie wymaga CodModa
Podziękowania dla Krecik'a za zmodernizowanie modelu Sentry Guna

Zakaz kopiowania i wykorzystywania innych treści bez zgody autora. Wszelkie prawa zastrzeżone. ©
  • +
  • -
  • 69


#204642 HP w HUD

Napisane przez pAC w 09.01.2011 22:34

w

public PokazInformacje(id)


szukasz


ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Perk : %s]


dodajesz

^n[Zdrowie : %i]"


i na końcu

get_user_health(id));


tak wygląda to

PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]], get_user_health(id));



#405952 [ROZWIĄZANE] Problem z przekompilowaniem

Napisane przez Equilibrium w 03.05.2012 21:12

/* Plugin generated by AMXX-Studio */

#include <amxmodx>

#include <amxmisc>

#include <fun>

#include <hamsandwich>

#define PLUGIN "PaintBall VIP"

#define VERSION "1.0"

#define AUTHOR ""

#define ADMIN_CHECK ADMIN_LEVEL_H

static const COLOR[] = "^x04" //green

static const CONTACT[] = ""

new maxplayers

new gmsgSayText

public plugin_init()

{

			    register_plugin(PLUGIN, VERSION, AUTHOR)

		  

			    register_clcmd("say /vip","ShowMotd")

			    register_clcmd("say /infovip","ShowMotd")

			    register_clcmd("say /info","ShowMotd")

			    register_clcmd("say /vipinfo","ShowMotd")

			    register_clcmd("say_team /vip","ShowMotd")

			    register_clcmd("say_team /infovip","ShowMotd")

			    register_clcmd("say_team /info","ShowMotd")

			    register_clcmd("say_team /vipinfo","ShowMotd")

			    RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);

		  

			    maxplayers = get_maxplayers()

			    gmsgSayText = get_user_msgid("SayText")

			    register_clcmd("say", "handle_say")

			    register_clcmd("say_team", "handle_say")

			    register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)

}

public fwHamPlayerSpawnPost(id)

{	     

			    if(is_user_alive(id) && get_user_flags(id) & ADMIN_LEVEL_H)

			    {

							    if(task_exists(id + 666))

											    remove_task(id + 666);

										  

							    set_task(2.0, "doGiveGrenades", id + 666);

			    }

}

public doGiveGrenades(task_id)

{

			    new id = task_id -= 666;

		  

			    if(id > get_maxplayers() || id < 1)

							    return PLUGIN_HANDLED;

						  

			    set_user_health(id, 300);

			    give_item(id, "weapon_smokegrenade");

			    give_item(id, "weapon_hegrenade");

			    give_item(id, "item_thighpack");

			    give_item(id, "weapon_p90");

			    give_item(id, "weapon_secondaryammo");

			    give_item(id, "weapon_primammo");

			    give_item(id, "weapon_flashbang");

		  

			    return PLUGIN_CONTINUE;

}

						  

public ShowMotd(id)

			    show_motd(id, "vip.txt")

public handle_say(id)

{

			    new said[192]

			    read_args(said,192)

			    if( ( containi(said, "who") != -1 && containi(said, "vips") != -1 ) || contain(said, "/vips") != -1 )

							    set_task(0.1,"print_adminlist",id)

			    return PLUGIN_CONTINUE

}

public print_adminlist(user)

{

			    new adminnames[33][32]

			    new message[256]

			    new contactinfo[256], contact[112]

			    new id, count, x, len

		  

			    for(id = 1 ; id <= maxplayers ; id++)

							    if(is_user_connected(id))

											    if(get_user_flags(id) & ADMIN_CHECK)

															    get_user_name(id, adminnames[count++], 31)

			    len = format(message, 255, "%s VIP'y online: ",COLOR)

			    if(count > 0) {

							    for(x = 0 ; x < count ; x++) {

											    len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")

											    if(len > 96 ) {

															    print_message(user, message)

															    len = format(message, 255, "%s ",COLOR)

											    }

							    }

							    print_message(user, message)

			    }

			    else {

							    len += format(message[len], 255-len, "Brak VIP'ow online.")

							    print_message(user, message)

			    }

		  

			    get_cvar_string("amx_contactinfo", contact, 63)

			    if(contact[0])  {

							    format(contactinfo, 111, "%s Kontakt z H@ znajdziesz na forum www.karniaczek.xaa.pl %s", COLOR, contact)

							    print_message(user, contactinfo)

			    }

}

print_message(id, msg[])

{

			    message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)

			    write_byte(id)

			    write_string(msg)

			    message_end()

}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE

*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }

*/




  • +
  • -
  • 1


#395432 [ROZWIĄZANE] 1/1 Problem

Napisane przez Flk w 10.04.2012 17:43

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <fakemeta>
#include <hamsandwich>
#include <colorchat>
#define DMG_BULLET (1<<1)

new const nazwa[] = "Elitarnego snajpera";
new const opis[] = "1/1 szansy na natychmiastowe zabicie z AWP, 1/2 szansy na natychmiastowe zabicie z noza(PPM)";
new const bronie = (1<<CSW_AWP);
new const zdrowie = 0;
new const kondycja = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;

new bool:ma_klase[33];
new skoki[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

register_forward(FM_CmdStart, "fwCmdStart_MultiJump");
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_H))
{
client_print(id, print_chat, "[Elitarnego snajpera] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}
ColorChat(id, GREEN, "Klasa stworzona przez flk");
ma_klase[id] = true;

return COD_CONTINUE;
}
public cod_class_disabled(id)
{
ma_klase[id] = false;
}
public fwCmdStart_MultiJump(id, uc_handle)
{
if(!is_user_alive(id) || !ma_klase[id])
return FMRES_IGNORED;
new flags = pev(id, pev_flags);
if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])
{
skoki[id]--;
new Float:velocity[3];
pev(id, pev_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id, pev_velocity,velocity);
}
else if(flags & FL_ONGROUND)
skoki[id] = 3;
return FMRES_IGNORED;
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;

if(!ma_klase[idattacker])
return HAM_IGNORED;

if(damagebits & DMG_BULLET)
{
new weapon = get_user_weapon(idattacker);

if(weapon == CSW_KNIFE && damage > 20.0 && random_num(1,2) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

if(weapon == CSW_AWP)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

}

return HAM_IGNORED;
}



#393909 [ROZWIĄZANE] 1/1 Problem

Napisane przez Flk w 08.04.2012 13:02

http://amxx.pl/topic...ie-1x-dla-klas/ masz tutaj ładny poradnik :)

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <hamsandwich>
#define DMG_BULLET (1<<1)

new const nazwa[] = "Komando Foki";
new const opis[] = "";
new const bronie = (1<<CSW_M3);
new const zdrowie = 80;
new const kondycja = 80;
new const inteligencja = 80;
new const wytrzymalosc = 80;

new ma_klase[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_event("CurWeapon", "eventKnife_Niewidzialnosc", "be", "1=1");
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public cod_class_enabled(id)
{
ma_klase[id] = true;
}
public cod_class_disabled(id)
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
ma_klase[id] = false;
}
public eventKnife_Niewidzialnosc(id)
{
if(!ma_klase[id])
return;
if( read_data(2) == CSW_KNIFE )
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0);
}
else
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
}
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;

if(!ma_klase[idattacker])
return HAM_IGNORED;

if(damagebits & DMG_BULLET)
{
new weapon = get_user_weapon(idattacker);

if(weapon == CSW_M3 && damage > 20.0 && random_num(1,3) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

}

return HAM_IGNORED;
}