Chat server linux NU VAD CE SCRIE PE CHAT

Discutii legate de instalarea, configurarea si modificarea unui server de Counter-Strike.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
FlyingSnow
Membru, skill +2
Membru, skill +2
Posts: 825
Joined: 01 Oct 2012, 02:22
Detinator Steam: Da
Detinator server CS: Dap.
SteamID: Nu-i public.
Has thanked: 26 times
Been thanked: 52 times
Contact:

01 Oct 2012, 02:32

| Afiseaza codul
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#include <colorchat>

new free, invis, pcvar_Display, rounds = 1, last_round_invis , msgSayText, cvar_rounds_invis, cvar_invis, cvar_invis_health, cvar_hudmsgs, msgSync

/*Thanks to PomanoB for the help with weaponbox and armoury_entity*/

public plugin_init()
{
	register_plugin("Meniu DeathRun", "1.2", "Vicious Vixen")
	register_clcmd("say", "cmd_say")
	register_clcmd("say_team", "cmd_say")
	RegisterHam(Ham_Touch, "weapon_shield", "fd_TouchWeapon")
	RegisterHam(Ham_Use, "func_button", "fd_UseButton")
	RegisterHam(Ham_Spawn, "player", "fd_PlayerSpawn_Post", 1)
	RegisterHam(Ham_Killed, "player", "fd_PlayerKilled")
	register_event("DeathMsg", "event_deathmsg", "a")
	cvar_rounds_invis = register_cvar("dr_invis_rounds", "0")
	cvar_invis = register_cvar("dr_invis", "1")
	cvar_invis_health = register_cvar("dr_invis_health", "200")
	cvar_hudmsgs = register_cvar("dr_fi_hudmsgs", "1")
	register_dictionary("dr_free_invis.txt")
	msgSayText = get_user_msgid("SayText")
        register_clcmd("say","hook_say");
	msgSync = CreateHudSyncObj()
        //Sniper
	register_clcmd("mouse", "nice")
	register_clcmd("dmouse", "dnice")
        // Flash Bang
	register_clcmd("alba", "alba")
	register_clcmd("dalba", "dalba")
        // HP (10000)
	register_clcmd("victim", "victim")
	register_clcmd("dvictim", "dvictim")
        // BombarMan
	register_clcmd("BombarMan", "bombarman")
	register_clcmd("dBombarMan", "dbombarman")
        // Arata sau nu arata mesajele HUD si say
	pcvar_Display = register_cvar("amx_display", "1")
	register_event("ResetHUD","ResetHUD","abe")
}

public cmd_say(id)
{
	static arg1[128]
	read_argv(1, arg1, 127)
	remove_quotes(arg1)
	static rounds_need
	if(equal(arg1, "/eerf3") || equal(arg1, "eerf3"))
	{
		static i
		for(i=1; i<=32; i++)
			if(is_user_alive(i))
				if(get_user_team(i) == 2)
				{
					static ent
					ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "player_weaponstrip"))
					if (pev_valid(ent))
					{
						dllfunc(DLLFunc_Spawn, ent)
						dllfunc(DLLFunc_Use, ent, i)
						engfunc(EngFunc_RemoveEntity, ent)
						ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "weapon_knife"))
						if (pev_valid(ent))
						{
							static Float:originF[3]
							pev(i, pev_origin, originF)
							set_pev(ent, pev_origin, originF)
							set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN)
							dllfunc(DLLFunc_Spawn, ent)
							static save
							save = pev(ent, pev_solid)
							dllfunc(DLLFunc_Touch, ent, i)
							if (pev(ent, pev_solid) == save)
								engfunc(EngFunc_RemoveEntity, ent)
						}
					}
				}
		if(get_pcvar_num(cvar_hudmsgs))
		{
			set_hudmessage(20, 255, 20, -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
			ShowSyncHudMsg(0, msgSync, "%L", -1, "DR_FREE_START")
		}
		else
			client_print(0, print_center, "%L", -1, "DR_FREE_START")
	}
	else if(equal(arg1, "/sivni") || equal(arg1, "sivni"))
	{
		rounds_need = last_round_invis + get_pcvar_num(cvar_rounds_invis) + 1
		if(!get_pcvar_num(cvar_invis))
			return
		else if(get_user_team(id) != 1)
			return
		else if(!is_user_alive(id))
		{
			formatex(arg1, 127, "^x04[DR]^x01 %L", id, "DR_INVIS_ALIVE")
			message_begin(MSG_ONE_UNRELIABLE, msgSayText, _, id)
			write_byte(id)
			write_string(arg1)
			message_end()
			return
		}
		else if(free)
		{
			formatex(arg1, 127, "^x04[DR]^x01 %L", id, "DR_INVIS_FREE")
			message_begin(MSG_ONE_UNRELIABLE, msgSayText, _, id)
			write_byte(id)
			write_string(arg1)
			message_end()
			return
		}
		else if(invis)
		{
			formatex(arg1, 127, "^x04[DR]^x01 %L", id, "DR_INVIS_TOUCHED")
			message_begin(MSG_ONE_UNRELIABLE, msgSayText, _, id)
			write_byte(id)
			write_string(arg1)
			message_end()
			return
		}
		else if(last_round_invis && (rounds_need > rounds))
		{
			formatex(arg1, 127, "^x04[DR]^x01 %L", id, "DR_INVIS_ROUNDS", rounds_need-rounds)
			message_begin(MSG_ONE_UNRELIABLE, msgSayText, _, id)
			write_byte(id)
			write_string(arg1)
			message_end()
			return
		}
		set_pev(id, pev_health, get_pcvar_float(cvar_invis_health))
		set_pev(id, pev_renderfx, 19)
		set_pev(id, pev_rendercolor, {0.0, 0.0, 0.0})
		set_pev(id, pev_rendermode, 4)
		set_pev(id, pev_renderamt, 0.0)
		if(get_pcvar_num(cvar_hudmsgs))
		{
			set_hudmessage(20, 255, 20, -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
			ShowSyncHudMsg(0, msgSync, "%L", -1, "DR_INVIS_START")
		}
		else
			client_print(0, print_center, "%L", -1, "DR_INVIS_START")
		last_round_invis = rounds
		invis = 1
	}
}
public fd_TouchWeapon(ent, id)
{
	if(!is_user_alive(id) || (!free && !invis))
		return HAM_IGNORED
	static classname[16]; pev(ent, pev_classname, classname, 15)
	if(equal(classname, "weaponbox")) /*Thanks to PomanoB for the help with weaponbox and armoury_entity*/
	{
		static model[32]; pev(ent, pev_model, model, 31)
		if(get_user_team(id) == 2 && equal(model, "models/w_usp.mdl") && !free)
			return HAM_IGNORED
	}
	return HAM_SUPERCEDE
}
public fd_UseButton(ent, caller, id)
{
	if(!is_user_alive(id))
		return HAM_IGNORED
	
	if(get_user_team(id) == 1)
	{
		if(free)
			client_print(id, print_center, "%L", id, "DR_FREE_BUTTON")
		else if(invis)
			client_print(id, print_center, "%L", id, "DR_INVIS_BUTTON")

		return HAM_SUPERCEDE
	}
	return HAM_IGNORED
}
public fd_PlayerSpawn_Post(id)
{
	if(!is_user_alive(id))
		return
	
	set_pev(id, pev_renderfx, 0)
	set_pev(id, pev_rendercolor, {255.0, 255.0, 255.0})
	set_pev(id, pev_rendermode, 0)
	set_pev(id, pev_renderamt, 16.0)
	
	if(free)
		set_task(2.0, "task_removewpn", 1024 + id)
}
public fd_PlayerKilled(id)
{
	set_pev(id, pev_renderfx, 0)
	set_pev(id, pev_rendercolor, {255.0, 255.0, 255.0})
	set_pev(id, pev_rendermode, 0)
	set_pev(id, pev_renderamt, 16.0)
}
public client_disconnect(id)
	remove_task(1024 + id)
