Jump to content

temnix

Members (r)
  • Posts

    1,472
  • Joined

  • Last visited

Everything posted by temnix

  1. I think the question to ask should be, just how does the engine interpret !OnCreation()? Have you tried this trigger in different code, in a creature script, where the results may be different? Because in BALDUR it never returns true. But you shouldn't worry about other mods putting blocks that don't end in Continue() on top of yours. You have no control over that, if a modder screws up in this very basic way. Also, as an experimental solution, you could try putting your must-run OnCreation() stuff into a script for the override level and target Player1 with it. The main character has no special override script like companions, so it's safe - unless again someone beats you to that idea. But this is like the prisoner's dilemma, there is just no knowing what others will do.
  2. How many useless excuses for humanity are banging about these boards? Go masturbate with a mop or something.
  3. I'm interested in shouting vis-a-vis silence and deafness. I remember reading somewhere that silenced creatures are not supposed to be able to shout, but in my testing they can. Deafened creatures are not supposed to be able to hear shouts, and they do. Also how does the Shadows of Amn engine register that a creature is deaf? The guide here says that only EE keeps the spell state DEAFENED on the creature.
  4. @CamDawg What is the point of those screenshots? For a guy who's not not lazy you have plenty of time on your hands. I already acknowledged that I was mistaken about dropped items. I simply had not noticed that the scrolls and armor were not assigned slots. As for the experience value, here I went by the BG Wiki. I'm not going to look for a link to that page, if you'll excuse me.
  5. It's possible to manipulate a creature's inventory in EE, including armor in combat, from the script of a summoned minion. Unequipping an item would take the name of the item to be moved off the paperdoll, it is too specific. You can, however, free up a slot by equipping a non-existing item there. For this the script should have commands such as: XEquipItem("",LastSummonerOf,SLOT_WEAPON0,EQUIP) or XEquipItem("",LastSummonerOf,SLOT_ARMOR,EQUIP) What's great about this is that there does not have to be a real item to put in the slot, not even a dud item. An open slot in the backpack makes a difference, though. If there is one, the item to be taken off the figure, weapon or armor in this case, will be dropped there. If the backpack is all taken up, the item will remain in the slot but be considered unequipped. It stops applying its effects, but the avatar change from "Item appearance" remains. Also, since this is done by a minion and without ActionOverride, the dressing-undressing does not interrupt the character's acting or walking.
  6. I was actually wrong about this. It's surprising. I did not notice that although, unmodded, he has two suits of armor and a few scrolls, including protection from magic, they are not assigned slots in the inventory, so he does not drop them. He only drops a robe of fire resistance and a dagger. The point about Beamdog's hand-holding remains, but in this case they didn't do anything. Except double his XP worth from 75 to 150, in case the party decides to kill this wounded fugitive before the kobolds do.
  7. I have a mod called "Charmed, I'm Sure" that makes charming people a more sustainable choice. If they were neutral before the charming, they revert to neutrality after the spell wears off, but some time later may turn hostile, as they think back on the situation. Less frequently when dealing with a high-level party. This way the player can go around making life easier with charm, but at a danger of losing access to stores and conversations.
  8. What would really be worth having in that conversation is an option to help Carsa. Cast Remove Curse on her, which should let her give up on the jar. And some modder who is interested in role-playing - the naive fool who has no place here - may yet do that.
  9. I'm trying to make changes, add some new features. Balance one thing against the other. When I add a new item, I ask myself where I should make it available. Where it should be sold. Where it would make sense to stash some freebies as well. In a container, possibly. To get people to look around again instead of going through BG on powergaming zombie autopilot. Not too early, not too easily available. Hide it here, or there. All these considerations are bouncing off between the walls of my head like tennis balls, and then WHAM, I run into another case of egregious hand-holding by Beamdog, who really insists on stuffing expensive, overpowered loot in places where the softest-noggined player is going to run into it, doing nothing to deserve it. Make gameplay blatantly obvious, safe like snuggling with a eunuch and sugary sweet like a lollipop handout - that's Beamdog's way. The latest example? Galtok, that gnome who is running away from kobolds in the south of Nashkel's mine exterior. In the original BG he just cried for help and got shot in short order. What did Beamdog do? Boost his XP value three-fold, so that the party can kill him and get experience with no effort (of course, he should be an innocent, I don't know if he was in the original, but he ought to be by every right), boosted his carried gold to 153 gp (again, I don't know how much he carried with Bioware, but practically no one carries THAT much), gave him no fewer than two suits of armor (worn one on top of the other, I guess), several spell scrolls, a robe of fire resistance, too (I don't remember him dropping it before), but best of all, a scroll of protection from magic! Those scrolls were a bad idea of Bioware's to begin with. If there is one item that's overpowered in the original game, it's them. They block everything and their protection lasts a long, long time. You can laugh at whole bands of wizards and priests with just one scroll and wade through traps. Any number of these scrolls in the game is a mistake, in my opinion, but at least they weren't common. And what did Beamdog do in this case? Put a free one in the inventory of an NPC with 2 hit points, who will die a moment after his conversation ends and unload the goodies! And this kind of shit is everywhere. Players are used to these handouts, if they play the Enhanced Edition, which is what I make most mods for, just because I want the improved toolset features. It's only natural. Beamdog could understand that they have the present of these games in their hands. And all that company does is add more butter! What kind of innovation, new accents or rebalancing are possible when every angle of gameplay is covered with foolish, easy, stupid, lazy lard?
  10. There are no problems with Kahrk. Except in the concept of stashing an ogre mage in a bottle. He is no a genie or any spirit, and for that matter ogre magi are not that powerful to bother with. They have something like 7 Hit Dice and a few spell-like abilities, no real memorization of any sort. Also they are an oriental type of creature, taken out of Japanese or Chinese folklore, hence the armor they wear. It was a poor pick from the Monstrous Manual to take something appropriate for Kara-Tur or Shou-Lung and drop not a few of them on the Sword Coast. Bioware must have wanted some kind of spell-casting non-human, and this was their choice. If we let this slide and pretend that ogre magi are native, then Kahrk may be a particularly powerful and dangerous one, as he himself says, who warranted trapping in a special vessel. How did it happen? Who knows. Elminster did it. Thankfully, the Forgotten Realms does not have a streamlined magic system with cookie-cut categories of what is possible and what is not. And thankfully, neither did Baldur's Gate the game. A large part of its charm, though also some annoyance, is that it was done off-handedly, imprecisely, by inspiration rather than careful plotting. Had Bioware fretted about balance the way Beamdog does (why do they share the first letter?), we would have SoD instead of BG... Few people appreciate genuine, easy-going creativity, however, as this conversation illustrates. They have no notion of syncopating either, when in a smooth-flowing chain of interaction there is suddenly Noober, or Darryl and the others, or Kahrk. How else but by giving him some superpowers would he be marked as "the mightest of the ogre magi"? What would would mark him as special and make sense, in your opinion? +2 to saving throws? Oh, that would be so hot. This encounter would be a real design problem only if it absolutely ruined the game and killed the party. But you can run away from Kahrk and wait out his Globe, you can hide in the Firewine Dungeon, or drink a potion of absorption that will make his lightning bolts harmless. Maybe this encounter will prove deadly the first time around, but then what? You reload the game and try a new approach the next time. Baldur's Gate was not meant to be played in "iron man" mode nor solo. Stay sane and use the reload button when you must. There were deadly and difficult encounters in Fallout too, even random ones. What is your conclusion, that that game needs to be rewritten and the rifle barrels all bent to make every fight level-curving and manageable? The new Fallouts aim for that, and who the hell cares about them.
  11. I have a piece of equipment that can store gold. This is done through a dialogue that is started via the "conversable" button. When the gold is loaded, the item becomes too cumbersome for monks and kensai to wear. I can exclude them, however, then the button through which gold can be taken back out also disappears for them. This doesn't make sense by itself, but the player could give the item to somebody else - unless he plays in solo mode. Then he is going to put the gold inside (the item is replaced with the heavy version) and not be able to take it back out. What are my options for making an item unequippable but usable? Anything? The effect "Disallow item" sounds like it could let the button remain, but it isn't an item property, it must be imposed from the outside by a special spell, and then some characters may end up not covered and so on, this is too loose.
  12. I have no money, but it's gratifying that someone is making or trying to make something original. Here we are, or here I am, porking around a great but very old videogame, inventing features and whatnots, when people are surging ahead. I watched the preview and I hope the game ends up with a strong plot. Focus is important. Relationships with crew members, item crafting, riddle-solving are nice, but that's not what humanity wants to go to space for. Also... well, no, no also. Focus is important, and any little nitpicking I might do is just irrelevant, let's face it. Good luck.
  13. I'm making a mechanic where characters can carry around a lot of stashed gold, hidden in an item, separate from both party gold and the creature gold stat, and recover it from the item whenever they want. Gold can be stashed in increments: 100, 200, 500, 1000 or 2000. However, when the character is hit in a fight wearing the item, there is a chance that he will lose some of the coins and get back less cash later, when he opens it up to transfer the money to the party purse. I need to take account of this loss and factor it in later. The items are not unique, there can be several of them in a character's possession and they can trade them around, so obviously I can't do it on a per-item basis or even per-character. My idea is to do it on the whole-party level. Whenever someone using this item is hit (a contingency), a global gets decreased, from zero into the negative. Later, when the item is opened up and its extraction dialogue appears, a global is set corresponding to the amount of stashed gold (100 and so on), then the AddGlobals action is used to call in the loss global and adjust the first. (There is a potential problem here that the first global may careen into the negative if too much had been knocked out, but that's not so important.) According to plan, on the heels of AddGlobals will follow GivePartyGoldGlobal, which will produce the right amount of gold. The problem is that GivePartyGoldGlobal isn't working. I'm trying it with a simple script, which takes into account the detail that the gold is supposedly taken from the script runner's gold stat. At least, the Gibberlings guide to that action so says, I don't have the impression that this is a well-verified statement. Anyway, when NPC join the party, they surrender their gold stat into the party purse, so they are all at 0. Therefore I give them a thousand in this script, then I want them to shell out that much for the party's benefit. IF True() THEN RESPONSE #1 ChangeStat(Myself,GOLD,1000,SET) SetGlobal("GOLD","GLOBAL",1000) SmallWait(1) GivePartyGoldGlobal("GOLD","GLOBAL") Wait(10) END Nothing happens. Anybody know why? I have a list of people I'm going to have to thank, by the way, in the mod thread, for having helped at some point about some topic. A hit list, so to speak.
  14. So it's a mod. I thought it was some kind of special program. All right, thanks. The condition FILE_EXISTS ~tobex_ini/tobexcore.ini should do it.
  15. One of the items I'm working on has a property which, according to Near Infinity, only applies if the mod is installed on an Enhanced Edition or ToB Extender - "Toggle critical hits." I have never used ToBEx for anything, because I play EE versions, but I try to make my items compatible with the "classic" engine - Shadows of Amn and its reverse application, Tutu. Well, it is easy to put in a check for SoA and Tutu, for ToB as well, and install a less sophisticated version of the item, but how can I write in a condition for ToBEx? It's not one of the GAME_IS constants, and though I could simply check this box in both versions, there is no harm in that, only the games where this property does anything (ToBEx and EE) should mention it in the item description.
  16. Why does it happen? Well - I will certainly try it. Thank you.
  17. I'm making an item that will let the character examine the inventory of another creature. Its items will be listed one by one in the bottom window. For this I wrote a starter script with some basic conditions and went on to go through all ITM files and add a piece to that file for each, taken from a template: IF Global("FIRST","LOCALS",1) Global("%item%","LOCALS",0) < - This resource name is filled in from the tp2 file HasItem("%item%",LastSummonerOf) < - The summoner of the invisible minion who runs this script, i.e. the target THEN RESPONSE #5 SetGlobal("%item%","LOCALS",1) < - To avoid displaying the line for this item a second time SetToken("ITEM-NAME",%name-string%) < - The unidentified name of the item, taken from the tp2 SmallWait(2) DisplayString(LastHeardBy,@652) < - The string with the <ITEM-NAME> token inside, shouts are used for targeting Continue() RESPONSE #1 < - Alternative strings for variety SetGlobal("%item%","LOCALS",1) SetToken("ITEM-NAME",%name-string%) SmallWait(2) DisplayString(LastHeardBy,@653) Continue() RESPONSE #1 SetGlobal("%item%","LOCALS",1) SetToken("ITEM-NAME",%name-string%) SmallWait(2) DisplayString(LastHeardBy,@654) Continue() RESPONSE #1 < - The chance to omit the info for this item, the observation device is not precise SetGlobal("%item%","LOCALS",1) Continue() END The problem is that the information should be shown in order, instead the info about the first (highest) item on the list that is found is skipped and the info about the last (lowest) item the target carries is doubled. The script that checks for this ends up with blocks for every one of thousands of items, and I thought that the length somehow goes to the engine's head. But when I wrote a shorter version of the script, just for the items Tiax has on him, this kept happening. Tiax in my game is carrying this equipment: And the script for him is: IF Global("FIRST","LOCALS",1) Global("BULL01","LOCALS",0) HasItem("BULL01",LastSummonerOf) // Bullet THEN RESPONSE #5 SetGlobal("BULL01","LOCALS",1) SetToken("ITEM-NAME",6633) // Bullet SmallWait(3) DisplayString(LastHeardBy,40011) // <ITEM-NAME>... Continue() RESPONSE #1 SetGlobal("BULL01","LOCALS",1) SetToken("ITEM-NAME",6633) // Bullet SmallWait(3) DisplayString(LastHeardBy,40012) // <ITEM-NAME> besides... Continue() RESPONSE #1 SetGlobal("BULL01","LOCALS",1) SetToken("ITEM-NAME",6633) // Bullet SmallWait(3) DisplayString(LastHeardBy,40027) // What is that? <ITEM-NAME>? Continue() RESPONSE #1 SetGlobal("BULL01","LOCALS",1) Continue() END IF Global("FIRST","LOCALS",1) Global("SW1H01","LOCALS",0) HasItem("SW1H01",LastSummonerOf) // Bastard Sword THEN RESPONSE #5 SetGlobal("SW1H01","LOCALS",1) SetToken("ITEM-NAME",6646) // Bastard Sword SmallWait(3) DisplayString(LastHeardBy,40011) // <ITEM-NAME>... Continue() RESPONSE #1 SetGlobal("SW1H01","LOCALS",1) SetToken("ITEM-NAME",6646) // Bastard Sword SmallWait(3) DisplayString(LastHeardBy,40012) // <ITEM-NAME> besides... Continue() RESPONSE #1 SetGlobal("SW1H01","LOCALS",1) SetToken("ITEM-NAME",6646) // Bastard Sword SmallWait(3) DisplayString(LastHeardBy,40027) // What is that? <ITEM-NAME>? Continue() RESPONSE #1 SetGlobal("SW1H01","LOCALS",1) Continue() END IF Global("FIRST","LOCALS",1) Global("LEAT01","LOCALS",0) HasItem("LEAT01",LastSummonerOf) // Leather Armor THEN RESPONSE #5 SetGlobal("LEAT01","LOCALS",1) SetToken("ITEM-NAME",2890) // Leather Armor SmallWait(3) DisplayString(LastHeardBy,40011) // <ITEM-NAME>... Continue() RESPONSE #1 SetGlobal("LEAT01","LOCALS",1) SetToken("ITEM-NAME",2890) // Leather Armor SmallWait(3) DisplayString(LastHeardBy,40012) // <ITEM-NAME> besides... Continue() RESPONSE #1 SetGlobal("LEAT01","LOCALS",1) SetToken("ITEM-NAME",2890) // Leather Armor SmallWait(3) DisplayString(LastHeardBy,40027) // What is that? <ITEM-NAME>? Continue() RESPONSE #1 SetGlobal("LEAT01","LOCALS",1) Continue() END IF Global("FIRST","LOCALS",1) Global("SLNG01","LOCALS",0) HasItem("SLNG01",LastSummonerOf) // Sling THEN RESPONSE #5 SetGlobal("SLNG01","LOCALS",1) SetToken("ITEM-NAME",6733) // Sling SmallWait(3) DisplayString(LastHeardBy,40011) // <ITEM-NAME>... Continue() RESPONSE #1 SetGlobal("SLNG01","LOCALS",1) SetToken("ITEM-NAME",6733) // Sling SmallWait(3) DisplayString(LastHeardBy,40012) // <ITEM-NAME> besides... Continue() RESPONSE #1 SetGlobal("SLNG01","LOCALS",1) SetToken("ITEM-NAME",6733) // Sling SmallWait(3) DisplayString(LastHeardBy,40027) // What is that? <ITEM-NAME>? Continue() RESPONSE #1 SetGlobal("SLNG01","LOCALS",1) Continue() END IF Global("FIRST","LOCALS",1) Global("STAF01","LOCALS",0) HasItem("STAF01",LastSummonerOf) // Quarterstaff THEN RESPONSE #5 SetGlobal("STAF01","LOCALS",1) SetToken("ITEM-NAME",6351) // Quarterstaff SmallWait(3) DisplayString(LastHeardBy,40011) // <ITEM-NAME>... Continue() RESPONSE #1 SetGlobal("STAF01","LOCALS",1) SetToken("ITEM-NAME",6351) // Quarterstaff SmallWait(3) DisplayString(LastHeardBy,40012) // <ITEM-NAME> besides... Continue() RESPONSE #1 SetGlobal("STAF01","LOCALS",1) SetToken("ITEM-NAME",6351) // Quarterstaff SmallWait(3) DisplayString(LastHeardBy,40027) // What is that? <ITEM-NAME>? Continue() RESPONSE #1 SetGlobal("STAF01","LOCALS",1) Continue() END IF True() THEN RESPONSE #2 DisplayString(LastHeardBy,40028) // That's it, I believe. DestroySelf() RESPONSE #2 DisplayString(LastHeardBy,40029) // ...and nothing more. DestroySelf() RESPONSE #2 DisplayString(LastHeardBy,40030) // Nothing more to make out. DestroySelf() END The result is "Quarterstaff" twice before the end and no mention of "Bullet." Rearrange the checks any way, and the first-last items switch places. If I make Tiax drop the quarterstaff, it is the sling that gets announced twice. Does anybody have a clue why the engine cycles the checks in this manner?
  18. How is it people are playing such a game and have no patience to go around and look? Everything must be served them on a silver platter.
  19. I want characters to cast a custom spell (of the priest type) at their normal level, which should be the cleric (or druid) level. Well, it works for druids and probably for clerics, but not for Minsc at level 8, already able to cast priest spells. There is nothing different about this spell, the ranger class must be the reason. The spell's ability is for the 5th level. Who knows what is going on there? When is Minsc going to qualify as a 5th-level priest? For the purposes of casting level.
  20. That looks awesome, actually. You couldn't get that effect otherwise.
  21. There are two animations I would like to use to give the Horn of Valhalla's barbarians a more impressive look. The BAMs are either for BARBARIAN_ICASARACHT (I'm not sure what that is) or BARBARIAN_WARRIOR_BROWN (_TAN, _RED). Their BAMs' names start with MBA1 and thereabouts. For the three horns, three colored varieties, it's a match. Any other barbarians in that game series with special animations are also a possibility. I'll give you credit in the mod.
  22. Thanks, I will try that. After trying: excellent! It works like a charm.
  23. A plug, eh? Well, it could be good. I only got on board of the Might&Magic series with part VI, where, I take it, it's a different world.
  24. That's interesting. A bit of an overkill for the purpose, I think, but still. Besides, how would this handle dual-wielding different weapons? Anyway, I settled for on-hit sounds, but your second idea sounds good. If the fake melee weapon doesn't behave differently from the real thing in other respects. Why not convert all melee weapons to this scheme, in fact? And get rid of the unalterable "None" projectile for them. Ranged-type weapons put some penalties on their holders when attacking in close combat, though, don't they?
×
×
  • Create New...