Advertisement
ThresholdSAMP

SoD Tower Example

May 26th, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. #define USE_DYNAMIC_OBJECTS true
  2.  
  3. static const Float:TowerPositions[][6] = {
  4. {1.0, 2.0, 3.0, 4.0, 5.0, 6.0},
  5. {4.0, 5.0, 6.0, 7.0, 8.0, 9.0},
  6. {7.0, 8.0, 9.0, 10.0, 11.0, 12.0}
  7. };
  8.  
  9. new TowerObjects[sizeof(TowerPositions)] = {INVALID_OBJECT_ID, ...};
  10. new bool:HasPlayerDiscoveredTower[MAX_PLAYERS][sizeof(TowerPositions)];
  11.  
  12. public OnGameModeInit()
  13. {
  14. LOAD_Towers();
  15. return 1;
  16. }
  17.  
  18. LOAD_Towers()
  19. {
  20. for(new i = 0; i < sizeof(TowerPositions); i++)
  21. {
  22. #if USE_DYNAMIC_OBJECTS == (true)
  23. TowerObjects[i] = CreateDynamicObject(3279, TowerPositions[i][0], TowerPositions[i][1], TowerPositions[i][2], TowerPositions[i][3], TowerPositions[i][4], TowerPositions[i][5]);
  24. #else
  25. TowerObjects[i] = CreateObject(3279, TowerPositions[i][0], TowerPositions[i][1], TowerPositions[i][2], TowerPositions[i][3], TowerPositions[i][4], TowerPositions[i][5]);
  26. #endif
  27. }
  28. return 1;
  29. }
  30.  
  31. CMD:survey(playerid, params[])
  32. {
  33. for(new i = 0; i < sizeof(TowerPositions); i++)
  34. {
  35. if(IsPlayerInRangeOfPoint(playerid, 5.0, TowerPositions[i][0], TowerPositions[i][1], TowerPositions[i][2]))
  36. {
  37. if(HasPlayerDiscoveredTower[playerid][i]) return SendClientMessage(playerid, -1, "You have already surveyed this tower.");
  38. HasPlayerDiscoveredTower[playerid][i] = true;
  39. SendClientMessage(playerid, -1, "You have surveyed this area.");
  40. return 1;
  41. }
  42. }
  43. SendClientMessage(playerid, -1, "You cannot survey this area from here. Look for a survey tower.");
  44. return 1;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement