Guest User

Untitled

a guest
May 1st, 2011
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.70 KB | None | 0 0
  1. //******************************************************************************
  2. // Gamemode functions by "Steve*", 2011 please leave credits
  3. // Please note: The jail functions are not made by me, I dont know the name of
  4. // the guy who made it, Anti Bike Fall is untested
  5. //******************************************************************************
  6.  
  7. /*
  8. Natives:
  9. native IsPlayerAntiBikeFallToggled(playerid);
  10. native IsPlayerMuted(playerid);
  11. native IsPlayerJailed(playerid);
  12. native IsVehicleGodModeToggled(playerid);
  13. native IsPlayerGodModeToggled(playerid);
  14. native TogglePlayerMuted(playerid, toggle);
  15. native TogglePlayerJailed(playerid, toggle);
  16. native TogglePlayerGodMode(playerid, toggle);
  17. native TogglePlayerAntiBikeFall(playerid, toggle);
  18. native GetPlayerNameEx(playerid);
  19. native GetPlayerIpEx(playerid);
  20. native GetPlayerHealthEx(playerid);
  21. native GetPlayerArmourEx(playerid);
  22. native GetPlayerPosEx(playerid);
  23. */
  24.  
  25. #if defined gmfuncs_included
  26. #endinput
  27. #else
  28. #define gmfuncs_included
  29. #endif
  30.  
  31. //*********
  32. // Enums
  33. //*********
  34. enum gmfuncs_PlayerInfos
  35. {
  36. Muted,
  37. Jailed,
  38. Spawned,
  39. vehgmode,
  40. gmfuncs_cage,
  41. gmfuncs_cage2,
  42. gmfuncs_cage3,
  43. gmfuncs_cage4,
  44. GodMode
  45. };
  46.  
  47. //**********
  48. // Veriables
  49. //**********
  50. new gmfuncs_PlayerInfo[MAX_PLAYERS][gmfuncs_PlayerInfos];
  51. new gmfuncs_PlayerNames[MAX_PLAYERS][MAX_PLAYER_NAME+1];
  52. new gmfuncs_PlayerIps[MAX_PLAYERS][25];
  53. new gmfuncs_InCar[MAX_PLAYERS];
  54. new gmfuncs_WhatCar[MAX_PLAYERS];
  55. new gmfuncs_AntiBikeFall[MAX_PLAYERS];
  56.  
  57. //*********
  58. // Forwards
  59. //*********
  60. forward gmfuncs_OnPlayerConnect(playerid);
  61. forward gmfuncs_OnPlayerDisconnect(playerid, reason);
  62. forward gmfuncs_OnPlayerSpawn(playerid);
  63. forward gmfuncs_OnPlayerText(playerid, text[]);
  64. forward gmfuncs_OnPlayerExitVehicle(playerid, vehicleid);
  65. forward gmfuncs_OnPlayerStateChange(playerid, newstate, oldstate);
  66.  
  67. public OnPlayerConnect(playerid)
  68. {
  69. GetPlayerName(playerid, gmfuncs_PlayerNames[playerid], MAX_PLAYER_NAME);
  70. GetPlayerIp(playerid, gmfuncs_PlayerIps[playerid], 24);
  71. gmfuncs_PlayerInfo[playerid][Muted] = 0;
  72. gmfuncs_PlayerInfo[playerid][Jailed] = 0;
  73. gmfuncs_PlayerInfo[playerid][Spawned] = 0;
  74. gmfuncs_PlayerInfo[playerid][vehgmode] = 0;
  75. gmfuncs_PlayerInfo[playerid][GodMode] = 0;
  76. gmfuncs_InCar[playerid] = 0;
  77. gmfuncs_AntiBikeFall[playerid] = 0;
  78. return CallLocalFunction("gmfuncs_OnPlayerConnect", "d", playerid);
  79. }
  80.  
  81. public OnPlayerDisconnect(playerid, reason)
  82. {
  83. gmfuncs_PlayerInfo[playerid][Muted] = 0;
  84. gmfuncs_PlayerInfo[playerid][Jailed] = 0;
  85. gmfuncs_PlayerInfo[playerid][Spawned] = 0;
  86. gmfuncs_PlayerInfo[playerid][vehgmode] = 0;
  87. gmfuncs_PlayerInfo[playerid][GodMode] = 0;
  88. gmfuncs_InCar[playerid] = 0;
  89. gmfuncs_AntiBikeFall[playerid] = 0;
  90. return CallLocalFunction("gmfuncs_OnPlayerDisconnect", "dd", playerid, reason);
  91. }
  92.  
  93. public OnPlayerExitVehicle(playerid, vehicleid)
  94. {
  95. gmfuncs_InCar[playerid] = 0;
  96. return CallLocalFunction("gmfuncs_OnPlayerExitVehicle", "dd", playerid, vehicleid);
  97. }
  98.  
  99. public OnPlayerStateChange(playerid, newstate, oldstate)
  100. {
  101. if(gmfuncs_AntiBikeFall[playerid] == 1)
  102. {
  103. if(oldstate == PLAYER_STATE_DRIVER)
  104. {
  105. if(newstate == PLAYER_STATE_ONFOOT)
  106. {
  107. if(gmfuncs_InCar[playerid] == 1)
  108. {
  109. PutPlayerInVehicle(playerid, gmfuncs_WhatCar[playerid], 0);
  110. }
  111. }
  112. }
  113. if(oldstate == PLAYER_STATE_PASSENGER)
  114. {
  115. if(newstate == PLAYER_STATE_ONFOOT)
  116. {
  117. if(gmfuncs_InCar[playerid] == 1)
  118. {
  119. PutPlayerInVehicle(playerid, gmfuncs_WhatCar[playerid], 2);
  120. }
  121. }
  122. }
  123. if(oldstate == PLAYER_STATE_ONFOOT)
  124. {
  125. if(newstate == PLAYER_STATE_DRIVER || PLAYER_STATE_PASSENGER)
  126. {
  127. gmfuncs_InCar[playerid] = 1;
  128. gmfuncs_WhatCar[playerid] = GetPlayerVehicleID(playerid);
  129. }
  130. }
  131. }
  132. return CallLocalFunction("gmfuncs_OnPlayerStateChange", "ddd", playerid, newstate, oldstate);
  133. }
  134.  
  135. public OnPlayerSpawn(playerid)
  136. {
  137. if(!gmfuncs_PlayerInfo[playerid][Spawned]) gmfuncs_PlayerInfo[playerid][Spawned] = 1;
  138. return CallLocalFunction("gmfuncs_OnPlayerSpawn", "d", playerid);
  139. }
  140.  
  141. public OnPlayerText(playerid, text[])
  142. {
  143. if(gmfuncs_PlayerInfo[playerid][Muted] == 1) return 0;
  144. return CallLocalFunction("gmfuncs_OnPlayerText", "ds", playerid, text);
  145. }
  146.  
  147. stock IsPlayerMuted(playerid)
  148. {
  149. return gmfuncs_PlayerInfo[playerid][Muted];
  150. }
  151.  
  152. stock IsPlayerAntiBikeFallToggled(playerid)
  153. {
  154. return gmfuncs_AntiBikeFall[playerid];
  155. }
  156.  
  157. stock IsPlayerJailed(playerid)
  158. {
  159. return gmfuncs_PlayerInfo[playerid][Jailed];
  160. }
  161.  
  162. stock IsVehicleGodModeToggled(playerid)
  163. {
  164. return gmfuncs_PlayerInfo[playerid][vehgmode];
  165. }
  166.  
  167. stock IsPlayerGodModeToggled(playerid)
  168. {
  169. return gmfuncs_PlayerInfo[playerid][GodMode];
  170. }
  171.  
  172. stock TogglePlayerMuted(playerid, toggle) // Credits to Kwarde for reminding that it didn't work!
  173. {
  174. if(IsPlayerConnected(playerid)
  175. {
  176. gmfuncs_PlayerInfo[playerid][Muted] = toggle;
  177. }
  178. else
  179. {
  180. return 0;
  181. }
  182. return 1;
  183. }
  184.  
  185. stock TogglePlayerAntiBikeFall(playerid, toggle)
  186. {
  187. if(IsPlayerConnected(playerid))
  188. {
  189. if(toggle == 0)
  190. {
  191. gmfuncs_AntiBikeFall[playerid] = 0;
  192. }
  193. else if(toggle == 1)
  194. {
  195. gmfuncs_AntiBikeFall[playerid] = 1;
  196. }
  197. }
  198. return 1;
  199. }
  200.  
  201. stock TogglePlayerJailed(playerid, toggle)
  202. {
  203. if(IsPlayerConnected(playerid))
  204. {
  205. if(toggle == 0)
  206. {
  207. gmfuncs_PlayerInfo[playerid][Jailed] = 0;
  208. gmfuncs_PlayerInfo[playerid][gmfuncs_cage] = DestroyObject(gmfuncs_PlayerInfo[playerid][gmfuncs_cage]);
  209. gmfuncs_PlayerInfo[playerid][gmfuncs_cage2] = DestroyObject(gmfuncs_PlayerInfo[playerid][gmfuncs_cage2]);
  210. gmfuncs_PlayerInfo[playerid][gmfuncs_cage3] = DestroyObject(gmfuncs_PlayerInfo[playerid][gmfuncs_cage3]);
  211. gmfuncs_PlayerInfo[playerid][gmfuncs_cage4] = DestroyObject(gmfuncs_PlayerInfo[playerid][gmfuncs_cage4]);
  212. }
  213. else if(toggle == 1)
  214. {
  215. gmfuncs_PlayerInfo[playerid][Jailed] = 1;
  216. new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z);
  217. gmfuncs_PlayerInfo[playerid][gmfuncs_cage] = CreateObject(985, X, Y+4, Z, 0.0, 0.0, 0.0);
  218. gmfuncs_PlayerInfo[playerid][gmfuncs_cage2] = CreateObject(985, X+4, Y, Z, 0.0, 0.0, 90.0);
  219. gmfuncs_PlayerInfo[playerid][gmfuncs_cage3] = CreateObject(985, X-4, Y, Z, 0.0, 0.0, 270.0);
  220. gmfuncs_PlayerInfo[playerid][gmfuncs_cage4] = CreateObject(985, X, Y-4, Z, 0.0, 0.0, 180.0);
  221. }
  222. }
  223. return 1;
  224. }
  225.  
  226. stock ToggleVehicleGodMode(vehicleid, toggle)
  227. {
  228. if(toggle == 1)
  229. {
  230. gfuncs_PlayerInfo[playerid][vehgmode] = 1;
  231. SetVehicleHealth(vehicle, 9999999.9);
  232. }
  233. else if(toggle == 0)
  234. {
  235. gfuncs_PlayerInfo[playerid][vehgmode] = 0;
  236. SetVehicleHealth(vehicle, 1000.0);
  237. }
  238. return 1;
  239. }
  240.  
  241. stock TogglePlayerGodMode(playerid, toggle)
  242. {
  243. if(IsPlayerConnected(playerid))
  244. {
  245. if(toggle == 0)
  246. {
  247. gmfuncs_PlayerInfo[playerid][GodMode] = 0;
  248. SetPlayerHealth(playerid, 100.0);
  249. }
  250. else if(toggle == 1)
  251. {
  252. gmfuncs_PlayerInfo[playerid][GodMode] = 1;
  253. SetPlayerHealth(playerid, 9999999.9);
  254. }
  255. }
  256. return 1;
  257. }
  258.  
  259. stock GetPlayerNameEx(playerid)
  260. {
  261. return gmfuncs_PlayerNames[playerid];
  262. }
  263.  
  264. stock GetPlayerIpEx(playerid)
  265. {
  266. return gmfuncs_PlayerIps[playerid];
  267. }
  268.  
  269. stock GetPlayerHealthEx(playerid)
  270. {
  271. new Float:gmfuncs_Health; GetPlayerHealth(playerid, gmfuncs_Health);
  272. return floatround(gmfuncs_Health);
  273. }
  274.  
  275. stock GetPlayerArmourEx(playerid)
  276. {
  277. new Float:gmfuncs_Armour; GetPlayerArmour(playerid, gmfuncs_Armour);
  278. return floatround(gmfuncs_Armour);
  279. }
  280.  
  281. stock GetPlayerPosEx(playerid)
  282. {
  283. new Float:gmfuncs_X, Float:gmfuncs_Y, Float:gmfuncs_Z, gmfuncs_String[100];
  284. GetPlayerPos(playerid, gmfuncs_X, gmfuncs_Y, gmfuncs_Z);
  285. format(gmfuncs_String, sizeof(gmfuncs_String), "%f,%f,%f", gmfuncs_X, gmfuncs_Y, gmfuncs_Z);
  286. return gmfuncs_String;
  287. }
  288.  
  289. #if defined _ALS_OnPlayerConnect
  290. #undef OnPlayerConnect
  291. #else
  292. #define _ALS_OnPlayerConnect
  293. #endif
  294. #define OnPlayerConnect gmfuncs_OnPlayerConnect
  295.  
  296. #if defined _ALS_OnPlayerDisconnect
  297. #undef OnPlayerDisconnect
  298. #else
  299. #define _ALS_OnPlayerDisconnect
  300. #endif
  301. #define OnPlayerDisconnect gmfuncs_OnPlayerDisconnect
  302.  
  303. #if defined _ALS_OnPlayerSpawn
  304. #undef OnPlayerSpawn
  305. #else
  306. #define _ALS_OnPlayerSpawn
  307. #endif
  308. #define OnPlayerSpawn gmfuncs_OnPlayerSpawn
  309.  
  310. #if defined _ALS_OnPlayerText
  311. #undef OnPlayerText
  312. #else
  313. #define _ALS_OnPlayerText
  314. #endif
  315. #define OnPlayerText gmfuncs_OnPlayerText
  316.  
  317. #if defined _ALS_OnPlayerExitVehicle
  318. #undef OnPlayerExitVehicle
  319. #else
  320. #define _ALS_OnPlayerExitVehicle
  321. #endif
  322. #define OnPlayerExitVehicle gmfuncs_OnPlayerExitVehicle
  323.  
  324. #if defined _ALS_OnPlayerStateChange
  325. #undef OnPlayerStateChange
  326. #else
  327. #define _ALS_OnPlayerStateChange
  328. #endif
  329. #define OnPlayerStateChange gmfuncs_OnPlayerStateChange
Advertisement
Add Comment
Please, Sign In to add comment