Advertisement
Guest User

Sistema Overdose by Focaximubh

a guest
Apr 16th, 2016
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.68 KB | None | 0 0
  1. /*
  2. ////////////////////////////////////////////////////////////////////////////////
  3. //
  4. // $$$$$$$$$$ $$$$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$
  5. // $$$ $$$ $$$ $$$ $$$ $$$
  6. // $$$ $$$ $$$ $$$ $$$ $$$
  7. // $$$$$$$$$$ $$$ $$$ $$$ $$$ $$$
  8. // $$$ $$$ $$$ $$$ $$$$$$$$$$$$$$$$$$$
  9. // $$$ $$$ $$$ $$$ $$$ $$$
  10. // $$$ $$$ $$$ $$$ $$$ $$$
  11. // $$$ $$$ $$$ $$$ $$$ $$$
  12. // $$$ $$$ $$$ $$$ $$$ $$$
  13. // $$$ $$$$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$ $$$
  14. //
  15. ////////////////////////////////////////////////////////////////////////////////
  16. FilterScript Criado por: Focaximubh
  17. Skype: lucas5563
  18. */
  19. #include <a_samp>
  20. #include <sscanf2>
  21. #include <zcmd>
  22. #include <dof2>
  23.  
  24. #define minutos(%0) (1000 * %0 * 60)
  25. #define horas(%0) (1000 * %0 * 60 * 60)
  26. #define segundos(%0) (1000 * %0)
  27. #define dias(%0) (1000 * %0 * 60 * 60 * 24)
  28. #define semanas(%0) (1000 * %0 * 60 * 60 * 24 * 7)
  29. #define meses(%0) (1000 * %0 * 60 * 60 * 24 * 30)
  30. #define anos(%0) (1000 * %0 * 60 * 60 * 24 * 30 * 12)
  31. //====================[Definições!!]============================================
  32.  
  33. #define FocaOverdose "FocaOverdose/%s.ini"
  34. enum InfoOverdose
  35. {
  36. Crack,
  37. Maconha,
  38. Cocaina,
  39. UsouCrack,
  40. UsouCocaina,
  41. UsouMaconha,
  42. VicioCrack,
  43. VicioCocaina,
  44. VicioMaconha,
  45. Overdose,
  46. Abstinencia
  47.  
  48. }
  49. new OverdoseInfo[MAX_PLAYERS][InfoOverdose];
  50.  
  51. #if defined FILTERSCRIPT
  52.  
  53. public OnFilterScriptInit()
  54. {
  55. print("\n----------------------------------");
  56. print(" >>> Iniciando sistema de Overdose <<< ");
  57. print(" >>> Criado por Focaximubh <<< ");
  58. print(" >>> Nao remova os creditos!!! <<< ");
  59. print(" >>> Livre postagem com os devidos creditos!!! <<< ");
  60. print(" >>> 15/04/2016 <<< ");
  61. print("----------------------------------\n");
  62. return 1;
  63. }
  64.  
  65. public OnFilterScriptExit()
  66. {
  67. return 1;
  68. }
  69.  
  70. #else
  71.  
  72. main()
  73. {
  74. print("\n----------------------------------");
  75. print(" >>> Sistema de Overdose <<< ");
  76. print(" >>> Ideia para servidores RPG <<< ");
  77. print(" >>> Criado por Focaximubh <<< ");
  78. print(" >>> Nao remova os creditos!!! <<< ");
  79. print(" >>> Livre postagem com os devidos creditos!!! <<< ");
  80. print(" >>> 15/04/2016 <<< ");
  81. print("----------------------------------\n");
  82. }
  83.  
  84. #endif
  85.  
  86. public OnGameModeInit()
  87. {
  88. print("\n----------------------------------");
  89. print(" >>> Encerrando sistema de Overdose <<< ");
  90. print(" >>> Criado por Focaximubh <<< ");
  91. print(" >>> Nao remova os creditos!!! <<< ");
  92. print(" >>> Livre postagem com os devidos creditos!!! <<< ");
  93. print(" >>> 15/04/2016 <<< ");
  94. print("----------------------------------\n");
  95. return 1;
  96. }
  97.  
  98. public OnGameModeExit()
  99. {
  100. DOF2_Exit();
  101. return 1;
  102. }
  103.  
  104. public OnPlayerConnect(playerid)
  105. {
  106. CarregarCrackudo(playerid);
  107. return 1;
  108. }
  109.  
  110. public OnPlayerDisconnect(playerid, reason)
  111. {
  112. SalvarCrackudo(playerid);
  113. return 1;
  114. }
  115.  
  116. public OnPlayerSpawn(playerid)
  117. {
  118. if(OverdoseInfo[playerid][Abstinencia] != 1){
  119. if(OverdoseInfo[playerid][VicioCrack] == 1 || OverdoseInfo[playerid][VicioMaconha] == 1 || OverdoseInfo[playerid][VicioCocaina] == 1){
  120. SetTimerEx("TerAbstinencia", segundos(30), true, "i", playerid);
  121. }
  122. }
  123. return 1;
  124. }
  125.  
  126. public OnPlayerDeath(playerid, killerid, reason)
  127. {
  128. return 1;
  129. }
  130. public OnPlayerUpdate(playerid)
  131. {
  132. TerVicio(playerid);
  133. return 1;
  134. }
  135.  
  136. //===============================[Stock's]======================================
  137.  
  138. stock NomeCrakudo(playerid)
  139. {
  140. new Name[MAX_PLAYER_NAME];
  141. GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  142. return Name;
  143. }
  144.  
  145. stock SalvarCrackudo(playerid)
  146. {
  147. new Farquivos[50];
  148. format(Farquivos, sizeof(Farquivos), FocaOverdose, NomeCrakudo(playerid));
  149. if(DOF2_FileExists(Farquivos))
  150. {
  151.  
  152. DOF2_SetInt(Farquivos, "Crack", OverdoseInfo[playerid][Crack]);
  153. DOF2_SetInt(Farquivos, "Maconha", OverdoseInfo[playerid][Maconha]);
  154. DOF2_SetInt(Farquivos, "Cocaina", OverdoseInfo[playerid][Cocaina]);
  155.  
  156. DOF2_SetInt(Farquivos, "UsouCrack", OverdoseInfo[playerid][UsouCrack]);
  157. DOF2_SetInt(Farquivos, "UsouMaconha", OverdoseInfo[playerid][UsouMaconha]);
  158. DOF2_SetInt(Farquivos, "UsouCocaina", OverdoseInfo[playerid][UsouCocaina]);
  159.  
  160. DOF2_SetInt(Farquivos, "VicioCrack", OverdoseInfo[playerid][VicioCrack]);
  161. DOF2_SetInt(Farquivos, "VicioMaconha", OverdoseInfo[playerid][VicioMaconha]);
  162. DOF2_SetInt(Farquivos, "VicioCocaina", OverdoseInfo[playerid][VicioCocaina]);
  163.  
  164. DOF2_SetInt(Farquivos, "Overdose", OverdoseInfo[playerid][Overdose]);
  165. DOF2_SetInt(Farquivos, "Abstinencia", OverdoseInfo[playerid][Abstinencia]);
  166. DOF2_SaveFile();
  167. }
  168. return 1;
  169. }
  170.  
  171. stock CarregarCrackudo(playerid)
  172. {
  173. new Farquivos[50];
  174. format(Farquivos, sizeof(Farquivos), FocaOverdose, NomeCrakudo(playerid));
  175. if(DOF2_FileExists(Farquivos))
  176. {
  177.  
  178. OverdoseInfo[playerid][Crack] = DOF2_GetInt(Farquivos, "Crack");
  179. OverdoseInfo[playerid][Maconha] = DOF2_GetInt(Farquivos, "Maconha");
  180. OverdoseInfo[playerid][Cocaina] = DOF2_GetInt(Farquivos, "Cocaina");
  181.  
  182. OverdoseInfo[playerid][UsouCrack] = DOF2_GetInt(Farquivos, "UsouCrack");
  183. OverdoseInfo[playerid][UsouMaconha] = DOF2_GetInt(Farquivos, "UsoMaconha");
  184. OverdoseInfo[playerid][UsouCocaina] = DOF2_GetInt(Farquivos, "UsouCocaina");
  185.  
  186. OverdoseInfo[playerid][VicioCrack] = DOF2_GetInt(Farquivos, "VicioCrack");
  187. OverdoseInfo[playerid][VicioMaconha] = DOF2_GetInt(Farquivos, "VicioMaconha");
  188. OverdoseInfo[playerid][VicioCocaina] = DOF2_GetInt(Farquivos, "VicioCocaina");
  189.  
  190. OverdoseInfo[playerid][Overdose] = DOF2_GetInt(Farquivos, "Overdose");
  191. OverdoseInfo[playerid][Abstinencia] = DOF2_GetInt(Farquivos, "Abstinencia");
  192.  
  193.  
  194. }else DOF2_CreateFile(Farquivos);
  195. return 1;
  196. }
  197. stock TerVicio(playerid)
  198. {
  199. if(OverdoseInfo[playerid][UsouCrack] == 5 && OverdoseInfo[playerid][VicioCrack] != 1)
  200. {
  201. SendClientMessage(playerid, -1, "[AVISO] Você usou muito Crack e acabou se viciando! <<");
  202. OverdoseInfo[playerid][VicioCrack] = 1;
  203. OverdoseInfo[playerid][UsouCrack] ++;
  204. }
  205. else if(OverdoseInfo[playerid][UsouMaconha] == 5 && OverdoseInfo[playerid][VicioMaconha] != 1)
  206. {
  207. SendClientMessage(playerid, -1, "[AVISO] Você usou muita Maconha e acabou se viciando! <<");
  208. OverdoseInfo[playerid][VicioMaconha] = 1;
  209. OverdoseInfo[playerid][UsouMaconha] ++;
  210. }
  211. else if(OverdoseInfo[playerid][UsouCocaina] == 5 && OverdoseInfo[playerid][VicioCocaina] != 1)
  212. {
  213. SendClientMessage(playerid, -1, "[AVISO] Você usou muita Cocaina e acabou se viciando! <<");
  214. OverdoseInfo[playerid][VicioCocaina] = 1;
  215. OverdoseInfo[playerid][UsouCocaina] ++;
  216. }
  217. return 1;
  218. }
  219. forward TerAbstinencia(playerid);
  220. public TerAbstinencia(playerid)
  221. {
  222. if(OverdoseInfo[playerid][VicioCrack] == 1)
  223. {
  224. OverdoseInfo[playerid][Abstinencia] = 1;
  225. SendClientMessage(playerid, -1, "[AVISO] Você está sofrendo de abstinencia de Crack! <<");
  226. SetPlayerDrunkLevel(playerid, 6400);
  227. }
  228. else if(OverdoseInfo[playerid][VicioMaconha] == 1)
  229. {
  230. OverdoseInfo[playerid][Abstinencia] = 1;
  231. SendClientMessage(playerid, -1, "[AVISO] Você está sofrendo de abstinencia de Maconha! <<");
  232. SetPlayerDrunkLevel(playerid, 6400);
  233. }
  234. else if(OverdoseInfo[playerid][VicioCocaina] == 1)
  235. {
  236. OverdoseInfo[playerid][Abstinencia] = 1;
  237. SendClientMessage(playerid, -1, "[AVISO] Você está sofrendo de abstinencia de Cocaina! <<");
  238. SetPlayerDrunkLevel(playerid, 6400);
  239. }
  240. return 1;
  241. }
  242. stock TirarAbstinencia(playerid)
  243. {
  244. if(OverdoseInfo[playerid][Abstinencia] == 1)
  245. {
  246. if(OverdoseInfo[playerid][UsouCrack] == 1 || OverdoseInfo[playerid][UsouMaconha] == 1 || OverdoseInfo[playerid][UsouCocaina] == 1)
  247. {
  248. OverdoseInfo[playerid][Abstinencia] = 0;
  249. SetPlayerDrunkLevel(playerid, 0);
  250. SendClientMessage(playerid, -1, "[AVISO] Você usou sua droguinha e saiu do estado de abstinencia! <<");
  251. }
  252. }
  253. return 1;
  254. }
  255.  
  256. //================================[COMANDOS]====================================
  257. CMD:dardroga(playerid, params[])
  258. {
  259. new cmd[32], pid, pquantidade, string[ 164 ];
  260. if(sscanf(params, "us[32]i", pid, cmd,pquantidade))return SendClientMessage(playerid, -1, "[AVISO] Uso >> /dardroga [nick] [droga] [valor] <<");
  261.  
  262. if(!strcmp(cmd, "crack", true))
  263. {
  264.  
  265. OverdoseInfo[playerid][Crack] += pquantidade;
  266. format(string,sizeof(string),"Você deu %d de Crack para o player %s",pquantidade, NomeCrakudo(pid));
  267. SendClientMessage(playerid, -1, string);
  268. }
  269. if(!strcmp(cmd, "maconha", true))
  270. {
  271.  
  272. OverdoseInfo[playerid][Maconha] += pquantidade;
  273. format(string,sizeof(string),"Você deu %d de Maconha para o player %s",pquantidade, NomeCrakudo(pid));
  274. SendClientMessage(playerid, -1, string);
  275. }
  276. if(!strcmp(cmd, "cocaina", true))
  277. {
  278.  
  279. OverdoseInfo[playerid][Cocaina] += pquantidade;
  280. format(string,sizeof(string),"Você deu %d de Cocaina para o player %s",pquantidade, NomeCrakudo(pid));
  281. SendClientMessage(playerid, -1, string);
  282. }
  283.  
  284. return 1 ;
  285. }
  286.  
  287. CMD:usardroga(playerid, params[])
  288. {
  289. new cmd[32];
  290. if(sscanf(params, "s[32]", cmd)) return SendClientMessage(playerid, -1, "[AVISO] Uso >> /usardroga [droga] <<");
  291.  
  292. if(!strcmp(cmd, "crack", true))
  293. {
  294.  
  295. if(OverdoseInfo[playerid][Crack] < 1) return SendClientMessage(playerid, -1, "[ATENÇÃO] Você não tem nenhuma grama de Crack! <<");
  296. OverdoseInfo[playerid][Crack] -= 1;
  297. OverdoseInfo[playerid][UsouCrack] += 1;
  298. TirarAbstinencia(playerid);
  299. SendClientMessage(playerid, -1, "Você usou Crack e ficou fudidao!!");
  300. }
  301. if(!strcmp(cmd, "maconha", true))
  302. {
  303.  
  304. if(OverdoseInfo[playerid][Maconha] < 1) return SendClientMessage(playerid, -1, "[ATENÇÃO] Você não tem nenhuma grama de Maconha! <<");
  305. OverdoseInfo[playerid][Maconha] -= 1;
  306. OverdoseInfo[playerid][UsouMaconha] += 1;
  307. TirarAbstinencia(playerid);
  308. SendClientMessage(playerid, -1, "Você usou Maconha e ficou brisadao!!");
  309. }
  310. if(!strcmp(cmd, "cocaina", true))
  311. {
  312.  
  313. if(OverdoseInfo[playerid][Cocaina] < 1) return SendClientMessage(playerid, -1, "[ATENÇÃO] Você não tem nenhuma grama de cocaína! <<");
  314. OverdoseInfo[playerid][Cocaina] -= 1;
  315. OverdoseInfo[playerid][UsouCocaina] += 1;
  316. TirarAbstinencia(playerid);
  317. SendClientMessage(playerid, -1, "Você usou Cocaina e ficou Loucao!!");
  318. }
  319. return 1 ;
  320. }
  321.  
  322. CMD:minhasdrogas(playerid, params[])
  323. {
  324. new string[ 164 ];
  325. format(string,sizeof(string),"Crack: %d \n Maconha: %d \n Cocaina: %d", OverdoseInfo[playerid][Crack], OverdoseInfo[playerid][Maconha], OverdoseInfo[playerid][Cocaina]);
  326. SendClientMessage(playerid, -1, string);
  327. return 1;
  328. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement