W dzisiejszym poradniku opiszę Wam jak zrobić menu z podziałem na frakcje. Dobrym przykładem tego jest menu potwory - ludzie, o które padało tyle pytań na amxx.pl! Więc zaczynajmy!
Na początek rejestujemy menu w plugin_init(). W tym celu szukamy:
register_menucmd(register_menuid("Nowe Itemy"), 1023, "nowe_itemy")
I pod tym dodajemy:
register_menucmd(register_menuid("Klasy"), 1023, "PressedKlasy")
register_menucmd(register_menuid("Lok"), 1023, "PokazMeni")
Następnie szukamy public'a select_class(id,lx[]) i select_class_menu(id, key) oraz następnie zamieniamy go na ten kodzik poniżej:
public select_class(id,lx[])
{
new text4[512]
format(text4, 511,"\yWybierz Rodzaj Klas: ^n\r1. \wBohaterowie^n\r2. \wPotwory")
new keysczwarta
keysczwarta = (1<<0)|(1<<1)
show_menu(id, keysczwarta,text4, -1, "Wybierz Klase")
}
public select_class_menu(id, key)
{
new lx[17] // <-- w nawiasie wpisz liczbę swoich klas + 1(none)
g_haskit[id] = 0
switch(key)
{
case 0:
{
PokazKlasy(id,lx)
}
case 1:
{
ShowKlasy(id,lx)
}
}
LoadXP(id, player_class[id])
CurWeapon(id)
give_knife(id)
return PLUGIN_HANDLED
}
Następnie pod tym dodajemy publiki, które odpowiadają za te dwie strony.
W tym celu pod kodem dodanym wyżej wklejamy:
public PokazKlasy(id,lx[])
{
new flags[17]
get_cvar_string("diablo_classes",flags,16) //<--- tu, gdzie jest 16 wpisz liczbę swoich klas
new text3[512]
asked_klass[id]=0
for(new i=0;i<8;i++) //Tego masz nigdy nie zmieniać!!!!
{
format(text3, 512,"\yBohaterowie: ^n\w1. \yMag^t\wLevel: \r%i^n\w2. \yMnich^t\wLevel: \r%i^n\w3. \yPaladyn^t\wLevel: \r%i^n\w4. \yZabojca^t\wLevel: \r%i^n\w5. \yNekromanta^t\wLevel: \r%i^n\w6. \yBarbarzynca^t\wLevel: \r%i^n\w7. \yNinja^t\wLevel: \r%i^n\w8. \yLowca^t\wLevel: \r%i^n^n\r9. \wWstecz",player_class_lvl[id][1],player_class_lvl[id][2],player_class_lvl[id][3],player_class_lvl[id][4],player_class_lvl[id][5],player_class_lvl[id][6],player_class_lvl[id][7],player_class_lvl[id][8])
}
new keyspiata
keyspiata = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)
show_menu(id, keyspiata, text3, -1, "Lok")
}
public PokazMeni(id, key)
{
/* Menu:
* Wybierz klase:
* 1:Mag
* 2:Mnich
* 3:Paladyn
* 4:Zabojca
* 5:Nekromanta
* 6:Barbarzynca
* 7:Ninja
* 8:Lowca
* 9:Wstecz
*/
new lx[17] // <-- tutaj wpisz liczbę swoich klas + 1(none)
g_haskit[id] = 0
switch(key)
{
case 0:
{
player_class[id] = Mag
LoadXP(id, player_class[id])
}
case 1:
{
player_class[id] = Mnich
LoadXP(id, player_class[id])
}
case 2:
{
player_class[id] = Paladyn
LoadXP(id, player_class[id])
}
case 3:
{
player_class[id] = Zabojca
LoadXP(id, player_class[id])
}
case 4:
{
player_class[id] = Nekromanta
g_haskit[id] = 1
LoadXP(id, player_class[id])
}
case 5:
{
player_class[id] = Barbarzynca
LoadXP(id, player_class[id])
}
case 6:
{
player_class[id] = Ninja
LoadXP(id, player_class[id])
}
case 7:
{
player_class[id] = Hunter
g_GrenadeTrap[id] = 1
LoadXP(id, player_class[id])
}
case 8:
{
select_class(id,lx)
}
}
CurWeapon(id)
give_knife(id)
return PLUGIN_HANDLED
}
public ShowKlasy(id,lx[]) {
new text2[512]
asked_klass[id]=0
format(text2, 511,"\yPotwory: ^n\w1. \yklasa1^t\wLevel: \r%i^n\w2. \yklasa2^t\wLevel: \r%i^n\w3. \yklasa3^t\wLevel: \r%i^n\w4. \yklasa4^t\wLevel: \r%i^n\w5. \yklasa5^t\wLevel: \r%i^n\w6. \yklasa6^t\wLevel: \r%i^n\w7. \yklasa7^t\wLevel: \r%i^n\w8. \yklasa8^t\wLevel: \r%i^n^n\r9. \wWstecz",player_class_lvl[id][9],player_class_lvl[id][10],player_class_lvl[id][11],player_class_lvl[id][12],player_class_lvl[id][13],player_class_lvl[id][14],player_class_lvl[id][15],player_class_lvl[id][16])
new szosta
szosta = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)
show_menu(id, szosta,text2, -1, "Klasy")
}
public PressedKlasy(id, key) {
/* Menu:
* Wybierz klase:
* 1:klasa1
* 2:klasa2
* 3:klasa3
* 4:klasa4
* 5:klasa5
* 6:klasa6
* 7:klasa7
* 8:klasa8
* 9:Wstecz
*/
new lx[17] // <-- tutaj wpisz liczbę swoich klas + 1(none)
g_haskit[id] = 0
switch (key) {
case 0:
{
///Tu daj kod do klasy!
}
case 1:
{
///Tu daj kod do klasy!
}
case 2:
{
///Tu daj kod do klasy!
}
case 3:
{
///Tu daj kod do klasy!
}
case 4:
{
///Tu daj kod do klasy!
}
case 5:
{
///Tu daj kod do klasy!
}
case 6:
{
///Tu daj kod do klasy!
}
case 7:
{
///Tu daj kod do klasy!
}
case 8:
{
select_class(id,lx)
}
}
CurWeapon(id)
give_knife(id)
return PLUGIN_HANDLED
}
Wszelkie problemy i pytania związane z tym pytaniem proszę zamieszcząć tutaj.
To mój pierwszy poradnik, więc proszę nie być zbytnio surowym.
Z podrowieniami, MaDaFaKa
Użytkownik MaDaFaKa edytował ten post 03.10.2010 14:10