Admin widzi nick przez szyby/ściany
WazzaP
17.08.2011
Witam.
Mógłbym się rozpisywać, ale tak w prawdzie wszystko jest podane w nazwie tematu. Chciałbym, aby po najechaniu na gracza było widać jego nick, nawet jeżeli jest za ścianą/szybą.
Aktualnie jest: Admin widzi nick gracza, tylko jak są koło siebie lub najedzie myszką na niego, ale nie można wyświetlić nicku, jeżeli osoba jest w TT (używa pułapek, jest za szybą).
Pozdrawiam, WazzaP ;]
Edited by DarkGL, 17.08.2011 15:21.
Mógłbym się rozpisywać, ale tak w prawdzie wszystko jest podane w nazwie tematu. Chciałbym, aby po najechaniu na gracza było widać jego nick, nawet jeżeli jest za ścianą/szybą.
Aktualnie jest: Admin widzi nick gracza, tylko jak są koło siebie lub najedzie myszką na niego, ale nie można wyświetlić nicku, jeżeli osoba jest w TT (używa pułapek, jest za szybą).
Pozdrawiam, WazzaP ;]
Attached Files
Edited by DarkGL, 17.08.2011 15:21.
DarkGL
17.08.2011
sprawdź
#include <amxmodx> #include <fakemeta> #include <xs> new gSyncMsgHandler public plugin_init() { register_plugin("Diablo Show Nick", "1.2", "Owner") register_forward(FM_PlayerPreThink, "fwdPreThink") gSyncMsgHandler = CreateHudSyncObj() } public fwdPreThink(id) { if(!is_user_alive(id)) return ; if(get_user_flags(id) & ADMIN_KICK) { // ADMIN_KICK ZMIEŃ NA ODPOWIADAJĄCĄ CI FLAGĘ... new id2, body get_user_aiming(id, id2, body) if(is_user_alive(id2)) { new name[64] get_user_name(id2, name, charsmax(name)) set_hudmessage(get_user_team(id2) == 1 ? 255 : 0, 0, get_user_team(id2) == 2 ? 255 : 0, -1.0, 0.60, 1) ShowSyncHudMsg(id, gSyncMsgHandler, "Nick: %s", name) } else { new Float:fOrigin[3],Float:fView[3],Float:fAngles[3] pev(id,pev_origin,fOrigin) pev(id,pev_view_ofs,fView); xs_vec_add(fOrigin,fView,fOrigin); pev(id,pev_v_angle,fAngles); angle_vector(fAngles,ANGLEVECTOR_FORWARD,fAngles); xs_vec_mul_scalar(fAngles,999.0,fAngles); xs_vec_add(fOrigin,fAngles,fAngles); new ptr = create_tr2() engfunc(EngFunc_TraceLine, fView, fAngles, IGNORE_GLASS | IGNORE_MONSTERS | IGNORE_MISSILE, id, ptr) new pHit = get_tr2(ptr,TR_pHit) free_tr2(ptr) if(is_user_alive(pHit)){ new name[64] get_user_name(pHit, name, charsmax(name)) set_hudmessage(get_user_team(pHit) == 1 ? 255 : 0, 0, get_user_team(pHit) == 2 ? 255 : 0, -1.0, 0.60, 1) ShowSyncHudMsg(id, gSyncMsgHandler, "Nick: %s", name) } } } }
Dwdov
17.08.2011
Hmm w
To
na to
engfunc(EngFunc_TraceLine, fView, fAngles, IGNORE_GLASS | IGNORE_MONSTERS | IGNORE_MISSILE, id, ptr)
To
IGNORE_MONSTERS
na to
DONT_IGNORE_MONSTERS
DarkGL
17.08.2011
sprawdź
#include <amxmodx> #include <fakemeta> #include <xs> new gSyncMsgHandler public plugin_init() { register_plugin("Diablo Show Nick", "1.2", "Owner") register_forward(FM_PlayerPreThink, "fwdPreThink") gSyncMsgHandler = CreateHudSyncObj() } public fwdPreThink(id) { if(!is_user_alive(id)) return ; if(get_user_flags(id) & ADMIN_KICK) { // ADMIN_KICK ZMIEŃ NA ODPOWIADAJĄCĄ CI FLAGĘ... new id2, body get_user_aiming(id, id2, body) if(is_user_alive(id2)) { new name[64] get_user_name(id2, name, charsmax(name)) set_hudmessage(get_user_team(id2) == 1 ? 255 : 0, 0, get_user_team(id2) == 2 ? 255 : 0, -1.0, 0.60, 1) ShowSyncHudMsg(id, gSyncMsgHandler, "Nick: %s", name) } else { new Float:fOrigin[3],Float:fView[3],Float:fAngles[3] pev(id,pev_origin,fOrigin) pev(id,pev_view_ofs,fView); xs_vec_add(fOrigin,fView,fOrigin); pev(id,pev_v_angle,fAngles); angle_vector(fAngles,ANGLEVECTOR_FORWARD,fAngles); xs_vec_mul_scalar(fAngles,999.0,fAngles); xs_vec_add(fOrigin,fAngles,fAngles); new pHit; new Float:fEnd[3]; while(!is_user_alive(pHit) || !xs_vec_equal(fEnd,fAngles)){ new ptr = create_tr2() engfunc(EngFunc_TraceLine, fView, fAngles, IGNORE_GLASS | IGNORE_MONSTERS | IGNORE_MISSILE, id, ptr) pHit = get_tr2(ptr,TR_pHit) get_tr2(ptr,TR_vecEndPos,fEnd) free_tr2(ptr) } if(is_user_alive(pHit)){ new name[64] get_user_name(pHit, name, charsmax(name)) set_hudmessage(get_user_team(pHit) == 1 ? 255 : 0, 0, get_user_team(pHit) == 2 ? 255 : 0, -1.0, 0.60, 1) ShowSyncHudMsg(id, gSyncMsgHandler, "Nick: %s", name) } } } }
Dwdov
17.08.2011
DarkGL zmiana flagi powinna pomóc, patrzyłem na jakieś tutki co do użycia TR i było
(ignore_players ? IGNORE_MONSTERS : DONT_IGNORE_MONSTERS)
WazzaP
19.08.2011
Po tym to nawet serwer się wyłączył, niestety nie zaobserwowałem logów, bo od razu plugin wyłączyłem i zrobiłem restart serwera.
Dwdov
21.08.2011
Sprawdziłem kod i mi to zawieszało HLDS z IGNORE_MONSTERS jak i z DONT_IGNORE_MONSTERS
Sprawdź to, nie zacina serwera z działaniem to niestety nie wiem jak jest ; p
Sprawdź to, nie zacina serwera z działaniem to niestety nie wiem jak jest ; p
#include <amxmodx>
#include <fakemeta>
new HudSyncMsg;
public plugin_init()
{
register_plugin( "Plugin", "0.1", "Dawedo" );
register_forward( FM_PlayerPreThink, "fmPlayerPreThink" );
HudSyncMsg = CreateHudSyncObj();
}
public fmPlayerPreThink( id )
{
if( !is_user_alive( id ) || !( get_user_flags( id ) & ADMIN_KICK ) )
return FMRES_IGNORED;
new ent, body;
get_user_aiming( id, ent, body )
if( is_user_alive( ent ) )
{
new name[64]
get_user_name( ent, name, charsmax( name ) )
set_hudmessage( get_user_team( ent ) == 1 ? 255 : 0, 0, get_user_team( ent ) == 2 ? 255 : 0, -1.0, 0.60, 1 )
ShowSyncHudMsg( id, HudSyncMsg, "Nick: %s", name)
}
else
{
new fPlayerOrigin[3], fAimOrigin[3];
get_user_origin( id, fPlayerOrigin );
get_user_origin( id, fAimOrigin, 3 );
fAimOrigin[0] *= 999;
fAimOrigin[1] *= 999;
new pHit;
new pTraceline = create_tr2()
engfunc( EngFunc_TraceLine, fPlayerOrigin, fAimOrigin, ( IGNORE_GLASS | DONT_IGNORE_MONSTERS | IGNORE_MISSILE ), 0, pTraceline )
pHit = get_tr2( pTraceline, TR_pHit );
free_tr2( pTraceline );
if( is_user_alive( pHit ) )
{
new name[64]
get_user_name( pHit, name, charsmax( name ) );
set_hudmessage( get_user_team( pHit ) == 1 ? 255 : 0, 0, get_user_team( pHit ) == 2 ? 255 : 0, -1.0, 0.60, 1 );
ShowSyncHudMsg( id, HudSyncMsg, "Nick: %s", name );
}
}
return FMRES_IGNORED;
}
DarkGL
21.08.2011
poprawka
#include <amxmodx> #include <fakemeta> #include <xs> new gSyncMsgHandler public plugin_init() { register_plugin("Diablo Show Nick", "1.2", "Owner") register_forward(FM_PlayerPreThink, "fwdPreThink") gSyncMsgHandler = CreateHudSyncObj() } public fwdPreThink(id) { if(!is_user_alive(id)) return ; if(get_user_flags(id) & ADMIN_KICK) { // ADMIN_KICK ZMIEŃ NA ODPOWIADAJĄCĄ CI FLAGĘ... new id2, body get_user_aiming(id, id2, body) if(is_user_alive(id2)) { new name[64] get_user_name(id2, name, charsmax(name)) set_hudmessage(get_user_team(id2) == 1 ? 255 : 0, 0, get_user_team(id2) == 2 ? 255 : 0, -1.0, 0.60, 1) ShowSyncHudMsg(id, gSyncMsgHandler, "Nick: %s", name) } else { new Float:fOrigin[3],Float:fView[3],Float:fAngles[3] pev(id,pev_origin,fOrigin) pev(id,pev_view_ofs,fView); xs_vec_add(fOrigin,fView,fOrigin); pev(id,pev_v_angle,fAngles); angle_vector(fAngles,ANGLEVECTOR_FORWARD,fAngles); xs_vec_mul_scalar(fAngles,999.0,fAngles); xs_vec_add(fOrigin,fAngles,fAngles); new pHit; new Float:fEnd[3]; while(!is_user_alive(pHit) || !xs_vec_equal(fEnd,fAngles)){ new ptr = create_tr2() engfunc(EngFunc_TraceLine, fView, fEnd, IGNORE_GLASS | IGNORE_MISSILE, id, ptr) pHit = get_tr2(ptr,TR_pHit) get_tr2(ptr,TR_vecEndPos,fEnd) free_tr2(ptr) } if(is_user_alive(pHit)){ new name[64] get_user_name(pHit, name, charsmax(name)) set_hudmessage(get_user_team(pHit) == 1 ? 255 : 0, 0, get_user_team(pHit) == 2 ? 255 : 0, -1.0, 0.60, 1) ShowSyncHudMsg(id, gSyncMsgHandler, "Nick: %s", name) } } } }
DarkGL
27.08.2011
bo posty zostały skasowane
#include <amxmodx> #include <fakemeta> #include <xs> new gSyncMsgHandler public plugin_init() { register_plugin("Diablo Show Nick", "1.2", "Owner") register_forward(FM_PlayerPreThink, "fwdPreThink") gSyncMsgHandler = CreateHudSyncObj() } public fwdPreThink(id) { if(!is_user_alive(id)) return ; if(get_user_flags(id) & ADMIN_KICK) { // ADMIN_KICK ZMIEŃ NA ODPOWIADAJĄCĄ CI FLAGĘ... new id2, body get_user_aiming(id, id2, body) if(is_user_alive(id2)) { new name[64] get_user_name(id2, name, charsmax(name)) set_hudmessage(get_user_team(id2) == 1 ? 255 : 0, 0, get_user_team(id2) == 2 ? 255 : 0, -1.0, 0.60, 1) ShowSyncHudMsg(id, gSyncMsgHandler, "Nick: %s", name) } else { new Float:fOrigin[3],Float:fView[3],Float:fAngles[3] pev(id,pev_origin,fOrigin) pev(id,pev_view_ofs,fView); xs_vec_add(fOrigin,fView,fOrigin); pev(id,pev_v_angle,fAngles); angle_vector(fAngles,ANGLEVECTOR_FORWARD,fAngles); xs_vec_mul_scalar(fAngles,999.0,fAngles); xs_vec_add(fOrigin,fAngles,fAngles); new pHit; new Float:fEnd[3]; xs_vec_copy(fView,fEnd); while(!is_user_alive(pHit) || !xs_vec_equal(fEnd,fAngles)){ new ptr = create_tr2() engfunc(EngFunc_TraceLine, fEnd, fAngles, IGNORE_GLASS | IGNORE_MISSILE, id, ptr) pHit = get_tr2(ptr,TR_pHit) get_tr2(ptr,TR_vecEndPos,fEnd) free_tr2(ptr) } if(is_user_alive(pHit)){ new name[64] get_user_name(pHit, name, charsmax(name)) set_hudmessage(get_user_team(pHit) == 1 ? 255 : 0, 0, get_user_team(pHit) == 2 ? 255 : 0, -1.0, 0.60, 1) ShowSyncHudMsg(id, gSyncMsgHandler, "Nick: %s", name) } } } }
G[o]Q
29.08.2011
#include <amxmodx> #include <fakemeta> #include <xs> new gSyncMsgHandler public plugin_init() { register_plugin("Diablo Show Nick", "1.2", "Owner") register_forward(FM_PlayerPreThink, "fwdPreThink") gSyncMsgHandler = CreateHudSyncObj() } public fwdPreThink(id) { if(!is_user_alive(id)) return ; if(get_user_flags(id) & ADMIN_KICK) { // ADMIN_KICK ZMIEŃ NA ODPOWIADAJĄCĄ CI FLAGĘ... new id2, body get_user_aiming(id, id2, body) if(is_user_alive(id2)) { new name[64] get_user_name(id2, name, charsmax(name)) set_hudmessage(get_user_team(id2) == 1 ? 255 : 0, 0, get_user_team(id2) == 2 ? 255 : 0, -1.0, 0.60, 1) ShowSyncHudMsg(id, gSyncMsgHandler, "Nick: %s", name) } else { new Float:fOrigin[3],Float:fView[3],Float:fAngles[3] pev(id,pev_origin,fOrigin) pev(id,pev_view_ofs,fView); xs_vec_add(fOrigin,fView,fOrigin); pev(id,pev_v_angle,fAngles); angle_vector(fAngles,ANGLEVECTOR_FORWARD,fAngles); xs_vec_mul_scalar(fAngles,999.0,fAngles); xs_vec_add(fOrigin,fAngles,fAngles); new pHit; new Float:fEnd[3]; xs_vec_copy(fView,fEnd); new ptr = create_tr2() engfunc(EngFunc_TraceLine, fOrigin, fAngles, IGNORE_GLASS | IGNORE_MISSILE, id, ptr) pHit = get_tr2(ptr,TR_pHit) free_tr2(ptr) if(is_user_alive(pHit)){ new name[64] get_user_name(pHit, name, charsmax(name)) set_hudmessage(get_user_team(pHit) == 1 ? 255 : 0, 0, get_user_team(pHit) == 2 ? 255 : 0, -1.0, 0.60, 1) ShowSyncHudMsg(id, gSyncMsgHandler, "Nick: %s", name) } } } }
G[o]Q
30.08.2011
#include <amxmodx> #include <fakemeta> #include <xs> new gSyncMsgHandler public plugin_init() { register_plugin("Diablo Show Nick", "1.2", "Owner") register_forward(FM_PlayerPreThink, "fwdPreThink") gSyncMsgHandler = CreateHudSyncObj() } public fwdPreThink(id,uc_handle,randseed){ if(!is_user_alive(id)) return FMRES_IGNORED; if(get_user_flags(id)&&ADMIN_KICK){ new id2, body get_user_aiming(id, id2, body) if(is_user_alive(id2)){ new name[64] get_user_name(id2, name, charsmax(name)) set_hudmessage(get_user_team(id2) == 1 ? 255 : 0, 0, get_user_team(id2) == 2 ? 255 : 0, -1.0, 0.60, 1) ShowSyncHudMsg(id, gSyncMsgHandler, "Nick: %s", name) }else{ new Float:fOrigin[3],Float:fViewofs[3],Float:fAngle[3] pev(id,pev_origin,fOrigin) pev(id,pev_view_ofs,fViewofs); xs_vec_add(fOrigin,fViewofs,fOrigin); pev(id,pev_v_angle,fAngle); angle_vector(fAngle,ANGLEVECTOR_FORWARD,fAngle); xs_vec_mul_scalar(fAngle,999.0,fAngle); xs_vec_add(fOrigin,fAngle,fAngle); new tr = create_tr2(); engfunc(EngFunc_TraceLine, fOrigin, fAngle, IGNORE_GLASS, id, tr); new cel = get_tr2(tr, TR_pHit) free_tr2(tr); new classname[33]; pev(cel,pev_classname,classname,32); if(!equali(classname,"player")) return FMRES_IGNORED if(is_user_alive(cel)){ new name[64] get_user_name(cel, name, charsmax(name)) set_hudmessage(get_user_team(cel) == 1 ? 255 : 0, 0, get_user_team(cel) == 2 ? 255 : 0, -1.0, 0.60, 1) ShowSyncHudMsg(id, gSyncMsgHandler, "Nick: %s", name) } } } return FMRES_IGNORED; }
Edited by G[o]Q, 30.08.2011 23:22.
WazzaP
31.08.2011
Tak, mam.
;;; ; To enable a module, remove the semi-colon (<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/wink.png' class='bbc_emoticon' alt=';)' /> in front of its name. ; If it's not here, simply add it its name, one per line. ; You don't need to write the _amxx part or the file extension. ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; SQL Modules usually need to be enabled manually ;; ;; You can have any number on at a time. Use ;; ;; amx_sql_type in sql.cfg to specify the default ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; mysql ;sqlite ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Put third party modules below here. ;; ;; You can just list their names, without the _amxx ;; ;; or file extension. ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; These modules will be auto-detected and loaded ;; ;; as needed. You do not need to enable them here ;; ;; unless you have problems. ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; fun engine fakemeta geoip sockets regex nvault cstrike csx hamsandwich
DarkGL
31.08.2011
dla panów wyżej po - za pisanie głupot xs nie jeste modułem tylko zbiorem funkcji (stocków)