←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Modyfikacja
Przerobienie pluginu free++


Best Answer NoLiFeR 01.12.2014 01:53

łap

Go to the full post

  • +
  • -
Jcr's Photo Jcr 27.11.2014

Czy mógłby ktoś przerobić plugin FREE++ tak aby Terrorysta, tak jak CT mógł podnosić broń gdy nie ma FREE?

 

Kod pluginu poniżej

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <colorchat>


#define PLUGIN "Free++"
#define VERSION "1.0"
#define AUTHOR "R3X+G[o]Q"

new is_free
new uzycia
new only_knife
new light
new smoke

new czy_uzyty[513]

new to_block[]={"cl_rebuy","cl_autobuy","cl_setautobuy","rebuy","autobuy","glock","usp","p228","deagle","elites",
		"fn57","m3","autoshotgun","mac10","tmp","mp5","ump45","p90","galil","ak47","scout","sg552","awp",
		"g3sg1","famas","m4a1","bullpup","sg550","m249","shield","hegren","sgren","flash",}

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_cvar("dr_thunder","1")
	register_cvar("dr_auto_resp","1")
	
	for(new i=0;i<sizeof(to_block);i++)
		register_clcmd( to_block[i],"BlokujKomende");
	
	register_clcmd("say /free","free_run")
	
	RegisterHam(Ham_Touch, "weaponbox", "Bron");
	RegisterHam(Ham_Touch, "armoury_entity", "Bron")
	RegisterHam(Ham_Touch, "weapon_shield", "Bron")
	
	RegisterHam(Ham_Touch,"trigger_hurt","podloze_post",0)
	
	RegisterHam(Ham_Use, "func_button","Dotyk_buttona");
	RegisterHam(Ham_Use, "func_rot_button","Dotyk_buttona");
	RegisterHam(Ham_Use, "button_target","Dotyk_buttona");
		
	register_event("CurWeapon","curweapon","be","1=1")
	register_event("DeathMsg", "death", "a")

	
	register_logevent( "round_start", 2, "0=World triggered", "1=Round_Start");
	
	set_task(300.0,"reklama",0,_,_,"b")
}

public reklama(){
	ColorChat(0,GREEN, "[Free++]^x01 Jesli jestes w terro wpisz ^x03/free^x04 aby uruchomic Freerun");
}
public free_run(id){
	if(get_user_team(id)!=1){
		ColorChat(id,GREEN, "[Free++]^x01 KOMENDA TYLKO DLA TERRORYSTOW!!!");
		return PLUGIN_HANDLED
	}
	if(is_free){
		ColorChat(id,GREEN, "[Free++]^x01 FREE ZOSTALO JUZ AKTYWOWANE!!!");
		return PLUGIN_HANDLED
	}
	if(!uzycia){
		set_hudmessage(255, 42, 255, 0.01, 0.46, 1, 6.0, 5.0)
		show_hudmessage(0, "FREE RUN!!!")
		is_free=1
		only_knife=1
		for(new i=1;i<33;i++){
			if(!is_user_alive(i)) continue
			engclient_cmd(i,"weapon_knife")
			client_cmd(i,"weapon_knife")
		}
	}
	else ColorChat(id,GREEN, "[Free++]^x01 UZYLES PULAPKI NIE MOZESZ AKTYWOWAC FREE!!!");
	return PLUGIN_HANDLED
}
public curweapon(id){
	if(only_knife){
		engclient_cmd(id,"weapon_knife")
		client_cmd(id,"weapon_knife")
	}
}
public Dotyk_buttona(this, idcaller, idactivator, use_type, Float:value){
	
	if(!is_free&&!czy_uzyty[this]&&(get_user_team(idcaller)==1||get_user_team(idactivator)==1)){
		++uzycia
		czy_uzyty[this]=1
		return HAM_IGNORED
	}
	if(!is_free&&czy_uzyty[this]&&(get_user_team(idcaller)==1||get_user_team(idactivator)==1)){
		
		ColorChat(idcaller,GREEN, "[Free++]^x01 Ten przycisk zostal juz uzyty");
		return HAM_SUPERCEDE
	}
	
	if(is_free&&(get_user_team(idcaller)==1||get_user_team(idactivator)==1)){
		ColorChat(idcaller,GREEN, "[Free++]^x01 JEST FREE NIE MOZESZ AKTYWOWAC PULAPEK!!!");
		return HAM_SUPERCEDE;
	}
	return HAM_IGNORED;
	
	
}

