Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
itemboni [2015/08/18 22:16] 127.0.0.1 Externe Bearbeitung |
itemboni [2015/08/19 22:03] milkyway |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Item-Boni ====== | ||
+ | |||
Hey, | Hey, | ||
heute erklär ich euch wie man Itemboni erstellt. | heute erklär ich euch wie man Itemboni erstellt. | ||
Zeile 7: | Zeile 9: | ||
und machen dort einen Eintrag. | und machen dort einen Eintrag. | ||
- | "var int SpezStew" | + | <code>var int SpezStew;</code> |
- | (Ihr solltet euch das Kapitel "Variablen&Konstanten" schon durchgelesen haben. | + | (Ihr solltet euch das Kapitel [[quickstart:skripte:variablen]] schon durchgelesen haben. |
- | + | ||
- | + | ||
- | Das wars erstmal. | + | |
Nun gucken wir uns die Itemscripts an, ich nehme den "Eintopf". | Nun gucken wir uns die Itemscripts an, ich nehme den "Eintopf". | ||
- | (Zu finden in _work/data/Scripts/Content/Items/IT_Food | + | (Zu finden in _work/data/Scripts/Content/Items/IT_Food) |
- | INSTANCE ItFo_Stew (C_Item) | + | <code cpp>INSTANCE ItFo_Stew (C_Item) |
{ | { | ||
name = "Eintopf"; | name = "Eintopf"; | ||
Zeile 42: | Zeile 41: | ||
Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_Stew); | Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_Stew); | ||
}; | }; | ||
+ | </code> | ||
Zeile 50: | Zeile 49: | ||
- | INSTANCE ItFo_SpezStew (C_Item) | + | <code cpp>INSTANCE ItFo_SpezStew (C_Item) |
{ | { | ||
name = "Spezieller Eintopf"; | name = "Spezieller Eintopf"; | ||
Zeile 76: | Zeile 75: | ||
{ | { | ||
SpezStewBoni = SpezStewBoni + 1; | SpezStewBoni = SpezStewBoni + 1; | ||
- | if (SpezStewBoni == 5) | + | if (SpezStewBoni == 5) |
- | { | + | { |
- | B_RaiseAttribute (self, ATR_STRENGTH, 1); | + | B_RaiseAttribute (self, ATR_STRENGTH, 1); |
- | SpezStewBoni = 0; | + | SpezStewBoni = 0; |
- | }; | + | }; |
- | }; | + | }; |
- | }; | + | }; |
- | + | </code> | |
Der obere Teil sollte euch bekannt vorkommen. | Der obere Teil sollte euch bekannt vorkommen. | ||
- | Interessant wirds erst ab FUNC VOID Use_SpezStew () | + | Interessant wirds erst ab |
- | + | <code cpp>FUNC VOID Use_SpezStew () | |
- | + | { | |
- | Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_SpezStew); | + | Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_SpezStew); |
- | if (Npc_IsPlayer(self)) | + | if (Npc_IsPlayer(self)) |
- | { | + | { |
- | SpezStewBoni = SpezStewBoni + 1; | + | SpezStewBoni = SpezStewBoni + 1; |
if (SpezStewBoni == 5) | if (SpezStewBoni == 5) | ||
{ | { | ||
- | B_RaiseAttribute (self, ATR_STRENGTH, 1); | + | B_RaiseAttribute (self, ATR_STRENGTH, 1); |
- | SpezStewBoni = 0; | + | SpezStewBoni = 0; |
+ | }; | ||
+ | }; | ||
+ | }; | ||
+ | </code> | ||
- | Das "Npc_ChangeAttribute (self,ATR_HITPOINTS, HP_SpezStew)" | + | <code>Npc_ChangeAttribute (self,ATR_HITPOINTS, HP_SpezStew);</code> |
sorgt dafür, dass der Held die HP regeneriert. | sorgt dafür, dass der Held die HP regeneriert. | ||
- | "SpezStewBoni = SpezStewBoni + 1;" | + | <code>SpezStewBoni = SpezStewBoni + 1;</code> |
Das ist eine Art Zähler. Jedesmal, wenn der Held das Item benutzt, wird der Variable 1 hinzugefügt. | Das ist eine Art Zähler. Jedesmal, wenn der Held das Item benutzt, wird der Variable 1 hinzugefügt. | ||
- | "if (SpezStewBoni == 5) | + | <code>if (SpezStewBoni == 5) |
- | { | + | { |
- | B_RaiseAttribute (self, ATR_STRENGTH, 1); | + | B_RaiseAttribute (self, ATR_STRENGTH, 1); |
- | SpezStewBoni = 0;" | + | SpezStewBoni = 0;" |
+ | }; | ||
+ | </code> | ||
Dadurch wird abgefragt, ob die Variable auf 5 steht. | Dadurch wird abgefragt, ob die Variable auf 5 steht. | ||
Tut sie es, also hat der Held das Item schon 5x benutzt, wird das Attribut "Stärke" um 1 erhöht. Ihr könnt in | Tut sie es, also hat der Held das Item schon 5x benutzt, wird das Attribut "Stärke" um 1 erhöht. Ihr könnt in | ||
- | "B_RaiseAttribute (self, ATR_STRENGTH, 1);" | + | <code>B_RaiseAttribute (self, ATR_STRENGTH, 1);</code> |
auch ein anderes Attribut eingeben, das ist egal. | auch ein anderes Attribut eingeben, das ist egal. | ||