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

Modyfikacja slots_reservation


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

#1 bartek124

    Profesjonalista

  • Użytkownik

Reputacja: 30
Życzliwy

  • Postów:188
  • Lokalizacja:Kołaczyce
Offline

Napisano 25.06.2008 08:23

Witam :)

1. Potrzebuję modyfikacji TEGO pluginu tak, żeby zwalniając slota, nie kickował ludzi z odpowiednią flagą, np O. To raczej będzie proste do wykonania, w tym problem że nigdzie nie mogę znaleźć pluginu o podobnym działaniu i nie mam się na czym wzorować :/

2. Przerobić ten sam plugin, żeby w tym momencie:
if ( is_user_bot(id) ) 
			server_cmd("kick #%d", get_user_userid(id)  ) 
		else 
			client_cmd(id,"echo ^"Server jest pelny.^";disconnect")

Nie wywalał komunikatu Server jest pelny., tylko robił redirect na inny server.
Myślę, że ten plugin się przyda:
/* AMXX Mod Script
*
* Simple Redirection Plugin for AMXX
* Orginal Code by Sonic ([email protected])
* Modified and Made for AMXX by BigBaller
*
* Place following cvars in server.cfg
*
* amx_rd_maxplayers <x> // - begin redirection when more the x ppl connected ( 0 = redirect all players )
* amx_rd_server <x> // - redirect to this server
* amx_rd_serverport <x> // - redirect server port
* amx_rd_serverpw <x> // - password for the amx_rd_server (if needed)
*
*
* To Disable this plugin set amx_rd_maxppl to 33 or remove from plugins.ini
*/

#include <amxmodx>

public plugin_init() {
register_plugin("Simple Redirect","1.0","BigBaller")
register_cvar("amx_rd_maxplayers","0")

register_cvar("amx_rd_server","")
register_cvar("amx_rd_serverport","")
register_cvar("amx_rd_serverpw","")
}

public client_connect(id){
new rd_maxplayers = get_cvar_num("amx_rd_maxplayers")
new rd_serverport = get_cvar_num("amx_rd_serverport")
new rd_server[64], rd_serverpw[32]
get_cvar_string("amx_rd_server",rd_server,63)
get_cvar_string("amx_rd_serverpw",rd_serverpw,31)
if ( get_playersnum() >= rd_maxplayers) {
if ( !equal(rd_serverpw,"") )
client_cmd(id,"echo ^"[AMXX] Simple Redirection - Set Password to %s^";password %s",rd_serverpw,rd_serverpw)
client_cmd(id,"echo ^"[AMXX] Simple Redirection - Redirecting to %s:%d^";connect %s:%d",rd_server,rd_serverport,rd_server,rd_serverport)
}
return PLUGIN_CONTINUE
}

Pozdro i dzięki za pomoc :).

EDIT: Z pierwszym już sobie poradziłem :P.
  • +
  • -
  • 0

#2 mloddyy

    Początkujący

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:12
Offline

Napisano 27.06.2008 14:49

Nie bardzo rozumiem ocb, spróbuj tak
if ( is_user_bot(id) )
            client_cmd(id,"connect ip:port")

  • +
  • -
  • 0

#3 Seba

    Wszechobecny

  • Zbanowany

Reputacja: 198
Profesjonalista

  • Postów:424
  • Lokalizacja:Internet
Offline

Napisano 27.06.2008 15:20

if ( is_user_bot(id) )

	server_cmd("kick #%d", get_user_userid(id)  )

else

	client_cmd(id,"connect ip")


#4 bartek124

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 30
Życzliwy

  • Postów:188
  • Lokalizacja:Kołaczyce
Offline

Napisano 27.06.2008 17:04

if ( is_user_bot(id) )
    server_cmd("kick #%d", get_user_userid(id)  )
else
    client_cmd(id,"connect ip")


