Zarejestruj się Użytkownicy Kalendarz Zaznacz Wszystkie Fora jako Przeczytane CS FAQ Regulamin forum =w= Tani STEAM

Wróć   Forum Counter Strike > Serwer HLDS - wszytko o własnym serwerze do Counter Strike 1.6 Non Steam > Pluginy, dodatki, AMX, AMXX

Pluginy, dodatki, AMX, AMXX Tutaj piszemy o dodatkach do serwerach, pluginach, modach, AMX i AMXX

Serwer Rules - Pomocy!!

- Tagi: , ,

Zamknięty Temat
 
LinkBack Narzędzia wątku

Serwer Rules - Pomocy!!

  (#1) stare
lasmix is Offline
Starsza lamka
 
Postów: 51

Poziom upalenia:
-------- Doświadczenie: abstynent
Zarejestrowany: Jan 2008
  Wyślij wiadomośc poprzez AIM do lasmix  
Domyślnie

Serwer Rules - Pomocy!! -

01-03-2008, 20:56

Tak wygląda moj serwer_rules.sma co mam zrobic zeby automatycznie byly pokazywane zasady serwera i w ktorym miejscu wpisac zasady??

Kod:
/* AMX Mod script.
* Server Rules 1.1
*
* (c) 2004, FullThrottle
* This file is provided as is (no warranties).
*
* Used CVARS
* sr_display <float> - Length of time to display message
* sr_color <string> - Color to display message RGB values 
*	Example for green: 000255000 
*/

/* Update Log

1.1
	- Changed sr_color so now commas are not used between colors and removed xeroblood's
	code from the project
	- Added keyword processing to display a message to users when they ask how to display the message.
	- Changed default rule color to white.
	- Added the violation menu and the following cvars.
		sr_warnings <- Max Warnings before action is taken
		sr_action <- Action to take for violators 0=Warn Only,1=Kick,2=Ban
		sr_bantime <- Length to ban after max rule violations
	- Added menu command amx_rulemenu
	- Uses the AMXX 1.0 Dynamic menu system.  Set DYNAMICMENU to 0 if you do not have 1.0 running.
	
1.0
	- Initial release
	
*/

#include <amxmodx>
#include <amxmisc>

#define MAXENTRYCOUNT 10
#define MAXENTRYLENGTH 60
#define MESSAGELENGTH MAXENTRYCOUNT*MAXENTRYLENGTH+20

new DYNAMICMENU = 1

new ENTRY[MAXENTRYCOUNT][MAXENTRYLENGTH]
new MESSAGE[MESSAGELENGTH]
new DISPLAYCOLOR[3]
new ENTRYCOUNT = 0

new WARNINGS[32] = 0
new ACTIONS[3][] = {"Warned","Kicked","Banned"}

new Float:TIMERWAIT = 10.0
new DISPLAYTITLE[] = "Server Rules"
new RULEMENUTITLE[] = "Rule Violation Menu"

new PLUGINVERSION[] = "1.1"
new PLUGINNAME[] = "Server Rules"
new PLUGINAUTHOR[] = "FullThrottle"

new ADDENTRYCMD[] = "amx_addrule"
new RULEMENUCMD[] = "amx_rulemenu"
new REMOVEENTRYCMD[] = "amx_removerule"
new ADMINDISPLAYMESSAGECMD[] = "amx_displayrules"
new DISPLAYMESSAGECMD[] = "say /rules"

new KEYWORD[] = "rule"
new KEYWORDMESSAGE[] = "Type /rules for a list of server rules."

new CVARCOLOR[] = "sr_color"
new CVARDISPLAY[] = "sr_display"
new CVARMAXWARNINGS[] = "sr_warnings"
new CVARMAXWARNINGSACTION[] = "sr_action"
new CVARBANTIME[]	= "sr_bantime"

new MENU_POSITION[33]
new MENU_PLAYERS[33][32]
new MENU_PLAYERSNUM[33]
new MENU_OPTION[33]

new g_cstrikeRunning

public plugin_init()	{
	register_plugin(PLUGINNAME, PLUGINVERSION, PLUGINAUTHOR) 
	register_concmd(ADDENTRYCMD, "addentry", ADMIN_CVAR, "<entry> : Adds a entry")
	register_concmd(REMOVEENTRYCMD, "removeentry", ADMIN_CVAR, "<id> : Removes a entry")
	register_concmd(ADMINDISPLAYMESSAGECMD, "displaymessage", ADMIN_KICK, ": Display message to all players")
	register_clcmd(DISPLAYMESSAGECMD, "displaymessage")
	register_clcmd("say", "processsay")

	register_menucmd(register_menuid(RULEMENUTITLE), 1023, "actionMenu")
	register_clcmd(RULEMENUCMD, "cmdMenu", ADMIN_KICK, ": Display the Rule Violation Menu")

	register_cvar(CVARDISPLAY, "20.0", 4)
	register_cvar(CVARCOLOR, "255255255", 4)
	register_cvar(CVARMAXWARNINGS, "3", 4)
	register_cvar(CVARMAXWARNINGSACTION, "1", 4)
	register_cvar(CVARBANTIME, "60", 4)
	
	if ( DYNAMICMENU )
		AddMenuItem(RULEMENUTITLE, RULEMENUCMD, ADMIN_KICK, PLUGINNAME)
}

public processsay(id) {
	new stringsay[192]
	read_args(stringsay,192)
	if( (containi(stringsay, KEYWORD) != -1) ) {
		client_print(id,print_chat, "[%s] %s", DISPLAYTITLE, KEYWORDMESSAGE)
	}
	return PLUGIN_CONTINUE
}

public client_connect(id) 
	WARNINGS[id] = 0

public client_disconnect(id) 
	WARNINGS[id] = 0
	
public client_putinserver(id) 
	set_task( TIMERWAIT, "displaymessage", id)

public addentry(id,level,cid){
	if (!cmd_access(id,level,cid,2))
		return PLUGIN_HANDLED
	if (ENTRYCOUNT >= MAXENTRYCOUNT){
		console_print(id,"[%s] Entry limit reached. %d active entries.", DISPLAYTITLE, ENTRYCOUNT)
		return PLUGIN_HANDLED
	}
	read_argv(1,ENTRY[ENTRYCOUNT],MAXENTRYLENGTH)
	console_print(id,"[%s] Entry added: %s", DISPLAYTITLE, ENTRY[ENTRYCOUNT])
	ENTRYCOUNT++
	return PLUGIN_HANDLED
}

public removeentry(id,level,cid){
	// This code currenty does not work but I will be adding the remove feature soon
	new nId[2]
	if (!cmd_access(id,level,cid,2))
		return PLUGIN_HANDLED
	read_argv(1,nId,2)
	if ( ENTRYCOUNT < str_to_num(nId) ){
		console_print( id, "[%s] Entry doesn't exist.", DISPLAYTITLE )
		return PLUGIN_HANDLED
	}
	console_print( id, "[%s] Entry Removed: %d", DISPLAYTITLE, ENTRY[str_to_num(nId)] )
	ENTRYCOUNT--
	return PLUGIN_HANDLED
}

public displaymessage(id) {
	new sDisplayColor[9]
	new Float:nDisplayTime = get_cvar_float(CVARDISPLAY)
	
	get_cvar_string( CVARCOLOR, sDisplayColor, 9 )
	DISPLAYCOLOR[2] = str_to_num(sDisplayColor[6])
	sDisplayColor[6] = 0
	DISPLAYCOLOR[1] = str_to_num(sDisplayColor[3])
	sDisplayColor[3] = 0
	DISPLAYCOLOR[0] = str_to_num(sDisplayColor[0])
	
	format( MESSAGE, MESSAGELENGTH, DISPLAYTITLE )
	for ( new i=0; i<ENTRYCOUNT; ++i ) {
		format( MESSAGE, MESSAGELENGTH, "%s^n%d. %s", MESSAGE, i+1, ENTRY[i] )
	}
	set_hudmessage( DISPLAYCOLOR[0], DISPLAYCOLOR[1], DISPLAYCOLOR[2], 0.05, 0.05, 2, 0.01, nDisplayTime, 0.01, 0.1, 4 )
	if (!id) {
		for(new i = 1; i <= get_maxplayers(); ++i) { 
			show_hudmessage( i, "%s", MESSAGE )
		}
	} else {
			show_hudmessage( id, "%s", MESSAGE )
	}
	return PLUGIN_HANDLED
}

public displayentry(id, entryid) {
	new sDisplayColor[9]
	new Float:nDisplayTime = get_cvar_float(CVARDISPLAY)
	
	get_cvar_string( CVARCOLOR, sDisplayColor, 9 )
	DISPLAYCOLOR[2] = str_to_num(sDisplayColor[6])
	sDisplayColor[6] = 0
	DISPLAYCOLOR[1] = str_to_num(sDisplayColor[3])
	sDisplayColor[3] = 0
	DISPLAYCOLOR[0] = str_to_num(sDisplayColor[0])
	
	format( MESSAGE, MESSAGELENGTH, "[%s] Rule Violation Warning^nYou violated the following rule.^n[ %s ]", DISPLAYTITLE, ENTRY[entryid] )

	set_hudmessage( DISPLAYCOLOR[0], DISPLAYCOLOR[1], DISPLAYCOLOR[2], 0.05, 0.05, 2, 0.01, nDisplayTime, 0.01, 0.1, 4 )
	show_hudmessage( id, "%s", MESSAGE )
	return PLUGIN_HANDLED
}

public handleViolation(id,player) {
	WARNINGS[player]++
	
	new authid[32], authid2[32], name[32], name2[32]
	
	get_user_authid(id, authid, 31)
	get_user_authid(player, authid2, 31)
	get_user_name(id, name, 31)
	get_user_name(player, name2, 31)			
	
	new userid2 = get_user_userid(player)
	new reason[MAXENTRYLENGTH] 
	reason = ENTRY[MENU_OPTION[id]]

	new nAction = get_cvar_num( CVARMAXWARNINGSACTION )
	new nLimit = get_cvar_num( CVARMAXWARNINGS )
	new nBanTime = get_cvar_num( CVARBANTIME )
	
	switch(get_cvar_num("amx_show_activity")) {
		case 2: client_print(0, print_chat, "ADMIN %s: %s %s for: %s", name, (WARNINGS[player] <= nLimit) ? ACTIONS[0] : ACTIONS[nAction], name2, reason )
		case 1: client_print(0, print_chat, "ADMIN: %s %s for: %s", (WARNINGS[player] <= nLimit) ? ACTIONS[0] : ACTIONS[nAction], name2, reason )
	}

	if ( WARNINGS[player] <= nLimit ) {
		displayentry( player, MENU_OPTION[id] )
	} else {
		switch(nAction) {
			case 1:	server_cmd( "kick #%d", userid2 )
			case 2: server_cmd( "banid %d #%d kick;writeid", nBanTime, userid2 )
		}   
	}
	return PLUGIN_HANDLED
}

public actionMenu(id,key) {
	switch(key){
		case 7:{
			++MENU_OPTION[id]
			MENU_OPTION[id] = (MENU_OPTION[id] >= ENTRYCOUNT) ? 0 : MENU_OPTION[id]
			displayMenu(id,MENU_POSITION[id])
		}
		case 8: displayMenu(id,++MENU_POSITION[id])
		case 9: displayMenu(id,--MENU_POSITION[id])
		default:{
			new player = MENU_PLAYERS[id][MENU_POSITION[id] * 8 + key]					 
			handleViolation(id,player)
			displayMenu(id,MENU_POSITION[id])
		}
	}
	return PLUGIN_HANDLED
}

displayMenu(id,pos){
	if (pos < 0)	return
	get_players(MENU_PLAYERS[id],MENU_PLAYERSNUM[id])
	new menuBody[512]
	new b = 0
	new i
	new name[32]
	new start = pos * 7
	if (start >= MENU_PLAYERSNUM[id])
		start = pos = MENU_POSITION[id] = 0
	new len = format(menuBody,511, g_cstrikeRunning ? "\y%s\R%d/%d^n\w^n" : "%s %d/%d^n^n", RULEMENUTITLE, pos+1,( MENU_PLAYERSNUM[id] / 7 + ((MENU_PLAYERSNUM[id] % 7) ? 1 : 0 )) )		
	new end = start + 7
	new keys = (1<<9)|(1<<7)
	if (end > MENU_PLAYERSNUM[id])
		end = MENU_PLAYERSNUM[id]
	for(new a = start; a < end; ++a)
	{
		i = MENU_PLAYERS[id][a]
		get_user_name(i,name,31)
		if ( is_user_bot(i) || (get_user_flags(i)&ADMIN_IMMUNITY) )
		{
			++b	 
			if ( g_cstrikeRunning )
				len += format(menuBody[len],511-len,"\d%d. %s^n\w",b,name)
			else
				len += format(menuBody[len],511-len,"#. %s^n",name)
		}
		else
		{
			keys |= (1<<b)
			len += format(menuBody[len],511-len,"%d. %s^n",++b,name)
		}
	}
	len += format(menuBody[len],511-len,"^n8. %s" , ENTRY[MENU_OPTION[id]] )
	if (end != MENU_PLAYERSNUM[id])
	{
		format(menuBody[len],511-len,"^n9. More...^n0. %s", pos ? "Back" : "Exit")
		keys |= (1<<8)
	}
	else format(menuBody[len],511-len,"^n0. %s", pos ? "Back" : "Exit")
	show_menu(id,keys,menuBody)
}

public cmdMenu(id,level,cid)
{
	if (!cmd_access(id,level,cid,1))	return PLUGIN_HANDLED
	MENU_OPTION[id] = 0
	displayMenu(id,MENU_POSITION[id] = 0)
	return PLUGIN_HANDLED 
}
[size=2][ Dodano: Pon 03 Mar, 2008 ][/size]
pomogl by ktros moze?
  
UWAGA !!!

W tej chwili widzisz tylko pierwszy post tego tematu. Aby zobaczyć więcej wiadomości lub napisać post musisz się zalogować lub zarejestrować.

Zamknięty Temat

Narzędzia wątku

Podobne wątki
Temat Forum
Plugin rules dam pomógł ;)
Pluginy, dodatki, AMX, AMXX
Problem z Public Rules..
Problem z pluginem AMX/AMXX
Server rules
Problem z pluginem AMX/AMXX
Serwer Rules - Pomocy!!
Pluginy, dodatki, AMX, AMXX
rules mam pytanie!!!
Problemy z Counter Strike 1.6 Non Steam
/rules skad sciagnac?
Problemy z Counter Strike 1.6 Non Steam
Public Server Rules
Problemy z Counter Strike 1.6 Non Steam
public rules
Problem z pluginem AMX/AMXX
Rules Agreement
Pluginy, dodatki, AMX, AMXX
Rules Agreement nie wiem???
Pluginy, dodatki, AMX, AMXX

