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] Rezerwacja slotuJak zmienić Admin_Level dla rezerwacji slotu?


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

#1 EbuBebu

    Początkujący

  • Użytkownik

Reputacja: -1
Nowy

  • Postów:14
  • Imię:Sebastian
  • Lokalizacja:Opole
Offline

Napisano 08.03.2020 11:47

Witam, chciałbym ustawić aby każdy gracz posiadał rezerwację slotu, jak można tego dokonać? Czy istnieje możliwość zmiany rezerwacji slotu z flagi ADMIN_RESERVATION 2 na ADMIN_USER ? 

 

Pozdrawiam i z góry dziękuje za odpowiedź. 


  • +
  • -
  • 0

#2 nojaknie

    Profesjonalista

  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:195
Offline

Napisano 08.03.2020 12:02

#include <amxmodx>
#include <amxmisc>

new g_ResPtr
new g_HidePtr
new g_sv_visiblemaxplayers

public plugin_init()
{
	register_plugin("Slots Reservation", AMXX_VERSION_STR, "AMXX Dev Team")
	register_dictionary("adminslots.txt")
	register_dictionary("common.txt")
	g_ResPtr = register_cvar("amx_reservation", "0", FCVAR_PROTECTED)
	g_HidePtr = register_cvar("amx_hideslots", "0")
	g_sv_visiblemaxplayers = get_cvar_pointer("sv_visiblemaxplayers")
}

public plugin_cfg()
{
	set_task(3.0, "MapLoaded")
}

public MapLoaded()
{
	if (get_pcvar_num(g_HidePtr))
	{
		setVisibleSlots(get_playersnum(1), MaxClients - get_pcvar_num(g_ResPtr))
	}
}

public client_authorized(id)
{
	new players = get_playersnum(1)
	new limit = MaxClients - get_pcvar_num(g_ResPtr)

	if (access(id, ADMIN_RESERVATION) || (players <= limit))
	{
		if (get_pcvar_num(g_HidePtr))
			setVisibleSlots(players, limit)
		return
	}
	
 	server_cmd("kick #%d ^"%L^"", get_user_userid(id), id, "DROPPED_RES")
}

public client_remove(id)
{
	if (get_pcvar_num(g_HidePtr))
	{
		setVisibleSlots(get_playersnum(1), MaxClients - get_pcvar_num(g_ResPtr))
	}
}

setVisibleSlots(players, limit)
{
	new num = players + 1

	if (players == MaxClients)
		num = MaxClients
	else if (players < limit)
		num = limit
	
	set_pcvar_num(g_sv_visiblemaxplayers, num)
}

adminslots linijka numer 36

if (access(id, ADMIN_RESERVATION) || (players <= limit))

Tutaj możesz zmienić flagę w pluginie odpowiedzialnym za rezerwacje. 

Ewentualnie jeszcze można było to zrobić w jakimś pliku z tego co kojarzę ale nie pamiętam dokładnie więc nie będę podrzucał błędnego tropu 


Użytkownik esej edytował ten post 08.03.2020 12:05

  • +
  • -
  • 1

#3 EbuBebu

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:14
  • Imię:Sebastian
  • Lokalizacja:Opole
Offline

Napisano 08.03.2020 18:51

#include <amxmodx>
#include <amxmisc>

new g_ResPtr
new g_HidePtr
new g_sv_visiblemaxplayers

public plugin_init()
{
	register_plugin("Slots Reservation", AMXX_VERSION_STR, "AMXX Dev Team")
	register_dictionary("adminslots.txt")
	register_dictionary("common.txt")
	g_ResPtr = register_cvar("amx_reservation", "0", FCVAR_PROTECTED)
	g_HidePtr = register_cvar("amx_hideslots", "0")
	g_sv_visiblemaxplayers = get_cvar_pointer("sv_visiblemaxplayers")
}

public plugin_cfg()
{
	set_task(3.0, "MapLoaded")
}

public MapLoaded()
{
	if (get_pcvar_num(g_HidePtr))
	{
		setVisibleSlots(get_playersnum(1), MaxClients - get_pcvar_num(g_ResPtr))
	}
}

public client_authorized(id)
{
	new players = get_playersnum(1)
	new limit = MaxClients - get_pcvar_num(g_ResPtr)

	if (access(id, ADMIN_RESERVATION) || (players <= limit))
	{
		if (get_pcvar_num(g_HidePtr))
			setVisibleSlots(players, limit)
		return
	}
	
 	server_cmd("kick #%d ^"%L^"", get_user_userid(id), id, "DROPPED_RES")
}

public client_remove(id)
{
	if (get_pcvar_num(g_HidePtr))
	{
		setVisibleSlots(get_playersnum(1), MaxClients - get_pcvar_num(g_ResPtr))
	}
}

setVisibleSlots(players, limit)
{
	new num = players + 1

	if (players == MaxClients)
		num = MaxClients
	else if (players < limit)
		num = limit
	
	set_pcvar_num(g_sv_visiblemaxplayers, num)
}

adminslots linijka numer 36

if (access(id, ADMIN_RESERVATION) || (players <= limit))

Tutaj możesz zmienić flagę w pluginie odpowiedzialnym za rezerwacje. 

Ewentualnie jeszcze można było to zrobić w jakimś pliku z tego co kojarzę ale nie pamiętam dokładnie więc nie będę podrzucał błędnego tropu 

 

 

Dziękuję za odpowiedź, powiedz proszę tylko czy to już jest istniejący plugin czy należy stworzyć nowy własny? 


  • +
  • -
  • 0

#4 EbuBebu

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:14
  • Imię:Sebastian
  • Lokalizacja:Opole
Offline

Napisano 08.03.2020 19:33

@Edit: Przepraszam ale nie mogłem już edytować postu, wszystko zrobiłem według twoich zaleceń! Dzięki mordo, jesteś wielki! Temat do zamknięcia. Pozdrawiam


  • +
  • -
  • 0

#5 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.03.2020 07:53

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