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

System Klas


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
3 odpowiedzi w tym temacie

#1 MA1L0

    Życzliwy

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:22
  • Imię:Rado
  • Lokalizacja:Gdańsk
Offline

Napisano 19.02.2012 18:19

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.
  • +
  • -
  • 0

#2 Waleq

    Profesjonalista

  • Użytkownik

Reputacja: 47
Pomocny

  • Postów:184
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Bełchatów
Offline

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:

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.
  • +
  • -
  • 1

#3 MA1L0

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:22
  • Imię:Rado
  • Lokalizacja:Gdańsk
Offline

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ć...
  • +
  • -
  • 0

#4 TomekPL

    Pomocny

  • Użytkownik

Reputacja: 6
Nowy

  • Postów:41
  • GG:
  • Imię:Tomek
  • Lokalizacja:Szczecin
Offline

Napisano 22.02.2012 21:58

no chyba nie

if(uzyl[33]==true)

tylko

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

  • +
  • -
  • 0




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

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