Witam. Czy jest jakiś poradnik jak stworzyć system klas i aby można daną klasę wybrać z menu (raz na rundę) ? Szukałem w google jedyne poradniki to jak dodać klasy do diablo moda i cod moda. A potrzebuję taki system do swojego moda.
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.
|
Guest Message by DevFuse
System Klas
Temat rozp. MA1L0, 19.02.2012 18:19
3 odpowiedzi w tym temacie
#1
Napisano 19.02.2012 18:19
#2
Napisano 19.02.2012 19:32
Aby można było wywołać menu tylko raz na rundę wystarczy stworzyć zmienną typu bool.
Następnie przy menu ustawić warunek:
Teraz wystarczy tylko, aby na początku każdej rundy zmieniać wartość zmiennej dla każdego gracza na false.
Następnie przy menu ustawić warunek:
if(uzyl[33]==true)
client_print(id, print_chat, "Wybrales juz w tej rundzie klase");
else
//kod menu klasy
Teraz wystarczy tylko, aby na początku każdej rundy zmieniać wartość zmiennej dla każdego gracza na false.
#3
Napisano 20.02.2012 16:26
Dzięki leci +, ale chciałbym jeszcze aby z takiego menu można by wybrać klasę do której mogę przypisać jakąś moc. Coś jakby klasa była funkcją i aby można było ją zastosować w if-ie. Nie wiem jak to powiedzieć...
#4
Napisano 22.02.2012 21:58
no chyba nie
jak chcesz dodac menu z klasami to robisz sobie:
potem nizej czesc ktora jest odpowiedzialna za pobranie wcisnietego numeru i dodanie mocy
no i jeszcze w evencie respawn musisz zrobic zeby za kazdym odrodzeniem dodawalo te moce, ale to juz pomysl sam
tylkoif(uzyl[33]==true)
if(uzyl[id]==true)
jak chcesz dodac menu z klasami to robisz sobie:
public ZmianaKlasy(id)
{
new menu = menu_create("Wybierz Klase" , "Wybor_Klasy");
menu_additem(menu ,"NazwaKlasy1", "1" , 0);
menu_additem(menu ,"NazwaKlasy2", "2" , 0);
menu_additem(menu ,"NazwaKlasy3", "3" , 0);
menu_additem(menu ,"NazwaKlasy4", "4" , 0);
menu_setprop(menu , MPROP_EXIT , MEXIT_ALL);
menu_display(id , menu , 0);
return PLUGIN_CONTINUE;
}
potem nizej czesc ktora jest odpowiedzialna za pobranie wcisnietego numeru i dodanie mocy
public Wybor_Klasy(id, menu, item)
{
if (item == MENU_EXIT)
{
return PLUGIN_HANDLED
}
if(!is_user_alive(id))
{
klasa_aktywna[id] = false // to jest ze jak gracz jest niezywy to moze sobie caly czas zmieniac klasy
}
new data[5], iName[64]
new access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new key = str_to_num(data)
new i=str_to_num(data)
if(klasa_akt[id]) // tutaj jest ze jak gracz ma juz klase to zmieni sie ona dopiero w nastepnej rundzie
{
client_print(id, print_chat, "Klasa zostanie zmieniona w nastepnej rundzie.");
klasa_gracza[id] = i
return PLUGIN_HANDLED
}
switch(key)
{
case 1:{
klasa_gracza[id] = 1
klasa_akt[id] = true // tutaj aktywuje klase zeby nie moc zmienic w tej samej rundzie znow klasy
client_print(id, print_chat, "zostales kims tak."); // info o wybranej klasie
//tutaj dodajesz funkcie klasy....
menu_destroy(menu);
}
case 2:{
klasa_gracza[id] = 2
klasa_akt[id] = true // tutaj aktywuje klase zeby nie moc zmienic w tej samej rundzie znow klasy
client_print(id, print_chat, "zostales kims tak."); // info o wybranej klasie
//tutaj dodajesz funkcie klasy....
menu_destroy(menu)
return PLUGIN_CONTINUE;
}
case 3:{
/...
menu_destroy(menu)
return PLUGIN_CONTINUE;
}
case 4:{
//...
menu_destroy(menu)
return PLUGIN_CONTINUE;
no i jeszcze w evencie respawn musisz zrobic zeby za kazdym odrodzeniem dodawalo te moce, ale to juz pomysl sam
Użytkownik TomekPL edytował ten post 22.02.2012 21:58
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych