PDA

Просмотр полной версии : [Помогите!] Нужен человек который соберет из исходников dll файл,для игры APB


Kopcap_M
27.07.2011, 22:21
Нет опыта программирования.
Есть исходники файла, источник ([Ссылки могут видеть только зарегистрированные и активированные пользователи])
inline void DrawBoundingBox (UCanvas* Canvas, APawn* Target)
{
FVector X,Y,Z,D,E,top,bottom;;
float width, Left, Right, Top, Bot;

GetAxes(MyCameraRotation,X,Y,Z);

D.X = Target->Location.X - MyCameraLocation.X;
D.Y = Target->Location.Y - MyCameraLocation.Y;
D.Z = Target->Location.Z - MyCameraLocation.Z;

if(Dot(D,X) <= cos(90 * 3.14159265 / 180))
return;

FBoxSphereBounds Player = Target->Mesh->Bounds;

top = Target->Location;
top = WorldToScreen(Canvas,top);

bottom = Player.BoxExtent;
bottom = WorldToScreen(Canvas,bottom);

width = ((top.Y - bottom.Y) / 3);

Left = top.X + width;
Right = top.X - width;
Top = top.Y;
Bot = bottom.Y;

Canvas->Draw2DLine(Left, Top, Left, Bot, Green);
Canvas->Draw2DLine(Left, Bot, Right, Bot, Green);
Canvas->Draw2DLine(Right, Bot, Right, Top, Green);
Canvas->Draw2DLine(Right, Top, Left, Top, Green);
}
float Size (FVector &v)
{
return sqrt(v.x*v.x + v.y*v.y + v.z*v.z);
}

void Normalize (FVector &v)
{
float size = Size(v);

if ( !size )
{
v.x = v.y = v.z = 1;
}
else
{
v.x /= size;
v.y /= size;
v.z /= size;
}
}

void inline GetAxes (FRotator R, FVector &X, FVector &Y, FVector &Z)
{
X = RotToVec(R);
X.Normalize();
R.Yaw += 16384;
FRotator R2 = R;
R2.Pitch = 0.f;
Y = RotToVec(R2);
Y.Normalize();
Y.Z = 0.f;
R.Yaw -= 16384;
R.Pitch += 16384;
Z = RotToVec(R);
Z.Normalize();
}

float inline Dot (const FVector& V1,const FVector& V2)
{
return ( V1.X*V2.X + V1.Y*V2.Y + V1.Z*V2.Z );
}
FVector WorldToScreen (UCanvas* Canvas, FVector WorldLocation)//Helios
{
FVector X,Y,Z,D,Out;
GetAxes(MyCameraRotation,X,Y,Z);
D = WorldLocation - MyCameraLocation;
Out.X = (Canvas->ClipX/2)+( Dot(D,Y))*((Canvas->ClipX/2)/tan(Me->FovAngle*PI/360))/Dot(D,X);
Out.Y = (Canvas->ClipY/2)+(-Dot(D,Z))*((Canvas->ClipX/2)/tan(Me->FovAngle*PI/360))/Dot(D,X);
Out.Z = 0;
return Out;
}
void DrawPlayerESP( UCanvas* pCanvas )
{
if (pPC == NULL || pPC->Pawn == NULL || pPC->WorldInfo == NULL )
return;

APawn* Target = pPC->Pawn->WorldInfo->PawnList;
while ( Target != NULL )
{
if ( Target != NULL && !Target->bDeleteMe && Target->Health >0 && Target != pPC->Pawn && !Target->IsA(AVehicle::StaticClass()))
{
DrawBoundingBox (pCanvas, Target);
}

Target = Target->NextPawn;
}
}

GinexFuck
02.05.2012, 16:17
Kopcap_M, добавь в скайп max-paine-krasava помогу

Nickitee
02.05.2012, 22:58
Ты дал код на рисование 2d бокса и мир->экран функции.
Но насколько я знаю, тебе ещё нужен SDK последней версии APB, её можно дампнуть через прогу на mpgh, поищи в разделе APB.
Ну а дальше, пост #10 из источника.