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
 

BotKiller1 - zdjęcie

BotKiller1

Rejestracja: 11.05.2012
Aktualnie: Nieaktywny
Poza forum Ostatnio: 27.11.2013 18:26
-----

#449627 XP Mod Zombie Plague 5.0.7

Napisane przez danielpadewski w 21.08.2012 16:56

http://amxx.pl/topic...-zapis-na-nick/ moze byc?


#307752 Generator klas COD Mod

Napisane przez R3X w 14.10.2011 18:40

Przygotowaliśmy dla Was Generator klas (link również w menu Dodatki AMXX)

Wypełnij formularz i pobierz własną klasę do nowego Cod moda. Oprócz wyboru broni i statystyk klasy możliwe jest też dołączanie różnych dodatków. Na razie jest ich kilka, niedługo będą kolejne.

Mam nadzieję, że się przyda :)
  • +
  • -
  • 98


#449556 [ROZWIĄZANE] ZP Odliczanie

Napisane przez danielpadewski w 21.08.2012 14:41

a to?

#include <amxmodx>
#include <amxmisc>
#include <zombieplague>
#define PLUGIN "[ZP] Countdown 1.0"
#define VERSION "1.0"
#define AUTHOR "Mr.Apple"
new countdown
new time_s
public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
}
public plugin_precache()
{
    precache_sound( "zombie_plague/ten.wav" )
    precache_sound( "zombie_plague/nine.wav" )
    precache_sound( "zombie_plague/eight.wav" )
    precache_sound( "zombie_plague/seven.wav" )
    precache_sound( "zombie_plague/six.wav" )
    precache_sound( "zombie_plague/five.wav" )
    precache_sound( "zombie_plague/four.wav" )
    precache_sound( "zombie_plague/three.wav" )
    precache_sound( "zombie_plague/two.wav" )
    precache_sound( "zombie_plague/one.wav" )
}
public event_round_start()
{
    set_task(1.0, "zombie_countdown")
    time_s = 10
    countdown = 9
}
public zombie_countdown()
{   
    new speak[ 10 ][] = { "zombie_plague/one.wav", "zombie_plague/two.wav", "zombie_plague/three.wav", "zombie_plague/four.wav", "zombie_plague/five.wav", "zombie_plague/six.wav", "zombie_plague/seven.wav", "zombie_plague/eight.wav", "zombie_plague/nine.wav", "zombie_plague/ten.wav" }
    emit_sound( 0, CHAN_VOICE, speak[ countdown ], 1.0, ATTN_NORM, 0, PITCH_NORM )
    countdown--
	   
    set_hudmessage(179, 0, 0, -1.0, 0.28, 2, 0.02, 1.0, 0.01, 0.1, 10);
    show_hudmessage(0, "Infekcja Rozpocznie Sie Za %i", time_s);
    --time_s;
	   
    if(time_s >= 1)
    {
	    set_task(1.0, "zombie_countdown")
    }
} 



#200659 Advanced Bans

Napisane przez Pawlak093 w 28.12.2010 22:43

Advanced Bans (Real Time)
by Exolent
Version: 0.8.1



Dołączona grafika

  • Ten plugin działa z komendami amx_ban, amx_banip, amx_banid, amx_unban.
  • Działa w Realnym czasie na serwerze np: Kiedy zbanujesz kogoś na 10 minut ta osoba po 10 minutach będzie mogła wejść.
  • Zawiera listę zbanowanych graczy.
  • Nie używa banned.cfg i listip.cfg. Tworzy własny plik i w nim zapisuje bany.
  • W pliku zapisuje kiedy admin zbanował, steamid admina, powód bana, czas, nick gracza, SteamID lub IP gracza zbanowanego, i czas pozostały do unbana.
  • Wczytuje poprzednie bany z banned.cfg and listip.cfg.
  • Daje możliwość wpisania własnego powodu bana.
  • WSZYSTKIE BANY/UNBANY są LOGOWANE (amxmodx/logs) pod nazwą BAN_HISTORY_MMDDYYYY.log (MM = miesiąc, DD = dzień, YYYY = rok)
  • Jeśli chcesz mieć tylko jeden plik z historią banów, od komentuj linijkę w .sma i skompiluj plugin ponownie.
    Spoiler
  • Advanced Bans w wersji SQL może bez problemów działać na kilku serwerach na raz. Jeśli użyjesz tej samej bazy na kilku serwerach bany będą połączone, a każdy serwer będzie chroniony - zasada jak w amxbans.
  • Jeśli wykorzystasz Advanced Bans w wersji SQL plugin wykorzysta cvary z pliku sql.cfg (amx_sql_host, amx_sql_user, amx_sql_pass, amx_sql_db).
