Skocz do zawartości

Destroyer

Bywalec
  • Postów

    610
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    1

Odpowiedzi opublikowane przez Destroyer

  1. Nick: Destroyer
    Powód: Szkolenie na kwalifikowanego pracownika ochrony(na stare przepisy licencja), kilka spraw, inne szkolenia/kursy
    Czas nieobecności: Na razie 3 dni (od 31 maja wieczorem do 3 czerwca) , później chwila przerwy i znów maratonik. 

    Postaram się jakoś chociaż na forum pojawić ale w grze nie dam rady. W dni wolne będę grał normalnie i itp.

    Dokładniejszą rozpiskę z zajęciami kiedy i jak długo wrzucę później lub na pw rewox lub jakiś h@ dostanie.
    Coś od siebie: Jak mus to mus.. jechać muszę bo inaczej zostanę obciążony kosztami całych kursów :D

  2. Nazwa pluginu: Sprawdzanie Interpu
    Serwer na którym plugin może być wykorzystany: dowolny steam serwer
    Krótki opis pluginu: Plugin sprawdza co x sekund (regulowane taskiem) poprawność interpu w przypadku gdy ktos ma zły (0.1) to dostaje kicka, na zmiane jest 10s
    Instalacja: standardowa
    Link do pobrania paczki *.rar*:
    Autor pluginu/źródło: Destroyer
     
     
     

    #include <amxmodx>
    
    #define TEST_TASK       991
    
    new countDown[33];
    new goodInterp[33];
    
    public plugin_init()
    {
        register_plugin("Interp", "0.1", "Destroyer")     
    }
    
    public interp(id,const cvar[],const value[])
    {
        if (str_to_float(value) != 0.01) {                               // 0.01 interp
            if(!task_exists(id)){ set_task(1.0,"ZmienInterp",id); }
            goodInterp[id] = false;
            } else {
            goodInterp[id] = true;
            if(task_exists(id)) { remove_task(id); }
        }
        
    }
    
    public client_putinserver(id) { 
        query_client_cvar(id,"ex_interp","interp"); 
        countDown[id] = 10;                                            // Czas za ile ma wykopac
        set_task(1.0,"RunTest",id+TEST_TASK); 
    }
    
    public client_disconnect(id) { 
        if(task_exists(id)) { remove_task(id); } 
        if(task_exists(id+TEST_TASK)) { remove_task(id+TEST_TASK); }  
    }
    
    public ZmienInterp(id)
    {
        query_client_cvar(id,"ex_interp","interp");
        
        if(!goodInterp[id]){ set_task(1.0, "ZmienInterp",id); }
        
        if(!goodInterp[id] && countDown[id] < 1) { server_cmd( "kick #%d ^"Nie zmieniles interpu!!^"", get_user_userid( id )); }
        
        set_hudmessage(255, 0, 0, 0.02, 0.36, 0, 6.0, 1.0);
        show_hudmessage(id, "Zmien Interp! (0.01) [%d] ",countDown[id])
        
        countDown[id] --;
    }
    
    
    public RunTest(id)
    {
        id -= TEST_TASK;
        query_client_cvar(id,"ex_interp","interp");
        set_task(5.0,"RunTest",id+TEST_TASK);                        // Co ile Ma sprawdzac interp (5.0)
    }

     
     
    Teraz co od czego aby każdy kto chce mógł sobie zmienić.
     

     countDown[id] = 10;

     
    Funkcja odpowiada za czas po jakim gracz ma zostać wyrzucony.
     
     

    set_task(5.0,"RunTest",id+TEST_TASK);

    Częstotliwość sprawdzania, można ustawić na mniej czego nie zalecam lub więcej.
     
    Dla zielonych w taskach
    5.0 = 5s
    50..0 = 50s
    i itd.

    • Like 4
  3. Hm.. faktycznie nie było jeszcze poradnika dla adminów do CS:GO, fajnie, że się ktoś tym zajął sam chciałbym kiedyś spróbować swoich sił w tej roli [ponoć z smx jest łatwiej niż z amx] na pewno się przyda +like. 

    Od strony adminowania praktycznie niczym się nie różni, ale od strony pisania własnych pluginów to tak(dokumentacja,funkcje i itp. różnią się)

    Ale poradnik przyda się każdemu.

    • Like 1
  4. @edit

    Szeregowy ogólnie mam 3 konta swoje (g2, g3 i le) 1 mam na sell tak poza tematem, a konto chciałem dla czystej zabawy aby posmiać trochę sie na mm :D

     

     

    Dobra przekonaliście mnie :P 

    A konto z tak niską rangą chcę kupic bo chciałem troche posmurfić :D no nic, trudno, będzie trzeba zejśc z poziomu na początku xD

     

    Mozna close ;)

    • Like 1
  5. A co myślicie o pluginie !ws , ( ten co dodaje skiny ) on przyciąga bardzo graczy , i naprawdę jest spoczko . Napewno trochę Bierze pamięci serwera ale coś za coś :P Mnie napewno przyciągnie owy plugin :)

    A później będzie marudzenie, że "lagi na serwerze" bo ludziom ze słabszym łączem i słabymi komputerami podskoczy ping.

    • Like 1
  6.  

     

    8. Parę słow o sobie oraz dlaczego chciałbyś zostać administratorem:Siebie nie ma co opisywac bo kazdego to gowno interesuje  a chce byc adminem bo narazie rzadko sa admini nie ma jeszcze wgranego pluginu wiec ludzie afcza wiec przydalo by sie ich kickowac a inni lamia regulamin a co do h na serwie stoi nie dlugo a ja nie jestem takim no-lifem ze je tak szybko nabijac

     

    Zadaj sobie pytanie: Czy chcę być adminem i odpowiedz sobie na nie.. 

    Nikt nie każe ci opisywać całego twojego życia począwszy od narodzin a kończąc na teraźniejszości, masz opisać w skrócie swoją osobę tzn. czy spinasz, czy banujesz pierwszego lepszego co ci założy hs czy ze skana ubije. 

    Tu masz napisać jak się zachowujesz, czy można ci zaufać czy też nie. 

     

    Tyle ode mnie, jak na razie na nie jestem. Opiszesz siebie to wtedy możliwe zmienię na tak.

    • Like 2
  7. Przykładowy plugin , który działa na danym serwerze.

    IP jest przykładowe, nie reklamuje innego serwera 



    #include <amxmodx>
     
     
     
    new const test[] = "1.2.11.211:27176";
     
     
     
    public plugin_init() {
     
       register_plugin("blokada ip", "1.0", "Destroyer");
     
     
     
       new g_IP[33];
     
       get_user_ip(0, g_IP, charsmax(g_IP));
     
     
     
       if(equal(g_IP, test)){
     
       server_print("IP prawidlowe");
                                        
       } 
     
       else{
     
            server_print("IP nieprawidlowe");
                    
     
            set_fail_state("Plugin nie dziala na tym serwerze.");
                             
       }
     
    }


     

    A teraz objaśnienie co od czego

     



    new const test[] = "1.2.11.211:27176";


    Adres ip oraz port serwera na , którym ma działac plugin

     



    if(equal(g_IP, test)){
     
       server_print("IP prawidlowe");


    Test na poprawność adresu ip, jeżeli ip się zgadza z tym zarejestrowanym to pokaże nam komunikat że ip jest poprawne.

     

     



     server_print("IP nieprawidlowe");
                    
     
            set_fail_state("Plugin nie dziala na tym serwerze.");
                             
       }
     
    }


    W przypadku gdy plugin jest na innym serwerze niż na tym do którego został przypisany adres ip wraz portem w pluginie wyskoczy komunikat z testu, że plugin nie działa na tym serwerze,dodatkowo plugin blokuje się.

     

    Plugin można rozłożyć np. do cod moda,diablo  i itp.

     

    Opisana metoda jest przykładowa i najłatwiejsza do zrobienia, osobiście stosuję metodę zabezpieczania swoich większych pluginów poprzez napisanie stocka osobnego.

    • Like 5
  8. Nazwa pluginu: Pokazywanie Obrażeń
    Serwer na którym plugin może być wykorzystany: Dproto, steam
    Krótki opis pluginu: Plugin podobny do bulletdamage lecz mój jest bardziej optymalny i nie obciąża servera jak bullet
    Instalacja: Standardowa
    Link do pobrania paczki *.rar*: (daje przekompilowany plik od razu) Pokaz_obrazenia
    Autor pluginu/źródło: Destroyer

    Wymagane Moduły: hamsandwich

     

    Kod pluginu niżej

     

     

    #include <amxmodx>
    #include <hamsandwich>
    
    new gObrazenia[33][33]
    new hud, hud2, maxpl
    
    public plugin_init() {
        register_plugin("Pokaz Obrazenia", "1.0", "Destroyer")
    
        RegisterHam(Ham_CS_RoundRespawn, "player", "Odrodzenie", 1)
        RegisterHam(Ham_TakeDamage, "player", "ZadajObrazenia", 1)
    
        hud = CreateHudSyncObj()
        hud2 = CreateHudSyncObj()
        maxpl = get_maxplayers()
    }
    
    public Odrodzenie(id) {
        for(new i = 1; i <= maxpl; i++) {
            if(i == id) arrayset(gObrazenia[id], 0, sizeof gObrazenia[])
            else gObrazenia[i][id] = 0
        }
    }
    
    public ZadajObrazenia(id, idinflictor, atakujacy, Float:obrazenia, iObrazeniaBits) {
        if(!is_user_connected(id) || !is_user_connected(atakujacy)) return 1
    
        new iObrazenia = floatround(obrazenia)
    
        gObrazenia[atakujacy][id] += iObrazenia
    
        set_hudmessage(255, 0, 0, 0.45, -1.0, .holdtime = 2.0)
        ShowSyncHudMsg(id, hud, "%d/%d", iObrazenia, gObrazenia[atakujacy][id])
    
        set_hudmessage(0, 100, 255, -1.0, 0.55, .holdtime = 2.0)
        ShowSyncHudMsg(atakujacy, hud2, "%d/%d", iObrazenia, gObrazenia[atakujacy][id])
        return 2
    }  

     

     

    • Like 6
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z tej strony zgadzasz się na Polityka prywatności