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