Modcraft - The community dedicated to quality WoW modding!

Wrath of the Lich King Modding => Serverside Modding => Tutorials => Topic started by: Blackplayer27 on February 10, 2012, 12:14:11 pm

Title: [TUTORIAL] [TrinityCore] Hunger Script
Post by: Blackplayer27 on February 10, 2012, 12:14:11 pm
Hello,
a frind (http://wow-studio.net/forum/index.php?page=User&userID=8) and i script a very nice hunger Script for Trinity. The script draws from every 2 hours, 10 HP, but you can change this in the Script.

But you most set the HP.Reg on 0 for the Script.

--The text in german--
[spoiler:3p7rkjpr]Hallo zusammen,
Ein freund und ich haben zusammen einen kleinen Script geschrieben der den Hunger im Rollenspiel da stellen sollte. Der Script ist zwar nicht perfekt aber trozdem etwas. Er zieht jeden Spieler alle 2 Stunden 10 HP ab und da das HP sich nicht regeneriert müssen die Spieler in etwas essen um ihr HP wiederherzustellen.

Wenn ihr euch fragt wieso es nur 10 HP sind, auf unsern Server haben alle spieler nur 180 HP das bedeutet der Char überlebt 32 Stunden ohne Essen danach stirbt er an verhungerung.

Der Script tickt nur wenn der Char online und wenn dieser Reloggt oder ähnliches startet er nicht von neu sondern fängt dort wieder an wo er war. Aber wenn der Server restartet werden leider alle Timer zurück gesetzt.

(Falls jemand mag kann er meinen Deutschen Text vielleicht ins Englische übersetzen. Da mein Englisch so schlecht ist das ich nicht alles selbst übersetzen kann >.<)[/spoiler:3p7rkjpr]


Hi folks,
a friend of mine and me wrote together a little script which should imitate apetite in roleplaying.
The script isn't perfect but nonetheless worth something.
It reduces the player's health for 10HP every 2 hours, and as the HP doesn't regenerate itself, the player eventually has to eat something.

If you ask yourself why it is only 10 HP: on our servers, players have only 180 HP what means that the player survives 32 hours without eating,after that time he dies on starving.

The script is only active when the Character is online, if he reloggs or sth. like that, the script doesn't start counting anew but continues where it stopped.
If the server restarts , all timer get sadly resetted.



[center:3p7rkjpr]worldserver.conf[/center:3p7rkjpr]
Find:
Quote
Rate.Health            = 1

Replace it with:
Quote
Rate.Health            = 0

[center:3p7rkjpr]Word.cpp[/center:3p7rkjpr]
Quote
   m_timers[WUPDATE_CORPSES].SetInterval(20 * MINUTE * IN_MILLISECONDS);
                                                            //erase corpses every 20 minutes
    m_timers[WUPDATE_CLEANDB].SetInterval(m_int_configs[CONFIG_LOGDB_CLEARINTERVAL]*MINUTE*IN_MILLISECONDS);
                                                            // clean logs table every 14 days by default
    m_timers[WUPDATE_AUTOBROADCAST].SetInterval(getIntConfig(CONFIG_AUTOBROADCAST_INTERVAL));
+   m_timers[WUPDATE_DAMAGEPLAYER].SetInterval(2 * HOUR * IN_MILLISECONDS);
    m_timers[WUPDATE_DELETECHARS].SetInterval(DAY*IN_MILLISECONDS); // check for chars to delete every day
Quote
       LoginDatabase.Execute(stmt);
    }

+      if (m_timers[WUPDATE_DAMAGEPLAYER].Passed())
+   {
+      for (SessionMap::const_iterator itr = m_sessions.begin(); itr != m_sessions.end(); ++itr)
+      {
+         Unit* target = itr->second->GetPlayer();
+           target->DealDamage(target, 10);
+      }
+      m_timers[WUPDATE_DAMAGEPLAYER].Reset();
+   }

    /// <li> Clean logs table


[center:3p7rkjpr]Word.h[/center:3p7rkjpr]
Quote
    WUPDATE_MAILBOXQUEUE,
     WUPDATE_DELETECHARS,
     WUPDATE_PINGDB,
+   WUPDATE_DAMAGEPLAYER,
     WUPDATE_COUNT
Title: Re: [TUTORIAL] [TrinityCore] Hunger Script
Post by: Steff on February 13, 2012, 12:37:52 am
[spoiler:1bq1p1jr]Ihr wisst aber schon das man bis über 3 wochen nichts essen muss um zu überleben :) Trinken ist da was anders :)[/spoiler:1bq1p1jr]

Actually did you know that you can eat nothing for up to 3 weeks without starving :) Drinking is something else :)

And please english ;)
Title: Re: [TUTORIAL] [TrinityCore] Hunger Script
Post by: Eluo on February 13, 2012, 01:07:01 am
/englischifizinoiert :P

Actually Steff you can survive up to 4 weeks without eating ;)
http://de.wikipedia.org/wiki/Hungerstof ... ne_Nahrung (http://de.wikipedia.org/wiki/Hungerstoffwechsel#Theorien_zur_.C3.9Cberlebensdauer_ohne_Nahrung" onclick="window.open(this.href);return false;)
(german wikipedia article)

*e* nice idea anyway :D
Title: Re: [TUTORIAL] [TrinityCore] Hunger Script
Post by: Keta on February 13, 2012, 12:41:32 pm
But who in their right mind would DO that?! xD

Thanks
Keta
Title: Re: [TUTORIAL] [TrinityCore] Hunger Script
Post by: Steff on February 13, 2012, 12:57:56 pm
What? implement this script. Its a funny idea :) But its not realy needed to get good rp on a server.
Title: Re: [TUTORIAL] [TrinityCore] Hunger Script
Post by: glararan on February 13, 2012, 02:40:01 pm
maybe give ressurection sick or some debuff instead of damage?
Title: Re: [TUTORIAL] [TrinityCore] Hunger Script
Post by: Blackplayer27 on February 14, 2012, 11:37:00 am
This is just a basic scaffold. You can change this script.
Title: Re: [TUTORIAL] [TrinityCore] Hunger Script
Post by: MeL182 on February 28, 2012, 12:51:56 pm
Interesting idea, I'll try to make it. ideas of Implementation  a lot. :)