Guest User

[FS] Bedürfnisse - Durst/Hunger/Harndrang - TEXTDRAWS

a guest
Jul 21st, 2012
772
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 11.96 KB | None | 0 0
  1. /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2. *                                                                              *
  3. *     ##    ##  ########  ##    ##  ########  ##    ##  ########  ########     *
  4. *     ##    ##  ##        ##    ##     ##     ##    ##  ##    ##  ##           *
  5. *     ########  ####      ##    ##     ##     ##    ##  ########  ######       *
  6. *       ##  ##        ##    ##     ##     ##    ##  ##  ##    ##           *
  7. *       ##  ##        ########     ##     ########  ##    ##  ########     *
  8. *                                                                              *
  9. *     --------------------------------------------------------------------     *
  10. *                                                                              *
  11. *        P     R     O     D     U     C     T     I     O     N     S     *
  12. *                                                                              *
  13. *     --------------------------------------------------------------------     *
  14. *                                                                              *
  15. *        Scripter:  Fake (Philip)                  Release:  21.07.2012        *
  16. *                                                                              *
  17. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  18.  
  19.  
  20. /*
  21. *   Includes
  22. */
  23.  
  24. #include <a_samp>
  25.  
  26.  
  27. /*
  28. *   Definitionen
  29. */
  30.                                         // 1000 = 1 Sekunde | 60000 = 1 Minute
  31. #define HUNGER_TIME         90000       // wird alle 90 Sekunden wiederholt
  32. #define DURST_TIME          60000       // wird alle 60 Sekunden wiederholt
  33. #define HARNDRANG_TIME      120000      // wird alle 120 Sekunden wiederholt
  34.  
  35. //
  36.  
  37. new Text:TDheadHG, Text:TDhead, Text:TDheadPts, Text:TDtextHG, Text:TDtext, Text:TDtextStateA[MAX_PLAYERS], Text:TDtextStateB[MAX_PLAYERS], Text:TDtextStateC[MAX_PLAYERS];
  38. new timerInfo, timerHunger, timerDurst, timerHarndrang;
  39.  
  40. //
  41.  
  42. forward TDinfos();
  43. forward hungerTimer();
  44. forward durstTimer();
  45. forward peeTimer();
  46. forward peeCommand();
  47.  
  48. forward getHStatus(playerid);
  49. forward getDStatus(playerid);
  50. forward getPStatus(playerid);
  51. forward updateHStatus(playerid, value);
  52. forward updateDStatus(playerid, value);
  53. forward updatePStatus(playerid, value);
  54.  
  55.  
  56. /*
  57. *   Initialisierung
  58. */
  59.  
  60. public OnFilterScriptInit()
  61. {
  62.     //
  63.     //  TextDraws
  64.     //
  65.    
  66.     TDheadHG = TextDrawCreate(499.000000, 117.000000, "~n~");
  67.     TextDrawBackgroundColor(TDheadHG, 255);
  68.     TextDrawFont(TDheadHG, 2);
  69.     TextDrawLetterSize(TDheadHG, 0.319999, 1.399999);
  70.     TextDrawColor(TDheadHG, -256);
  71.     TextDrawSetOutline(TDheadHG, 0);
  72.     TextDrawSetProportional(TDheadHG, 1);
  73.     TextDrawSetShadow(TDheadHG, 1);
  74.     TextDrawUseBox(TDheadHG, 1);
  75.     TextDrawBoxColor(TDheadHG, 150);
  76.     TextDrawTextSize(TDheadHG, 606.000000, 0.000000);
  77.  
  78.     TDhead = TextDrawCreate(507.000000, 117.000000, "bedurfnisse");
  79.     TextDrawBackgroundColor(TDhead, 255);
  80.     TextDrawFont(TDhead, 2);
  81.     TextDrawLetterSize(TDhead, 0.329999, 1.299999);
  82.     TextDrawColor(TDhead, -1);
  83.     TextDrawSetOutline(TDhead, 0);
  84.     TextDrawSetProportional(TDhead, 1);
  85.     TextDrawSetShadow(TDhead, 1);
  86.  
  87.     TDheadPts = TextDrawCreate(536.000000, 110.000000, "..");
  88.     TextDrawBackgroundColor(TDheadPts, 255);
  89.     TextDrawFont(TDheadPts, 2);
  90.     TextDrawLetterSize(TDheadPts, 0.219999, 1.299999);
  91.     TextDrawColor(TDheadPts, -1);
  92.     TextDrawSetOutline(TDheadPts, 0);
  93.     TextDrawSetProportional(TDheadPts, 1);
  94.     TextDrawSetShadow(TDheadPts, 0);
  95.  
  96.     TDtextHG = TextDrawCreate(499.000000, 132.000000, "~n~");
  97.     TextDrawBackgroundColor(TDtextHG, 255);
  98.     TextDrawFont(TDtextHG, 2);
  99.     TextDrawLetterSize(TDtextHG, 0.319999, 3.500000);
  100.     TextDrawColor(TDtextHG, -256);
  101.     TextDrawSetOutline(TDtextHG, 0);
  102.     TextDrawSetProportional(TDtextHG, 1);
  103.     TextDrawSetShadow(TDtextHG, 1);
  104.     TextDrawUseBox(TDtextHG, 1);
  105.     TextDrawBoxColor(TDtextHG, 100);
  106.     TextDrawTextSize(TDtextHG, 606.000000, 0.000000);
  107.  
  108.     TDtext = TextDrawCreate(501.000000, 134.000000, "Hunger~n~Durst~n~Harndrang");
  109.     TextDrawBackgroundColor(TDtext, 255);
  110.     TextDrawFont(TDtext, 2);
  111.     TextDrawLetterSize(TDtext, 0.209999, 1.000000);
  112.     TextDrawColor(TDtext, -1515870721);
  113.     TextDrawSetOutline(TDtext, 0);
  114.     TextDrawSetProportional(TDtext, 1);
  115.     TextDrawSetShadow(TDtext, 1);
  116.    
  117.     for(new i = 0; i < MAX_PLAYERS; i++)
  118.     {
  119.         TDtextStateA[i] = TextDrawCreate(560.000000, 134.000000, " ");
  120.         TextDrawBackgroundColor(TDtextStateA[i], 255);
  121.         TextDrawFont(TDtextStateA[i], 2);
  122.         TextDrawLetterSize(TDtextStateA[i], 0.189999, 1.000000);
  123.         TextDrawColor(TDtextStateA[i], 794437375);
  124.         TextDrawSetOutline(TDtextStateA[i], 0);
  125.         TextDrawSetProportional(TDtextStateA[i], 1);
  126.         TextDrawSetShadow(TDtextStateA[i], 1);
  127.  
  128.         TDtextStateB[i] = TextDrawCreate(560.000000, 143.000000, " ");
  129.         TextDrawBackgroundColor(TDtextStateB[i], 255);
  130.         TextDrawFont(TDtextStateB[i], 2);
  131.         TextDrawLetterSize(TDtextStateB[i], 0.189999, 1.000000);
  132.         TextDrawColor(TDtextStateB[i], 794437375);
  133.         TextDrawSetOutline(TDtextStateB[i], 0);
  134.         TextDrawSetProportional(TDtextStateB[i], 1);
  135.         TextDrawSetShadow(TDtextStateB[i], 1);
  136.  
  137.         TDtextStateC[i] = TextDrawCreate(560.000000, 152.000000, " ");
  138.         TextDrawBackgroundColor(TDtextStateC[i], 255);
  139.         TextDrawFont(TDtextStateC[i], 2);
  140.         TextDrawLetterSize(TDtextStateC[i], 0.189999, 1.000000);
  141.         TextDrawColor(TDtextStateC[i], 794437375);
  142.         TextDrawSetOutline(TDtextStateC[i], 0);
  143.         TextDrawSetProportional(TDtextStateC[i], 1);
  144.         TextDrawSetShadow(TDtextStateC[i], 1);
  145.     }
  146.    
  147.     //
  148.     //  Timer
  149.     //
  150.    
  151.     timerInfo = SetTimer("TDinfos", 1000, true);                                // Aktualisierung der TextDraws
  152.     timerHunger = SetTimer("hungerTimer", HUNGER_TIME, true);
  153.     timerDurst = SetTimer("durstTimer", DURST_TIME, true);
  154.     timerHarndrang = SetTimer("peeTimer", HARNDRANG_TIME, true);
  155.     return 1;
  156. }
  157.  
  158. public OnFilterScriptExit()
  159. {
  160.     KillTimer(timerInfo);
  161.     KillTimer(timerHunger);
  162.     KillTimer(timerDurst);
  163.     KillTimer(timerHarndrang);
  164.     return 1;
  165. }
  166.  
  167.  
  168. /*
  169. *   Funktionen
  170. */
  171.  
  172. public OnPlayerConnect(playerid)
  173. {
  174.     SetPVarInt(playerid, "statusHunger", 10);
  175.     SetPVarInt(playerid, "statusDurst", 10);
  176.     SetPVarInt(playerid, "statusHarndrang", 3);
  177.     return 1;
  178. }
  179.  
  180. public OnPlayerDisconnect(playerid)
  181. {
  182.     DeletePVar(playerid, "statusHunger");
  183.     DeletePVar(playerid, "statusDurst");
  184.     DeletePVar(playerid, "statusHarndrang");
  185.     return 1;
  186. }
  187.  
  188. public OnPlayerSpawn(playerid)
  189. {
  190.     TextDrawShowForPlayer(playerid, TDheadHG);
  191.     TextDrawShowForPlayer(playerid, TDhead);
  192.     TextDrawShowForPlayer(playerid, TDheadPts);
  193.     TextDrawShowForPlayer(playerid, TDtextHG);
  194.     TextDrawShowForPlayer(playerid, TDtext);
  195.     TextDrawShowForPlayer(playerid, TDtextStateA[playerid]);
  196.     TextDrawShowForPlayer(playerid, TDtextStateB[playerid]);
  197.     TextDrawShowForPlayer(playerid, TDtextStateC[playerid]);
  198.     return 1;
  199. }
  200.  
  201. public OnPlayerDeath(playerid, killerid, reason)
  202. {
  203.     TextDrawHideForPlayer(playerid, TDheadHG);
  204.     TextDrawHideForPlayer(playerid, TDhead);
  205.     TextDrawHideForPlayer(playerid, TDheadPts);
  206.     TextDrawHideForPlayer(playerid, TDtextHG);
  207.     TextDrawHideForPlayer(playerid, TDtext);
  208.     TextDrawHideForPlayer(playerid, TDtextStateA[playerid]);
  209.     TextDrawHideForPlayer(playerid, TDtextStateB[playerid]);
  210.     TextDrawHideForPlayer(playerid, TDtextStateC[playerid]);
  211.     return 1;
  212. }
  213.  
  214. public OnPlayerCommandText(playerid, cmdtext[])
  215. {
  216.     if(strcmp("/pinkeln", cmdtext, true, 10) == 0)
  217.     {
  218.         if(GetPVarInt(playerid, "statusHarndrang") < 10)
  219.         {
  220.             SetPlayerSpecialAction(playerid, 68);
  221.             SetTimer("peeCommand", 5000, false);
  222.             return 1;
  223.         }
  224.         else
  225.         {
  226.             SendClientMessage(playerid, 0xFFFFFFFF, "Derzeit musst Du nicht pinkeln.");
  227.             return 1;
  228.         }
  229.     }
  230.     return 0;
  231. }
  232.  
  233. //
  234.  
  235. public TDinfos()
  236. {
  237.     for(new i = 0; i < MAX_PLAYERS; i++)
  238.     {
  239.         if(IsPlayerConnected(i))
  240.         {
  241.             switch(GetPVarInt(i, "statusHunger"))
  242.             {
  243.                 case 0: TextDrawSetString(TDtextStateA[i], "~r~i");
  244.                 case 1: TextDrawSetString(TDtextStateA[i], "~r~i");
  245.                 case 2: TextDrawSetString(TDtextStateA[i], "~r~i i");
  246.                 case 3: TextDrawSetString(TDtextStateA[i], "~r~i i i");
  247.                 case 4: TextDrawSetString(TDtextStateA[i], "~y~i i i i");
  248.                 case 5: TextDrawSetString(TDtextStateA[i], "~y~i i i i i");
  249.                 case 6: TextDrawSetString(TDtextStateA[i], "~y~i i i i i i");
  250.                 case 7: TextDrawSetString(TDtextStateA[i], "~y~i i i i i i i");
  251.                 case 8: TextDrawSetString(TDtextStateA[i], "i i i i i i i i");
  252.                 case 9: TextDrawSetString(TDtextStateA[i], "i i i i i i i i i");
  253.                 case 10: TextDrawSetString(TDtextStateA[i], "i i i i i i i i i i");
  254.                 default: TextDrawSetString(TDtextStateA[i], "i i i i i i i i i i");
  255.             }
  256.             switch(GetPVarInt(i, "statusDurst"))
  257.             {
  258.                 case 0: TextDrawSetString(TDtextStateB[i], "~r~i");
  259.                 case 1: TextDrawSetString(TDtextStateB[i], "~r~i");
  260.                 case 2: TextDrawSetString(TDtextStateB[i], "~r~i i");
  261.                 case 3: TextDrawSetString(TDtextStateB[i], "~r~i i i");
  262.                 case 4: TextDrawSetString(TDtextStateB[i], "~y~i i i i");
  263.                 case 5: TextDrawSetString(TDtextStateB[i], "~y~i i i i i");
  264.                 case 6: TextDrawSetString(TDtextStateB[i], "~y~i i i i i i");
  265.                 case 7: TextDrawSetString(TDtextStateB[i], "~y~i i i i i i i");
  266.                 case 8: TextDrawSetString(TDtextStateB[i], "i i i i i i i i");
  267.                 case 9: TextDrawSetString(TDtextStateB[i], "i i i i i i i i i");
  268.                 case 10: TextDrawSetString(TDtextStateB[i], "i i i i i i i i i i");
  269.                 default: TextDrawSetString(TDtextStateB[i], "i i i i i i i i i i");
  270.             }
  271.             switch(GetPVarInt(i, "statusHarndrang"))
  272.             {
  273.                 case 0: TextDrawSetString(TDtextStateC[i], "~r~i");
  274.                 case 1: TextDrawSetString(TDtextStateC[i], "~r~i");
  275.                 case 2: TextDrawSetString(TDtextStateC[i], "~r~i i");
  276.                 case 3: TextDrawSetString(TDtextStateC[i], "~r~i i i");
  277.                 case 4: TextDrawSetString(TDtextStateC[i], "~y~i i i i");
  278.                 case 5: TextDrawSetString(TDtextStateC[i], "~y~i i i i i");
  279.                 case 6: TextDrawSetString(TDtextStateC[i], "~y~i i i i i i");
  280.                 case 7: TextDrawSetString(TDtextStateC[i], "~y~i i i i i i i");
  281.                 case 8: TextDrawSetString(TDtextStateC[i], "i i i i i i i i");
  282.                 case 9: TextDrawSetString(TDtextStateC[i], "i i i i i i i i i");
  283.                 case 10: TextDrawSetString(TDtextStateC[i], "i i i i i i i i i i");
  284.                 default: TextDrawSetString(TDtextStateC[i], "i i i i i i i i i i");
  285.             }
  286.         }
  287.     }
  288.     return 1;
  289. }
  290.  
  291. public hungerTimer()
  292. {
  293.     for(new i = 0; i < MAX_PLAYERS; i++)
  294.     {
  295.         if(IsPlayerConnected(i))
  296.         {
  297.             if(GetPVarInt(i, "statusHunger") >= 1)
  298.             {
  299.                 new HS = (GetPVarInt(i, "statusHunger") - 1);
  300.                 SetPVarInt(i, "statusHunger", HS);
  301.             }
  302.             else
  303.             {
  304.                 new Float:pHealth;
  305.                 GetPlayerHealth(i, pHealth);
  306.                 SetPlayerHealth(i, (pHealth - 5));
  307.             }
  308.         }
  309.     }
  310.     return 1;
  311. }
  312.  
  313. public durstTimer()
  314. {
  315.     for(new i = 0; i < MAX_PLAYERS; i++)
  316.     {
  317.         if(IsPlayerConnected(i))
  318.         {
  319.             if(GetPVarInt(i, "statusDurst") >= 1)
  320.             {
  321.                 new DS = (GetPVarInt(i, "statusDurst") - 1);
  322.                 SetPVarInt(i, "statusDurst", DS);
  323.             }
  324.             else
  325.             {
  326.                 new Float:pHealth;
  327.                 GetPlayerHealth(i, pHealth);
  328.                 SetPlayerHealth(i, (pHealth - 5));
  329.             }
  330.         }
  331.     }
  332.     return 1;
  333. }
  334.  
  335. public peeTimer()
  336. {
  337.     for(new i = 0; i < MAX_PLAYERS; i++)
  338.     {
  339.         if(IsPlayerConnected(i))
  340.         {
  341.             if(GetPVarInt(i, "statusHarndrang") >= 1)
  342.             {
  343.                 new PS = (GetPVarInt(i, "statusHarndrang") - 1);
  344.                 SetPVarInt(i, "statusHarndrang", PS);
  345.             }
  346.             else
  347.             {
  348.                 new Float:pHealth;
  349.                 GetPlayerHealth(i, pHealth);
  350.                 SetPlayerHealth(i, (pHealth - 5));
  351.             }
  352.         }
  353.     }
  354.     return 1;
  355. }
  356.  
  357. public peeCommand()
  358. {
  359.     for(new i = 0; i < MAX_PLAYERS; i++)
  360.     {
  361.         if(IsPlayerConnected(i))
  362.         {
  363.             SetPlayerSpecialAction(i, 0);
  364.             SetPVarInt(i, "statusHarndrang", 11);
  365.         }
  366.     }
  367.     return 1;
  368. }
  369.  
  370. public getHStatus(playerid)
  371. {
  372.     return GetPVarInt(playerid, "statusHunger");
  373. }
  374.  
  375. public getDStatus(playerid)
  376. {
  377.     return GetPVarInt(playerid, "statusDurst");
  378. }
  379.  
  380. public getPStatus(playerid)
  381. {
  382.     return GetPVarInt(playerid, "statusHarndrang");
  383. }
  384.  
  385. public updateHStatus(playerid, value)
  386. {
  387.     SetPVarInt(playerid, "statusHunger", value);
  388.     return 1;
  389. }
  390.  
  391. public updateDStatus(playerid, value)
  392. {
  393.     SetPVarInt(playerid, "statusDurst", value);
  394.     return 1;
  395. }
  396.  
  397. public updatePStatus(playerid, value)
  398. {
  399.     SetPVarInt(playerid, "statusHarndrang", value);
  400.     return 1;
  401. }
Advertisement
Add Comment
Please, Sign In to add comment