Aller au contenu

Photo

Logram Eyegouger bug *solved*


  • Veuillez vous connecter pour répondre
68 réponses à ce sujet

#26
I_Raps

I_Raps
  • Members
  • 1 262 messages
That's probably it. It sounds like the z extension is associated with winrar, that's why it isn't showing; there is a setting in Explorer to show all extensions.

Start Button/Control Panel/Appearance and .../Folder Options

Modifié par I_Raps, 11 octobre 2013 - 01:33 .


#27
I_Raps

I_Raps
  • Members
  • 1 262 messages

Tchos wrote...

When it comes to scripts, you shouldn't need to restart the game. Just put the script in your override folder, and when the game goes to fire the script, it'll use that one.


I am away from the toolset right now, and I definitely need the script assistant crutch.

Can you supply a feedback line for the script to see if it's actually running?


(edit)  This should work.  Winter 90, add this line to the script before the attack commands:

FloatingTextStringOnCreature("Revised Script Running", oLogram, FALSE);

Modifié par I_Raps, 11 octobre 2013 - 02:01 .


#28
Tchos

Tchos
  • Members
  • 5 030 messages
Sure:

SendMessageToPC(GetFirstPC(FALSE), "I'm working!");

#29
Winter90

Winter90
  • Members
  • 123 messages
I cant get it to work. Perhaps Im doing something wrong. How is the script supposed to look now? What do you mean by supplying a feedback line?

If I try to load the save where I remove the z. file I get a message saying the save might be corrupt or something.

Modifié par Winter90, 11 octobre 2013 - 02:30 .


#30
I_Raps

I_Raps
  • Members
  • 1 262 messages

Winter90 wrote...

If I try to load the save where I remove the z. file I get a message saying the save might be corrupt or something.


I was afraid that was going to work.

Winter90 wrote...

I cant get it to work. Perhaps Im doing something wrong. How is the script supposed to look now? What do you mean by supplying a feedback line?


The feedback line - either mine or Tchos' above - will provide a text message that will tell you the revised script ran.

...

Alright, pouring through my archives, I've found an old save called 200000 - orcs .  I'm going in.

#31
Winter90

Winter90
  • Members
  • 123 messages

I_Raps wrote...

Winter90 wrote...

If I try to load the save where I remove the z. file I get a message saying the save might be corrupt or something.


I was afraid that was going to work.

Winter90 wrote...

I cant get it to work. Perhaps Im doing something wrong. How is the script supposed to look now? What do you mean by supplying a feedback line?


The feedback line - either mine or Tchos' above - will provide a text message that will tell you the revised script ran.

...

Alright, pouring through my archives, I've found an old save called 200000 - orcs .  I'm going in.


Good Luck.

#32
I_Raps

I_Raps
  • Members
  • 1 262 messages
Alright, I've got to the place, I have several saves leading up to it and should be able to try out various things.

The revised script didn't work - it also didn't give the feedback line, so I'm not sure that is even the actual script that is used.

I looked deeper in the toolset and have learned a couple things, though. The Logram you confront is not the same one you've seen in the cutscene. This guy doesn't have the two swords or the chainmail; instead, he has a chainmail +2 and he's supposed to equip it and the Ardulia's Fall warmace. He still doesn't have the proficiencies - not even the armor proficiency - but on top of that, the items are not identified and he doesn't have the Lore to id them (there was a long thread here in the scripting forum not long ago about trying to get npcs to use items then drop them unidentified; I don't recall the specifics, but I do recall it wasn't easy).

I shall delve more deeply into it.

#33
manageri

manageri
  • Members
  • 394 messages
How about using the heartbeat script? That would have the upside of not requiring an older save.

#34
I_Raps

I_Raps
  • Members
  • 1 262 messages
Gettin' there:

Image IPB


manageri wrote...

How about using the heartbeat script? That would have the upside of not requiring an older save.


I'm now putting the commands on a trigger you hit before reaching Logram.  It seems to work as far as giving him the feats, but not for executing the equiping actions.  He equipped the warmace on the second round.

I'll look at that heartbeat script - except he just uses the default scripts for everything except death, and I don't think he deserves a modification to the default on_heartbeat.  Is there something else you're thinking of?

p.s. Winter90

I've now seen Casavir hit by multiple arrows on the first round and take 0 damage;  twice.

p.p.s  Logram with a weapon is worth it.  Yes, those are Khelgar and Casavir laying there dead.

Modifié par I_Raps, 11 octobre 2013 - 07:56 .


#35
manageri

manageri
  • Members
  • 394 messages
Yeah, I was thinking about changing the default heartbeat script, but your trigger solution is better.

#36
Winter90

Winter90
  • Members
  • 123 messages
About the Casavir situation.. Yes that happens to me too.. Though it seems that sometimes he actually parries the arrows.. As he gets multiple "parried" in the console window..

About Logram.. Yes as I said, he may be the only one up until that point of the game that actually poses a valid threat..

So what did you do, did you just enter the commands earlier in the same script? I guess it makes sense that he equips it on the second round.. THe first round he casts berserker frenzy.. And sometimes inspire frenzy on the second round.. Any idea why this bug is present anyway? What triggers it? Or is it just lazyness from the developers?

Modifié par Winter90, 11 octobre 2013 - 02:45 .


#37
Winter90

Winter90
  • Members
  • 123 messages
Also, how does the entire case your using look like right now.. And in which/where in the) script did you put it?

Was it on the upper level of the eyegouger lair?

Isnt there a way to make him equip the mace before the actual encounter?

Modifié par Winter90, 11 octobre 2013 - 02:48 .


#38
kevL

kevL
  • Members
  • 4 052 messages
I finally got it to work pretty well, using override script: "13a_logram_atk"



#include "ginc_item" // IdentifyInventory, IdentifyEquippedItems


case 10:
{
  FeatAdd(oLogram, 45, FALSE); // weapon prof. martial
  FeatAdd(oLogram, 4, FALSE); // armor prof. medium
  FeatAdd(oLogram, 1105, FALSE); // monkeygrip, for fun.

  IdentifyInventory(oLogram);
  IdentifyEquippedItems(oLogram);

  object oWarHammer = GetItemPossessedBy(oLogram, "NW_WDBMMA004");
  object oChainmail = GetItemPossessedBy(oLogram, "NW_MAARCL066");
  object oHelm = GetItemPossessedBy(oLogram, "NW_ARMHE006");
  AssignCommand(oLogram, ActionEquipItem(oWarHammer, INVENTORY_SLOT_RIGHTHAND));
  AssignCommand(oLogram, ActionEquipItem(oChainmail, INVENTORY_SLOT_CHEST));
  AssignCommand(oLogram, ActionEquipItem(oHelm, INVENTORY_SLOT_HEAD));

  // Spawn Yaisog if we need him
  if (GetGlobalInt("13_UrgatEnd") == 1)
  {
    location lYaisog = GetLocation(GetWaypointByTag("13_wp_yaisog_sp"));

    oYaisog = CreateObject(OBJECT_TYPE_CREATURE, "yaisog", lYaisog, FALSE, sYaisogTag);

    IdentifyInventory(oYaisog);
    IdentifyEquippedItems(oYaisog);

    object oGreatAxe = GetItemPossessedBy(oYaisog, "NW_WAXMGR008");
    object oChainmail2 = GetItemPossessedBy(oYaisog, "NW_MAARCL035");
    object oBelt = GetItemPossessedBy(oYaisog, "nw_it_mbelt009");
    AssignCommand(oYaisog, ActionEquipItem(oGreatAxe, INVENTORY_SLOT_RIGHTHAND));
    AssignCommand(oYaisog, ActionEquipItem(oChainmail2, INVENTORY_SLOT_CHEST));
    AssignCommand(oYaisog, ActionEquipItem(oBelt, INVENTORY_SLOT_BELT));
  }

  // Also jump Casavir into position.
  AssignCommand(oCas, ClearAllActions(TRUE));
  AssignCommand(oCas, ActionJumpToLocation(lCas));
}


