Advertisement
Sants101100

Untitled

Jan 25th, 2021
11
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 9.85 KB | None | 0 0
  1. /*==================================
  2. ============           =============
  3. ======                       =======
  4. =         Feito por Sants!         =
  5. ======                       =======
  6. ============           =============
  7. ====================================*/
  8. // Observações:
  9. // -  Caso deseje aumentar sede/fome quando o player digitar algum comando ou usar algum item use as funções AddFome e AddSede!
  10. //          Modo de uso: AddFome(playerid, x) // x = quantidade que irá adicionar.
  11. // A porcentagens vão de 100 a 0 em 25 minutos!
  12. // Necessário as includes: DOF2 (Com a pasta Fome nos Scriptfiles) e progress!
  13. // Bom proveito
  14. #define FILTERSCRIPT
  15.  
  16. #include <a_samp>
  17. #include <DOF2>
  18. #include <progress>
  19. #include <zcmd>
  20.  
  21. #define PASTA_FOMESEDE "Fome/%s.ini"
  22.  
  23. enum Stats {
  24.     Fome,
  25.     Sede
  26. }
  27.  
  28. new Bar:BFome;
  29. new Bar:BSede;
  30. new Text:TFome[MAX_PLAYERS];
  31. new Text:TSede[MAX_PLAYERS];
  32. new Text:PFome[MAX_PLAYERS];
  33. new Text:PSede[MAX_PLAYERS];
  34. new bool:porcentagem[MAX_PLAYERS];
  35. new sInfo[MAX_PLAYERS][Stats];
  36. new jlogado;
  37.  
  38.  
  39. forward fFome(playerid);
  40. #if defined FILTERSCRIPT
  41.  
  42. public OnFilterScriptInit()
  43. {
  44.     print("\n--------------------------------------");
  45.     print(" Sistema Fome / Sede by Sants - Loaded");
  46.     print("--------------------------------------\n");
  47.  
  48.     BFome = CreateProgressBar(560.00, 250.00, 56.50, 4.19, 0xFFFF00AA, 100.0);
  49.     BSede = CreateProgressBar(560.00, 277.00, 56.50, 4.19, 0x0000FFAA, 100.0);
  50.  
  51.     for(new i = 0; i < GetMaxPlayers(); i++) {
  52.         TFome[i] = TextDrawCreate(555.00, 233.00, "Fome");
  53.         TextDrawBackgroundColor(TFome[i], 255);
  54.         TextDrawFont(TFome[i], 3);
  55.         TextDrawLetterSize(TFome[i], 0.310000, 1.500000);
  56.         TextDrawColor(TFome[i], 0xFFFF00AA);
  57.         TextDrawSetOutline(TFome[i], 1);
  58.         TextDrawSetProportional(TFome[i], 1);
  59.         TextDrawSetSelectable(TFome[i], 0);
  60.  
  61.         PFome[i] = TextDrawCreate(590.00, 233.00, "");
  62.         TextDrawBackgroundColor(PFome[i], 255);
  63.         TextDrawFont(PFome[i], 3);
  64.         TextDrawLetterSize(PFome[i], 0.310000, 1.500000);
  65.         TextDrawColor(PFome[i], 0xFFFF00AA);
  66.         TextDrawSetOutline(PFome[i], 1);
  67.         TextDrawSetProportional(PFome[i], 1);
  68.         TextDrawSetSelectable(PFome[i], 0);
  69.  
  70.         TSede[i] = TextDrawCreate(555.00, 259.00, "Sede");
  71.         TextDrawBackgroundColor(TSede[i], 255);
  72.         TextDrawFont(TSede[i], 3);
  73.         TextDrawLetterSize(TSede[i], 0.310000, 1.500000);
  74.         TextDrawColor(TSede[i], 0x0080FFAA);
  75.         TextDrawSetOutline(TSede[i], 1);
  76.         TextDrawSetProportional(TSede[i], 1);
  77.         TextDrawSetSelectable(TSede[i], 0);
  78.  
  79.         PSede[i] = TextDrawCreate(590.00, 259.00, "Sede");
  80.         TextDrawBackgroundColor(PSede[i], 255);
  81.         TextDrawFont(PSede[i], 3);
  82.         TextDrawLetterSize(PSede[i], 0.310000, 1.500000);
  83.         TextDrawColor(PSede[i], 0x0080FFAA);
  84.         TextDrawSetOutline(PSede[i], 1);
  85.         TextDrawSetProportional(PSede[i], 1);
  86.         TextDrawSetSelectable(PSede[i], 0);
  87.  
  88.     }
  89.     return 1;
  90. }
  91.  
  92. public OnFilterScriptExit()
  93. {
  94.     DOF2_Exit();
  95.     return 1;
  96. }
  97.  
  98. #else
  99.  
  100. main()
  101. {
  102.  
  103. }
  104.  
  105. #endif
  106.  
  107.  
  108. public OnPlayerRequestClass(playerid, classid)
  109. {
  110.  
  111.     return 1;
  112. }
  113.  
  114. public OnPlayerConnect(playerid)
  115. {
  116.     jlogado = 1;   
  117.     return 1;
  118. }
  119.  
  120. public OnPlayerDisconnect(playerid, reason)
  121. {
  122.     new file[40];
  123.     format(file, 40, PASTA_FOMESEDE, Nome(playerid));
  124.     sInfo[playerid][Fome] = GetPVarInt(playerid, "Fome");
  125.     sInfo[playerid][Sede] = GetPVarInt(playerid, "Sede");
  126.     DOF2_SetInt(file, "Fome", sInfo[playerid][Fome]);
  127.     DOF2_SetInt(file, "Sede", sInfo[playerid][Sede]);
  128.     DOF2_SaveFile();
  129.     return 1;
  130. }
  131.  
  132. public OnPlayerSpawn(playerid)
  133. {
  134.     new file[40];
  135.     format(file, 40, PASTA_FOMESEDE, Nome(playerid));
  136.  
  137.     if(jlogado != 1) {
  138.        
  139.     }
  140.     if(DOF2_FileExists(file)) {
  141.         sInfo[playerid][Fome] = DOF2_GetInt(file, "Fome");
  142.         sInfo[playerid][Sede] = DOF2_GetInt(file, "Sede");
  143.         SetPVarInt(playerid, "Fome", sInfo[playerid][Fome]);
  144.         SetProgressBarValue(BFome, sInfo[playerid][Fome]);
  145.         UpdateProgressBar(BFome);
  146.  
  147.         SetPVarInt(playerid, "Sede", sInfo[playerid][Sede]);
  148.         SetProgressBarValue(BSede, sInfo[playerid][Sede]);
  149.         UpdateProgressBar(BSede);
  150.     }
  151.     else {
  152.         DOF2_CreateFile(file);
  153.         DOF2_SetInt(file, "Fome", 100);
  154.         DOF2_SetInt(file, "Sede", 100);
  155.         DOF2_SaveFile();
  156.         SetPVarInt(playerid, "Fome", DOF2_GetInt(file, "Fome"));
  157.         SetPVarInt(playerid, "Sede", DOF2_GetInt(file, "Fome"));
  158.     }
  159.     ShowProgressBarForPlayer(playerid, BSede);
  160.     ShowProgressBarForPlayer(playerid, BFome);
  161.     if(porcentagem[playerid] ==  true) {
  162.         TextDrawShowForPlayer(playerid, PFome[playerid]);
  163.         TextDrawShowForPlayer(playerid, PSede[playerid]);
  164.     }
  165.     SetTimerEx("fFome", 180000, true, "d", playerid);
  166.     for(new i = 0; i < GetMaxPlayers(); i ++){
  167.         TextDrawShowForPlayer(playerid, TFome[i]);
  168.         TextDrawShowForPlayer(playerid, TSede[i]);
  169.     }
  170.     return 1;
  171. }
  172.  
  173. public OnPlayerDeath(playerid, killerid, reason)
  174. {
  175.     return 1;
  176. }
  177.  
  178. public OnVehicleSpawn(vehicleid)
  179. {
  180.     return 1;
  181. }
  182.  
  183. public OnVehicleDeath(vehicleid, killerid)
  184. {
  185.     return 1;
  186. }
  187.  
  188. public OnPlayerText(playerid, text[])
  189. {
  190.     return 1;
  191. }
  192.  
  193. public OnPlayerCommandText(playerid, cmdtext[])
  194. {
  195.     if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  196.     {
  197.         // Do something here
  198.         return 1;
  199.     }
  200.     return 0;
  201. }
  202.  
  203. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  204. {
  205.     return 1;
  206. }
  207.  
  208. public OnPlayerExitVehicle(playerid, vehicleid)
  209. {
  210.     return 1;
  211. }
  212.  
  213. public OnPlayerStateChange(playerid, newstate, oldstate)
  214. {
  215.     return 1;
  216. }
  217.  
  218. public OnPlayerEnterCheckpoint(playerid)
  219. {
  220.     return 1;
  221. }
  222.  
  223. public OnPlayerLeaveCheckpoint(playerid)
  224. {
  225.     return 1;
  226. }
  227.  
  228. public OnPlayerEnterRaceCheckpoint(playerid)
  229. {
  230.     return 1;
  231. }
  232.  
  233. public OnPlayerLeaveRaceCheckpoint(playerid)
  234. {
  235.     return 1;
  236. }
  237.  
  238. public OnRconCommand(cmd[])
  239. {
  240.     return 1;
  241. }
  242.  
  243. public OnPlayerRequestSpawn(playerid)
  244. {
  245.     return 1;
  246. }
  247.  
  248. public OnObjectMoved(objectid)
  249. {
  250.     return 1;
  251. }
  252.  
  253. public OnPlayerObjectMoved(playerid, objectid)
  254. {
  255.     return 1;
  256. }
  257.  
  258. public OnPlayerPickUpPickup(playerid, pickupid)
  259. {
  260.     return 1;
  261. }
  262.  
  263. public OnVehicleMod(playerid, vehicleid, componentid)
  264. {
  265.     return 1;
  266. }
  267.  
  268. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  269. {
  270.     return 1;
  271. }
  272.  
  273. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  274. {
  275.     return 1;
  276. }
  277.  
  278. public OnPlayerSelectedMenuRow(playerid, row)
  279. {
  280.     return 1;
  281. }
  282.  
  283. public OnPlayerExitedMenu(playerid)
  284. {
  285.     return 1;
  286. }
  287.  
  288. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  289. {
  290.     return 1;
  291. }
  292.  
  293. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  294. {
  295.     return 1;
  296. }
  297.  
  298. public OnRconLoginAttempt(ip[], password[], success)
  299. {
  300.     return 1;
  301. }
  302.  
  303. public OnPlayerUpdate(playerid)
  304. {
  305.     return 1;
  306. }
  307.  
  308. public OnPlayerStreamIn(playerid, forplayerid)
  309. {
  310.     return 1;
  311. }
  312.  
  313. public OnPlayerStreamOut(playerid, forplayerid)
  314. {
  315.     return 1;
  316. }
  317.  
  318. public OnVehicleStreamIn(vehicleid, forplayerid)
  319. {
  320.     return 1;
  321. }
  322.  
  323. public OnVehicleStreamOut(vehicleid, forplayerid)
  324. {
  325.     return 1;
  326. }
  327.  
  328. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  329. {
  330.  
  331.     return 1;
  332. }
  333.  
  334. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  335. {
  336.     return 1;
  337. }
  338.  
  339.  
  340. public fFome(playerid) {
  341.     SetPVarInt(playerid, "Fome", GetPVarInt(playerid, "Fome")-2);
  342.     SetProgressBarValue(BFome, GetPVarInt(playerid, "Fome"));
  343.     UpdateProgressBar(BFome, playerid);
  344.  
  345.     SetPVarInt(playerid, "Sede", GetPVarInt(playerid, "Sede")-2);
  346.     SetProgressBarValue(BSede, GetPVarInt(playerid, "Sede"));
  347.     UpdateProgressBar(BSede, playerid);
  348.  
  349.     new fp[100];
  350.     format(fp, 100, "%d%%", GetPVarInt(playerid, "Fome"));
  351.     TextDrawSetString(PFome[playerid], fp);
  352.     format(fp, 100, "%d%%", GetPVarInt(playerid, "Fome"));
  353.     TextDrawSetString(PSede[playerid], fp);
  354.  
  355.  
  356.     if(GetPVarInt(playerid, "Fome") == 0 ) {
  357.         SetPVarInt(playerid, "Fome", GetPVarInt(playerid, "Fome")+8);
  358.         SetProgressBarValue(BFome, GetPVarInt(playerid, "Fome"));
  359.         UpdateProgressBar(BFome, playerid);
  360.         SetPlayerHealth(playerid, 0);
  361.         SendClientMessage(playerid, -1, "Você morreu de fome");
  362.     }
  363.     if(GetPVarInt(playerid, "Sede") == 0 ) {
  364.         SetPVarInt(playerid, "Sede", GetPVarInt(playerid, "Sede")+8);
  365.         SetProgressBarValue(BSede, GetPVarInt(playerid, "Sede"));
  366.         UpdateProgressBar(BSede, playerid);
  367.         SetPlayerHealth(playerid, 0);
  368.         SendClientMessage(playerid, -1, "*Você morreu de sede!");
  369.     }
  370.     if(GetPVarInt(playerid, "Fome") <= 10) {
  371.         SendClientMessage(playerid, -1, "*Você está com fome! Coma algo, senão irá morrer");
  372.     }
  373.     if(GetPVarInt(playerid, "Sede") <= 10) {
  374.         SendClientMessage(playerid, -1, "*Você está com sede! Beba algo, senão irá morrer");
  375.     }
  376.     return 1;
  377. }
  378.  
  379. CMD:comer(playerid) {
  380.     AddFome(playerid, 15);
  381.     return 1;
  382. }
  383.  
  384. CMD:beber(playerid) {
  385.     AddSede(playerid, 15);
  386.     return 1;
  387. }
  388.  
  389. CMD:porcentagem(playerid) {
  390.     if(porcentagem[playerid] == false) {
  391.         porcentagem[playerid] = true;
  392.         TextDrawShowForPlayer(playerid, PSede[playerid]);      
  393.         TextDrawShowForPlayer(playerid, PFome[playerid]);
  394.         new fp[100];
  395.         format(fp, 100, "%d%%", GetPVarInt(playerid, "Fome"));
  396.         TextDrawSetString(PFome[playerid], fp);
  397.         format(fp, 100, "%d%%", GetPVarInt(playerid, "Fome"));
  398.         TextDrawSetString(PSede[playerid], fp);
  399.     }
  400.     else {
  401.         porcentagem[playerid] = false;
  402.     }
  403.     return;
  404. }
  405.  
  406. stock KillBar(){
  407.     KillTimer(fFome);
  408. }
  409.  
  410. stock StartBar(playerid) {
  411.     SetTimerEx("fFome", 180000, true, "d", playerid);
  412. }
  413.  
  414. Nome(playerid) {
  415.     new nome[32];
  416.     GetPlayerName(playerid, nome, sizeof(nome));
  417.     return nome;
  418. }
  419.  
  420. stock AddFome(playerid, x) {
  421.     new Float:vida;
  422.     SetPVarInt(playerid, "Fome", GetPVarInt(playerid, "Fome")+x);
  423.     SetProgressBarValue(BFome, GetPVarInt(playerid, "Fome"));
  424.     UpdateProgressBar(BFome, playerid);
  425.     SetPlayerHealth(playerid, GetPlayerHealth(playerid, vida) + x);
  426.     return 1;
  427. }
  428.  
  429. stock AddSede(playerid, x) {
  430.     SetPVarInt(playerid, "Sede", GetPVarInt(playerid, "Sede")+x);
  431.     SetProgressBarValue(BSede, GetPVarInt(playerid, "Sede"));
  432.     UpdateProgressBar(BSede, playerid);
  433.     return 1;
  434. }
  435.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement