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

Rules


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

#1 verman

    Profesjonalista

  • Użytkownik

Reputacja: 37
Życzliwy

  • Postów:204
  • GG:
  • Lokalizacja:Bielsko-Biała
Offline

Napisano 27.08.2009 09:40

Witam. proszę o przerobienie pluginu rules. Chce aby plik txt nazywał sie zasady.txt a nie rules.txt i w sayu zamiast /rules chce /zasady, chce jeszcze aby usunac ta komende rules_show - pokazuje, że reguły są w rules.txt Z góry dziekuje.

/*
PUBLIC SERVER RULES 1.20 ( 2005-08-18 )

Plugin by Priski

Usage :
Put rules in rules.txt file in cstrike folder
and set rules_speed and rules_interval whatever you like

Commands :
rules_show	 - shows rules listed in rules.txt
rules_enable	 - set this to 0 to disable automatic rules display
say /rules	 - displays rules to normal user

CVARS :
rules_interval		- interval between automatic rules display
rules_admin_only	- disables say /rules command from regular users
rules_join		- if set 1 displays rules after player have joined server
rules_hudmessage_time	- time how long hudmessage is displayed
rules_join_timeout	- delay to show rules when joining to the server

Changelog :

1.20 / 2005-08-18
- removed client chat rules
- fixed major bugs

1.11 / 2005-08-15
- fixed some bugs

1.10 / 2005-08-14
- new CVARs : rules_hudmessage, rules_hudmessage_time
rules_join_timeout
- Rules in hudmessage mode also

1.03 / 2005-08-12
- rules_enable command fix.
- new CVAR "rules_join" set 1 to show rules
to players when they join server

1.02 / 2005-08-11
- optimized code
- rules_enable is now a command	
- default interval is now 10 minutes

1.01 / 2005-08-11
- added rules_admin_only & say /rules command
- variables are global now

1.0 / 2005-08-11
- first release

*/

#include <amxmodx>
#include <amxmisc>

new base[] = "rules.txt"

new i, num, text[127], hudmsg[440] //max hudmessage length was 439 chars (?)

public plugin_init()
{
	
	register_plugin("AMXX Public server rules", "1.20", "Priski")
	
	// register command
	
	register_concmd("rules_show", "rules", ADMIN_KICK, "- show rules to everybody")
	register_concmd("rules_enable", "r_enable", ADMIN_KICK, "- <1|0> set automessagin on/off")
	register_cvar("rules_admin_only", "0")
	register_cvar("rules_join", "1")
	register_cvar("rules_join_timeout", "5")
	register_cvar("rules_hudmessage_time", "10")
	register_cvar("rules_interval", "600")
	register_clcmd("say /rules", "clientrules", ADMIN_ALL, "- show rules")
} 

public plugin_cfg() {
	
	if (!file_exists(base)) {
		write_file(base, "; This is the public rules file, put your rules below")
		write_file(base, "; Remember, max amount of characters is 439")
		console_print(0, "%s file not found. creating new ...", base)
	}
	
}

public client_authorized ( id ) {
	// on join display rules
	
	if (get_cvar_num("rules_join")) {
		new tmp[1]
		tmp[0] = id
		set_task(1.0, "showrules",id,tmp,1)
		console_print(0, "[user %d] client auth!", tmp[0])
	}
	
	return PLUGIN_HANDLED
}


public showrules (pid[]) {
	new id = pid[0]
	
	if ( get_user_team(id) != 1 && get_user_team(id) != 2 ) {
		if (id) {
			new tmp[1]
			tmp[0] = id
			set_task(2.0, "showrules",id,tmp,1)  // not yet in server
			console_print(0, "[user %d] wait for joining team ...", id)
		}
		return PLUGIN_HANDLED
	}
	
	new tmp[1]
	tmp[0] = id
	
	console_print(0, "[user %d] joined team : %d", id, get_user_team(id))
	console_print(0, "[user %d] printing rules after %d seconds", id, get_cvar_num("rules_join_timeout"))
	
	set_task(get_cvar_float("rules_join_timeout"), "printrules", id, tmp, 1)  // not yet in server
	
	return PLUGIN_HANDLED
}

public printrules(pid[])
{
	new id = pid[0]
	if (file_exists(base))
		{
		
		console_print(0, "[user] printing rules for user %d", id)
		
		set_hudmessage ( 0, 255, 0, 0.02, 0.25, 2, 0.1, get_cvar_float("rules_hudmessage_time"), 0.05, 1.0, 1)
		format(hudmsg, 439, "")
		
		// read all the rules
		for(i=0; read_file(base, i, text, 127, num); i++) {
			if (num > 0 && text[0] != ';') {
				// display with predefined delay
				add(hudmsg,439,text)
				add(hudmsg,439,"^n")
			}
		}
		
		// show hudmessages
		show_hudmessage(id, hudmsg)
		
	}
	
	return PLUGIN_HANDLED
}


public r_enable(id, level, cid)
{
	if (!cmd_access(id, level, cid, 0)) {  // NOT ADMIN
		return PLUGIN_HANDLED
	}
	
	new arg[3]
	
	read_argv(1, arg, 2)
	new value = str_to_num(arg)
	
	if (!isalnum(arg[0]))
		value = -1
	
	if (value == 0) {
		
		if (task_exists(2)) // close task
			remove_task(2)	
		
		console_print(id, "You have disabled automatic messages")
		return PLUGIN_HANDLED
		
	}
	if (value == 1) {
		// activate task, reload if already exist
		if (task_exists(2)) {
			change_task(2, get_cvar_float("rules_interval"))
			} else {
			set_task(get_cvar_float("rules_interval"), "rules", 2, "", 0, "b")
		}	
		console_print(id, "You have enabled automatic messages")
		return PLUGIN_HANDLED		
	}
	if (task_exists(2)) {
		console_print(id, "automessages is ON.")
		} else {
		console_print(id, "automessages is OFF.")
	}
	console_print(id, "rules_enable <1|0> (1 = ON, 0 = OFF)")
	return PLUGIN_HANDLED		
	
}

public clientrules(id, level, cid) {
	new pID[1]
	pID[0] = id
	
	console_print(0,"[user %d]Print rules for me only",pID[0])
	printrules(pID[0])
}

public rules(id, level, cid)
{
	new pID[1]
	pID[0] = id
			
	if (!cmd_access(id, level, cid, 0)) {  // NOT ADMIN
		return PLUGIN_HANDLED
	}
	
	// read file to all users
	pID[0] = 0
	console_print(0,"[user %d]Print rules for all",id)
	printrules(pID[0])
	
	// Reset scheduled task after display
	if (get_cvar_float("rules_interval") > 0) {
		if (task_exists(2)) {
			change_task(2, get_cvar_float("rules_interval"))
			} else {
			set_task(get_cvar_float("rules_interval"), "rules", 200, "", 0, "b")
		}
	}
	
	return PLUGIN_HANDLED
}

  • +
  • -
  • 0

#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 27.08.2009 09:51

przetestuj ale nie wiem czy to zadziała

/* 
PUBLIC SERVER RULES 1.20 ( 2005-08-18 ) 
	
Plugin by Priski 

Usage : 
Put rules in rules.txt file in cstrike folder 
and set rules_speed and rules_interval whatever you like 

Commands : 
rules_show    - shows rules listed in rules.txt 
rules_enable    - set this to 0 to disable automatic rules display 
say /rules    - displays rules to normal user 

CVARS : 
rules_interval        - interval between automatic rules display 
rules_admin_only    - disables say /rules command from regular users 
rules_join        - if set 1 displays rules after player have joined server 
rules_hudmessage_time    - time how long hudmessage is displayed 
rules_join_timeout    - delay to show rules when joining to the server 

Changelog : 

1.20 / 2005-08-18 
- removed client chat rules 
- fixed major bugs 

1.11 / 2005-08-15 
- fixed some bugs 

1.10 / 2005-08-14 
- new CVARs : rules_hudmessage, rules_hudmessage_time 
rules_join_timeout 
- Rules in hudmessage mode also 

1.03 / 2005-08-12 
- rules_enable command fix. 
- new CVAR "rules_join" set 1 to show rules 
to players when they join server 

1.02 / 2005-08-11 
- optimized code 
- rules_enable is now a command    
- default interval is now 10 minutes 

1.01 / 2005-08-11 
- added rules_admin_only & say /rules command 
- variables are global now 

1.0 / 2005-08-11 
- first release 

*/ 

#include <amxmodx> 
#include <amxmisc> 

new base[] = "zasady.txt" 

new i, num, text[127], hudmsg[440] //max hudmessage length was 439 chars (?) 

public plugin_init() 
{ 
	
	register_plugin("AMXX Public server rules", "1.20", "Priski") 
	
	// register command 
	
	register_concmd("rules_enable", "r_enable", ADMIN_KICK, "- <1|0> set automessagin on/off") 
	register_cvar("rules_admin_only", "0") 
	register_cvar("rules_join", "1") 
	register_cvar("rules_join_timeout", "5") 
	register_cvar("rules_hudmessage_time", "10") 
	register_cvar("rules_interval", "600") 
	register_clcmd("say /zasady", "clientrules", ADMIN_ALL, "- show rules") 
} 

public plugin_cfg() { 
	
	if (!file_exists(base)) { 
		write_file(base, "; This is the public rules file, put your rules below") 
		write_file(base, "; Remember, max amount of characters is 439") 
		console_print(0, "%s file not found. creating new ...", base) 
	} 
	
} 

public client_authorized ( id ) { 
	// on join display rules 
	
	if (get_cvar_num("rules_join")) { 
		new tmp[1] 
		tmp[0] = id 
		set_task(1.0, "showrules",id,tmp,1) 
		console_print(0, "[user %d] client auth!", tmp[0]) 
	} 
	
	return PLUGIN_HANDLED 
} 


public showrules (pid[]) { 
	new id = pid[0] 
	
	if ( get_user_team(id) != 1 && get_user_team(id) != 2 ) { 
		if (id) { 
			new tmp[1] 
			tmp[0] = id 
			set_task(2.0, "showrules",id,tmp,1)  // not yet in server 
			console_print(0, "[user %d] wait for joining team ...", id) 
		} 
		return PLUGIN_HANDLED 
	} 
	
	new tmp[1] 
	tmp[0] = id 
	
	console_print(0, "[user %d] joined team : %d", id, get_user_team(id)) 
	console_print(0, "[user %d] printing rules after %d seconds", id, get_cvar_num("rules_join_timeout")) 
	
	set_task(get_cvar_float("rules_join_timeout"), "printrules", id, tmp, 1)  // not yet in server 
	
	return PLUGIN_HANDLED 
} 

public printrules(pid[]) 
{ 
	new id = pid[0] 
	if (file_exists(base)) 
	{ 
		
		console_print(0, "[user] printing rules for user %d", id) 
		
		set_hudmessage ( 0, 255, 0, 0.02, 0.25, 2, 0.1, get_cvar_float("rules_hudmessage_time"), 0.05, 1.0, 1) 
		format(hudmsg, 439, "") 
		
		// read all the rules 
		for(i=0; read_file(base, i, text, 127, num); i++) { 
			if (num > 0 && text[0] != ';') { 
				// display with predefined delay 
				add(hudmsg,439,text) 
				add(hudmsg,439,"^n") 
			} 
		} 
		
		// show hudmessages 
		show_hudmessage(id, hudmsg) 
		
	} 
	
	return PLUGIN_HANDLED 
} 


public r_enable(id, level, cid) 
{ 
	if (!cmd_access(id, level, cid, 0)) {  // NOT ADMIN 
		return PLUGIN_HANDLED 
	} 
	
	new arg[3] 
	
	read_argv(1, arg, 2) 
	new value = str_to_num(arg) 
	
	if (!isalnum(arg[0])) 
		value = -1 
	
	if (value == 0) { 
		
		if (task_exists(2)) // close task 
			remove_task(2)    
		
		console_print(id, "You have disabled automatic messages") 
		return PLUGIN_HANDLED 
		
	} 
	if (value == 1) { 
		// activate task, reload if already exist 
		if (task_exists(2)) { 
			change_task(2, get_cvar_float("rules_interval")) 
			} else { 
			set_task(get_cvar_float("rules_interval"), "rules", 2, "", 0, "b") 
		}    
		console_print(id, "You have enabled automatic messages") 
		return PLUGIN_HANDLED        
	} 
	if (task_exists(2)) { 
		console_print(id, "automessages is ON.") 
		} else { 
		console_print(id, "automessages is OFF.") 
	} 
	console_print(id, "rules_enable <1|0> (1 = ON, 0 = OFF)") 
	return PLUGIN_HANDLED        
	
} 

public clientrules(id, level, cid) { 
	new pID[1] 
	pID[0] = id 
	
	console_print(0,"[user %d]Print rules for me only",pID[0]) 
	printrules(pID[0]) 
} 

  • +
  • -
  • 1

#3 verman

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 37
Życzliwy

  • Postów:204
  • GG:
  • Lokalizacja:Bielsko-Biała
Offline

Napisano 27.08.2009 10:16

Dziex dziala, maz pomogł. ^^
  • +
  • -
  • 0




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

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