note i used case 10: the beginning of the dialog. It might be is overkill (so to speak) but they look fierce and fight tuff...

[edit] fixes..

Modifié par kevL, 11 octobre 2013 - 04:36 .


#39
Winter90

Winter90
  • Members
  • 123 messages
Will using this make it so that his gear is equipped before the encounter? And will I have to revert to a save on the upper floor for it to work?

#40
kevL

kevL
  • Members
  • 4 052 messages
This should work as long as the conversation hasn't been triggered yet. (in which case it's too late nyway)

no need to revert to upper floor


ps. note fixes.

#41
Winter90

Winter90
  • Members
  • 123 messages
Im doing something wrong -_- ... I only get the message "unknown state in the compiler".

I took the liberty of copy pasting the lines you posted into the script.. Is that the problem?

#include "ginc_item" // IdentifyInventory, IdentifyEquippedItems


case 10:
{
FeatAdd(oLogram, 45, FALSE); // weapon prof. martial
FeatAdd(oLogram, 4, FALSE); // armor prof. medium
FeatAdd(oLogram, 1105, FALSE); // monkeygrip, for fun.

IdentifyInventory(oLogram);
IdentifyEquippedItems(oLogram);

object oWarHammer = GetItemPossessedBy(oLogram, "NW_WDBMMA004");
object oChainmail = GetItemPossessedBy(oLogram, "NW_MAARCL066");
object oHelm = GetItemPossessedBy(oLogram, "NW_ARMHE006");
AssignCommand(oLogram, ActionEquipItem(oWarHammer, INVENTORY_SLOT_RIGHTHAND));
AssignCommand(oLogram, ActionEquipItem(oChainmail, INVENTORY_SLOT_CHEST));
AssignCommand(oLogram, ActionEquipItem(oHelm, INVENTORY_SLOT_HEAD));

This is the only part I need to fix Logram right?

#42
kevL

kevL
  • Members
  • 4 052 messages
The #include line goes up top under #include "13_inc_npc"

the "case 10:" section is intended to replace "case 10:" in the main() body of the script. If you want to just fix Logram, use these lines inside case10

FeatAdd(oLogram, 45, FALSE); // weapon prof. martial
FeatAdd(oLogram, 4, FALSE); // armor prof. medium
FeatAdd(oLogram, 1105, FALSE); // monkeygrip, for fun.

IdentifyInventory(oLogram);
IdentifyEquippedItems(oLogram);

object oWarHammer = GetItemPossessedBy(oLogram, "NW_WDBMMA004");
object oChainmail = GetItemPossessedBy(oLogram, "NW_MAARCL066");
object oHelm = GetItemPossessedBy(oLogram, "NW_ARMHE006");
AssignCommand(oLogram, ActionEquipItem(oWarHammer, INVENTORY_SLOT_RIGHTHAND));
AssignCommand(oLogram, ActionEquipItem(oChainmail, INVENTORY_SLOT_CHEST));
AssignCommand(oLogram, ActionEquipItem(oHelm, INVENTORY_SLOT_HEAD));


along with the #include directive, placed up at the top of the file. Yaisog, if he appears, suffers similarly though and i suggest replacing *all* of case10 /up to you tho

#43
Winter90

Winter90
  • Members
  • 123 messages
Okay, I have never had that problem with yaisog, but I will follow your directive on this.

So what Im supposed to do is delete the entire case 10 section, and replace it with "your version" of case 10?

If so can I just copy the commands straight from your post into the script? Or will I have to type it all manually?

#44
I_Raps

I_Raps
  • Members
  • 1 262 messages
Well, I came in earlier to report further partial success, saw kevL's new Case 10, whipped out the toolset and plugged it in, then gave my saved game a whirl.

Logram old buddy, it's good to see you up and healthy again!  Got rid of those nasty splinters in your hands and ass finally!

...

So then I came here to rejoice* and I see this ongoing coniption.  Hmmm.  Winter90, make sure something unfortunate didn't get copied into the text field when you're editing your script (I assume you cut and pasted and didn't try to type all that).  I backspaced each line to the left margin, then tabbed them all properly.  I also left the original case 10 in place but commented out (by /*  and  */) to be certain of the punctuation.  Also, even though you're editing a script you have in override, you have to load the Old Owl Well module so the toolset can find all the tags etc.

*  more below, but I should post this while it still might have some relevance.

Modifié par I_Raps, 11 octobre 2013 - 05:54 .


#45
kevL

kevL
  • Members
  • 4 052 messages
copy-paste is fine yep


... formatting it nicely is a way to catch possible errors btw.

#46
I_Raps

I_Raps
  • Members
  • 1 262 messages
I promised more, and here it is ...

In the "things that make your head hurt category" I have this new gem.  I put the new kevL enhanced 13a_logram_atk in override and took out all my stuff - mainly 13a_luskan_atk which is the trigger script when you come upon the Interrogator, plus various backups.  Note that those files are gone as far as the game is concerned;  they're not in override, they're not in any NWN2 folder either in Documents or Program Files.  At least that's what SHOULD be the case.

But when I loaded my save in the room well before the trigger and pushed ahead to meet Logram, the trigger ran my script complete with numerous feedbacks.

And after whipping Fully Functional Logram, I closed the game and went through all the folders just to be sure.  Those files are good and truly gone.  So I launched the game again, loaded the save and - it's still using my script.

So unless someone can tell me how to get a clean test of kevL's script, I'M TAKING CREDIT FOR IT!

Modifié par I_Raps, 11 octobre 2013 - 06:12 .


#47
kevL

kevL
  • Members
  • 4 052 messages
neat, _Raps

i tried Yaisog once and thought he didn't have his Axe, so i put Yaisog in.... He has his feats but the equipm't is unidentified; but because he's created on-the-spawn I think he handles everything better than Logram, so most of the Yaisog stuff is perhaps unneeded (but it's at the beginning of the conversation so the overhead doesn't seem noticable).

/ramble


Ps. if you want to test w/ Yaisog here's the key:

// SetGlobalInt("13_UrgatEnd", 1); // TEMPORARY TEST!

just inside case10:

#48
kevL

kevL
  • Members
  • 4 052 messages
Lol

#49
I_Raps

I_Raps
  • Members
  • 1 262 messages
I went ahead and used your original in full (the corrected version). I never had any problem with Yaisog but I wanted to see what it would do.

TonyK's has caused Yaisog to appear equipped with a bow but he has always immediately switched to his axe. With your script changes, he still starts with a bow when you first see him, but is holding the axe after Logram's first closeup.

#50
Winter90

Winter90
  • Members
  • 123 messages
"Error: Unexpected end compound statement"

I got that error and being unexperienced with this stuff didnt get what it meant. But I assumed it meant I just had to place a "}" at the end. And it worked.

So thanks. Its sad that you guys have to fix so "glaring" bugs that the developers should have fixed themselves.

Itd be nice if the armor was equipped before the conversation starts as well. For me he suddenly equipped the gear at the start of the conversation.. But itll do. Dont know if this is what happens with you guys?

Thanks again. Now that kevl is here.. I have to ask if you (kevl) know how to fix that 0 damage bug that appears at times?

Copied from another topic I posted:

*" I ve run into a bug that has annoyed me on my playthroughs.. Namely, the one where for some reason my party takes 0 damage during the first round of combat in certain encounters... The ones that spring to mind are, the bandit chief encounter(around fort locke), Zeearies arrows. And the githyanki ambush in ember.. "

Anyone knows the cause of it? And how to fix it? "*



I_raps deduced that it had something to do with immunity during cutscenes which could be the case. Although it has happened to me without any cutscenes. MAybe conversation gives immunity as well?

It also happens with casavir in the logram encounter by the way...

I can live with the bug, but itd be nice to fix it...

Modifié par Winter90, 11 octobre 2013 - 06:22 .