Jump to content

Attempting to create an alcohol(ic) flask


Ewendoun

Recommended Posts

Hello there Mktavish !

 

Sorry, I missed some time to examine and assimilate (I mean try as hard as possible to understand as fully as possible) your scripts, but that seem to take a very good way. To answer further your questions you gave in return, thanks once again and more, I think we could effectively create some nice quest to boost the RP content of the mod, I will work on a tiny idea I had last night ;) . I f you have some of yours, feel free to write about it here in the topic !

 

The object I used in order to click on and fill the flask was the vault13canteen, named something like( I need to reopen the GECK extended to be more precise ) "preorderclassicpackvault13canteen" [EDIT: in fact, the right Id was "PreordVaultCanteen", much the same as in LFox mod, and I am working on a simple retexturing / modification of texture to give it a more lambda aspect (as far as I want it to be, a metallic "used by time" aspect).

As a very beginner in scripting, I tried an adaptation of LFox scripts, but that failed to achieve what I wanted, you are nearer of the right result, and a better one, than what I hoped for. You could have a good laugh but that looked like something like this, with ONLY a try on whiskey bottles:

 

------------------

 

Scripts EwendounFlask:

- EwendounFlaskBaseEffectScript:

 

scn EwendounFlaskBaseEffectScript

Begin ScriptEffectStart

Player.Additem EwendounAlcoholFlask 1 1

if EwendounFlaskPerkQuest.FlaskCharges >= 1
set EwendounFlaskPerkQuest.FlaskCharges to EwendounFlaskPerkQuest.FlaskCharges - 1
elseif ( EwendounFlaskPerkQuest.FlaskCharges == 0 ) && ( Player.GetItemCount Whiskey >= 1 )
Player.RemoveItem Whiskey 1 1
set EwendounFlaskPerkQuest.FlaskCharges to 10
ShowMessage EwendounFlaskRefilled
elseif ( EwendounFlaskPerkQuest.FlaskCharges == 0 ) && ( Player.GetItemCount Whiskey == 0 )
ShowMessage EwendounFlaskEmpty
endif
end
-----------------

As you can easily see, this was an attempt to adapt some parts of the LFox script to the purpose I wanted to achieve.

But that wasn't very useful nor of course successful in the end, I was stucked on "How make this working ?" . I also took the same structure of perk quest, messenges and alcohol charges (from 00 to 10) to ttry to simulate the decreasing charges/drinks remaining in the flask.. Thanks to you, I see now better why that wouldn't have work at all, or not this way. :)
-------------------

Also, the empty flask doesn't need to be removed, because in my mind must be still available to be refillable at will, what do you think about it ?

Thank you for your answers, and about the directions needed, well I think the best way to concretise the project would be to use the same effect on each different drink as you mentioned, and also to have an ingestible item. Could I try to use your scripts on my side, just to have an idea of how do they fully work ? I mean, see on my side If I can get an object functionnal with them, to give you a more developed return on the nice work you already did ? I do not bother about rights, If you want to put your name on the project, you are welcome of course, I must say honnestly I wouldn't have gone so far without your help, nor surely far enough at all ;) :D !

 

Thank you very much !

Ewendoun

Link to comment
Share on other sites

Well of course you can use them , that is why I posted them. Which they are yours to use no strings attached.

Plus Bethesda owns the rights to anything we create with the Geck , not us.

Doing this kind of stuff for people is how I have managed to learn the geck , and I always have further to go.

And I definitely learned some stuff here ;)

 

But to mention why that script won't work on the "Vault 13 Canteen" is because it is a Misc item.

A misc item won't respond to an "OnEquip" Block. There may be some JIP functions to get it to work from pipboy selection. But I don't have JIP , It won't install properly for me , I guess till I fix something ?

 

Lfox actually uses an ingestible as the canteen. But since you are having multiple types of canteens , and want to be able to call "OnEquip" from in the pipboy , for filling multi types , and able to set auto drinking/auto filling.

I suggest to use a "Book" object. So that clicking on it will not consume it.

And to be clear , not the ingestible items named magazines. But the items found under "Book" in the object tree.

 

And on the number of drinks per flask. 10 is not to hard to do. Just have to make 10 different base effects.

Which then you have to add to every type of ingestible flask , and then set conditions on each one also.

So not hard , but a lot of tedious work. Which you can start with 5 , then add the other 5 later ?

Maybe you were confusing with having more than 9 types of alcohol ? Which I should mention that post where I listed 6 types plus 2 buttons for settings ... Forget about that. The script if you didn't notice uses a different method. Which when the flask is empty , you only have option to fill it. Then anytime it has more than 1 drink , you can set the Auto settings. Which it sounds like you want to be able to dump the bottle out anytime and fill it with something else ? Which can put lines in that section to do that (I'll add to it later)

 

So in case you didn't know. Anywhere in those scripts that has something starting with "zzz"

That means you can name it what ever you want. But as far as all my Int variables , you can name them what you want. But they have to be the same across the 3 scripts , and any conditions you put on things. So it might be easier to just use the ones I made ?

 

Anyways for starters ... lets take this a few steps at a time.

 

1- First create all the alcohol filled flasks. By just opening one of the ingestible objects.

And changing its ID. I wouldn't worry about any of the irradiated or unique named like "Dixons Whiskey"

But will still be able to have those fill the flask. I guess try to keep it to a max of 9 , and imo , I don't think beer should count. But that is just my opinion.

 

2- Create all the Base Effects that will show # of drinks ... have a number in their ID correlate to the number of drinks that will show.

Look at these objects in Lfox mod ... or maybe you already did with your mention of " 00 - 10 " ?

Which for your mod , you don't need the 00 , but make sure all the flags are the same ... You can attach the script later. Then add all these to each ingestible flask you made. Which maybe just add the first 5 , or even 3.

But add them starting with 01 then 02 then 03. Which is just a good organizational principal because you cannot shift these up/down , but not absolutely necessary. But only add as many as you want to then put conditions on for testing. Because they will all show at once without conditions , and you might want to adjust the name on the Base Effects for how it is making the other effects show.

 

3- Create the Quest , which by the way should not be named Perk Quest like Lfox's ... I mean it does not absolutely matter. But there is no perk related to this quest. So then adding it leaves organizational confusion.

Lfox uses a perk entry point to set those variables in the quest script. So I guess that is why they have "PerkQuest" in its ID

Anyways , I'm mentioning so you know why , but you can name it what you want.

But match the other stuff they have on the quest , and then attach the quest script I posted.

 

4- Now go back to the ingestible flasks and add condtions to each effect you just added.

Can look at "LFoxWaterCanteen" for example.

So you double click the effect in the field , and it opens an "Effect Item" window.

Then right click new in the condition field . It will open a "Condition Item" window.

Then go to the "Condition Function" drop down arrow. Which you are looking for "GetQuestVariable"

So not to far below the default "GetIsID" it starts at.

After selecting that , go to "Function Parameters" and click the button that says "INVALID,UNKNOWN"

It will pop up a "Select Function Parameters" window. In the top section named Quest , find your quest in the drop down list. Then all available variables in that quest will show in the drop down for "Variable Name"

In this case find "iDrinks" or what ever you are using for that variable. Click Ok to close that.

Then back on the "Condition Item" leave the comparison as == , but change the value to what ever the effect name is suppose to show. Then click ok , and now you are looking at the Effect Item window again.

Which you should now see your condition listed in the condition field. But if you do not see your condition listed. That is a windows bug that squashes all the text to the left. Which I'm afraid to say all your condition boxes are going to do that , every time you close/open , switch tabs. But to expand those quickly to see what is in them.

Click in the field to make sure it is active , then hold right "Ctrl" key , press "+" key on num pad to expand it.

 

So then you just do that for each effect on each ingestible .

See how that goes for you , then we'll move on.

Link to comment
Share on other sites

Thank you very much Mktavish, I will do that part of the work and tell you where I am before going further, you are right without that it would be useless to pursue the next steps. ;) !

I also need to know: I believe I know how to unpack some items from a BSA, for example the canteen model, in order to modify the texture whiwh then will be the one to attach to the final object used. But I wondered If then I need to repack it in a new BSA ? Or that the datas wil be stored in the ESP I will do ? Thanks a lot once again. :)

Sorry about the quick, too quick answer, but I think for now you did very well and have been helpful, now it's time I do on my side the first steps of the work as you wrote upper, and then come back to you to discuss the next steps seeing the work done.

 

Have a nice day, also, I may take a few time because I need to figure out fully how to achieve the first part practically, and I do not forget the time differences between our respective countries (more or less 6 hours of difference, that could explain why we have some delay before communicating each other :p ! )

 

Really enjoying discussing with you !

 

Ewendoun

Link to comment
Share on other sites

No you don't have to repack it. But if you are changing the model (texture) .

Then you leave those files in the loose folders. And upload those files with the .esp.

Like the "meshes" & "textures" folders that come with Lfox's mod.

Actually , it looks like they have the Vault 13 Canteen already unpacked.

So just use theirs. Change those how you want. Then put them in a folder structure like theirs.

 

If you can't tell how Lfox structured their asset folders , because now it is mixed in with umpteen different mods. Then just re-download their mod to see.

 

But just a mention for future use. If you need an asset from a BSA . To put on a different object. Since you can only browse files in loose folders.

You un pack the BSA ... copy/paste it , making sure you keep the same folder structure in the loose folder. Find it in geck , and assign , save .esp .

Then you can delete the loose folder asset , and it will find it in the BSA .

Therefore not needing to upload assets that are already in the BSA.

But anytime the asset is not the same as the BSA , the folder structure doesn't matter , and you must upload it with the .esp .

Packaging and Re-packaging archives is a whole different thing , not needed to bring up here.

Link to comment
Share on other sites

Thanks Mktavish, and good morning from France !

 

I believe I understand the point about BSAs, a simple question : where can I send you the work I try to complete ? Do you have (by PM if you prefer) an email ? That is very useful, and good to have a kind of scripting teacher as you may be ! Thanks, I will come back soon with work done :) !

 

Ewendoun

Link to comment
Share on other sites

  • 8 months later...

Hi there, sorry about the time elapsed since last post. Specially my apologies to Mktavish whom advices and knowledge has been absolutely valuable, once again all the thanks. Apologies about my poor english writing style. I am back, as I have few time at disposal ( happy father as I now am, really ;) :D !!!), and comes back to business about my new vegas projects. More to come soon, happy last days until new year day !!

 

Sincerely,

Ewendoun

Link to comment
Share on other sites

  • 1 year later...

WoW ya two years ... An auto drink flask sounds pretty good after the state of things ... heHe

You still in France ? I moved closer to ya ... Missip

 

Ahh Yaa back to the ~Flask~ I'll have to catch back up on the concepts ... but after re-read ... maybe I needed to chill out and listen to U more :/

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...