Jump to content


Photo

PickPocketFailed()


13 replies to this topic

#1 Salk

Salk
  • Modders
  • 2948 posts
  • Gender:Male
  • Location:Sweden

Posted 06 January 2018 - 01:30 PM

Hello!

Anyone has some experience with this trigger?

 

IESDP reports it to be not working on non EE engine but ToBEx should supposedly restore its functionality.

Enable PickpocketFailed Trigger=1

My tests were negative though so I wonder if there is something I am missing?

 

Thanks!


Edited by Salk, 06 January 2018 - 01:30 PM.


#2 Jarno Mikkola

Jarno Mikkola

    The Imp

  • Modders
  • 6505 posts
  • Gender:Male
  • Location:The town where the dead haven't keeled over, yet. In Finland.

Posted 06 January 2018 - 02:45 PM

An alike thing that is not entirely related...
Look at Rogue Rebalance v4.91's rr/lib/thvry.tph -file, and rows, 119 onwards... well, it's actually a part of a larger action_for_each from above, but that's besides the point.
 

  ACTION_IF FILE_EXISTS_IN_GAME ~%file%.bcs~ BEGIN
    COPY_EXISTING ~%file%.bcs~ ~override~
    // ===============================================================================
      PATCH_IF SOURCE_SIZE > 0x01 BEGIN
        DECOMPILE_AND_PATCH BEGIN
          REPLACE_TEXTUALLY EXACT_MATCH ~StealFailed([ANYONE])~ ~False() StealFailed([ANYONE])~ // Disable the default anti-steal script block
        END
      END
    BUT_ONLY
    EXTEND_TOP ~%file%.bcs~  ~RR/RR_CORE/COMPILE/RR#STEAL.BAF~                         // extend the script with the new anti-steal behaviour
    // ===============================================================================
  END
END

It also has this in rr/rr_core/compile/pickp.baf:

IF
	PickPocketFailed([PC])
	Allegiance(Myself,NEUTRAL)
	General(Myself,HUMANOID)
	!StateCheck(Myself,CD_STATE_NOTVALID)
	See(LastTrigger)
	!Allegiance(LastTrigger,FAMILIAR)
THEN
	RESPONSE #100
		StartDialogOverride("RR#PICKP",LastTrigger)
END

... so ...


Welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand.
Here's how to install all the ... mods you ever really could want to Infinity Engine games. I removed the stable word from there as Roxanne began to add BS mods that are likely to break compatibility from the BWS.

#3 CamDawg

CamDawg

    Just a simple country Hyper-Chicken

  • Gibberling Poobah
  • 9404 posts
  • Gender:Not Telling

Posted 06 January 2018 - 02:55 PM

I know it works. One thing that may be tripping you up is that it's an instant trigger like OnCreation or Die--it's only true in the immediate script cycle after it occurs. You can't even pass it along as a dialogue trigger because it will have expired.

I came here with a simple dream: a dream of killing all humans. And this is how it must end? Who's the real seven billion ton robot monster here? Not I. Not... I.


#4 Salk

Salk
  • Modders
  • 2948 posts
  • Gender:Male
  • Location:Sweden

Posted 06 January 2018 - 11:04 PM

Yes, I read about it being an instant trigger but I did test it in dplayer2.bcs:

IF
    InParty(Myself)
    PickPocketFailed([PC])
THEN
    RESPONSE #100
        Kill(Myself)
END

and nothing happened.



#5 Jarno Mikkola

Jarno Mikkola

    The Imp

  • Modders
  • 6505 posts
  • Gender:Male
  • Location:The town where the dead haven't keeled over, yet. In Finland.

Posted 07 January 2018 - 12:34 AM

Yes, I read about it being an instant trigger but I did test it in dplayer2.bcs:

With ? As the code has to be extended into it, it doesn't just pop up. And you are sure that's the FIRST script term in the whole of the script. Besides the dplayer2.bcs is not the override script. So maybe it never got to be excecuted.
And why the reverse order ?
Welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand.
Here's how to install all the ... mods you ever really could want to Infinity Engine games. I removed the stable word from there as Roxanne began to add BS mods that are likely to break compatibility from the BWS.

#6 Avenger

Avenger
  • Modders
  • 3775 posts
  • Gender:Male
  • Location:Hungary

Posted 07 January 2018 - 02:16 AM

The trigger is only sent to the store owner creature. So, you can only use it in the shopkeeper's script.



#7 CamDawg

CamDawg

    Just a simple country Hyper-Chicken

  • Gibberling Poobah
  • 9404 posts
  • Gender:Not Telling

Posted 07 January 2018 - 10:03 AM

The trigger is only sent to the store owner creature. So, you can only use it in the shopkeeper's script.

 

I think you're thinking of StealFailed().


I came here with a simple dream: a dream of killing all humans. And this is how it must end? Who's the real seven billion ton robot monster here? Not I. Not... I.


#8 Roxanne

Roxanne

    Modder

  • Modders
  • 1977 posts
  • Gender:Female
  • Location:Auckland, NZ

Posted 07 January 2018 - 12:56 PM

The trigger is only sent to the store owner creature. So, you can only use it in the shopkeeper's script.

Ninjaed, just saw CamDawg's post...


The Sandrah Saga

another piece of *buggy, cheesy, unbalanced junk*


#9 Salk

Salk
  • Modders
  • 2948 posts
  • Gender:Male
  • Location:Sweden

Posted 07 January 2018 - 10:03 PM

Case closed.

 

I tested this morning using another saved game and everything is working fine. :)



#10 Salk

Salk
  • Modders
  • 2948 posts
  • Gender:Male
  • Location:Sweden

Posted 08 January 2018 - 08:22 AM

One more thing, somewhat related...

 

It seems the EE engine uses the SLTSTEAL.2DA file to set the difficulty for pickpocketing but what does the old engine uses?

 

Thanks!


Edited by Salk, 08 January 2018 - 08:23 AM.


#11 Avenger

Avenger
  • Modders
  • 3775 posts
  • Gender:Male
  • Location:Hungary

Posted 08 January 2018 - 08:35 AM

 

The trigger is only sent to the store owner creature. So, you can only use it in the shopkeeper's script.

 

I think you're thinking of StealFailed().

 

yep



#12 Ardanis

Ardanis

    A very GAR character

  • Modders
  • 2575 posts
  • Gender:Male
  • Location:Saint-Petersburg, Russia

Posted 08 January 2018 - 08:43 AM

It seems the EE engine uses the SLTSTEAL.2DA file to set the difficulty for pickpocketing but what does the old engine uses?

 

Target's pickpocket value, I think?


"Uguu~ Boku Ayu."

Before you start breaking wall tiles with your bare fists, ask yourself first - do you truly need it?

#13 Avenger

Avenger
  • Modders
  • 3775 posts
  • Gender:Male
  • Location:Hungary

Posted 08 January 2018 - 08:49 AM

 

It seems the EE engine uses the SLTSTEAL.2DA file to set the difficulty for pickpocketing but what does the old engine uses?

 

Target's pickpocket value, I think?

 

EE also checks the target's pickpocket value.

The difference is, the old engine either disabled or enabled certain slots while the EE allows setting a difficulty adjustment for the slots.



#14 Miloch

Miloch

    Barbarian

  • Modders
  • 4793 posts
  • Gender:Male
  • Location:At Large

Posted 08 January 2018 - 04:44 PM

Yeah, in the old engine, items are unpickpocketable in certain slots.


Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it." -Terry Pratchett



Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users