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

Ustawianie timera na ruletke


  • 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 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

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


#2 Puchate

    Wszechobecny

  • Użytkownik

Reputacja: 204
Profesjonalista

  • Postów:433
  • 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 Robiin

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 106
Super Hero

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

Napisano 11.04.2016 16:38

~ Cls

 

Puchate thx wielkie +1 ;>


  • +
  • -
  • 0

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


#4 Robiin

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 106
Super Hero

  • Postów:2 049
  • 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

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


#5 Master Yoga

    Support Team | Mocarz

  • Support Team

Reputacja: 136
Zaawansowany

  • Postów:275
  • 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++


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 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

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