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] Jak zrobić aby gracz mógł kupić 1 item na 1 rundę w sklepie ?

cs amxx counter-strike funkcje problemy itemy

Najlepsza odpowiedź Drago36, 07.03.2014 22:19

Hmm..

ja na ZM robię to tak:

Pod bibliotekami dodaj:

new iBuyCount
const iMaxBuy = 4 // maksymalna ilosc sprzedazy

Zarejestruj:

register_event("HLTV", "event_round_start", "a", "1=0", "2=0")


Na koniec sma:

public event_round_start()
{
    iBuyCount = 0
}


A teraz podmień:

switch(item)
{
	case 0:
	{
		if(iBuyCount >= iMaxBuy)
		{
			ColorChat(player, RED, "Juz nie mozesz tego wiecej kupowac!")
			return PLUGIN_HANDLED;
		}
		
		iBuyCount++
		give_item(id, "weapon_hegrenade");
		ColorChat(id, GREEN, "%s ^x03%s ^x01kupiles/as ^x03Granat wybuchajacy!", prefix,name);
	}
	return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;

Sprawdź.

Przejdź do postu


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

#1 Warjat

    Profesjonalista

  • Użytkownik

Reputacja: 25
Życzliwy

  • Postów:193
  • Lokalizacja:Warszawa
Offline

Napisano 07.03.2014 21:35

Witam

 

Jak zrobić aby gracz mógł kupić 1 item na 1 rundę w sklepie ?

public handle_cmdSklep(id, menu, item)
{
	get_user_name(id,name,charsmax(name));
	switch(item)
	{
		case 0:
		{
			if(!gb_BuyItem(id,2,2)) return PLUGIN_HANDLED;
			give_item(id, "weapon_hegrenade");
			ColorChat(id, GREEN, "%s ^x03%s ^x01kupiles/as ^x03Granat wybuchajacy!", prefix,name);
		}
	}
	return PLUGIN_CONTINUE;
}

Jak widać nie ma żadnej blokady i gracz może kupić sobie granat tyle razy ile chce bo nie ma zabezpieczenia (posiadam sklep na fragi http://amxx.pl/topic...eathrun-sklep/)

 

Czy ktoś może mi powiedzieć jak zrobić tak aby gracz mógł kupić 1 item na 1 rundę ?


  • +
  • -
  • 0

#2 Drago36

    Profesjonalista - if you know what i mean

  • Power User

Reputacja: 561
Wszechwiedzący

  • Postów:707
  • GG:
  • Imię:Mów mi D.ave
  • Lokalizacja:Polska
Offline

Napisano 07.03.2014 22:19   Najlepsza odpowiedź

Hmm..

ja na ZM robię to tak:

Pod bibliotekami dodaj:

new iBuyCount
const iMaxBuy = 4 // maksymalna ilosc sprzedazy

Zarejestruj:

register_event("HLTV", "event_round_start", "a", "1=0", "2=0")


Na koniec sma:

public event_round_start()
{
    iBuyCount = 0
}


A teraz podmień:

switch(item)
{
	case 0:
	{
		if(iBuyCount >= iMaxBuy)
		{
			ColorChat(player, RED, "Juz nie mozesz tego wiecej kupowac!")
			return PLUGIN_HANDLED;
		}
		
		iBuyCount++
		give_item(id, "weapon_hegrenade");
		ColorChat(id, GREEN, "%s ^x03%s ^x01kupiles/as ^x03Granat wybuchajacy!", prefix,name);
	}
	return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;

Sprawdź.


  • +
  • -
  • 1

#3 Sniper Elite

    Master

  • Power User

Reputacja: 176
Profesjonalista

  • Postów:981
  • GG:
  • Imię:Konrad
  • Lokalizacja:Skryptolandia
Offline

Napisano 08.03.2014 01:00

Hmm..

ja na ZM robię to tak:

Pod bibliotekami dodaj:

new iBuyCount
const iMaxBuy = 4 // maksymalna ilosc sprzedazy

Zarejestruj:

register_event("HLTV", "event_round_start", "a", "1=0", "2=0")

Na koniec sma:

public event_round_start()
{
    iBuyCount = 0
}

A teraz podmień:

switch(item)
{
	case 0:
	{
		if(iBuyCount >= iMaxBuy)
		{
			ColorChat(player, RED, "Juz nie mozesz tego wiecej kupowac!")
			return PLUGIN_HANDLED;
		}
		
		iBuyCount++
		give_item(id, "weapon_hegrenade");
		ColorChat(id, GREEN, "%s ^x03%s ^x01kupiles/as ^x03Granat wybuchajacy!", prefix,name);
	}
	return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;

Sprawdź.

A to nie powinno być przypadkiem tak?:

new iBuyCount[33];
const iMaxBuy = 4 // maksymalna ilosc sprzedazy
Zarejestruj:register_event("HLTV", "event_round_start", "a", "1=0", "2=0")

Na koniec sma:

public event_round_start()
{
        for (new id=0; id<32; id++)
        {
            iBuyCount[id] = 0
        }
}

A teraz podmień:

switch(item)
{
    case 0:
    {
        if(iBuyCount[id] >= iMaxBuy)
        {
            ColorChat(player, RED, "Juz nie mozesz tego wiecej kupowac!")
            return PLUGIN_HANDLED;
        }
        
        iBuyCount[id]++
        give_item(id, "weapon_hegrenade");
        ColorChat(id, GREEN, "%s ^x03%s ^x01kupiles/as ^x03Granat wybuchajacy!", prefix,name);
    }
    return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;

  • +
  • -
  • 1

Kontakt:

Steam: CSnajper

GG: 4394855

 

Na steam i GG pomagam wyłącznie odpłatnie.


#4 Drago36

    Profesjonalista - if you know what i mean

  • Power User

Reputacja: 561
Wszechwiedzący

  • Postów:707
  • GG:
  • Imię:Mów mi D.ave
  • Lokalizacja:Polska
Offline

Napisano 08.03.2014 01:05

 

Hmm..

ja na ZM robię to tak:

Pod bibliotekami dodaj:

new iBuyCount
const iMaxBuy = 4 // maksymalna ilosc sprzedazy

Zarejestruj:

register_event("HLTV", "event_round_start", "a", "1=0", "2=0")

Na koniec sma:

public event_round_start()
{
    iBuyCount = 0
}

A teraz podmień:

switch(item)
{
	case 0:
	{
		if(iBuyCount >= iMaxBuy)
		{
			ColorChat(player, RED, "Juz nie mozesz tego wiecej kupowac!")
			return PLUGIN_HANDLED;
		}
		
		iBuyCount++
		give_item(id, "weapon_hegrenade");
		ColorChat(id, GREEN, "%s ^x03%s ^x01kupiles/as ^x03Granat wybuchajacy!", prefix,name);
	}
	return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;

Sprawdź.

A to nie powinno być przypadkiem tak?:

new iBuyCount[33];
const iMaxBuy = 4 // maksymalna ilosc sprzedazy
Zarejestruj:register_event("HLTV", "event_round_start", "a", "1=0", "2=0")

Na koniec sma:

public event_round_start()
{
        for (new id=0; id<32; id++)
        {
            iBuyCount[id] = 0
        }
}

A teraz podmień:

switch(item)
{
    case 0:
    {
        if(iBuyCount[id] >= iMaxBuy)
        {
            ColorChat(player, RED, "Juz nie mozesz tego wiecej kupowac!")
            return PLUGIN_HANDLED;
        }
        
        iBuyCount[id]++
        give_item(id, "weapon_hegrenade");
        ColorChat(id, GREEN, "%s ^x03%s ^x01kupiles/as ^x03Granat wybuchajacy!", prefix,name);
    }
    return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;

Nie.

Pętla nie jest potrzebna. iBuyCount dla wszystkich się zeruje.


  • +
  • -
  • 1

#5 Sniper Elite

    Master

  • Power User

Reputacja: 176
Profesjonalista

  • Postów:981
  • GG:
  • Imię:Konrad
  • Lokalizacja:Skryptolandia
Offline

Napisano 08.03.2014 01:21


Jak zrobić aby gracz mógł kupić 1 item na 1 rundę w sklepie ?

 

Jak byk potrzebna tablica, inaczej ustawisz globalny limit extra itemów dla wszystkich graczy, a z jego wypowiedzi nie tego chce.


  • +
  • -
  • 1

Kontakt:

Steam: CSnajper

GG: 4394855

 

Na steam i GG pomagam wyłącznie odpłatnie.


#6 Warjat

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 25
Życzliwy

  • Postów:193
  • Lokalizacja:Warszawa
Offline

Napisano 08.03.2014 12:20

Hmm..

ja na ZM robię to tak:

Pod bibliotekami dodaj:

new iBuyCount
const iMaxBuy = 4 // maksymalna ilosc sprzedazy

Zarejestruj:

register_event("HLTV", "event_round_start", "a", "1=0", "2=0")

Na koniec sma:

public event_round_start()
{
    iBuyCount = 0
}

A teraz podmień:

switch(item)
{
	case 0:
	{
		if(iBuyCount >= iMaxBuy)
		{
			ColorChat(player, RED, "Juz nie mozesz tego wiecej kupowac!")
			return PLUGIN_HANDLED;
		}
		
		iBuyCount++
		give_item(id, "weapon_hegrenade");
		ColorChat(id, GREEN, "%s ^x03%s ^x01kupiles/as ^x03Granat wybuchajacy!", prefix,name);
	}
	return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;

Sprawdź.

 
Działa bardzo dziękuję dostajecie panowie po plusach 

Użytkownik Warjat edytował ten post 08.03.2014 12:34

  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: cs, amxx, counter-strike, funkcje, problemy, itemy

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

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