Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

Ustawianie timera na ruletke


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

#1 aSik

    Wszechobecny

  • Użytkownik

Reputacja: 79
Zaawansowany

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

Napisano 11.04.2016 09:30

Cześć, napisałem sobie na szybko ruletkę, ale zapomniałem najistotniejszej rzeczy mając na celu inną rzecz. Ale jakby tego mało, zapomniał timera, i zapomniałem najważniejszego co chciałem zrobić  :facepalm:

 

 

Nie wiem też jak zrobić timer. Tak na około 180 sekund, ustawianych definem CZAS

 

 

Ktoś podpowiedziałby jak zrobić timer/zrobiłby go, żebym mógł zobaczyć jak to działa? ^^

 

Spoiler

 

 

 

Załączone pliki


Użytkownik asik edytował ten post 11.04.2016 09:30

  • +
  • -
  • 0

Odszedłem.

 

Nadal wchodzę na forum, ale nie piszę postów.


#2 Puchate

    Wszechobecny

  • Użytkownik

Reputacja: 198
Profesjonalista

  • Postów:432
  • Lokalizacja:Polska
Offline

Napisano 11.04.2016 10:01

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Plugin"
#define VERSION "0.1"
#define AUTHOR "Sn!ff3r"


new lastUsed[33]
new useDelay = 180

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
}

public client_putinserver(id)
{
	lastUsed[id] = 0;
}

public funkcjaLosujaca(id) 
{
	new timestamp = get_systime();
	
	if(!lastUsed[id] || timestamp - lastUsed[id] > useDelay)
	{
		// tutaj funkcja losujaca itd
		
		lastUsed[id] = timestamp;	
	}
	else
	{
		client_print(id, print_chat, "Ruletki mozesz uzyc ponownie za %d sekund", useDelay - (timestamp - lastUsed[id]))
	}
}

  • +
  • -
  • 1

#3 aSik

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 79
Zaawansowany

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

Napisano 11.04.2016 16:38

~ Cls

 

Puchate thx wielkie +1 ;>


  • +
  • -
  • 0

Odszedłem.

 

Nadal wchodzę na forum, ale nie piszę postów.


#4 aSik

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 79
Zaawansowany

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

Napisano 05.05.2016 13:24

~ Do zamknięcia. Głupie pytanie ;P


Użytkownik asik edytował ten post 05.05.2016 13:37

  • +
  • -
  • 0

Odszedłem.

 

Nadal wchodzę na forum, ale nie piszę postów.


#5 Master Yoga

    Support Team | Mocarz

  • Support Team

Reputacja: 115
Zaawansowany

  • Postów:250
  • GG:
  • Lokalizacja:Magistrala Adresowa
Offline

Napisano 05.05.2016 13:47


(jeśli np. 10.000$ kosztuje los, i tych 10.000$ nie masz, ale spróbujesz zalosować, to jak nie włączać useDelay? )
Skoro los kosztuje to nie ma sensu dawania możliwości losowania innym graczom nie mającej wymaganej kwoty. No bo co to by była za sprawiedliwość gdyby to jedni musieli płacić za los i czekać na kolejną taką możliwość podczas gdy drudzy losowali by bez wymaganej kwoty i jak to ująłeś "Delay".

 

A co do samego sposobu wykonania.

W pierwszym warunku musisz dodać sprawdzanie czy gracz posiada wymaganą kwotę.

Pisząc pierwszy warunek mam na myśli to:

if(!lastUsed[id] || timestamp - lastUsed[id] > useDelay)

Jeśli warunek zostanie spełniony to : ( cytuję ) "włączy się Delay", w przeciwnym razie otrzymasz tylko informację o tym, że ruletkę możesz użyć raz na X sekund.

W skrócie powyższe zdanie to odpowiedź na to pytanie:


to jak nie włączać useDelay? )

 

Wesprę cię jeszcze przykładem byś nie musiał się męczyć.

public funkcjaLosujaca(id) 
{
	new timestamp = get_systime();
	
        new kasa = cs_get_user_money(id);  <-- ilosc posiadanej kasy

	if((!lastUsed[id] || timestamp - lastUsed[id] > useDelay) && kasa >= 10000)
	{
		// tutaj funkcja losujaca itd
                cs_set_user_money(id,kasa-10000) <-- zabieramy graczowi 10000 $
		
		lastUsed[id] = timestamp;	<--- Delay
	}
	else <-- jesli gracz nie ma kasy badz uzyl juz ruletki wczesniej dostanie tylko info bez "Dealy"
	{
		client_print(id, print_chat, "Ruletki mozesz uzyc ponownie za %d sekund", useDelay - (timestamp - lastUsed[id]))
	}
}

  • +
  • -
  • 0

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


#6 aSik

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 79
Zaawansowany

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

Napisano 05.05.2016 14:26

 


(jeśli np. 10.000$ kosztuje los, i tych 10.000$ nie masz, ale spróbujesz zalosować, to jak nie włączać useDelay? )
Skoro los kosztuje to nie ma sensu dawania możliwości losowania innym graczom nie mającej wymaganej kwoty. No bo co to by była za sprawiedliwość gdyby to jedni musieli płacić za los i czekać na kolejną taką możliwość podczas gdy drudzy losowali by bez wymaganej kwoty i jak to ująłeś "Delay".

 

A co do samego sposobu wykonania.

W pierwszym warunku musisz dodać sprawdzanie czy gracz posiada wymaganą kwotę.

Pisząc pierwszy warunek mam na myśli to:

if(!lastUsed[id] || timestamp - lastUsed[id] > useDelay)

Jeśli warunek zostanie spełniony to : ( cytuję ) "włączy się Delay", w przeciwnym razie otrzymasz tylko informację o tym, że ruletkę możesz użyć raz na X sekund.

W skrócie powyższe zdanie to odpowiedź na to pytanie:

 

 


to jak nie włączać useDelay? )

 

Wesprę cię jeszcze przykładem byś nie musiał się męczyć.

public funkcjaLosujaca(id) 
{
	new timestamp = get_systime();
	
        new kasa = cs_get_user_money(id);  <-- ilosc posiadanej kasy

	if((!lastUsed[id] || timestamp - lastUsed[id] > useDelay) && kasa >= 10000)
	{
		// tutaj funkcja losujaca itd
                cs_set_user_money(id,kasa-10000) <-- zabieramy graczowi 10000 $
		
		lastUsed[id] = timestamp;	<--- Delay
	}
	else <-- jesli gracz nie ma kasy badz uzyl juz ruletki wczesniej dostanie tylko info bez "Dealy"
	{
		client_print(id, print_chat, "Ruletki mozesz uzyc ponownie za %d sekund", useDelay - (timestamp - lastUsed[id]))
	}
}

 

Dzięki, ale \/ :P

 

 

~ Do zamknięcia. Głupie pytanie ;P


  • +
  • -
  • 0

Odszedłem.

 

Nadal wchodzę na forum, ale nie piszę postów.





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

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