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.
|
PANDA_2zl
Rejestracja: 13.02.2019Aktualnie: Nieaktywny
Poza forum Ostatnio: wczoraj, 16:06




Statystyki
- Grupa: Power User
- Całość postów: 802
- Odwiedzin: 8 585
- Tytuł: Czempion
- Wiek: Wiek nie został ustalony
- Urodziny: Data urodzin nie została podana
-
Imię
Michał
-
Płeć
Mężczyzna
-
Lokalizacja
Kraków
Kontakt
Narzędzia użytkownika
Ostatnio byli
#779878 [ROZWIĄZANE] Błąd microsoft visual c++ runtime library na Steam
Napisane przez PANDA_2zl
w 03.07.2025 08:08
#779679 Sprzedam serwer AWP 1.6 z dużymi reklamami
Napisane przez PANDA_2zl
w 13.03.2025 20:24
#779677 Wiadomosci HUD z tłem
Napisane przez PANDA_2zl
w 12.03.2025 22:18
#779662 Sprzedam serwer AWP 1.6 z dużymi reklamami
Napisane przez PANDA_2zl
w 08.03.2025 13:19
#779647 Pytanie HLTV
Napisane przez PANDA_2zl
w 05.03.2025 07:42
https://amxx.pl/topi...świetlania-dem/
https://amxx.pl/topi...na-stronie-www/
Bez umiejętności obsługi google daleko się nie zajdzie
#779606 [ROZWIĄZANE] Pluginy z reapi - nie kompiluje ich
Napisane przez PANDA_2zl
w 22.02.2025 17:12
masz wybrakowane podstawowe biblioteki amxmodx, pobierz amxx 1.10 i nadpisz wszystkie "include"
Załączone pliki
-
amxmodx-1.10.0-git5461-windows.zip 4,62 MB 28 Ilość pobrań
#779595 [ROZWIĄZANE] Spr bez tła.
Napisane przez PANDA_2zl
w 21.02.2025 00:03
https://amxx.pl/topi...oczysty-sprite/
https://forums.allie...30&postcount=13
#779498 Regamedll, reapi i metamod
Napisane przez PANDA_2zl
w 09.02.2025 23:57
//gamedll "dlls\mp.dll" //gamedll_linux "dlls/cs.so" gamedll_linux "addons/metamod/metamod_i386.so" //gamedll_osx "dlls/cs.dylib"Zwróć uwagę jeśli twój metamod ma inną nazwę czy coś i też upewnij się że wszystko masz najnowsze
Komendy: version, meta version
#779437 [KOSZ] Problem z generatorem VIP
Napisane przez PANDA_2zl
w 25.01.2025 23:03
#779417 Plugin na cheaterów
Napisane przez PANDA_2zl
w 18.01.2025 14:06
new vault_keynum[512]; new num_keynum = fvault_get_keynum(g_vault, vault_keynum);
nie zrozumiałeś dokumentacji,
/** * Retrieves a key number specified by its name * * @param vaultname Vault name to look in * @param key Key name to search for * @return Returns key number on success, -1 on failure */ fvault_get_keynum(const vaultname[], const key[])
gdzie key[] to w naszym przypadku sid gracza i zwraca pozycje tego wpisu w pliku, do pobierania całkowitej ilości wpisów używasz
fvault_size(const vaultname[])
patrząc na kod nie rozumiem po co chcesz zapisywać wszystkich do pamięci podręcznej, skoro sprawdzanie gracza w zapisie w trakcie wchodzenia nie wpływa zupełnie na wydajność
g_bStayBlocked[player] = true; formatex(g_blocked_sids[player], charsmax(g_blocked_sids[]), "%s", sid); formatex(g_blocked_names[player], charsmax(g_blocked_names[]), "%s", nick);
zresetować te wartości przy wychodzeniu i sprawdzać, ustawiać na wchodzeniu client_putinserver albo client_authorized
w twoim kodzie: na rozpoczęciu mapy (nawet przy zmianie mapy może nikogo wtedy nie być na serwerze, bo się z nim łączą dopiero), chcesz odczytać wszystkie wpisy z zapisu, sprawdzasz czy są gracze którzy tam widnieją, zupełnie bez sensu, masz odpowiednie eventy do takiego sprawdzania, przykłady tego co chciałeś zrobić jak byk widnieją na stronie biblioteki fvault, wystarczy poczytać
// How to find all keys within a vault:
new const vaultname[] = "myvault";
new total = fvault_size(vaultname);
new key[32], data[64];
for( new i = 0; i < total; i++ )
{
fvault_get_keyname(vaultname, i, key, sizeof(key) - 1);
fvault_get_data(vaultname, key, data, sizeof(data) - 1);
server_print("Key: %s | Data: %s", key, data);
}
// More efficient method to find all keys within a vault:
new const vaultname[] = "myvault";
new Array:keys = ArrayCreate(64);
new Array:datas = ArrayCreate(512);
new total = fvault_load(vaultname, keys, datas);
new key[64], data[512];
for( new i = 0; i < total; i++ )
{
ArrayGetString(keys, i, key, 31);
ArrayGetString(datas, i, data, 511);
server_print("Key: %s | Data: %s", key, data);
}
mam nadzieje że wytłumaczyłem
#779415 Plugin na cheaterów
Napisane przez PANDA_2zl
w 18.01.2025 00:30
nie lepiej użyć biblioteki fvault? https://forums.allie...ead.php?t=76453
coś mniej więcej takiego by było, nie testowane
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
#include <fun>
#include <fvault>
#define PLUGIN "AMX Stay"
#define VERSION "1.0"
#define AUTHOR "mT[1]g"
new bool:g_bStayBlocked[33];
new Float:g_fMaxSpeed[33];
new const g_vault[] = "blocked_sids";
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_concmd("amx_stay", "cmd_amx_stay", ADMIN_BAN, "<nick/steamid> - Zatrzymaj/odblokuj gracza");
register_concmd("amx_stay_remove", "cmd_amx_stay_remove", ADMIN_BAN, "<SID> - Usuń SID z blokady");
RegisterHam(Ham_Spawn, "player", "client_spawn", 1);
register_forward(FM_CmdStart, "on_cmd_start", 1);
}
public cmd_amx_stay(id, level, cid) {
if (!(get_user_flags(id) & ADMIN_BAN)) {
client_print(id, print_console, "[AMX Stay] Nie masz uprawnień do użycia tej komendy.");
return PLUGIN_HANDLED;
}
if (read_argc() < 2) {
client_print(id, print_console, "[AMX Stay] UĹĽycie: amx_stay <nick/steamid>");
return PLUGIN_HANDLED;
}
new arg[32];
read_argv(1, arg, charsmax(arg));
new target = FindTarget(arg);
if (!target) {
client_print(id, print_console, "[AMX Stay] Nie znaleziono gracza o nicku/SteamID: %s", arg);
return PLUGIN_HANDLED;
}
if (get_user_flags(target) & ADMIN_BAN) {
client_print(id, print_console, "[AMX Stay] Nie możesz użyć tej komendy na adminie.");
return PLUGIN_HANDLED;
}
if (g_bStayBlocked[target]) {
g_bStayBlocked[target] = false;
set_user_maxspeed(target, g_fMaxSpeed[target]);
new target_name[32];
get_user_name(target, target_name, charsmax(target_name));
client_print(id, print_console, "[AMX Stay] Odblokowano gracza %s.", target_name);
return PLUGIN_HANDLED;
}
new authid[22];
get_user_authid(target, authid, 21);
fvault_set_data(g_vault, authid, "1");
g_bStayBlocked[target] = true;
g_fMaxSpeed[target] = get_user_maxspeed(target);
set_user_maxspeed(target, 0.1);
new target_name[32];
get_user_name(target, target_name, charsmax(target_name));
new message[64];
formatex(message, charsmax(message), "[AMX Stay] Zatrzymano gracza %s.", target_name);
client_print(id, print_console, message);
return PLUGIN_HANDLED;
}
public client_authorized(id, const authid[]){
if(fvault_get_keynum(g_vault, authid)!=-1){
g_bStayBlocked[id] = true;
g_fMaxSpeed[id] = get_user_maxspeed(id);
}
}
public cmd_amx_stay_remove(id, level, cid) {
if (!(get_user_flags(id) & ADMIN_BAN)) {
client_print(id, print_console, "[AMX Stay] Nie masz uprawnień do użycia tej komendy.");
return PLUGIN_HANDLED;
}
if (read_argc() < 2) {
client_print(id, print_console, "[AMX Stay] Użycie: amx_stay_remove <SID>");
return PLUGIN_HANDLED;
}
new arg[32];
read_argv(1, arg, charsmax(arg));
if (fvault_get_keynum(g_vault, arg)==-1) {
client_print(id, print_console, "[AMX Stay] SID %s nie został znaleziony w blokadzie.", arg);
return PLUGIN_HANDLED;
}
fvault_remove_key(g_vault, arg);
client_print(id, print_console, "[AMX Stay] SID %s został usunięty z blokady.", arg);
return PLUGIN_HANDLED;
}
public client_disconnect(id) {
g_bStayBlocked[id] = false;
g_fMaxSpeed[id] = 0.1;
}
public client_spawn(id) {
if (g_bStayBlocked[id]) {
set_user_maxspeed(id, 0.1);
}
}
public on_cmd_start(id, uc_handle, seed) {
if (!g_bStayBlocked[id]) {
return FMRES_IGNORED;
}
set_user_maxspeed(id, 0.1);
static uc_cmd;
uc_cmd = get_uc(uc_handle, UC_Buttons);
set_uc(uc_handle, UC_Buttons, uc_cmd & ~(IN_ATTACK | IN_ATTACK2 | IN_FORWARD | IN_BACK | IN_MOVELEFT | IN_MOVERIGHT | IN_JUMP | IN_USE));
return FMRES_SUPERCEDE;
}
FindTarget(szKey[]) {
new iTarget;
trim(szKey);
remove_quotes(szKey);
if (szKey[0] == '#' && (iTarget = find_player("kh", szKey[1]))) {
return iTarget;
}
if ((iTarget = find_player("bhl", szKey))) {
return iTarget;
}
if ((iTarget = find_player("ch", szKey))) {
return iTarget;
}
return 0;
}
#779381 Kompilator
Napisane przez PANDA_2zl
w 10.01.2025 12:02
#779149 Działający AMXBANS 2024
Napisane przez PANDA_2zl
w 19.11.2024 07:53
#779106 [ROZWIĄZANE] Dodanie /hud
Napisane przez PANDA_2zl
w 06.11.2024 17:57
Linijka
set_hudmessage(0, 255, 0, 0.01, 0.14, 0, 6.0, 12.0);Edytuj na
set_hudmessage(0, 255, 0, 0.01, 0.14, 0, 1.0, 1.0);https://amxx.pl/doku.../set_hudmessage
#779104 3 najlepszych graczy | zle rozdaje expa
Napisane przez PANDA_2zl
w 06.11.2024 17:05
nad plugin_init
enum data{ index, frags };
i podmienić kod 'przyznanie_doswiadczenia()' na
public przyznanie_doswiadczenia(){
new Array: players;
players=ArrayCreate(data);
new maxplayers=get_maxplayers(), item[data];
for(new i=1; i<=maxplayers; i++){
if(!is_user_connected(i)) continue;
item[index]=i;
item[frags]=get_user_frags(i);
ArrayPushArray(players, item);
}
ArraySort(players, "sort_frags");
ArrayGetArray(players, 0, item);
Poke_Give_XP(item[index], -1, 300);
ArrayGetArray(players, 1, item);
Poke_Give_XP(item[index], -1, 200);
ArrayGetArray(players, 2, item);
Poke_Give_XP(item[index], -1, 100);
}
public sort_frags(Array:array, id_a, id_b){
static item_a[data], item_b[data];
ArrayGetArray(array, id_a, item_a);
ArrayGetArray(array, id_b, item_b);
return (item_a[frags] < item_b[frags]) ? 1 : (item_a[frags] > item_b[frags]) ? -1 : 0;
}
rozwiązane na pv, wrzucam dla potomnych
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: PANDA_2zl
- Regulamin


Dodatki SourceMod



Moja zawartość