public round_start(){
	is_free=0
	uzycia=0
	only_knife=0
	for(new i=0;i<513;i++) czy_uzyty[i]=0
	
	
}
public BlokujKomende()
	return PLUGIN_HANDLED;
	
public Bron(weapon,id){
	if(!is_user_alive(id)) return HAM_IGNORED
	if (get_user_team(id)==2&&!is_free)
		return HAM_IGNORED;
	return HAM_SUPERCEDE;
}
public podloze_post(ent,id){
	if(!is_user_connected(id)) return HAM_IGNORED
	if (get_user_team(id)==1)
		return HAM_IGNORED;
	if(!get_cvar_num("dr_thunder"))
		return HAM_IGNORED
	thunder(id)
	
	return HAM_IGNORED
}
public thunder(id){

		if ( is_user_alive( id ) )
		{
			new origin[ 3 ]
			get_user_origin( id, origin )
			origin[ 2 ] = origin[ 2 ] - 26

			message_begin( MSG_BROADCAST, SVC_TEMPENTITY ) // Lightning
			write_byte( TE_BEAMPOINTS )
			write_coord( origin[ 0 ] )
			write_coord( origin[ 1 ] )
			write_coord( origin[ 2 ] )
			write_coord( origin[ 0 ] + 150 )
			write_coord( origin[ 1 ] + 150 )
			write_coord( origin[ 2 ] + 1700 )
			write_short(light )
			write_byte( 1 )
			write_byte( 5 )
			write_byte( 14 )
			write_byte( 50 )
			write_byte( 50 )
			write_byte( 255 )
			write_byte( 100 )
			write_byte( 20 )
			write_byte( 200 )
			write_byte( 200 )
			message_end()

			message_begin( MSG_PVS, SVC_TEMPENTITY, origin ) // Sparks
			write_byte( TE_SPARKS )
			write_coord( origin[ 0 ] )
			write_coord( origin[ 1 ] )
			write_coord( origin[ 2 ] )
			message_end()

			smoke_effect( origin, 100 ) // Smoke
			emit_sound( id, CHAN_AUTO, "ambience/noi.wav", 1.0, ATTN_NORM, 0, PITCH_NORM )
			user_kill(id, 1)
		}
	
		
}

smoke_effect( origin[ 3 ], amount )
{
	message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
	write_byte( TE_SMOKE )
	write_coord( origin[ 0 ] )
	write_coord( origin[ 1 ] )
	write_coord( origin[ 2 ] )
	write_short( smoke )
	write_byte( amount )
	write_byte( 10 )
	message_end()
}
public plugin_precache()
{
	precache_sound( "ambience/noi.wav" )
	smoke = precache_model( "sprites/steam1.spr" )
	light = precache_model( "sprites/lgtning.spr" )
}
public respawn(id)
	ExecuteHam(Ham_CS_RoundRespawn,id) 
public death(){
	new vid = read_data(2)
	if(get_cvar_num("dr_auto_resp")==1&&get_user_team(vid)==2)
		set_task(0.2,"respawn",vid)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/

Quote

  • +
  • -
Best Answer NoLiFeR's Photo NoLiFeR 01.12.2014

łap

Attached Files

Quote

  • +
  • -
Jcr's Photo Jcr 02.12.2014

Dziękuję ślicznie, działa.

Temat do zamknięcia :)

Quote