Dołączona grafika
  • amx_ban <nick, #userid, authid> <time in minutes> <reason>
  • amx_banip <nick, #userid, authid> <time in minutes> <reason>
  • amx_addban <name> <authid or ip> <time in minutes> <reason>
  • amx_unban <authid or ip> Odbanowując steama pamiętaj o "" ( amx_unban "STEAM_ID" )
  • aamx_banlist - Pokazuje listę zbanowanych graczy
  • amx_addbanlimit <flags> <time in minutes>
  • Przypisz maksymalny czas bana dla danej flagi
  • Komendę dopisz w amxx.cfg
Dołączona grafika
  • ab_website <website>
    • Adres strony wyświetlany banowanemu graczowi, gdzie może składać odwołanie.
    • Pozostaw puste, aby nie pokazywać adresu.
    • Domyślnie: puste
  • ab_immunity <0|1|2>
    • 0 - Każdy może zbanować admina z immunitetem (flaga 'a')
    • 1 - Nie można zbanować żadnego admina z immunitetem (flaga 'a')
    • 2 - Admini z immunitetem (flaga 'a') może być zbanowany tylko przez innego admina z immunitetem.
    • Domyślnie: 1
  • ab_bandelay <seconds>
    • Czas od zbanowania, do wyrzucanie gracza z serwera.
    • Domyślnie: 1
  • ab_unbancheck <seconds>
    • Odstęp w sprawdzaniu gracza gdy ten jest odbanowany (?) - (eng.: Interval of checking if a player is unbanned.)
    • Domyślnie: 5
Dołączona grafika
  • Pobierz wszystkie 3 pluginy z posta adminvote.amxx, plmenu.amxx, oraz advanced_bans_sql.amxx jeśli chcesz korzystać z wersji SQL, lub advanced_bans.amxx w przeciwnym wypadku.
  • Podmień pliki advanced_bans.amxx, plmenu.amxx i adminvote.amxx na swoim serwerze w folderze addons/amxmodx/plugins.
  • Musisz podmienić stare pliki: plmenu.amxx i adminvote.amxx
  • Otwórz plik plugins.ini na swoim serwerze z folderu addons/amxmodx/configs.
  • Dodaj advanced_bans.amxx na samym szczycie listy!
  • Upewnij się że pluginy plmenu.amxx i adminvote.amxx są włączone.
  • Zapisz i zamknij plik.
  • Podmień plik advanced_bans.txt na najnowszy pobrany z tego tematu - plik znajduje się w folderze addons/amxmodx/data/lang.
  • Zmień mapę lub zrestartuj serwer.
    Menu banów
  • Plugin plmenu.amxx został edytowany tak aby współpracował z Advanced Bans.
  • Pobierz w/w plik z tego tematu i podmień w folderze addons/amxmodx/plugins/
  • Odbanowując steama pamiętaj o "" ( amx_unban "STEAM_ID" )
Dodawanie czasy banów
  • Kolejność ustawionych czasów w tym wypadku ma znaczenie!
    • Przykładowo:
      amx_addbanlimit "b" "9000"
      amx_addbanlimit "c" "4000"
  • Jeśli admin ma flagi 'b' i 'c' brana będzie pod uwagę restrykcja z flagi 'b', czyli maksymalny czas bana to 2,5h.
    • Jeśli chcesz by admin z immunitetem nie miał restykcji co do czasu wpisz poniższą linijkę jako pierwszą w amxx.cfg!
      amx_addbanlimit "a" "0"
Pliki *.amxx w paczce

Załączone pliki




#375497 Automatyczna kompilacja .sma z załącznika

Napisane przez Hiroshima w 04.03.2012 22:12

Witajcie,
Z dniem dzisiejszym weszło w życie coś na co niektórzy długo czekali :)

W widoku tematu, w miejscu, gdzie są umieszczone załączniki (pod warunkiem, że załącznikiem jest plik .sma) pojawiła się opcja "Pobierz Plugin". Ułatwiliśmy Wam zadanie z kopiowaniem zawartości .sma / konieczności chociażby odpalania kompilatora - teraz możecie pobrać skompilowany plugin bezpośrednio z widoku tematu.

Jednocześnie ograniczyliśmy wysyłanie na serwer załączników w formacie .amxx ponieważ obecnie nie ma to najmniejszego sensu oraz utrudni trollom wstawianie 'złośliwego kodu' do którego nie mamy podglądu.

Mamy nadzieję, że nowa opcja spodoba Wam się tak samo jak i nam.

Pragnę jeszcze wykonać wielki ukłon w kierunku R3X'a, który odwalił przy tym kawał dobrej roboty :)
  • +
  • -
  • 23


#409616 [ROZWIĄZANE] Komenda /respawn

Napisane przez FORMOZA w 12.05.2012 18:42

Zobacz:

Załączony plik  go_back.sma   843 bajtów  23 Ilość pobrań
  go_back.amxx
  • +
  • -
  • 1


#409607 [ROZWIĄZANE] Komenda /respawn

Napisane przez FORMOZA w 12.05.2012 18:14

Załączony plik  afk.sma   462 bajtów  27 Ilość pobrań
  afk.amxx
  • +
  • -
  • 1


#256457 Poradnik jak kompilować pluginy

Napisane przez Hiroshima w 06.06.2011 17:07

Kompilacja lokalna



1. Na początek ściągamy nasz kompilator, przyjmijmy, że rozpakowujemy go na pulpicie:
Załączony plik  compiler.rar   966,98 KB  11168 Ilość pobrań


2. Znajdujemy plugin na forum który nas interesuje; np CODMod: [CoD Nowy] Call of Duty: MW Mod [UPDATE] - AMXX.pl: Support AMX Mod X

3. Pobieramy potrzebne pliki do kompilacji (pliki z rozszerzeniem: .sma, .inl, .inc)
* pliki .sma oraz .inl wrzucamy do głównego katalogu kompilatora
* pliki .inc wrzucamy do include


4. Wrzucamy je do folderu kompilatora

Dołączona grafika

5. Teraz wystarczy uruchomić compile.exe i czekać, aż nasz plugin się skompiluje. W przypadku powodzenia będzie to wyglądało tak:

Dołączona grafika

6. Pomyślnie skompilowane pliki (.amxx) znajdziesz w kompilatorze w folderze compiled

Teraz wystarczy wrzucić pliki .amxx na naszego HLDSa i gotowe.

Jeżeli nadal nie rozumiesz, możesz przeczytać jeszcze drugą wersję:
Kompilacja lokalna - AMXX.pl: Support AMX Mod X
  • +
  • -
  • 48


#409309 [ROZWIĄZANE] Komenda /respawn

Napisane przez Kamyk345D w 12.05.2012 00:01

/**
* csdm_main.sma
* Allows for Counter-Strike to be played as DeathMatch.
*
* CSDM Main - Main plugin to communicate with module
*
* ©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 <cstrike>
#include <hamsandwich>
#include <csdm>
new D_PLUGIN[] = "CSDM Main"
new D_ACCESS = ADMIN_MAP
#define CSDM_OPTIONS_TOTAL 2
new bool:g_StripWeapons = true
new bool:g_RemoveBomb = true
new g_StayTime
new g_drop_fwd
new g_options[CSDM_OPTIONS_TOTAL]
//new g_MenuPages[33]
new g_MainMenu = -1
public plugin_natives()
{
register_native("csdm_main_menu", "native_main_menu")
register_native("csdm_set_mainoption", "__csdm_allow_option")
register_native("csdm_fwd_drop", "__csdm_fwd_drop")
register_library("csdm_main")
}
public native_main_menu(id, num)
{
return g_MainMenu
}
public __csdm_allow_option(id, num)
{
new option = get_param(1)
if (option <= 0 || option >= CSDM_OPTIONS_TOTAL)
{
log_error(AMX_ERR_NATIVE, "Invalid option number: %d", option)
return 0
}
g_options[option] = get_param(2)
return 1
}
public __csdm_fwd_drop(id, num)
{
new id = get_param(1)
new wp = get_param(2)
new name[32]
get_string(3, name, 31)
return run_drop(id, wp, name)
}
public csdm_Init(const version[])
{
if (version[0] == 0)
{
set_fail_state("CSDM failed to load.")
return
}
}
public csdm_CfgInit()
{
csdm_reg_cfg("settings", "read_cfg")
}
public plugin_init()
{
register_plugin(D_PLUGIN, CSDM_VERSION, "CSDM Team")
register_clcmd("say /respawn", "Killed")
register_clcmd("say respawn", "Killed")
register_concmd("csdm_enable", "csdm_enable", D_ACCESS, "Enables CSDM")
register_concmd("csdm_disable", "csdm_disable", D_ACCESS, "Disables CSDM")
register_concmd("csdm_ctrl", "csdm_ctrl", D_ACCESS, "")
register_concmd("csdm_reload", "csdm_reload", D_ACCESS, "Reloads CSDM Config")
register_clcmd("csdm_menu", "csdm_menu", ADMIN_MENU, "CSDM Menu")
register_clcmd("drop", "hook_drop")
register_concmd("csdm_cache", "cacheInfo", ADMIN_MAP, "Shows cache information")
//AddMenuItem("CSDM Menu", "csdm_menu", D_ACCESS, D_PLUGIN)
g_MainMenu = menu_create("CSDM Menu", "use_csdm_menu")
new callback = menu_makecallback("hook_item_display")
menu_additem(g_MainMenu, "Enable/Disable", "csdm_ctrl", D_ACCESS, callback)
menu_additem(g_MainMenu, "Reload Config", "csdm_reload", D_ACCESS)
g_drop_fwd = CreateMultiForward("csdm_HandleDrop", ET_CONTINUE, FP_CELL, FP_CELL, FP_CELL)
}
public cacheInfo(id, level, cid)
{
if (!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED
new ar[6]
csdm_cache(ar)
console_print(id, "[CSDM] Free tasks: respawn=%d, findweapon=%d", ar[0], ar[5])
console_print(id, "[CSDM] Weapon removal cache: %d total, %d live", ar[4], ar[3])
console_print(id, "[CSDM] Live tasks: %d (%d free)", ar[2], ar[1])
return PLUGIN_HANDLED
}
public Killed(id)
{
if (!is_user_alive(id))
{
set_task(0.3, "Respawn", id);
}
}
public Respawn(id)
ExecuteHamB(Ham_CS_RoundRespawn, id);
public hook_drop(id)
{
if (!csdm_active())
{
return
}
if (!is_user_connected(id))
{
return
}
new wp, c, a, name[24]
if (cs_get_user_shield(id))
{
//entirely different...
wp = -1
copy(name, 23, "weapon_shield")
} else {
if (read_argc() <= 1)
{
wp = get_user_weapon(id, c, a)
} else {
read_argv(1, name, 23)
wp = getWepId(name)
}
}
run_drop(id, wp, name)
}
run_drop(id, wp, const name[])
{
new ret
ExecuteForward(g_drop_fwd, ret, id, wp, 0)
if (ret == CSDM_DROP_REMOVE)
{
new _name[24]
if (name[0] == 0)
{
get_weaponname(wp, _name, 23)
}
csdm_remove_weapon(id, _name, 0, 1)
return 1
} else if (ret == CSDM_DROP_IGNORE) {
return 0
}
if (g_StayTime > 20 || g_StayTime < 0)
{
return 0
}
if (wp)
{
remove_weapon(id, wp)
return 1
}
return 0
}
public csdm_PostDeath(killer, victim, headshot, const weapon[])
{
if (g_StayTime > 20 || g_StayTime < 0)
return PLUGIN_CONTINUE
new weapons[MAX_WEAPONS], num, name[24]
new wp, slot, ret
get_user_weapons(victim, weapons, num)
for (new i=0; i<num; i++)
{
wp = weapons[i]
slot = g_WeaponSlots[wp]
ExecuteForward(g_drop_fwd, ret, victim, wp, 1)
if (ret == CSDM_DROP_REMOVE)
{
get_weaponname(wp, name, 23)
csdm_remove_weapon(victim, name, 0, 1)
} else if (ret == CSDM_DROP_IGNORE) {
continue
} else {
if (slot == SLOT_PRIMARY || slot == SLOT_SECONDARY || slot == SLOT_C4)
{
remove_weapon(victim, wp)
}
}
}
if (cs_get_user_shield(victim))
{
ExecuteForward(g_drop_fwd, ret, victim, -1, 1)
if (ret == CSDM_DROP_REMOVE)
{
csdm_remove_weapon(victim, "weapon_shield", 0, 1)
} else if (ret == CSDM_DROP_IGNORE) {
/* do nothing */
} else {
remove_weapon(victim, -1)
}
}
return PLUGIN_CONTINUE
}
public csdm_PreSpawn(player, bool:fake)
{
//we'll just have to back out for now
if (cs_get_user_shield(player))
{
return
}
new team = get_user_team(player)
if (g_StripWeapons)
{
if (team == _TEAM_T)
{
if (cs_get_user_shield(player))
{
drop_with_shield(player, CSW_GLOCK18)
} else {
csdm_force_drop(player, "weapon_glock18")
}
} else if (team == _TEAM_CT) {
if (cs_get_user_shield(player))
{
drop_with_shield(player, CSW_USP)
} else {
csdm_force_drop(player, "weapon_usp")
}
}
}
if (team == _TEAM_T)
{
if (g_RemoveBomb)
{
new weapons[MAX_WEAPONS], num
get_user_weapons(player, weapons, num)
for (new i=0; i<num; i++)
{
if (weapons[i] == CSW_C4)
{
if (cs_get_user_shield(player))
{
drop_with_shield(player, CSW_C4)
} else {
csdm_force_drop(player, "weapon_c4")
}
break
}
}
}
}
}
remove_weapon(id, wp)
{
new name[24]
if (wp == -1)
{
copy(name, 23, "weapon_shield")
} else {
get_weaponname(wp, name, 23)
}
if ((wp == CSW_C4) && g_RemoveBomb)
{
csdm_remove_weapon(id, name, 0, 1)
} else {
if (wp != CSW_C4)
{
csdm_remove_weapon(id, name, g_StayTime, 1)
}
}
}
public hook_item_display(player, menu, item)
{
new paccess, command[24], call
menu_item_getinfo(menu, item, paccess, command, 23, _, 0, call)
if (equali(command, "csdm_ctrl"))
{
if (!csdm_active())
{
menu_item_setname(menu, item, "Enable")
} else {
menu_item_setname(menu, item, "Disable")
}
}
}
public read_cfg(readAction, line[], section[])
{
if (readAction == CFG_READ)
{
new setting[24], sign[3], value[32];
parse(line, setting, 23, sign, 2, value, 31);
if (equali(setting, "strip_weapons"))
{
g_StripWeapons = str_to_num(value) ? true : false
} else if (equali(setting, "weapons_stay")) {
g_StayTime = str_to_num(value)
} else if (equali(setting, "spawnmode")) {
new var = csdm_setstyle(value)
if (var)
{
log_amx("CSDM spawn mode set to %s", value)
} else {
log_amx("CSDM spawn mode %s not found", value)
}
} else if (equali(setting, "remove_bomb")) {
g_RemoveBomb = str_to_num(value) ? true : false
} else if (equali(setting, "enabled")) {
csdm_set_active(str_to_num(value))
} else if (equali(setting, "spawn_wait_time")) {
csdm_set_spawnwait(str_to_float(value))
}
}
}
public csdm_reload(id, level, cid)
{
if (!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED
new file[33] = ""
if (read_argc() >= 2)
{
read_argv(1, file, 32)
}
if (csdm_reload_cfg(file))
{
client_print(id, print_chat, "[CSDM] Config file reloaded.")
} else {
client_print(id, print_chat, "[CSDM] Unable to find config file.")
}
return PLUGIN_HANDLED
}
public csdm_menu(id, level, cid)
{
if (!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED
menu_display(id, g_MainMenu, 0)
return PLUGIN_HANDLED
}
public csdm_ctrl(id, level, cid)
{
if (!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED
csdm_set_active( csdm_active() ? 0 : 1 )
client_print(id, print_chat, "CSDM active changed.")
return PLUGIN_HANDLED
}
public use_csdm_menu(id, menu, item)
{
if (item < 0)
return PLUGIN_CONTINUE
new command[24], paccess, call
if (!menu_item_getinfo(g_MainMenu, item, paccess, command, 23, _, 0, call))
{
log_amx("Error: csdm_menu_item() failed (menu %d) (page %d) (item %d)", g_MainMenu, 0, item)
return PLUGIN_HANDLED
}
if (paccess && !(get_user_flags(id) & paccess))
{
client_print(id, print_chat, "You do not have access to this menu option.")
return PLUGIN_HANDLED
}
client_cmd(id, command)
return PLUGIN_HANDLED
}
public csdm_enable(id, level, cid)
{
if (!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED
csdm_set_active(1)
client_print(id, print_chat, "CSDM enabled.")
return PLUGIN_HANDLED
}
public csdm_disable(id, level, cid)
{
if (!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED
csdm_set_active(0)
client_print(id, print_chat, "CSDM disabled.")
return PLUGIN_HANDLED
}
public say_respawn(id)
{
if (g_options[CSDM_OPTION_SAYRESPAWN] == CSDM_SET_DISABLED)
{
client_print(id, print_chat, "[CSDM] This command is disabled!")
return PLUGIN_HANDLED
}
if (!is_user_alive(id) && csdm_active())
{
new team = get_user_team(id)
if (team == _TEAM_T || team == _TEAM_CT)
{
csdm_respawn(id)
}
}
return PLUGIN_CONTINUE
}