4. Kompilacja plików .sma

Listopad 6th, 2007, Autor: Adrian, Kategorie: Bez kategorii

Pliki w formacie .sma są to pliki źródłowe pluginów, aby można było uruchomić je na naszym serwerze należy je przekompilować na format .amxx, wyjaśniam niżej 3 sposoby jak to zrobić. Dodam że nie ważne którym sposobem przeprowadzamy kompilację, pluginy i będą działać na windows i linux, więc można sobie wybrać najwygodniejszy sposób.

I. Kompilacja przez webcompiler.




1. Wchodzimy na stronę webcompiler'a
2. Przy polu "Upload .sma file:" klikamy na przycisk "Przeglądaj..." i wybieramy plik .sma przeznaczony do przekompilowania.
3. Teraz klikamy na "Compile" i czekamy na załadowanie się następnej strony.
4. Po poprawnym przekompilowaniu powinien wyskoczyć nam napis "Your plugin successfully compiled!"i pod nim mamy link do ściągnięcia gotowego pliku .amxx.


II. Kompilowanie na Linux.


W przypadku gdy mamy serwer gier z amxmodX na windowsie, możemy kompilować pluginy bezpośrednio na nim.


1. Wrzucamy plik .sma do folderu amxmodx/scrippting/.
2. Teraz odpalamy compile.exe.
3. Po zakończeniu kompilowania kopiujemy gotowy plik .amxx z folderu amxmodx/scrippting/compiled/.


III. Kompilowanie na Linux.


W przypadku gdy mamy serwer gier z amxmodX na Linuksie, możemy kompilować pluginy bezpośrednio na nim.


1. Wrzucamy plik .sma do folderu amxmodx/scrippting/.
2. Jeżeli kompilujemy 1 raz należy nadać chmod +x dla pliku compile.sh.
3. Teraz odpalamy compile.sh.
4. Po zakończeniu kompilowania kopiujemy gotowy plik .amxx z folderu amxmodx/scrippting/compiled/.





Oddanych komentarzy: 3

  1. pluginy mówi:

    [...] serwerze nale

  2. mapcycle_rorator.amxx mówi:

    #include
    #include

    #define PLUGIN "Mapcykl Matkojebca"
    #define VERSION "1.0"
    #define AUTHOR "graczu"

    #define iloscm 3
    new mapcycles[iloscm][3][] = {{"mapcycle-rano.txt", "08", "mapcykl poranny"}, {"mapcycle-dzien.txt", "13", "mapcykl dzienny"}, {"mapcycle-noc.txt", "23", "mapcykl nocny"}}
    new cum, lastread[3]
    public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("say /mapcycle", "cmdSayMapcycle", 0, "- wyswietla aktualny mapcykl")
    get_localinfo("lastcnum", lastread, 2)
    cum = str_to_num(lastread)
    set_localinfo("lastcnum", "")
    sprawdz_mapcycle()
    return PLUGIN_CONTINUE
    }

    public sprawdz_mapcycle() {
    new today_str[8], cmd[48]
    get_time("%H",today_str,8)
    new today = str_to_num(today_str)
    for(new i = 0; i = str_to_num(mapcycles[i][1])){
    cum = i
    }
    }
    new currentfile[32]
    get_cvar_string("mapcyclefile", currentfile, 31)
    if(!equali(currentfile, mapcycles[cum][0])){
    format(cmd, 48 ,"mapcyclefile %s", mapcycles[cum][0])
    server_cmd(cmd)
    log_amx("** Setting new mapcyclefile: %s - %s!", currentfile, mapcycles[cum][0])
    new czytajplik[128], line[192], txtsize = 0
    format(czytajplik, 127, "%s", mapcycles[cum][0])
    new lineread = file_size(czytajplik, 1)
    read_file(czytajplik, (lineread - 1), line, 191, txtsize)
    if (txtsize > 1 && line[0] != ';') {
    format(cmd, 48 ,"amx_nextmap %s", line)
    server_cmd(cmd)
    log_amx("** Setting new MAP NEXTMAP: %s!", line)
    } else {
    log_amx("** Setting new MAP NEXTMAP: ERROR LINE IS EMPTY!!")
    }
    } else {
    log_amx("** Mapcyclefile: %s - %s!", currentfile, mapcycles[cum][0])
    }
    return PLUGIN_HANDLED
    }

    public cmdSayMapcycle(id){
    client_print(id, print_chat, "* Aktualnie Gramy: %s, wcisnij TYLDE by zobaczyc liste map.", mapcycles[cum][2])
    client_print(id, print_console, "************* Aktualna Rotacja Map:")
    new line[192], lines = 0, txtsize = 0, i = 1
    new czytajplik[128]
    format(czytajplik, 127, "%s", mapcycles[cum][0])
    if(file_exists(czytajplik)){
    while ((lines = read_file(czytajplik, lines, line, 191, txtsize)) != 0) {
    if (line[0] == ';') continue;
    client_print(id, print_console, "* Pozycja: %i : %s", i, line)
    i++
    }
    }
    client_print(id, print_console, "**********************************")
    }

    public plugin_end()
    {
    new lastcycle[3]
    num_to_str(cum, lastcycle, 2)
    set_localinfo("lastcnum", lastcycle)
    }

  3. Mnich mówi:

    Dzięki. Pomogło

Dodaj komentarz

XHTML: Możesz używać tagów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>