Jump to content

- Advertisement -
Photo

Problema[Rezolvat]


  • This topic is locked This topic is locked
8 replies to this topic

#1
old thE GOD

old thE GOD

    Addicted Member

  • Membru
  • 284 posts
  • 31 topics
  • Joined 16-March 14
  • Country: Country Flag
#include <amxmodx>

/*---------------EDIT ME------------------*/
#define CLAN_CHECK

static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
/*----------------------------------------*/

new maxplayers
new gmsgSayText

public plugin_init() {
	register_plugin("Clan members", "1.1", "old'")
	maxplayers = get_maxplayers()
	gmsgSayText = get_user_msgid("SayText")
	register_clcmd("say", "handle_say")
	register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
}

public handle_say(id) {
	new said[192]
	read_args(said,192)
	if( ( containi(said, "/clan") != -1 && containi(said, "/clan") != -1 ) || contain(said, "/clan") != -1 )
		set_task(0.1,"print_adminlist",id)
	return PLUGIN_CONTINUE
}

public print_adminlist(user) 
{
	new adminnames[33][32]
	new message[256]
	new contactinfo[256], contact[112]
	new id, count, x, len
	
	for(id = 1 ; id <= maxplayers ; id++)
		if(is_user_connected(id))
			if(get_user_flags(id) & ADMIN_CHECK & ADMIN_RESERVATION & ADMIN_CHAT & ADMIN_LEVEL_H & ADMIN_VOTE )
				get_user_name(id, adminnames[count++], 31)

	len = format(message, 255, "%s CLAN MEMBERS ONLINE: ",COLOR)
	if(count > 0) {
		for(x = 0 ; x < count ; x++) {
			len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
			if(len > 96 ) {
				print_message(user, message)
				len = format(message, 255, "%s ",COLOR)
			}
		}
		print_message(user, message)
	}
	else {
		len += format(message[len], 255-len, "NO MEMBERS ONLINE")
		print_message(user, message)
	}
	
	get_cvar_string("amx_contactinfo", contact, 63)
	if(contact[0])  {
		format(contactinfo, 111, "%s Contact Server Admin -- %s", COLOR, contact)
		print_message(user, contactinfo)
	}
}

print_message(id, msg[]) {
	message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
	write_byte(id)
	write_string(msg)
	message_end()
}

Comanda functioneaza , atat ca nu apar cei cu accesele specificat in lista:) am incercat si simplu bitj , si cu alte accese pe langa iar rezultatul este acelasi :).



#2
Bogdan ;

Bogdan ;

    Fost Resource Team

  • Retired
  • 4341 posts
  • 386 topics
  • Joined 14-March 13
  • Country: Country Flag
#include <amxmodx>

/*---------------EDIT ME------------------*/
#define CLAN_CHECK

static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
/*----------------------------------------*/

new maxplayers
new gmsgSayText

public plugin_init() {
	register_plugin("Clan members", "1.1", "old'")
	maxplayers = get_maxplayers()
	gmsgSayText = get_user_msgid("SayText")
	register_clcmd("say", "handle_say")
	register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
}

public handle_say(id) {
	new said[192]
	read_args(said,192)
	if( ( containi(said, "/clan") != -1 && containi(said, "/clan") != -1 ) || contain(said, "/clan") != -1 )
		set_task(0.1,"print_adminlist",id)
	return PLUGIN_CONTINUE
}

public print_adminlist(user) 
{
	new adminnames[33][32]
	new message[256]
	new contactinfo[256], contact[112]
	new id, count, x, len
	
	for(id = 1 ; id <= maxplayers ; id++)
		if(is_user_connected(id))
			if(get_user_flags(id) & ADMIN_CHECK & ADMIN_RESERVATION & ADMIN_CHAT & ADMIN_LEVEL_H & ADMIN_VOTE )
				get_user_name(id, adminnames[count++], 31)

	len = format(message, 255, "%s CLAN MEMBERS ONLINE: ",COLOR)
	if(count > 0) {
		for(x = 0 ; x < count ; x++) {
			len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
			if(len > 96 ) {
				print_message(user, message)
				len = format(message, 255, "%s ",COLOR)
			}
		}
		print_message(user, message)
	}
	else {
		len += format(message[len], 255-len, "NO MEMBERS ONLINE")
		print_message(user, message)
	}
	
	get_cvar_string("amx_contactinfo", contact, 63)
	if(contact[0])  {
		format(contactinfo, 111, "%s Contact Server Admin -- %s", COLOR, contact)
		print_message(user, contactinfo)
	}
}

print_message(id, msg[]) {
	message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
	write_byte(id)
	write_string(msg)
	message_end()
}

Comanda functioneaza , atat ca nu apar cei cu accesele specificat in lista:) am incercat si simplu bitj , si cu alte accese pe langa iar rezultatul este acelasi :).

 

De ce nu incerci totusi sa fixezi pe un singur flag acces?de exemplu immunity[ADMIN_IMMUNITY]

Cred ca asta e problema din cauza careia nu functioneaza



#3
old thE GOD

old thE GOD

    Addicted Member

  • Topic Starter

  • Membru
  • 284 posts
  • 31 topics
  • Joined 16-March 14
  • Country: Country Flag
O sa încerc pe unul dintre admin_level , dar eu vroiam strict cei care au următoarele accese incluse ( nu neapărat bitj ) ca si abitj sau bcditj , o sa încerc totusi pentru t respectiv level_h , daca nu merge voi reveni cu Edit.

#4
Andrei;

Andrei;

    Administrator

  • Administrator
  • 3201 posts
  • 398 topics
  • Joined 16-December 12
  • Country: Country Flag
if( get_user_flags( id ) & read_flags( "flaguri" ) )
{
   //cod
}

Pentru ca nu inteleg ce vrei exact incearca si asa:

if( get_user_flags( id ) && read_flags( "flaguri" ) )
{
   //cod
}


#5
old thE GOD

old thE GOD

    Addicted Member

  • Topic Starter

  • Membru
  • 284 posts
  • 31 topics
  • Joined 16-March 14
  • Country: Country Flag
O sa încerc sa explic cat se poate de simplu , vreau ca toti admini care detin printre accese (flaguri) si bitj sa apară in momentul in care sunt online , deci ce detin accesele bitj indiferent de acesele pe care le mai au sa apară ca online daca sunt in momentul când cineva utilizează comanda "/clan" care este functionala in totalitate , de cum o sa am Putin timp de pc o sa testez variantele si o sa revin cu Edit.

#6
Andrei;

Andrei;

    Administrator

  • Administrator
  • 3201 posts
  • 398 topics
  • Joined 16-December 12
  • Country: Country Flag

Ti-am spus de atatea ori solutia, e ultima data cand repet:

if( get_user_flags( id ) & read_flags( "bitj" ) )


Edited by Artick, 13 September 2014 - 06:52 PM.


#7
Bogdan ;

Bogdan ;

    Fost Resource Team

  • Retired
  • 4341 posts
  • 386 topics
  • Joined 14-March 13
  • Country: Country Flag

Vin si eu cu ideea mea aici.

Daca vezi ca tot nu functioneaza,si da atatea probleme de rezolvat,sa facem in alt fel.

Am luat aici un plugin si ti l-am editat.va arata cam asa:

Sau:

Comenzi in chat:

clan
clanmembers
/clan
/clanmembers

Functioneaza doar pe flagul "bitj",

Daca doresti modificari la el ,lasa-mi aici mesaj,insa parerea mea e ca ti-ar fi foarte bun,nu mai necesita modificari.

Download link : Girlshare Zippy 

Testeaza-l daca vrei,si astept raspuns



#8
old thE GOD

old thE GOD

    Addicted Member

  • Topic Starter

  • Membru
  • 284 posts
  • 31 topics
  • Joined 16-March 14
  • Country: Country Flag

Am rezolvat cu ajutorul lui Bogdan , merci :) (nu am folosit pluginul) am facut doar modificarile sugerat si work , se poate da tc.



#9
Andrei;

Andrei;

    Administrator

  • Administrator
  • 3201 posts
  • 398 topics
  • Joined 16-December 12
  • Country: Country Flag

Data viitoare te rog sa nu deschizi topic la help daca nu esti in stare sa iti modific codul. Solutia pe care ti-am dat-o mai sus mergea perfect. Pentru ceea ce vrei tu exista sectiunea requests.






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users