Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- stock IsPlayerInPerimeter(playerid,vertices,Float:XCoords[],Float:YCoords[])//stock je deklaracije funkcije koja ne mora biti koristena
- {
- new u = vertices-1, Intersect = 0, Float:X, Float:Y, Float:Z; GetPlayerPos(playerid,X,Y,Z);
- for(new v = 0; v < vertices; v++)
- {
- if((YCoords[v] < Y && YCoords[u] >= Y) || (YCoords[u] < Y && YCoords[v] >= Y))
- {
- if(XCoords[v] + (Y-YCoords[v]) / (YCoords[u] - YCoords[v]) * (XCoords[u] - XCoords[v]) < X)
- {
- Intersect++; //Even amount = out of perimeter, odd amount = in perimeter
- }
- }
- u = v;
- }
- return Intersect&1; //Even will return 0. Odd will return 1;
- }
- // Ima par pogresaka
- /*
- new Float:SFPDYardCoords[2][8] = {
- { -1573.1121,-1573.1029,-1640.5055,-1640.5201,-1660.6326,-1681.6624,-1701.0052,-1700.8270 }, //X Coords
- { 687.6548,647.1522,647.1238,676.5008,676.7410,680.4594,680.4590,687.9298 } //Y Coords
- };
- Uporaba
- if(IsPlayerInPerimeter(playerid,sizeof(SFPDYardCoords[]),SFPDYardCoords[0],SFPDYardCoords[1]))
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement