Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <a_players>
- #define MAX_PLAYERS 100 // Maximální počet hráčů na serveru
- #define MAX_HEALTH 100
- #define MAX_MONEY 1000000
- #define MAX_TELEPORT_DISTANCE 50.0 // Maximální povolená vzdálenost teleportace hráče
- #define MAX_TELEPORT_COUNT 3 // Maximální povolený počet teleportací hráče
- new g_PlayerLastPosition[MAX_PLAYERS][3]; // Uchovává poslední známou pozici hráče
- new g_PlayerTeleportCount[MAX_PLAYERS]; // Počet teleportací hráče
- public OnPlayerUpdate(playerid)
- {
- // Kontrola zdraví hráče
- if(GetPlayerHealth(playerid) > MAX_HEALTH)
- {
- SetPlayerHealth(playerid, MAX_HEALTH);
- SendClientMessage(playerid, COLOR_RED, "Bylo detekováno nelegální zvýšení zdraví. Změněno na maximální hodnotu.");
- }
- // Kontrola peněz hráče
- if(GetPlayerMoney(playerid) > MAX_MONEY)
- {
- SetPlayerMoney(playerid, MAX_MONEY);
- SendClientMessage(playerid, COLOR_RED, "Bylo detekováno nelegální zvýšení peněz. Změněno na maximální hodnotu.");
- }
- // Detekce nelegálních nástrojů jako je S0beit
- if(IsPlayerUsingIllegalTools(playerid))
- {
- Kick(playerid); // Kick hráče z serveru
- SendClientMessage(playerid, COLOR_RED, "Bylo detekováno použití nelegálních nástrojů. Byl jste vyhozen ze serveru.");
- }
- // Sledování podezřelých akcí hráče
- WatchPlayerActions(playerid);
- return 1;
- }
- // Funkce pro detekci nelegálních nástrojů
- public IsPlayerUsingIllegalTools(playerid)
- {
- // Zde můžete implementovat různé metody detekce nelegálních nástrojů
- // Například sledování typických vlastností nástrojů, jako je S0beit
- // V tomto příkladu budeme detekovat použití S0beit pomocí funkce IsPlayerNPC, což je typické pro některé nástroje
- if(IsPlayerNPC(playerid))
- {
- return true;
- }
- return false;
- }
- // Funkce pro sledování akcí hráče
- public WatchPlayerActions(playerid)
- {
- // Zde můžete implementovat sledování různých akcí hráče, jako je teleportace, neviditelnost, nesmyslné pohyby, atd.
- // V tomto příkladu sledujeme, zda hráč provedl podezřelou teleportaci
- new Float:pos[3];
- GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
- if(GetPlayerDistanceFromPoint(playerid, pos[0], pos[1], pos[2]) > MAX_TELEPORT_DISTANCE)
- {
- g_PlayerTeleportCount[playerid]++; // Zvýšení počtu teleportací hráče
- if(g_PlayerTeleportCount[playerid] > MAX_TELEPORT_COUNT)
- {
- Kick(playerid); // Kick hráče z serveru
- SendClientMessage(playerid, COLOR_RED, "Byla detekována podezřelá teleportace. Byl jste vyhozen ze serveru.");
- }
- }
- }
- // Funkce pro detekci stisknutí kláves F1-F12
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- for(new i = KEY_F1; i <= KEY_F12; i++)
- {
- if(newkeys & (1 << i)) // Kontrola, zda byla stisknuta klávesa F1-F12
- {
- Kick(playerid); // Kick hráče z serveru
- SendClientMessage(playerid, COLOR_RED, "Použití klávesy F1-F12 je zakázáno.");
- break; // Ukončení procházení, protože byla detekována stisknutá klávesa F1-F12
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement