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

komendy say


  • Zamknięty Temat jest zamknięty
6 odpowiedzi w tym temacie

#1 xKillers

    Początkujący

  • Zbanowany

Reputacja: 1
Nowy

  • Postów:10
  • Lokalizacja:Kalisz
Offline

Napisano 04.07.2011 13:28

Cześć
Iż jestem nowy w scriptingu to mam pytanie co jest optymalniejsze

takie coś:

new const g_sCommands[][] = {
        "say /test",
        "say /test1",

        "say_team /test",
        "say_team /test1"
};

public plugin_init()
{       
        for(new i ; i < sizeof g_sCommands ; i ++)
                register_clcmd(g_sCommands[i], "wypiszsay");
}

czy normalne register_clcmd?

I mam pytanie czy ten kod co dalem wyżej to będzie dzialal beż żadnych kolidacji?

#2 diggs

    Wszechwidzący

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:229
  • Lokalizacja:Internet
Offline

Napisano 04.07.2011 15:17

Moim zdaniem takie coś będzie lepsze:
public plugin_init()
{       
        register_clcmd(say /test, "wypiszsay");
        register_clcmd(say /test1, "wypiszsay");
        register_clcmd(say_team /test, "wypiszsay");
        register_clcmd(say_team /test1, "wypiszsay");
}
A dlaczego? A dlatego że nie są tworzone dodatkowe zmienne i stałe oraz nie są wykonywane zbędne instrukcje porównania czy też postinkrementacji. A tak czy siak funkcja register_clcmd zostanie wywołana 4 razy.
  • +
  • -
  • 1

cFun.pl BaseBuilderPro v6.5.8 Tirant edit by diggs
IP: 80.82.16.66:27034
b_350_20_D91408_470002_FFFFFA_000000.png

cFun.pl Only AWP - 1000 FPS [SkinsMod]
IP: 80.72.42.113:27015
b_350_20_F8D241_B69427_0F100D_000000.png


#3 diablix

    emeryt

  • Przyjaciel

Reputacja: 507
Wszechwiedzący

  • Postów:663
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Warszawa
Offline

Napisano 04.07.2011 19:57

Moim zdaniem takie coś będzie lepsze:

public plugin_init()
{       
        register_clcmd(say /test, "wypiszsay");
        register_clcmd(say /test1, "wypiszsay");
        register_clcmd(say_team /test, "wypiszsay");
        register_clcmd(say_team /test1, "wypiszsay");
}
A dlaczego? A dlatego że nie są tworzone dodatkowe zmienne i stałe oraz nie są wykonywane zbędne instrukcje porównania czy też postinkrementacji. A tak czy siak funkcja register_clcmd zostanie wywołana 4 razy.


Optymalnością się nie będzie róznić (to tylko rejestracja komendy), zmiennych brak tylko stałe. Ja zalecam używania wersji z pętlą (przejrzystszy kod)
  • +
  • -
  • 1

#4 diggs

    Wszechwidzący

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:229
  • Lokalizacja:Internet
Offline

Napisano 04.07.2011 19:59

Więc to nie jest zmienna
new i
??

Każda zmienna czy stała zajmuje miejsce w pamięci, w tym przypadku niewiele ale zawsze.

Użytkownik diggs edytował ten post 04.07.2011 19:59

  • +
  • -
  • 0

cFun.pl BaseBuilderPro v6.5.8 Tirant edit by diggs
IP: 80.82.16.66:27034
b_350_20_D91408_470002_FFFFFA_000000.png

cFun.pl Only AWP - 1000 FPS [SkinsMod]
IP: 80.72.42.113:27015
b_350_20_F8D241_B69427_0F100D_000000.png


#5 diablix

    emeryt

  • Przyjaciel

Reputacja: 507
Wszechwiedzący

  • Postów:663
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Warszawa
Offline

Napisano 04.07.2011 20:07

Chodziło mi o stałe w sensie typy komend, ta zmienna nawet statyczna nie jest więc różnicy nie zrobi
  • +
  • -
  • 0

#6 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

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

Napisano 04.07.2011 21:36

wersja z pętlą jeśli uważasz, że komuś przyda się więcej opcji; jeśli tworząc plugin wiesz, że nie będzie ich więcej to zostań przy samym register_clcmd()
  • +
  • -
  • 1

#7 xKillers

    Początkujący

  • Autor tematu
  • Zbanowany

Reputacja: 1
Nowy

  • Postów:10
  • Lokalizacja:Kalisz
Offline

Napisano 05.07.2011 12:44

Dziękuje do zamknięcia.




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

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