seif_machines.inc 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. /*
  2. いいいいいいいいいいいいいいいいいいいいいいいいい
  3. ADD THIS IN YOUR GAMEMODE
  4. い い
  5. い い
  6. い い
  7. い い
  8. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  9. {
  10. if (newkeys & 16 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
  11. {
  12. for(new M = 1; M < MAX_MACHINES; M++)
  13. {
  14. new Float:A,Float:H;
  15. GetPlayerFacingAngle(playerid,A);
  16. FoodMachines[M][fmX] -= (1 * floatsin(-A, degrees));
  17. FoodMachines[M][fmY] -= (1 * floatcos(-A, degrees));
  18. if (Seif_PlayerToPoint(playerid,1,FoodMachines[M][fmX],FoodMachines[M][fmY],FoodMachines[M][fmZ]) && GetPlayerMoney(playerid) >= 1)
  19. {
  20. if (FoodMachines[M][fmType] == 1)
  21. {
  22. GetPlayerHealth(playerid,H);
  23. ApplyAnimation(playerid,"VENDING","VEND_Use",4.1,0,1,1,1,1);
  24. GivePlayerMoney(playerid,-MACHINE_CASH);
  25. PlayerPlaySound(playerid,42600,0.0,0.0,0.0);
  26. Anim[playerid] = 1;
  27. SetTimerEx("MachineAnimation",2000,0,"d",playerid);
  28. if (H <= 75) SetPlayerHealth(playerid,H+25);
  29. else SetPlayerHealth(playerid,100);
  30. }
  31. else if (FoodMachines[M][fmType] == 2)
  32. {
  33. GetPlayerHealth(playerid,H);
  34. ApplyAnimation(playerid,"VENDING","VEND_Use",4.1,0,1,1,1,1);
  35. GivePlayerMoney(playerid,-MACHINE_CASH);
  36. PlayerPlaySound(playerid,42601,0.0,0.0,0.0);
  37. Anim[playerid] = 2;
  38. SetTimerEx("MachineAnimation",2000,0,"d",playerid);
  39. if (H <= 75) SetPlayerHealth(playerid,H+25);
  40. else SetPlayerHealth(playerid,100);
  41. }
  42. }
  43. FoodMachines[M][fmX] += (1 * floatsin(-A, degrees));
  44. FoodMachines[M][fmY] += (1 * floatcos(-A, degrees));
  45. }
  46. }
  47. return 1;
  48. }
  49. OR IF YOU ALREADY HAVE OnPlayerKeyStateChange DEFINED, ADD THIS IN IT
  50. if (newkeys & 16 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
  51. {
  52. for(new M = 1; M < MAX_MACHINES; M++)
  53. {
  54. new Float:A,Float:H;
  55. GetPlayerFacingAngle(playerid,A);
  56. FoodMachines[M][fmX] -= (1 * floatsin(-A, degrees));
  57. FoodMachines[M][fmY] -= (1 * floatcos(-A, degrees));
  58. if (Seif_PlayerToPoint(playerid,1,FoodMachines[M][fmX],FoodMachines[M][fmY],FoodMachines[M][fmZ]) && GetPlayerMoney(playerid) >= 1)
  59. {
  60. if (FoodMachines[M][fmType] == 1)
  61. {
  62. GetPlayerHealth(playerid,H);
  63. ApplyAnimation(playerid,"VENDING","VEND_Use",4.1,0,1,1,1,1);
  64. GivePlayerMoney(playerid,-MACHINE_CASH);
  65. PlayerPlaySound(playerid,42600,0.0,0.0,0.0);
  66. Anim[playerid] = 1;
  67. SetTimerEx("MachineAnimation",2000,0,"d",playerid);
  68. if (H <= 75) SetPlayerHealth(playerid,H+25);
  69. else SetPlayerHealth(playerid,100);
  70. }
  71. else if (FoodMachines[M][fmType] == 2)
  72. {
  73. GetPlayerHealth(playerid,H);
  74. ApplyAnimation(playerid,"VENDING","VEND_Use",4.1,0,1,1,1,1);
  75. GivePlayerMoney(playerid,-MACHINE_CASH);
  76. PlayerPlaySound(playerid,42601,0.0,0.0,0.0);
  77. Anim[playerid] = 2;
  78. SetTimerEx("MachineAnimation",2000,0,"d",playerid);
  79. if (H <= 75) SetPlayerHealth(playerid,H+25);
  80. else SetPlayerHealth(playerid,100);
  81. }
  82. }
  83. FoodMachines[M][fmX] += (1 * floatsin(-A, degrees));
  84. FoodMachines[M][fmY] += (1 * floatcos(-A, degrees));
  85. }
  86. }
  87. */
  88. /*x---------------------------------Important-------------------------------------x*/
  89. //**INCLUDES**//
  90. #include <a_samp>
  91. /*x---------------------------------Defining-------------------------------------x*/
  92. #define MAX_MACHINES 150 // CHANGE IF YOU'RE USING A STREAMER AND WILLING TO ADD MORE
  93. #define MACHINE_CASH 1 // Cost - Default is $1
  94. //**VARIABLES**//
  95. enum fMachines
  96. {
  97. Float:fmX,
  98. Float:fmY,
  99. Float:fmZ,
  100. fmType
  101. };
  102. new FoodMachines[MAX_MACHINES][fMachines];
  103. new Machine = 0;
  104. new SprunkMachine[MAX_MACHINES];
  105. new CandyMachine[MAX_MACHINES];
  106. new Anim[200];
  107. //**FORWARDS**//
  108. forward MachineAnimation(playerid);
  109. /*x---------------------------------CallBacks-------------------------------------x*/
  110. stock Seif_PlayerToPoint(playerid,Float:radi, Float:px, Float:py, Float:pz)
  111. {
  112. if(IsPlayerConnected(playerid))
  113. {
  114. new Float:x, Float:y, Float:z;
  115. new Float:ox, Float:oy, Float:oz;
  116. GetPlayerPos(playerid, ox, oy, oz);
  117. x = (ox -px);
  118. y = (oy -py);
  119. z = (oz -pz);
  120. if (((x < radi) && (x > -radi)) && ((y < radi) && (y > -radi)) && ((z < radi) && (z > -radi))) return 1;
  121. }
  122. return 0;
  123. }
  124. AddSprunkMachine(Float:X,Float:Y,Float:Z,Float:rX,Float:rY,Float:rZ)
  125. {
  126. Machine++;
  127. SprunkMachine[Machine] = CreateObject(955,X,Y,Z-0.50,rX,rY,rZ);
  128. FoodMachines[Machine][fmX] = X;
  129. FoodMachines[Machine][fmY] = Y;
  130. FoodMachines[Machine][fmZ] = Z-0.50;
  131. FoodMachines[Machine][fmType] = 1;
  132. }
  133. AddCandyMachine(Float:X,Float:Y,Float:Z,Float:rX,Float:rY,Float:rZ)
  134. {
  135. Machine++;
  136. CandyMachine[Machine] = CreateObject(956,X,Y,Z-0.50,rX,rY,rZ);
  137. FoodMachines[Machine][fmX] = X;
  138. FoodMachines[Machine][fmY] = Y;
  139. FoodMachines[Machine][fmZ] = Z-0.50;
  140. FoodMachines[Machine][fmType] = 2;
  141. }
  142. public MachineAnimation(playerid)
  143. {
  144. if (Anim[playerid] == 1) ApplyAnimation(playerid,"VENDING","VEND_Drink2_P",4.1,0,1,1,1,1), Anim[playerid] = 0 ,SetTimerEx("MachineAnimation",1000,0,"d",playerid);
  145. else if (Anim[playerid] == 2) ApplyAnimation(playerid,"VENDING","VEND_Eat_P",4.1,0,1,1,1,1), Anim[playerid] = 0, SetTimerEx("MachineAnimation",1000,0,"d",playerid);
  146. else if (Anim[playerid] == 0) ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 0);
  147. return 1;
  148. }