Zasady Postowania
Nie możesz zakładać nowych tematów
Nie możesz pisać wiadomości
Nie możesz dodawać załączników
Nie możesz edytować swoich postów

BB Code jest Włączony
EmotikonyWłączony
[IMG] kod jest Włączony
HTML kod jest Wyłączony
Trackbacks are Włączony
Pingbacks are Włączony
Refbacks are Wyłączony


X Przeglądasz forum jako gość, zarejestruj się aby uzyskać pełen dostęp do wiaderkowego stuff'u ganja

zalogowani nie widzą reklam

Sieć serwerów HashJama
nr Nazwa IP:Port Sloty Typ Status
#1 HashJama #1 [FFA] | wiaderko.com 212.180.241.143:27064 25+1 NS
#2 HashJama #2 [SJM] | wiaderko.com 212.180.241.143:27442 15+1 NS
#3 HashJama #3 [SJM#2] | wiaderko.com 212.180.143.9:27218 15+1 NS
#4 HashJama #4 [TP] | wiaderko.com 212.180.143.9:27224 15+1 NS
#5 HashJama #5 [WC3FT] | wiaderko.com 212.180.143.9:27206 15+1 NS
#6 HashJama #6 [PokeMod] | wiaderko.com 212.180.143.9:27194 15+1 NS
#7 HashJama #7 [Diablo] | wiaderko.com 212.180.143.9:27200 16 NS
#8 HashJama #8 [WC3FT] | wiaderko.com 212.180.143.9:27212 16 Steam

