Advertisement
Guest User

Untitled

a guest
Sep 9th, 2010
285
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.00 KB | None | 0 0
  1. stock IsPlayerInPerimeter(playerid,vertices,Float:XCoords[],Float:YCoords[])//stock je deklaracije funkcije koja ne mora biti koristena
  2. {
  3.     new u = vertices-1, Intersect = 0, Float:X, Float:Y, Float:Z; GetPlayerPos(playerid,X,Y,Z);
  4.     for(new v = 0; v < vertices; v++)
  5.     {
  6.         if((YCoords[v] < Y && YCoords[u] >= Y) || (YCoords[u] < Y && YCoords[v] >= Y))
  7.         {
  8.             if(XCoords[v] + (Y-YCoords[v]) / (YCoords[u] - YCoords[v]) * (XCoords[u] - XCoords[v]) < X)
  9.             {
  10.                 Intersect++; //Even amount = out of perimeter, odd amount = in perimeter
  11.             }
  12.         }
  13.         u = v;
  14.     }
  15.     return Intersect&1; //Even will return 0. Odd will return 1;
  16. }
  17. // Ima par pogresaka
  18.  
  19. /*
  20.  
  21. new Float:SFPDYardCoords[2][8] = {
  22. { -1573.1121,-1573.1029,-1640.5055,-1640.5201,-1660.6326,-1681.6624,-1701.0052,-1700.8270 }, //X Coords
  23. { 687.6548,647.1522,647.1238,676.5008,676.7410,680.4594,680.4590,687.9298 } //Y Coords
  24. };
  25.  
  26. Uporaba
  27. if(IsPlayerInPerimeter(playerid,sizeof(SFPDYardCoords&#91;]),SFPDYardCoords[0],SFPDYardCoords[1]))
  28.    
  29. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement