A list of useful script attachment points

Discussion in 'Scripting' started by Agetian, Sep 21, 2005.

Remove all ads!
  1. Agetian

    Agetian Attorney General Administrator

    Joined:
    Aug 14, 2004
    Messages:
    2,526
    Likes Received:
    0
    Heya everyone,
    I'm posting a list of script attachment points (read: standard actions, SANs, or whatever else you call them) that can actually be used in ToEE. The rest are leftovers from Arcanum and are NOT called in ToEE (and are, therefore, useless). The information in this thread is provided and confirmed by Steve Moret, and is therefore official.

    The following script attachment points can be used in ToEE:
    san_enter_combat,
    san_exit_combat,
    san_first_heartbeat,
    san_heartbeat,
    san_will_kos,
    san_unlock,
    san_use,
    san_caught_thief,
    san_start_combat,
    san_end_combat,
    san_dying,
    san_leader_killing,
    san_join,
    san_disband,
    san_unlock_attempt,
    san_dialog
    san_get,
    san_drop,
    san_transfer,
    san_buy_object,
    san_insert_item,
    san_wield_off,
    san_wield_on,
    san_remove_item,
    san_destroy,
    san_trap,
    san_new_sector,
    san_new_map,
    san_examine

    It's not clear whether 'san_throw' can be used. It can be useful, but it can as well be useless (it seems to be called in the code, but it may as well be an Arcanum leftover). (didn't seem to work for either a thrown object (flask of oil, dart-like) nor for a PC throwing the dart - SA)

    All other script attachment points (for example, "san_catching_thief_pc") are useless in ToEE and were only used in Arcanum.

    I hope you find this information helpful. I'm still unsure as to whether make this sticky or not. Please tell me your suggestions about stickying this thread (I'll do it if you'll say that it's worthy enough to be stickied).
    - Agetian
     
    Last edited by a moderator: Apr 25, 2014
  2. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,651
    Likes Received:
    350
    No san_critical_hit? Denied...
     
  3. Agetian

    Agetian Attorney General Administrator

    Joined:
    Aug 14, 2004
    Messages:
    2,526
    Likes Received:
    0
    Hmm... can you prove that san_critical_hit is operational? Do you have a working script that can show that the attachment point works?
    If you do, please send it to me so I can show it to Steve and tell him that he's wrong :)

    - Agetian
     
  4. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,651
    Likes Received:
    350
    He does tend to be slightly incorrect in the details sometimes, but then the Project head guy can't be expected to memorise every line of code.

    As you know I tried it and got nowhere, based on the Arcanum stuff you sent (which says the Attachee is ummm weapons and armour or something) I was going to try to make an intelligent sword that chatted to you and carried on when he scored a critical hit (and abused you when you missed) - he could also praise you when first equipped of course with san_insert_item, I used that for memory to do the ioun stone animation - but I haven't tried it yet. If its just an Arcanum leftover that isn't going to work, I have to say it'll be pretty low on my to-do list.

    Steve was right about the other voices btw not being coded in, I dunno if I made this clear but I searched temple.dll a while back and there was no call to those dlg sections. But thats slightly off topic.
     
  5. Cerulean the Blue

    Cerulean the Blue Blue Meanie Veteran

    Joined:
    Apr 23, 2005
    Messages:
    1,962
    Likes Received:
    0
    Definately sticky this thread!

    The Sword of Life Stealing weapon bonus drains hp and gives them to the wielder on a critical hit. I am not sure how this is accomplised, though I am thinking it is hard coded. It shouldn't be too difficult to make a san_start_combat script that runs while combat is active and looks for critical hits, prompting an outburst of dialog when one is scored. It could do the same for critical misses, or randomly for any attack with that weapon.

    On a side note, one of my PnP characters once had a sword like that. It would rag on the wielder when s/he missed, and take all the credit when a hit was scored. And it hated being sheathed. Actually, it talked all the time, liked to sing when the party was trying to be stealthy, and was generally a pain in the ass. It even managed to get drunk once, though I can't remember how.
     
  6. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,001
    Likes Received:
    250
    Wow, you had a transexual character? Or was it a heamaphrodite? Edwin from BG perhaps?
     
  7. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,651
    Likes Received:
    350
    <sigh> must every thread debate Cerulean's gender? ;)
    Well, san_start_combat apparently doesn't work for NPCs once they are followers - I believe Steve said that to Agetian recently, and it confirms my total failures to get 'I need help / I'm fleeing' voices to work for NPC followers below certain HPs despite the fact I was copying the scripts for Lareth / Gremag etc who interrupt fights in similar situations, scripts that most definitely DO work. After all, what an NPC follower does in combat doesn't have to be scripted - the player calls the shots there.

    Whether it would work for a weapon - maybe. But I was only thinking of doing it for a weapon when I realised san_critical_hit wouldn't work for an NPC. A talking weapon is just a giggle (and probably too overpowered for KotB anyways, unless we make a talking +1 sword, but why would u?) Again, its on my to-do list to see if it works but nowhere near the top.
     
  8. Lord_Spike

    Lord_Spike Senior Member Veteran

    Joined:
    Mar 25, 2005
    Messages:
    3,151
    Likes Received:
    1
    I'm betting that the sword was trans-sexual...it would let both genders wield it!
    :p
    On a serious note, I sent a suggestion to Edwin for a nifty little blade to go somewhere in the module....just the thing for a personality. I'm sure he'll be letting you know about it.
     
  9. Cerulean the Blue

    Cerulean the Blue Blue Meanie Veteran

    Joined:
    Apr 23, 2005
    Messages:
    1,962
    Likes Received:
    0
    Interesting. I wonder what script attachment points do still work once a NPC joins the party. It would be interesting to find out, as well as whether or not they work for inanimate objects. If I have some time I will check this out.

    Well, I did make myself a target for it. Actually, I'm finding it rather funny now. Just no more talk of baseball, okay?
     
    Last edited: Sep 23, 2005
  10. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,651
    Likes Received:
    350
    Well san_enter_combat for one seems to fire the first time u go into combat with the NPC follower, but not again. Weird.
     
  11. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,651
    Likes Received:
    350
    Might just point out that extensive testing has revealed san_end_combat (which should fire every round at the end of combat) seems to be broken.

    And I couldn't get san_critical_hit working with the attachee as a weapon, I remember trying that a while back. No weapons with personalities in KotB :(
     
  12. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,651
    Likes Received:
    350
    THREADROMANCY :evil_laug

    Ag - I have recently been reading the Arcanum modding manual thing :eyebrow:

    I was wondering - what would you say to the idea of lifting the code from Arcanum's engine for missing script attachments - such as san_resurrect, san_catching_thief_pc etc - and inserting it in some blank area of ToEE's .dll, with a relevant link (if possible). Madness? Worth investigating? Too different to bother?
     
  13. Agetian

    Agetian Attorney General Administrator

    Joined:
    Aug 14, 2004
    Messages:
    2,526
    Likes Received:
    0
    @ Ted: Well, the real thing is - if I recall correctly, the code was never completely taken out of the engine - as a matter of fact, it's still there, for all the script attachments you're mentioning and for other Arcanum leftovers as well - the thing is, they were simply never recoded for compatibility with ToEE, and as such are broken (most of them just do nothing when used in ToEE, most likely because they are also disabled elsewhere in the code and are simply never called; re-enabling them so that they get actually called may have unpredictable results because their Arcanumish implementation is different from what ToEE uses; my guess is that using leftover Arcanum code in ToEE directly will result in a crash - I guess we had a chance to see some examples of that in our previous recent experiments ;)).

    There is one major difference between Arcanum and ToEE scripting engines - Arcanum used some internal scripting language, which was compiled into bytecode with a tool called ScrMaker. The game itself dealt with the bytecode and didn't use any external scripting language such as Python. ToEE uses Python for scripting, so calling conventions and methods of dealing with scripted code are totally different.

    While I haven't looked into it for quite a while, I'll investigate further to see if the code is still there and whether it'd be possible to adapt it for the ToEE scripting model without the source code. As soon as I get some spare time to spend on it (hopefully some time next week, probably closer to the weekend) I'll tell you what I find out.

    - Agetian
     
  14. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,651
    Likes Received:
    350
    Thanks Ag. No hurry, its just something that struck me: but if everything is in there and just has to be reconnected, I think it would be worth trying a few things :)
     
Our Host!