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
 

MrBoNiFacy - zdjęcie

MrBoNiFacy

Rejestracja: 13.10.2022
Aktualnie: Nieaktywny
Poza forum Ostatnio: 05.11.2022 19:23
-----

Moje tematy

Szlugi na JB się nie zapisują

05.11.2022 13:50

Witam, mam problem z pluginem na szlugi na JB. Szlugi się nie zapisują, po dodaniu szugów przez komendę jail_dodajszlugi lub jail_ustawszlugi wciąż pokazuje 0. Mógłby ktoś pomóc?

Zlecenie - naprawienie silnika Jailbreak [AMXX]

20.10.2022 14:07

Witam, potrzebuje pomocy przy znalezieniu błędu w silniku od Jailbreaka, który powoduje błąd Segmentation Fault, pojawiający sie po kilku zmianach mapy. Po wyłączeniu silnika błąd ustępuje, więc to raczej wina silnika.

Oferuję od 15 do 30zł (Przelew lub blik)

 

Kontakt

Discord: BoNiFacy#8105

Steam: https://steamcommuni...m/id/bonifacyy/

Problem z pluginem Linka dla CT (hook)

17.10.2022 08:09

Witam mam problem z pluginem Linka dla CT. Otóż chciałem aby ta linka była dostępna dla flagi "q" (ADMIN_LEVEL_E), oraz tylko w CT. Problem jest taki, że tej linki może używać każda osoba. Czy mógłby ktoś powiedzieć co tutaj jest nie tak?

 

P.S. Osoba bez flagi "q" która używa tej linki, co chwile "buguje" sie w ścianie i nie może sie ruszyć, nie wiem co tu jest nie tak :D


 

/**************************************************************************************************

**** CVARS (FEATURES) ****
sv_adminhook         = Turn Plugin On/off
**** ADMIN COMMANDS ****
ADMIN_LEVEL_A (flag="m")
Granting Hook/Rope   = amx_granthook <authid, nick, @team, @all or #userid> <on/off>

ADMIN_LEVEL_E (flag="q") || Granted by admin
Ninja Rope by Spacedude (slightly modified) & Hook thingy
Attaching Rope			= +rope
Deattaching Rope		= -rope
Attaching Hook			= +hook
Deattaching Hook		= -hook

**************************************************************************************************/
#define USING_AMX 0 // 1 = Using AMX \ 0 = Useing AMXX

#if USING_AMX
	#include <amxmod>
	#include <amxmisc>
	#include <VexdUM>
	#include <fun>
	#include <ColorChat>

	new gModName[32] = "AMX"
#else
	#include <amxmodx>
	#include <amxmisc>
	#include <fun>
	#include <engine>
	#include <ColorChat>
	new gModName[32] = "AMXX"
#endif

#define TE_BEAMENTPOINT 1
#define TE_KILLBEAM 99
#define DELTA_T 0.1				// seconds
#define BEAMLIFE 100			// deciseconds
#define MOVEACCELERATION 150	// units per second^2
#define REELSPEED 300			// units per second

/* Hook Stuff */
new gHookLocation[33][3]
new gHookLenght[33]
new bool:gIsHooked[33]
new gAllowedHook[33]
new Float:gBeamIsCreated[33]
new global_gravity
new beam

/************************************************************************************************************************/
public plugin_init() //Called on plugin start
{
	// Plugin Info
	register_plugin("Admin Hook","1.0","AssKicR")
	
	//CVARS
	register_cvar("sv_adminhook", "1" )

	//ADMIN CMDS
	register_concmd("amx_granthook","AdminGrantHook",ADMIN_LEVEL_E,"<authid, nick, @team, @all or #userid> <on/off>")

	//USER COMMANDS
	register_clcmd("+rope", "hook_on",ADMIN_LEVEL_E)
	register_clcmd("-rope", "hook_off",ADMIN_LEVEL_E)
	register_clcmd("+hook", "hook_on",ADMIN_LEVEL_E)
	register_clcmd("-hook", "hook_off",ADMIN_LEVEL_E)

	//HOOKED EVENTS
	register_event("ResetHUD", "ResetHUD", "b")
}
/************************************************************************************************************************/
public plugin_precache()
{
	beam = precache_model("sprites/zbeam4.spr")
	precache_sound("weapons/xbow_hit2.wav")
}
/*************************************************************************************************************************/
/************************************************** USP/SCOUT REMOVE *****************************************************/
/*************************************************************************************************************************/

/*************************************************************************************************************************/
/**************************************************** HOOKED EVENTS ******************************************************/
/*************************************************************************************************************************/
public ResetHUD(id) {
	//Check if he is hooked to something
	if (gIsHooked[id]) RopeRelease(id)
}
/************************************************************************************************************************/
stock kz_velocity_set(id,vel[3]) {
	//Set Their Velocity to 0 so that they they fall straight down from
	new Float:Ivel[3]
	Ivel[0]=float(vel[0])
	Ivel[1]=float(vel[1])
	Ivel[2]=float(vel[2])
	entity_set_vector(id, EV_VEC_velocity, Ivel)
}

stock kz_velocity_get(id,vel[3]) {
	//Set Their Velocity to 0 so that they they fall straight down from
	new Float:Ivel[3]

	entity_get_vector(id, EV_VEC_velocity, Ivel)
	vel[0]=floatround(Ivel[0])
	vel[1]=floatround(Ivel[1])
	vel[2]=floatround(Ivel[2])
}

/************************************************************************************************************************/
/**************************************************** ADMIN COMMANDS ****************************************************/
/************************************************************************************************************************/
public AdminGrantHook(id,level,cid) 
{ 
	if ( !cmd_access(id,level,cid,1) ) 
		return PLUGIN_HANDLED 

	new arg1[32],arg2[32]
	read_argv(1,arg1,31)
	read_argv(2,arg2,31)
	new onoff = str_to_num(arg2)

	if ( equali(arg1,"@all") ) 
	{ 
		new plist[32],pnum 
		get_players(plist,pnum,"a") 
		if (pnum==0) 
		{ 
		 console_print(id,"[%s] There are no clients",gModName) 
		 return PLUGIN_HANDLED 
		} 
		for (new i=0; i<pnum; i++) { 
			gAllowedHook[plist[i]]=onoff
			if (gIsHooked[plist[i]]==true && onoff==0)
			{
				RopeRelease(plist[i])
			}
		}

		console_print(id,"[%s] %s all players access to hook/rope",gModName,onoff ? "Gave":"Removed") 
	} 
	else if ( arg1[0]=='@' ) 
	{ 
		new plist[32],pnum 
		get_players(plist,pnum,"ae",arg1[1]) 
		if ( pnum==0 ) 
		{ 
		 console_print(id,"[%s] No clients in such team",gModName) 
		 return PLUGIN_HANDLED 
		} 
		for (new i=0; i<pnum; i++) {
			gAllowedHook[plist[i]]=onoff
			if (gIsHooked[plist[i]]==true && onoff==0)
			{
				RopeRelease(plist[i])
			}
		}
		console_print(id,"[%s] %s all %ss access to hook/rope",onoff ? "Gave":"Removed",arg1[1]) 
	} 
	else 
	{ 
		new pName[32] 
		new player = cmd_target(id,arg1,6) 
		if (!player) return PLUGIN_HANDLED 

		gAllowedHook[player]=onoff
		if (gAllowedHook[player]==0 && onoff==0)
		{
			RopeRelease(player)
		}

		
		get_user_name(player,pName,31) 
		console_print(id,"[%s] %s ^"%s^" access to hook/rope",onoff ? "Gave":"Removed",pName) 
	} 

	return PLUGIN_HANDLED 
}

/************************************************************************************************************************/
/****************************************************** NINJAROPE *******************************************************/
/************************************************************************************************************************/

public ropetask(parm[])
{
	new id = parm[0]
	new user_origin[3], user_look[3], user_direction[3], move_direction[3]
	new A[3], D[3], buttonadjust[3]
	new acceleration, velocity_towards_A, desired_velocity_towards_A
	new velocity[3], null[3]

	if (!is_user_alive(id))
	{
		RopeRelease(id)
		return
	}

	if (gBeamIsCreated[id] + BEAMLIFE/10 <= get_gametime())
	{
		beamentpoint(id)
	}

	null[0] = 0
	null[1] = 0
	null[2] = 0

	get_user_origin(id, user_origin)
	get_user_origin(id, user_look,2)
	kz_velocity_get(id, velocity)

	buttonadjust[0]=0
	buttonadjust[1]=0

	if (get_user_button(id)&IN_FORWARD)		buttonadjust[0]+=1
	if (get_user_button(id)&IN_BACK)		buttonadjust[0]-=1
	if (get_user_button(id)&IN_MOVERIGHT)	buttonadjust[1]+=1
	if (get_user_button(id)&IN_MOVELEFT)	buttonadjust[1]-=1
	if (get_user_button(id)&IN_JUMP)		buttonadjust[2]+=1
	if (get_user_button(id)&IN_DUCK)		buttonadjust[2]-=1

	if (buttonadjust[0] || buttonadjust[1])
	{
		user_direction[0] = user_look[0] - user_origin[0]
		user_direction[1] = user_look[1] - user_origin[1]

		move_direction[0] = buttonadjust[0]*user_direction[0] + user_direction[1]*buttonadjust[1]
		move_direction[1] = buttonadjust[0]*user_direction[1] - user_direction[0]*buttonadjust[1]
		move_direction[2] = 0

		velocity[0] += floatround(move_direction[0] * MOVEACCELERATION * DELTA_T / get_distance(null,move_direction))
		velocity[1] += floatround(move_direction[1] * MOVEACCELERATION * DELTA_T / get_distance(null,move_direction))
	}

	if (buttonadjust[2])	gHookLenght[id] -= floatround(buttonadjust[2] * REELSPEED * DELTA_T)
	if (gHookLenght[id] < 100) gHookLenght[id] = 100

	A[0] = gHookLocation[id][0] - user_origin[0]
	A[1] = gHookLocation[id][1] - user_origin[1]
	A[2] = gHookLocation[id][2] - user_origin[2]

	D[0] = A[0]*A[2] / get_distance(null,A)
	D[1] = A[1]*A[2] / get_distance(null,A)
	D[2] = -(A[1]*A[1] + A[0]*A[0]) / get_distance(null,A)

	acceleration = - global_gravity * D[2] / get_distance(null,D)

	velocity_towards_A = (velocity[0] * A[0] + velocity[1] * A[1] + velocity[2] * A[2]) / get_distance(null,A)
	desired_velocity_towards_A = (get_distance(user_origin,gHookLocation[id]) - gHookLenght[id] /*- 10*/) * 4

	if (get_distance(null,D)>10)
	{
		velocity[0] += floatround((acceleration * DELTA_T * D[0]) / get_distance(null,D))
		velocity[1] += floatround((acceleration * DELTA_T * D[1]) / get_distance(null,D))
		velocity[2] += floatround((acceleration * DELTA_T * D[2]) / get_distance(null,D))
	}

	velocity[0] += ((desired_velocity_towards_A - velocity_towards_A) * A[0]) / get_distance(null,A)
	velocity[1] += ((desired_velocity_towards_A - velocity_towards_A) * A[1]) / get_distance(null,A)
	velocity[2] += ((desired_velocity_towards_A - velocity_towards_A) * A[2]) / get_distance(null,A)

	kz_velocity_set(id, velocity)
}

public hooktask(parm[])
{ 
	new id = parm[0]
	new velocity[3]

	if ( !gIsHooked[id] ) return 
	
	new user_origin[3],oldvelocity[3]
	parm[0] = id

	if (!is_user_alive(id))
	{
		RopeRelease(id)
		return
	}

	if (gBeamIsCreated[id] + BEAMLIFE/10 <= get_gametime())
	{
		beamentpoint(id)
	}

	get_user_origin(id, user_origin) 
	kz_velocity_get(id, oldvelocity) 
	new distance=get_distance( gHookLocation[id], user_origin )
	if ( distance > 10 ) 
	{ 
		velocity[0] = floatround( (gHookLocation[id][0] - user_origin[0]) * ( 2.0 * REELSPEED / distance ) )
		velocity[1] = floatround( (gHookLocation[id][1] - user_origin[1]) * ( 2.0 * REELSPEED / distance ) )
		velocity[2] = floatround( (gHookLocation[id][2] - user_origin[2]) * ( 2.0 * REELSPEED / distance ) )
	} 
	else
	{
		velocity[0]=0
		velocity[1]=0
		velocity[2]=0
	}

	kz_velocity_set(id, velocity) 
	
} 

