Moze ten?
https://www.youtube....h?v=N6DK_62HySw
To równanie zostało stworzone przy pomocy kodu LaTeX:
Edytor LaTeX online: CodeCogs.com/latex/eqneditor.php
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.
|
Napisane przez Linux' w 20.04.2017 22:37
Napisane przez Robiin w 09.04.2017 01:24
#include <amxmodx> new const sound[]={"cos/zabil"}//tu sobie zmieniasz dźwięk, bez .wav na końcu public plugin_init() { register_plugin("Cus", "1.0", "Screeaam.."); register_event("DeathMsg", "Death", "a"); } public Death(){ new ofiara = read_data(2); if(is_user_connected(ofiara)) client_cmd(ofiara, "spk %s",sound) return PLUGIN_CONTINUE; } public plugin_precache() { new snd[sizeof(sound)] format(snd,sizeof(sound)-1,"%s.wav",sound) precache_sound(snd) }
Napisane przez d0naciak w 09.04.2017 07:35
Wy daliście do pliku WAV, a miałbyć MP3"
#include <amxmodx> new const dzwiek[] = "sciezka/do/pliku.mp3" public plugin_init() { register_plugin("Cus", "1.0", "Screeaam.."); register_event("DeathMsg", "Death", "a"); } public plugin_precache() { precache_sound(dzwiek) } public Death(){ new ofiara = read_data(2); if(is_user_connected(ofiara)) client_cmd(ofiara, "mp3 play sound/%s", dzwiek) }
Napisane przez Robiin w 08.04.2017 23:33
https://amxx.pl/topic/1680-eventy/
DeathMsg - ktos umarl
#include <amxmodx> #include <amxmisc> public plugin_init() { register_event("DeathMsg", "DeathMsg", "a") } public DeathMsg() { new kid = read_data(1) //zabojca new vid = read_data(2) // ofiara new hs = read_data(3) // HeadShot (1 == true) new weapon[64] read_data(4,weapon,63) //krotka nazwa broni (bez weapon_ / CSW_ ) //code }
kid i vid sa sobie rowne gdy zabije cie wlasna bron (granat) lub np. admin uzyje slay'a...
kid == 0 gdy np. spadniesz z wysokiej wysokosci...
https://amxx.pl/doku...kcja=emit_sound
Napisane przez Toldi w 07.03.2017 17:29
/** * csdm_tickets.sma * CSDM plugin that lets you have round ticketing. * Every time a player dies their team loses a ticket. Once all their tickets are used up, * they cannot respawn. * * (C)2003-2006 David "BAILOPAN" Anderson * * Give credit where due. * Share the source - it sets you free * http://www.opensource.org/ * http://www.gnu.org/ */ #include <amxmodx> #include <amxmisc> #include <csdm> new bool:g_Enabled = false new g_TeamTickets new g_Respawns[3] //Tampering with the author and name lines can violate the copyright new PLUGINNAME[] = "CSDM Ticketing" new VERSION[] = CSDM_VERSION new AUTHORS[] = "BAILOPAN" public csdm_Init(const version[]) { if (version[0] == 0) { set_fail_state("CSDM failed to load.") return } } public csdm_CfgInit() { csdm_reg_cfg("ticketing", "read_cfg") } public plugin_init() { register_plugin(PLUGINNAME, VERSION, AUTHORS); new menu = csdm_main_menu(); menu_additem(menu, "", "csdm_ticketing", ADMIN_MAP) } public plugin_cfg() { if (g_TeamTickets) { csdm_set_mainoption(CSDM_OPTION_SAYRESPAWN, CSDM_SET_DISABLED) } } public csdm_RoundRestart() { g_Respawns[_TEAM_T] = 0 g_Respawns[_TEAM_CT] = 0 } public csdm_PostDeath(killer, victim, headshot, const weapon[]) { if (!g_Enabled) return PLUGIN_CONTINUE new team = get_user_team(victim) if (g_Respawns[team] >= g_TeamTickets) return PLUGIN_HANDLED g_Respawns[team]++ update_views() return PLUGIN_CONTINUE } public csdm_PreSpawn(player, bool:fake) { if (!g_Enabled || !fake) return PLUGIN_CONTINUE new team = get_user_team(player) if (g_Respawns[team] >= g_TeamTickets) return PLUGIN_HANDLED update_views() return PLUGIN_CONTINUE } update_views() { //stolen from twisty set_hudmessage(170, 200, 255, -1.0, 0, 0, 6.0, 240.0, 0.1, 0.1, 4) new message[101] new ct = g_TeamTickets - g_Respawns[_TEAM_CT] new t = g_TeamTickets - g_Respawns[_TEAM_T] if (t < 0) t = 0 if (ct < 0) ct = 0 format(message, 100, "..::CS-Zgrywus.PL::..^n NIESMIERTELNIKI DRUZYN ^nCT: %d | TT: %d", ct , t) show_hudmessage(0, "%s", message) } public read_cfg(readAction, line[], section[]) { if (!csdm_active()) { return } if (readAction == CFG_READ) { new setting[24], sign[3], value[32]; parse(line, setting, 23, sign, 2, value, 31); if (equali(setting, "tickets")) { g_TeamTickets = str_to_num(value) } else if (equali(setting, "enabled")) { g_Enabled = str_to_num(value) ? true : false } } }
Napisane przez _McHappy w 24.02.2017 22:21
Napisane przez Skull. w 20.02.2017 21:19
To mój stary kod który kiedyś sam używałem (myślę że że to jest ta ostatnia wersja w której wszystko było naprawione).
#include <amxmodx> #include <fakemeta> #include <hamsandwich> #define PLUGIN "Free For All" #define AUTHOR "ConnorMcLeod @Skull" #define VERSION "0.7c" #define fm_get_user_team(%1) get_pdata_int(%1,114) #define fm_set_user_team(%1,%2) set_pdata_int(%1,114,%2) new gmsgRadar; new g_iMaxPlayers; new mp_friendlyfire; new HamHook:g_hTraceAttack, HamHook:g_hTakeDamage, HamHook:g_hKilled, g_mRadarHook; new bool:g_bFFA; public plugin_init() { register_plugin( PLUGIN, VERSION, AUTHOR ); mp_friendlyfire = get_cvar_pointer("mp_friendlyfire"); gmsgRadar = get_user_msgid("Radar"); } public plugin_cfg() { g_iMaxPlayers = get_maxplayers(); set_pcvar_num(mp_friendlyfire, 1); client_cmd(0, "hideradar"); Register_Forwards((g_bFFA = true)); } public client_connect(id) { if(g_bFFA) client_cmd(id, "hideradar"); } public TraceAttack(victim, attacker, Float:damage, Float:direction[3], tracehandle, damagebits) { if(victim != attacker && (1 <= attacker <= g_iMaxPlayers)) { new vteam = fm_get_user_team(victim); if(vteam == fm_get_user_team(attacker)) { fm_set_user_team(victim, vteam == 1 ? 2 : 1); ExecuteHamB(Ham_TraceAttack, victim, attacker, damage, direction, tracehandle, damagebits); fm_set_user_team(victim, vteam); return HAM_SUPERCEDE; } } return HAM_IGNORED; } public TakeDamage(victim, idinflictor, attacker, Float:damage, damagebits) { if(victim != attacker && (1 <= attacker <= g_iMaxPlayers)) { new vteam = fm_get_user_team(victim); if(vteam == fm_get_user_team(attacker)) { fm_set_user_team(victim, vteam == 1 ? 2 : 1); ExecuteHamB(Ham_TakeDamage, victim, idinflictor, attacker, damage, damagebits); fm_set_user_team(victim, vteam); return HAM_SUPERCEDE; } } return HAM_IGNORED; } public Killed(victim, attacker, shouldgib) { if(victim != attacker && (1 <= attacker <= g_iMaxPlayers)) { new vteam = fm_get_user_team(victim); if(vteam == fm_get_user_team(attacker)) { fm_set_user_team(victim, vteam == 1 ? 2 : 1); ExecuteHamB(Ham_Killed, victim, attacker, shouldgib); fm_set_user_team(victim, vteam); return HAM_SUPERCEDE; } } return HAM_IGNORED; } public Message_Radar(iMsgId, MSG_DEST, id) return PLUGIN_HANDLED; Register_Forwards(bool:bState) { if(bState) { if(g_hTraceAttack) EnableHamForward(g_hTraceAttack); else g_hTraceAttack = RegisterHam(Ham_TraceAttack, "player", "TraceAttack"); if(g_hTakeDamage) EnableHamForward(g_hTakeDamage); else g_hTakeDamage = RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); if(g_hKilled) EnableHamForward(g_hKilled); else g_hKilled = RegisterHam(Ham_Killed, "player", "Killed"); if(!g_mRadarHook) g_mRadarHook = register_message( gmsgRadar, "Message_Radar"); } else { if(g_hTraceAttack) DisableHamForward(g_hTraceAttack); if(g_hTakeDamage) DisableHamForward(g_hTakeDamage); if(g_hKilled) DisableHamForward(g_hKilled); if(g_mRadarHook) { unregister_message(gmsgRadar, g_mRadarHook); g_mRadarHook = 0; } } }
Napisane przez Sequ w 11.02.2017 08:35
Napisane przez vanillah w 13.11.2016 14:55
Napisane przez _McHappy w 05.11.2016 22:25
Napisane przez _McHappy w 05.11.2016 21:10
Napisane przez _McHappy w 30.10.2016 13:12
Napisane przez rzeznik9871 w 15.06.2016 22:14
Witam,
jeżeli istnieje taka możliwość, proszę o edycję pluginu Menu Broni wraz z możliwością zapamiętania broni + Bezlik Magazynków
https://amxx.pl/topi...lik-magazynków/
Problem polega na tym, ze :
Jeżeli wybierze się np M4+deagla i przetrwa się rundę, możemy wybrać kolejną broń.
W ten sposób mamy np. M4+Ak+deagle.
Da się to jakoś naprawić ?
Dziękuję za pomoc,
Pozdrawiam.
#include <amxmodx> #include <cstrike> #include <hamsandwich> #include <fun> new g_iMyWeapons[33][2]; new CSW_MAX_AMMO[33] = {-2, 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, -1, -1} public plugin_init() { register_plugin("Menu Broni", "v1.0", "Skull"); RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1); register_event("CurWeapon", "Event_BezlikAmmo", "be", "1=1"); } public client_disconnect(id) g_iMyWeapons[id][0] = g_iMyWeapons[id][1] = 0; public Odrodzenie(id) { new menu = menu_create("Menu Broni", "Handel_Menu"); menu_additem(menu, "Wybierz Bronie"); menu_additem(menu, "Daj Poprzednie bronie"); menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_display(id, menu); } public Handel_Menu(id, menu, item) { if(!is_user_alive(id)) return PLUGIN_CONTINUE; switch(item) { case MENU_EXIT: return PLUGIN_CONTINUE; case 0: return MenuBroni(id); case 1: { if(g_iMyWeapons[id][1]==0) return MenuBroni(id) else { new g_szName[24]; get_weaponname(g_iMyWeapons[id][0], g_szName, 23); give_item(id, g_szName); get_weaponname(g_iMyWeapons[id][1], g_szName, 23); give_item(id, g_szName); } } } return PLUGIN_CONTINUE; } public MenuBroni(id) { new menu = menu_create("Wybierz Bron:", "Handel_Bronie"); menu_additem(menu, "M4A1"); menu_additem(menu, "AK47"); menu_additem(menu, "AWP"); menu_additem(menu, "Scout"); menu_additem(menu, "AUG"); menu_additem(menu, "Krieg 550"); menu_additem(menu, "M249"); menu_additem(menu, "MP5"); menu_additem(menu, "UMP45"); menu_additem(menu, "Famas"); menu_additem(menu, "Galil"); menu_additem(menu, "M3"); menu_additem(menu, "XM1014"); menu_additem(menu, "Mac10"); menu_additem(menu, "TMP"); menu_additem(menu, "P90"); menu_additem(menu, "G3SG1 (autokampa)"); menu_additem(menu, "Krieg 552 (autokampa)"); menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona"); return menu_display(id, menu); } public Handel_Bronie(id, menu, item) { if(!is_user_alive(id)) return PLUGIN_CONTINUE; menu_destroy(menu) if (item == MENU_EXIT) return PLUGIN_HANDLED new tab[18]={CSW_M4A1,CSW_AK47,CSW_AWP,CSW_SCOUT,CSW_AUG,CSW_SG550,CSW_M249,CSW_MP5NAVY,CSW_UMP45,CSW_FAMAS,CSW_GALIL,CSW_M3,CSW_XM1014,CSW_MAC10,CSW_TMP,CSW_P90,CSW_G3SG1,CSW_SG552} g_iMyWeapons[id][0]=tab[item] return MenuBroniPistolety(id); } public MenuBroniPistolety(id) { new menu = menu_create("Wybierz Bron Krotka:", "Handel_BroniePistolety"); menu_additem(menu, "Deagle"); menu_additem(menu, "Elite"); menu_additem(menu, "Usp"); menu_additem(menu, "Glock18"); menu_additem(menu, "Fiveseven"); menu_additem(menu, "P228"); menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); return menu_display(id, menu); } public Handel_BroniePistolety(id, menu, item) { if(!is_user_alive(id)) return PLUGIN_CONTINUE; menu_destroy(menu) if (item == MENU_EXIT) return PLUGIN_HANDLED new tab[6]={CSW_DEAGLE,CSW_ELITE,CSW_USP,CSW_GLOCK18,CSW_FIVESEVEN,CSW_P228} g_iMyWeapons[id][1]=tab[item] return dajbronie(id) } public dajbronie(id) { new g_szName[24] strip_user_weapons(id) get_weaponname(g_iMyWeapons[id][0], g_szName, 23); give_item(id, g_szName); get_weaponname(g_iMyWeapons[id][1], g_szName, 23); give_item(id, g_szName); give_item(id,"weapon_knife") return 0 } public Event_BezlikAmmo(id) { if(!is_user_alive(id)) return PLUGIN_CONTINUE; new weaponID = read_data(2) if(weaponID == CSW_C4 || weaponID == CSW_KNIFE || weaponID == CSW_HEGRENADE || weaponID == CSW_SMOKEGRENADE || weaponID == CSW_FLASHBANG) return PLUGIN_CONTINUE; if(cs_get_user_bpammo(id, weaponID) != CSW_MAX_AMMO[weaponID]) cs_set_user_bpammo(id, weaponID, CSW_MAX_AMMO[weaponID]) return PLUGIN_CONTINUE; }
na szybko robione i testowane zmienilem troche kod bo te "kejsy" nie dawaly mi spokoju jak cos bedzie nie tak to pisz
Napisane przez Asiap w 16.06.2016 07:20
Wymagany AMXX 1.8.3 nie starszego niz z 23 lutego 2016
nie zmieniaj nazwy broni w menu bo nie bedzie dzialac ustawianie broni graczowi
kod zostal tak wlasnie napisany aby byl jak najlawiejszy do zrozumienia przez mniej doswiadczonych uzytkownikow
bezlik ammo ustawilam aby nie wykonywalo nabijania ammo po kazdym strzale, uzyciu celownika, zamiany broni itp. tylko po kazdym przeladowaniu sprawdza czy gracz ma mniej niz maksymalna ilosc ammo i gdy ma mniej to ustawia
menu sa cache'owane czyli nie sa tworzone za kazdym razem tylko raz na mape, zwieksza to optymalnosc i zmniejsza zuzycie danych
#include <amxmodx> #include <fakemeta_util> #include <hamsandwich> new g_hMenuWeapons, g_hMenuPrimaryWeapons, g_hMenuSecondaryWeapons, g_iMyWeapons[33][2], g_iMaxAmmo[31] = { 0, 52, 0, 90, 1, 31, 1, 100, 90, 1, 120, 100, 100, 90, 90, 90, 100, 120, 30, 120, 200, 31, 90, 120, 90, 2, 35, 90, 90, 0, 100 }; public plugin_init() { register_plugin("Menu Broni", "1.0", "Asiap"); RegisterHamPlayer(Ham_Spawn, "Odrodzenie", 1); for(new szWeapon[24], i = 1; i <= 30; i++) { if(~(CSW_ALL_GRENADES|1<<CSW_C4|1<<CSW_KNIFE & 1<<i) & 1<<i && get_weaponname(i, szWeapon, 23)) { RegisterHam(Ham_Weapon_Reload, szWeapon, "WeaponReload", 1); } } g_hMenuWeapons = menu_create("Menu broni", "HandleWeaponsMenu"); menu_additem(g_hMenuWeapons, "Wybierz bronie"); menu_additem(g_hMenuWeapons, "Daj poprzednie bronie"); menu_setprop(g_hMenuWeapons, MPROP_EXITNAME, "Wyjdz"); g_hMenuPrimaryWeapons = menu_create("Wybierz bron", "HandlePrimaryWeapons"); menu_additem(g_hMenuPrimaryWeapons, "M4A1"); menu_additem(g_hMenuPrimaryWeapons, "AK47"); menu_additem(g_hMenuPrimaryWeapons, "AWP"); menu_additem(g_hMenuPrimaryWeapons, "Scout"); menu_additem(g_hMenuPrimaryWeapons, "AUG"); menu_additem(g_hMenuPrimaryWeapons, "SG550"); menu_additem(g_hMenuPrimaryWeapons, "M249"); menu_additem(g_hMenuPrimaryWeapons, "MP5Navy"); menu_additem(g_hMenuPrimaryWeapons, "UMP45"); menu_additem(g_hMenuPrimaryWeapons, "Famas"); menu_additem(g_hMenuPrimaryWeapons, "Galil"); menu_additem(g_hMenuPrimaryWeapons, "M3"); menu_additem(g_hMenuPrimaryWeapons, "XM1014"); menu_additem(g_hMenuPrimaryWeapons, "Mac10"); menu_additem(g_hMenuPrimaryWeapons, "TMP"); menu_additem(g_hMenuPrimaryWeapons, "P90"); menu_additem(g_hMenuPrimaryWeapons, "G3SG1"); menu_additem(g_hMenuPrimaryWeapons, "SG552"); menu_setprop(g_hMenuPrimaryWeapons, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(g_hMenuPrimaryWeapons, MPROP_NEXTNAME, "Nastepna strona"); menu_setprop(g_hMenuPrimaryWeapons, MPROP_EXITNAME, "Wyjdz"); g_hMenuSecondaryWeapons = menu_create("Wybierz pistolet", "HandleSecondaryWeapons"); menu_additem(g_hMenuSecondaryWeapons, "Deagle"); menu_additem(g_hMenuSecondaryWeapons, "Elite"); menu_additem(g_hMenuSecondaryWeapons, "Usp"); menu_additem(g_hMenuSecondaryWeapons, "Glock18"); menu_additem(g_hMenuSecondaryWeapons, "Fiveseven"); menu_additem(g_hMenuSecondaryWeapons, "P228"); menu_setprop(g_hMenuSecondaryWeapons, MPROP_EXITNAME, "Wyjdz"); } public client_disconnected(id) { g_iMyWeapons[id][0] = g_iMyWeapons[id][1] = 0; } public Odrodzenie(id) { if(!is_user_alive(id)) { return; } menu_display(id, g_hMenuWeapons); } public HandleWeaponsMenu(id, hMenu, iItem) { if(!is_user_alive(id)) { return PLUGIN_CONTINUE; } switch(iItem) { case MENU_EXIT: { return PLUGIN_CONTINUE; } case 0: { return menu_display(id, g_hMenuPrimaryWeapons); } default: { static szWeapon[24]; get_weaponname(g_iMyWeapons[id][0], szWeapon, 23); DropUserWeapons(id, 0); fm_give_item(id, szWeapon); get_weaponname(g_iMyWeapons[id][1], szWeapon, 23); DropUserWeapons(id, 1); fm_give_item(id, szWeapon); } } return PLUGIN_CONTINUE; } public HandlePrimaryWeapons(id, hMenu, iItem) { if(!is_user_alive(id) || iItem == MENU_EXIT) { return PLUGIN_CONTINUE; } static iBitAccess, iCallback, szInfo[2], szWeapon[24]; menu_item_getinfo(hMenu, iItem, iBitAccess, szInfo, 1, szWeapon, 23, iCallback); strtolower(szWeapon); g_iMyWeapons[id][0] = get_weaponid(fmt("weapon_%s", szWeapon)); DropUserWeapons(id, 0); fm_give_item(id, szWeapon); return menu_display(id, g_hMenuSecondaryWeapons); } public HandleSecondaryWeapons(id, hMenu, iItem) { if(!is_user_alive(id) || iItem == MENU_EXIT) { return; } static iBitAccess, iCallback, szInfo[2], szWeapon[24]; menu_item_getinfo(hMenu, iItem, iBitAccess, szInfo, 1, szWeapon, 23, iCallback); strtolower(szWeapon); g_iMyWeapons[id][1] = get_weaponid(fmt("weapon_%s", szWeapon)); DropUserWeapons(id, 1); fm_give_item(id, szWeapon); } public WeaponReload(iEnt) { static id; if(!is_user_alive((id = get_pdata_cbase(iEnt, 41, 4))) || !pev_valid(iEnt) || !get_pdata_int(iEnt, 54, 4)) { return; } static iWeapon; if(GetUserAmmo(id) != g_iMaxAmmo[(iWeapon = GetUserWeapon(id))]) { SetUserAmmo(id, g_iMaxAmmo[iWeapon]); } } stock GetUserWeapon(id, &iWid = 0) { return is_user_alive(id) ? pev_valid((iWid = get_pdata_cbase(id, 373))) == 2 ? get_pdata_int(iWid, 43, 4) : PLUGIN_CONTINUE : PLUGIN_CONTINUE; } stock SetUserAmmo(id, iBpAmmo) { static iWeapon; if(!is_user_alive(id) || pev_valid((iWeapon = get_pdata_cbase(id, 373))) != 2) { return PLUGIN_CONTINUE; } static szWeapon[24]; if(iWeapon <= CSW_LAST_WEAPON && get_weaponname(iWeapon, szWeapon, 23)) { while((iWeapon = engfunc(EngFunc_FindEntityByString, iWeapon, "classname", szWeapon))) { if(pev_valid(iWeapon) == 2 && get_pdata_cbase(iWeapon, 41, 4) == id) { set_pdata_int(id, 376 + get_pdata_int(iWeapon, 49, 4), iBpAmmo); set_pdata_int(id, 351, 0); return PLUGIN_HANDLED; } } } return PLUGIN_CONTINUE; } stock GetUserAmmo(id) { static iWeapon; if(!is_user_alive(id) || pev_valid((iWeapon = get_pdata_cbase(id, 373))) != 2) { return PLUGIN_CONTINUE; } static szWeapon[24]; if(iWeapon <= CSW_LAST_WEAPON && get_weaponname(iWeapon, szWeapon, 23)) { while((iWeapon = engfunc(EngFunc_FindEntityByString, iWeapon, "classname", szWeapon))) { if(pev_valid(iWeapon) == 2 && get_pdata_cbase(iWeapon, 41, 4) == id) { return get_pdata_int(id, 376 + get_pdata_int(iWeapon, 49, 4)); } } } return PLUGIN_CONTINUE; } stock DropUserWeapons(id, iType) { if(!is_user_alive(id)) { return PLUGIN_CONTINUE; } static i, iBitWeapons[32], iNum, szWeapon[24]; get_user_weapons(id, iBitWeapons, iNum); iType = iType ? CSW_ALL_PISTOLS : (CSW_ALL_SHOTGUNS | CSW_ALL_SMGS | CSW_ALL_RIFLES | CSW_ALL_SNIPERRIFLES | CSW_ALL_MACHINEGUNS); for(i = 0; i < iNum; i++) { if(~(iType & 1<<iBitWeapons[i]) || !get_weaponname(iBitWeapons[i], szWeapon, 23)) { continue; } engclient_cmd(id, "drop", szWeapon); } return PLUGIN_HANDLED; }
Napisane przez Skull. w 15.05.2015 07:55
Plugin nam daje:
Standardowa!
Brak!
Podziękowania Dla użytkownika: Asiap za pomoc przy zrobieniu zapamiętania poprzednich broni!
Temat gdzie mi pomogła: http://amxx.pl/topic...iu/#entry700559