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
 

sebuli - zdjęcie

sebuli

Rejestracja: 27.08.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 05.05.2016 16:31
-----

#513592 Optymalizacja - parę pytań.

Napisane przez Fili:P w 10.02.2013 20:35

5. Co jest bardziej optymalne, tworzenie dwóch zmiennych np. new gracze[33][2] oraz new gracze2[33][2] czy może wzięcie to w jedną zmienna gracze[33][4]. Czy między tym sposobem a tym jest jakaś wielka różnica w wydajności serwera?

Sądze że w ten sposób użyjesz 1 a nie 2 pętli, więc myślę ze to będzie optymalniejsze.

3. Czy są jakieś metody by uniknąć używania warunków prócz switch?

Dlaczego chcesz ich unikać ?
  • +
  • -
  • 1


#513713 Optymalizacja - parę pytań.

Napisane przez radim w 11.02.2013 08:44

7. Jeżeli tworzę 5 zmiennych to czy jest róznica jest zrobie to tak: new zmienna1,zmienna2,zmienna3,zmienna4,zmienna5; niż jak zrobiłbym new zmienna1; new zmienna2; new zmienna3; new zmienna4; new zmienna5; ?

To już czysta estetyka. Żadnej różnicy nie ma oraz żadnego wpływu na działania/obciążanie serwera.
  • +
  • -
  • 1


#367326 [ROZWIĄZANE] TT nie dostaje expa za podlozenie paki

Napisane przez HaDeS From HELL w 19.02.2012 13:33

to był nowy cod mod, ale poprostu zmień to
for (new i=0; i<playerCount; i++)
na to
for(new i=0; i<playerCount; i++)

Mniej więcej usuń spacje po for
  • +
  • -
  • 1


#290268 Pobranie wysokości na jakiej jest ent

Napisane przez G[o]Q w 30.08.2011 23:13

if (is_user_alive(pid)) set_user_health(pid, nowe_zdrowie);

zamien na

new forigin[3],aforigin[3];
entity_get_vector(pid, EV_VEC_origin,forigin);
entity_get_vector(ent, EV_VEC_origin,aforigin);
if (is_user_alive(pid) && forigin[2]==aforigin[2])
      	set_user_health(pid, nowe_zdrowie);

  • +
  • -
  • 1


#290290 Pobranie wysokości na jakiej jest ent

Napisane przez R3X w 31.08.2011 00:57

już samo porównywanie floatów operatorem == daje mi powód do wątpliwości czy to działa

Poza tym leżenie w tym samym miejscu apteczki i gracza nie objawia się równymi współrzędnymi Z, a to wynika z poziomu wskazywanego przez Origin (w obu przypadkach środek bytu)
Dołączona grafika

Należy uwzględnić fakt czy gracz stoi czy kuca, przesunąć odpowiednio origin[2] apteczki i wtedy porównać z małym marginesem błędu
if(floatabs(z2 - z1) < 0.1){

  • +
  • -
  • 2


#184814 Różnica między != a ==

Napisane przez R3X w 31.10.2010 21:31

a != b
to znaczy
!(a == b)
operator ! zmienia logiczną wartość wyrażenia, tzn 0->1, pozostałe wartości ->0

Jest to dość intuicyjne, np.
if(!is_user_alive(id))
jest prawdziwe gdy gracz nie jest żywy

Polecam jakąś książkę o podstawach logiki :) nie podam żadnego tytułu, bo wszędzie masz to samo opisane.
  • +
  • -
  • 1


#184799 Różnica między != a ==

Napisane przez sebul w 31.10.2010 20:54

== porównuje i jeśli coś jest równe temu za tym znakiem to wtedy wykona, a != wykonuje jeśli coś jest inne od tego co jest za tym znakiem.
  • +
  • -
  • 1


#184815 Różnica między != a ==

Napisane przez DarkGL w 31.10.2010 21:32

 if(!(get_user_button(id) & IN_ALT1))
ehh hard i jego teorie
== - coś jest równe czemuś jeżeli ten warunek jest spełniony kod w ifie się wykona
!= - jest różne jeżeli jest inny np.
new a =3;
if(a != 3){
//kod
}
kod w ifie się nie wykona bo a jest równe 3 a chcesz żeby było inne
  • +
  • -
  • 1


#184817 Różnica między != a ==

Napisane przez Portek w 31.10.2010 21:37

x != y
X nie równa się y - negacja.
np.
new name[65];
get_user_name ( id, name, 64 )
if(name != 'Portek'){
client_print(id, print_center, "Twoj nick jest inny niz: Portek");
} else {
client_print(id, print_center, "Jestes Portek");
}
Lub też negacja:
if(!is_user_connected(id)){
client_print(0, print_center, "Uzytkownik nie jest podlaczony do serwera <img src='https://amxx.pl/public/style_emoticons/default/sad.gif' class='bbc_emoticon' alt=':(' />");
} else {
client_print(id, print_center, "Brawo, podlaczyles sie do serwera!");
}

----------

x == y
X jest równe dokładnie y
new name[65];
get_user_name ( id, name, 64 )
if(name == 'Portek'){
client_print(id, print_center, "Jestes Portek");
} else {
client_print(id, print_center, "Twoj nick jest inny niz: Portek");
}


http://phpkurs.pl/operatory/
  • +
  • -
  • 1


#164632 Granaty po 10 sekundach.

Napisane przez R3X w 27.08.2010 17:59

To by było coś takiego

dodałem cvar, żeby łatwo się zmieniało czas
amx_he_use_delay 10

Załączone pliki


  • +
  • -
  • 6