Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Rodzaje funkcji w Pawniepod AMXX


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
6 odpowiedzi w tym temacie

#1 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 08.05.2011 21:18

*
Popularny

Rodzaje funkcji w Pawnie
pod AMXX

Funkcja może być:




1. Funkcja wewnętrzna

Funkcja dostępna tylko dla innych funkcji w pluginie

Przeznaczenie:
- podział kodu na podprogramy

Uwagi:
- powinna zostać wywołana, inaczej powoduje ostrzeżenie (ale nieszkodliwe) podczas kompilacji

Przykład

funkcja(parametry, danej, funkcji)
{

}


2. Funkcja stock`owa

Jest to generalnie funkcja wewnętrzna. Różni się od niej tym, że nieużyta nie powoduje ostrzeżeń.

Przeznaczenie:
- tworzenie zestawów funkcji do wielokrotnego użytku (np. w pliku .inc)

stock funkcja(parametry, danej, funkcji)
{

}


3. Funkcja publiczna

Funkcja szeroko dostępna, dla samego pluginu oraz na zewnątrz niego. Oznacza to, że może zostać wywołana przez AMXX lub któryś z jego modułów. Pośrednio także przez inny plugin: callfunc_begin .. callfunc_end albo jako forward.

Przeznaczenie:
- callbacki, czyli funkcje przypisywanie do zdarzeń, jak register_event("EVENT", "FUNKCJA")
- udostępnianie funkcji innym pluginom

Uwagi:
- jako jedyna nie może przyjmować wartości domyślnych dla parametrów
- nie musi zostać jawnie wywołana
- słowo kluczowe public może zostać zastąpione @

Przykład
public funkcja(parametry, danej, funkcji)
{

}
@funkcja(parametry, danej, funkcji)
{

}


4. Funkcja natywna

Jest to funkcja, której ciało nie jest znane w czasie kompilacji, dlatego określona jest wyłącznie jako nagłówek. To odniesienie do funkcji zapisanej gdzieś w module lub innym pluginie. Opisuje składnię dostępnych funkcji do wykonania.

Przeznaczenie:
- biblioteki (pliki .inc)

Uwagi:
- możemy udostępniać własne funkcje natywne: Natywy - AMXX.pl: Support AMX Mod X

Przykład
native register_event(const event[],const function[],const flags[],const cond[]="", ... );


5. Forward

Określona jest wyłącznie jako nagłówek. Jest to zapowiedź funkcji, informuje o jej parametrach. Często opisuje składnię dostępnych funkcji publicznych reagujących na zdarzenia.

Przeznaczenie:
- biblioteki (pliki .inc)

Uwagi:
- możemy udostępniać własne forwardy: Forwardy - AMXX.pl: Support AMX Mod X

Przykład
forward plugin_init();

  • +
  • -
  • 24

#2 GoldeN

    Wszechmogący

  • Zbanowany

Reputacja: 69
Pomocny

  • Postów:676
  • Imię:Kamil
  • Lokalizacja:DG
Offline

Napisano 09.05.2011 01:31

Albo mi się wydaje, albo jak funkcja wewnętrzna nie jest nigdzie użyta to nie są sprawdzane w jej ciele błędy?

Dobry tutorial +.

#3 Zapalka

    Wszechwidzący

  • Użytkownik

Reputacja: 194
Profesjonalista

  • Postów:283
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Janów Lubelski
Offline

Napisano 09.05.2011 05:50

Świetny tutorial, na pewno się przyda :)

+ for you.
  • +
  • -
  • 0
Zapraszam na http://zapalka.net.pl

#4 Optymalny193

    Wszechwidzący

  • Zbanowany

Reputacja: 30
Życzliwy

  • Postów:294
  • Imię:Paweł
  • Lokalizacja:Europa
Offline

Napisano 09.05.2011 05:58

Dobry tutorial. Gratulacje +for ju :D

#5 R3X

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 09.05.2011 09:44

Albo mi się wydaje, albo jak funkcja wewnętrzna nie jest nigdzie użyta to nie są sprawdzane w jej ciele błędy?

masz rację, w taki razie nie jest też kompilowana, już poprawiam
  • +
  • -
  • 1

#6 ViHuRa

    Zaawansowany

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:117
  • GG:
  • Imię:Adam
  • Lokalizacja:Legionowo
Offline

Napisano 09.05.2011 20:26

Bardzo dobra robota. Oby więcej Tutków :blaga:

Użytkownik ViHuRa edytował ten post 09.05.2011 20:26

  • +
  • -
  • 0
Centrum-Gier.com

#7 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 980
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 07.10.2011 16:31

znalazłem coś ciekawego jeśli damy np. dwie takie funkcje
@invisCheckSay(id,level,cid) invisCheck(id,level,cid,true);
@invisCheckConsole(id,level,cid) invisCheck(id,level,cid,false);
to w np. register_clcmd podając nazwy funkcji musimy podać je z znakiem @
register_clcmd("say /niewidka","@invisCheckSay",ADMIN_FLAG,"Make invisible on spect")
register_clcmd("amx_niewidka","@invisCheckConsole",ADMIN_FLAG,"Make invisible on spect")

  • +
  • -
  • 2




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych