Turn Script Trouble

XanMag
I'm having some serious trouble getting my turn scripts to run and stop running during the game.

I have a turn script set up at the beginning of the game and have events set to occur at specific turns (i.e. 3, 6, 9, etc.). This was done through the 'if attribute = 3 turns (6 turns, 9 turns), then print 'message'. There's no problem here.

My problem is when I try to get events to occur after a set number of moves once entering a room. I can't use the above method because I have no clue what turn a player will be on when moving about in the room. Basically, what I want to do is give a player a set number of moves in a room before the bad guy comes in and kills the player. Once the player leaves the room (or hides), the turn script will end and will restart once the player comes back in the room. I think this should be simple to do, but I have tried this in three different parts of the story and, after too much time trying to figure it out with turn scripts, I always resort to timers (which I can get to work).

What I've tried (that seems reasonable - I've tried a lot of unreasonable stuff too)...
1. Run a script after a set number of turns after entering the room = I can't turn it off and it continues even after I leave the room.
2. Creating a turn script and enabling it after I enter the room and disabling it after I leave the room = It will enable when entering the room but will not disable when leaving. I assume that in the enable turn script box I type in the name of the turn script (in this case 'sdts') and disable it the same way. Also, I am trying to run the enabled turn script after 'x' number of turn in the room, so the created turn script is set up as a 'run script after a set number of turns'. I'm not sure if that's how I attack this issue or not. Also, the first message in the script will run after the desired 2 turns, but then repeats every turn thereafter - which I don't want.

Bottom line: I want to kill the player for wasting too many turns in a particular room. I warn the player 3 times with different messages each time about his impending doom before death. I've tried turn scripts in multiple ways and cannot get them to work. The simplest solution would be appreciated!!

Just an FYI... I'm totally unfamiliar with writing code. I'm hoping I can skirt my coding cluelessness with the power of Quest. If I have to have a clue about writing, reading, editing code in order to create a game with this program, please let me know, so I don't waste my time trying. :cry:

Please help. I'm guessing this should be an easy fix, but I've tried and tried and cannot get it to work.

Thank you!

HegemonKhan
Explaining things via the GUI~Editor, is a pain for me, and takes much longer, and I'm not that familiar with it either, and I'm stuck with a very bad internet connection for maybe a month or more, so I can't be of much help right now. though, the other people here will surely help you, and much better than I can do so at the moment. However, I'll try to help as I can for now.

(I'll post code, but don't be scared of it, quest is a great program that you can use without any code, which if my situation was better, I'd help you without any code, but that's not possible for me due to the issues I listed above, until my situation improves)

I hope you know how to 'enable' and 'disable' turnscripts in the GUI~Editor, both via the individual turnscripts' window's options (if you want them to be 'enabled' at the start of the game) or within Scripting (run as script -> add a script -> ??? script category -> ??? Script), and yes, you select (ID ~ identify) the turnscript to 'enable' or 'disable' by its Name (ID) Attribute.

I also hope you know how to do all the other stuff that you want via the GUI~Editor too, and when~if you get better (and at using code too ~ hopefully ~ in the future sometime, hehe), I can show you much better ways to do the things that you want, but right now, those ways will be way too advanced and confusing for you, especially when you don't understand the coding (as in understanding to code, you also learn~train your mind to think in terms of 'code-logic-mentality', aka, how to do the stuff that you want in your game, and in better, more efficient: shorter and more powerful, ways of doing it).

'turnscripts' can be added outside of a room, thus applying to the whole game (making it a 'global' turnscript), and also can be added to specific rooms too, thus only applying to that specific room (making it a 'local' turnscript).

for a global turnscript:

click on the upper-left most 'Object' in the left pane's "tree of "stuff", so that it is highlighted, then at the top of the screen, click on the 'add' button of the horizontal bar, and select 'turnscript'

for a local turnscript:

