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] Sklep SMS nie przyznaje VIP'a graczom


Najlepsza odpowiedź Boski Z Polski, 07.01.2023 22:36

public client_disconnected(id)
{
	if(task_exists(id + 1000))
	{
		remove_task(id + 1000);
	}
	
	if(g_Vip[id])
        {
		client_disconnect_vip(id);
	}
}

oraz

public client_authorized(id)
{
	set_task(5.0, "task_daj", id + 1000);
}

public task_daj(id)
{
	id -= 1000;
	
	if(!is_user_connected(id))
	{
		return PLUGIN_CONTINUE;
	}
	
	if(get_user_flags(id) & 524288 == 524288)
	{
		client_authorized_vip(id);
	}
	
	return PLUGIN_CONTINUE;
}

Po 5 sekundach od wejścia gracza na serwer

Przejdź do postu


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

#1 MrStrajker

    Zaawansowany

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:109
  • GG:
  • Imię:Patryk
  • Lokalizacja:Sosnowiec
Offline

Napisano 07.01.2023 19:38

Witam,

 

Posiadam sklep sms na serwerze który przyznaje po wykupieniu vip'a flagę "T" (niestety nie posiadam .sma tego sklepu)

Sklep sam w sobie poprawnie działa, bo po wpisaniu amx_who rzeczywiście przyznawana jest flaga T

 

Natomiast problem tkwi prawdopodobnie w pluginie vip'a który sam w sobie też działa poprawnie, ale niestety pomimo tego, że gracz ma flagę T vip nie działa.

Co ciekawe nie działa tylko po przez przyznanie flagi jako sklepsms - wystarczy, że dodam flagę w amxbansie albo przez plugin nocny_vip - vip jest przyznawany.

 

Dodatkowo powiem, że np. spadochron, który mam pod flagę T sklep normalnie wykrywa i gracz może używać spadochronu - tylko i wyłącznie jest problem z vipem.

Podsyłam również w załączniku plugin spadochronu być może ktoś z Was rozwiąże tą zagadkę o co tutaj chodzi.

 

Pozdrawiam i liczę na pomoc :)

Załączone pliki


  • +
  • -
  • 0

#2 Boski Z Polski

    Profesjonalista

  • Użytkownik

Reputacja: 61
Pomocny

  • Postów:183
  • Steam:steam
  • Imię:Olgierd
  • Lokalizacja:Leszno
Offline

Napisano 07.01.2023 20:25

public event_new_round()
{
	++gRound;
	
	for(new i = 1; i <= maxPlayers; i++)
	{
		if(get_user_flags(i) & 524288 == 524288 && g_Vip[i] == false)
		{
			client_authorized_vip(i);
		}
	}
}

Zamień funkcję event_new_round na powyższą

Problem jest to, że sklep nie używa zapewne forwardu amxbans_admin_connect(id) oraz dodatkowo plugin od vip'a sprawdza tylko jednorazowo czy gracz ma flagę przy wejściu na serwer. W tym co dałem wyżej, serwer będzie sprawdzał co rundę czy gracz ma odpowiednią flagę i nie ma vipa.  


Użytkownik Boski Z Polski edytował ten post 07.01.2023 20:26

  • +
  • -
  • 2

#3 MrStrajker

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:109
  • GG:
  • Imię:Patryk
  • Lokalizacja:Sosnowiec
Offline

Napisano 07.01.2023 22:04

Super, dziękuje bardzo działa.

 

A jesteśmy w stanie zrobić aby przyznawało vip'a przy każdym łączeniu na serwer?

Aktualnie jest tak, że gdy gracz wejdzie w połowie rundy to jest bez vipa i musi czekać do nowej rundy.


  • +
  • -
  • 0

#4 Boski Z Polski

    Profesjonalista

  • Użytkownik

Reputacja: 61
Pomocny

  • Postów:183
  • Steam:steam
  • Imię:Olgierd
  • Lokalizacja:Leszno
Offline

Napisano 07.01.2023 22:36   Najlepsza odpowiedź

public client_disconnected(id)
{
	if(task_exists(id + 1000))
	{
		remove_task(id + 1000);
	}
	
	if(g_Vip[id])
        {
		client_disconnect_vip(id);
	}
}

oraz

public client_authorized(id)
{
	set_task(5.0, "task_daj", id + 1000);
}

public task_daj(id)
{
	id -= 1000;
	
	if(!is_user_connected(id))
	{
		return PLUGIN_CONTINUE;
	}
	
	if(get_user_flags(id) & 524288 == 524288)
	{
		client_authorized_vip(id);
	}
	
	return PLUGIN_CONTINUE;
}

Po 5 sekundach od wejścia gracza na serwer


Użytkownik Boski Z Polski edytował ten post 07.01.2023 22:37

  • +
  • -
  • 2

#5 MrStrajker

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:109
  • GG:
  • Imię:Patryk
  • Lokalizacja:Sosnowiec
Offline

Napisano 08.01.2023 08:55

Wszystko pięknie działa tak jak ma działać.

Jeszcze raz pięknie dziękuje!


  • +
  • -
  • 0

#6 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 09.01.2023 09:19

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0




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

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