Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- new Arrow[MAX_PLAYERS];
- stock Float:GetPointAngleToPoint(Float:x2, Float:y2, Float:X, Float:Y)
- {
- new Float:DX, Float:DY;
- new Float:angle;
- DX = floatabs(floatsub(x2,X));
- DY = floatabs(floatsub(y2,Y));
- if (DY == 0.0 || DX == 0.0)
- {
- if(DY == 0 && DX > 0) angle = 0.0;
- else if(DY == 0 && DX < 0) angle = 180.0;
- else if(DY > 0 && DX == 0) angle = 90.0;
- else if(DY < 0 && DX == 0) angle = 270.0;
- else if(DY == 0 && DX == 0) angle = 0.0;
- }
- else
- {
- angle = atan(DX/DY);
- if(X > x2 && Y <= y2) angle += 90.0;
- else if(X <= x2 && Y < y2) angle = floatsub(90.0, angle);
- else if(X < x2 && Y >= y2) angle -= 90.0;
- else if(X >= x2 && Y > y2) angle = floatsub(270.0, angle);
- }
- return floatadd(angle, 90.0);
- }
- stock SetArrowPlayer(playerid,Float:pX,Float:pY)
- {
- new Float:x, Float:y, Float:z, Float:Q;
- GetObjectPos(Seta[playerid],x,y,z);
- new Float:lookat = GetPointAngleToPoint(x,y,pX,pY);
- GetPlayerFacingAngle(playerid, Q);
- DestroyObject(Seta[playerid]);
- new Float:A, Float:B, Float:C;
- GetPlayerPos(playerid, A, B, C);
- Arrow[playerid] = CreateObject(1318,A, B, C,0,90, lookat + Q);
- return 1;
- }
- public OnFilterScriptInit()
- {
- SetTimer("LOL", 100, 1);
- for(new I = 0; I < MAX_PLAYERS; I ++)
- {
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(I, X, Y, Z);
- Arrow[I] = CreateObject(1318,X, Y, Z,0,0,0);
- }
- return 1;
- }
- forward LOL();
- public LOL()
- {
- for(new I = 0; I < MAX_PLAYERS; I ++) SetArrowPlayer(I, 1153.9650,-1770.1655);
- return 1;
- }
- public OnFilterScriptExit()
- {
- for(new I = 0; I < MAX_PLAYERS; I ++) DestroyObject(Arrow[I]);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement