Dzięki za pomoc, już to ogarnięte ale mam inny problem. Założe nowy temat aby nie mylić ludzi
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.
|
Guest Message by DevFuse
esticire
Rejestracja: 17.01.2025Aktualnie: Nieaktywny
Poza forum Ostatnio: 16.05.2025 22:30




Statystyki
- Grupa: Użytkownik
- Całość postów: 6
- Odwiedzin: 682
- Tytuł: Nowy
- Wiek: Wiek nie został ustalony
- Urodziny: Data urodzin nie została podana
-
Płeć
Mężczyzna
Kontakt
0
Nowy
Narzędzia użytkownika
Znajomi
esticire nie posiada znajomych
Ostatnio byli
Moje posty
W temacie: [ROZWIĄZANE] Vip plugin okno menu timer
29.04.2025 21:13
W temacie: Plugin na cheaterów
18.01.2025 22:41
Temat można zamknąć, plugin działa, Dziekuje bardzo za pomoc
W temacie: Plugin na cheaterów
18.01.2025 02:17
poszedłem za twoją radą i wystrugałem coś takiego:
#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";
new g_blocked_sids[33][22];
new g_blocked_names[33][32];
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");
register_concmd("amx_stay_list", "cmd_amx_stay_list", ADMIN_BAN, "Wyświetl listę zablokowanych graczy");
RegisterHam(Ham_Spawn, "player", "client_spawn", 1);
register_forward(FM_CmdStart, "on_cmd_start", 1);
new vault_keynum[512];
new num_keynum = fvault_get_keynum(g_vault, vault_keynum);
for (new i = 0; i < num_keynum; i++) {
new sid[22], nick[32];
parse(vault_keynum[i], sid, charsmax(sid), nick, charsmax(nick));
for (new player = 1; player <= 32; player++) {
if (is_user_connected(player) && equal(sid, get_user_authid(player))) {
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);
set_user_maxspeed(player, 0.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;
}
new authid[22], target_name[32];
get_user_authid(target, authid, charsmax(authid));
get_user_name(target, target_name, charsmax(target_name));
fvault_set_data(g_vault, authid, target_name);
g_bStayBlocked[target] = true;
g_fMaxSpeed[target] = get_user_maxspeed(target);
set_user_maxspeed(target, 0.1);
formatex(g_blocked_sids[target], charsmax(g_blocked_sids[]), "%s", authid);
formatex(g_blocked_names[target], charsmax(g_blocked_names[]), "%s", target_name);
client_print(id, print_console, "[AMX Stay] Zatrzymano gracza %s.", target_name);
return PLUGIN_HANDLED;
}
public cmd_amx_stay_list(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;
}
new list_message[1024];
new count = 0;
for (new i = 1; i <= 32; i++) {
if (g_bStayBlocked[i]) {
new line[256];
formatex(line, sizeof(line), "SID: %s - Nick: %s\n", g_blocked_sids[i], g_blocked_names[i]);
strcat(list_message, line, charsmax(list_message));
}
}
if (count == 0) {
client_print(id, print_console, "[AMX Stay] Brak zablokowanych graczy.");
} else {
client_print(id, print_console, "[AMX Stay] Lista zablokowanych graczy:\n%s", list_message);
}
return PLUGIN_HANDLED;
}
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);
new target = FindTarget(arg);
if (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] Gracz %s może teraz się poruszać.", target_name);
}
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) {
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;
}
Niestety nie chce się to kompilować i nie do końca rozumiem dlaczego.. na pewno będę chciał jeszcze dodać funkcję logowania oprócz tego do jakiegoś pliku .log aczkolwiek borykam się jeszcze z kompilacją tego...
Jakby ktoś wytłumaczył i pomógł ewentualnie tutaj to byłbym wdzięczny
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Posty: esticire
- Regulamin


Dodatki SourceMod



Moja zawartość