Savage117 Posted November 25, 2010 Author Share Posted November 25, 2010 Should I ask to get this entry moved to the mod troubleshooting area? I thought that area was for help with installing mods or help with existing mods, but it seems to have help on making mods too. Also, thank you all for your help, but Im gonna need a lot more, I just don't understand scripting for some reason. Infer0 thank very much for your help but I don't understand what you mean by "run on" command. For some reason, no matter how i change the results script it always runs the take money give perk block, its very frustrating. Is there a way to reference the give perk block after completing the check players money block, and making sure it doesn't keep going if it comes back false. I'm assuming the condition part of the terminal setup is it's own script thing. Does it run first or last? I don't know why I can't seem to get this scripting thing down, I did all kinds of mods for STALKER, hard to teach an old dog new tricks I guess. Link to comment Share on other sites More sharing options...
Ez0n3 Posted November 25, 2010 Share Posted November 25, 2010 (edited) Capitalization doesn't matter, but you should make it consistent so that it's easy on the eyes. player.RemoveItem caps001 4000set vDialogueMedicalClinic.bInstalledPerception to 1set vDialogueMedicalClinic.nImplantsInstalled to (vDialogueMedicalClinic.nImplantsInstalled + 1)...But I don't understand what the "set vdialogmedicalclinic" parts do and whether I need them to get my terminal to work properly."vDialogueMedicalClinic" is a quest. It has a script assigned to it in its properties. That assigned script has the variables "bInstalledPerception", "nImplantsInstalled", etc in it. When there's a "b" at the beginning (EG: bInstalledPerception), it's a bool - 1 or 0 - true or false. Not sure what "n" is, "Number" maybe? Probably keeps track of the total implants the player has received. Other scripts or what not can check "vDialogueMedicalClinic.bInstalledPerception" to see if it is "1", then they can tell that implant has been received. And it can check "vDialogueMedicalClinic.nImplantsInstalled" to see how many the player currently has. So in the terminal, you could have:1) Item Text: Would you like to buy the Perception implant?- GetQuestVariable -> vDialogueMedicalClinic -> bInstalledPerception == 0- Item Result Script:set vDialogueMedicalClinic.bInstalledPerception to 1 ; so it won't always be 0set vDialogueMedicalClinic.nImplantsInstalled to (vDialogueMedicalClinic.nImplantsInstalled + 1) 2) Item Text: You already have the Perception implant.- GetQuestVariable -> vDialogueMedicalClinic -> bInstalledPerception == 1 If you want to use the "HasPerk" instead, you need to change the "Target" which is "Subject" by default (I can see the "S" under "Ta..." in your screenshot) to a reference instead. Pick any cell -> Player. Then it will run that check on the Player instead of the Subject which is the terminal itself. You could also run a check on nImplantsInstalled to limit the amount of total implants:- GetQuestVariable -> vDialogueMedicalClinic -> nImplantsInstalled < 10 Edited November 26, 2010 by Ez0n3 Link to comment Share on other sites More sharing options...
Savage117 Posted November 26, 2010 Author Share Posted November 26, 2010 Capitalization doesn't matter, but you should make it consistent so that it's easy on the eyes. player.RemoveItem caps001 4000set vDialogueMedicalClinic.bInstalledPerception to 1set vDialogueMedicalClinic.nImplantsInstalled to (vDialogueMedicalClinic.nImplantsInstalled + 1)...But I don't understand what the "set vdialogmedicalclinic" parts do and whether I need them to get my terminal to work properly."vDialogueMedicalClinic" is a quest. It has a script assigned to it in its properties. That assigned script has the variables "bInstalledPerception", "nImplantsInstalled", etc in it. When there's a "b" at the beginning (EG: bInstalledPerception), it's a bool - 1 or 0 - true or false. Not sure what "n" is, "Number" maybe? Probably keeps track of the total implants the player has received. Other scripts or what not can check "vDialogueMedicalClinic.bInstalledPerception" to see if it is "1", then they can tell that implant has been received. And it can check "vDialogueMedicalClinic.nImplantsInstalled" to see how many the player currently has. So in the terminal, you could have:1) Item Text: Would you like to buy the Perception implant?- GetQuestVariable -> vDialogueMedicalClinic -> bInstalledPerception == 0- Item Result Script:set vDialogueMedicalClinic.bInstalledPerception to 1 ; so it won't always be 0set vDialogueMedicalClinic.nImplantsInstalled to (vDialogueMedicalClinic.nImplantsInstalled + 1) 2) Item Text: You already have the Perception implant.- GetQuestVariable -> vDialogueMedicalClinic -> bInstalledPerception == 1 If you want to you the "HasPerk" instead, you need to change the "Target" which is "Subject" by default (I can see the "S" under "Ta..." in your screenshot) to a reference instead. Pick any cell -> Player. Then it will run that check on the Player instead of the Subject which is the terminal itself. You could also run a check on nImplantsInstalled to limit the amount of total implants:- GetQuestVariable -> vDialogueMedicalClinic -> nImplantsInstalled < 10 Wow, This is getting a lot more complicated than I thought it would, the dialog and terminal interfaces look so similar I thought it would be a cut and paste patchup job, but it looks like ill need to write my own custom script, or most of it, I don't think I understant it well enough to do that. I get the idea of what you are saying, thank you Ez0n3, but for some reason its hard for me to actualy see what its realy doing, or what im doing wrong when it doesnt work. Thank you Ez0n3 that thing was starting to drive me mad, I thought it was used for linking terminals to doors and such, didnt know I could link to the player. The condition thing still has me a little stumped though, when a condition runs what does it do at the end? For instance, lets say I want the player to only get the perk once, say its a unranked perk, like Bloody Mess, I would put "Hasperk", referance the player the way you told me, choose Bloody Mess in the list of perk choises, this is where it gets fuzzy. Do I make it >= greater than or equal to, meaning they have the perk, and then a value of 0 or 1? Im assuming the value is supposed to denote whether the statement is false 0 or true 1, how do I tell it what to do if it is false or true? Or does it figure that out on its own, has a default setting for when it comes up false? Or is the value telling the script how many perks of that type the player has? Arg :wallbash:. Im sorry im being such a vampire here, you guys are a great help, and im realy not giving anything in return, other than more frustration :smile:, if you guys need anything id be willing to help. Link to comment Share on other sites More sharing options...
Ez0n3 Posted November 26, 2010 Share Posted November 26, 2010 (edited) According to he wiki, HasPerk is a bool: 1=true, 0=false. Something like this probably:http://img249.imageshack.us/img249/9541/perkterm.jpg Edit:Force redraw will update the screen right after the selection, should have ticked that :P Edited November 26, 2010 by Ez0n3 Link to comment Share on other sites More sharing options...
Interfer0 Posted November 26, 2010 Share Posted November 26, 2010 == 0 would mean the player doesn't have the perk==1 would mean the player doesI think == 2 would check if the player has the second level. The reason I wouldn't suggest using the vDialogue is because you arn't checking for a variable that is updated only by your terminal. A player would be able to get the Perk on his own, and that would throw off your variable stored in the quest dialogue. I am not 100% sure of why people prefer Quest /Dialogue variables over Global variables. I think it has to do with memory issues. Link to comment Share on other sites More sharing options...
Interfer0 Posted November 26, 2010 Share Posted November 26, 2010 Ok, not sure how to check Perk Ranks. Link to comment Share on other sites More sharing options...
Recommended Posts