Advertisement
Guest User

Meditacija

a guest
Aug 3rd, 2021
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.74 KB | None | 0 0
  1. #include <a_samp>
  2. #include <YSI\y_timers>
  3. #include <YSI\y_commands>
  4. #include <progress>
  5.  
  6. new PlayerBar:playerenergy[MAX_PLAYERS],PlayerText:energijaTD[MAX_PLAYERS];
  7.  
  8. new Float:energija[MAX_PLAYERS];
  9. new Timer:meditation[MAX_PLAYERS];
  10. new Text:TD[3];
  11.  
  12. static const _AnimsEnum[][] =
  13. {
  14.     "BEACH"
  15. };
  16.  
  17. KreirajBar(playerid)
  18. {
  19.     energija[playerid] = 13;
  20.     playerenergy[playerid] = CreatePlayerProgressBar(playerid, 30.000000, 304.000000, 118.500000, 6.199999, 110947583, 100.0);
  21.     energijaTD[playerid] = CreatePlayerTextDraw(playerid, 32.000000, 290.000000, "Energija (100/100)");
  22.     PlayerTextDrawBackgroundColor(playerid, energijaTD[playerid], 255);
  23.     PlayerTextDrawFont(playerid, energijaTD[playerid], 1);
  24.     PlayerTextDrawLetterSize(playerid, energijaTD[playerid], 0.200000, 1.000000);
  25.     PlayerTextDrawColor(playerid, energijaTD[playerid], -1);
  26.     PlayerTextDrawSetOutline(playerid, energijaTD[playerid], 1);
  27.     PlayerTextDrawSetProportional(playerid, energijaTD[playerid], 1);
  28.     PlayerTextDrawSetSelectable(playerid, energijaTD[playerid], 0);
  29.  
  30.     TD[0] = TextDrawCreate(237.333435, 198.696273, "meditiras....");
  31.     TextDrawLetterSize(TD[0], 0.825666, 3.043555);
  32.     TextDrawAlignment(TD[0], 1);
  33.     TextDrawColor(TD[0], 16777215);
  34.     TextDrawSetShadow(TD[0], 0);
  35.     TextDrawSetOutline(TD[0], 1);
  36.     TextDrawBackgroundColor(TD[0], 51);
  37.     TextDrawFont(TD[0], 1);
  38.     TextDrawSetProportional(TD[0], 1);
  39.  
  40.     TD[1] = TextDrawCreate(993.000061, -20.070371, "usebox");
  41.     TextDrawLetterSize(TD[1], 0.000000, 68.181686);
  42.     TextDrawTextSize(TD[1], -18.000001, 0.000000);
  43.     TextDrawAlignment(TD[1], 1);
  44.     TextDrawColor(TD[1], -2147483393);
  45.     TextDrawUseBox(TD[1], true);
  46.     TextDrawBoxColor(TD[1], -6684775);
  47.     TextDrawSetShadow(TD[1], 0);
  48.     TextDrawSetOutline(TD[1], 0);
  49.     TextDrawFont(TD[1], 0);
  50.  
  51.     TD[2] = TextDrawCreate(162.999984, 198.281433, "potrebna ti je meditacija");
  52.     TextDrawLetterSize(TD[2], 0.697666, 3.026962);
  53.     TextDrawAlignment(TD[2], 1);
  54.     TextDrawColor(TD[2], -1);
  55.     TextDrawSetShadow(TD[2], 0);
  56.     TextDrawSetOutline(TD[2], 1);
  57.     TextDrawBackgroundColor(TD[2], 51);
  58.     TextDrawFont(TD[2], 1);
  59.     TextDrawSetProportional(TD[2], 1);
  60. }
  61. public OnPlayerConnect(playerid)
  62. {
  63.     for(new anims = 0; anims < sizeof(_AnimsEnum); anims ++)
  64.     {
  65.         ApplyAnimation(playerid, _AnimsEnum[anims], "null", 4.0, 0, 0, 0, 0, 0, 1);
  66.     }
  67.     KreirajBar(playerid);
  68.     defer spawnuj(playerid);
  69.     return 1;
  70. }
  71. timer spawnuj[3000](playerid)
  72. {
  73.     SetSpawnInfo(playerid,0,154,1023.2455,-2313.6699,13.093,0.0,24,100,31,100,28,100);
  74.     SpawnPlayer(playerid);
  75.     return 1;
  76. }
  77. public OnPlayerSpawn(playerid)
  78. {
  79.     PlayerTextDrawShow(playerid, energijaTD[playerid]);
  80.     SetPlayerProgressBarValue(playerid, playerenergy[playerid], 100.0);
  81.     ShowPlayerProgressBar(playerid, playerenergy[playerid]);
  82.     return 1;
  83. }
  84. public OnPlayerDisconnect(playerid)
  85. {
  86.     if(GetPVarInt(playerid, "Meditira") == 1)
  87.     {
  88.         DeletePVar(playerid, "Meditira"); stop meditation(playerid);
  89.     }
  90.     if(GetPVarInt(playerid, "Iscrpljen") == 1)
  91.     {
  92.         DeletePVar(playerid, "Iscrpljen");
  93.     }
  94. }
  95. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  96. {
  97.     if(newkeys == KEY_YES)
  98.     {
  99.         if(GetPVarInt(playerid, "Meditira") == 1)
  100.         {
  101.             if(energija[playerid] <= 10) return 1;
  102.             stop meditation[playerid];
  103.             TogglePlayerControllable(playerid, true); ClearAnimations(playerid); DeletePVar(playerid, "Meditira");
  104.             TextDrawHideForPlayer(playerid, TD[0]);
  105.             SendClientMessage(playerid,-1,"Prekinuo si meditaciju");
  106.             return 1;
  107.         }
  108.     }
  109.     return 1;
  110. }
  111. CMD:meditiraj(playerid,params[])
  112. {
  113.     if(GetPVarInt(playerid, "Meditira") == 1) return SendClientMessage(playerid,-1,"Vec meditiras!");
  114.     if(energija[playerid] >= 90.0) return SendClientMessage(playerid,-1,"Nije ti potrebna meditacija!");
  115.     meditation[playerid] = repeat MeditiraT(playerid);
  116.     TogglePlayerControllable(playerid, false);
  117.     ApplyAnimation(playerid, "BEACH", "ParkSit_M_loop", 4.0, 1, 0, 0, 0, 0);
  118.     SetPVarInt(playerid, "Meditira", 1);
  119.     if(GetPVarInt(playerid, "Iscrpljen") == 1)
  120.     {
  121.         TextDrawHideForPlayer(playerid, TD[1]); TextDrawHideForPlayer(playerid, TD[2]);
  122.     }
  123.     TextDrawShowForPlayer(playerid, TD[0]);
  124.     SendClientMessage(playerid,-1,"Zapoceo si meditaciju, da prekines pritisni 'Y'");
  125.     return 1;
  126. }
  127. ptask meditacijadole[120000](playerid)
  128. {
  129.     if(GetPVarInt(playerid, "Meditira") == 1) return 1;
  130.     energija[playerid] --;
  131.     va_PlayerTextDrawSetString(playerid, energijaTD[playerid], "Energija (%i/100)",floatround(energija[playerid],floatround_round));
  132.     SetPlayerProgressBarValue(playerid, playerenergy[playerid], energija[playerid]); UpdatePlayerProgressBar(playerid, playerenergy[playerid]);
  133.     if(energija[playerid] <= 10 && GetPVarInt(playerid, "Iscrpljen") == 0)
  134.     {
  135.         TextDrawShowForPlayer(playerid, TD[1]); TextDrawShowForPlayer(playerid, TD[2]);
  136.         SendClientMessage(playerid,-1,"Tvoje tijelo je iscrpljeno, potrebna ti je duhovna energija, meditiraj");
  137.         SetPVarInt(playerid, "Iscrpljen", 1);
  138.     }
  139.     return 1;
  140. }
  141. stock va_PlayerTextDrawSetString(playerid,PlayerText:tid, fmat[], va_args<>)
  142. {
  143.     return PlayerTextDrawSetString(playerid, tid, va_return(fmat, va_start<3>));
  144. }
  145. timer MeditiraT[30000](playerid)
  146. {
  147.     energija[playerid] ++;
  148.     va_PlayerTextDrawSetString(playerid, energijaTD[playerid], "Energija (%i/100)",floatround(energija[playerid],floatround_round));
  149.     SetPlayerProgressBarValue(playerid, playerenergy[playerid], energija[playerid]); UpdatePlayerProgressBar(playerid, playerenergy[playerid]);
  150.     if(energija[playerid] >= 11 && GetPVarInt(playerid, "Iscrpljen") == 1)
  151.     {
  152.         DeletePVar(playerid, "Iscrpljen");
  153.     }
  154.     if(energija[playerid] >= 99.0)
  155.     {
  156.         stop meditation[playerid];
  157.         TextDrawHideForPlayer(playerid, TD[0]);
  158.         TogglePlayerControllable(playerid, true); ClearAnimations(playerid); DeletePVar(playerid, "Meditira");
  159.     }
  160.     return 1;
  161. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement