Witam,
jak w temacie...
Mam origins, movetype TOSS, solid TRIGGER i
engfunc(EngFunc_SetSize,entit,{-1.1, -1.1, -1.1},{1.1, 1.1, 1.1});
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.
|
Najlepsza odpowiedź Asiap, 25.05.2015 23:01
mozna sprawdzic odleglosc od sciany
stock SprawdzPrzeszkode(Float:fOrigin[3], Float:fOdleglosc)
{
new Float:fStart[3], Float:fEnd[3];
for(new i; i < 3; i++)
{
fStart[i] = fEnd[i] = fOrigin[i];
}
fStart[0] += fOdleglosc;
fEnd[0] -= fOdleglosc;
if(engfunc(EngFunc_PointContents, fStart) != CONTENTS_EMPTY && engfunc(EngFunc_PointContents, fEnd) != CONTENTS_EMPTY)
{
return PLUGIN_CONTINUE;
}
fStart[0] -= fOdleglosc;
fStart[1] += fOdleglosc;
fEnd[0] += fOdleglosc;
fEnd[1] -= fOdleglosc;
if(engfunc(EngFunc_PointContents, fStart) != CONTENTS_EMPTY && engfunc(EngFunc_PointContents, fEnd) != CONTENTS_EMPTY)
{
return PLUGIN_CONTINUE;
}
return PLUGIN_HANDLED;
}
przyklad:
public Test(id)
{
new Float:fOrigin[3];
pev(id, pev_origin, fOrigin);
if(!SprawdzPrzeszkode(fOrigin, 100.0))
{
client_print(id, print_chat, "Brak przeszkody (sciany)");
}
else
{
client_print(id, print_chat, "Jest przeszkoda (sciana)");
}
}
Przejdź do postu
Napisano 25.05.2015 15:05
Witam,
jak w temacie...
Mam origins, movetype TOSS, solid TRIGGER i
engfunc(EngFunc_SetSize,entit,{-1.1, -1.1, -1.1},{1.1, 1.1, 1.1});
Napisano 25.05.2015 23:01 Najlepsza odpowiedź
mozna sprawdzic odleglosc od sciany
stock SprawdzPrzeszkode(Float:fOrigin[3], Float:fOdleglosc)
{
new Float:fStart[3], Float:fEnd[3];
for(new i; i < 3; i++)
{
fStart[i] = fEnd[i] = fOrigin[i];
}
fStart[0] += fOdleglosc;
fEnd[0] -= fOdleglosc;
if(engfunc(EngFunc_PointContents, fStart) != CONTENTS_EMPTY && engfunc(EngFunc_PointContents, fEnd) != CONTENTS_EMPTY)
{
return PLUGIN_CONTINUE;
}
fStart[0] -= fOdleglosc;
fStart[1] += fOdleglosc;
fEnd[0] += fOdleglosc;
fEnd[1] -= fOdleglosc;
if(engfunc(EngFunc_PointContents, fStart) != CONTENTS_EMPTY && engfunc(EngFunc_PointContents, fEnd) != CONTENTS_EMPTY)
{
return PLUGIN_CONTINUE;
}
return PLUGIN_HANDLED;
}
przyklad:
public Test(id)
{
new Float:fOrigin[3];
pev(id, pev_origin, fOrigin);
if(!SprawdzPrzeszkode(fOrigin, 100.0))
{
client_print(id, print_chat, "Brak przeszkody (sciany)");
}
else
{
client_print(id, print_chat, "Jest przeszkoda (sciana)");
}
}
Użytkownik Asiap edytował ten post 25.05.2015 23:01
Napisano 26.05.2015 07:29
0 użytkowników, 0 gości, 0 anonimowych