←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Pytanie dlaczego nie działa sklep

Zablokowany

  • +
  • -
Windowspl - zdjęcie Windowspl 04.05.2011

Witam.

Chciałem zrobić sklep expa dla vipa na call of duty moda. Zrobiłem takie coś. Ale niestety nie działa wszyscy mogą kupować ale jak ktoś nie ma flagi B to mu wyskakuje ta informacja co ustawiłem.
#include <amxmodx>
#include <codmod>
#include <engine>
#include <cstrike>
#include <fun>
#include <ColorChat>
 
 
public plugin_init() 
{

	register_plugin("Sklep VIP", "1.1", ".");
 
	register_clcmd("say /vipexp", "SklepVip");
	register_clcmd("say vipexp", "SklepVip");
}
 
public SklepVip(id)
{
	
	if(!(get_user_flags(id) & ADMIN_PASSWORD))
	{
		client_print(id, print_chat, "[] Nie masz uprawnien, aby uzywac tej klasy.")
		
	}


	new tytul[25];
	format(tytul, 24, "\rSklep 'VIP'");
	new menu = menu_create(tytul, "Sklep_HandlerVip");
	menu_additem(menu, "100exp \y[1000$]");//1
	menu_additem(menu, "200exp \y[2000$]");//2
	menu_additem(menu, "300exp \y[3000$]");//3
	menu_additem(menu, "400exp \y[4000$]");//4
	menu_additem(menu, "500exp \y[5000$]");//5
	menu_additem(menu, "600exp \y[6000$]");//6
	menu_additem(menu, "1000exp \y[16000$]");//7
	menu_display(id, menu);
 
}
 
public Sklep_HandlerVip(id, menu, item)
{
	if(!(get_user_flags(id) & ADMIN_RESERVATION))
	{
		ColorChat(id, GREEN, "Sklep jest tylko dla VIPa !", nazwa)
		
	}
	if(!is_user_alive(id) || !is_user_connected(id))
	return PLUGIN_CONTINUE;
 
	new kasa = cs_get_user_money(id);
 
	if(item == MENU_EXIT)
	{
	menu_destroy(menu);
	return PLUGIN_CONTINUE;
	}
	if(!(get_user_flags(id) & ADMIN_RESERVATION))
	{
	
		ColorChat(id, GREEN, "To menu jest tylko dla VIP'a.")
		ColorChat(id, GREEN, "Jesli chcesz kupic VIP'a napisz pod numer GG: 18030697")
	}
	
	switch(item)
	{
		
		case 0:
		{
			if(kasa >= 1000)
			{
				new exp = cod_get_user_xp(id);
				cs_set_user_money(id, kasa-1000);
				cod_set_user_xp(id, exp+100)
				ColorChat(id, GREEN, "[COD:MW] Dostales 100 EXP'a!");
			}
			if(kasa < 1000)
				ColorChat(id, GREEN, "[COD:MW] Masz za malo kasy!");
		}
		case 1:
		{
			if(kasa >= 2000)
			{
				new exp = cod_get_user_xp(id);
				cod_set_user_xp(id, exp+200)
				cs_set_user_money(id, kasa-2000);
				ColorChat(id, GREEN, "[COD:MW] Dostales 200 EXP'a!");
			}
			if(kasa < 2000)
				ColorChat(id, GREEN, "[COD:MW] Masz za malo kasy!");
		}
		case 2:
		{
 
			if(kasa >= 3000)
			{
				new exp = cod_get_user_xp(id);
				cs_set_user_money(id, kasa-3000);
				cod_set_user_xp(id, exp+300)
				ColorChat(id, GREEN, "[COD:MW] Dostales 300 EXP'a!");
			}
			if(kasa < 3000)
				ColorChat(id, GREEN, "[COD:MW] Masz za malo kasy!");
		}
		case 3:
		{
			if(kasa >= 4000)
			{
				new exp = cod_get_user_xp(id);
				cs_set_user_money(id, kasa-4000);
				cod_set_user_xp(id, exp+400)
				ColorChat(id, GREEN, "[COD:MW] Dostales 400 EXP'a!");
			}
			if(kasa < 4000)
				ColorChat(id, GREEN, "[COD:MW] Masz za malo kasy!");
		}
		case 4:
		{
 
			if(kasa >= 5000)
			{
				new exp = cod_get_user_xp(id);
				cs_set_user_money(id, kasa-5000);
				cod_set_user_xp(id, exp+500)
				ColorChat(id, GREEN, "[COD:MW] Dostales 500 EXP'a!");
			}
			if(kasa < 5000)
				ColorChat(id, GREEN, "[COD:MW] Masz za malo kasy!");
		}
		case 5:
		{
 
			if(kasa >= 6000)
			{
				new exp = cod_get_user_xp(id);
				cs_set_user_money(id, kasa-6000);
				cod_set_user_xp(id, exp+600)
				ColorChat(id, GREEN, "[COD:MW] Dostales 600 EXP'a!");
			}
			if(kasa < 6000)
				ColorChat(id, GREEN, "[COD:MW] Masz za malo kasy!");
		}		
		case 6:
		{
 
			if(kasa >= 16000)
			{
				new exp = cod_get_user_xp(id);
				cs_set_user_money(id, kasa-16000);
				cod_set_user_xp(id, exp+1000)
				ColorChat(id, GREEN, "[COD:MW] Dostales 1000 EXP'a!");
			}
			if(kasa < 16000)
				ColorChat(id, GREEN, "[COD:MW] Masz za malo kasy!");
		}
		
	}
 
	return PLUGIN_CONTINUE;
}

