Jaka jest funkcja na to, aby po najechaniu celownikiem na byt, tu chodzi mi o pakę wykonywała się dana czynność? Nie mogę niestety zbytnio znaleźć w dokumentacji odnośnie bomby.
Użytkownik Nenczoks edytował ten post 09.12.2011 22:13
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.
|
Napisano 09.12.2011 22:13
Użytkownik Nenczoks edytował ten post 09.12.2011 22:13
Napisano 09.12.2011 22:21
Napisano 09.12.2011 23:16
Napisano 10.12.2011 11:02
stock Float:get_user_aiming2( iPlayer, &id, &body=0, dist=9999 ) { new Float:vStart[3], Float:vEnd[3], Float:vReturn[3]; GetOriginOutsidePlayer( iPlayer, vStart ); velocity_by_aim( iPlayer, dist, vEnd ); xs_vec_add( vStart, vEnd, vEnd ); #if defined _engine_included id = trace_line(0, vStart, vEnd, vReturn); body = traceresult( TR_Hitgroup ); return get_distance_f( vStart, vReturn ); #else engfunc(EngFunc_TraceLine, vStart, vEnd, DONT_IGNORE_MONSTERS, 0, 0); id = get_tr2(0, TR_pHit); body = get_tr2(0, TR_iHitgroup); get_tr2(0, TR_vecEndPos, vReturn); return get_distance_f( vStart, vReturn ); #endif } stock GetOriginOutsidePlayer( iPlayer, Float:vecReturn[ 3 ] ) { velocity_by_aim( iPlayer, 1, vecReturn ); new Float:vAbsAim[3]; vAbsAim[0] = floatabs( vecReturn[0] ); vAbsAim[1] = floatabs( vecReturn[1] ); vAbsAim[2] = floatabs( vecReturn[2] ); new longest_axis; if( vAbsAim[1] > vAbsAim[0] && vAbsAim[1] > vAbsAim[2] ) longest_axis = 1; else if( vAbsAim[2] > vAbsAim[0] && vAbsAim[2] > vAbsAim[1] ) longest_axis = 2; new Float:box[3]; pev( iPlayer, ( vecReturn[ longest_axis ] < 0.0 ) ? pev_mins : pev_maxs, box ); xs_vec_mul_scalar( vecReturn, ( ( 1.0 + floatabs( box[ longest_axis ] ) ) / ( vAbsAim[ longest_axis ] ) ), vecReturn ); new Float:vOrigin[3]; pev( iPlayer, pev_origin, vOrigin ); xs_vec_add( vecReturn, vOrigin, vecReturn ); }
Napisano 10.12.2011 16:43
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>
#include <xs>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Nenczoks"
new const g_classname[] = "classname"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_forward(FM_PlayerPreThink, "ltm_PreThink");
}
public ltm_PreThink(id)
{
new ent, body;
get_user_aiming2(id, ent, body);
new const c4 = engfunc(EngFunc_FindEntityByString, FM_NULLENT, g_classname, "weapon_c4")
if( ent == c4 )
{
get_user_aiming(id, ent, body);
set_hudmessage(255, 255, 0, -1.0, 0.62, 0, 6.0, 0.5);
show_hudmessage(id, "Test");
}
return FMRES_IGNORED;
}
stock Float:get_user_aiming2( iPlayer, &id, &body=0, dist=9999 )
{
new Float:vStart[3], Float:vEnd[3], Float:vReturn[3];
GetOriginOutsidePlayer( iPlayer, vStart );
velocity_by_aim( iPlayer, dist, vEnd );
xs_vec_add( vStart, vEnd, vEnd );
#if defined _engine_included
id = trace_line(0, vStart, vEnd, vReturn);
body = traceresult( TR_Hitgroup );
return get_distance_f( vStart, vReturn );
#else
engfunc(EngFunc_TraceLine, vStart, vEnd, DONT_IGNORE_MONSTERS, 0, 0);
id = get_tr2(0, TR_pHit);
body = get_tr2(0, TR_iHitgroup);
get_tr2(0, TR_vecEndPos, vReturn);
return get_distance_f( vStart, vReturn );
#endif
}
stock GetOriginOutsidePlayer( iPlayer, Float:vecReturn[ 3 ] )
{
velocity_by_aim( iPlayer, 1, vecReturn );
new Float:vAbsAim[3];
vAbsAim[0] = floatabs( vecReturn[0] );
vAbsAim[1] = floatabs( vecReturn[1] );
vAbsAim[2] = floatabs( vecReturn[2] );
new longest_axis;
if( vAbsAim[1] > vAbsAim[0] && vAbsAim[1] > vAbsAim[2] )
longest_axis = 1;
else if( vAbsAim[2] > vAbsAim[0] && vAbsAim[2] > vAbsAim[1] )
longest_axis = 2;
new Float:box[3];
pev( iPlayer, ( vecReturn[ longest_axis ] < 0.0 ) ? pev_mins : pev_maxs, box );
xs_vec_mul_scalar( vecReturn, ( ( 1.0 + floatabs( box[ longest_axis ] ) ) / ( vAbsAim[ longest_axis ] ) ), vecReturn );
new Float:vOrigin[3];
pev( iPlayer, pev_origin, vOrigin );
xs_vec_add( vecReturn, vOrigin, vecReturn );
}
Użytkownik Nenczoks edytował ten post 10.12.2011 16:43
Napisano 10.12.2011 16:59
Napisano 10.12.2011 18:11
Napisano 10.12.2011 19:56
Napisano 10.12.2011 20:15
Głupio spytam, włączyłeś moduły i masz xs ?
Napisano 10.12.2011 20:17
Napisano 10.12.2011 20:46
Dokładnie.Fili'emu chodziło o plik modules.ini ... czy tam masz odblokowane moduły
Napisano 10.12.2011 23:15
Napisano 11.12.2011 15:24
tak to też może mieć znaczenie jeśli ta choinka to odzielnny ent i ma nadane mins i maxsA może to jest powód tego, że paka ma model choinki
Napisano 16.12.2011 22:03
Napisano 16.12.2011 22:05
Napisano 16.12.2011 22:30
Napisano 17.12.2011 07:53
find_ent_by_model(-1, "grenade", "models/w_c4.mdl")))
Napisano 17.12.2011 16:40
/* Plugin generated by AMXX-Studio*/
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>
#include <xs>
#include <engine>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Nenczoks"
new const g_classname[] = "classname"
new const g_c4[] = find_ent_by_model(-1, "grenade", "models/c14-cristmastree.mdl"))
//"weapon_c4"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_forward(FM_PlayerPreThink, "ltm_PreThink");
}
public ltm_PreThink(id)
{
new ent, body;
get_user_aiming2(id, ent, body);
new const c4 = engfunc(EngFunc_FindEntityByString, FM_NULLENT, g_classname, g_c4) //if(find_ent_by_model(-1, "grenade", "models/c14-cristmastree.mdl"))
if( ent == c4 )//if(find_ent_by_model(-1, "grenade", "models/c14-cristmastree.mdl"))
{
get_user_aiming(id, ent, body);
set_hudmessage(255, 255, 0, -1.0, 0.62, 0, 6.0, 0.5);
show_hudmessage(id, "Test");
}
return FMRES_IGNORED;
}
stock Float:get_user_aiming2( iPlayer, &id, &body=0, dist=9999 )
{
new Float:vStart[3], Float:vEnd[3], Float:vReturn[3];
GetOriginOutsidePlayer( iPlayer, vStart );
velocity_by_aim( iPlayer, dist, vEnd );
xs_vec_add( vStart, vEnd, vEnd );
#if defined _engine_included
id = trace_line(0, vStart, vEnd, vReturn);
body = traceresult( TR_Hitgroup );
return get_distance_f( vStart, vReturn );
#else
engfunc(EngFunc_TraceLine, vStart, vEnd, DONT_IGNORE_MONSTERS, 0, 0);
id = get_tr2(0, TR_pHit);
body = get_tr2(0, TR_iHitgroup);
get_tr2(0, TR_vecEndPos, vReturn);
return get_distance_f( vStart, vReturn );
#endif
}
stock GetOriginOutsidePlayer( iPlayer, Float:vecReturn[ 3 ] )
{
velocity_by_aim( iPlayer, 1, vecReturn );
new Float:vAbsAim[3];
vAbsAim[0] = floatabs( vecReturn[0] );
vAbsAim[1] = floatabs( vecReturn[1] );
vAbsAim[2] = floatabs( vecReturn[2] );
new longest_axis;
if( vAbsAim[1] > vAbsAim[0] && vAbsAim[1] > vAbsAim[2] )
longest_axis = 1;
else if( vAbsAim[2] > vAbsAim[0] && vAbsAim[2] > vAbsAim[1] )
longest_axis = 2;
new Float:box[3];
pev( iPlayer, ( vecReturn[ longest_axis ] < 0.0 ) ? pev_mins : pev_maxs, box );
xs_vec_mul_scalar( vecReturn, ( ( 1.0 + floatabs( box[ longest_axis ] ) ) / ( vAbsAim[ longest_axis ] ) ), vecReturn );
new Float:vOrigin[3];
pev( iPlayer, pev_origin, vOrigin );
xs_vec_add( vecReturn, vOrigin, vecReturn );
}
Użytkownik Nenczoks edytował ten post 17.12.2011 16:43
Napisano 17.12.2011 21:33
new c4 if ((c4 = find_ent_by_model(-1, "grenade", g_c4)))
new const c4 = engfunc(EngFunc_FindEntityByString, FM_NULLENT, g_classname, g_c4) //if(find_ent_by_model(-1, "grenade", "models/c14-cristmastree.mdl"))
Napisano 17.12.2011 21:39
nie znam tego kodowania.
#include <amxmodx> #include <amxmisc> #include <hamsandwich> #include <fakemeta> #include <xs> #include <engine> #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "Nenczoks" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_forward(FM_PlayerPreThink, "ltm_PreThink"); } public ltm_PreThink(id) { new ent, body; get_user_aiming2(id, ent, body); new const c4 = find_ent_by_model(-1, "grenade", "models/c14-cristmastree.mdl"); if( ent && c4 && ent == c4 ){ get_user_aiming(id, ent, body); set_hudmessage(255, 255, 0, -1.0, 0.62, 0, 6.0, 0.5); show_hudmessage(id, "Test"); } return FMRES_IGNORED; } stock Float:get_user_aiming2( iPlayer, &id, &body=0, dist=9999 ) { new Float:vStart[3], Float:vEnd[3], Float:vReturn[3]; GetOriginOutsidePlayer( iPlayer, vStart ); velocity_by_aim( iPlayer, dist, vEnd ); xs_vec_add( vStart, vEnd, vEnd ); #if defined _engine_included id = trace_line(0, vStart, vEnd, vReturn); body = traceresult( TR_Hitgroup ); return get_distance_f( vStart, vReturn ); #else engfunc(EngFunc_TraceLine, vStart, vEnd, DONT_IGNORE_MONSTERS, 0, 0); id = get_tr2(0, TR_pHit); body = get_tr2(0, TR_iHitgroup); get_tr2(0, TR_vecEndPos, vReturn); return get_distance_f( vStart, vReturn ); #endif } stock GetOriginOutsidePlayer( iPlayer, Float:vecReturn[ 3 ] ) { velocity_by_aim( iPlayer, 1, vecReturn ); new Float:vAbsAim[3]; vAbsAim[0] = floatabs( vecReturn[0] ); vAbsAim[1] = floatabs( vecReturn[1] ); vAbsAim[2] = floatabs( vecReturn[2] ); new longest_axis; if( vAbsAim[1] > vAbsAim[0] && vAbsAim[1] > vAbsAim[2] ) longest_axis = 1; else if( vAbsAim[2] > vAbsAim[0] && vAbsAim[2] > vAbsAim[1] ) longest_axis = 2; new Float:box[3]; pev( iPlayer, ( vecReturn[ longest_axis ] < 0.0 ) ? pev_mins : pev_maxs, box ); xs_vec_mul_scalar( vecReturn, ( ( 1.0 + floatabs( box[ longest_axis ] ) ) / ( vAbsAim[ longest_axis ] ) ), vecReturn ); new Float:vOrigin[3]; pev( iPlayer, pev_origin, vOrigin ); xs_vec_add( vecReturn, vOrigin, vecReturn ); }lub
0 użytkowników, 0 gości, 0 anonimowych