click on the specific Object that you want to add it within, in the left pane's "tree of stuff", so that it is highlighted, then at the top of the screen, click on the 'add' button of the horizontal bar, and select 'turnscript'.

for example, in code (as it's quicker for me, and I'm lazy):

<game name="blah">
// blah code lines
<attr name="global_turns_of_game" type="int">0</attr>
// blah code lines
<game>

<turnscript name="global_turnscript_of_the_entire_game">
<enabled />
<script>
msg (game.global_turns_of_game)
msg (room.local_turns_of_room)
game.global_turns_of_game = game.global_turns_of_game + 1
</script>
</turnscript>

<object name="room">
<inherit name="editor_room">
<attr name="local_turns_of_room" type="int">0</attr>
<turnscript name="local_turnscript_of_room">
<enabled />
<script>
room.local_turns_of_room = room.local_turns_of_room + 1
</script>
</turnscript>
</object>


--------------------------

In the GUI~Editor (not code this time, hehe)

as for what you want to do (an example of mine):

first, create (add) your attributes:

"game" Object -> Attributes (tab) -> Attributes -> Add (repeat) ->

Attribute Name: global_turns
Attribute Type: int (integer)
Attribute Value: 0

Attribute Name: local_turns
Attribute Type: int
Attribute Value: 0

next, to display them during game play in the right pane:

"game" Object -> Attributes (tab) -> Status Attributes -> Add (repeat) ->

Name: global_turns
Field Name ~ or whatever it is called ~ (Value): Global Turns: !

Name: local_turns
Field Name ~ or whatever it is called ~ (Value): Local Turns: !

now, we create the two turnscripts, one outside of any~all rooms (a global turnscript), and one (for my example, but for your game you may be using more than just one room with such 'movement ~ turns' events) inside the "room" Room Object:

see far above for how to do this

as for the scripting (an example again of mine, having the turnscripts 'enabled' at the start of the game) of those turnscripts:

global turnscript:

run as script -> add a script -> variables -> set a variable or attribute ->

Object_name.Attribute_name = Object_name.Attribute_name {Math Operator: +, -, *, / } Value_amount

Object_name.Attribute_name = Object_name.Attribute_name + Value_amount
Object_name.Attribute_name = Object_name.Attribute_name - Value_amount
Object_name.Attribute_name = Object_name.Attribute_name * Value_amount
Object_name.Attribute_name = Object_name.Attribute_name / Value_amount

left of equal sign: game.global_turns
right of equal sign: game.global_turns +1

game.global_turns = game.global_turns + 1
(an addition expression script in code)
conceptually:
old: game.global_turns (initial~starting) = 0
game.global_turns (new) = game.global_turns (old) + 1
game.global_turns (new) = 0 + 1
new: game.global_turns = 1
old: game.global_turns = 1
game.global_turns (new) = game.global_turns (old) + 1
game.global_turns (new) = 1 + 1
new: game.global_turns = 2
old: game.global_turns = 2
game.global_turns (new) = game.global_turns (old) + 1
game.global_turns (new) = 2 + 1
new: game.global_turns = 3
etc etc etc

Local Turnscript:

(for example, I'm using turn intervals of 5)

run as script -> add a script -> ?scripts? -> switch (an alternative method~design of~for doing multiple "if" scripts) ->
-> case -> game.local_turns ->
->-> (5) ->
->->-> // whatever script you want (add a script)
->-> (10) ->
->->-> // watever script you want (add a script)
->-> (15) ->
->->-> // watever script you want (add a script)
etc etc etc

add a script -> variables -> set a variable or attribute -> game.local_turns = game.local_turns + 1

and either on entering or leaving the room (to reset the local_turns to zero again):

run as script -> add a script -> variables -> set a variable or attribute -> game.local_turns = 0

jaynabonne
XanMag, if you could post here what you've tried, it might be a simple tweak to get it to work. Given your description, I can't tell if it's a design problem (that is, you can't do what you're trying to do) or just a straightforward fix to what you're trying to do. Seeing the actual code would help.

XanMag
Should I post the code for the entire game or just copy-paste the code for the room I want the turn script to be in? Thanks in advance.

*I posted a portion below*

XanMag
I'm probably buggering this all up, but below is the code I tried that makes the most sense (in my head, anyway). If the player goes north into the room, the script I want to run is enabled. As you can tell, this runs warning message 1... then message 1 and 2... then message 1, 2, and 3... then message 1, 2, 3, and death while in the room and even after I exit the room. I have a global turn counter set up which I want to use to count in this specific room when the player is here. I should not have to set up a local counter separately, right? I remember trying the local counter once earlier in the game and it led to nearly identical results. As always, the simplest solution is appreciated!

Again, I'll apologize for my coding illiteracy, but I'm doing my best!! =)

  <object name="Archeological Site">
<inherit name="editor_room" />
<exit alias="north" to="Sprawling Desert">
<inherit name="northdirection" />
</exit>
<object name="player">
<inherit name="editor_object" />
<inherit name="editor_player" />
<turns type="int">0</turns>
<statusattributes type="stringdictionary">
<item>
<key>turns</key>
<value></value>
</item>
</statusattributes>
<look>I'm an idiot. Weak, lazy, dumb, etc.</look>
<ask type="scriptdictionary">
<item key="me myself">
msg ("You say to yourself, \"People love me because I am the best Xanadu Magoo that I can be.\"")
</item>
</ask>
</object>
</object>
<object name="Small Stream">
<inherit name="editor_room" />
<exit alias="southwest" to="Cliff Base">
<inherit name="southwestdirection" />
</exit>
</object>
<object name="Sprawling Desert">
<inherit name="editor_room" />
<description><![CDATA[<br/>There is a lot of sand here, some of it forming some sand dunes.<br/><br/>You hear some voices, but no matter how hard you try, you cannot tell what direction they are coming from.<br/><br/>Back to the west you see a cliff rising up from the horizon. If you look toward the south, you see a few small mounds peaking up from the desert floor. A sandy, blown over path appears to continue to the east. The desert appears to expand endlessly in all other directions.]]></description>
<enter type="script">
EnableTurnScript (SDTS)
</enter>
<onexit type="script"><![CDATA[
msg ("<br/>The voice fades until you can no longer hear the speaker.<br/>")
DisableTurnScript (SDTS)
]]></onexit>
<object name="sand">
<inherit name="editor_object" />
<takemsg>You try to pick up the sand, put it slips through your fingers.</takemsg>
<weight type="int">5</weight>
<attr name="feature_usegive" type="boolean">false</attr>
<ondrop type="script"><![CDATA[
msg ("<br/>You drop the sand and it is blown away by the wind.")
MoveObject (sand, Sprawling Desert)
]]></ondrop>
</object>
<command name="sprawling desert suicide">
<pattern>kill myself; commit suicide; bite the bullet; tap out; kill xanadu</pattern>
<script><![CDATA[
msg ("<br/>You take the figurative saying \"Go pound sand\" literally. You pound sand with your head. Over and over and over again. You succeed in pounding sand. Congratulations.<br/><br/>PS. I'm not sure you should take that saying literally...<br/>")
DecreaseHealth (100)
finish
]]></script>
</command>
<exit alias="west" to="Cliff Base">
<inherit name="westdirection" />
</exit>
<exit alias="south" to="Archeological Site">
<inherit name="southdirection" />
</exit>
<exit alias="east" to="Dry Path">
<inherit name="eastdirection" />
</exit>
<command name="endless sand directions">
<pattern>sw; nw; n; ne; se</pattern>
<script><![CDATA[
msg ("<br/>The sprawling desert seems to expand for an eternity in this direction. You realize that wandering into this massive desert would certainly be the death of you. You wisely turn around and head back the way you came.<br/><br/>There is a lot of sand here - that is about it.<br/><br/>You hear some voices, but no matter how hard you try, you cannot tell what direction they are coming from.<br/><br/>Back to the west you see a cliff rising up from the horizon. If you look to the south, you see a few small mounds peaking up from the desert floor. A sandy, blown over path appears to continue to the east. The desert appears to expand endlessly in all other directions.<br/>")
]]></script>
</command>
<object name="Sand Dune">
<inherit name="editor_object" />
<look>There is a sand dune here that is about three feet tall and five feet wide.</look>
<scenery type="boolean">false</scenery>
<takemsg>Uh... that's about two tons of sand. You can't take it!</takemsg>
<hidebehind type="script"><![CDATA[
msg ("<br/>You just manage to tuck yourself away behind the sand dune.<br/>")
MakeObjectInvisible (player)
if () {
}
]]></hidebehind>
</object>
<command name="listen SD">
<pattern>listen; listen to voices; listen to sounds</pattern>
<script><![CDATA[
msg ("<br/>You cannot tell what the voices are saying. They are too faint.<br/>")
]]></script>
</command>
<command name="hide from bad guy">
<pattern>hide; hide behind dune</pattern>
<script>
MoveObject (player, hiding behind sand dune)
</script>
</command>
</object>
<object name="Dry Path">
<inherit name="editor_room" />
<description><![CDATA[<br/>There is a narrow path on the ground here running west to northeast. The desert seems to fade heading toward the northeast. You could also west from here, back into the large desert.<br/><br/>On the path, you see a little knob of wood poking out of the ground. It looks like it might be a root, but you don't see a tree anywhere for miles.]]></description>
<object name="root">
<inherit name="editor_object" />
<look>It just appears to be a little, knotted root that has poked up from the desert floor.</look>
<takemsg>As hard as you try to pull on the root, it will "knot" budge...</takemsg>
</object>
<exit alias="west" to="Sprawling Desert">
<inherit name="westdirection" />
</exit>
</object>
<verb>
<property>hidebehind</property>
<pattern>hide behind</pattern>
<defaultexpression>"You can't hide behind " + object.article + "."</defaultexpression>
</verb>
<object name="hiding behind sand dune">
<inherit name="editor_room" />
<descprefix>You are</descprefix>
<description><![CDATA[<br/>You have hidden yourself behind the sand dune in the sprawling desert. You cannot go anywhere except back into the sprawling desert. You sense that there is someone walking around just on the other side of the sand dune. <br/><br/>To return to the sprawling desert, you'll need to 'unhide' or 'emerge'.]]></description>
<exit alias="out" to="hiding behind sand dune">
<inherit name="outdirection" />
<lookonly />
<look>You peek out from behind the sand dune and see a scary looking man. This is definitely the man who fired the rocket at you back in the Rover. You know this because you would never forget that face. His eyes are beady and weasel-like, and he has a big, hooked nose like a massive bird of prey. He is also carrying a rocket launcher. He is wearing a traditional desert robe. Just before you duck back behind the sand dune, you catch a glimpse of a red "D" emblazoned on his black robe.</look>
</exit>
<command name="emerge unhide">
<pattern>emerge; unhide</pattern>
<script>
MoveObject (player, Sprawling Desert)
</script>
</command>
</object>
<turnscript name="SDTS">
<script><![CDATA[
SetTurnTimeout (2) {
msg ("<br/>The voice seems to be getting a bit louder...<br/>")
}
SetTurnTimeout (4) {
msg ("<br/>The voice you've been hearing is clear and audible now, but it's in a foreign language and you can't make out what is being said.<br/>")
}
SetTurnTimeout (6) {
msg ("<br/>The voice is so close, you are amazed you can't see the person issuing it. The voice sounds like one of the men that was at the top of the cliff just a while ago.<br/>")
}
SetTurnTimeout (7) {
msg ("<br/>Bad Guy Number One emerges in the sprawling desert. He drops his phone he has been using and readies his rocket launcher. The last thing you remember is the tip of the fired rocket stricking you in the knee cap. It has turned you into vulture kibble. At least you went out with a bang!<br/>")
DecreaseHealth (100)
finish
}

HegemonKhan
hopefully this works, I changed only your~the:

"sprawling desert" Object -> "onenter" Script -> added in: game.pov.turns = 0 -> this resets the player.turns to zero

"sprawling desert" Object -> "onexit" Script -> added in: game.pov.turns = 0 -> this resets the player.turns to zero

"SDTS" Turnscript -> Scripting -> if (game.pov.turns = 2, 4, 6, 7), do x1, x2, x3, x4 (see below in the code for how it is properly coded, as this is just my own shorthand way of conveying it, lol), and lastly to then increase the player.turns by 1 (game.pov.turns = game.pov.turns + 1)

  <object name="Archeological Site">
<inherit name="editor_room" />
<exit alias="north" to="Sprawling Desert">
<inherit name="northdirection" />
</exit>
<object name="player">
<inherit name="editor_object" />
<inherit name="editor_player" />
<turns type="int">0</turns>
<statusattributes type="stringdictionary">
<item>
<key>turns</key>
<value></value>
</item>
</statusattributes>
<look>I'm an idiot. Weak, lazy, dumb, etc.</look>
<ask type="scriptdictionary">
<item key="me myself">
msg ("You say to yourself, \"People love me because I am the best Xanadu Magoo that I can be.\"")
</item>
</ask>
</object>
</object>
<object name="Small Stream">
<inherit name="editor_room" />
<exit alias="southwest" to="Cliff Base">
<inherit name="southwestdirection" />
</exit>
</object>
<object name="Sprawling Desert">
<inherit name="editor_room" />
<description><![CDATA[<br/>There is a lot of sand here, some of it forming some sand dunes.<br/><br/>You hear some voices, but no matter how hard you try, you cannot tell what direction they are coming from.<br/><br/>Back to the west you see a cliff rising up from the horizon. If you look toward the south, you see a few small mounds peaking up from the desert floor. A sandy, blown over path appears to continue to the east. The desert appears to expand endlessly in all other directions.]]></description>
<enter type="script">
game.pov.turns = 0
EnableTurnScript (SDTS)
</enter>
<onexit type="script"><![CDATA[
msg ("<br/>The voice fades until you can no longer hear the speaker.<br/>")
DisableTurnScript (SDTS)
game.pov.turns = 0
]]></onexit>
<object name="sand">
<inherit name="editor_object" />
<takemsg>You try to pick up the sand, put it slips through your fingers.</takemsg>
<weight type="int">5</weight>
<attr name="feature_usegive" type="boolean">false</attr>
<ondrop type="script"><![CDATA[
msg ("<br/>You drop the sand and it is blown away by the wind.")
MoveObject (sand, Sprawling Desert)
]]></ondrop>
</object>
<command name="sprawling desert suicide">
<pattern>kill myself; commit suicide; bite the bullet; tap out; kill xanadu</pattern>
<script><![CDATA[
msg ("<br/>You take the figurative saying \"Go pound sand\" literally. You pound sand with your head. Over and over and over again. You succeed in pounding sand. Congratulations.<br/><br/>PS. I'm not sure you should take that saying literally...<br/>")
DecreaseHealth (100)
finish
]]></script>
</command>
<exit alias="west" to="Cliff Base">
<inherit name="westdirection" />
</exit>
<exit alias="south" to="Archeological Site">
<inherit name="southdirection" />
</exit>
<exit alias="east" to="Dry Path">
<inherit name="eastdirection" />
</exit>
<command name="endless sand directions">
<pattern>sw; nw; n; ne; se</pattern>
<script><![CDATA[
msg ("<br/>The sprawling desert seems to expand for an eternity in this direction. You realize that wandering into this massive desert would certainly be the death of you. You wisely turn around and head back the way you came.<br/><br/>There is a lot of sand here - that is about it.<br/><br/>You hear some voices, but no matter how hard you try, you cannot tell what direction they are coming from.<br/><br/>Back to the west you see a cliff rising up from the horizon. If you look to the south, you see a few small mounds peaking up from the desert floor. A sandy, blown over path appears to continue to the east. The desert appears to expand endlessly in all other directions.<br/>")
]]></script>
</command>
<object name="Sand Dune">
<inherit name="editor_object" />
<look>There is a sand dune here that is about three feet tall and five feet wide.</look>
<scenery type="boolean">false</scenery>
<takemsg>Uh... that's about two tons of sand. You can't take it!</takemsg>
<hidebehind type="script"><![CDATA[
msg ("<br/>You just manage to tuck yourself away behind the sand dune.<br/>")
MakeObjectInvisible (player)
if () {
}
]]></hidebehind>
</object>
<command name="listen SD">
<pattern>listen; listen to voices; listen to sounds</pattern>
<script><![CDATA[
msg ("<br/>You cannot tell what the voices are saying. They are too faint.<br/>")
]]></script>
</command>
<command name="hide from bad guy">
<pattern>hide; hide behind dune</pattern>
<script>
MoveObject (player, hiding behind sand dune)
</script>
</command>
</object>
<object name="Dry Path">
<inherit name="editor_room" />
<description><![CDATA[<br/>There is a narrow path on the ground here running west to northeast. The desert seems to fade heading toward the northeast. You could also west from here, back into the large desert.<br/><br/>On the path, you see a little knob of wood poking out of the ground. It looks like it might be a root, but you don't see a tree anywhere for miles.]]></description>
<object name="root">
<inherit name="editor_object" />
<look>It just appears to be a little, knotted root that has poked up from the desert floor.</look>
<takemsg>As hard as you try to pull on the root, it will "knot" budge...</takemsg>
</object>
<exit alias="west" to="Sprawling Desert">
<inherit name="westdirection" />
</exit>
</object>
<verb>
<property>hidebehind</property>
<pattern>hide behind</pattern>
<defaultexpression>"You can't hide behind " + object.article + "."</defaultexpression>
</verb>
<object name="hiding behind sand dune">
<inherit name="editor_room" />
<descprefix>You are</descprefix>
<description><![CDATA[<br/>You have hidden yourself behind the sand dune in the sprawling desert. You cannot go anywhere except back into the sprawling desert. You sense that there is someone walking around just on the other side of the sand dune. <br/><br/>To return to the sprawling desert, you'll need to 'unhide' or 'emerge'.]]></description>
<exit alias="out" to="hiding behind sand dune">
<inherit name="outdirection" />
<lookonly />
<look>You peek out from behind the sand dune and see a scary looking man. This is definitely the man who fired the rocket at you back in the Rover. You know this because you would never forget that face. His eyes are beady and weasel-like, and he has a big, hooked nose like a massive bird of prey. He is also carrying a rocket launcher. He is wearing a traditional desert robe. Just before you duck back behind the sand dune, you catch a glimpse of a red "D" emblazoned on his black robe.</look>
</exit>
<command name="emerge unhide">
<pattern>emerge; unhide</pattern>
<script>
MoveObject (player, Sprawling Desert)
</script>
</command>
</object>
<turnscript name="SDTS">
<script><![CDATA[
if (game.pov.turns = 2) {
msg ("<br/>The voice seems to be getting a bit louder...<br/>")
} else if (game.pov.turns = 4) {
msg ("<br/>The voice you've been hearing is clear and audible now, but it's in a foreign language and you can't make out what is being said.<br/>")
} else if (game.pov.turns = 6) {
msg ("<br/>The voice is so close, you are amazed you can't see the person issuing it. The voice sounds like one of the men that was at the top of the cliff just a while ago.<br/>")
} else if (game.pov.turns = 7) {
msg ("<br/>Bad Guy Number One emerges in the sprawling desert. He drops his phone he has been using and readies his rocket launcher. The last thing you remember is the tip of the fired rocket stricking you in the knee cap. It has turned you into vulture kibble. At least you went out with a bang!<br/>")
DecreaseHealth (100)
finish
}
on ready {
game.pov.turns = game.pov.turns + 1
}
</script>
</turnscript>


--------------

XanMag wrote:I should not have to set up a local counter separately, right?


correct, the way you have it, works fine. Using a local turnscript, is more for organization ~ making it easier to keep track of what turnscript acts upon which room (by having the turnscript within that room), and etc stuff. But, this is only if you have lots of different turnscripts acting upon specific rooms, and other whatever cases~scenarios ~ game design desires ~ etc

XanMag
Thank you so much for your responses. I got the turn script to do what I wanted using HK's edited code. My global turn script is goofed now because it is set to reset the turns at 0, but that is not important really. If any one checks this and can tell me how to make the turns counter invisible but still active during the game, I'd be grateful! Thanks again!

I will refer back to this problem when it is time to do another turn script in a different room later on. Thanks so much. You guys are awesome! :D

HegemonKhan
if you need a 'turn counter' Attribute that doesn't reset, then you'll simple need a second Attribute, 'turn_static'

for example, a common usage of using two Attributes:

current and maximum, such as with HP and MP in games:
current_hit_points = 999
maximum_hit_points = 999
current_mana_points = 99
maximum_mana_points = 99

and then you can do lots of cool stuff with scripting by using this 'two attribute' design~method~concept

---

though for you, you'd just have one Attribute 'turns_dynamic" which you reset to zero for your room events, and one Attribute 'turns_static' for whatever you're using it for (?game progression, score, or whatever?, hehe).

------------

as for not displaying your (turns) Attirbute, simply remove that Attribute from either your "game" 's and~or Player Objects' (such as the default "player" Player Object) special built-in string dictionary attribute called, "statusattributes", which is what makes it show up during game play in your right pane, so specifically for your code~game, just remove out this (I'm showing it in code, by you can also remove it via the GUI~Editor too):

"player" Player Object:

This removes the entire thing (nothing will be displayed during game play):

<statusattributes type="stringdictionary">
<item>
<key>turns</key>
<value></value>
</item>
</statusattributes>

or, for an example, if you only want to remove the "turns" attribute from displaying, but not, let's say the, "strength" Attirbute:

// don't remove this line below, as it's your beginning line for your "statusattirbute" tag, lol:

<statusattributes type="stringdictionary">

// don't remove these lines below, as you want the "strength" attribute to be displayed:

<item>
<key>strength</key>
<value></value>
</item>

// remove these lines (or attribute "statusattributes" items in the GUI~Editor) below:

<item>
<key>turns</key>
<value></value>
</item>

// but, not this line below, as it is the ending line for the "statusattirbutes" attribute tag, lol:

</statusattributes>


----------------

P.S.

you can always name stuff however you want, but you'll soon learn, that developing a system for doing so, is very useful, hehe.

as you can see mine: spell out the attribute in full (lol), write what attribute type it is, use underscores to space the words, and use "_x" to not over-right built-in stuff [for example: the built-in "gender" = he, she, it ... VS ... my custom "gender_x" = male or female]:

current_hit_points_integer = 0
character_creation_function
character_creation_command
age_string = "adult"
age_integer = 18 // (I wish, lol)
am_or_pm_string = "am"
primary_colors_string_list = split ("red;blue;yellow", ";")
HK_favorite_color_string = "black"
dead_boolean = false
character_creation_script = // (pretend scripting)
human_race_taxonomy_string_list = split ("european;asian;african;america", ";")
elf_race_taxonomy_string_list = split ("high;dark;wood;light;night", ";")
global_data_object.opposite_elementals
I think you get my naming convention~system now... lol

This topic is now closed. Topics are closed after 60 days of inactivity.

Support

Forums