Z tym coś da się zrobić? chodzi mi oczywiście o spacje w nicku.
Pewnie, że da.
Filtrujesz nicki zwyczajnie i szukasz wszystkiego, jedyny sposób na te reklamki to automatyczny BAN od razu przy wejściu na serwer.
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 ex0
w 11.04.2015 13:38
Napisane przez sharkowy
w 11.04.2015 19:49
Napisane przez plx211
w 06.04.2015 19:16
0. Wstęp
Jako że ostatnio dużo osób do mnie pisze obnośnie pomocy z tworzeniem klas, postanowiłem napisać ten oto drobny poradnik ukazujący tą "Czarną Magie".
Z góry przepraszam za wszelkie błędy ortograficzne (przepuszczałem przez "sprawdzaniepisowni" ale się wykrzaczył przez znaki specjalne).
1. Piszemy klase
Co będzie nam potrzebne:
Moja klasa będzie miała następujące parametry:
A o to nasz "kod startowy":
#include <sdktools> #include <sdkhooks> #include <sourcemod> public Plugin:myinfo = { name = "NikuSan", author = "PLX", description = "Przy każdym użyciu skilla dostaje flash'a", version = "1.0", url = "RedTube.plx" } public OnPluginStart(){ }
Pierwszym krokiem który musimy zrobić jest załączenie api, aby tego dokonać pod:
#include <sdktools> #include <sdkhooks> #include <sourcemod>
dodajemy:
#include <cmod>
Gdzieś musimy przechowywać informacje o klasie, dlatego pod wyżej wymienionymi musimy dodać następujący kod:
//Tworzymy zmienne przechowujące informacje o klasie oraz je wypełniamy new const String:nazwaKlasy[] = "NikuSan"; new const String:opisKlasy[] = "Przy każdym użyciu skilla dostaje flash'a"; new const intKlasy = 22; new const conKlasy = 10; new const strKlasy = 33; new const dexKlasy = 90; //Tworzymy uchwyt dla adt_array (który będzie przechowywał liste broni) new Handle:bronieKlasy;
Czas nastał na stworznie adt_array który będzie przechowywał listę naszych broni, aby tego dokonać do funkcji OnPluginStart() dodajemy:
//Tworzymy adt_array dla listy broni bronieKlasy = CreateArray(32);
Następnie wypełniamy adt_array listą broni które nasza klasa ma mieć, w następujący sposób:
//Dodajemy bronie do adt_array PushArrayString(bronieKlasy, "weapon_awp"); PushArrayString(bronieKlasy, "weapon_tec9"); PushArrayString(bronieKlasy, "weapon_flashbang");
Skoro mamy już zapisane wszystkie informacje które zostaną przekazane do silnika, to przyszedł czas na wysłanie ich, w tym celu pod powyszym kodem dodajemy:
//Rejestrujemy klase w silniku Cmod_RegisterClass(nazwaKlasy, opisKlasy, intKlasy, conKlasy, strKlasy, dexKlasy, bronieKlasy);
A teraz ten nieszczęsny skill.
Wpierw tworzymy funkcje odpowiedzialną za aktywacje skilla:
//Tworzymy funkcje, która będzie wywoływana podczas aktywacji skilla przez gracza public Cmod_OnClientUseSkill(client){ }
Następnie dodajemy do niej:
//Dajemy graczu flash'a GivePlayerItem(client, "weapon_flashbang");
Zapisujemy następnie kompilujemy klase. Gotowe
Dla tych którym się nie udało, niech sobie porównają kod:
#include <sdktools> #include <sdkhooks> #include <sourcemod> #include <cmod> //Tworzymy zmienne przechowujące informacje o klasie oraz je wypełniamy new const String:nazwaKlasy[] = "NikuSan"; new const String:opisKlasy[] = "Przy każdym użyciu skilla dostaje flash'a"; new const intKlasy = 22; new const conKlasy = 10; new const strKlasy = 33; new const dexKlasy = 90; //Tworzymy uchwyt dla adt_array (który będzie przechowywał liste broni) new Handle:bronieKlasy; public Plugin:myinfo = { name = "NikuSan", author = "PLX", description = "Przy każdym użyciu skilla dostaj flash'a", version = "1.0", url = "RedTube.plx" } public OnPluginStart(){ //Tworzymy adt_array dla listy broni bronieKlasy = CreateArray(32); //Dodajemy bronie do adt_array PushArrayString(bronieKlasy, "weapon_awp"); PushArrayString(bronieKlasy, "weapon_tec9"); PushArrayString(bronieKlasy, "weapon_flashbang"); //Rejestrujemy klase w silniku Cmod_RegisterClass(nazwaKlasy, opisKlasy, intKlasy, conKlasy, strKlasy, dexKlasy, bronieKlasy); } //Tworzymy funkcje, która będzie wywoływana podczas aktywacji skilla przez gracza public Cmod_OnClientUseSkill(client){ //Dajemy graczu flash'a GivePlayerItem(client, "weapon_flashbang"); }
2. Podst. omówienie api
2.1 Funkcje
Cmod_RegisterClass
Funkcja służy do rejestracji klasy w silniku @name - nazwa klasy @desc - opis klasy @pINT - liczba INT klasy @pCON - liczba CON klasy @pSTR - liczba STR klasy @pDEX - liczba DEX klasy @weapons - uchwyt do adt_array przechowującego bronie klasy @return zwraca ClassID klasy, w przypadku błędu zwraca INVALID_CLASS native ClassID:Cmod_RegisterClass(const String:name[], const String:desc[], const pINT = 0, const pCON = 0, const pSTR = 0, const pDEX = 0, const Handle:weapons);
Funkcja zwraca uchwyt do adt_array przechowującego liste bonusowych broni które gracz może podnieść, bronie na tej liście są dawane przy spawnie @client - indentyfikator gracza @noreturn native Handle:Cmod_GetClientBonusWeapons(const client);
Funkcja zwraca uchwyt do adt_array przechowującego liste broni które wszyscy gracz mogą podnieść, bronie na tej liście nie są dawane przy spawnie @noreturn native Handle:Cmod_GetAllowWeapons();
Funkcja zwraca uchwyt do adt_array przechowującego liste broni które gracz może podnieść, bronie na tej liście nie są dawane przy spawnie @client - indentyfikator gracza @noreturn native Handle:Cmod_Cmod_GetClientWeapons(const client);
Forward wywoływany kiedy gracz aktywuje daną klase. Wysyłany tylko do pluginu klasy @client - indentyfikator gracza @id - identyfikator aktywowanej klasy Aby zablokować klasę (uniemożliwić graczu zmianę na nią) należy zwrócić CMOD_DISABLE, w przeciwnym wypadku należy zwrócić CMOD_CONTINUE forward Cmod_OnClassEnabled(client, ClassID:id);
Forward wywoływany kiedy gracz dezaktywuje daną klase. Wysyłany tylko do pluginu klasy @client - indentyfikator gracza @id - identyfikator dezaktywowanej klasy forward Cmod_OnClassDisabled(client, ClassID:id);
Forward wywoływany kiedy gracz aktywuje skill danej klasy. Wysyłany tylko do pluginu klasy gracza @client - indentyfikator gracza @id - identyfikator klasy której skill został użyty forward Cmod_OnClientUseSkill(client, ClassID:id);
Forward wywoływany kiedy klasa uzyska nowe ClassID. Wysyłany tylko do pluginu klasy @oldId - stary indentyfikator klasy @newId - nowy indentyfikator klasy forward Cmod_OnGetNewClassID(ClassID:oldId, ClassID:newId);
4. Dodatkowo
4.1 m4a1-s
Aby dodać graczu broń m4a1-s należy także dodać do dozwolonych broni (Cmod_GetClientWeapons) dodać broń m4a4 (tak sm uznaje m4a1-s), sytuacja wygląda podobnie z usp
4.2 Vip
public Cmod_OnClassEnabled(client) { if(!GetAdminFlag(GetUserAdmin(client), Admin_Custom1)){ PrintToChat(client, "\x01\x0B\x01 \x07%s \x06Klasa dostępna tylko dla posiadaczy vip'a!", MOD_TAG); return CMOD_DISABLE; } active[client] = true; // <----- opcjonalne return CMOD_CONTINUE; }
4.3 Ciekawostka
Możesz na bieżąco zmieniać bronie klasy (lecz pamiętaj aby nie zamykać adt_array jeśli silnik z niego korzysta)
Napisane przez xXxBoy4GirlxXx
w 22.01.2015 21:06
Proszę, lecz za Lajka się nie obrażę!
https://mega.co.nz/#!vdozwY5Z!Sk-oyuGZJKz69r2Kwm83wkmEbixzV78y5Fd8sxQ8HmU
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
Napisane przez Misiaczek ;c
w 31.03.2015 05:35
Ad-Block ( Dawniej Ad-Block and Ban )
Wersja: 1.2.1
Wydanie Pluginu: 30 Marzec 2015
Aktualizacja Pluginu: 30 Lipca 2015
Autor: Misiaczek ;c
Opis Pluginu
Plugin za reklame w:
obdarowywuje take osoby odpowiednią kara ( kara jest zależna od ustawień cvaru adblock_kara )
Cvary Pluginu
adblock_kara "0" adblock_ban_komenda "0" adblock_ban_czas "0"
Objaśnienie Cvarów:
Cvary działają i są aktywne tylko jeśli cvar adblock_kara ma wartość 0 !
amx_ban <time in min> <steamID or nickname or #authid or IP> <reason>
amx_ban <steamID or nickname or #authid or IP> <time in min> <reason>
Najczęściej używa się opcji 0, ale sami lepiej wiecie jak banujecie graczy ;]
Instalacja
Standardowa
Lista Zmian
1.2.1 [ 30.07.2015 ]
1.2.0 [ 26.06.2015 ]
#define PATTERN ""na
new cosnt PATTERN[ ] = ""
1.1.0 [ 1.04.2015 ]
1.0.1 [ 31.03.2015 ]
1.0.0 [ 30.03.2015 ]
Pobieranie
1.2.1 [ 30.07.2015 ]
ad_block.sma 4,79 KB 419 Ilość pobrań
ad_block.amxx
1.2.0 [ 26.06.2015 ]
ad_block.sma 4,59 KB 219 Ilość pobrań
ad_block.amxx
1.1.0 [ 1.04.2015 ]
ad_block.sma 4,4 KB 317 Ilość pobrań
ad_block.amxx
1.0.1 [ 31.03.2015 ]
abb.sma 3,84 KB 229 Ilość pobrań
abb.amxx
1.0.0 [ 30.03.2015 ]
abb.sma 3,84 KB 265 Ilość pobrań
abb.amxx
Napisane przez
adiXD
w 25.03.2015 19:33
OMG już 4 ostrzerzenia!!!!!
Napisane przez WeBsteR
w 25.03.2015 14:40
Używaj np.
W say'u:
1. http://amxx.pl/dokum...a/i11/colorchat
2. http://amxx.pl/dokum...37/client_print
W hud:
1. http://amxx.pl/dokum.../set_hudmessage
oraz
2. http://amxx.pl/dokum...show_hudmessage
+ http://amxx.pl/dokum...a/f120/set_task
Ale jak znająć życie chodzi Ci o jakiś auto spamiarz, więc łap:
1. http://amxx.pl/topic...vanced-version/
2. http://amxx.pl/topic...rtiser-tag-you/
Napisane przez speedkill
w 24.02.2015 21:41
Napisane przez IntelCom
w 20.03.2015 23:10
Napisane przez IntelCom
w 23.03.2015 21:41
Napisane przez GwynBleidD
w 24.03.2015 22:01
adiXD , wszystkie pytania które do tej pory zadałeś, są dość mocno na forum omówione. Można również niewielkim nakładem pracy znaleźć samodzielnie odpowiedzi poza forum, używając google. Dodatkowo wszelkie twoje wypowiedzi na forum są w części lub w całości niezrozumiałe, niegramatyczne, naszpikowane błędami ortograficznymi i językowymi.
Mimo udzielenia odpowiedzi nadal pytasz o to samo, gdy ktoś zwróci Ci uwagę, że odpowiedź już otrzymałeś to odpowiadasz że jej nie rozumiesz. Jeśli czegoś nie rozumiesz to wskaż dokładnie z czym masz problem, nie będziemy zgadywali jakie słowa znasz, a jakie się nie znajdują w Twoim słowniku. Jak na razie to my nie rozumiemy Ciebie...
Nie wiem czy trollujesz czy po prostu taki jesteś, ale nie jest to w tym momencie ważne, bo nie ma na takie zachowanie, kompletną ignorancję i sposób wypowiedzi miejsca na tym forum. Za każdy napisany przez Ciebie do tej pory post otrzymałeś ode mnie ujemną reputację, bo absolutnie każdy Twój post na to zasłużył. Jeśli z następnym Twoim postem nie zobaczę poprawy, będziesz od tej pory otrzymywał ode mnie warna, bo niestety będę te posty traktował jak trollowanie i celowe zaniżanie poziomu wypowiedzi na tym forum. Przypominam, że za 5 punktów ostrzeżeń otrzymuje się permanentnego bana, a masz już dwa. Zakładanie nowego konta, szczególnie po otrzymaniu bana na poprzednie, jest na tym forum zabronione i będzie skutkowało natychmiastowym zbanowaniem drugiego konta.
Napisane przez szelbi
w 09.08.2014 20:33
amx_pbgun (domyślnie 1) - włącza marker amx_pbusp (domyślnie 1) - włącza USP amx_pbglock (domyślnie 1) - włącza glocka pbgun_color (domyślnie 1) - kolor farby [1=standard; 2 = kolor teamu] pbgun_tgun (domyślnie 3) - którego modelu markera używa TT (wartości 1-5) pbgun_ctgun (domyślnie 7) - którego modelu markera używa CT (wartości 6-10) pbgun_shots (domyślnie 100) - Ile kolorowych "kulek" może być wystrzelonych jednocześnie (czym mniej, tym mniejsze obciążenie) pbgun_velocity (domyślnie 2000) - szybkość lotu kolorowych "kulek" (musi być niższa niż sv_maxvelocity (domyślnie 2000)) pbgun_speed (domyślnie 0.08) - czas pomiędzy każdym strzałem pbgun_life (domyślnie 15) - jak długo farba zostaje na ścianie pbgun_glow (domyślne flagi "a") - a = kulki mają poświatę, paintball, b = za kulkami ciągnie się "ogon" pbgun_damage (domyślnie 100) - ile obrażeń zadaje jedna kulka pbgun_bombside (domyślnie 0) - czy BS'y mają wybuchać pbgun_respkill (domyślnie 0) - czy możliwość RespKillowania ma być włączona pbgun_sound (domyślnie 1) - czy strzał i uderzenie mają wydawać dźwięki amx_pbmod (domyślnie 1) - czy mod ma być włączony amx_pbmodel (domyślnie 0) - czy gracze mają widzieć inny model gracza amx_pbmoney (domyślnie 1) - czy pieniądze na serwerze mają być wyłączone amx_pbstrip (domyślnie 1) - czy bronie mają być zabierane na początku każdej rundy amx_getnade (domyślnie 2) - jak często gracz dostaje HE 1 = co rundę, 2 = jeśli zabił kogoś w poprzedniej rundzie amx_pbdm (domyślnie 0) - jeśli aktywne, gracze będą się odradzać po śmierci amx_pbnade (domyślnie 1) - czy granaty mają być aktywne pbnade_radius (domyślnie 150) - odległość (w unitach) w jakiej gracz musi się znajdować od granatu, aby ten go zabił
Napisane przez GwynBleidD
w 15.03.2015 15:11
Napisane przez Epal
w 14.03.2015 19:18
Napisane przez
opowiadacie kit
w 09.03.2015 01:13
nadpisz plik ..htaccess