Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

menu wyboru broni dla klasy


  • Zamknięty Temat jest zamknięty
15 odpowiedzi w tym temacie

#1 Czaso Umilacz

    Profesjonalista

  • Użytkownik

Reputacja: 33
Życzliwy

  • Postów:152
  • Imię:Olek
  • Lokalizacja:Leszno
Offline

Napisano 22.08.2011 20:35

Witam, chciałem zrobić menu wyboru broni dla klasy, ale mi nie wyszło doszedłem do czegoś takiego:
public MenuSnajper(id)
	{
		new menu = menu_create("Sklepik:", "MenuSnajper_Handle");
		if(klasa_gracza[id]==Snajper){
			menu_additem(menu, "AWP");
			menu_additem(menu, "G3SG1");
			menu_display(id, menu);
		}
		if(klasa_gracza[id]==Marines){
			menu_additem(menu, "M4");
			menu_additem(menu, "AK");
			menu_display(id, menu);
		}
	}
			
public MenuSnajper_Handle(id, menu, item)
{
	client_cmd(id, "spk QTM_CodMod/select");
	menu_display(id, menu);
	switch(item)
	{
		case 0:
		{
			if(klasa_gracza[id]==Snajper)
			{
				give_item(id, "weapon_awp");
				if(bTrudnosc[id]==true){
					Trudnosc(id);
				}
				if(punkty_gracza[id]>0)
					PrzydzielPunkty(id);
			}
			else if(klasa_gracza[id]==Marines)
			{
				give_item(id, "weapon_m4a1");
				if(bTrudnosc[id]==true){
					Trudnosc(id);
				}
				if(punkty_gracza[id]>0)
					PrzydzielPunkty(id);
			}
		}
		case 1:
		{
			if(klasa_gracza[id]==Snajper)
			{
				give_item(id, "weapon_g3sg1");
				if(bTrudnosc[id]==true){
					Trudnosc(id);
				}
				if(punkty_gracza[id]>0)
					PrzydzielPunkty(id);
			}
			else if(klasa_gracza[id]==Marines)
			{
				give_item(id, "weapon_ak47");
				if(bTrudnosc[id]==true){
					Trudnosc(id);
				}
				if(punkty_gracza[id]>0)
					PrzydzielPunkty(id);
			}
		}
	}
	return PLUGIN_CONTINUE;
}

ale w 2 i dalszych spawnie po wyborze broni menu się nie wyłącza jak zrobić by po wyborze broni znikało
  • +
  • -
  • 0

#2 Skull3D

    Wszechmogący

  • Zbanowany

Reputacja: 102
Zaawansowany

  • Postów:651
  • Imię:Andrzej
  • Lokalizacja:AMXX.PL
Offline

Napisano 22.08.2011 20:47

menu_destroy(menu)

To jest niszczenie menu.

Użytkownik Skull3D edytował ten post 22.08.2011 20:54


#3 Nomaf

    Wszechpomocny

  • Użytkownik

Reputacja: 155
Profesjonalista

  • Postów:344
  • GG:
  • Imię:Mateusz
  • Lokalizacja:Polska
Offline

Napisano 22.08.2011 20:49

Kiedy jest wywoływane menu?
  • +
  • -
  • 0

#4 Kusek

    z Wikipedii

  • Power User

Reputacja: 445
Wszechobecny

  • Postów:1655
  • Imię:Krystian
  • Lokalizacja:Nowa Dęba
Offline

Napisano 22.08.2011 20:50

mooże zapodaj cały kod? :P
  • +
  • -
  • 0

#5 Czaso Umilacz

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 33
Życzliwy

  • Postów:152
  • Imię:Olek
  • Lokalizacja:Leszno
Offline

Napisano 22.08.2011 21:06

Ok na start:
switch(klasa_gracza[id])
	{
		case Snajper:
		{
			MenuSnajper(id)
		}
Wywołanie UP potem wybór co jest w 1szym poście, z menu destroy próbowałem ale nie działa trzeba 2x kliknąć :/

if(bTrudnosc[id]==true){
					Trudnosc(id);
				}
A to bym wolał zachować dla siebie bo działa.

Użytkownik Czaso Umilacz edytował ten post 22.08.2011 21:07

  • +
  • -
  • 0

#6 Kusek

    z Wikipedii

  • Power User

Reputacja: 445
Wszechobecny

  • Postów:1655
  • Imię:Krystian
  • Lokalizacja:Nowa Dęba
Offline

Napisano 22.08.2011 21:18

ale w 2 i dalszych spawnie po wyborze broni menu się nie wyłącza jak zrobić by po wyborze broni znikało

czy możesz to przetłumaczyć na polski, to wtedy Ci to zrobię
  • +
  • -
  • 0

#7 Czaso Umilacz

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 33
Życzliwy

  • Postów:152
  • Imię:Olek
  • Lokalizacja:Leszno
Offline

Napisano 22.08.2011 21:31

Chodzi o to, wchodzisz na serwa wybierasz klasę, wybierasz bron i menu znika, i wybierasz dalej trudność z innego menu. Koniec rundy i następuje ponownie wybór broni ale tym razem zostaje menu broni ponieważ menu trudności jest teraz blokowane ponieważ trudność jest ustawiana do końca mapy/zmiany klasy. Zostaje aż 2x się nie wciśnie na 1 broń lub na każdą z nich ale drugiej nie daje, a jak zrobić by po pierwszym wciśnięciu przechodziło dalej czyli wyłączało menu :/
  • +
  • -
  • 0

#8 thomas

    Banned

  • Zbanowany

Reputacja: 55
Pomocny

  • Postów:265
  • Imię:Tomasz
  • Lokalizacja:Małopolska
Offline

Napisano 22.08.2011 21:54

ale zamieszałeś hehe trzeba sie wczytac :P
Dołączona grafika
Dołączona grafika
Dołączona grafika
Dołączona grafika

#9 Nomaf

    Wszechpomocny

  • Użytkownik

Reputacja: 155
Profesjonalista

  • Postów:344
  • GG:
  • Imię:Mateusz
  • Lokalizacja:Polska
Offline

Napisano 22.08.2011 22:05

To dodaj po prostu return PLUGIN_CONTINUE po każdej broni i po if'ach.

Przykład:

case 0:
{
if(klasa_gracza[id]==Snajper)
{
give_item(id, "weapon_awp");
if(bTrudnosc[id]==true){
Trudnosc(id);
}
if(punkty_gracza[id]>0)
PrzydzielPunkty(id);
return PLUGIN_CONTINUE;
}
else if(klasa_gracza[id]==Marines)
{
give_item(id, "weapon_m4a1");
if(bTrudnosc[id]==true){
Trudnosc(id);
}
if(punkty_gracza[id]>0)
PrzydzielPunkty(id);
return PLUGIN_CONTINUE;
}
}

  • +
  • -
  • 1

#10 Kusek

    z Wikipedii

  • Power User

Reputacja: 445
Wszechobecny

  • Postów:1655
  • Imię:Krystian
  • Lokalizacja:Nowa Dęba
Offline

Napisano 22.08.2011 22:05

przetłumacz ktoś bo mnie kurwica bierze jak to czytam ;/
  • +
  • -
  • 0

#11 Na 5tyk

    Godlike

  • Użytkownik

Reputacja: 430
Wszechobecny

  • Postów:1712
  • GG:
  • Imię:Patryk
  • Lokalizacja:PL
Offline

Napisano 23.08.2011 07:33

Kusek on chce, aby menu trudności otwieralo sie 1x po wybraniu klasy, a menu broni w kazdej rundzie dla danej klasy :) Takie trudne do zrozumienia?
  • +
  • -
  • 0

#12 Czaso Umilacz

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 33
Życzliwy

  • Postów:152
  • Imię:Olek
  • Lokalizacja:Leszno
Offline

Napisano 23.08.2011 09:13

NIE menu się otwiera chodzi mi o to że po 1 kliknięciu w broń jaką chce się mieć menu nie znika trzeba kliknąć 2x tylko za drugim razem włącza jak by się wciskało 1(bron) i 0(exit) tylko że tutaj 2x 1(bron),a mi chodzi o to by dawało bron i od razu menu znikało...

Kurde nie umiem się w tej sprawie wysłowić xD


Już znalazłem błąd, zamiast:
if(punkty_gracza[id]>0)
	PrzydzielPunkty(id);

Powinno być:

if(punkty_gracza[id]>0){
	PrzydzielPunkty(id);
}

Wszyscy wyżej co napisali jakiś sposób dostają+++

i po tym:

menu_destroy(menu)

Ale jak teraz zrobić by była opcja trzecia czyli żeby powtarzało wybór mojej broni do końca mapy/zmiany klasy :/

Użytkownik Czaso Umilacz edytował ten post 23.08.2011 14:19

  • +
  • -
  • 0

#13 Nomaf

    Wszechpomocny

  • Użytkownik

Reputacja: 155
Profesjonalista

  • Postów:344
  • GG:
  • Imię:Mateusz
  • Lokalizacja:Polska
Offline

Napisano 23.08.2011 19:27

Stwórz nową zmienną, która będzie przechowywać wartość 1-0.

