Profile for spyderbytes

Error message

Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /var/www/pied-piper.ermarian.net/includes/common.inc).

Recent posts

Pages

AuthorRecent posts
te_can_look_at strangeness in Blades of Avernum
Shock Trooper
Member # 4180
Profile #2
Ok, I think I figured it out. And if this is the case, this really needs to be mentioned in the docs somewhere, it seems to me.

In order for the player to be able to look at a terrain, it must BOTH be marked te_can_look_at AND have a terrain script on the space (even if it does nothing). Is that correct?

I actually intended to put a script on this particular terrain anyway (but just hadn't gotten around to it yet). But there are times when it seems it would be good to let a player "look" at something they can't really interact with, just to find out "what the heck is that thing, anyway?".

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
te_can_look_at strangeness in Blades of Avernum Editor
Shock Trooper
Member # 4180
Profile #0
Can you not make a terrain that uses a second icon (double tall) look-at-able? That's the only reason I can figure out for the "there's nothing unusual to look at" message, even though I used te_can_look_at = 1 in the definition.

If that's the case, is that going to be considered correct behavior, or is it a bug?

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
te_can_look_at strangeness in Blades of Avernum
Shock Trooper
Member # 4180
Profile #0
Can you not make a terrain that uses a second icon (double tall) look-at-able? That's the only reason I can figure out for the "there's nothing unusual to look at" message, even though I used te_can_look_at = 1 in the definition.

If that's the case, is that going to be considered correct behavior, or is it a bug?

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
A Quick Note About Graphics in Blades of Avernum Editor
Shock Trooper
Member # 4180
Profile #2
For posting them on the web, GIF will work, as will PNG as well. Any format that's "lossless" (and JPG is "lossy") is fine. For use in your scenario, yes, they will have to be BMP (on Windows) or PICT resources (on Mac).

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
A Quick Note About Graphics in Blades of Avernum
Shock Trooper
Member # 4180
Profile #2
For posting them on the web, GIF will work, as will PNG as well. Any format that's "lossless" (and JPG is "lossy") is fine. For use in your scenario, yes, they will have to be BMP (on Windows) or PICT resources (on Mac).

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
What articles would you like to see? in Blades of Avernum Editor
Shock Trooper
Member # 4180
Profile #14
Yeah, messaging was one thing I had thought about, but by all means, have at it. :) I think there are plenty of subjects to go around. Like "faking" item descriptions, making a new type of container, various forms of creature AI, repurposing graphics, special encounters... the list goes on. :) I'm sure some people might even like a tutorial on dialog that depends on the state of a SDF, or some other of the things that seem simple to the "code jockeys" among us.

That first (faking item descriptions) may be what I tackle first, unless someone would really like to see something else.

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
What articles would you like to see? in Blades of Avernum
Shock Trooper
Member # 4180
Profile #14
Yeah, messaging was one thing I had thought about, but by all means, have at it. :) I think there are plenty of subjects to go around. Like "faking" item descriptions, making a new type of container, various forms of creature AI, repurposing graphics, special encounters... the list goes on. :) I'm sure some people might even like a tutorial on dialog that depends on the state of a SDF, or some other of the things that seem simple to the "code jockeys" among us.

That first (faking item descriptions) may be what I tackle first, unless someone would really like to see something else.

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
What articles would you like to see? in Blades of Avernum Editor
Shock Trooper
Member # 4180
Profile #12
If anyone is interested in articles of a more technical nature (tutorials or how to's, etc.), I'd be willing to throw a few into the pot. Just let me know what subjects you'd like to see covered. I'd hate to spend time writing one that's either too simple or too complicated for what people need. :)

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
What articles would you like to see? in Blades of Avernum
Shock Trooper
Member # 4180
Profile #12
If anyone is interested in articles of a more technical nature (tutorials or how to's, etc.), I'd be willing to throw a few into the pot. Just let me know what subjects you'd like to see covered. I'd hate to spend time writing one that's either too simple or too complicated for what people need. :)

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
scenario without reset? in Blades of Avernum Editor
Shock Trooper
Member # 4180
Profile #4
Ah... sorry, the Hawke's mansion reference didn't mean anything to me (and so I guess I should've kept my mouth shut ;) ).

Yeah, if the intent is some place where one party can drop stuff and another party can come pick it up, then, no, it's not possible. As Eldiran pointed out, the SDFs will be reset.

I was thinking of a centralized drop spot within a single scenario, where the party could return and drop off excess baggage. In that case, the SDFs would be in the save file, and it would work.

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
scenario without reset? in Blades of Avernum
Shock Trooper
Member # 4180
Profile #4
Ah... sorry, the Hawke's mansion reference didn't mean anything to me (and so I guess I should've kept my mouth shut ;) ).

Yeah, if the intent is some place where one party can drop stuff and another party can come pick it up, then, no, it's not possible. As Eldiran pointed out, the SDFs will be reset.

I was thinking of a centralized drop spot within a single scenario, where the party could return and drop off excess baggage. In that case, the SDFs would be in the save file, and it would work.

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
scenario without reset? in Blades of Avernum Editor
Shock Trooper
Member # 4180
Profile #2
Actually, you might be able to rig something with SDFs, by stuffing the item number of whatever was dropped into a flag. You'd have to set aside a "block" of SDFs to hold item numbers (so no open-ended storage, but if you're willing to give up enough SDFs you could make storage capability rather high).

Be a major PITA to script, though...

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
scenario without reset? in Blades of Avernum
Shock Trooper
Member # 4180
Profile #2
Actually, you might be able to rig something with SDFs, by stuffing the item number of whatever was dropped into a flag. You'd have to set aside a "block" of SDFs to hold item numbers (so no open-ended storage, but if you're willing to give up enough SDFs you could make storage capability rather high).

Be a major PITA to script, though...

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
Calls that we wish existed in Blades of Avernum Editor
Shock Trooper
Member # 4180
Profile #54
I'll try to explain it, Vent. For various reasons, designers often need to "loop" through the party, doing something to/for each member of the group. The only way this is possible is because we're guaranteed, by Jeff's implementation, that the party will always be characters 0 through 5. Character 0 is the first party member, 1 is the second, 2 is the third, 3 is the fourth.

If you add an NPC to the party, even though that NPC already has his own char number, you can ALSO refer to that char as Character 4. If you add a second, it's Character 5.

Now, say I've designed a town and the very first NPC I placed in it was a giant spider. The moment I place it, the editor assigns it character number 6. I can refer to that spider in all sorts of calls simply by specifying character 6.

Now, let's say Jeff decides you're right and he needs to add capability for another NPC to join the party. The party is currently referred to by numbers 0 through 5, so this new one will obviously need to be referred to by 6 (to keep from breaking the code people are alredy using to loop through all the party members in a while loop). But then, my giant spider in my first town would be treated as a party member by those loops, because he's character 6.

There are ways to get around it, of course; but none that wouldn't require everyone to go back and change code to keep it working the way it's supposed to.

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
Calls that we wish existed in Blades of Avernum
Shock Trooper
Member # 4180
Profile #54
I'll try to explain it, Vent. For various reasons, designers often need to "loop" through the party, doing something to/for each member of the group. The only way this is possible is because we're guaranteed, by Jeff's implementation, that the party will always be characters 0 through 5. Character 0 is the first party member, 1 is the second, 2 is the third, 3 is the fourth.

If you add an NPC to the party, even though that NPC already has his own char number, you can ALSO refer to that char as Character 4. If you add a second, it's Character 5.

Now, say I've designed a town and the very first NPC I placed in it was a giant spider. The moment I place it, the editor assigns it character number 6. I can refer to that spider in all sorts of calls simply by specifying character 6.

Now, let's say Jeff decides you're right and he needs to add capability for another NPC to join the party. The party is currently referred to by numbers 0 through 5, so this new one will obviously need to be referred to by 6 (to keep from breaking the code people are alredy using to loop through all the party members in a while loop). But then, my giant spider in my first town would be treated as a party member by those loops, because he's character 6.

There are ways to get around it, of course; but none that wouldn't require everyone to go back and change code to keep it working the way it's supposed to.

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
are cloaks not "equipped"? in Blades of Avernum Editor
Shock Trooper
Member # 4180
Profile #0
When I call char_has_item_of_class_equip() with a class I gave a particular type of cloak, it's always returning FALSE, even when it should (to my thinking, at least) return TRUE. I know the class of my custom item is set right, because a check of has_item_of_class() behaves correctly.

So... is a cloak not considered "equipped" when it's being worn? Or do I have some insidious bug somewhere that's disguising itself as this call not working properly?

EDIT: I've coded around this by directly checking item_type_in_slot() for slot 10 (which answers the 'insidious bug' question). Still, I'd be interested in knowing if cloaks are not considered "equipped" or if the call is broken.

[ Tuesday, April 20, 2004 02:04: Message edited by: spyderbytes ]

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
are cloaks not "equipped"? in Blades of Avernum
Shock Trooper
Member # 4180
Profile #0
When I call char_has_item_of_class_equip() with a class I gave a particular type of cloak, it's always returning FALSE, even when it should (to my thinking, at least) return TRUE. I know the class of my custom item is set right, because a check of has_item_of_class() behaves correctly.

So... is a cloak not considered "equipped" when it's being worn? Or do I have some insidious bug somewhere that's disguising itself as this call not working properly?

EDIT: I've coded around this by directly checking item_type_in_slot() for slot 10 (which answers the 'insidious bug' question). Still, I'd be interested in knowing if cloaks are not considered "equipped" or if the call is broken.

[ Tuesday, April 20, 2004 02:04: Message edited by: spyderbytes ]

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
Article - Items: Balance and Cool Stuff in Blades of Avernum Editor
Shock Trooper
Member # 4180
Profile #17
Good point. :)

Actually, I decided to sidestep the issue and let the party find a cache of the distinctive cloaks the guards wear, instead. The whole idea is to give the party a disguise that's likely to work if they're spotted from 50 yards, but hasn't a chance of working if they're face-to-face with a real guard. :)

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
Article - Items: Balance and Cool Stuff in Blades of Avernum
Shock Trooper
Member # 4180
Profile #17
Good point. :)

Actually, I decided to sidestep the issue and let the party find a cache of the distinctive cloaks the guards wear, instead. The whole idea is to give the party a disguise that's likely to work if they're spotted from 50 yards, but hasn't a chance of working if they're face-to-face with a real guard. :)

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
Text Bubbles and Cutscenes in Blades of Avernum Editor
Shock Trooper
Member # 4180
Profile #1
What I do to put "Zzzz..." bubbles on a sleeping character in one of my towns is something like:

if ((get_current_tick() % 2) == 0) {
// put up your bubble here
}

That makes it appear every other 'tick'. Changing the modulus (of course) changes the number of turns between it showing up.

In a cutscene, a string of text bubbles would look something like this:

text_bubble_on_char(6, "I'm talking...");
force_instant_terrain_redraw(); // draw it
pause(20); // give player time to read it
text_bubble_on_char(6, ""); // clear last bubble
text_bubble_on_char(6, "Saying something else...");
force_instant_terrain_redraw();
pause(20);

etc.

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
Text Bubbles and Cutscenes in Blades of Avernum
Shock Trooper
Member # 4180
Profile #1
What I do to put "Zzzz..." bubbles on a sleeping character in one of my towns is something like:

if ((get_current_tick() % 2) == 0) {
// put up your bubble here
}

That makes it appear every other 'tick'. Changing the modulus (of course) changes the number of turns between it showing up.

In a cutscene, a string of text bubbles would look something like this:

text_bubble_on_char(6, "I'm talking...");
force_instant_terrain_redraw(); // draw it
pause(20); // give player time to read it
text_bubble_on_char(6, ""); // clear last bubble
text_bubble_on_char(6, "Saying something else...");
force_instant_terrain_redraw();
pause(20);

etc.

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
Article - Items: Balance and Cool Stuff in Blades of Avernum Editor
Shock Trooper
Member # 4180
Profile #15
Along the lines of this discussion, I have a town where the party must avoid being seen by the guards and certain officials. At one point, they find a cache of guard uniforms, and have the chance to (imperfectly) disguise themselves.

To the discussion at hand: I can't decide whether it would be better to make the uniforms really nice protection (and quite encumbering for the low-level party you're supposed to be playing the scenario with), or appropriate to the low-level party (e.g., essentially fine leather-ish with a different icon). For story purposes, they'll want to get out of them as quickly as they can, either way.

Any thoughts?

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
Article - Items: Balance and Cool Stuff in Blades of Avernum
Shock Trooper
Member # 4180
Profile #15
Along the lines of this discussion, I have a town where the party must avoid being seen by the guards and certain officials. At one point, they find a cache of guard uniforms, and have the chance to (imperfectly) disguise themselves.

To the discussion at hand: I can't decide whether it would be better to make the uniforms really nice protection (and quite encumbering for the low-level party you're supposed to be playing the scenario with), or appropriate to the low-level party (e.g., essentially fine leather-ish with a different icon). For story purposes, they'll want to get out of them as quickly as they can, either way.

Any thoughts?

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
error in lockbox.txt script in Blades of Avernum Editor
Shock Trooper
Member # 4180
Profile #0
The lockbox.txt script from the Sample Scripts folder of the 1.0.1 Editor (haven't checked the 1.0) is missing a semicolon at the end of line 59. (i_am_locked = 0)

For convenience, here's the entire script, corrected. Just replace the existing script with this:

// lockbox.txt - This is the script you can place on a chest, desk, etc.
// to lock it. Then only a character with adequate Tool Use skill or
// the correct key could open it.

// Memory Cells -
// 0 - Lock level. If left at 0, box is unlocked. Otherwise, the tool
// use needed to get it open. If this is set to a really high number (say, 200),
// it can't be unlocked by normal means.
// 1 - Key needed. If left at 0, no special item helps unlock the box. Otherwise,
// if that party has this special item, the box automatically unlocks.
// 2,3 - Coordinates for a stuff done flag. If these are 0 and 0, ignored. Otherwise,
// the stuff done flag is set to 1 when the door is unlocked. If the flag is non-zero,
// than when the party enters this zone, the door will become unlocked.

beginterrainscript;

variables;
short cur_terrain;
short i_am_locked = 0;

short choice;
body;

beginstate INIT_STATE;
if (get_memory_cell(0) > 0) {
i_am_locked = 1;
set_mechanism_difficulty(get_memory_cell(0));

if ((get_memory_cell(2) > 0) || (get_memory_cell(3) > 0)) {
if (get_sdf(get_memory_cell(2),get_memory_cell(3)) > 0)
i_am_locked = 0;
}
}

break;

beginstate START_STATE;
break;

beginstate SEARCH_STATE;
if ((get_memory_cell(2) > 0) || (get_memory_cell(3) > 0)) {
if (get_sdf(get_memory_cell(2),get_memory_cell(3)) > 0)
i_am_locked = 0;
}

if (i_am_locked) {
block_entry(1);

if ((get_memory_cell(2) > 0) || (get_memory_cell(3) > 0)) {
if (get_sdf(get_memory_cell(2),get_memory_cell(3)) > 0)
i_am_locked = 0;
}

if (i_am_locked) {
print_str_color("Unlock Box: The container is locked.",2);
if (get_memory_cell(1) > 0) {
if (has_special_item(get_memory_cell(1)) > 0) {
print_str_color(" One of your keys fits. You unlock the box.",2);
i_am_locked = 0;
}
else print_str_color(" You don't have the key that fits it.",2);
}
}

if (i_am_locked) {
if (run_pick_lock(get_mechanism_difficulty()) == FALSE) {
print_str_color(" Nobody has high enough Tool Use skill to get it open.",2);
end();
}
i_am_locked = 0;
print_str_color(" You manage to pick the lock.",2);
if ((get_memory_cell(2) > 0) || (get_memory_cell(3) > 0))
award_party_xp(BASE_TRAP_XP,1 + 2 * get_mechanism_difficulty());
}

if (i_am_locked == 0) {
if ((get_memory_cell(2) > 0) || (get_memory_cell(3) > 0))
set_flag(get_memory_cell(2),get_memory_cell(3),1);
block_entry(0);
play_sound(-58);
}
}
break;

beginstate UNLOCK_SPELL_STATE;
if (i_am_locked)
print_str_color("Unlock Doors: The spell doesn't affect locked containers.",2);
break;

beginstate DISPEL_BARRIER_STATE;
if (i_am_locked) {
print_str_color("Dispel Barrier: The spell fails to affect a locked containers.",2);
}
break;


--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
error in lockbox.txt script in Blades of Avernum
Shock Trooper
Member # 4180
Profile #0
The lockbox.txt script from the Sample Scripts folder of the 1.0.1 Editor (haven't checked the 1.0) is missing a semicolon at the end of line 59. (i_am_locked = 0)

For convenience, here's the entire script, corrected. Just replace the existing script with this:

// lockbox.txt - This is the script you can place on a chest, desk, etc.
// to lock it. Then only a character with adequate Tool Use skill or
// the correct key could open it.

// Memory Cells -
// 0 - Lock level. If left at 0, box is unlocked. Otherwise, the tool
// use needed to get it open. If this is set to a really high number (say, 200),
// it can't be unlocked by normal means.
// 1 - Key needed. If left at 0, no special item helps unlock the box. Otherwise,
// if that party has this special item, the box automatically unlocks.
// 2,3 - Coordinates for a stuff done flag. If these are 0 and 0, ignored. Otherwise,
// the stuff done flag is set to 1 when the door is unlocked. If the flag is non-zero,
// than when the party enters this zone, the door will become unlocked.

beginterrainscript;

variables;
short cur_terrain;
short i_am_locked = 0;

short choice;
body;

beginstate INIT_STATE;
if (get_memory_cell(0) > 0) {
i_am_locked = 1;
set_mechanism_difficulty(get_memory_cell(0));

if ((get_memory_cell(2) > 0) || (get_memory_cell(3) > 0)) {
if (get_sdf(get_memory_cell(2),get_memory_cell(3)) > 0)
i_am_locked = 0;
}
}

break;

beginstate START_STATE;
break;

beginstate SEARCH_STATE;
if ((get_memory_cell(2) > 0) || (get_memory_cell(3) > 0)) {
if (get_sdf(get_memory_cell(2),get_memory_cell(3)) > 0)
i_am_locked = 0;
}

if (i_am_locked) {
block_entry(1);

if ((get_memory_cell(2) > 0) || (get_memory_cell(3) > 0)) {
if (get_sdf(get_memory_cell(2),get_memory_cell(3)) > 0)
i_am_locked = 0;
}

if (i_am_locked) {
print_str_color("Unlock Box: The container is locked.",2);
if (get_memory_cell(1) > 0) {
if (has_special_item(get_memory_cell(1)) > 0) {
print_str_color(" One of your keys fits. You unlock the box.",2);
i_am_locked = 0;
}
else print_str_color(" You don't have the key that fits it.",2);
}
}

if (i_am_locked) {
if (run_pick_lock(get_mechanism_difficulty()) == FALSE) {
print_str_color(" Nobody has high enough Tool Use skill to get it open.",2);
end();
}
i_am_locked = 0;
print_str_color(" You manage to pick the lock.",2);
if ((get_memory_cell(2) > 0) || (get_memory_cell(3) > 0))
award_party_xp(BASE_TRAP_XP,1 + 2 * get_mechanism_difficulty());
}

if (i_am_locked == 0) {
if ((get_memory_cell(2) > 0) || (get_memory_cell(3) > 0))
set_flag(get_memory_cell(2),get_memory_cell(3),1);
block_entry(0);
play_sound(-58);
}
}
break;

beginstate UNLOCK_SPELL_STATE;
if (i_am_locked)
print_str_color("Unlock Doors: The spell doesn't affect locked containers.",2);
break;

beginstate DISPEL_BARRIER_STATE;
if (i_am_locked) {
print_str_color("Dispel Barrier: The spell fails to affect a locked containers.",2);
}
break;


--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00

Pages