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

[ROZWIĄZANE] Otwiera się jedne menu ale drugie nie


Najlepsza odpowiedź d0naciak, 23.10.2013 12:54

client_cmd(id, "Sklep_dolary", dolary)

na

Sklep_dolary(id)

oraz 

client_cmd(id, "Sklep_monety", monety)

na

Sklep_monety(id)

To client cmd nie ma tu żadnego ładu.

Wpisując Sklep_monety w konsoli gracza, nie wykonasz funkcji Sklep_monety w pluginie.

Nie rób nic na ślepo.

Przejdź do postu


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

#1 M4RV1N

    Wszechpomocny

  • Użytkownik

Reputacja: 140
Zaawansowany

  • Postów:344
  • GG:
  • Steam:steam
  • Imię:Andrzej
  • Lokalizacja:Polska
Offline

Napisano 23.10.2013 12:04

Siemka, mam mały problem ponieważ przerabiam sklep na CoD'a i utworzyłem menu w którym wybiera się płatność dolarami lub monetami wszystko wydaje się być dobrze (plugin się kompiluję) lecz po wybraniu np "Płacę Dolarami" nie otwiera się sklep w którym płaci się dolarami, i tak samo jest z monetami :/

 

 

I tu pojawia się moje pytanie czy kod jest dobrze napisany :

 

public Menu_Wybor(id) 
{
   new MenuWybor=menu_create("Czym chcesz zaplacic ?", "CzymZaplace")
   
   menu_additem(MenuWybor, "^n\yPlace \rDolarami")
   menu_additem(MenuWybor, "^n^n\yPlace \rMonetami")
   
   menu_display(id, MenuWybor, 0)
   return PLUGIN_HANDLED
}