public hook_on(id)
{
    if (get_cvar_num("sv_adminhook")==1)
        {
        if (gAllowedHook[id] || (get_user_team(id)==2 )) {
            if (!gIsHooked[id] && is_user_alive(id))
            {
                new cmd[32]
                read_argv(0,cmd,31)
                if(equal(cmd,"+rope")) RopeAttach(id,0)
                if(equal(cmd,"+hook")) RopeAttach(id,1)
            }
        }else{
            ColorChat(id, GREEN, "[JailBreak]^x01 Linka dostepna tylko dla CT")
            return 1
        }
    }else{
        ColorChat(id, GREEN, "[JailBreak]^x01 Linka jest aktualnie wylaczona")
    }
    return 1
}

public hook_off(id)
{
	if (gAllowedHook[id] || (get_user_flags(id)&ADMIN_LEVEL_E)) {
		if (gIsHooked[id])
		{
			RopeRelease(id)
		}
	}else{
		ColorChat(id, GREEN, "[JailBreak]^x01 Linka niedostepna. Kup juz teraz: ^x03/sklepsms")
		return 1
	}
	return PLUGIN_HANDLED
}

public RopeAttach(id,hook)
{
	new parm[1], user_origin[3]
	parm[0] = id
	gIsHooked[id] = true
	get_user_origin(id,user_origin)
	get_user_origin(id,gHookLocation[id], 3)
	gHookLenght[id] = get_distance(gHookLocation[id],user_origin)
	global_gravity = get_cvar_num("sv_gravity")
	set_user_gravity(id,0.001)
	beamentpoint(id)
	emit_sound(id, CHAN_STATIC, "weapons/xbow_hit2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
	if (hook) set_task(DELTA_T, "hooktask", 200+id, parm, 1, "b")
	else set_task(DELTA_T, "ropetask", 200+id, parm, 1, "b")
}

public RopeRelease(id)
{
	gIsHooked[id] = false
	killbeam(id)
	set_user_gravity(id)
	remove_task(200+id)
}

public beamentpoint(id)
{
	message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
	write_byte( TE_BEAMENTPOINT )
	write_short( id )
	write_coord( gHookLocation[id][0] )
	write_coord( gHookLocation[id][1] )
	write_coord( gHookLocation[id][2] )
	write_short( beam )	// sprite index
	write_byte( 0 )		// start frame
	write_byte( 0 )		// framerate
	write_byte( BEAMLIFE )	// life
	write_byte( 10 )	// width
	write_byte( 0 )		// noise
	if (get_user_team(id)==1)		// Terrorist
	{
		write_byte( 255 )	// r, g, b
		write_byte( 0 )	// r, g, b
		write_byte( 0 )	// r, g, b
	}
	else							// Counter-Terrorist
	{
		write_byte( 0 )	// r, g, b
		write_byte( 0 )	// r, g, b
		write_byte( 255 )	// r, g, b
	}
	write_byte( 150 )	// brightness
	write_byte( 0 )		// speed
	message_end( )
	gBeamIsCreated[id] = get_gametime()
}

public killbeam(id)
{
	message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
	write_byte( TE_KILLBEAM )
	write_short( id )
	message_end()
}

/************************************************************************************************************************/
/******************************************************* FORWARDS *******************************************************/
/************************************************************************************************************************/

public client_disconnect(id) {
	gAllowedHook[id]=0
}

/************************************************************************************************************************/
/************************************************** AMXX -> AMX funcs ***************************************************/
/************************************************************************************************************************/
#if USING_AMX
	stock get_user_button(id) return entity_get_int(id, EV_INT_button)
#endif