Jump to content


Photo

Questions on Igi's Learn-Through-Use


  • Please log in to reply
34 replies to this topic

#1 Aeviannce

Aeviannce
  • Member
  • 74 posts

Posted 06 June 2014 - 08:31 AM

I really liked this mod, though I was not able to explore it further as I needed to redo my BWP installation. Just a quick question: The problem I had with this mod is that it doesn't offer a way for characters to gain weapon style proficiency ingame. I would ask, does this mod, or is there any mod at the present that tries to fill-in this missing detail? If not, I'm planning on making an item, a manual to be exact, that would add weapon style proficiency based on the level and current proficiency a character has.

 

If there's no existing mod similar this what I planned, would you guys suggest some nice stores to which this manual will be available? Gallomp, the Book Keeper or the priest of Oghma first comes to mind. Any other suggestions?

 

At the moment, this is what I plan on doing:

- Create a manual that spawns an invisible creature.

- The invisible creature initiates a dialog with the character that used the book. It checks the character's current weapon style proficiency and level via script.

- I would like to implement a level requirement for weapon styles. Like say... level 1 for 1 point, level 7 for 2 points, and level 14 for the two weapon style's 3rd point.

- I wanted it to be scripted to prevent excessive proficiency points to a weapon style. Just to keep things tidy.

 

So... Any thoughts on this?

 



#2 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5150 posts

Posted 06 June 2014 - 09:16 AM

To my knowledge, there isn't a mod that does the same, so good thinking, but...

- I would like to implement a level requirement for weapon styles. Like say... level 1 for 1 point, level 7 for 2 points, and level 14 for the two weapon style's 3rd point.

 

So... Any thoughts on this?

Hmm, maybe if the manual won't cost thousands, then set the first level requirement a little higher, say level 3.

What of the Ranger class ? They already have 2 points in the two weapon style at level 1, so maybe the third point would be electable at level 7.. And if keep

 

You can also add the book to Irenicus dungeon by dropping it into one of the chests, via this:

.tp2 code:

EXTEND_BOTTOM ~ar0602.bcs~ ~<modfolder>/AR0602.baf~

ar0602.baf code:

IF
  Global("IJ#BAC9","GLOBAL",0)
THEN
  RESPONSE #100
    SetGlobal("IJ#BAC9","GLOBAL",1)
    ActionOverride("Chest 7",CreateItem("IJ#brac9")) 
END

---yep, the IJ#BAC9 is my global, and the IJ#brac9.itm is my item, so you obviously change those parts.


Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#3 Aeviannce

Aeviannce
  • Member
  • 74 posts

Posted 07 June 2014 - 11:30 PM

Thank you for the code Imp! I was just about to ask for that. :D

 

Hmm, maybe if the manual won't cost thousands, then set the first level requirement a little higher, say level 3.

I was thinking of the manual costing about 1k gp or so and is expended after one use. I want to follow through on Igi's logic on proficiency being equally available to all classes but I don't want it too easy to obtain or so cheap that you can maximize you weapon style proficiency even before leaving for Brynnlaw. Maybe I'll make it available as a loot on certain difficult quests like somewhere in the Unseeing Eye, Planar Sphere, Merkrath's Lair, in the Harper Hold and such, and make few available in the store.

 

What of the Ranger class ? They already have 2 points in the two weapon style at level 1, so maybe the third point would be electable at level 7.

Hmm... Well I think I could add a "class" trigger for this one as part of the script. Haven't really thought about it yet... :/

 

I have a question though, does this code work with detecting current proficiency the character have?

 

CheckStat(O:Object*,I:Value*,I:StatNum*Stats)

 

I would also like to know if its possible for the summoned creature to talk only to the character that used the manual? Because I'm thinking it might have problems determining which character used the manual the moment spawns.



#4 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5150 posts

Posted 08 June 2014 - 02:56 AM

I would also like to know if its possible for the summoned creature to talk only to the character that used the manual? Because I'm thinking it might have problems determining which character used the manual the moment spawns.
That's a yes, and you might have to use this actually with the invisible characters. This:
LastSummonerOf(Myself)
works as the O*Actor in the ActionOverride(O:Actor*,A:Action*) so you can basically force the user talk to the creature and not the other way around.
 
Don't know about the other question.

Edited by The Imp, 14 June 2014 - 03:53 AM.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#5 Aeviannce

Aeviannce
  • Member
  • 74 posts

Posted 10 June 2014 - 06:40 AM

Okay... I'm kinda confused here... After the user chooses an option in the dialog, I want the spawn creature to first check on the level and proficiency of the user. Then, if the requirements are met, I want the creature to fire the proper dialog that would result in the user gaining a proficiency that he/she had chosen.

 

At first I thought the whole "checking" script can be in the dialog and then fires a global that would trigger the script to give the user the proficiency. But then, I really have no idea how to do that. All the dialog I've seen god only a bit of scripting commands in them. If I use the dialog the fire a global trigger for the script to check on the requirements, that might mean that the current dialog with the user of the manual would be stopped and then start again.

 

Is there a better way to do this?



#6 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5150 posts

Posted 10 June 2014 - 08:16 AM

All the dialog I've seen god only a bit of scripting commands in them.

Well, you might wish to look at the Item Upgrade mods dialog files(<>/c2/dlg/ -files), they are actually filled with nothing but checks and actions, as the translations are not in the .d files.


Edited by The Imp, 10 June 2014 - 08:17 AM.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#7 Aeviannce

Aeviannce
  • Member
  • 74 posts

Posted 13 June 2014 - 03:20 AM

Hi. So I finally finish the dialog file and the override script. This is my first time making a dialog so if you guys don't mind, kindly check if there's any errors. Thanks!

 

// Variables:
// A4PB_OB = Manual start
// A4PB_CB = Manual end
// A4PB_OP = Manual options
// A4PB_SW = Single weapon style contents
// A4PB_SS = Sword and shield style contents
// A4PB_TH = Two handed weapon style contents
// A4PB_TW = Two weapon style contents
// A4PB_SWA = Single weapon style 1st proficiency
// A4PB_SWB = Single weapon style 2nd proficiency
// A4PB_SSA = Sword and shield style 1st proficiency
// A4PB_SSB = Sword and shield style 2nd proficiency
// A4PB_THA = Two handed weapon style 1st proficiency
// A4PB_THB = Two handed weapon style 2nd proficiency
// A4PB_TWA = Two weapon style 1st proficiency
// A4PB_TWB = Two weapon style 2nd proficiency
// A4PB_TWC = Two weapon style 3rd proficiency
// A4PBS00 = Spell that adds proficiency single weapon style
// A4PBS01 = Spell that adds proficiency sword and shield style
// A4PBS02 = Spell that adds proficiency two handed weapon style
// A4PBS03 = Spell that adds proficiency two weapon style
// A4PBI00 = Item name of the manual
// A4PBPRAD = Local/Global variable that unsummons the prof adding creature


IF ~~ THEN BEGIN A4PB_OB
  SAY /*~This book was written by the self-proclaimed greatest combatant of all time, Valorious Valore. It details the various weapon styles as well as its ideal application on certain situations in a battle. It is written however, in a very arrogant, bordering on insulting tone. In fact, it is written so utterly dreadful, you desire with every fibre in your being to throw it somewhere in the depths of the abyss, never to be seen by any mortal eyes ever again... Forever…

Yet despite that overwhelming impulse, you cannot help but consider the valuable instructions that lie beyond the egotistic words of its author. You flip through what would seem almost half of the book of senseless self-admiration and took note of the various instructions in different weapon styles. After hours of painstakingly picking out the noteworthy insight and tips and arranging them in multi-coloured bookmarks, you can now finally read on with limited annoyance on the various weapon styles discussed in the book.~*/
  
  IF ~~ THEN REPLY /*~(Flip to the lessons on wielding a single weapon.)~*/ GOTO A4PB_SW

  IF ~~ THEN REPLY /*~(View the techniques in using the shield.)~*/ GOTO A4PB_SS

  IF ~~ THEN REPLY /*~(Look at the contents for wielding two handed weapons.)~*/ GOTO A4PB_TH

  IF ~~ THEN REPLY /*~(Skip to the section on fighting with two weapons.)~*/ GOTO A4PB_TH

  IF ~~ THEN REPLY /*~(Stop reading and place the book inside your pack.)~*/ GOTO A4PB_CB 
END

IF ~~ THEN BEGIN A4PB_OP
  SAY /*~What would you like to do?~*/

  IF ~~ THEN REPLY /*~(Flip to the lessons on wielding a single weapon.)~*/ GOTO A4PB_SW

  IF ~~ THEN REPLY /*~(View the techniques in using the shield.)~*/ GOTO A4PB_SS

  IF ~~ THEN REPLY /*~(Look at the contents for wielding two handed weapons.)~*/ GOTO A4PB_TH

  IF ~~ THEN REPLY /*~(Skip to the section on fighting with two weapons.)~*/ GOTO A4PB_TW

  IF ~~ THEN REPLY /*~(Stop reading and place the book inside your pack.)~*/ GOTO A4PB_CB 
END

IF ~~ THEN BEGIN A4PB_CB
  SAY /*~Despite the lousy way it was written, you decided to keep the book for future reading.~*/
  DO ~SetGlobal("A4PBPRAD","LOCALS",1)~

  IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN A4PB_SW
  SAY /*~You are now viewing the lessons on single weapon style.~*/

  IF ~!LevelLT(LastTalkedToBy(Myself),3) !CheckStat(LastTalkedToBy(Myself),1,PROFICIENCYSINGLEWEAPON)~ 
  THEN REPLY /*~(Learn the basic movement style for single weapons.)~*/ GOTO A4PB_SWA

  IF ~!LevelLT(LastTalkedToBy(Myself),7) !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCYSINGLEWEAPON)~
  THEN REPLY /*~(Read on the finesse of advanced single weapon style.)~*/ GOTO A4PB_SWB

  IF ~!LevelLT(LastTalkedToBy(Myself),3) !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCYSINGLEWEAPON)~ 
  THEN REPLY /*~(Stop reading and place the book inside your pack.)~*/ GOTO A4PB_CB

  IF ~CheckStat(LastTalkedToBy(Myself),2,PROFICIENCYSINGLEWEAPON)~
  THEN REPLY /*~(You have already learned everything on this weapon style. There is nothing more this book has to offer.)~*/ GOTO A4PB_OP

  IF ~LevelLT(LastTalkedToBy(Myself),3)~
  THEN REPLY /*~(You read through some of the basic principles in the book but despite your best efforts, it proved to be quite complicated for you to grasp. Perhaps you still need a more hands-on experience before you attempt to practice any of what is written in the book.)~*/ 
       DO ~SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_SS
  SAY /*~You are now viewing the techniques in sword and shield style.~*/

  IF ~!LevelLT(LastTalkedToBy(Myself),3) !CheckStat(LastTalkedToBy(Myself),1,PROFICIENCYSWORDANDSHIELD)~ 
  THEN REPLY /*~(Learn the basic guarding and counter techniques with a use of a shield.)~*/ GOTO A4PB_SSA

  IF ~!LevelLT(LastTalkedToBy(Myself),7) !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCYSWORDANDSHIELD)~
  THEN REPLY /*~(Read on the advanced shielding tactics with the use of a shield.)~*/ GOTO A4PB_SSB

  IF ~!LevelLT(LastTalkedToBy(Myself),3) !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCYSWORDANDSHIELD)~ 
  THEN REPLY /*~(Stop reading and place the book inside your pack.)~*/ GOTO A4PB_CB

  IF ~CheckStat(LastTalkedToBy(Myself),2,PROFICIENCYSWORDANDSHIELD)~
  THEN REPLY /*~(You have already learned everything on this weapon style. There is nothing more this book has to offer.)~*/ GOTO A4PB_OP

  IF ~LevelLT(LastTalkedToBy(Myself),3)~
  THEN REPLY /*~(You read through some of the basic principles in the book but despite your best efforts, it proved to be quite complicated for you to grasp. Perhaps you still need a more hands-on experience before you attempt to practice any of what is written in the book.)~*/
       DO ~SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_TH
  SAY /*~You are now viewing the contents in two handed weapon style.~*/

  IF ~!LevelLT(LastTalkedToBy(Myself),3) !CheckStat(LastTalkedToBy(Myself),1,PROFICIENCY2HANDED)~ 
  THEN REPLY /*~(Learn on how to wield a two handed weapon properly.)~*/ GOTO A4PB_THA

  IF ~!LevelLT(LastTalkedToBy(Myself),7) !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCY2HANDED)~
  THEN REPLY /*~(Learn how to deliver more potent attacks with the use of two handed weapons.)~*/ GOTO A4PB_THB

  IF ~!LevelLT(LastTalkedToBy(Myself),3) !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCY2HANDED)~
  THEN REPLY /*~(Stop reading and place the book inside your pack.)~*/ GOTO A4PB_CB

  IF ~CheckStat(LastTalkedToBy(Myself),2,PROFICIENCY2HANDED)~
  THEN REPLY /*~(You have already learned everything on this weapon style. You should lend this book to a companion of yours. They even might appreciate the "work" you have done.)~*/ GOTO A4PB_OP

  IF ~LevelLT(LastTalkedToBy(Myself),3)~
  THEN REPLY /*~(You read through some of the basic principles in the book but despite your best efforts, it proved to be quite complicated for you to grasp. Perhaps you still need a more hands-on experience before you attempt to practice any of what is written in the book.)~*/
       DO ~SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_TW
  SAY /*~You are now viewing the section in two weapon style.~*/

  IF ~!LevelLT(LastTalkedToBy(Myself),3) !CheckStat(LastTalkedToBy(Myself),1,PROFICIENCY2WEAPON)~ 
  THEN REPLY /*~(Read on how not to cut yourself when using two weapons.)~*/ GOTO A4PB_THA

  IF ~!LevelLT(LastTalkedToBy(Myself),7) !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCY2WEAPON)~
  THEN REPLY /*~(Learn how to make combinations with the use of two weapons.)~*/ GOTO A4PB_TWB

  IF ~!LevelLT(LastTalkedToBy(Myself),7) !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCY2WEAPON) Class(LastTalkedToBy(Myself),RANGER)~
  THEN REPLY /*~(Master the art of using two weapons.)~*/ GOTO A4PB_TWC

  IF ~!LevelLT(LastTalkedToBy(Myself),12) !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCY2WEAPON)~
  THEN REPLY /*~(Master the art of using two weapons.)~*/ GOTO A4PB_TWC

  IF ~!LevelLT(LastTalkedToBy(Myself),3) !CheckStat(LastTalkedToBy(Myself),3,PROFICIENCY2WEAPON)~
  THEN REPLY /*~(Stop reading and place the book inside your pack.)~*/ GOTO A4PB_CB

  IF ~CheckStat(LastTalkedToBy(Myself),3,PROFICIENCY2HANDED)~
  THEN REPLY /*~(You have already learned everything on this weapon style. You can now finally burn this book to ashes.)~*/ GOTO A4PB_OP

  IF ~LevelLT(LastTalkedToBy(Myself),3)~
  THEN REPLY /*~(You read through some of the basic principles in the book but despite your best efforts, it proved to be quite complicated for you to grasp. Perhaps you still need a more hands-on experience before you attempt to practice any of what is written in the book.)~*/
       DO ~SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_SWA
  IF ~~ THEN REPLY /*~After earnestly practicing the technique you have learned, you have gain a basic understanding of this weapon style.~*/
             DO ~ReallyForceSpellRES("A4PBS00",LastTalkedToBy(Myself))
             TakePartyItemNum("A4PBI00",1)
             DestroyItem("A4PBI00")
             SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_SWB
  IF ~~ THEN REPLY /*~Basic knowledge and battle experience have taught you enough to understand and execute the more advanced technique of your chosen craft.~*/
             DO ~ReallyForceSpellRES("A4PBS00",LastTalkedToBy(Myself))
             TakePartyItemNum("A4PBI00",1)
             DestroyItem("A4PBI00")
             SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_SSA
  IF ~~ THEN REPLY /*~After earnestly practicing the technique you have learned, you have gain a basic understanding of this weapon style.~*/
             DO ~ReallyForceSpellRES("A4PBS01",LastTalkedToBy(Myself))
             TakePartyItemNum("A4PBI00",1)
             DestroyItem("A4PBI00")
             SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_SSB
  IF ~~ THEN REPLY /*~Basic knowledge and battle experience have taught you enough to understand and execute the more advanced technique of your chosen craft.~*/
             DO ~ReallyForceSpellRES("A4PBS01",LastTalkedToBy(Myself))
             TakePartyItemNum("A4PBI00",1)
             DestroyItem("A4PBI00")
             SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_THA
  IF ~~ THEN REPLY /*~After earnestly practicing the technique you have learned, you have gain a basic understanding of this weapon style.~*/
             DO ~ReallyForceSpellRES("A4PBS02",LastTalkedToBy(Myself))
             TakePartyItemNum("A4PBI00",1)
             DestroyItem("A4PBI00")
             SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_THB
  IF ~~ THEN REPLY /*~Basic knowledge and battle experience have taught you enough to understand and execute the more advanced technique of your chosen craft.~*/
             DO ~ReallyForceSpellRES("A4PBS02",LastTalkedToBy(Myself))
             TakePartyItemNum("A4PBI00",1)
             DestroyItem("A4PBI00")
             SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_TWA
  IF ~~ THEN REPLY /*~After earnestly practicing the technique you have learned, you have gain a basic understanding of this weapon style.~*/
             DO ~ReallyForceSpellRES("A4PBS03",LastTalkedToBy(Myself))
             TakePartyItemNum("A4PBI00",1)
             DestroyItem("A4PBI00")
             SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_TWB
  IF ~~ THEN REPLY /*~Basic knowledge and battle experience have taught you enough to understand and execute the more advanced technique of your chosen craft.~*/
             DO ~ReallyForceSpellRES("A4PBS03",LastTalkedToBy(Myself))
             TakePartyItemNum("A4PBI00",1)
             DestroyItem("A4PBI00")
             SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_TWC
  IF ~~ THEN REPLY /*~With patience, skill and a whole lot of practice, you have finally mastered the art of wielding two weapons.~*/
             DO ~ReallyForceSpellRES("A4PBS03",LastTalkedToBy(Myself))
             TakePartyItemNum("A4PBI00",1)
             DestroyItem("A4PBI00")
             SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

 

Oh and one more thing, I'm not exactly sure whether to use LOCALS or GLOBAL for the variable check. Which is more appropriate to use?


Edited by Aeviannce, 13 June 2014 - 03:21 AM.


#8 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5150 posts

Posted 13 June 2014 - 04:09 AM

Oh and one more thing, I'm not exactly sure whether to use LOCALS or GLOBAL for the variable check. Which is more appropriate to use?
At least I would use LOCALS here through out, cause the GLOBALS get saved to the save game, while the LOCALS get saved to the specific creature that's then killed and there's a lot less GLOBALS to save in the save game. The surmount amount of GLOBALs have been traced to cause lag or latency, so avoiding them is good.
Besides, you would have to use 6 times more GLOBALs to make sure that each of the party members gets an equal treatment... and that's without ever switching party members, which... and if we will, you'll have say 120 times the amount of NPCs(200++) times the amount of script lines. 24000 times: Auch. :devil:

So definitely LOCALS.

Edited by The Imp, 13 June 2014 - 04:17 AM.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#9 Aeviannce

Aeviannce
  • Member
  • 74 posts

Posted 13 June 2014 - 04:39 AM

Thanks for the quick reply Imp. To be honest, I was not quite so sure on the difference of the two. Thanks for the clarification. :P Could you help me with the dialog? More specifically, the conditions when the options will show. For example:

 

I wanted this option to appear if the user's level is more than 7 and he/she does only have one proficiency point in single weapon style.

 IF ~!LevelLT(LastTalkedToBy(Myself),7) !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCYSINGLEWEAPON)~
 THEN REPLY /*~(Learn advanced...)~*/ GOTO A4PB_SWB

 

But what if the user does not have even one point? Does the above option still appear or does this one appear instead?

 

 IF ~!LevelLT(LastTalkedToBy(Myself),3) !CheckStat(LastTalkedToBy(Myself),1,PROFICIENCYSINGLEWEAPON)~
 THEN REPLY /*~(Learn basic...)~*/ GOTO A4PB_SWA

 

Because I don't want the advanced dialog to appear when the user is trying to get a basic point but has more than enough level to get the advanced point. Though there is no difference stat-wise, it would not be coherent with the dialog.


Edited by Aeviannce, 13 June 2014 - 04:41 AM.


#10 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5150 posts

Posted 13 June 2014 - 05:18 AM

I wanted this ...
IF ~!LevelLT(LastTalkedToBy(Myself),7) !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCYSINGLEWEAPON)~
THEN REPLY /*~(Learn advanced...)~*/ GOTO A4PB_SWB
Then why won't you just use this ?
 IF ~LevelGT(LastTalkedToBy(Myself),6) CheckStat(LastTalkedToBy(Myself),1,PROFICIENCYSINGLEWEAPON)~
 THEN REPLY /*~(Learn advanced...)~*/ GOTO A4PB_SWB 
And I don't think either of the two would appear as it could be that you negate the options with your checks. SO mske sure they cover sll the possible out comes by not negating them all.

Edited by The Imp, 14 June 2014 - 03:53 AM.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#11 Aeviannce

Aeviannce
  • Member
  • 74 posts

Posted 13 June 2014 - 08:17 AM

Then why won't you just use this ?

 IF ~LevelGT(LastTalkedToBy(Myself),6) CheckStat(LastTalkedToBy(Myself),1,PROFICIENCYSINGLEWEAPON)~
 THEN REPLY /*~(Learn advanced...)~*/ GOTO A4PB_SWB 
And I don't think either of the two would appear as it could be that you negate the options with your checks. SO mske sure they cover sll the possible out comes by not negating them all.


I'm quite sure there was a reason why I resorted to using "!" variables instead of the normal one. Umm... Oh... I think I was trying to avoid having multiple options shown in the dialogue when i make use of "checkstat" instead of "!checkstat" since the basic condition would also be met if the user has met the requirements for the advanced option. I think I was just lazy to do multiple dialog close-off points when some criteria is not met. That's why I resorted to using "!"

Sorry... I'm not familiar with the language. I hope you understand what I mean. -_-

 

On a side note, I tried refining the dialogue. Umm... In my head, it should do the following:

 

IF ~~ THEN BEGIN A4PB_SW
  SAY /*~You are now viewing the lessons on single weapon style.~*/

// With the checklist present, it should not fire if (1) the user level is less than 3 and (2) the user has a proficiency point already.
  IF ~!LevelLT(LastTalkedToBy(Myself),3)
      !CheckStat(LastTalkedToBy(Myself),1,PROFICIENCYSINGLEWEAPON)~ 
  THEN REPLY /*~(Learn the basic movement style for single weapons.)~*/ GOTO A4PB_SWA

// With this checklist, it should not appear when (1) user level is less than 7, (2) has no proficiency point and (3) has 2 proficiency point. Meaning it should only appear when the user has 1 proficiency point.
  IF ~!LevelLT(LastTalkedToBy(Myself),7)
      !CheckStat(LastTalkedToBy(Myself),0,PROFICIENCYSINGLEWEAPON)
      !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCYSINGLEWEAPON)~
  THEN REPLY /*~(Read on the finesse of advanced single weapon style.)~*/ GOTO A4PB_SWB

// This option will only appear if (1) the user's level is not less than 3 and (2) does not have 2 proficiency point.
  IF ~!LevelLT(LastTalkedToBy(Myself),3)
      !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCYSINGLEWEAPON)~ 
  THEN REPLY /*~(Stop reading and place the book inside your pack.)~*/ GOTO A4PB_CB

// This will only appear when the user has 2 proficiency point.
  IF ~CheckStat(LastTalkedToBy(Myself),2,PROFICIENCYSINGLEWEAPON)~
  THEN REPLY /*~(You have already learned everything on this weapon style. There is nothing more this book has to offer.)~*/ GOTO A4PB_OP

// This will only appear if the user's level is less than 3.
  IF ~LevelLT(LastTalkedToBy(Myself),3)~
  THEN REPLY /*~(You read through some of the basic principles in the book but despite your best efforts, it proved to be quite complicated for you to grasp. Perhaps you still need a more hands-on experience before you attempt to practice any of what is written in the book.)~*/ 
       DO ~SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

 

I hope that makes more sense. -_-

 

Oh, and how do I make a .tra for dialog files? I don't quite understand the code needed for .tp2 and other stuff... :o



#12 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5150 posts

Posted 13 June 2014 - 08:55 AM

Sorry... I'm not familiar with the language. I hope you understand what I mean. -_-
Don't worry about that, I understand a lots of folks. I am not English native either, so it comes with the territory.
Oh, and how do I make a .tra for dialog files? I don't quite understand the code needed for .tp2 and other stuff... :o
You just include different LANGUAGE with a .tra file... the very top of the .tp2 file needs to look like:
BACKUP ~modfolder/backup~
AUTHOR ~You~
README ~modfolder/Readme.txt~
VERSION ~flag~

LANGUAGE ~English~ ~English~ ~modfolder/Languages/English/setup.tra~
LANGUAGE ~Russian~ ~Russian~ ~modfolder/Languages/Russian/setup.tra~ 
...
BEGIN @1 //component name
...
And then of course the setup.tra files content in the folder is just
@1 = ~aaaaaaaaaaa~

Edited by The Imp, 14 June 2014 - 03:52 AM.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#13 Aeviannce

Aeviannce
  • Member
  • 74 posts

Posted 13 June 2014 - 07:44 PM

Umm... I'm having a parsing error and I don't know why... -_-

Here's the debug:

WeiDU v 23600 Log

 D:\Program Files\GOG.com\BGII - SoA\Setup-A4PB.exe
[./CHITIN.KEY] loaded, 590551 bytes
[./CHITIN.KEY] 182 BIFFs, 41793 resources
[./Autorun.ini] loaded, 1452 bytes
[./baldur.ini] loaded, 3649 bytes
Possible HD/CD Path: [D:\Program Files\GOG.com\BGII - SoA]
Possible HD/CD Path: [D:\Program Files\GOG.com\BGII - SoA\data\]
Possible HD/CD Path: [D:\Program Files\GOG.com\BGII - SoA\data\]
Possible HD/CD Path: [D:\Program Files\GOG.com\BGII - SoA\data\]
Possible HD/CD Path: [D:\Program Files\GOG.com\BGII - SoA\data\]
Possible HD/CD Path: [D:\Program Files\GOG.com\BGII - SoA\data\]
Possible HD/CD Path: [D:\Program Files\GOG.com\BGII - SoA\data\]
[./Keymap.ini] loaded, 5616 bytes
[./Mplaynow.ini] loaded, 230 bytes
[./unins000.ini] loaded, 86 bytes
[./dialog.tlk] loaded, 8702856 bytes
[./dialog.tlk] 74137 string entries
Using Language [English]
[English] has 2 top-level TRA files
[A4PB/Language/A4PB-Setup_ENG.tra] has 5 translation strings

Would you like to display the readme? [Y]es [N]o
DDRAWFIX/DDRAWFIX.TP2  0  0 Installed
A4AUROR/SETUP-A4AUROR.TP2  0  0 Installed
BIFF may be in hard-drive CD-path [D:\Program Files\GOG.com\BGII - SoA\data\/DATA/25CREATURES.BIF]
BIFF may be in hard-drive CD-path [D:\Program Files\GOG.com\BGII - SoA\data\/DATA/25CREATURES.BIF]
BIFF may be in hard-drive CD-path [D:\Program Files\GOG.com\BGII - SoA\data\/DATA/25CREATURES.BIF]
BIFF may be in hard-drive CD-path [D:\Program Files\GOG.com\BGII - SoA\data\/DATA/25CREATURES.BIF]
BIFF may be in hard-drive CD-path [D:\Program Files\GOG.com\BGII - SoA\data\/DATA/25CREATURES.BIF]
BIFF may be in hard-drive CD-path [D:\Program Files\GOG.com\BGII - SoA\data\/DATA/25CREATURES.BIF]
BIFF may be in hard-drive CD-path [D:\Program Files\GOG.com\BGII - SoA/DATA/25CREATURES.BIF]
[D:\Program Files\GOG.com\BGII - SoA/DATA/25CREATURES.BIF] 1463444 bytes, 807 files, 0 tilesets

Install Component [Proficiency Manual for Igi's Learn-Through-Use Mod]?
[I]nstall, or [N]ot Install or [Q]uit? 
Installing [Proficiency Manual for Igi's Learn-Through-Use Mod] [v1]
loading 1 tra file
[A4PB/Language/A4PB-DLG_ENG.tra] has 26 translation strings
loading 1 tra file
Compiling 1 script ...
[./override/TRIGGER.IDS] loaded, 7725 bytes
BIFF may be in hard-drive CD-path [D:\Program Files\GOG.com\BGII - SoA\data\/DATA/DEFAULT.BIF]
BIFF may be in hard-drive CD-path [D:\Program Files\GOG.com\BGII - SoA\data\/DATA/DEFAULT.BIF]
BIFF may be in hard-drive CD-path [D:\Program Files\GOG.com\BGII - SoA\data\/DATA/DEFAULT.BIF]
BIFF may be in hard-drive CD-path [D:\Program Files\GOG.com\BGII - SoA\data\/DATA/DEFAULT.BIF]
BIFF may be in hard-drive CD-path [D:\Program Files\GOG.com\BGII - SoA\data\/DATA/DEFAULT.BIF]
BIFF may be in hard-drive CD-path [D:\Program Files\GOG.com\BGII - SoA\data\/DATA/DEFAULT.BIF]
BIFF may be in hard-drive CD-path [D:\Program Files\GOG.com\BGII - SoA/DATA/DEFAULT.BIF]
[D:\Program Files\GOG.com\BGII - SoA/DATA/DEFAULT.BIF] 5847739 bytes, 444 files, 0 tilesets
[./override/ACTION.IDS] loaded, 13073 bytes
[./override/OBJECT.IDS] loaded, 1735 bytes
Processing 1 dialogues/scripts ...
Compiling 1 dialogue file ...

[A4PB/Dialogue/A4PBDLG1.d] PARSE ERROR at line 36 column 1-2
Near Text: IF
	syntax error

[A4PB/Dialogue/A4PBDLG1.d]  ERROR at line 36 column 1-2
Near Text: IF
	Parsing.Parse_error
ERROR: parsing [A4PB/Dialogue/A4PBDLG1.d]: Parsing.Parse_error
ERROR: compiling [A4PB/Dialogue/A4PBDLG1.d]!
Stopping installation because of error.

ERROR Installing [Proficiency Manual for Igi's Learn-Through-Use Mod], rolling back to previous state
Unable to Unlink [A4PB/backup/0/OTHER.0]: Unix.Unix_error(1, "unlink", "A4PB/backup/0/OTHER.0")
[A4PB/backup/0/UNSETSTR.0] SET_STRING uninstall info not found
Will uninstall   1 files for [A4PB/SETUP-A4PB.TP2] component 0.
Uninstalled      1 files for [A4PB/SETUP-A4PB.TP2] component 0.
Unable to Unlink [A4PB/backup/0/READLN.0]: Unix.Unix_error(20, "unlink", "A4PB/backup/0/READLN.0")
Unable to Unlink [A4PB/backup/0/READLN.0.TEXT]: Unix.Unix_error(20, "unlink", "A4PB/backup/0/READLN.0.TEXT")
DDRAWFIX/DDRAWFIX.TP2  0  0 Installed
A4AUROR/SETUP-A4AUROR.TP2  0  0 Installed
ERROR: Parsing.Parse_error
PLEASE email the file SETUP-A4PB.DEBUG to aeviannce24@gmail.com
Using Language [English]
[English] has 2 top-level TRA files
[A4PB/Language/A4PB-Setup_ENG.tra] has 5 translation strings

Install Component [Proficiency Manual for Igi's Learn-Through-Use Mod]?
[I]nstall, or [N]ot Install or [Q]uit? Saving This Log:
DDRAWFIX/DDRAWFIX.TP2  0  0 Installed
A4AUROR/SETUP-A4AUROR.TP2  0  0 Installed
[A4Auror/Language/Setup-eng.tra] has 31 translation strings

NOT INSTALLED DUE TO ERRORS Proficiency Manual for Igi's Learn-Through-Use Mod

		WeiDU Timings
OUTER_INNER_PATCH_SAVE           0.000
parsing .tra files               0.000
<<<<<<<<                         0.000
unmarshal BIFF                   0.000
adding translation strings       0.000
load TLK                         0.000
tp2 uninstall                    0.000
DEFINE_PATCH_FUNCTION            0.000
COMPILE                          0.000
DEFINE_ACTION_FUNCTION           0.000
OUTER_SET                        0.000
INCLUDE                          0.000
find local string                0.000
LOAD_TRA                         0.000
parsing .log files               0.000
process_patch2                   0.000
eval_pe                          0.000
DEFINE_ACTION_MACRO              0.000
OUTER_INNER_PATCH                0.000
parsing .baf files               0.000
READ_*                           0.000
DEFINE_PATCH_MACRO               0.000
marshal BCS                      0.000
parsing .ids files               0.016
parsing .d files                 0.016
unmarshal KEY                    0.031
loading files                    0.047
Parsing TP2 files                0.047
stuff not covered elsewhere      0.062
Parsing TPA files                0.078
unmarshal TLK                    0.109
TOTAL                            0.406 


 And here is the dialogue file:

 

/////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
////                                                                             ////
////      Valorious' Manual for the Incompetent and the Mundane Adventurer       ////
////                       For Igi's Learn-Through-Use Mod                       ////
////                                 Version 1.0                                 ////
////                                by Aeviannce24                               ////
////                                                                             ////
/////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////

// Variables:
// A4PB_OB = Manual start
// A4PB_CB = Manual end
// A4PB_OP = Manual options
// A4PB_SW = Single weapon style contents
// A4PB_SS = Sword and shield style contents
// A4PB_TH = Two handed weapon style contents
// A4PB_TW = Two weapon style contents
// A4PB_SWA = Single weapon style 1st proficiency
// A4PB_SWB = Single weapon style 2nd proficiency
// A4PB_SSA = Sword and shield style 1st proficiency
// A4PB_SSB = Sword and shield style 2nd proficiency
// A4PB_THA = Two handed weapon style 1st proficiency
// A4PB_THB = Two handed weapon style 2nd proficiency
// A4PB_TWA = Two weapon style 1st proficiency
// A4PB_TWB = Two weapon style 2nd proficiency
// A4PB_TWC = Two weapon style 3rd proficiency
// A4PBS00 = Spell that adds proficiency single weapon style
// A4PBS01 = Spell that adds proficiency sword and shield style
// A4PBS02 = Spell that adds proficiency two handed weapon style
// A4PBS03 = Spell that adds proficiency two weapon style
// A4PBI00 = Item name of the manual
// A4PBPRAD = Local variable that unsummons the prof adding creature

IF ~~ THEN BEGIN A4PB_OB
  SAY @100
  IF ~~ THEN REPLY @101 GOTO A4PB_SW
  IF ~~ THEN REPLY @102 GOTO A4PB_SS
  IF ~~ THEN REPLY @103 GOTO A4PB_TH
  IF ~~ THEN REPLY @104 GOTO A4PB_TH
  IF ~~ THEN REPLY @105 GOTO A4PB_CB 
END

IF ~~ THEN BEGIN A4PB_OP
  SAY @106
  IF ~~ THEN REPLY @101 GOTO A4PB_SW
  IF ~~ THEN REPLY @102 GOTO A4PB_SS
  IF ~~ THEN REPLY @103 GOTO A4PB_TH
  IF ~~ THEN REPLY @104 GOTO A4PB_TW
  IF ~~ THEN REPLY @105 GOTO A4PB_CB 
END

IF ~~ THEN BEGIN A4PB_CB
  SAY @107
  DO ~SetGlobal("A4PBPRAD","LOCALS",1)~
  IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN A4PB_SW
  SAY @108

  IF ~!LevelLT(LastTalkedToBy(Myself),3)
      !CheckStat(LastTalkedToBy(Myself),1,PROFICIENCYSINGLEWEAPON)~ 
  THEN REPLY @114 GOTO A4PB_SWA

  IF ~!LevelLT(LastTalkedToBy(Myself),7)
      !CheckStat(LastTalkedToBy(Myself),0,PROFICIENCYSINGLEWEAPON)
      !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCYSINGLEWEAPON)~
  THEN REPLY @115 GOTO A4PB_SWB

  IF ~!LevelLT(LastTalkedToBy(Myself),3)
      !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCYSINGLEWEAPON)~ 
  THEN REPLY @105 GOTO A4PB_CB

  IF ~CheckStat(LastTalkedToBy(Myself),2,PROFICIENCYSINGLEWEAPON)~
  THEN REPLY @109 GOTO A4PB_OP

  IF ~LevelLT(LastTalkedToBy(Myself),3)~
  THEN REPLY @110 
       DO ~SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_SS
  SAY @108

  IF ~!LevelLT(LastTalkedToBy(Myself),3)
      !CheckStat(LastTalkedToBy(Myself),1,PROFICIENCYSWORDANDSHIELD)~ 
  THEN REPLY @116 GOTO A4PB_SSA

  IF ~!LevelLT(LastTalkedToBy(Myself),7)
      !CheckStat(LastTalkedToBy(Myself),0,PROFICIENCYSWORDANDSHIELD)
      !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCYSWORDANDSHIELD)~
  THEN REPLY @117 GOTO A4PB_SSB

  IF ~!LevelLT(LastTalkedToBy(Myself),3)
      !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCYSWORDANDSHIELD)~ 
  THEN REPLY @105 GOTO A4PB_CB

  IF ~CheckStat(LastTalkedToBy(Myself),2,PROFICIENCYSWORDANDSHIELD)~
  THEN REPLY @109 GOTO A4PB_OP

  IF ~LevelLT(LastTalkedToBy(Myself),3)~
  THEN REPLY @110
       DO ~SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_TH
  SAY @108

  IF ~!LevelLT(LastTalkedToBy(Myself),3)
      !CheckStat(LastTalkedToBy(Myself),1,PROFICIENCY2HANDED)~ 
  THEN REPLY @118 GOTO A4PB_THA

  IF ~!LevelLT(LastTalkedToBy(Myself),7)
      !CheckStat(LastTalkedToBy(Myself),0,PROFICIENCY2HANDED)
      !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCY2HANDED)~
  THEN REPLY @119 GOTO A4PB_THB

  IF ~!LevelLT(LastTalkedToBy(Myself),3)
      !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCY2HANDED)~
  THEN REPLY @105 GOTO A4PB_CB

  IF ~CheckStat(LastTalkedToBy(Myself),2,PROFICIENCY2HANDED)~
  THEN REPLY @120 GOTO A4PB_OP

  IF ~LevelLT(LastTalkedToBy(Myself),3)~
  THEN REPLY @110
       DO ~SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_TW
  SAY @108

  IF ~!LevelLT(LastTalkedToBy(Myself),3)
      !CheckStat(LastTalkedToBy(Myself),1,PROFICIENCY2WEAPON)~ 
  THEN REPLY @121 GOTO A4PB_THA

  IF ~!LevelLT(LastTalkedToBy(Myself),7)
      !CheckStat(LastTalkedToBy(Myself),0,PROFICIENCY2WEAPON)
      !CheckStat(LastTalkedToBy(Myself),2,PROFICIENCY2WEAPON)
      !CheckStat(LastTalkedToBy(Myself),3,PROFICIENCY2WEAPON)~
  THEN REPLY @122 GOTO A4PB_TWB

  IF ~!LevelLT(LastTalkedToBy(Myself),7)
      !CheckStat(LastTalkedToBy(Myself),0,PROFICIENCY2WEAPON)
      !CheckStat(LastTalkedToBy(Myself),1,PROFICIENCY2WEAPON)
      !CheckStat(LastTalkedToBy(Myself),3,PROFICIENCY2WEAPON)
      Class(LastTalkedToBy(Myself),RANGER)~
  THEN REPLY @123 GOTO A4PB_TWC

  IF ~!LevelLT(LastTalkedToBy(Myself),12)
      !CheckStat(LastTalkedToBy(Myself),0,PROFICIENCY2WEAPON)
      !CheckStat(LastTalkedToBy(Myself),1,PROFICIENCY2WEAPON)
      !CheckStat(LastTalkedToBy(Myself),3,PROFICIENCY2WEAPON)~
  THEN REPLY @123 GOTO A4PB_TWC

  IF ~!LevelLT(LastTalkedToBy(Myself),3)
      !CheckStat(LastTalkedToBy(Myself),3,PROFICIENCY2WEAPON)~
  THEN REPLY @105 GOTO A4PB_CB

  IF ~CheckStat(LastTalkedToBy(Myself),3,PROFICIENCY2HANDED)~
  THEN REPLY @124 GOTO A4PB_OP

  IF ~LevelLT(LastTalkedToBy(Myself),3)~
  THEN REPLY @110
       DO ~SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_SWA
  IF ~~ THEN REPLY @111
             DO ~ReallyForceSpellRES("A4PBS00",LastTalkedToBy(Myself))
             TakePartyItemNum("A4PBI00",1)
             DestroyItem("A4PBI00")
             SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_SWB
  IF ~~ THEN REPLY @112
             DO ~ReallyForceSpellRES("A4PBS00",LastTalkedToBy(Myself))
             TakePartyItemNum("A4PBI00",1)
             DestroyItem("A4PBI00")
             SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_SSA
  IF ~~ THEN REPLY @111
             DO ~ReallyForceSpellRES("A4PBS01",LastTalkedToBy(Myself))
             TakePartyItemNum("A4PBI00",1)
             DestroyItem("A4PBI00")
             SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_SSB
  IF ~~ THEN REPLY @112
             DO ~ReallyForceSpellRES("A4PBS01",LastTalkedToBy(Myself))
             TakePartyItemNum("A4PBI00",1)
             DestroyItem("A4PBI00")
             SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_THA
  IF ~~ THEN REPLY @111
             DO ~ReallyForceSpellRES("A4PBS02",LastTalkedToBy(Myself))
             TakePartyItemNum("A4PBI00",1)
             DestroyItem("A4PBI00")
             SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_THB
  IF ~~ THEN REPLY @112
             DO ~ReallyForceSpellRES("A4PBS02",LastTalkedToBy(Myself))
             TakePartyItemNum("A4PBI00",1)
             DestroyItem("A4PBI00")
             SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_TWA
  IF ~~ THEN REPLY @111
             DO ~ReallyForceSpellRES("A4PBS03",LastTalkedToBy(Myself))
             TakePartyItemNum("A4PBI00",1)
             DestroyItem("A4PBI00")
             SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_TWB
  IF ~~ THEN REPLY @112
             DO ~ReallyForceSpellRES("A4PBS03",LastTalkedToBy(Myself))
             TakePartyItemNum("A4PBI00",1)
             DestroyItem("A4PBI00")
             SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

IF ~~ THEN BEGIN A4PB_TWC
  IF ~~ THEN REPLY @113
             DO ~ReallyForceSpellRES("A4PBS03",LastTalkedToBy(Myself))
             TakePartyItemNum("A4PBI00",1)
             DestroyItem("A4PBI00")
             SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END


#14 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5150 posts

Posted 14 June 2014 - 12:02 AM

What did you name the .d file as ? Cause it needs to be "A4PB_OB.d" cause you start the file with: "IF ~~ THEN BEGIN A4PB_OB"... not as "A4PBDLG1.d".
Of course the best fix is to just switch the logic so you use the correct file reference...


Edited by The Imp, 14 June 2014 - 04:29 AM.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#15 Aeviannce

Aeviannce
  • Member
  • 74 posts

Posted 14 June 2014 - 03:26 AM

Well I tried doing that and I also tried changing the name of the dialog. I even removed all the "//" details. Still with the parsing error...



#16 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5150 posts

Posted 14 June 2014 - 03:47 AM

Ouh, cheese, well you could use the above .d file if you just add the very first line on this:
BEGIN A4PBDLG1
IF ~~ THEN BEGIN A4PB_OB
  SAY @100
  IF ~~ THEN REPLY @101 GOTO A4PB_SW
...
The out quoted text can be where ever you like them to be...