public CzymZaplace(id, menu, item) {
switch(item) {
case 0:{
client_cmd(id, "Sklep_dolary", dolary)
}
case 1:{
client_cmd(id, "Sklep_monety", monety)
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

Oczywiście public'i otwierania się sklepu nazywają się następująco

public Sklep_dolary(id)

oraz

public Sklep_monety(id)

Z góry dzięki :)

 


  • +
  • -
  • 0

#2 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 23.10.2013 12:54   Najlepsza odpowiedź

client_cmd(id, "Sklep_dolary", dolary)

na

Sklep_dolary(id)

oraz 

client_cmd(id, "Sklep_monety", monety)

na

Sklep_monety(id)

To client cmd nie ma tu żadnego ładu.

Wpisując Sklep_monety w konsoli gracza, nie wykonasz funkcji Sklep_monety w pluginie.

Nie rób nic na ślepo.


  • +
  • -
  • 2

#3 M4RV1N

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 140
Zaawansowany

  • Postów:344
  • GG:
  • Steam:steam
  • Imię:Andrzej
  • Lokalizacja:Polska
Offline

Napisano 23.10.2013 13:27

Dalej nic :/

 


Użytkownik MarViner edytował ten post 23.10.2013 13:34

  • +
  • -
  • 0

#4 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 24.10.2013 14:30

Podaj pełny kod pluginu.


  • +
  • -
  • 1

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#5 M4RV1N

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 140
Zaawansowany

  • Postów:344
  • GG:
  • Steam:steam
  • Imię:Andrzej
  • Lokalizacja:Polska
Offline

Napisano 24.10.2013 14:55

Proszę ---->  http://amxx.pl/wklej...38262283532532/

 

Kod jest chyba nie bardzo zoptymalizowany ...


Użytkownik MarViner edytował ten post 24.10.2013 14:58

  • +
  • -
  • 0

#6 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 24.10.2013 17:32

d0naciak dał Ci rozwiązanie, a Ty dalej brniesz w jakieś bzdury... Teraz widzę wymyśliłeś register_clcmd, nawet nie wiedząc do czego służy...

 

Po pierwsze: naucz się czym się różni komenda od funkcji, Ty potrzebujesz wywołać funkcję, nie komendę. Jak ją wywołać, pokazał Ci d0naciak.

 

Po drugie: zaglądaj do dokumentacji i popatrz uważnie co robi register_clcmd i dlaczego w tym miejscu się go nie używa...


  • +
  • -
  • 2

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#7 M4RV1N

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 140
Zaawansowany

  • Postów:344
  • GG:
  • Steam:steam
  • Imię:Andrzej
  • Lokalizacja:Polska
Offline

Napisano 24.10.2013 20:15

d0naciak dał Ci rozwiązanie, a Ty dalej brniesz w jakieś bzdury... Teraz widzę wymyśliłeś register_clcmd, nawet nie wiedząc do czego służy...
 
Po pierwsze: naucz się czym się różni komenda od funkcji, Ty potrzebujesz wywołać funkcję, nie komendę. Jak ją wywołać, pokazał Ci d0naciak.
 
Po drugie: zaglądaj do dokumentacji i popatrz uważnie co robi register_clcmd i dlaczego w tym miejscu się go nie używa...

 

 

 

Hehe z tym register_clcmd to akurat nie ja tylko kolega kombinował, ja od początku miałem client_cmd (tak samo jak dałem w 1 poście tematu...) ale nie działało to kombinował a ja założyłem temat bo nie wiedziałem dlaczego nie otwiera się ten sklep po wybraniu metody płatnością, zrobiłem tak jak napisał d0n i też nic nie dało... Nie chciałem wywołać komendy tylko funkcję (patrz 1 post). 

 

 

PS. Korzystam z dokumentacji :) 


  • +
  • -
  • 0

#8 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 25.10.2013 12:03

No właśnie w poście 1 uparcie komendę wywołujesz... Podaj więc kod po zastosowaniu się do rady d0naciaka


  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#9 M4RV1N

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 140
Zaawansowany

  • Postów:344
  • GG:
  • Steam:steam
  • Imię:Andrzej
  • Lokalizacja:Polska
Offline

Napisano 25.10.2013 13:13

http://amxx.pl/wklej...38270306632532/

 


  • +
  • -
  • 0

#10 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 25.10.2013 14:16

#include <amxmodx>
#include <codmod>
#include <engine>
#include <cstrike>
#include <fun>
 
#pragma tabsize 0
 
native cod_set_user_coins(id, wartosc);
native cod_get_user_coins(id);
 
public plugin_init() 
{
	register_plugin("CodShop by MaRviN", "1.0", "MaRviN");
 
	register_clcmd("say /sklep", "Menu_Wybor");
 
}	
 
public Menu_Wybor(id) 
{
	new MenuWybor=menu_create("Czym chcesz zaplacic ?", "CzymZaplace")
 
	menu_additem(MenuWybor, "\yPlace \rDolarami", "1")
	menu_additem(MenuWybor, "\yPlace \rMonetami", "2")
 
	menu_display(id, MenuWybor, 0)
	return PLUGIN_HANDLED
}
 
public CzymZaplace(id, menu, item) 
{
	switch(item) 
	{
		case 0:
		{
			Sklep_dolary(id)
		}
		case 1:
		{
			Sklep_monety(id)
		}
	}
	menu_destroy(menu)
	return PLUGIN_HANDLED
}
 
public Sklep_dolary(id)
{
	new tytul[25];
	format(tytul, 24, "\ySklep \r[Dolary]");
	new menu = menu_create(tytul, "Sklepd_Handler");
 
	menu_additem(menu, "Apteczka \r[Leczy 50 HP] \yKoszt: \r8000 Dolarow");//0
	menu_additem(menu, "Wygodne Buty \r[Wyzej skaczesz szybciej biegasz] \yKoszt: \r10000 Dolarow");//1
	menu_additem(menu, "Totolotek \r[Losowanie bonusow] \yKoszt: \r12000 Dolarow");//2
	menu_additem(menu, "Doswiadczenie \r[Dostajesz losowy EXP] \yKoszt: \r16000 Dolarow");//3
	menu_additem(menu, "Perk I \r[Dostajesz losowy Perk I] \yKoszt: \r10000 Dolarow");//4
	menu_additem(menu, "Perk II \r[Dostajesz losowy Perk II] \yKoszt: \r10000 Dolarow");//5
	menu_display(id, menu);
 
	return PLUGIN_CONTINUE
 
}
 
public Sklep_monety(id)
{
	new tytul[25];
	format(tytul, 24, "^n\ySklep \r[Monety]");
	new menu = menu_create(tytul, "Sklepm_Handler");
 
	menu_additem(menu, "Apteczka \r[Leczy 50 HP] \yKoszt: \r8 Monet");//0
	menu_additem(menu, "Wygodne Buty \r[Wyzej skaczesz szybciej biegasz] \yKoszt: \r15 Monet");//1
	menu_additem(menu, "Totolotek \r[Losowanie bonusow] \yKoszt: \r10 Monet");//2
	menu_additem(menu, "Doswiadczenie \r[Dostajesz losowy EXP] \yKoszt: \r15 Monet");//3
	menu_additem(menu, "Perk I \r[Dostajesz losowy Perk I] \yKoszt: \r10 Monet");//4
	menu_additem(menu, "Perk II \r[Dostajesz losowy Perk II] \yKoszt: \r10 Monet");//5
	menu_display(id, menu);
 
	return PLUGIN_CONTINUE
}
 
public Sklepd_Handler(id, menu, item)
{
 
	if(!is_user_alive(id) || !is_user_connected(id))
		return PLUGIN_CONTINUE;
 
	new zdrowie = get_user_health(id);
	new kasa = cs_get_user_money(id);
	new maxzdrowie = cod_get_user_health(id)+100
 
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
 
	switch(item)
	{
 
		case 0:
		{
			if(kasa >= 8000)
			{
				new nowe_zdrowie = (zdrowie+50);
				if(nowe_zdrowie < maxzdrowie)
				{
					cs_set_user_money(id, kasa-8000);
					set_user_health(id, nowe_zdrowie);
					client_print(id, print_chat, "[COD:MW] Uleczono Cie o 50 hp!");
				}
				if(nowe_zdrowie >= maxzdrowie && zdrowie != maxzdrowie)
				{
					cs_set_user_money(id, kasa-8000);
					set_user_health(id, maxzdrowie);
					client_print(id, print_chat, "[COD:MW] Jestes w pelni uleczony!");
				}
			}
			else
				client_print(id, print_chat, "[COD:MW] Masz za malo Kasy!");
		}
		case 1:
		{
			if(kasa >= 10000)
			{
				cs_set_user_money(id, kasa-10000);
				set_user_gravity(id, 0.5);
				client_print(id, print_chat, "[COD:MW] Skaczesz wyzej szybciej biegasz!");
			}
			if(kasa < 10000)
				client_print(id, print_chat, "[COD:MW] Masz za malo Kasy!");
		}
		case 2:
		{
 
			if(kasa >= 12000)
			{
				cs_set_user_money(id, kasa-12000);
				client_print(id, print_chat, "[COD:MW] Trwa losowanie!");
				new totek = random_num(0, 10);
 
				switch(totek)
				{
					case 0:
					{
						new moneybonus = random_num(50,100);
						client_print(id, print_chat, "[COD:MW] Wygrales kase %i$!", moneybonus);
						cs_set_user_money(id, moneybonus);
					}
					case 1:
					{
						new moneybonus = random_num(60,80);
						client_print(id, print_chat, "[COD:MW] Wygrales super kase %i$!", moneybonus);
						cs_set_user_money(id, moneybonus);
					}
					case 2:
					{
						set_user_gravity(id, get_user_gravity(id)-0.3);
						client_print(id, print_chat, "[COD:MW] Wygrales nizsza grawitacje!");
					}
					case 3:
						client_print(id, print_chat, "[COD:MW] Niestety nic nie wygrales!");
					case 4:
					{
						new bonusxp = random_num(15,75);
						cod_set_user_xp(id, cod_get_user_xp(id)+bonusxp);
						client_print(id, print_chat, "[COD:MW] Wygrales %i dodatkowego EXP'a !", bonusxp);
					}
					case 5:
					{
						new healthbonus = random_num(10,55);
						set_user_health(id, get_user_health(id)+healthbonus);
						client_print(id, print_chat, "[COD:MW] Wygrales %i dodatkowego HP!", healthbonus);
					}
					case 6:
					{
						new healthbonus = random_num(10,30);
						set_user_health(id, get_user_health(id)-healthbonus);
						client_print(id, print_chat, "[COD:MW] Straciles %i HP!", healthbonus);
					}
					case 7:
						client_print(id, print_chat, "[COD:MW] Niestety nic nie wygrales !");
					case 9:
					{
						new xpbonus = random_num(75,150);
						cod_set_user_xp(id, cod_get_user_xp(id)+xpbonus);
						client_print(id, print_chat, "[COD:MW] Wygrales %i dodatkowego EXP'a!", xpbonus);
					}
					case 10:
					{
						cs_set_user_money(id, 50);
						client_print(id, print_chat, "[COD:MW] Nic nie wygrales, ale kasa sie zwrocila!");
					}
 
				}
			}		
			if(kasa < 1200)
				client_print(id, print_chat, "[COD:MW] Masz za malo Kasy!");
		}
		case 3:
		{
			if(kasa >= 16000)
			{
				new exp = cod_get_user_xp(id);
				new losowy = random_num(25, 250);
				cs_set_user_money(id, kasa-16000);
				cod_set_user_xp(id, exp+losowy)
				client_print(id, print_chat, "[COD:MW] Dostales %i EXP'a!", losowy);
			}
			if(kasa < 16000)
				client_print(id, print_chat, "[COD:MW] Masz za malo Kasy!");
		}
		case 4:
		{
			if(kasa >= 10000)
			{
				cs_set_user_money(id, kasa-10000);
				cod_set_user_perk(id, -1, -1, 0);
				client_print(id, print_chat, "[COD:MW] Kupiles losowy perk 1!");
			}
			if(kasa < 10000)
				client_print(id, print_chat, "[COD:MW] Masz za malo Kasy");
		}
		case 5:
		{
			if(kasa >= 10000)
			{
				cs_set_user_money(id, kasa-10000);
				cod_set_user_perk(id, -1, -1, 1);
				client_print(id, print_chat, "[COD:MW] Kupiles losowy perk 2!");
			}
			if(kasa < 10000)
				client_print(id, print_chat, "[COD:MW] Masz za malo Kasy!");
		}
 
    } 
return PLUGIN_CONTINUE	
}
 
public Sklepm_Handler(id, menu, item)
{
 
	if(!is_user_alive(id) || !is_user_connected(id))
		return PLUGIN_CONTINUE;
 
	new zdrowie = get_user_health(id);
	new kasa = cod_get_user_coins(id)
	new maxzdrowie = cod_get_user_health(id)+100
 
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
 
	switch(item)
	{
 
		case 0:
		{
			if(kasa >= 8)
			{
				new nowe_zdrowie = (zdrowie+50);
				if(nowe_zdrowie < maxzdrowie)
				{
					cod_set_user_coins(id, kasa-8);
					set_user_health(id, nowe_zdrowie);
					client_print(id, print_chat, "[COD:MW] Uleczono Cie o 50 hp!");
				}
				if(nowe_zdrowie >= maxzdrowie && zdrowie != maxzdrowie)
				{
					cod_set_user_coins(id, kasa-8);
					set_user_health(id, maxzdrowie);
					client_print(id, print_chat, "[COD:MW] Jestes w pelni uleczony!");
				}
			}
			else
				client_print(id, print_chat, "[COD:MW] Masz za malo Monet!");
		}
		case 1:
		{
			if(kasa >= 15)
			{
				cod_set_user_coins(id, kasa-15);
				set_user_gravity(id, 0.5);
				client_print(id, print_chat, "[COD:MW] Skaczesz wyzej szybciej biegasz!");
			}
			if(kasa < 15)
				client_print(id, print_chat, "[COD:MW] Masz za malo Monet!");
		}
		case 2:
		{
 
			if(kasa >= 10)
			{
				cod_set_user_coins(id, kasa-10);
				client_print(id, print_chat, "[COD:MW] Trwa losowanie!");
				new totek = random_num(0, 10);
 
				switch(totek)
				{
					case 0:
					{
						new moneybonus = random_num(50,100);
						client_print(id, print_chat, "[COD:MW] Wygrales kase %i$!", moneybonus);
						cod_set_user_coins(id, moneybonus);
					}
					case 1:
					{
						new moneybonus = random_num(60,80);
						client_print(id, print_chat, "[COD:MW] Wygrales super kase %i$!", moneybonus);
						cod_set_user_coins(id, moneybonus);
					}
					case 2:
					{
						set_user_gravity(id, get_user_gravity(id)-0.3);
						client_print(id, print_chat, "[COD:MW] Wygrales nizsza grawitacje!");
					}
					case 3:
						client_print(id, print_chat, "[COD:MW] Niestety nic nie wygrales!");
					case 4:
					{
						new bonusxp = random_num(15,75);
						cod_set_user_xp(id, cod_get_user_xp(id)+bonusxp);
						client_print(id, print_chat, "[COD:MW] Wygrales %i dodatkowego EXP'a !", bonusxp);
					}
					case 5:
					{
						new healthbonus = random_num(10,55);
						set_user_health(id, get_user_health(id)+healthbonus);
						client_print(id, print_chat, "[COD:MW] Wygrales %i dodatkowego HP!", healthbonus);
					}
					case 6:
					{
						new healthbonus = random_num(10,30);
						set_user_health(id, get_user_health(id)-healthbonus);
						client_print(id, print_chat, "[COD:MW] Straciles %i HP!", healthbonus);
					}
					case 7:
						client_print(id, print_chat, "[COD:MW] Niestety nic nie wygrales !");
					case 9:
					{
						new xpbonus = random_num(75,150);
						cod_set_user_xp(id, cod_get_user_xp(id)+xpbonus);
						client_print(id, print_chat, "[COD:MW] Wygrales %i dodatkowego EXP'a!", xpbonus);
					}
					case 10:
					{
						cod_set_user_coins(id, 50);
						client_print(id, print_chat, "[COD:MW] Nic nie wygrales, ale kasa sie zwrocila!");
					}
 
				}
			}		
			if(kasa < 10)
				client_print(id, print_chat, "[COD:MW] Masz za malo Monet!");
		}
		case 3:
		{
			if(kasa >= 15)
			{
				new exp = cod_get_user_xp(id);
				new losowy = random_num(25, 250);
				cod_set_user_coins(id, kasa-15);
				cod_set_user_xp(id, exp+losowy)
				client_print(id, print_chat, "[COD:MW] Dostales %i EXP'a!", losowy);
			}
			if(kasa < 15)
				client_print(id, print_chat, "[COD:MW] Masz za malo Monet!");
		}
		case 4:
		{
			if(kasa >= 10)
			{
				cod_set_user_coins(id, kasa-10);
				cod_set_user_perk(id, -1, -1, 1);
				client_print(id, print_chat, "[COD:MW] Kupiles losowy perk 1!");
			}
			if(kasa < 100)
				client_print(id, print_chat, "[COD:MW] Masz za malo Monet!");
		}
		case 5:
		{
			if(kasa >= 10)
			{
				cod_set_user_coins(id, kasa-10);
		    if(!cod_get_user_perk(id))
				cod_set_user_perk(id, -1, -1, 1);
			else client_print(id, print_chat, "[COD:MW] Kupiles losowy perk 2!");
			}
			if(kasa < 10)
				client_print(id, print_chat, "[COD:MW] Masz za malo Monet!");
		}
 
    }
return PLUGIN_CONTINUE	
}

Tak wyglada prawidlowy kod. Miales zastosowac nazwy publicu i nic wiecej! :facepalm:


  • +
  • -
  • 1

b35020692_qesnxqa.png


#11 M4RV1N

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 140
Zaawansowany

  • Postów:344
  • GG:
  • Steam:steam
  • Imię:Andrzej
  • Lokalizacja:Polska
Offline

Napisano 25.10.2013 20:48

Dzięki chopy, oczywiście każdy po + :) Będę pamiętał na przyszłość :)


  • +
  • -
  • 0




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

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