Proszę o pomoc.
Odpowiedz

  • +
  • -
Hajmus - zdjęcie Hajmus 06.05.2011

podmien tego publica i sprawdź

public SklepVip(id)
{
	
	if((get_user_flags(id) & ADMIN_PASSWORD)){
	new tytul[25];
	format(tytul, 24, "\rSklep 'VIP'");
	new menu = menu_create(tytul, "Sklep_HandlerVip");
	menu_additem(menu, "100exp \y[1000$]");//1
	menu_additem(menu, "200exp \y[2000$]");//2
	menu_additem(menu, "300exp \y[3000$]");//3
	menu_additem(menu, "400exp \y[4000$]");//4
	menu_additem(menu, "500exp \y[5000$]");//5
	menu_additem(menu, "600exp \y[6000$]");//6
	menu_additem(menu, "1000exp \y[16000$]");//7
	menu_display(id, menu);
	}
	else
	client_print(id, print_chat, " Nie masz uprawnien, aby uzywac tej komendy.")
}
Odpowiedz

Adminek AMXX.PL - zdjęcie Adminek AMXX.PL 06.05.2011

Automatyczna wiadomość


Ten temat został przeniesiony z forum:
AMX Mod X -> Pytania
do
Scripting -> Problemy
Odpowiedz

  • +
  • -
góruś - zdjęcie góruś 06.05.2011

niepotrzebne biblioteki i sprawdzanie po kilka razy czy ma flagi, powinno być dobrze:

#include <amxmodx>
#include <codmod>
#include <cstrike>
#include <ColorChat>


public plugin_init()
{

register_plugin("Sklep VIP", "1.1", ".");
register_clcmd("say /vipexp", "SklepVip");
register_clcmd("say vipexp", "SklepVip");
}

public SklepVip(id)
{
if(!(get_user_flags(id) & ADMIN_PASSWORD))
{
ColorChat(id, GREEN, "To menu jest tylko dla VIP'a.")
ColorChat(id, GREEN, "Jesli chcesz kupic VIP'a napisz pod numer GG: 18030697")
return PLUGIN_CONTINUE;
}
else {
new tytul[25];
format(tytul, 24, "\rSklep 'VIP'");
new menu = menu_create(tytul, "Sklep_HandlerVip");
menu_additem(menu, "100exp \y[1000$]");//1
menu_additem(menu, "200exp \y[2000$]");//2
menu_additem(menu, "300exp \y[3000$]");//3
menu_additem(menu, "400exp \y[4000$]");//4
menu_additem(menu, "500exp \y[5000$]");//5
menu_additem(menu, "600exp \y[6000$]");//6
menu_additem(menu, "1000exp \y[16000$]");//7
menu_display(id, menu);
}
return PLUGIN_CONTINUE;
}

public Sklep_HandlerVip(id, menu, item)
{
if(!is_user_connected(id))
return PLUGIN_CONTINUE;

new kasa = cs_get_user_money(id);

if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}

switch(item)
{
case 0:
{
if(kasa >= 1000)
{
new exp = cod_get_user_xp(id);
cs_set_user_money(id, kasa-1000);
cod_set_user_xp(id, exp+100)
ColorChat(id, GREEN, "[COD:MW] Dostales 100 EXP'a!");
}
if(kasa < 1000)
ColorChat(id, GREEN, "[COD:MW] Masz za malo kasy!");
}
case 1:
{
if(kasa >= 2000)
{
new exp = cod_get_user_xp(id);
cod_set_user_xp(id, exp+200)
cs_set_user_money(id, kasa-2000);
ColorChat(id, GREEN, "[COD:MW] Dostales 200 EXP'a!");
}
if(kasa < 2000)
ColorChat(id, GREEN, "[COD:MW] Masz za malo kasy!");
}
case 2:
{

if(kasa >= 3000)
{
new exp = cod_get_user_xp(id);
cs_set_user_money(id, kasa-3000);
cod_set_user_xp(id, exp+300)
ColorChat(id, GREEN, "[COD:MW] Dostales 300 EXP'a!");
}
if(kasa < 3000)
ColorChat(id, GREEN, "[COD:MW] Masz za malo kasy!");
}
case 3:
{
if(kasa >= 4000)
{
new exp = cod_get_user_xp(id);
cs_set_user_money(id, kasa-4000);
cod_set_user_xp(id, exp+400)
ColorChat(id, GREEN, "[COD:MW] Dostales 400 EXP'a!");
}
if(kasa < 4000)
ColorChat(id, GREEN, "[COD:MW] Masz za malo kasy!");
}
case 4:
{

if(kasa >= 5000)
{
new exp = cod_get_user_xp(id);
cs_set_user_money(id, kasa-5000);
cod_set_user_xp(id, exp+500)
ColorChat(id, GREEN, "[COD:MW] Dostales 500 EXP'a!");
}
if(kasa < 5000)
ColorChat(id, GREEN, "[COD:MW] Masz za malo kasy!");
}
case 5:
{

if(kasa >= 6000)
{
new exp = cod_get_user_xp(id);
cs_set_user_money(id, kasa-6000);
cod_set_user_xp(id, exp+600)
ColorChat(id, GREEN, "[COD:MW] Dostales 600 EXP'a!");
}
if(kasa < 6000)
ColorChat(id, GREEN, "[COD:MW] Masz za malo kasy!");
}
case 6:
{

if(kasa >= 16000)
{
new exp = cod_get_user_xp(id);
cs_set_user_money(id, kasa-16000);
cod_set_user_xp(id, exp+1000)
ColorChat(id, GREEN, "[COD:MW] Dostales 1000 EXP'a!");
}
if(kasa < 16000)
ColorChat(id, GREEN, "[COD:MW] Masz za malo kasy!");
}

}

return PLUGIN_CONTINUE;
}
Odpowiedz

  • +
  • -
Windowspl - zdjęcie Windowspl 08.05.2011

Już sobie dawno poradziłem :P
Odpowiedz
Zablokowany