Jump to content

TobiaszPL

Banned
  • Posts

    204
  • Joined

  • Last visited

Posts posted by TobiaszPL

  1. Ok other question,

    if i use PlayAndWait and then i use StopInstance it will work?

     

    i don't have any sounds on this PC so i can't test T_T...

     

    int InstanceID

     

    State A

    Event OnActivate( ObRef Ref )

    GotoState( "B" )

    InstanceID = PlayAndWait()

    EndEvend

    EndState

     

    State B

    Event OnActivate ObRef Ref )

    StopInstance( InstanceID )

    GoToState( "A" )

    EndEvent

    EndState

     

    how about this? xD

    will State B stop prev started Event and stop playing sound?

  2. if i run -> int instanceID = mySFX.play(self)

     

    is there any way to get

    1 - Time left to finish playing this sound

    2 - actual Volume * SetInstanceVolume

    3 - Object... ugh... this mySFX object ID xD

    #BadEnglish :3 hyhy

     

     

    //Edit:

    ofc. i know that i set this mySFX object as sound source

    but i want to generate it randomly ( one of many items in array will be source )

    { also they can be added by spell xD }

     

    my english is potato so i can't explain perfectly what i want xD

    but plz don't waste time for anything else than functions for things i ask :D

     

    //Edit2:

    im asking for something like this:

    int ABC = instanceID.GetTimeLeft()

    int ABC = instanceID.GetVolume()

    int ABC = instanceID.GetSource()

     

    but those functions are not working xDDD lel

  3. Why you want to use Enbseries.ini instead of doing it ingame?

     

    Shift + Enter or your key to Enter ENB Editor in game

    and change ENB in game... change time to Night and make fun with Sliders... once you done press "Save Settings" and DONE :D !

     

     

    i have nice Nights that are complete Black :)

    even sky is 100% Black color like real Night is :)

     

    to see Real Night you have to be in Forest or somewhere where are no lights

     

    Night in City isn't like Night in for example Forest

    Moon give almost no Light :)

     

    #Sry4BadEnglish :)

     

     

    Change Fog / Sky / Clouds / Sun and Moon to change Night look

  4. This time something VERY hard xD

     

     

    Here is Script:

     

     

    Scriptname QLG_Script_SwitchLight extends ObjectReference  
    { 
    	!:! This Script Support only 32 Objects !:!
    }
    Import Sound
    ;===- Base Info. -===;
     ;Created: 2019-03-17
     ;Update: 2019-04-11
     ;Author: TobiPL
     ;Unit: M.PC<1>
    ;===- Var. setup -============================================
    	Actor Property QPlayer Auto
    	{ Player Ref. }
    ;===- Items Var. -===============================
    ;***********************************************;
    	FormList Property QData auto
    	{ List of Used items
    		<< Order >>
    		 :0: - Light
    		 :1: - Light Effect
    		 :2: - Static
    		 :3: - Sound Marker }
    	ObjectReference[] QDataArray
    	
    	Sound Property QSoundFireUp Auto
    	{ Sound to Play on fire activate }
    	
    	Sound Property QSoundFireOut Auto
    	{ Sound to Play on fire deactivate }
    
    	Float Property QTurnOffDelay auto
    	{ Time in GameH to Off Light, 0.5 Mean 30 Min }
    ;================================================
    ;===- Main Script -==============================
    ;***********************************************;
    Event OnInit()
    	If( FirstUse )
    		Constructor()
    		FirstUse = true
    	EndIf
    	
    	If( QFired )
    		GoToState( "QState_Working" )
    	Else
    		GoToState( "QState_Ready" )
    	EndIf
    EndEvent;==- Var. List -==;
    	Bool FirstUse = true
    	;
    ;*************************;
    	State Wait
    		; Do Nothing
    	EndState
    ;================================================
    ;***********************************************;
    State QState_Ready
    	Event OnTriggerEnter( ObjectReference QRef )
    		If( ( QRef != QPlayer ) || ( !QFired ) )
    			Return
    		EndIf
    		
    		QFired = true;
    		QLFireUp()
    		RegisterForSingleUpdateGameTime( QTurnOffDelay )
    		GoToState( "QState_Working" )
    		
    	EndEvent
    EndState;==- Var. List -==;
    ;*************************;
    	Bool QFired = false;
    	;
    ;================================================
    ;***********************************************;
    State QState_Working
    	Event OnUpdateGameTime()
    		If( QLUpdateFire() )
    			RegisterForSingleUpdateGameTime( QTurnOffDelay )
    		Else
    			QFired = false;
    			UnregisterForUpdateGameTime()
    			GoToState( "QState_Ready" )
    		EndIf
    	EndEvent
    EndState;==- Var. List -==;
    	;
    	;
    ;================================================
    ;***********************************************;
    Bool Function QLUpdateFire()
    	Int Temp = QChain_GetRandomID()
    	Int MyID = QChain_GetAt( Temp )
    	
    	ObjectReference[] TempArray
    	TempArray = new ObjectReference [ 4 ]	; Light, Effect, Static, Sound
    	
    	TempArray[ 0 ] = QDataArray[ 4 * MyID ]
    	TempArray[ 1 ] = QDataArray[ 4 * MyID + 1 ]
    	TempArray[ 2 ] = QDataArray[ 4 * MyID + 2 ]
    	TempArray[ 3 ] = QDataArray[ 4 * MyID + 3 ]
    	
    	QLPlayFireOut( TempArray )
    	QChain_RemoveID( Temp )
    	
    		If( AMT == 0 )
    			Return False
    		EndIf
    	Return true
    EndFunction;==- Var. List -==;
    	;
    	;
    ;================================================
    ;***********************************************;
    Function QLFireUp()
    	ObjectReference[] TempArray
    	TempArray = new ObjectReference [ 4 ]	; Light, Effect, Static, Sound
    	
    	Int DataSize = QData.GetSize()
    		DataSize /= 4
    	Int i = 0
    	While ( i < DataSize )
    		TempArray[ 0 ] = QDataArray[ 4 * i ]
    		TempArray[ 1 ] = QDataArray[ 4 * i + 1 ]
    		TempArray[ 2 ] = QDataArray[ 4 * i + 2 ]
    		TempArray[ 3 ] = QDataArray[ 4 * i + 3 ]
    		
    		QChain_Add( i )
    		QLPlayFireUp( TempArray )
    		Utility.Wait( 0.2 )
    		
    		i += 1
    	EndWhile
    
    EndFunction;==- Var. List -==;
    	;
    	;
    ;================================================
    ;***********************************************;
    Function QLPlayFireUp( ObjectReference[] Data )
    	Int SoundTemp = QSoundFireUp.Play( Data[2] )
    		Data[0].Enable( true )		; Enable Light
    		Data[1].Enable( true )		; Enable Effect
    	
    		Utility.Wait( 0.3 )		; Wait
    	
    		Data[1].Disable( true )		; Disable Effect
    		Data[2].Enable( true )		; Enable Static
    		Data[3].Enable()			; Enable Sound Marker
    		
    		Utility.Wait( 1.7 )		; Wait
    	StopInstance( SoundTemp )
    EndFunction;==- Var. List -==;
    	;
    	;
    ;================================================
    ;***********************************************;
    Function QLPlayFireOut( ObjectReference[] Data )
    	Int SoundTemp = QSoundFireOut.Play( Data[2] )
    		Data[2].Disable( true )		; Disable Static
    		
    		Utility.Wait( 0.3 )		; Wait
    		
    		Data[0].Disable( true )		; Disable Light
    		Data[3].Disable( true )		; Disable Sound Marker
    		
    		Utility.Wait( 1.7 )		; Wait
    	StopInstance( SoundTemp )
    EndFunction
    ;==========================================================
    ;*******************************************************************;
    ;===- Class QChain -=================================================
    ;*******************************************************************;
    ;==========================================================
    		; Item Structure ;		;
    			Int[] NextID		; Next Item ID
    			Int[] PrevID		; Prev Item ID
    			Int[] RefID			; Value to Object ID
    	;*******************************************;
    		; Free Strusture ;		;
    			Int[] List			; List of Free IDs
    			Int First			; First Free ID
    	;*******************************************;
    		; Var. List ;			;
    			Int LastUsed		; Last Used Item
    			Int FirstID			; First Item
    			Int LastID			; Last Item
    			Int AMT				; Amount Of Items
    			Int Size = 32		; Size of Array
    	;*******************************************;
    ;================================================
    ;***********************************************;
    Int Function QChain_GetRandomID()
    	Int Temp = FirstID
    	Int Rand = Utility.RandomInt( 0 , AMT )
    	Int i = 0
    		While ( I < Rand )
    			Temp = NextID[ Temp ]
    			i += 1
    		EndWhile
    	Return Temp
    EndFunction
    ;_______________________________________________;
    ;===============================================;
    ;***********************************************;
    Int Function QChain_GetAt( Int ID )
    	Int i = 0
    	Int ItemID = FirstID
    		While ( I < AMT )
    			ItemID = NextID[ FirstID ]
    			If( ItemID == ID )
    				Return RefID[ ItemID ]
    			EndIf
    			i += 1
    		EndWhile
    	Return -1
    EndFunction
    ;_______________________________________________;
    ;===============================================;
    ;***********************************************;
    Bool Function QChain_Add( int NewValue )
    		If( AMT == Size )
    			Return false
    		EndIf
    		
    		int NewItemID = List[ First ]
    		
    		PrevID[ FirstID ] = NewItemID
    		NextID[ LastID ] = NewItemID
    		
    		NextID[ NewItemID ] = FirstID
    		PrevID[ NewItemID ] = LastID
    		RefID[ NewItemID ] = NewValue
    		
    		LastID = NewItemID;
        
    		First -= 1
    		AMT += 1
    		
    		Return true
    EndFunction
    ;_______________________________________________;
    ;===============================================;
    ;***********************************************;
    Bool Function QChain_RemoveID( int ID )
    		If( AMT == 0 )
    			Return false
    		EndIf
    		int ItemID = FirstID
    		Int i = 0
    		While ( i < AMT )
    			If( ID == ItemID )
    				
    				AMT -= 1
    				First += 1
    				List[ First ] = ID
    				NextID[ PrevID[ ItemID ] ] = NextID[ ItemID ]
    				PrevID[ NextID[ ItemID ] ] = PrevID[ ItemID ]
    				
    				If( ItemID == FirstID )
    						FirstID = NextID[ ItemID ]
    					EndIf
    				If( ItemID == LastID )
    						LastID = PrevID[ ItemID ]
    					EndIf
    				Return true
    			EndIf
    			ItemID = NextID[ ItemID ]
    			i += 1
    		EndWhile
    	Return false
    EndFunction
    ;_______________________________________________;
    ;===============================================;
    ;***********************************************;
    Function Constructor()
    	
    	NextID = new Int [ 32 ]
    	PrevID = new Int [ 32 ]
    	RefID = new Int [ 32 ]
    	List = new Int [ 32 ]
    	QDataArray = new ObjectReference [ 128 ]
    
    	Int T = 0
    	Int DataSize = QData.GetSize()
    		DataSize /= 4
    	While ( T < DataSize )
    		QDataArray[ 4 * T + 0 ] = QData.GetAt( T ) as ObjectReference
    		QDataArray[ 4 * T + 1 ] = QData.GetAt( T ) as ObjectReference
    		QDataArray[ 4 * T + 2 ] = QData.GetAt( T ) as ObjectReference
    		QDataArray[ 4 * T + 3 ] = QData.GetAt( T ) as ObjectReference
    		
    		T += 1
    	EndWhile
    	
    	First = Size - 1
    	
    	Int i = 0
    		While ( i < Size )
    			List[i] = ( Size - i ) - 1 ;
    			NextID[i] = 0;
    			PrevID[i] = 0;
    			RefID[i] = 1;
    			i += 1
    		EndWhile
    	AMT = 0;
    	LastUsed = 0;
    	FirstID = 0;
    	LastID = 0;
    EndFunction
    ;***********************************************;
    ;=============- QChain Class END -==============;
    ;***********************************************;
    ; Hello I'm Tobi and my Sexy Cat is Nicole !... 

     

     

     

     

     

    Anything to Fix ? :D

    i Mean how it work no how it look :smile: ReDragon <3 xDD

     

    //Edit:

    lel xD Few stupid misstakes :D

    //Edit2:

    Constructor was never in use xD

    //Edit3:

    More Fixes :D ! yey xD

    omfg i was working for last 11 h... even this small code take 3h xD

    i go 4 something to Eat and GL with looking for more bad in Code :D

     

     

    and TY 4 help if any1 want to help with this ugly code xD

     

    ugly cause lel... can't use classes and structures T_T

  5. all i need is test few Int Values...

     

    i dont even need Screen for this... it can be show by BIM BIM BIM xD

    #EpicEnglish

     

    i mean by sound in Bits lel

     

    for example

    "is this function doing what i want and if GOOD Values are in GOOD place"

     

     

    Bool Function QChain_Add( int NewValue )
    		If( AMT == Size )
    			Return false
    		EndIf
    		
    		int NewItemID = List[ Free.First ]
    		
    		PrevID[ FirstID ] = NewItemID
    		NextID[ LastID ] = NewItemID
    		
    		NextID[ NewItemID ] = FirstID
    		PrevID[ NewItemID ] = LastID
    		RefID[ NewItemID ] = NewValue
    		
    		LastID = NewItemID;
        
    		Free.First -= 1
    		AMT += 1
    		
    		Return true
    EndFunction 

     

     

     

     

    all i need is Console without game xD

    //Edit:

     

    y Maxarturo i know about coc but i don't even need any activators etc.

    all i need is see Value that are in Arrays xD

     

    and simple Console can show me this :c...

     

     

    but ok... we don't have anything like this...

     

    i was thinking about something like SoloLearn have for C++ C# JS etc.

    >> https://code.sololearn.com/ckJlW7MfBUFs/#

     

    its this same Class but in C++ :P lel

    and also its QLG DreamEngine Class

     

    DreamEngine can support 3D etc. but if im just testing new Class where is point of loading Game with Graphics?

    or just loading anything more than just this ONE Class and Import req. other functions xD

     

     

    #AgainMyEpicEnglish :D

  6. Script or AiPackage...

    float Function GetHour() 
    	float Time = Utility.GetCurrentGameTime()
    	Time -= Math.Floor(Time)
    	Time *= 24
    	Return Time
    EndFunction
    
    	; Also ;
    	; you can use
    	; >> GetCurrentWeather
    	; >> GetOutgoingWeather
    	; and make NPC change outfit for rain snow etc.
    
    Event OnUpdateGameTime()
    	; if ShouldKeepUpdating == true
    	RegisterForSingleUpdateGameTime( 1 )
    	
    	Temp = GetHour()
    	
    	If ( ( Temp > 8 ) && ( Temp < 20 ) )
    		Npc.SetOutfit( MyDayOutfit )
    	Else
    		Npc.SetOutfit( MyNightOutfit )
    	EndIf
    	
    	; This script can be in NPC
    	; so NPC can control it and shutdown on Event OnDeath()
    
    EndEvent
    

    But its no tested by Me :)

    i hate followers but i know there is Function to Change Outfit cause i was using it many times for my NPCs

  7. its normal that this Game Console Command to Reload Mod is Crashing?

     

    or maybe im using it wrong xD

    cause it was crashing my game i don't remember this command but i know there is command to realod mods :c

    any1 know this command and know why its Crashing my Game ? T_T

     

     

    i was just writing my mod name in one command "Braverock.esp" and then using this second command xD

    all like tutorial about this command xD but after using it my game crash :c...

  8. This point 1 and 2 omfg xDDDDDDDDDDDDDDDDDD

     

     

    there is easy way to see what you are doing wrong... just make video for YouTube?

    with video you can show us how you are doing it

     

    also it will be nice if you show Navmesh, Cell Data, NPC Data etc. in video

     

     

     

    also can you show us all scripts you use?

     

     

    and Maxarturo how you add Images on Forum ? xDD

  9. Any program where i can Run script writen for CK???

     

    Starting game waiting for Load Save and using script and then watching Debug Messages...

    ugh its take so much time -_-...

     

    any1 know any program where i can test Scripts in Console?

    without starting game ofc.

     

     

     

    CK - "ohh yey compiled without errors"

    Game - "ohh fu*k not working, ok back to CK"

    CK - "ok now its gonna work fine !"

    Game - "ohh... its not working... again...."

    CK - "this time it will work !!!"

    Game - "OHH MY FK**G GOD WHY ITS NOT WORKING*

     

    ** My day **

     

     

     

    y i know there is Game Console Command to reload Mod but its crashing my game...

  10. Heyyyyy....

     

     

    Class

     

     

    ;class QChain{		// WIP :: Version 6 ::
    	;private:		// Don't edit my Class ok?
    		;struct QItemST{	sry but i have to edit this T_T
    			int NextID,
    				PrevID;
    			
    			int Value;
    		;}*Item;
    		
    		int FirstID,
    			LastID;
    		
    		int LastUsed;
    			
    		int AMT;
    		int Size;
    		
    		;struct QFreeST{
    			int First;
    			
    			;int *List;
    		;}Free;
    		
    		;Created With QLG Machine
    		;Struct
    			int 
    		;EndStruct
    		
    	;public:
    	;Deleted 14 Functions
    	
    	;int GetID(){
    	;	return LastUsed;}
    	
    	;int GetValueAt( int ID ){
    	;	return Item[ ID ].Value; }
    	
    	;int GetNextAt( int ID ){
    	;	return Item[ ID ].NextID; }
    	
    	;int GetPrevAt( int ID ){
    	;	return Item[ ID ].PrevID; }
    	
    	
    	
    	;int GetSize(){ return Size; }
    	;int GetAmount(){ return AMT; }
    	;int GetLastID(){ return LastID; }
    	;int GetFirstID(){ return FirstID; }
    	
    	
    	
    	;bool Add( int NewValue )
    	;{
    	;	if( AMT == Size )return false;
    	;	
    	;	int NewItemID = Free.List[ Free.First ];
    	;	Item[ FirstID ].PrevID = NewItemID;
    	;	Item[ LastID ].NextID = NewItemID;
    	;	Item[ NewItemID ].NextID = FirstID;
    	;	Item[ NewItemID ].PrevID = LastID;
    	;	Item[ NewItemID ].Value = NewValue;
    	;	LastID = NewItemID;
        ;
    	;	Free.First--;
    	;	AMT++;
    	;	
    	;	return true;
    	;}
    	
    	;bool RemoveID( int ID )
    	;{
    	;	if( AMT == 0 )return false;
    	;	int ItemID = FirstID;
    	;	for(int i=0;i<AMT;i++)
    	;	{
    	;		if( ID == ItemID )
    	;		{
    	;			Free.First++;
    	;			Free.List[ Free.First ] = ID;
    	;			Item[ Item[ ItemID ].PrevID ].NextID = Item[ ItemID ].NextID;
    	;			Item[ Item[ ItemID ].NextID ].PrevID = Item[ ItemID ].PrevID;
    	;			
    	;			if( ItemID == FirstID )
    	;				FirstID = Item[ ItemID ].NextID;
    	;			
    	;			if( ItemID == LastID )
    	;				LastID = Item[ ItemID ].PrevID;
    	;			
    	;			AMT--;
        ;
    	;			return true;
    	;		}
    	;		ItemID = Item[ ItemID ].NextID;
    	;	}
    	;return false;
    	;}
    ;QChain(int iSize=32)
    ;{
    ;	Size = iSize;
    ;	
    ;	Item = new QItemST[ Size ];
    ;	Free.List = new int[ Size ];
    ;	Free.First = Size-1;
    ;	
    ;	for( int i=0; i<Size; i++)
    ;	{
    ;		Free.List[i] = ( Size - i ) - 1 ;
    ;		Item[i].NextID = 0;
    ;		Item[i].PrevID = 0;
    ;		Item[i].Value = 1;
    ;	}
    ;	
    ;	AMT = 0;
    ;	LastUsed = 0;
    ;	FirstID = 0;
    ;	LastID = 0;
    ;	
    ;	
    ;}
    
     

     

     

    its Version 6 and its my bad cause most updated version is 8 xD

    but now i have few free days of work so i can't get good class version :c

     

    i have to work on old xD

     

    here is script you help me making earlier

     

     

    Scriptname QLG_Script_SwitchLight extends ObjectReference  
    {  }
    ;===- Base Info. -===;
     ;Created: 2019-03-17
     ;Update: 2019-04-02
     ;Author: TobiPL
     ;Unit: M.PC<3>
    ;===- Var. setup -============================================
    
    
    ;===- Items Var. ===
    
    	FormList Property QLights auto
    	{ List of Used Lights }
    	
    	FormList Property QStatic auto
    	{ List of Used Static Meshes }
    	
    	FormList Property QLightH Auto
    	{ List of Used Light House Effects }
    	
    	Sound Property QSoundOn Auto
    	{ Sound to Play on fire activate }
    	
    	Sound Property QSoundOff Auto
    	{ Sound to Play on fire deactivate }
    	
    	
    	
    	
    	Bool Property QPlayerOnly auto
    	{ If set to True only Player can Activate Script }
    	
    
    ;===- TurnOff Var. ===
    	
    	Float Property QTurnOffDelay auto
    	{ Time in Game Hours after Light go off 
    		: Set this to 0 for random !... 
    		: Value 0.5 mean 30 Game Min !... }
    
    	
    	Int Property QTurnOffAMT auto
    	{ This value decide how many lights go off each refresh }
    	
    	Bool Property QTurnOff auto
    	{ If this set to True Lights go off after time }
    	
    	Bool Property QAllowRe auto
    	{ Set this value to True if Lights should Turn ON
    		Once Player Enter this same Trigger Again }
    
    	Bool QIsBussy = false
    	; Only for Time Regiesters // Do not change !...
    	
    	Int QLightsLeft = 0
    	; Control how many lights left to Turn off
    	
    	
    ;==========================================================
    	Bool QIsDataLoaded = false
    	ObjectReference[] QArrayLights
    	ObjectReference[] QArrayLightH
    	ObjectReference[] QArrayStatic
    ;==========================================================
    Function QLDataLoad()
    	int i = QLights.GetSize()
    	QArrayLights = new ObjectReference[ i ]
    	QArrayLightH = new ObjectReference[ i ]
    	QArrayStatic = new ObjectReference[ i ]
    		While ( i > 0 )
    			i -= 1
    			QArrayLights = QLights.GetAt( i )
    			QArrayLightH = QLightH.GetAt( i )
    			QArrayStatic = QStatic.GetAt( i )
    		EndWhile
    	QIsDataLoaded = true
    EndFunction
    ;==========================================================	
    	
    
    
    ;===- Script -Main- -================================================
    Event OnInit()
    	If ( QIsBussy ) 
    		GoToState( "QState_Bussy" )
    	Else 
    		GoToState( "QState_Waiting" )
    		QL_TurnLightsOff()
    		QLightsLeft = 0
    		QIsBussy = false
    	EndIf
    EndEvent
    ;====================================================================
    
    
    
    
    ;class QChain{		// WIP :: Version 6 ::
    	;private:		// Don't edit my Class ok?
    		;struct QItemST{	sry but i have to edit this T_T
    			int NextID,
    				PrevID;
    			
    			int Value;
    		;}*Item;
    		
    		int FirstID,
    			LastID;
    		
    		int LastUsed;
    			
    		int AMT;
    		int Size;
    		
    		;struct QFreeST{
    			int First;
    			
    			;int *List;
    		;}Free;
    		
    		;Created With QLG Machine
    		;Struct
    			int 
    		;EndStruct
    		
    	;public:
    	;Deleted 14 Functions
    	
    	;int GetID(){
    	;	return LastUsed;}
    	
    	;int GetValueAt( int ID ){
    	;	return Item[ ID ].Value; }
    	
    	;int GetNextAt( int ID ){
    	;	return Item[ ID ].NextID; }
    	
    	;int GetPrevAt( int ID ){
    	;	return Item[ ID ].PrevID; }
    	
    	
    	
    	;int GetSize(){ return Size; }
    	;int GetAmount(){ return AMT; }
    	;int GetLastID(){ return LastID; }
    	;int GetFirstID(){ return FirstID; }
    	
    	
    	
    	;bool Add( int NewValue )
    	;{
    	;	if( AMT == Size )return false;
    	;	
    	;	int NewItemID = Free.List[ Free.First ];
    	;	Item[ FirstID ].PrevID = NewItemID;
    	;	Item[ LastID ].NextID = NewItemID;
    	;	Item[ NewItemID ].NextID = FirstID;
    	;	Item[ NewItemID ].PrevID = LastID;
    	;	Item[ NewItemID ].Value = NewValue;
    	;	LastID = NewItemID;
        ;
    	;	Free.First--;
    	;	AMT++;
    	;	
    	;	return true;
    	;}
    	
    	;bool RemoveID( int ID )
    	;{
    	;	if( AMT == 0 )return false;
    	;	int ItemID = FirstID;
    	;	for(int i=0;i<AMT;i++)
    	;	{
    	;		if( ID == ItemID )
    	;		{
    	;			Free.First++;
    	;			Free.List[ Free.First ] = ID;
    	;			Item[ Item[ ItemID ].PrevID ].NextID = Item[ ItemID ].NextID;
    	;			Item[ Item[ ItemID ].NextID ].PrevID = Item[ ItemID ].PrevID;
    	;			
    	;			if( ItemID == FirstID )
    	;				FirstID = Item[ ItemID ].NextID;
    	;			
    	;			if( ItemID == LastID )
    	;				LastID = Item[ ItemID ].PrevID;
    	;			
    	;			AMT--;
        ;
    	;			return true;
    	;		}
    	;		ItemID = Item[ ItemID ].NextID;
    	;	}
    	;return false;
    	;}
    ;QChain(int iSize=32)
    ;{
    ;	Size = iSize;
    ;	
    ;	Item = new QItemST[ Size ];
    ;	Free.List = new int[ Size ];
    ;	Free.First = Size-1;
    ;	
    ;	for( int i=0; i<Size; i++)
    ;	{
    ;		Free.List[i] = ( Size - i ) - 1 ;
    ;		Item[i].NextID = 0;
    ;		Item[i].PrevID = 0;
    ;		Item[i].Value = 1;
    ;	}
    ;	
    ;	AMT = 0;
    ;	LastUsed = 0;
    ;	FirstID = 0;
    ;	LastID = 0;
    ;	
    ;	
    ;}
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    ; State - Waiting for player to enter Trigger
    State QState_Waiting
    	Event OnTriggerEnter( ObjectReference QRef )
    		;If ( !QPlayerOnly )
    		;	Return
    		;EndIf
    		
    		
    		
    		If ( QTurnOffDelay <= 1 )
    			RegisterForSingleUpdateGameTime( Utility.RandomInt( 0 , 120 ) )
    		Else
    			RegisterForSingleUpdateGameTime( QTurnOffDelay )
    		EndIf
    		
    		
    		
    		QL_TurnLightsON()
    		QIsBussy = true
    		GoToState( "QState_Bussy" )
    		
    	EndEvent
    EndState
    
    
    
    ; State - ights Activated, waiting to Turn them OFF or Enter Player
    State QState_Bussy
    	Event OnTriggerEnter( ObjectReference QRef )
    		If ( QAllowRe )
    			
    			QL_TurnLightsON()
    			
    		Else
    			
    			; Do Nothing if already working
    			; Or Write anything You want
    			
    		EndIf
    	EndEvent
    EndState
    
    
    
    ; Event on Game Time - Turn off few lights etc.
    Event OnUpdateGameTime()
    	QL_TurnFewLightsOff()
    	
    	If ( QLightsLeft <= 0 )
    		
    		GoToState( "QState_Waiting" )
    		QLightsLeft = 0
    		QIsBussy = false
    		UnregisterForUpdateGameTime()
    	
    	Else
    	
    		If ( QTurnOffDelay <= 1 )
    			RegisterForSingleUpdateGameTime( Utility.RandomInt( 0 , 120 ) )
    		Else
    			RegisterForSingleUpdateGameTime( QTurnOffDelay )
    		EndIf
    	
    	EndIf
    EndEvent
    
    
    
    
    Event OnCellDetach()
    	QL_TurnLightsOff()
    	QLightsLeft = 0
    	QIsBussy = false
    	
    	GoToState( "QState_Waiting" )
    EndEvent
    
    
    
    
    
    ;====================================================================
    Function QL_TurnFewLightsON()
    
    EndFunction
    
    
    ;===- Turn Lights ON -===;
    Function QL_TurnLightsON()
    	
    	; Get Data Ready
    
    
    
    	int I = QLights.GetSize()
    	
    	QLightsLeft = I
    	
    	While ( I >=0 )
    		I -= 1
    		
    		 ( QLights.GetAt(I) as ObjectReference ).Enable( true )
    		 ( QStatic.GetAt(I) as ObjectReference ).Enable( true )
    		
    	EndWhile
    EndFunction
    
    
    
    
    
    ; Special value for TurnOffLighsts Functions
    	Int ReFreshLimit = 32
    	; Limit for ReFresh
    	; After this time Lights goes off
    
    Function QL_TurnFewLightsOff()
    	int I = QLights.GetSize()
    	int Loop = 0
    	int Random = 0
    	
    	While ( Loop < QTurnOffAMT )
    		Random = Utility.RandomInt( 0 , I )
    		
    		If ( ( QLights.GetAt( Random ) as ObjectReference ).IsEnabled() )
    			
    			( QLights.GetAt( Random ) as ObjectReference ).Disable( true )
    			( QStatic.GetAt( Random ) as ObjectReference ).Disable( true )
    			
    		EndIf
    		
    		Utility.Wait( 2.3 )
    	
    		Loop += 1
    	EndWhile
    	
    	ReFreshLimit -= 1
    	If ( ReFreshLimit <=0 )
    		QL_TurnLightsOFF()
    	EndIf
    EndFunction
    
    
    
    Function QL_TurnLightsOff()
    	int I = QLights.GetSize()
    	
    	QLightsLeft = 0
    	
    	While ( I >=0 )
    		I -= 1
    		
    		( QLights.GetAt(I) as ObjectReference ).Disable( true )
    		( QStatic.GetAt(I) as ObjectReference ).Disable( true )
    		
    	EndWhile
    EndFunction
    
    
    
    
     

     

     

     

    y i know my code is perfect :3

     

     

     

    what this class do?

    Its Array like Chain so one objects is connected with next and prev "chain eye"

    we can easly delete and create new "chain eyes"

     

    i want this class to control how many Lights still left to Out

    also i want this class to Manage every object in Script

     

     

     

    i know my code is very long and... well not very easy to read

    but if any1 have time and want to help me im w8ing and also trying to make this class in CK :D

     

    in C++ it was tested and working fine but like i said i copied Version 6 not 8 so there may be still

    some bad functions, also i delete many functions im not gonna need but i read this class

    and im prety sure i dont delete anything that is need

     

     

    What this script have to do?

    1) Turn ALL Lights if Player Enter TriggerBox

    2) Wait 1 hour and Turn Off few Lights

    3) If All lights Off Disable and wait for Player

     

     

     

    sry 4 my english and ty for help :smile:

  11. Scriptname <YourName> extends ObjectReference
    
    	Actor Property QActor Auto
    	{ Actor Ref. to Activate }
    
    Event OnActivate( ObjectReference QRef )
    	QActor.Enable()
    EndEvent
    

    For Activator... Leaver / Chain etc.

    just add this script and fill Properties

    Scriptname <YourName> extends Actor
    
    Event OnInit()
    	Self.Dinable()
    EndEvent
    

    For player lol...

     

    your question is perfect... idk even 4 what you are asking...

     

    how would I enable an existing but initially disabled NPC with Papyrus?

     

    <Actor>.Enable()

    here: https://www.creationkit.com/index.php?title=Enable_-_ObjectReference

  12. to start script by other script you can cast spell with script you want to start lel...

     

    scripts can be attached to spells :D

     

    lol xD "You can" hi tobi <3

    im gonna test my idea with Spells starting Scripts and strill trying to make something with starting script on dialogue enter xD

     

     

     

    ty. 4 help foam and ishara :P

  13. 1) Event if player started dialogue with NPC

    - just if E was pressed on NPC to talk

     

    2) Event if player selected specific dialogue with NPC

    - for example event if player choice "Hello" in dialogue :x

     

    OnActivate on Actor is not working or im using it wrong xDDD

     

     

     

    i just want to run script if player start talk with NPC

    and i want to run script if player choice dialogue option

     

    also is there any way to Start Script from script ? xD

     

    for example:

     

    Script Property ScriptToRun Auto

     

    Start( ScriptToRun )

     

     

    xDD its probably not possible cause how i will fill properties with this "Start" Function but maybe there is way to do this :D

  14. Is there any way to Copy Landscape ? :D

     

     

    i want to duplicate ONLY Terrain Height and Terrain "textures"

    i dont need Objects / navmesh etc.

     

    //Edit:

    ofc. im asking about any possible way to do it, so other programs including :P

    cause i think in CK i can't do something like this xD

  15. TranslateToRef? lel

     

    not gonna explain you everything cause i have only 5 min left and i leave home << epic english xD

     

    but

     

    1) Place any item *Bridge or something* in every possible possition you want to have this object

    2) select all those objects but left one unselected

    3) replace them with XMarker ( CTRL + F )

    4) Edit Base of this one left and copy Mesh src.

    5) copy this mesh and edit it in NifScope to make collision box move

    6) create new object ( ofc. Movable object ) and replace with this one "position" you left lel...

    7) create script OnActivate for example Dwemer Lever and move object from position to position

     

    maybe if i will have some time ill paste you working script but like i said i can't do it right now :c...

     

     

    with script you can even rotate object by selected by user degrees :tongue:

     

    //Edit:

    hey, here you have Tutorial:

    https://www.youtube.com/watch?v=1lkrX3HYSDc

     

    just watch it and make your own script for your bridge :P

     

    TranslateToRef is PoseToPose thats mean you can place one object in RenderWindow in one position

    with own Rotation and Position and other object with own Rotation and Position and then use this function

    to nice and smooth move to other position :x

  16. I write some stuff but its not very important xD

    Your effect can be easly deleted by other mods :x

     

    so better way is using Magic Effects or something like this maybe Perks instead of SetValue

     

     

    Full Post: xD

     

     

     

     

     

    Scriptname aXMDshrinePowerUpSCRIPT01 extends ObjectReference
    {Activate custom Shrine & with 10 Filled Black Souls Gems gain 10 points of Health}

     

     

    So your Scripts not gonna work with other mods :tongue:

    for example Succubus Heart

     

    Succubus heart ignore everything and overwrite player HP MP SP

    so if you add player 10 HP points succubus heart will easly delete it :tongue:

     

    cause if you... ugh xD not use it you loset your Max hp mp sp

    and if you use it you gain more hp mp sp :D

     

    with Succubus Heart your HP MP SP may hit 1 point :tongue:

    even if player bought your "upgrade"

     

     

     

    even better if you have Wounds mod ( ugly russian letters so i can't write this name ) and Succubus Heart you can have hp less than 0 :tongue:

     

    once i had -723 hp xD "Battle Wounds" applay to my character every possible debuff cause my hp was less than 0 so i got Wounds every sec

     

     

     

    im not sure but Perks and Potions can give player hp even if Succubus Heart is blocking it

    i have one mod that change Dragon Souls to special powers and this mod don't have problems with Succubus Heart

    also im not sure but maybe "Complete Alchemy" is using something else than "SetValue" cause drinking / eathing also give you HP that can't be taken back by Succubus Heart

     

     

    im not sure how those 4 mods works but they will remove your buffs probably :tongue:

     

    so better idea is give player some kind of Perk or Magic Effects or somethings :tongue:

     

     

    i know SetValue will not work cause once i use SetValue in game and Succubus Heart have remove my health anyway :c

     

     

     

     

    but you don't have to change it xD

    you can change it if you want make your mod compatible with other mods :tongue:

     

    #Sry4MyPotatoEnglish :smile:

     

     

     

    im 100% sure spells will work fine cause i have spell "Infinite Ice Body"

    this spell give you 250% of your max hp and make you 100% resist to Ice Magic

     

    and it work as 10 time longer than you have casting this spell

    for example if you casted this spell for 10 sec it will stay on you for 600 seconds xD

     

    so lel you can duplicate your hp just by holding this spell while you walk for example for 5 min so this spell will stay 1 hour :tongue:

    and then in Skill Menu your HP is green color and it can't be changed by Succubus Heart

     

     

    its PROBABLY cause its Spell and Succubus heart change just base value of player healt

     

     

     

    also you can make shrines that for example exchange 1 Black Soul for 10 Hp / Mp / Sp and after 24 h you can use this shrine again :D

     

     

    ok im gonna move it to Spoiler xD

     

     

    Im lvl 44 and i have 490 Hp 580 Mp and 300 Sp xD

     

    Yey, Succubus Heart <3

     

    also i die by 1 shot of almost any weapon xD

     

    Yey, Weapon DMG UI and Hardcore Mode <3

     

     

     

     

  17. I have 127 objects...

     

    and every objects use this same Script...

     

    now i add new Variable to this Script...

     

    and those 127 objects have Default value...

    //Edit:

    {

    its new GlobalVariable in this Script...

    all of those 127 objects will use this same Variable...

    }

    //Edit2:

    {

    And they are Base objects so i can't just click "Edit Base" and change it...

    its 127 different Units for my Arena :) 127 Actors with this same script...

    }

     

     

     

    i have to change them all one by one

    or there is any way to make it all at once ?

  18. #Sry4MyPotatoEnglish :)

     

    Normaly i was using Fraps but i lost activation key so i bought Mirillis Action...

    and its crashing my Game all time...

     

    i was trying many things but nothing is working xD

    - Yes, i start Action in Admin Mode

    - Yes, i start Skyrim in Admin Mode

    - Yes, i start Action and Skyrim in Admin Mode

    - Yes i was trying in Window and then start Action

    - Yes, i was jumping from Game to Desktop and starting Action

    - Yes, i was trying every Compatibility Move ( Win, Service Packs etc. )

    - Yes i was reinstaling all Drivers

    - Yes i was reinstaling DirectX

    - Yes i was reinstaling Game

    - Yes i was reinstaling Action

    - Yes i have all updates for Skyrim, ENB, Action

    - Yes i move Action Folder to Program Files etc.

    - Yes i was trying to OFF ENB Effects and then Start Action and ON ENB Effects

    i was trying many many many more ways that i found in Internet but nothing is working xD

     

    Action Support said "f**k you not my problem" so i come here lol xD

    Bfff never gonna buy Action again -_- useless s#*&#33; and useless support...

     

     

     

    but i want to make it work cause Action have more options than Fraps and Bandicam :/

     

    but at least Fraps and Bandicam work with ENB...

     

  19. Yes :tongue:

     

    QGold is how much Player have to Pay

    QGoldRef is Reference to Item "Gold01" :smile:

     

    if you don't need to Manage house but only purchase Key You can just delete all Lines for Manage

     

    here is script without Manage Sign:

     

     

    Scriptname QLG_Script_BuyHouse extends ObjectReference  
    { Script to Buy House in Braverock !... }
    ;===- Base Info. -===;
     ;Created: 2019-03-30
     ;Update: 2019-04-01
     ;Author: TobiPL
     ;Unit: M.PC<3>
    ;===- Var. setup -============================================
    
    
    ;===- Req. setup -================
    	Key Property QKey Auto			; Key to Give Player
    	{ Key to give Player }
    	
    	Int Property QGold Auto			; Gold to Take from Player
    	{ Gold to Collect from Player }
    
    
    ;===- Ref. setup -================
    	Actor Property QPlayer Auto
    	{ Player Ref }
    	
    	ObjectReference Property QBuySign Auto
    	{ Reference to Activator, House not Bought }
    
    
    ;===- Msg. setup -================
    	Message Property QBuyMSG Auto
    	{ Message to Show when Sign Activated 
    		Button Setup:
    		 Index > :0: > Yes
    		 Index > :1: > No
    	}
    	
    	Message Property QSoldMSG Auto
    	{ Message to Show on Succes Bought 
    		Button Setup:
    		 Index > :0: Yey < or something :P 
    	}
    	
    	Message Property QNoGoldMSG Auto
    	{ Message to Show on Failed Bought 
    		Button Setup:
    		 Index > :0: > Ohh :( < or somethign :P 
    	}
    	
    
    ;===- Var. setup -================
    	MiscObject Property GoldRef Auto
    	{ Reference to Gold ( Item ) }
    	
    	bool IsSold = false
    
    
    ;===- Script -Main- -================================================
    Event OnInit()
    	If ( IsSold )
    		
    		GoToState( "Done" )
    		QBuySign.Disable()
    		
    	Else
    		
    		GoToState( "WaitForPlayer" )
    		QBuySign.Enable()
    		
    	EndIf
    EndEvent
    ;****************************
    ;===- Wait for Player to Activate Sign !... -========================
    State WaitForPlayer
    	Event OnActivate( ObjectReference QRef )
    		If ( QRef == QPlayer )
    			Int QReturn = QBuyMSG.show()
    			If ( QReturn == 0 )
    				If ( QPlayer.GetGoldAmount() >= QGold )
    		;**********************************************************************
    					QPlayer.AddItem( QKey , 1 )				; Give Player House Key
    					QPlayer.RemoveItem( GoldRef , QGold )	; Take Gold from Player
    					GoToState( "Done" )						; Stop Working
    					QBuySign.Disable()						; Disable Buy Sign
    					IsSold = true							; Set House to Bought
    					Utility.Wait( 3.7 )						; Wait to Show Succes Message
    					QSoldMSG.show()							; Show Succes Bought Message
    		;**********************************************************************
    				Else					; But if Player don't have Enough Gold
    					Utility.Wait( 1.3 )	; Wait to Show Fail Message
    					QNoGoldMSG.show()	; Show Fail Bought Message
    				EndIf					; Much Message !...
    			EndIf
    		EndIf
    	EndEvent
    EndState
    ;****************************
    ;===- Player already have this House, do nothing -===================
    State Done
    	; Do nothing
    	; Btw. i Have Cat, Nicole <3 
    	; she's best Epic and Amazing Cat !... Much Meow !...
    EndState
    ;****************************  

     

     

     

    or you can just ignore no needed references

    they should be NULL and Function should be ignored...

     

    but its bethesda so script maybe will try to enable NULL item or whatever it is if not setted xD

     

    //Edit:

    You can also just make door and then change it to Activator :P

    and you can buy key from door :D

     

    Activator door will disapear and normal door will show :P

    cause this ObjectReference to ManageSign can be anything, dont have to be Sign or even activator :P

     

    it can be also Static Rock or Tree :)

  20. Bfff...

     

    Script:

     

     

    State WaitForPlayer
    	Event OnHit( ObjectReference QAgr, Form QSrc, Projectile QPro, bool IsPower, bool IsSneak, bool IsBash, bool IsBlock)
    		If ( ( QAgr != QPlayer ) || ( QSrc != QSpell ) )
    			Return		; Return :: Bad Spell or Caster
    		ElseIf ( IsYour )
    			ShowMainMenu()
    			Return
    		Else
    			Int QReturn = QBuyMenu.Show( MyCost )
    			If( QReturn == 0 )
    				QPlayer.RemoveItem( GoldRef , MyCost )
    				IsYour = true
    			EndIf
    		EndIf
    	EndEvent
    EndState 

     

     

    its nooooooooooo ohh w8...

    i have idea... but can't test it so il will just ask xD

     

    MagicEffect and Spell can be casted at same time???

     

    maybe Magic effect cast his OnHit effect

    and Spell cast his OnHit effect xD idk

     

    So maybe

    If ( ( QAgr != QPlayer ) || ( QSrc != QSpell as Spell ) )

    will work... but like i said can't test it now xD

     

    //Edit:

    lel now reading this script i see another misstake xD

    what if player don't have enough gold ? :P hehe xD

×
×
  • Create New...