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

Timer ruletki, możliwość jednorazowego użycia w czasie cooldowna.


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

#1 Robiin

    Godlike

  • Support Team

Reputacja: 1 106
Super Hero

  • Postów:2 049
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 01.05.2016 23:21

Cześć,

tak na początku, żeby nie było że nie umiem, albo coś, to jest chwila po północy, i zazwyczaj kiedy chociaż troche jestem zmęczony i siedzę w domu, to wyłącza mi się myślenie, dlatego może być w kodzie parę błedów.

 

 

Problem wygląda tak;

 

napisałem sobie ruletkę, (jeszcze nie skończyłem) i nie za bardzo wiem jak ustawić na nią delay, ale tym razem, z cooldownem. Dokładniej mi chodzi o to, że jeżeli gracz który nie ma 10.000$ (cena losowania w ruletce), spróbuje zalosować, otrzyma w ColorChat'cie info o tym, że nie ma 10.000$, i jeżeli (nawet po sekundzie) będzie miał już 10.000, będzie mógł użyć ponownie ruletki;

 

Jeżeli nie mam 10.000, i spróbuję zalosować, to nie nakłada się na mnie delay ruletki.

 

Tak w dużym uproszczeniu; jak zrobić cooldown ruletki, i nie nakładać delay'a osobie która próbowała zalosować, nie spełniając wymagań do losowania.

 

Kodzik;

(tak próbowałem już coś wykombinować z OstatnieUzycie, ale mi raczej nie wyszło, albo jestem głupi i tego nie widzę ._.)

 

Spoiler

 

Będę dokańczał sobie ruletkę, a jakby ktoś chciał (chociaż nie wiem po co :v) już dokończoną wersję, to chętnie się podzielę ^^


  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#2 Ogen Dogen

    Czempion

  • Power User

Reputacja: 261
Wszechwidzący

  • Postów:837
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Dąbrowa Górnicza
Offline

Napisano 01.05.2016 23:46

Z tego co zrozumiałem, to chcesz zrobić coś takiego, że jeżeli gracz nie spełnia wymagań to za minutę ma ponownie sprawdzić czy nie zarobił tej kasy ?

Stwórz wtedy dla niego taska o ID = jakaś duża stała liczba + id gracza, w funkcji odejmij tą dużą liczbę i wykonaj w niej co potrzebujesz :P

btw.

if(!is_user_bot(id) || !is_user_hltv(id))

Boty czy HLTV raczej nie otworzą menu :giggle:


  • +
  • -
  • 0

b_350_20_360204_C20008_FFFFFF_000000.png 193.33.176.115:27015

 

94e23d811c.png

 


#3 Robiin

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 106
Super Hero

  • Postów:2 049
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 02.05.2016 00:17

Z tego co zrozumiałem, to chcesz zrobić coś takiego, że jeżeli gracz nie spełnia wymagań to za minutę ma ponownie sprawdzić czy nie zarobił tej kasy ?

Stwórz wtedy dla niego taska o ID = jakaś duża stała liczba + id gracza, w funkcji odejmij tą dużą liczbę i wykonaj w niej co potrzebujesz :P

btw.

if(!is_user_bot(id) || !is_user_hltv(id))

Boty czy HLTV raczej nie otworzą menu :giggle:

 

O tym właśnie mówię xD nie myślę w wieczornych godzinach :V

 

 

Ale nie, nie o to mi chodzi. Chodzi mi  o to, że jeżeli mam załóżmy 16.000$, to mogę sobie zalosować na ruletce. Ruletka wtedy zabiera mi jej koszt, czyli 10.000$, zostaje mi 6.000$, czyli mi nie starczy na kolejne losowanie. Jeżeli spróbuję zalosować mając 6.000$, to wywali mi na ColorChat'cie, że nie mam wymaganej sumy. A jeżeli już będę miał to 10k, to dopiero wtedy będę mógł zalosować normalnie.

 

 

We wcześniejszej ruletce, kiedy ktoś;

ma 1 los, czyli ma załóżmy te 10.000$, i zalosuje, to przy kolejnym losowaniu, czyli kiedy ma 6.000$, jakby nie zresetuje mu cooldowna ruletki.

 

Nie wiem jak to wytłumaczyć, jeżeli nie zrozumiałeś, to rano postaram się wyjaśnić "na trzeźwo"  :mur:  :mur:  :wstyd:


  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#4 Ogen Dogen

    Czempion

  • Power User

Reputacja: 261
Wszechwidzący

  • Postów:837
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Dąbrowa Górnicza
Offline

Napisano 02.05.2016 00:46

Chodzi o prostego if'a ?

new kasa = cs_get_user_money(id);
if (kasa - 10000  < 0)
{
	ColorChat(id,RED,"Nie masz wystarczajaco pieniedzy !");
	return;
}
else
{
	cs_set_user_money(id, kasa - 10000);
	// losowanie
}

  • +
  • -
  • 0

b_350_20_360204_C20008_FFFFFF_000000.png 193.33.176.115:27015

 

94e23d811c.png

 


#5 Master Yoga

    Support Team | Mocarz

  • Support Team

Reputacja: 136
Zaawansowany

  • Postów:275
  • Lokalizacja:Magistrala Adresowa
Offline

Napisano 02.05.2016 09:08

Z twojej wypowiedzi wywnioskowałem, że możliwość ruletki może być dostępna tylko dla osób z dana suma pieniędzy i co jakiś czas.
Więc:

New czas[32];

Public funkcja(id)
{
New money = cs_get_user_money(id)
If(money >= 10000 && czas[id] == 0)
{
Gracz ma wymagana kwotę oraz odczekał wymagny czas do ponownego użyciaruletki. Tutaj możesz wywołać ruletkę. Oraz ustawiasz task w którym np. Za 2 minuty wyzerujesz mu czas oczekiwania.
Jeśli chcesz wyświetlać ilość pozostałych sekund to:
czas[id] = 120
I task dajesz na 1 sec i z flaga b.
Sprawdzasz w funkcji wywoływanej przez task czy czas nie jest równy juz 0 jeśli tak to usuwasz task.
Jeśli nie chcesz by gracz widział ile mu zostalo możesz do zmiennej czas przypisać cokolwiek i ustawić task i ustawić go na te 120 sekund i tam od razu zerować.
}
Else ColorChat(id, kolor, " Ruletkę możesz użyć tylko raz na 2 minuty oraz musisz mieć 10000$ ")

}
  • +
  • -
  • 0

HTML ★ CSS ★ JAVASCRIPT ★ AJAX ★ JQUERY ★ PHP ★ C++ ★ PAWN ★ SQL ★ Objective-C++


MKW0tb8.pngMKW0tb8.pngMKW0tb8.png


#6 Robiin

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 106
Super Hero

  • Postów:2 049
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 02.05.2016 15:07

Z twojej wypowiedzi wywnioskowałem, że możliwość ruletki może być dostępna tylko dla osób z dana suma pieniędzy i co jakiś czas.
Więc:

New czas[32];

Public funkcja(id)
{
New money = cs_get_user_money(id)
If(money >= 10000 && czas[id] == 0)
{
Gracz ma wymagana kwotę oraz odczekał wymagny czas do ponownego użyciaruletki. Tutaj możesz wywołać ruletkę. Oraz ustawiasz task w którym np. Za 2 minuty wyzerujesz mu czas oczekiwania.
Jeśli chcesz wyświetlać ilość pozostałych sekund to:
czas[id] = 120
I task dajesz na 1 sec i z flaga b.
Sprawdzasz w funkcji wywoływanej przez task czy czas nie jest równy juz 0 jeśli tak to usuwasz task.
Jeśli nie chcesz by gracz widział ile mu zostalo możesz do zmiennej czas przypisać cokolwiek i ustawić task i ustawić go na te 120 sekund i tam od razu zerować.
}
Else ColorChat(id, kolor, " Ruletkę możesz użyć tylko raz na 2 minuty oraz musisz mieć 10000$ ")

}

 

 

Jestem głupi, albo głupi xD

 

Przykładzik może?  


  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.





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

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