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

Regulamin Na serwerze


  • Zamknięty Temat jest zamknięty
Brak odpowiedzi do tego tematu

#1 ArtisT

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:12
  • Lokalizacja:Konin
Offline

Napisano 08.08.2009 14:43

Mam plugin z zasadami: ten plugin działa gdy ktoś wbije na serwa wyskakuje mu takie menu i tam ma do wybory:
7 zostaje..
8.wychodze
9 pokaz zasady serwera.

Jest taki błąd ze jeśli Nie akceptujesz zasad daje ci kicka za 60 sek I po ponownym wejściu Nie wyskakuje menu z Zasadami Jak na początku tekst "nie zapoznałeś się z treścią zasad" za 60 sek kick i tak jakby byl amx_kick save "60 sek" "steamid" "id valve".

a powinno być ze dajesz recona i masz menu z zasadami, zaakceptujesz to Nie wyrzuca.

I czy mógł by ktoś przejrzeć plugin i powiedzieć gdzie jest błąd.

#include <amxmodx>
 #include <amxmisc>

 #define TASK_GENERAL	100
 #define TASK_KICK	200

 new name[32], authid[32], ip[32];

 new const rules[] = "rules.html";
 new const agreedfile[] = "addons/amxmodx/configs/agreed.ini";
 new const declinedfile[] = "addons/amxmodx/configs/declined.ini";

 public plugin_init()
 {
	register_plugin("Terms and Agreements","0.20","DahVid/Avalanche");
	register_menucmd(register_menuid("rules_menu"),1023,"RulesMenu");
	register_clcmd("amx_removedecline","EraseDecline",ADMIN_BAN,"<authid> - removes an authid from decline list");
	set_task(1.0,"checkforfiles");
 }

 public checkforfiles()
 {
	if(!file_exists(agreedfile)) write_file(agreedfile,"; zapraszamy do gry")
	if(!file_exists(declinedfile)) write_file(declinedfile,"; Wybacz nie chcemy cie na serwie sproboj pozniej")
	if(!file_exists(rules)) write_file(rules,"Zasady Serwera")
 }

 public client_putinserver(id)
 {
	remove_task(TASK_GENERAL+id);
	remove_task(TASK_KICK+id);

	if(is_user_bot(id)) return;

	new szData[3][32], line, k;

	static szPAuthid[32], szLine[256];
	get_user_authid(id,szPAuthid,31);

	while((line = read_file(agreedfile,line,szLine,255,k)) != 0)
	{
		if(szLine[0] == ';' || !k) continue;

		parse(szLine,szData[0],31,szData[1],31,szData[2],31);
		if(equal(szPAuthid,szData[0])) return; // user has agreed before
	}

	while((line = read_file(declinedfile,line,szLine,255,k)) != 0)
	{
		if(szLine[0] == ';' || !k) continue;

		parse(szLine,szData[0],31,szData[1],31,szData[2],31);
		if(equali(szPAuthid,szData[0]))
		{
			set_task(5.0,"DeclinedFunc",TASK_GENERAL+id);
			return; // user has declined
		}
	}

	set_task(5.0,"DisplayRulesMenu",TASK_GENERAL+id);
 }

 public client_disconnect(id)
 {
	remove_task(TASK_GENERAL+id);
	remove_task(TASK_KICK+id);
 }

 public EraseDecline(id,level,cid)
 {
	if(!cmd_access(id,level,cid,2))
		return PLUGIN_HANDLED;

	new szData[3][32], line, k;

	static szPAuthid[32], szLine[256];
	read_argv(1,szPAuthid,31);

	while((line = read_file(declinedfile,line,szLine,255,k)) != 0)
	{
		if(szLine[0] == ';' || !k) continue;

		parse(szLine,szData[0],31,szData[1],31,szData[2],31);
		if(equali(szPAuthid,szData[0]))
		{
			write_file(declinedfile,"",line-1);

			console_print(id,"* Removed %s from the declined users list",szPAuthid);
			return PLUGIN_HANDLED;
		}
	}

	console_print(id,"* Could not find %s in the declined users list",szPAuthid);
	return PLUGIN_HANDLED;
 }

 public DisplayRulesMenu(taskid)
 {
	new id = taskid-TASK_GENERAL;

	static szMenuBody[256];
	if(!szMenuBody[0])
	{
		new len = format(szMenuBody,255,"Menu zasad Serwera FreeFrags AIm AWp :^n");
		len += format(szMenuBody[len],255-len,"^n7. Zostane i pogram Na tym serwie");
		len += format(szMenuBody[len],255-len,"^n8. Wychodze Bo nie znam regulaminu Bye");
		len += format(szMenuBody[len],255-len,"^n^n9. Pokaz zasady serwera");
	}

	new keys = MENU_KEY_7|MENU_KEY_8|MENU_KEY_9;
	show_menu(id,keys,szMenuBody,-1,"rules_menu");
 }

 public RulesMenu(id,key)
 {
	switch(key) 
	{
		case 6:
		{
			get_user_name(id,name,31);
			get_user_authid(id,authid,31);
			get_user_ip(id,ip,31);

			client_print(id,print_chat,"* Dziekuje za akceptacje zasad %s, Milej zabawy LOGGED [%s %s %s]",authid,ip,name);
			
			static agreed[256];
			format(agreed,255,"%s %s %s",authid,ip,name);
			write_file(agreedfile,agreed);
		}
		case 7:
		{
			get_user_name(id,name,31);
			get_user_authid(id,authid,31);
			get_user_ip(id,ip,31);

			console_print(id,"*sproboj pozniej moze sie uda. LOGGED [%s %s %s]",authid,ip,name);
			
			static declined[256];
			format(declined,255,"%s %s %s",authid,ip,name);
			write_file(declinedfile,declined);

			server_cmd("kick #%i ^"You declined the rules!^"",get_user_userid(id));
		}
		case 8:
		{
			client_print(id,print_chat,"* Masz 60 sek na przeczytanie zasady po uplywie czasu zostaniesz automatycznie kickniety pozdrawiam eMp|Y");

			show_motd(id,rules,"SERVER RULES");
			set_task(5.0,"DisplayRulesMenu",TASK_GENERAL+id);
		}
	}
 }

 public DeclinedFunc(taskid)
 {
	new id = taskid-TASK_GENERAL;

	client_print(id,print_chat,"Sory niezaponales sie z trescia regulaminu . MAsz jeszcze 60 sek potem zostaniesz kickniety.")
 	set_task(60.0,"KickUser",TASK_KICK+id);
 }

 public KickUser(taskid)
 {
	new id = taskid-TASK_KICK;
	if(is_user_connected(id)) server_cmd("kick #%i ^"Nie masz Pojecia o zasadach sproboj Pozniej moze sie uda.^"",get_user_userid(id));
 }

Z góry dzięki za pomoc.
  • +
  • -
  • 0




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

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