if(klasa_gracza[id]==Snajper && jakas_zmienna[id] == 0)
{
give_item(id, "weapon_awp");
if(bTrudnosc[id]==true){
Trudnosc(id);
}
if(punkty_gracza[id]>0)
PrzydzielPunkty(id);
jakas_zmienna[id] = 1
return PLUGIN_CONTINUE;
}

Takie coś zrób.

Już znalazłem błąd, zamiast:

if(punkty_gracza[id]>0)
	PrzydzielPunkty(id);


Powinno być:

if(punkty_gracza[id]>0){
	PrzydzielPunkty(id);
}


To nie błąd.
  • +
  • -
  • 0

#14 Czaso Umilacz

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 33
Życzliwy

  • Postów:152
  • Imię:Olek
  • Lokalizacja:Leszno
Offline

Napisano 23.08.2011 19:37

Ale u mnie to bugowało wybór broni :), mi bardziej chodzi o to żeby była trzecia opcja w menu np:
1 Bron
2 Bron2
3 Powtarzaj ostatni wybór

Umiał byś to zrobić?

Użytkownik Czaso Umilacz edytował ten post 23.08.2011 19:41

  • +
  • -
  • 0

#15 Nomaf

    Wszechpomocny

  • Użytkownik

Reputacja: 155
Profesjonalista

  • Postów:344
  • GG:
  • Imię:Mateusz
  • Lokalizacja:Polska
Offline

Napisano 23.08.2011 22:03

public MenuSnajper(id)
{
new menu = menu_create("Sklepik:", "MenuSnajper_Handle");
if(klasa_gracza[id]==Snajper){
menu_additem(menu, "AWP");
menu_additem(menu, "G3SG1");
menu_display(id, menu);
}
if(klasa_gracza[id]==Marines){
menu_additem(menu, "M4");
menu_additem(menu, "AK");
menu_display(id, menu);
}
}


Zmień na:
public MenuSnajper(id)
{
new menu = menu_create("Sklepik:", "MenuSnajper_Handle");
if(klasa_gracza[id]==Snajper && zapamietana_bron[id][Snajper] == 0){
menu_additem(menu, "AWP");
menu_additem(menu, "G3SG1");
}
if(klasa_gracza[id]==Marines && zapamietana_bron[id][Marines] == 0){
menu_additem(menu, "M4");
menu_additem(menu, "AK");
}
menu_additem(menu, "Zachowaj wybor");
menu_display(id, menu);
}


Gdzieś na początek pluginu:
new bool:pamietaj_wybor[33]
new zapamietana_bron[33][tu wpisz ilosc klas][]


Do client_connect(id):
pamietaj_wybor[id] = false
for (new i = 0; i <= sizeof zapamietana_bron; i++) zapamietana_bron[id][i] == 0


Do menu dodaj:
case 2:
{
pamietaj_wybor[id] = true;
MenuSnajper(id);
}


Przykładowe case klasy:
case 0:
{
if(klasa_gracza[id]==Snajper)
{
if(pamietaj_wybor[id] == true)
zapamietana_bron[id][Snajper] = CSW_AWP;
give_item(id, "weapon_awp");
if(bTrudnosc[id]==true){
Trudnosc(id);
}
if(punkty_gracza[id]>0)
PrzydzielPunkty(id);
return PLUGIN_CONTINUE;
}
else if(klasa_gracza[id]==Marines)
{
if(pamietaj_wybor[id] == true)
zapamietana_bron[id][Marines] = CSW_M4A1;
give_item(id, "weapon_m4a1");
if(bTrudnosc[id]==true){
Trudnosc(id);
}
if(punkty_gracza[id]>0)
PrzydzielPunkty(id);
return PLUGIN_CONTINUE;
}
}


Broń zapamiętana. Kiedy ma ją dawać?

Użytkownik Nomaf edytował ten post 23.08.2011 22:04

  • +
  • -
  • 0

#16 Czaso Umilacz

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 33
Życzliwy

  • Postów:152
  • Imię:Olek
  • Lokalizacja:Leszno
Offline

Napisano 30.08.2011 10:52

//Odświeżam

I dodaje errologi po dodaniu kodu wyżej
L 08/30/2011 - 11:48:55: Start of error session.
L 08/30/2011 - 11:48:55: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20110830.log")
L 08/30/2011 - 11:48:55: [AMXX] Displaying debug trace (plugin "qtm_codmod.amxx")
L 08/30/2011 - 11:48:55: [AMXX] Run time error 4: index out of bounds
L 08/30/2011 - 11:48:55: [AMXX]	[0] qtm_codmod.sma::client_connect (line 1322)

Użytkownik Czaso Umilacz edytował ten post 30.08.2011 10:53

  • +
  • -
  • 0




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

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