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

Tworzenie nowego sklepu z bonusami


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

#1 fexus

    Zaawansowany

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:87
  • Lokalizacja:a
Offline

Napisano 02.07.2012 10:59

A więc tak, chcę zrobić na swoim Diablo sklep z bonusami. Menu sklepu oraz bonusy są zrobione bez problemu. Tylko teraz mam problem z jedną kwestią. Chodzi o to, że nie chciałbym aby ludzie kupowali kilka bonusów (tzn 1 bonus atak i kupuje też 2 bonus obronę). Wiem, że muszę zrobić if(bonus y > 0 || bonus z > 0) itd ale właśnie mam problem potem z tym sprawdzaniem.
Tutaj kawałek kodu kupowania tych bonusów jak to wygląda.
public bonusy_menu_handle(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
switch(item)
{
case 0:
{
if (!UTIL_Buyformoney(id,2000))
return PLUGIN_HANDLED
bonus_y[id] = 1
return PLUGIN_HANDLED
}
case 1:

{
if (!UTIL_Buyformoney(id,2000))
return PLUGIN_HANDLED
bonus_z[id] = 1
return PLUGIN_HANDLED
}
}
}


Jeżeli coś nie jasne jest to napiszcie a postaram się jakoś bardziej wytłumaczyć o co chodzi.
  • +
  • -
  • 0

#2 Stachuu :D ??

    Wszechobecny

  • Użytkownik

Reputacja: 237
Wszechwidzący

  • Postów:476
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Karsznice
Offline

Napisano 02.07.2012 11:09

zrob bolla

np
new bool:kupiono_bonus[33]

i potem ustawiaj true przy kupieniu i zablokuj sklep jesli wartosc = true

tylko potem ustawiaj wartosc na fasle kiedy bonus sie konczy
  • +
  • -
  • 0

#3 fexus

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:87
  • Lokalizacja:a
Offline

Napisano 02.07.2012 11:50

Niezbyt rozumiem o co chodzi z tym boolem :|
  • +
  • -
  • 0

#4 Onyke

    Godlike

  • Przyjaciel

Reputacja: 708
Guru

  • Postów:2 178
Offline

Napisano 02.07.2012 16:35

No to jak nie rozumiesz boola to zrób normalną zmienną np ma_bonus[33] i przy kupnie każdego bonusu ustawiaj na wartość 1. Przy kupowaniu mocy sprawdzaj czy ma_bonus[id]==1 i jeśli ma to mu nie dawaj mocy :D
  • +
  • -
  • 0

#5 fexus

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:87
  • Lokalizacja:a
Offline

Napisano 02.07.2012 22:09

Właśnie przez ma_bonus[id]==1 raczej będzie problem bo te bonus_y[id] = 2 to jest, że bonus działa 2 rundy. A sprawdzania przy kupowaniu mocy to raczej(?) to samo jakbym zrobił to z if(bonus_y[id] > 0 || bonus_z[id] > 0), więc trochę bezsensu jak dla mnie. Albo po prostu nie rozumiem dalej :|
Od razu zapytam się o rundy dla tych bonusów czy dobrze zrobiłem. Czy jak w roundstart zrobiłem tak:
if(bonus_y[i] > 1) bonus_y[i] -= 1 else bonus_y[i] = 0
To czy ma prawo to działać i będzie przykładowo schodziło z 3 rund (nowa runda jest 2 potem kolejna 1 i na samym końcu wartość przyjmuje 0)
  • +
  • -
  • 0

#6 Stachuu :D ??

    Wszechobecny

  • Użytkownik

Reputacja: 237
Wszechwidzący

  • Postów:476
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Karsznice
Offline

Napisano 03.07.2012 06:35

to daj na start nowej rundy poprostu


bonus_y[i] --


a blokuj sklep wtedy gdy
bonus_y[i] >0
  • +
  • -
  • 0

#7 fexus

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:87
  • Lokalizacja:a
Offline

Napisano 03.07.2012 09:44

Jak mam niby zablokować ten sklep?-,- Właśnie o to chodzi, że ja nie wiem jak mam to zablokować bo mi błędy wywala...
  • +
  • -
  • 0

#8 Onyke

    Godlike

  • Przyjaciel

Reputacja: 708
Guru

  • Postów:2 178
Offline

Napisano 03.07.2012 11:31

Trochę trudno do Ciebie dotrzeć :/
http://amxx.pl/topic/2682-warunek-if/
http://amxx.pl/topic/5396-warunki/

Możesz zrobić, że jak wpisze komende /bonusy (czy jak to tam masz u siebie) to włącza mu jakiś public w którym dajesz ifa z tym co podał Stachu. Jeśli bonus==0 to mu wyświetl menu, a jeśli >0 to nie wyświetlaj.
  • +
  • -
  • 0

#9 fexus

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:87
  • Lokalizacja:a
Offline

Napisano 03.07.2012 12:18

Coś popróbowałem robić i doszedłem do takiej opcji...

public bool:UTIL_Buybonus(id,amount)
{
if (bonus_y[id] == 0 && bonus_z[id] == 0)
{
ma_bonus[id] == amount
return true }
else
{
hudmsg(id,2.0,"Uzywasz juz bonusu!")
return false
} return false
}

a w sklepie jest teraz
case 0:
{
if (!UTIL_Buybonus(id,1))
return PLUGIN_HANDLED

else if (!UTIL_Buyformoney(id,2000))
return PLUGIN_HANDLED

bonus_y[id] = 1
return PLUGIN_HANDLED
}

Zrobiłem zniżanie tego ma_bonus[i] w roundstart tak samo jak bonus_y[i]. Kompiluje normalnie tylko teraz pytanie, czy to ma prawo działać jak trzeba?

Użytkownik fexus edytował ten post 03.07.2012 12:20

  • +
  • -
  • 0

#10 fexus

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:87
  • Lokalizacja:a
Offline

Napisano 04.07.2012 17:27

Mógłby ktoś sprawdzić, a raczej zerknąć na te urywki kodu czy to będzie działać tak jakbym chciał ?
  • +
  • -
  • 0

#11 radek_b11

    Hero

  • Zbanowany

Reputacja: 29
Życzliwy

  • Postów:1 019
  • Lokalizacja:Rajowo
Offline

Napisano 11.07.2012 08:43

daj całość to zobaczymy czy będzie działać, a nie dajesz urywki kodu

Cs 1.6:   GoldGame.pl [Only DD2/INF/NUK] #1         IP: 31.186.81.62:27062  |  GoldGame.pl [Hns Ganiany][100aa] #2  IP: 31.186.84.46:27074

               GoldGame.pl [Hns Treningowy] #3  IP: 31.186.81.70:27059  |  GoldGame.pl [Unikatowy JailBreak] #4   IP: 31.186.84.46:27050

Ts3:        GoldGame.pl [TeamSpeak3]               IP: 178.217.191.232:6310

Cs:GO:   [PL] GoldGame.pl [Only DD2/INF/NUK][FastDrop]   IP: 185.36.170.231:27024


#12 fexus

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:87
  • Lokalizacja:a
Offline

Napisano 11.07.2012 11:45

To się właśnie opiera na tych urywkach kodu. Nic więcej w skład tego nie wchodzi (prócz roundstart do zerowania bonusu)
  • +
  • -
  • 0




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

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