christianerding2 Posted June 3, 2014 Share Posted June 3, 2014 (edited) Hello Modders, I am having a strange problem. I can compile some scripts in the CK, but others not. I was trying to make small modifiktions for practice, but on some *.psc compiling never worked, it was pure madness... Then I found out that even the unchanged original source files did NOT compile. Since that moment I am clueless... AND I am talking about the original UNCHANGED scripts. For example: Sands of time, sleeping module. SOTSleepMCM.psc will not compile. SOTModule1Sleep.psc compiles correct. Training Dummies Provide XP from Carl Corey: TrainingDummies_Config.psc FailedTrainingDummiesSpeech.psc SuccededTrainingDummiesXP.psc Failed also see picture Am I missing something?? This scripts HAVE to work, otherwise the creators could not compile them! Are there others compilers the modders might use? I can not get into scripting, when even original scripts will not compile. My CK version is 1.9.32.0 Thankfull for any advice or help, Christian (who is beginning to lose his mind) Edited June 3, 2014 by christianerding2 Link to comment Share on other sites More sharing options...
ripple Posted June 3, 2014 Share Posted June 3, 2014 I am not sure what you want to do, but if the scripts don't compile, you actually need to provide the script and the compile error. Otherwise, how would anyone know why they are not compiling? Link to comment Share on other sites More sharing options...
christianerding2 Posted June 3, 2014 Author Share Posted June 3, 2014 (edited) Well I can not provide much, but I will give all the information anyone needs, but as the pictures says it a simple "failed".Papyrus log is equally usefull:[06/03/2014 - 11:49:41PM] EditorPapyrus log opened (PC)[06/03/2014 - 11:49:41PM] Memory page: 128 (min) 512 (max) 76800 (max total) Script is correct because it is the original source files from "Training Dummies Provide XP" Mod. Consisting of:TrainingDummies_Config.pscTrainingDummiesSpeech.pscTrainingDummiesXP.psc What is interesting is, when I put all three files in a empty scripts\source folder, even "TrainingDummiesSpeech.psc" fails. I present one of the failling scripts for reading, but I am sure they contain no errors, like said, they are original: ********************* Scriptname TrainingDummiesXP extends ObjectReference { Increment skill XP slightly when practicing on dummies and targets }GlobalVariable Property TrainingDummyBaseXP auto ; Base XP awarded for successful attackGlobalVariable Property TrainingDummyVariableXP auto ; 0 to this number extra XP awarded each timeGlobalVariable Property TrainingDummyPowerMult auto ; Multiplier for power attack (doesn't work)GlobalVariable Property TrainingDummyBonusEnable auto ; Disable distance bonuses by setting this to 0GlobalVariable Property TrainingDummyMinDist auto ; Minimum distance for projectile attacksGlobalVariable Property TrainingDummyBonusDist auto ; Distance at which a bonus will applyGlobalVariable Property TrainingDummyBonusIncr auto ; Extra XP awarded based on this increment over bonus distanceGlobalVariable Property TrainingDummyBonusXP auto ; Amount of bonus XP award per distance incrementGlobalVariable Property TrainingDummyWarnTooClose auto ; If not 0, warn the archer if too close to targetGlobalVariable Property TrainingDummyMagicXP auto ; If not 0, award XP for destruction spellsGlobalVariable Property TrainingDummyPerSecondXP auto ; XP awarded per second for spells with duration > 0GlobalVariable Property TrainingDummyBashBlockXP Auto ; If not 0, award Blocking XP for Bash attacksMessage Property TrainingDummyWarnTooCloseMessage auto; **********************************************************************************************; Examples:; Attack with handheld weapon:; Award BaseXP (could be 0) plus 0 to VariableXP extra (could be 0 either by seetting VariableXP to 0 or by 'rolling' a 0); Attack with a bow:; Archer distance less than MinDist:; 0 XP awarded; Archer distance at least MinDist and less than BonusDist:; Calculated as per handheld example above; Archer distance greater than BonusDist:; Calculated as per handheld example above PLUS BonusXP PLUS BonusXP for each BonusIncr units distance above BonusDist; Attack with a duration 0 spell (i.e., Firebolt); Calculated as per handheld example above; Attack with a spell with duration > 0 (i.e., Flames); PerSecondXP awarded for each second of duration; **********************************************************************************************Event onHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked) ; Debug.Notification("ouch") If akAggressor == Game.GetPlayer() ; Debug.Notification("Hello Dovahkin") ; ******************************* ; Calculate the basic XP to award ; ******************************* Int baseXP = TrainingDummyBaseXP.GetValue() as Int ; I guess power attacks don't register on dummies if abPowerAttack Debug.Notification("woah! power!") baseXP *= TrainingDummyPowerMult.GetValue() as Int EndIf Int xp = baseXP + Utility.RandomInt(0, TrainingDummyVariableXP.GetValue() as Int) ; ******************************************************** ; Discover the weapon type to see what kind of XP to award ; ******************************************************** Weapon akWeapon = akSource as Weapon Int weaponType = akWeapon.GetWeaponType() Int sourceType = akSource.GetType() ; Debug.Notification("Weapon type: " + weaponType) ; Debug.Notification("Source type: " + sourceType) ; Debug.Notification("Bash: " + abBashAttack) Bool isATarget = self.HasKeywordString("TrainingDummyTarget"); ; Debug.Notification("isATarget=" + isATarget) if sourceType == 41 If weaponType > 0 && weaponType <= 4 && !isATarget ; Debug.Notification("OneHanded + " + xp) Game.AdvanceSkill("OneHanded", xp as Float) ElseIf (weaponType == 5 || weaponType == 6) && !isATarget ; Debug.Notification("TwoHanded + " + xp) Game.AdvanceSkill("TwoHanded", xp as Float) ElseIf weaponType == 7 || weaponType == 9 Int iArcherDistance = akAggressor.GetDistance(Self) as Int Int iBonusDistance = TrainingDummyBonusDist.GetValue() as Int Int iBonusIncrement = TrainingDummyBonusIncr.GetValue() as Int Int iMinDistance = TrainingDummyMinDist.GetValue() as Int Int iBaseBonusXP = TrainingDummyBonusXP.GetValue() as Int Bool fBonusEnabled = TrainingDummyBonusEnable.GetValue() as Int != 0 If iArcherDistance >= iMinDistance ; Calculate distance bonus if not disabled (iBonusDist <= 0) If fBonusEnabled ; used to be: iBonusDistance > 0 Int iOverBonusDist = (iArcherDistance - iBonusDistance) / iBonusIncrement If iOverBonusDist >= 0 ; Int iBonusXP = iBaseBonusXP + (iOverBonusDist * iBaseBonusXP) ; Debug.Notification("Distance " + iOverBonusDist + " over. Bonus = " + iBonusXP) xp += iBaseBonusXP + (iOverBonusDist * iBaseBonusXP) EndIf EndIf ; Debug.Notification("Marksman + " + xp) Game.AdvanceSkill("Marksman", xp as Float) ElseIf TrainingDummyWarnTooClose.GetValue() as Int != 0 TrainingDummyWarnTooCloseMessage.Show() EndIf EndIf ElseIf sourceType == 0 && weaponType == 0 && !isATarget && TrainingDummyBashBlockXP.GetValue() as Int != 0 ; Assume shield bash. abBashAttack doesn't get set on dummies ; Debug.Notification("Block + " + xp) Game.AdvanceSkill("Block", xp as Float) ElseIf sourceType == 22 && !isATarget && TrainingDummyMagicXP.GetValue() as Int != 0 ; This was a spell Spell akSpell = akSource as Spell int numEffects = akSpell.GetNumEffects() int index = 0 While index < numEffects MagicEffect effect = akSpell.GetNthEffectMagicEffect(index) If effect.GetAssociatedSkill() == "Destruction" Int duration = akSpell.GetNthEffectDuration(index) If (duration > 0) xp = duration * TrainingDummyPerSecondXP.GetValue() as Int EndIf ; Debug.Notification("Destruction + " + xp) Game.AdvanceSkill("Destruction", xp as Float) EndIf index += 1 EndWhile EndIf EndIfEndEvent Edited June 4, 2014 by christianerding2 Link to comment Share on other sites More sharing options...
ripple Posted June 3, 2014 Share Posted June 3, 2014 What I mean is, when you try to compile the scripts individually, you will receive error messages about why the script failed to compile, like if properties have not been defined, etc. That will indicate to you what the issue might be. For future reference, please use spoiler tags for long lists of stuff so they won't clutter the screen. Also, I am curious, but why are you trying to recompile scripts from mods? Have you made edits to them? If not, there shouldn't be a reason to recompile them. Link to comment Share on other sites More sharing options...
christianerding2 Posted June 4, 2014 Author Share Posted June 4, 2014 (edited) "Also, I am curious, but why are you trying to recompile scripts from mods? Have you made edits to them? If not, there shouldn't be a reason to recompile them." That is the point, I did try to make a german translation for a few mods, by just exchanging english words to german, or altering the xp gain in the scriot by just changing !one! number. It never compiled. :-P I am not a total idiot, I did make mods for X3 Reunion and released a few translations and bugfixes for Skyrim which work. I tried to narrow it down, but I could not. THEN I even used the scripts fresh from the author AND it failed, too. I KNOW it can't be but it IS! Papyrus just hates me. I enabled papyrus loggin. But it says nothing, no error message! Just a plain failed! (See picture in first post.) That is what I can get from Skyrim\logs\ : [06/04/2014 - 06:46:09AM] EditorPapyrus log opened (PC)[06/04/2014 - 06:46:09AM] Memory page: 128 (min) 512 (max) 76800 (max total) It is not really helpfull, is there a way to see WHY it fails?? Are there any settings in the CK, I should change I run the german version. You can try it by yourself! Copy the script above in the CK and try to compile it! It will fail! If not I am the only one having this problem. Greetings, Christian P.S. Did give spoiler tagging a try, isn't work either, does not hide Text, only one empty line.One of these days... Edited June 4, 2014 by christianerding2 Link to comment Share on other sites More sharing options...
ripple Posted June 5, 2014 Share Posted June 5, 2014 (edited) Like I said, try to compile the scripts individually in the CK, rather than all at once. This will provide the error log that indicates specifically why the scripts have failed to compile (probably because properties have not been defined, you need to do this after you edit the script). The Papyrus log is not going to give you any information about why the scripts have failed to compile (that's not what's its for). Edited June 5, 2014 by ripple Link to comment Share on other sites More sharing options...
christianerding2 Posted June 5, 2014 Author Share Posted June 5, 2014 (edited) Hello Ripple, since you do not give up to help me, I do not give up to provide helpfull information.But I don't understrand this:"This will provide the error log that indicates specifically why the scripts have failed to compile""The Papyrus log is not going to give you any information about why the scripts have failed to compile (that's not what's its for)." What do you mean are there two different logs? Mine is from Skyrim\logs\After compile failed, there ist nothing new in here.I did OF COURSE complie the files individually, again no error log just a simple failed on the compilation try. At least I could narrow down things! This is the first problem: Scriptname SOTSleepMCM extends SKI_ConfigBase A script with this single line in it and nothing more will not complie. When I change it to this it complies: Scriptname SOTSleepMCM extends Quest But this of course ruins the original script. So the problem seems that it is a MCM script.It seems that is has to be complied in a special way... Edited June 5, 2014 by christianerding2 Link to comment Share on other sites More sharing options...
ripple Posted June 5, 2014 Share Posted June 5, 2014 Ok, you didn't mention you were trying to compile an MCM script before? MCM requires SKSE, so I would say 1) make sure you have SKSE installed and 2) make sure your SKSE is up to date. I don't think there are any extra steps required to launch SKSE in the CK (just launch CK normally, with SKSE installed), but I could be wrong... By 'error log', I mean when you try to compile a script individually in the CK, if the script fails to compile, the CK will bounce a number of error messages indicating -why- the script failed to compile. Incidentally, the scripts you are trying to recompile, are they embedded in BSA's or did you extract the source files (psc)? Link to comment Share on other sites More sharing options...
IsharaMeradin Posted June 5, 2014 Share Posted June 5, 2014 Let's condense some of the information... When you compile a script, individually or in a group, if it fails there is information available that will tell you what the problem is. In the case of an individual compile, it will be displayed automatically. In the case of a group file, the information will be shown when you select the failed file in question (see image in first post, selecting one of the failed ones would have shown the compiler errors in the box below). Some scripts require DLC scripts to communicate with, if the DLC scripts are not copied from their individual source folder into the source folder designated for use with the Creation Kit these scripts will fail. (see SkyrimEditor.ini and the designated folder for the following entry: [Papyrus] sScriptSourceFolder = Please note, that you may change that folder assignment if you wish and copy-paste all source scripts into one singular location). Some scripts require SKSE, if SKSE is not properly installed these scripts will fail. See Gopher's video for proper installation procedures (his install method is proper for both non-mod author and mod author setups alike) Some scripts which use SkyUI's MCM, require that the latest SDK (software development kit) be installed during compilation and initial script setup. ************************************************ Incidentally, the scripts you are trying to recompile, are they embedded in BSA's or did you extract the source files (psc)?FYI - The Creation Kit will not allow you to even attempt to compile a script that does not have a loose version available. Also, the Creation Kit will not allow you to access property values without an accessible PEX file, either in a BSA file designated in the SkyrimEditor.ini or loose in the scripts folder. Link to comment Share on other sites More sharing options...
christianerding2 Posted June 6, 2014 Author Share Posted June 6, 2014 (edited) I have to thank for all that good advice. With this information I learned much more about compiling. You are both totally right. I downloaded the SDK-Kit for MCM scripts and now they compile flawless and I can try to get my translation of the script done. Thx a lot to both of you, for patience and real helpfull advice. ** Problem solved ** Greetings from Germany, Christian (returning to sanity) Edited June 6, 2014 by christianerding2 Link to comment Share on other sites More sharing options...
Recommended Posts