←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Pytania dotyczące pisania Pluginów

  • +
  • -
JestemNowy - zdjęcie JestemNowy 27.04.2013

1 prośba : Witam w tym temacie proszę aby ktoś mi dokładnie wyjaśnił jak zrobić takie info

na say'u np : Nasza stronka serwera to "blebleble". Tak aby sie to wyswietlało co chwilkę

 

2 prośba : chciał bym aby ktoś mi wyjaśnił jak zrobić komende aby wyswietlało się MOTD czy jak to sie nazywa . np komendą /gracz wyświetlało się okno i przykładowo pisało jakie komendy może mieć .

 

 

ps : jestem nowy :D

 

 

Odpowiedz

  • +
  • -
GwynBleidD - zdjęcie GwynBleidD 27.04.2013

Są do tego już gotowe pluginy, pytasz trochę nie w tym dziale o to. Tutaj się rozmawia o tworzeniu pluginów, nie o poszukiwaniu gotowych, bo raczej to masz na myśli. Jeśli jednak chcesz nauczyć się pisać własne pluginy (do tego raczej musisz mieć już opanowane do perfekcji wyszukiwanie i wstawianie na serwer gotowych) to dział jednak dobry. Poszukaj sobie informacji najpierw o ogólnym pisaniu pluginów, wypisywaniu informacji w chacie, o taskach, wyświetlaniu MOTD i o tworzeniu własnych komend say. Wtedy Ci się wszystko rozjaśni.

Odpowiedz

  • +
  • -
JestemNowy - zdjęcie JestemNowy 27.04.2013

ale jednak chodzi mi oto aby samemu stworzyc plugin tylko chciał bym aby mi ktoś to objaśnił .

Krok po kroczku : )

Odpowiedz

Gość_21977_* 30.04.2013

Na początek, spróbuj stworzyć swój pierwszy plugin.
Na forum znajdziesz parę przydatnych poradników dla początkujących.
Przedstawiam Ci kilka z nich, każdy pisany w trochę innym stylu, któryś powinien Ci pospasować:

Chcąc rozpocząć swoją przygodę z AMXX, przygotuj swoje stanowisko pracy.
Polecam Ci Notepad++ (inna wersja od AM), AMXX Studio lub Pawn Studio.

Mając już przygotowane stanowisko pracy, poznaj jeszcze:

Chcąc poznać dokładnie działanie danej funkcji, wraz z przykładem i opisem,
zapoznaj się z dokumentacją. Dokumentacja dla programisty, to jak Koran dla islamu.

Dokładniejsze poradniki znajdziesz w dziale Scripting AMXX :: Tutoriale.
Właśnie w tym dziale znajdziesz też poradnik, który ostatecznie pomoże Ci w utworzeniu cyklicznej reklamy:

Gdy już uda Ci się napisać Twój pierwszy plugin, załącz nam jego kod źródłowy, a otrzymasz poradę, jak kod udoskonalić, by w przyszłości pisać wydajniejsze pluginy.
Jeśli pisanie sprawi Ci problemy, bądź będziesz miał dalsze pytania, z pewnością uzyskasz tutaj pomoc. Na razie jednak zachęcam do lektury ww. poradników i rozpoczęcia pracy.

Odpowiedz

  • +
  • -
Andrzejek - zdjęcie Andrzejek 10.05.2013

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <colorchat>    //dla "ColorChat(0, NORMAL, "wiadomosc")" jest wymagana biblioteka colorchat

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Andrzejek"


public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    set_task(15.0, "PokazREKLAME", .flags="b"); //15.0 oznacza że reklama będzie się pojawiać co 15 sek
    register_clcmd("say /gracz","komendy");    //komenda która wyświetla motd
}

public PokazREKLAME()    //public odpowiadajacy za wyświetlenie reklamy
{
    new losowe = random(3)//losowa liczba z 3
    switch(losowe)
    {
        case 0: ColorChat(0, NORMAL, "Pierwsza reklama")        //pierwsza losowa reklama
        case 1: ColorChat(0, NORMAL, "Druga reklama")        //druga losowa reklama
        case 2: ColorChat(0, NORMAL, "Trzecia reklama")        //trzecia losowa reklama
    }
    return PLUGIN_HANDLED    //zakończenie publika
}

public komendy(id)
{
    show_motd(id,"komendy.txt","Komendy");    //komendy.txt musisz dodać do folderu cstrike
}

 

Poprawione

 

PS. CZY amxmisc gdy jest nie potrzebne wpływa na działanie pluginu? lub ewentualnie przeciąża serwer


(10.05.2013 13:09):
  • amxmisc zbędne.
  • case 2 nigdy się nie wykona, także zbędne.
Odpowiedz

  • +
  • -
K!113r - zdjęcie K!113r 10.05.2013

Szczęśliwym trafem może wyświetlać się tylko jedna reklama, gdy nie ma ich wiele można wyświetlać je po kolei lub sprawdzać czy wylosowana reklama nie była ostatnio wyświetlana (do tego polecam static, ewentualnie zmienną globalną).

Odpowiedz