Sieć serwerów HashJama sponsoruje Gradobicie.pl, HeadAdmin: add


Najpopularniejsze zapytania na forum
Chmura zapytań powered by mosh
zombie mod cs serwer zombie mod serwery zombie mod serwer zombie serwery zombie serwer cs 1.6 zombie serwer cs zombie serwer zmiana nazwy serwera cs zmiana nazwy serwera zmiana serwera steam na non steam zmiana serwera na non steam zielona mila serwer zasponsoruje serwer cs zasponsoruje serwer zasady serwera cs zagraniczne serwery własny serwer non steam własny serwer cs wyszukiwarka serwerów non steam wrocławski serwer cs wow lista serwerów wow fun serwery wgrywanie map na serwer cs wgrywanie map na serwer ventrilo darmowy serwer ventrilo darmowe serwery ventrilo serwery ventrilo serwer uszatek serwer cs uszatek serwer screensaver desktop fondo build personal converter Serwery CS 1.6 non-steam non steam

Powered by vBulletin ® =w= Edition
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
Spolszczenie: vBHELP.pl - Polski Support vBulletin

Inne strony korporacji ;) wiaderko: Portal Counter Strike | Katalog Counter Strike | Forum Wielotematyczne | Free download | Free software download

Copyright © 2007-2008 Counter Strike wiaderko.com