Guest User

Untitled

a guest
Mar 12th, 2012
537
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. /*
  2. Entrance system
  3. Creator: Britas
  4.  
  5. 2012'03'12
  6.  
  7. Credits: Britas, sa-mp dev
  8.  
  9. */
  10.  
  11. #include <a_samp>
  12. #define MAX_ENTRANCES 3
  13. #define MAX_ENTRANCE_NAME 30
  14.  
  15. enum EntranceInfo
  16. {
  17. eName[MAX_ENTRANCE_NAME],
  18. eInterior,
  19. Float:ePos[6]
  20. }
  21. new Entrance[MAX_ENTRANCES][EntranceInfo],
  22. eNumber;
  23.  
  24. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  25. {
  26. if(newkeys & KEY_SECONDARY_ATTACK)
  27. {
  28. for(new ent; ent < MAX_ENTRANCES; ent++)
  29. {
  30. if(IsPlayerInRangeOfPoint(playerid, 3.0, Entrance[ent][ePos][0], Entrance[ent][ePos][1], Entrance[ent][ePos][2]))
  31. {
  32. SetPlayerPos(playerid, Entrance[ent][ePos][3], Entrance[ent][ePos][4], Entrance[ent][ePos][5]);
  33. SetPlayerInterior(playerid, Entrance[ent][eInterior]);
  34. return 1;
  35. }
  36. else if(IsPlayerInRangeOfPoint(playerid, 3.0, Entrance[ent][ePos][3], Entrance[ent][ePos][4], Entrance[ent][ePos][5]))
  37. {
  38. SetPlayerPos(playerid, Entrance[ent][ePos][0], Entrance[ent][ePos][1], Entrance[ent][ePos][2]);
  39. SetPlayerInterior(playerid, 0);
  40. return 1;
  41. }
  42. }
  43. }
  44. return 1;
  45. }
  46.  
  47. stock CreateEntrance(Name[],Float:x,Float:y,Float:z,Float:ix,Float:iy,Float:iz,interior)
  48. {
  49. if(strlen(Name) > 30) return printf("Entrance (%s) name too large.",Name);
  50. eNumber++;
  51. format(Entrance[eNumber][eName],MAX_ENTRANCE_NAME,"%s",Name); // Entrance name saved.
  52. Entrance[eNumber][ePos][0] = x; // Entrance x position saved.
  53. Entrance[eNumber][ePos][1] = y; // Entrance y position saved.
  54. Entrance[eNumber][ePos][2] = z; // Entrance z position saved.
  55. Entrance[eNumber][ePos][3] = ix; // Entrance inside x position saved.
  56. Entrance[eNumber][ePos][4] = iy; // Entrance inside y position saved.
  57. Entrance[eNumber][ePos][5] = iz; // Entrance inside z position saved.
  58. Entrance[eNumber][eInterior] = interior; // Entrance interior saved.
  59.  
  60. new LabelText[72];
  61. format(LabelText,sizeof LabelText,"%s\nClick to enter: {ffffff}ENTER",Name);
  62. Create3DTextLabel(LabelText,0xEE5555FF,x,y,z,15.0,0,1);
  63. Create3DTextLabel("Click to exit: {ffffff}ENTER",0xEE5555FF,ix,iy,iz,10.0,0,1);
  64. CreatePickup(1318,23,x,y,z,0);
  65. CreatePickup(1318,23,ix,iy,iz,0);
  66. return 1;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment