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

Większe mniejsze, równe - znowu pytaniew query_client_cvar


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

#1 Żuk

    Wszechwidzący

  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:291
  • Lokalizacja:Katowice
Offline

Napisano 26.09.2017 20:40

Cześć, potrzebuję wykryć wartość cvar'u u gracza, jednak cvar ten może mieć wartość X i mniejszą. Jak to zrobić w query_client_cvar np. na kodzie z dokumentacji ? Załóżmy na przykładzie interpu, ale zmieńmy wartość na 5 żeby było przejrzyściej. Ja chciałbym, żeby wartość 5 oraz mniejsze od 5 były dozwolone.

 

 

 #include < amxmodx >

public plugin_init()
register_plugin("Przyklad", "1.0", "query_client_cvar")

public client_putinserver(id)
{
set_task(7.0,"SprawdzajGo",id) // gracz weszedł na serwer i musimy mu sprawdzić interp
set_task(60.0,"SprawdzajGo",id, .flags="b") // a potem co minute będziemy mu sprawdzać interp
}

public SprawdzajGo(id)
if(!is_user_bot(id)) // jesli gracz jest botem to dalsza czynność się nie wykona
query_client_cvar(id,"ex_interp","interp") // sprawdzamy jaki gracz ma interp

public interp(id,const cvar[],const value[])
{
if(!strcmp(value, "5", 1)) // sprawdzamy czy interp gracza to 5
{
client_print(id, print_chat, "Masz prawidlowy Interp! Milej Zabawy!") // informujemy na czacie o prawidłowym interpie
}
else
{
client_print(id, print_chat, "Twoj Interp jest nieprawidlowy! Wroc innym razem!") // a tu o nieprawidłowym
kickuj(id) // i wykonamy dalszą czynność na graczu o złym interpie
}
}

public kickuj(id)
{
server_cmd("amx_kick #%d ^"Zmien ex_interp (czytaj w konsoli)^"",get_user_userid(id)) // wyrzucamy gracza z serwera (kick)

//drukujemy wiadomosc graczowi w konsoli
console_print(id,"---------------------------------------")
console_print(id,"[Interp] Interp dozwolony na tym serwerze to 0.01")
console_print(id,"[Interp] Aby zmienic swoj interp na dozwolony na tym serwerze wpisz w consoli gry:")
console_print(id,"[Interp] ex_interp ^"wartosc^"");
console_print(id,"---------------------------------------")
//
}

public client_disconnect(id)
if(task_exists(id))
remove_task(id) // gdy gracz wyjdzie z serwera usuwamy z niego taska sprawdzającego interpu
// aby nie było nie przyjemnych errorów


  • +
  • -
  • 0

#2 wacho

    Pomocny

  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:64
  • GG:
  • Imię:Jakub
Offline

Napisano 26.09.2017 22:28

#include < amxmodx >


public plugin_init()

register_plugin("Przyklad", "1.0", "query_client_cvar")


public client_putinserver(id)

{

set_task(7.0,"SprawdzajGo",id) // gracz weszedł na serwer i musimy mu sprawdzić interp

set_task(60.0,"SprawdzajGo",id, .flags="b") // a potem co minute będziemy mu sprawdzać interp

}


public SprawdzajGo(id)

if(!is_user_bot(id)) // jesli gracz jest botem to dalsza czynność się nie wykona

query_client_cvar(id,"ex_interp","interp") // sprawdzamy jaki gracz ma interp


public interp(id,const cvar[],const value[])

{

if(!strcmp(value, "5", 1) || !strcmp(value, "4", 1) || !strcmp(value, "3", 1) || !strcmp(value, "2", 1) || !strcmp(value, "1", 1)) // sprawdzamy czy interp gracza to 5

{

client_print(id, print_chat, "Masz prawidlowy Interp! Milej Zabawy!") // informujemy na czacie o prawidłowym interpie

}

else

{

client_print(id, print_chat, "Twoj Interp jest nieprawidlowy! Wroc innym razem!") // a tu o nieprawidłowym

kickuj(id) // i wykonamy dalszą czynność na graczu o złym interpie

}

}


public kickuj(id)

{

server_cmd("amx_kick #%d ^"Zmien ex_interp (czytaj w konsoli)^"",get_user_userid(id)) // wyrzucamy gracza z serwera (kick)


//drukujemy wiadomosc graczowi w konsoli

console_print(id,"---------------------------------------")

console_print(id,"[Interp] Interp dozwolony na tym serwerze to 0.01")

console_print(id,"[Interp] Aby zmienic swoj interp na dozwolony na tym serwerze wpisz w consoli gry:")

console_print(id,"[Interp] ex_interp ^"wartosc^"");

console_print(id,"---------------------------------------")

//

}


public client_disconnect(id)

if(task_exists(id))

remove_task(id) // gdy gracz wyjdzie z serwera usuwamy z niego taska sprawdzającego interpu

// aby nie było nie przyjemnych errorów

 


  • +
  • -
  • 1

#3 wacho

    Pomocny

  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:64
  • GG:
  • Imię:Jakub
Offline

Napisano 26.09.2017 22:29

Powinno być dobrze ;P


  • +
  • -
  • 0

#4 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

Napisano 27.09.2017 05:33

str_to_num(value) < 5

  • +
  • -
  • 1

#5 Żuk

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:291
  • Lokalizacja:Katowice
Offline

Napisano 27.09.2017 22:27

@Asiap

 

pięknie działa, dzięki


  • +
  • -
  • 0




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

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