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
 

kulion - zdjęcie

kulion

Rejestracja: 31.03.2009
Aktualnie: Nieaktywny
Poza forum Ostatnio: 04.02.2012 09:37
-----

#145149 Łatwe dodawanie klas + nowe menu

Napisane przez G[o]Q w 18.06.2010 16:29

Opisze jak zrobic menu w nowym stylu oraz jak zrobic zeby dodanie pustej klasy ograniczalo sie do edycji 3 linijek bo widze ze niektorzy sobie nie radza z poradnikiem kyku.

1: Wiec zaczynamy na poczatek menu.
Spoiler


2: Teraz zmiany ulatwiajace nam edycje kodu ogranicza sie to w zasadzie do uzycia funkcji sizeof
a) Szukamy funkcji

create_klass(id)

i w niej zamieniamy
for(new i=1;i<9;i++)
na
for(new i=1;i<sizeof(race_heal);i++)
uzylem race_heal dlatego ze jest to tablica jednowymiarowa i majaca tyle elementow ile mamy klas (nie mialem czasu sprawdzic jak dziala sizeof na wielowymiarowych)

B) to samo robimy z petla w funkcji

LoadAVG()


c) teraz podmieniamy funkcje

select_class_query(id) i select_class_handle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)


na
Spoiler


3. W zasadzie mozemy na tym poprzestac ale chcac jeszcze bardziej ulatwic dodawanie klas mozemy zamienic
new player_class_lvl[33][9]
na
new player_class_lvl[33][33]
oraz
new srv_avg[9] = {1,1,1,1,1,1,1,1,1}
na
new srv_avg[33]

wiem ze to troche nieoptymalne wiec mozna ten etap opuscic jesli jednak chcemy kontynuowac to do plugin_init dodajemy
for(new i=0;i<sizeof(race_heal);i++) srv_avg[i]=1


i to by bylo wszystko trzeba pamietac ze po dodaniu klas potrzebny reset tabeli
zeby dodac klase dodajemy nazwe klasy po przecinku do

new Race[][] = { "None","Mag","Mnich","Paladyn","Zabojca","Nekromanta","Barbarzynca", "Ninja", "Lowca" }//zmienione zakresy tablic na [][]
oraz do
enum { NONE = 0, Mag, Mnich, Paladyn, Zabojca, Nekromanta, Barbarzynca, Ninja, Hunter }// bez ""
i dodajemy hp startowe
new race_heal[] = { 100,95,150,130,100,90,110,170,120 }

EDIT
w zalaczniku daje gotowe sma.

Załączone pliki


  • +
  • -
  • 19