Hmm, skoro warunek is_user_bot(id) spełnia się przy kickaniu osob, to w którym spełni się else?
  • +
  • -
  • 0

#5 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 27.06.2008 19:26

Seba dobrze napisal.

sprawdza czy jest to bot (zbot, podbot, etc.bot xD) jesli tak to po prostu kick, bo nie zmusisz bota by polaczyl sie na inny serwer, ELSE osnacza w przeciwnym wypadku, czyli gdy NIE jest botem - normalny gracz. A prosiles o to by takich redirectnol na inny serwer ;-)
  • +
  • -
  • 0

#6 bartek124

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 30
Życzliwy

  • Postów:188
  • Lokalizacja:Kołaczyce
Offline

Napisano 27.06.2008 19:52

Hmm, wiem co oznacza else :P. Chodzi o to, że na servie nie grają boty a kicka normalnych ludzi, czyli funkcja i_user_bot jakimś cudem wykonuje się u zwykłego gracza...

Na servie mam ustawioną opcję kickania najkrócej grającego ^^
  • +
  • -
  • 0

#7 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 27.06.2008 20:06

is_user_bot(id)
Zwraca tylko prawde gdy uzytownik jest botem, czyli zamiast pingu ma napis BOT (czyli mozna np. plugiem Bot maker [lub podobna nazwa] sprawic by uzytkownika uznawalo jako bota).

Bardziej mnie martwi, ze
client_cmd(id,"connect ip:port")
mogles skopiowac doslownie, co zpowoduje rozlaczenie gracza z serwera, a ze nie ma podanego adresu w poprawnej formie nic ciekawego sie niedzieje i prawie jak kick ;-)

No chyba ze jest komunikat ze zostales kickniety z serwa to sie przyjze pozadnie plugowi ;>
  • +
  • -
  • 0

#8 bartek124

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 30
Życzliwy

  • Postów:188
  • Lokalizacja:Kołaczyce
Offline

Napisano 27.06.2008 20:28

Heh, już kapuje :P.
if ( is_user_bot(id) ) 
			server_cmd("kick #%d", get_user_userid(id)  ) 
		else 
			client_cmd(id,"echo ^"Server jest pelny.^";disconnect")

Jeżeli jest bot to kicka, a jak próbuje wejść gościu to robi disconnect i wyświetla stosowny komunikat :).

Czyli zamiast tego:
client_cmd(id,"echo ^"Server jest pelny.^";disconnect")
mogę dać:
client_cmd(id,"connect ip")

I powinno działać :). Sorry, ale nie zaglądnąłem wcześciej w kod i nie pamiętałem warunku, a myślałem że to co dał Seba działa na innej zasadzie :).

Już wiem ocb, dzięki za pomoc :).

No chyba ze jest komunikat ze zostales kickniety z serwa to sie przyjze pozadnie plugowi ;>


A da się zrobić, żeby przed redirectem na inny serv wyświetlało jakiś komunikat o tym? ^^
  • +
  • -
  • 0

#9 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 27.06.2008 20:32

Mozesz dac odpowiedni client_print(id,....) i zrobic np. set_task(5.0,"funkcja_redirect",id)

Sry ze sie do tego nie przylozylem, ale chyba to dla ciebie drobiazg :)
  • +
  • -
  • 0

#10 Seba

    Wszechobecny

  • Zbanowany

Reputacja: 198
Profesjonalista

  • Postów:424
  • Lokalizacja:Internet
Offline

Napisano 28.06.2008 06:42

Nie wywalał komunikatu Server jest pelny., tylko robił redirect na inny server.
Myślę, że ten plugin się przyda:

Toż właśnie to zrobiłem -.-

#11 bartek124

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 30
Życzliwy

  • Postów:188
  • Lokalizacja:Kołaczyce
Offline

Napisano 28.06.2008 06:56

Seba, wiem, ale dopiero później załapałem :] .
  • +
  • -
  • 0




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

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