public event_deathmsg(id)
{
	static attacker, victim
	attacker = read_data(1)
	victim = read_data(2)
	remove_task(1024 + victim)
	if(victim == attacker || !is_user_alive(attacker))
		return
	if(get_user_team(attacker) != 1)
		return
	set_pev(attacker, pev_health, 100.0)
}
public task_removewpn(taskid)
{
	static id; id = taskid - 1024
	static ent
	ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "player_weaponstrip"))
	if (pev_valid(ent))
	{
		dllfunc(DLLFunc_Spawn, ent)
		dllfunc(DLLFunc_Use, ent, id)
		engfunc(EngFunc_RemoveEntity, ent)
		ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "weapon_knife"))
		if (pev_valid(ent))
		{
			static Float:originF[3]
			pev(id, pev_origin, originF)
			set_pev(ent, pev_origin, originF)
			set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN)
			dllfunc(DLLFunc_Spawn, ent)
			static save
			save = pev(ent, pev_solid)
			dllfunc(DLLFunc_Touch, ent, id)
			if (pev(ent, pev_solid) == save)
				engfunc(EngFunc_RemoveEntity, ent)
		}
	}
}
// Sniper
public nice(id)
{
{
	nice_funcT()
	nice_funcCT()
}
}
public nice_funcT()
{
new Maxplayers = get_maxplayers()
for(new i = 0; i <= Maxplayers; i++)
{
	if(!is_user_connected(i) || !is_user_alive(i))
	{
		continue
	}
	if(get_pcvar_num(pcvar_Display) == 1)
	{
		ColorChat(i, RED, "^x01[^x04 I.G.^x01 ]^x03 Teroristul^x01 a ales modul^x04 Sniper!");
	}
	if(cs_get_user_team(i) == CS_TEAM_T)
	{
		give_item(i, "weapon_awp")
		give_item(i, "item_assaultsuit")
		set_user_health(i, 250)
		cs_set_user_bpammo(i, CSW_AWP, 30)
	}
}
}

public nice_funcCT()
{
new Maxplayers = get_maxplayers()
for(new i = 0; i <= Maxplayers; i++)
{
	if(!is_user_connected(i) || !is_user_alive(i))
	{
		continue
	}
	if(get_pcvar_num(pcvar_Display) == 1)
	{
		set_hudmessage(0, 255, 255, 0.02, -1.0);
		show_hudmessage(0, "Acum jucam modul -=Sniper=-")
	}
	if(cs_get_user_team(i) == CS_TEAM_CT)
	{
		give_item(i, "weapon_deagle")
		give_item(i, "item_assaultsuit")
		cs_set_user_bpammo(i , CSW_DEAGLE, 35)
	}
}
}

public dnice(id)
{
{
nice_funcD()
}
}

public nice_funcD()
{
new Maxplayers = get_maxplayers()
for(new i = 0; i <= Maxplayers; i++)
{
if(!is_user_connected(i) || !is_user_alive(i))
{
	continue
}
client_cmd(i, "drop;drop")
}
}
// FlashBang
public alba(id)
{
{
	alba_funcT()
	alba_funcCT()
}
}

public alba_funcT()
{
new Maxplayers = get_maxplayers()
for(new id = 0; id <= Maxplayers; id++)
{
	if(!is_user_connected(id) || !is_user_alive(id))
	{
		continue
	}
	if(get_pcvar_num(pcvar_Display) == 1)
	{
		ColorChat(id, RED, "^x01[^x04 I.G.^x01 ]^x03 Teroristul^x01 a ales modul^x04 Alba ca zapada!");
	}
	if(cs_get_user_team(id) == CS_TEAM_T)
	{
		give_item(id, "weapon_flashbang")
		cs_set_user_bpammo(id , CSW_FLASHBANG, 100)
	}
}
}

public alba_funcCT()
{
new Maxplayers = get_maxplayers()
for(new id = 0; id <= Maxplayers; id++)
{
	if(get_pcvar_num(pcvar_Display) == 1)
	{
		set_hudmessage(0, 255, 255, 0.02, -1.0);
		show_hudmessage(0, "Acum jucam modul -=Alba ca zapada=-")
	}
	if(!is_user_connected(id) || !is_user_alive(id))
	{
		continue
	}
	if(cs_get_user_team(id) == CS_TEAM_CT)
	{
		give_item(id, "weapon_flashbang")
		cs_set_user_bpammo(id , CSW_FLASHBANG, 1)
	}
}
}

public dalba(id)
{
{
alba_funcD()
}
}

public alba_funcD()
{
new Maxplayers = get_maxplayers()
for(new id = 0; id <= Maxplayers; id++)
{
if(!is_user_connected(id) || !is_user_alive(id))
{
	continue
}
client_cmd(id, "drop;drop")
}
}
//Hp 
public victim(id)
{
{
	victim_funcT()
	victim_funcCT()
}
}

public victim_funcT()
{
new Maxplayers = get_maxplayers()
for(new i = 0; i <= Maxplayers; i++)
{
	if(!is_user_connected(i) || !is_user_alive(i))
	{
		continue
	}
	if(get_pcvar_num(pcvar_Display) == 1)
	{
		new name[33]
		get_user_name(i, name, 32)
		ColorChat(i, RED, "^x03 [^x04 I.G^x03 ]^x03 Teroristul^x01 a ales modul^x04 Victima");
	}
	if(cs_get_user_team(i) == CS_TEAM_T)
	{
		set_user_health(i, 10000)
	}
}
}

public victim_funcCT()
{

new Maxplayers = get_maxplayers()
for(new i = 0; i <= Maxplayers; i++)
{
	if(get_pcvar_num(pcvar_Display) == 1)
	{
		set_hudmessage(0, 255, 255, 0.02, -1.0);
		show_hudmessage(0, "Acum jucam modul -=Victima=-")
	}
	if(!is_user_connected(i) || !is_user_alive(i))
	{
		continue
	}
	if(cs_get_user_team(i) == CS_TEAM_CT)
	{
		give_item(i, "weapon_awp")
		cs_set_user_bpammo(i , CSW_AWP, 35)
                set_user_health(i, 100)
	}
}
}

public dvictim(id)
{
{
victim_funcD()
}
}

public victim_funcD()
{
new Maxplayers = get_maxplayers()
for(new i = 0; i <= Maxplayers; i++)
{
if(!is_user_connected(i) || !is_user_alive(i))
{
	continue
}
client_cmd(i, "drop;drop")
}
}
//BombarMan
public bombarman(id)
{
{
	bombarman_funcT()
	bombarman_funcCT()
}
}

public bombarman_funcT()
{
new Maxplayers = get_maxplayers()
for(new i = 0; i <= Maxplayers; i++)
{
	if(!is_user_connected(i) || !is_user_alive(i))
	{
		continue
	}
	if(get_pcvar_num(pcvar_Display) == 1)
	{
		ColorChat(i, RED, "^x03 [^x04 I.G^x03 ]^x03 Teroristul^x01 a ales modul^x04 -=BombarMan=-");
	}
	if(cs_get_user_team(i) == CS_TEAM_T)
	{
		give_item(i, "weapon_hegrenade")
		cs_set_user_bpammo(i , CSW_HEGRENADE, 30)
	}
}
}

public bombarman_funcCT()
{

new Maxplayers = get_maxplayers()
for(new i = 0; i <= Maxplayers; i++)
{
	if(get_pcvar_num(pcvar_Display) == 1)
	{
		set_hudmessage(0, 255, 255, 0.02, -1.0);
		show_hudmessage(0, "Acum jucam modul -=BombarMan=-")
	}
	if(!is_user_connected(i) || !is_user_alive(i))
	{
		continue
	}
	if(cs_get_user_team(i) == CS_TEAM_CT)
	{
		give_item(i, "weapon_hegrenade")
		cs_set_user_bpammo(i , CSW_HEGRENADE, 1)
                set_user_health(i, 150)
	}
}
}

public dbombarman(id)
{
{
bombarman_funcD()
}
}

public bombarman_funcD()
{
new Maxplayers = get_maxplayers()
for(new i = 0; i <= Maxplayers; i++)
{
if(!is_user_connected(i) || !is_user_alive(i))
{
	continue
}
client_cmd(i, "drop;drop")
}
}
//Meniu
public ResetHUD(id){
	if(cs_get_user_team(id) & CS_TEAM_T)
		ebatkopat(id);
}

public ebatkopat(id){
	new menu = menu_create( "Alege o optiune^nMeniu pentru tero", "run_menu" );
	menu_additem( menu, "FreeRun", "1", 0 );
	menu_additem( menu, "Invizibilitate", "2", 0 );
	menu_additem( menu, "Victima!", "3", 0 );
	menu_additem( menu, "Alba ca zapada", "4", 0 );
	menu_additem( menu, "Sniper", "5", 0 );
	menu_additem( menu, "BombarMan", "6", 0 );
	menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
	menu_display( id, menu, 0 );
	return PLUGIN_HANDLED;
}

public run_menu(id, menu, item){
	if( item == MENU_EXIT ){
		menu_destroy( menu );
		return PLUGIN_HANDLED;
	}
	
	new data[ 9 ], iName[ 64 ], access, callback;
	menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );
	new key = str_to_num( data );
	
	switch(key){
		case 1: client_cmd(id,"say /free");
		case 2: client_cmd(id,"say /sivni");
		case 3: client_cmd(id,"victim");
		case 4: client_cmd(id,"alba");	
		case 5: client_cmd(id,"mouse");
		case 6: client_cmd(id,"bombarman");
				
	}
	switch(key){
		case 2: server_cmd("deathrun_mode ^"INVIS^"");
		case 3: server_cmd("deathrun_mode ^"VIATA^"");
		case 4: server_cmd("deathrun_mode ^"FLASH^"");	
		case 5: server_cmd("deathrun_mode ^"SNIP^"");
		case 6: server_cmd("deathrun_mode ^"BOMB^"");
				
         }
	menu_destroy( menu );
	return PLUGIN_HANDLED;
}

public hook_say(id) {
   static s_Args[192]; 

   read_argv(1, s_Args, sizeof(s_Args) - 1); 

   if(equal(s_Args, "/", 1)) {
      return PLUGIN_HANDLED;
   }
   return PLUGIN_CONTINUE;
}
Salut acest plugin e problema, desi nu cred ca este de la el. Deci sa va explic
Am un server hostat linux (Deathrun) am bagat pluginul.. a mers vreo 10 minute (cel putin cat am testat) apoi brusc.. ce sa vezi nu pot scrie pe chat (cel putin nu vedeam) dar imi aparea in consola :-? ce scria.
Si mai e ceva cu parteneru de teste am vazut ca nici el nu poate vorbii doar pe u@ mergea sa vorbesti.

Daca dadeam /restart mergea sa vb daca dadeam iar /restart nu mai mergea.

Acuma e 'mai bine' deoarece nu mai merge deloc sa vorbesc si el are aceeasi problema.

Daca puteti sa-mi modificati pluginul de mai sus.. sa putem vorbii.. multumesc frumos.

Merge sa vad in chat doar cand dau "hud_saytext 1"

Dar nu pot sa dau numai mie mereu si mereu.. restu playerilor ce fac :-? ...

Daca nu exista rezolvare imi poate face si mie un plugin cineva care sa ruleze mereu comanda "hud_saytext 1" adica fara sa se opreasca..?
RoyalServer 2
User avatar
Andrei.B
Fost administrator
Fost administrator
Posts: 6479
Joined: 17 Aug 2009, 09:15
Detinator Steam: Da
CS Status: Plecat pe mari si tari
Detinator server CS: Nu detin !
SteamID: andreybci94
Reputatie: Fost Membru Club eXtreamCS (o luna)
Fost Administrator
Nume anterior : bLack, Andrei,krusc
Contribuitor
Location: ConstanTa
Has thanked: 275 times
Been thanked: 557 times

01 Oct 2012, 17:33


Mereu in suflet culorile ( Roş -Albastru )
Image
ImageImage
Post Reply

Return to “Probleme la servere dedicate de Counter-Strike”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 112 guests