And of course in .tp2 code is:
COMPILE ~A4PB/Dialogue/A4PBDLG1.d~

Edited by The Imp, 14 June 2014 - 04:03 AM.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#17 Aeviannce

Aeviannce
  • Member
  • 74 posts

Posted 14 June 2014 - 04:31 AM

BEGIN A4PBDLG1
IF ~~ THEN BEGIN A4PB_OB
  SAY @100
  IF ~~ THEN REPLY @101 GOTO A4PB_SW
...
 


Thanks Imp! This actually fixes the problem but now, there's another one somewhere here... -_-
 

IF ~~ THEN BEGIN A4PB_CB
  SAY @107
  DO ~SetGlobal("A4PBPRAD","LOCALS",1)~
IF ~~ THEN EXIT
END


Debug says it has something to do along the "DO" line... I tried doing this: "THEN DO ~SetGlobal("A4PBPRAD","LOCALS",1)~" but it didn't fix anything...



#18 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5150 posts

Posted 14 June 2014 - 05:52 AM

Thanks Imp! This actually fixes the problem but now, there's another one somewhere here... -_-

IF ~~ THEN BEGIN A4PB_CB
  SAY @107
  DO ~SetGlobal("A4PBPRAD","LOCALS",1)~
IF ~~ THEN EXIT
END

Erhm, did you try this:

IF ~~ THEN BEGIN A4PB_CB
  SAY @107
  IF ~~ THEN DO ~SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#19 Aeviannce

Aeviannce
  • Member
  • 74 posts

Posted 14 June 2014 - 06:51 AM

Yes it works! Ahahahaha... almost done...

 

Another one...

IF ~~ THEN BEGIN A4PB_SWA
  IF ~~ THEN REPLY @111
        DO ~ReallyForceSpellRES("A4PBS00",LastTalkedToBy(Myself))
            TakePartyItemNum("A4PBI00",1)
            DestroyItem("A4PBI00")
            SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END

The problem is somewhere in the "IF ~~THEN REPLY @111"

 

I'm so sorry for the trouble... ;_; 



#20 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5150 posts

Posted 14 June 2014 - 07:21 AM


IF ~~ THEN BEGIN A4PB_SWA
  IF ~~ THEN REPLY @111
        DO ~ReallyForceSpellRES("A4PBS00",LastTalkedToBy(Myself))
            TakePartyItemNum("A4PBI00",1)
            DestroyItem("A4PBI00")
            SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END
The problem is somewhere in the "IF ~~THEN REPLY @111"
 


Well yeah, do you need the "IF ~~ THEN REPLY" -thing at all as you would just normally do it with: "SAY" , without the quote marks. dah.
After the SAY @111, you can use another IF ~~ THEN REPLY bah blah blarg. OR ---

And then of course then the rest... aka:
IF ~~ THEN BEGIN A4PB_SWA
  SAY @111 IF ~~ THEN DO ~ReallyForceSpellRES("A4PBS00",LastTalkedToBy(Myself))
            TakePartyItemNum("A4PBI00",1)
            DestroyItem("A4PBI00")
            SetGlobal("A4PBPRAD","LOCALS",1)~ EXIT
END
I'm so sorry for the trouble... ;_; 
I am happy to help if I can ! But only if I can.

Edited by The Imp, 14 June 2014 - 07:29 AM.

Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.