Jump to content


Avenger_teambg's Content

There have been 88 items by Avenger_teambg (Search limited from 19-May 23)


By content type

See this member's


Sort by                Order  

#595303 It's ALIVE!!! I learned to resurrect them - and other

Posted by Avenger_teambg on 09 June 2017 - 08:17 AM in IE Help

1) Creatures do not switch to the General type DEAD when they die.

 

Try this again. 

 

[edit] 

 

Well, i tried this. They switch to 'dead' when they die. But this is reset in the next AI cycle. So, this makes the detection very difficult. You can safely detect if a weapon causes death, but it is not reliable from external scripting (because scripts don't run at every AI cycle of every creature). And totally untraceable in saved games (this actually surprised me).

 

2) Several effects with timing mode 9 last unto death, including glows and invisibility and scripting state changes.

 

This is why timing mode 9 is called permanent after death. Some effects are forcefully removed even when they are timing mode 9. Blur is an example.

 

 

3) On death the engine very likely applies some combination of ...

 

The creature is removed from the search map ( this is where pathfinding is calculated, doors set the impeded blocks, etc). This happens on imprisonment too.




#595512 It's ALIVE!!! I learned to resurrect them - and other

Posted by Avenger_teambg on 26 June 2017 - 06:31 AM in IE Help

 This is why timing mode 9 is called permanent after death. Some effects are forcefully removed even when they are timing mode 9. Blur is an example.
 
I have no trouble getting opcode 65, Blur, to remain on a dead creature.
However, I have noticed that the engine applies opcode 220, parameter2=5 (Remove protections by spell school: Illusion) to dead creatures. It also applies an EFF through opcode 177, just don't know which one, and it doesn't appear to be "DESTSELF".

 

Yeah. Blur just deactivates itself while the creature state flags are 'dead'. 

Poison/disease/hold/stun/portraiticons are removed, though.




#597827 Need help adding vampire female & male animation to bg1ee

Posted by Avenger_teambg on 29 October 2017 - 02:03 PM in IE Modding Discussion

The .ini files 7f12.ini and 7f22.ini are supposed to be in all EE games, except PSTEE. Well, maybe also except some very old versions. 




#598521 How to quickly stop music?

Posted by Avenger_teambg on 26 November 2017 - 12:21 PM in IE Help

I wish you knew what you are talking about at least some of the time. That action takes only values from MUSIC.IDS, where you have to choose from set tune types. The best chance I have is with MISC4, hopefully most areas will have nothing there.

Actually, doing StartMusic(9,1) or PlaySong(0) would achieve the same, except as you said, StartMusic(9,1) would depend on what's in the area's misc4 slot. But, this isn't really a problem, official areas have those all empty.




#598523 Getting rid of the "item gone" sound

Posted by Avenger_teambg on 26 November 2017 - 12:37 PM in IE Help

The main difference between destroyweapon (112) and destroyitem  (123) is that destroyweapon does an autopause (weapon gone). Both of them destroy the first item they find.

opcode 112 in EE can also destroy the item without a sound, with param1 = 3. 




#598524 A projectile that doesn't go away?

Posted by Avenger_teambg on 26 November 2017 - 12:52 PM in IE Help

Travel projectiles cannot stay indefinitely on their target, and they cannot affect multiple secondary targets.

AoE projectiles cannot travel with their primary target.

 

If you want aura-like effects (follows primary target, affects arbitrary number of secondary targets) you need opcode 215 for graphical and opcode 232 for the payload. 

 

Ignore Center will ignore the primary target of the projectile, be it cone or full circle.




#598525 Are the circles a bit off?

Posted by Avenger_teambg on 26 November 2017 - 01:04 PM in IE Help

The circle is entirely correct. With the heightmap pixel set to 15, you will see the circle shifted below the sprites, if it is set to 0, you will see the circle shifted above. The heightmap is best set to 7 for normal heights.




#598526 Mods for both BG:EE and BG2:EE

Posted by Avenger_teambg on 26 November 2017 - 01:22 PM in IE Help

If you want to keep variables after an import, use the varimprt.2da




#598537 Are the circles a bit off?

Posted by Avenger_teambg on 27 November 2017 - 09:08 AM in IE Help

How is it normal if they are half-out of there? You put on one ski and try walking, tell me if that's normal.

Did you check the link Sam provided? EE works all the same.




#598566 Setting a spell state with Weidu

Posted by Avenger_teambg on 28 November 2017 - 10:00 AM in IE Help

Imp, you're being completely stupid. Do you even use Near Infinity? Do you have any clue what I'm talking about at all? Fuck.

As much I disdain your style, i totally agree this time. Imp, you really have to check what you are talking about. IWD2 mode is a setting in the EE set spell state opcode to use extended spell states (you should always do this, as the IWD1 mode is pretty limited).

 

Spell states over 256 don't work. And before temnix asks me how do i know this, i just say, i wrote it and allocated only 256 bits for this.

 

As for what field name you should use to set the iwd2 mode, you should use 'special' as that is the name of the field in WeiDU.  The documentation for ADD_CRE_EFFECT should be clear.

http://www.weidu.org...DME-WeiDU.html. I don't think 'casting_mode' is a valid field name either.

 

I myself don't use NI, so i don't know what menu you are talking about, either. 




#598567 Color of strings

Posted by Avenger_teambg on 28 November 2017 - 10:15 AM in IE Help

1. No. 

2. No.

 

Second answer is for the inevitable question, if i have any proof.

 

Ok.

You may want to experiment with strings like "^ 0x[10 letters hexcode for rgb] your text^"  - but i never tried this myself.

 

[edit]

Actually, it seems to work. Cut & paste this into console  ^0xff00ff00ffThis is soylent green^




#598635 About Myself

Posted by Avenger_teambg on 30 November 2017 - 11:52 AM in IE Help

I think you are talking about the global script object, which is a somewhat 'regular' object. It's position is 0.0, can refer to itself, etc. It also has ALL the script slots, but those are reset on every game load (baldur.bcs).




#598636 Color of strings

Posted by Avenger_teambg on 30 November 2017 - 11:57 AM in IE Help

This works for any strings in a textbox.  But, probably not for buttons. 

If you mean token parsing by attributed, then yeah, it doesn't care about the tlk flags. (Works in the console, even though the console cannot resolve tokens).




#598637 Setting a spell state with Weidu

Posted by Avenger_teambg on 30 November 2017 - 12:05 PM in IE Help

So, there are 256 bits assigned to spell states. 1 byte = 8 bits. 8 dwords = 8*32 = 256 bits.

You are right, it does something for >256, but what it does is just an index overflow. 

It's really bad coding :)

Actually, the same as scripting states with opcode 282 in the original engine. It has only 10 valid scripting states, but you can use other values for 'funny' effects. 




#598644 Setting a spell state with Weidu

Posted by Avenger_teambg on 30 November 2017 - 02:29 PM in IE Help

Is there any difference between index overflow and extra spell states?

Yeah, the former will crash your game :)




#598645 About Myself

Posted by Avenger_teambg on 30 November 2017 - 02:32 PM in IE Help

It can't do much though. I've tried getting it to attack Player1, but it just doesn't want to. Caster-targeted spells don't work on it, and so on. Won't jump to another position on the map either, the lazy bastard. Those two functions higher up are the only two things I've been able to get it to do.

displaystringhead would probably write text on top left corner. CreateCreatureObject with 'myself' would create creatures in top left corner, etc. Nothing useful.




#598674 Setting a spell state with Weidu

Posted by Avenger_teambg on 02 December 2017 - 12:57 AM in IE Help

Which game are you referring to? Because Baldur's Gate doesn't crash. Maybe Doom or Quake or, eh, Anvil of Dawn...
Have you tried to define 300 identifiers to the splstate.ids file ? Cause according to Avenger_teambg, this will crash your game. And how you do that, read my second reply... there's what ~115 identifiers available. (255-128)...

Nope, you can write as many entries into splstate.ids as you want. You cannot use the opcode with param2>255 without overwriting something outside the allocated memory.

Feel free to bomb your own game, but writing public mods containing this isn't encouraged. That's how malware works :D




#598768 What defines casting animation selection?

Posted by Avenger_teambg on 09 December 2017 - 03:12 PM in IE Help

If you are looking for a 2da, check gemrb. Otherwise this stuff is mostly hardcoded. Yeah, internally most of it is projectiles.

Opcode 215 is vvcs, opcode 141 is projectiles, opcode 140 is projectiles, opcode 41 is particles (sparkles).

Casting animations are opcode 140 or opcode 41.




#598769 Setting a spell state with Weidu

Posted by Avenger_teambg on 09 December 2017 - 03:41 PM in IE Help

Which game are you referring to? Because Baldur's Gate doesn't crash. Maybe Doom or Quake or, eh, Anvil of Dawn...
Have you tried to define 300 identifiers to the splstate.ids file ? Cause according to Avenger_teambg, this will crash your game. And how you do that, read my second reply... there's what ~115 identifiers available. (255-128)...

Nope, you can write as many entries into splstate.ids as you want. You cannot use the opcode with param2>255 without overwriting something outside the allocated memory.

Feel free to bomb your own game, but writing public mods containing this isn't encouraged. That's how malware works :D

 

This is quite pathetic. You wrote the code for spell states, or so you say, and you didn't even know extra states were possible. Then you made that discovery, called it sloppy coding on your own part, and now can't point a finger at anything specific that would crash. And you're talking about "encouraged" and "malware"? Leave the important words to grown-ups who stand by their shit.

 

Temnix, i'm terribly sorry that i had to rain on your parade, really. Still, you have to contend with the 256 states given to you.

 

"This is quite pathetic." Pot, kettle, black

"You wrote the code for spell states, or so you say, and you didn't even know extra states were possible. " i know they are not possible in a safe way, i didn't know they could slip past the safeguard i wrote.

"Then you made that discovery, called it sloppy coding on your own part, and now can't point a finger at anything specific that would crash."  I checked the code, and noticed that the safeguards that would prevent memory overwriting don't exist in released code (asserts work only in debug). Admitted, it is sloppy. I could point my finger at anything specific that would crash, but i'm not going to waste time on writing exploits. 

'And you're talking about "encouraged" and "malware"?' malware is a program that causes intentional harm. Since you know about it, i just told you, if you crash someone's computer with your half-assed spell states, you wrote malware. And i'm not encouraging you. In fact, i try everything to mitigate the problem. 

"Leave the important words to grown-ups who stand by their shit." Then grow up man. I already admitted that it is not perfect. You do the same and fix your mod. 




#598788 Creepin's various WeiDU questions of varying silliness

Posted by Avenger_teambg on 11 December 2017 - 03:36 AM in IE Help

Update: resource 2 (offset 0x0070) is an animation. No wonder animation ceased to play when I crammed resource 2 with my 2da name :rolleyes:

 

Update 2: the reference to 2da is stored within eff 127 as a hex integer from 0 to 9 even though 4 bytes allocated to this reference could fit in something more. Any attempt to write there anything else, from ascii to hex 0A or more, leads to a monsum01 (hex reference 00) being activated or at least that's what it looks like from testing. By now I tend to believe that monsum01 being active for me was not due to me overlooking reference to it somewhere in eff but rather due to it being built-in failsafe in case reference is out of 0 - 9 boundary. I also assume that there should be some 2da-like mapping where monsum01 = 0, monsum02 = 1 and so on. I was unable to find such 2da, so it might be hardcoded. If so, then how is it ever possible to use custom 2da unless map it within exe, and we need Erephine or Ascension64 for that :rolleyes:

 

Still, I am attaching the test files I was working with (in zip :)) in hope I've missed something obvious and it is in fact possible to attach custom 2da to opcode 127.

 

you don't have the 2da name in resource1.

0000h Signature        EFF V2.0
0008h Signature copy           
0010h Effect opcode    0000007f
0014h Target type      00000001
0018h Power            00000008
001ch Parameter 1      00000004
0020h Parameter 2      74736574
0024h Timing           00000001
0028h Duration         00000960
002ch Prob. high       0064
002eh Prob. low        0000
0030h Resource 1               
0038h Dice count       00000000
003ch Dice sides       00000000
0040h Saving throw     00000000
0044h Save bonus       00000000
0048h Special          00000000
004ch School           00000000
0050h UNKNOWN          00000000
0054h Min. level       00000000
0058h Max. level       00000000
005ch Resistance       00000000
0060h Parameter 3      00000000
0064h Parameter 4      00000000
0068h UNKNOWN          00000000
006ch UNKNOWN          00000000
0070h Resource 2       spmonsum
0078h Resource 3               

opcode 127 allows custom 2da (in EE). 

Apparently parameter2 has some ascii chars in it, though




#598789 Setting a spell state with Weidu

Posted by Avenger_teambg on 11 December 2017 - 03:58 AM in IE Help

There is nothing wrong with testing the fringes of engine capabilities. Hell, i did the same 10 years ago and it was much more fun than writing yet another romance mod.

There isn't even any problem if you don't realize the limits of the engine.

The problem is where you react totally hostile when someone points at the limits.

I recall arguing with David Gaider on the old Bioware forum about inner workings of the scripting engine, but i never behaved even close to what you are performing here.




#598795 Setting a spell state with Weidu

Posted by Avenger_teambg on 11 December 2017 - 10:38 AM in IE Help

:lol2:  What is the 3rd byte in human language? And you're going to have to explain this to me: "These are all a one-way influence, they will set the spellstates, but the spellstates have no effect on the value used by them if you were to set them manually through opcode 328/335."

 

If this means that the engine doesn't differentiate between those high states, then that's not true. As I've said in the beginning, a script made to check for 521, BOY does not return true for 521, GIRL, when a creature is in both those states.

 

Reading the mirror image of a bit of a stat doesn't mean you have full control over that bit. What you see is a temporary copy. Depending on where you try to tamper with it (equipping effect or not equipping effect), or the effects surrounding your 'state setting' attempt (whether they force a reevaluation of the effect stack or not), may very well change the outcome.  I think he meant 3rd byte as 3rd byte in the spell state index. 

Like a spell state >65535. And yeah, using sufficiently large numbers, you totally index out of the creature into random memory land. But even small numbers could be fatal, if you hit a complex variable type and not simple resrefs and integers, you can get pretty nice memory allocation errors or the stuff i called malware.




#598813 Setting a spell state with Weidu

Posted by Avenger_teambg on 12 December 2017 - 12:49 PM in IE Help

Either your state won't be set, in this case you detect one bit of whatever value is written to the cold resistance field (always 0 for your innocents)

or you will be able to set the value, in this case, you will make your innocents cold resistant yourself.

 

And this is the less of the problem. If you were only about to change or read otherwise unreachable bits, it could work.

 

But you want to store 2 bits of information on a single bit. Once overwritten, the old value is lost. You cannot stuff the worms back into an opened can of worms. And you cannot go backwards in time.




#598869 Spell immunity for a new school

Posted by Avenger_teambg on 15 December 2017 - 05:47 AM in IE Help

The spell structure allows for 255 secondary types (+0 meaning no secondary type), so that is an upper limit for secondary types.

Other than that, you can freely add new secondary types.

 

By the way, you can also use new schools, you just won't be able to set up usabilities for the scrolls containing the spells of the new school.

And the initial spell selection during chargen wouldn't work with them (you know where specialist spells are highlighted). 

But, you still can use these extra schools the same way you could use the secondary types.




#598879 Spell immunity for a new school

Posted by Avenger_teambg on 16 December 2017 - 04:26 AM in IE Help

"do I lose anything without DISABLING or OFFENSIVEDAMAGE or ILLUSIONARYPROTECTIONS."

 

You do lose truesight, for example, if you remove ILLUSIONARYPROTECTIONS

 

OHBSUZA2 in bg2ee needs DISABLING. That is the black pits starting scene.

 

CLCK26 protects from OFFENSIVEDAMAGE