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
CoD Nowy

Opis i pytanie po wyborze klasy

cod nowy

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

#1 Mlodzik

    Początkujący

  • Użytkownik

Reputacja: 6
Nowy

  • Postów:12
  • Lokalizacja:Pomorskie
Offline

Napisano 20.04.2013 10:14

Witam!

Wymyśliłem jak zrobić, aby po wybraniu klasy pokazywało nam opis klasy i pytanie czy chcemy ją wybrać(dla pewności).

Postanowiłem że się z Wami tym podzielę.

A więc po kolei:

1. Tworzymy nową zmienną pomiędzy:

new bool:freezetime = true;

a:

public plugin_init() 

o nazwie wybrana_klasa, czyli będzie to wyglądać tak:

 

new bool:freezetime = true;

new wybrana_klasa[33]

public plugin_init() 

2.Odszukujemy funkcję

public WybierzKlase_Handle(id, menu, item)

3.Zamieniamy:

 

if(item == klasa_gracza[id] && !nowa_klasa_gracza[id])
      return PLUGIN_CONTINUE;

na:

if(item == klasa_gracza[id])
      return PLUGIN_CONTINUE;

4. Usuwamy:

nowa_klasa_gracza[id] = item;

i w miejsce tego dodajemy:

wybrana_klasa[id] = item

 

 

 

 

5. Tworzymy nowe menu, które w tytule będzie miało opis wybranej klasy i pytanie czy chcemy ją wybrać, czyli tuż pod poprzednim dopisujemy:

 

new text[513] 

new bronie[320];
for(new i=1, n=1; i <= 32; i++)
{
      if((1<<i) & bronie_klasy[item])
      {
            new weaponname[22];
            get_weaponname(i, weaponname, 21);
            replace_all(weaponname, 21, "weapon_", " ");
            if(n > 1) 
            add(bronie, charsmax(bronie), ",");
            add(bronie, charsmax(bronie), weaponname);
            n++;
      }
}
format(text, 512, "\rNazwa: \w%s ^n\rOpis: \w%s^n\rBronie: \w%s^n\rInteligencja: \w%i^n\rZdrowie: \w%i^n\rWytrzymalosc: \w%i^n\rKondycja: \w%i^n^n\yCzy chcesz wybrac te klase?",nazwy_klas[item], opisy_klas[item], bronie, inteligencja_klas[item], zdrowie_klas[item], wytrzymalosc_klas[item], kondycja_klas[item]) 

new nmenu = menu_create(text, "WybierzKlase_Handler")
menu_additem(nmenu, "Tak")
menu_additem(nmenu, "Nie")
menu_display(id, nmenu)

Czyli ostatecznie funkcja WybierzKlase_Handle będzie wyglądała tak:

 

public WybierzKlase_Handle(id, menu, item)
Spoiler

6. Tuż pod funkcją WybierzKlase_Handle tworzymy nową WybierzKlase_Handler, w ten sposób:

public  WybierzKlase_Handler(id, menu, item)

7. Do tej nowej funkcji wrzucamy:

 

client_cmd(id, "spk QTM_CodMod/select"); //aby byl dzwiek przy wybraniu tak/nie


if(wybrana_klasa[id] == klasa_gracza[id] && !nowa_klasa_gracza[id]) //aby nie wybierało nam nowej klasy jesli ta nowa to ta sama co juz mamy
return PLUGIN_CONTINUE;

8.Sprawdzamy co wybrał gracz czyli:

 

switch(item)
{
      case 0: //jesli wybral TAK...
      {
            nowa_klasa_gracza[id] = wybrana_klasa[id]; //to ustawiamy mu nowa klase taka co wybral

            if(klasa_gracza[id]) //jesli juz ma klase to zmieni mu sie w next rundzie
                  client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
            else //jesli nie ma...
            {
                  UstawNowaKlase(id);
                  DajBronie(id);
                  ZastosujAtrybuty(id); //automatycznie ustawi mu sie
             }
      }
      case 1: //Jesli wybral NIE...
      {
            WybierzKlase(id) //To wraca do menu wyboru klasy
      }
}

9. Na koniec do funkcji dopisujemy jeszcze tylko:

return PLUGIN_CONTINUE

Czyli funkcja WybierzKlase_Handler, będzie wyglądać tak:

Spoiler

A całość:

Spoiler

 

Mam nadzieję, że się przyda, napisałem to bo mówiono mi że jeszcze nikt poprawnie tego nie zrobił, więc chyba jestem pierwszy :D Działać na pewno działa, bo testowałem już to u siebie.


  • +
  • -
  • 4

#2 Miły

    Banned

  • Zbanowany

Reputacja: 4
Nowy

  • Postów:82
  • Lokalizacja:Heaven
Offline

Napisano 29.04.2013 21:29

Dla początkujących od podpunktu 5. może być już problem... a dał byś radę zrobić gotowca do nowej wersji - http://amxx.pl/topic...-mw-mod-update/

 


Darmowe Filmy Online: http://zalukaj.tv/polecony,1974765/ Warto za lukać, duży wybór ^D^ (Nie wymaga kupna Premium, by oglądać Filmy)

 


#3 SzalonyKrejzol

    Zaawansowany

  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:83
  • Lokalizacja:Nie Wiem Co To
Offline

Napisano 17.05.2013 00:54

jakis ss?
  • +
  • -
  • 0

#4 Hajmus

    Wszechwidzący

  • Użytkownik

Reputacja: 60
Pomocny

  • Postów:260
  • Imię:Wojtek
  • Lokalizacja:Kraków
Offline

Napisano 21.05.2013 10:20

Sprawdziłem, i obcina menu w połowie opisu klas lub w połowie statystyk.


  • +
  • -
  • 0

#5 SAL

    Zaawansowany

  • Użytkownik

Reputacja: 8
Nowy

  • Postów:107
  • Lokalizacja:Plock
Offline

Napisano 21.05.2013 17:44

u mnie wszystko smiga ladnie plusik leci ;)


  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: cod nowy

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

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