Witam. Czy istnieje właśnie cos takiego tylko w wersji dla enta? Chodzi mi tylko aby pobrał id gracza bądź enta.
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.
|
Guest Message by DevFuse
get_user_aiming dla enta
Temat rozp. NiczegoWinien, 04.10.2019 06:24
3 odpowiedzi w tym temacie
#1
Napisano 04.10.2019 06:24
#2
Napisano 04.10.2019 06:41
https://github.com/a...odx/amxmodx.cpp
Wpisz get_user_aiming i masz implementację tej funkcji. Teraz wystarczy przepisać ją po prostu do pluginu.
Wpisz get_user_aiming i masz implementację tej funkcji. Teraz wystarczy przepisać ją po prostu do pluginu.
#3
Napisano 04.10.2019 15:25
get_user_aiming
Nie rozumiem do konca:
To:
static cell AMX_NATIVE_CALL get_user_aiming(AMX *amx, cell *params) /* 4 param */
{
int index = params[1];
if (index < 1 || index > gpGlobals->maxClients)
{
LogError(amx, AMX_ERR_NATIVE, "Invalid player id %d", index);
return 0;
}
CPlayer* pPlayer = GET_PLAYER_POINTER_I(index);
cell *cpId = get_amxaddr(amx, params[2]);
cell *cpBody = get_amxaddr(amx, params[3]);
REAL pfloat = 0.0f;
if (pPlayer->ingame)
{
edict_t* edict = pPlayer->pEdict;
Vector v_forward;
Vector v_src = edict->v.origin + edict->v.view_ofs;
ANGLEVECTORS(edict->v.v_angle, v_forward, NULL, NULL);
TraceResult trEnd;
Vector v_dest = v_src + v_forward * static_cast<float>(params[4]);
TRACE_LINE(v_src, v_dest, 0, edict, &trEnd);
*cpId = FNullEnt(trEnd.pHit) ? 0 : ENTINDEX(trEnd.pHit);
*cpBody = trEnd.iHitgroup;
if (trEnd.flFraction < 1.0)
{
pfloat = (trEnd.vecEndPos - v_src).Length();
}
} else {
*cpId = 0;
*cpBody = 0;
}
return amx_ftoc(pfloat);
}
Mam wpisac do pluginu?
#4
Napisano 04.10.2019 16:37
nie, bo tamto jest napisane w C
analogicznie zrób. Jak widzisz linie:
Vector v_src = edict->v.origin + edict->v.view_ofs;
To pobierasz origin entity i view_ofs (patrz stałe pev_*)
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych