Download

(39) Rama's Extra Blueprint Nodes for You as a Plugin, No C++ Required!

Woohoo thanks for all the compliments and support John, Sivan, and Kenomica!

I am in the process of doing 1 plugin with Epic right now, I will surely do my Save System plugin next!

Thanks again for your support!

[FONT=Comic Sans MS]:heart:

Rama

i’m pressing learn more on mplayer coding and nothing happens =(

Can’t wait for that :cool:

Is your plugin capable of saving more complex variables like an array of blueprint structs containing arrays of blueprint structs? :rolleyes:

Please tell me the plugin is for your jumping AI.

I will pay whatever you ask to have it.

Yes my save system plugin can save as many nested layers of ustructs and arrays as you want!

Hee hee!

:slight_smile:

Rama

Hee hee! I will have to work on turning my Jumping AI system into a plugin! Video for everyone’s reference:

Rama’s Jumping AI Thread

Three New Nodes, 2-way Conversion from Vector,Rotator,Color to String, and Back Again!

Dear Community,

I was saving out Vector,Rotator, and Color data to a text file using my Victory BP Library node, Save String Array to File.

And found there was no way to convert a vector that was turned into a string… back into a vector :slight_smile:


**Two-Way Conversion Now!**

I've added 3 new nodes to my Victory BP library that enable you to convert Vectors, Rotators, and Colors **back from string data** into the original primitive variable types!

String Data Validity Check

I supply a bool to let you know if the string data was solid or not and was able to be converted properly.

Like on Twitter:

Github Submission to the Engine
https://github.com/EpicGames/UnrealEngine/pull/1795


**Latest plugin download on the UE4 Wiki: (7.16 mb) **
https://wiki.unrealengine.com/File:VictoryPlugin.zip

Not using the latest engine version? Check out my wiki section on which plugin release dates go with which engine version!

**Plugin Release Dates and UE4 Engine Versions**
https://wiki.unrealengine.com/Rama%27s_Vertex_Snap_Editor_Plugin#Plugin_Release_Dates_and_UE4_Engine_Versions

Victory Plugin Binaries for Packaged Games


**Victory Plugin on Media Fire**

**If your browser is not updating the Wiki download page** to the most recent version, you can use my alternative Media Fire download link!

Please note the mediafire version includes both the editor and packaged game binaries in the same file ♥ Rama

https://www.mediafire.com/?ieovbd5l9d7yub2

Donations

Donations can be sent to me via:
http://lightningfitness.org/donate/

Enjoy!

:slight_smile:

Rama

PS: Please note my mediafire link has changed, please use above link to get most recent version :slight_smile:

What is Idea behind saving vectors as string and vice versa?

If you want to save Vector data in human-readible format to your own custom file type, or to your own custom config file, you need to be able to convert back from the output of Vector to String back into a Vector from a String.

This is what my 3 new nodes allow you to do!

:slight_smile:

Rama

+1 for this, jumping AI is awesome!

@Rama… Was using your BP library for my FPS tutorial. In 4.9 used the sound stuff, worked great, in 4.10 though … victory sound volume change to set… then victory get sound volume to get it… if I ‘volume change’ to say .5 for a class, then ‘get sound volume’ for that class, it always returns -1.0 …

@ rama, I messed with the source and rebuilt… It works, but it is very strange… not sure what was going on… the FAudioDevice I kept and it always found that… if I keep the Props bit, what I set it to != what it returns right after setting it… but if I skip the props and just return SoundClassObject->Properties.Volume they do match exactly.



float UVictoryBPFunctionLibrary::VictoryGetSoundVolume(USoundClass* SoundClassObject)
{
     if (!SoundClassObject)
	{
		return -1;
	}
	return SoundClassObject->Properties.Volume;

}


seems to return it properly…

Thanks! Hee hee!



[QUOTE=arbopa;426640]
@Rama...   Was using your BP library for my FPS tutorial.  In 4.9 used the sound stuff, worked great, in 4.10 though ... victory sound volume change to set... then victory get sound volume to get it...    if I 'volume change' to say .5 for a class, then 'get sound volume' for that class, it always returns -1.0 ...
[/QUOTE]



[QUOTE=arbopa;426662]
@ rama, I messed with the source and rebuilt... It works, but it is very strange...  not sure what was going on... the FAudioDevice I kept and it always found that... if I keep the Props bit, what I set it to != what it returns right after setting it... but if I skip the props and just return SoundClassObject->Properties.Volume they do match exactly.



```


float UVictoryBPFunctionLibrary::VictoryGetSoundVolume(USoundClass* SoundClassObject)
{
     if (!SoundClassObject)
	{
		return -1;
	}
	return SoundClassObject->Properties.Volume;

}


```



seems to return it properly...
[/QUOTE]


Thanks for sharing this fix Arbopa!

Yes this new version does match the code I already have for VictorySoundVolumeChange, it was an oversight on my part to not change GetVolume to use the same new format.

Now both functions are using the same format!

**Thanks again for pointing this out!**

This fix will be in the next release of my Victory BP Library plugin!

♥

Rama

Sort Int and Float Arrays!

Dear Community,

I have 4 new BP nodes for you!


**Efficiently Sort Integer / Float Array**

Now you can easily and efficiently sort an integer or float array, with the smallest entry being put at index 0!

This modifies the original array, saving you from creating unnecessary duplicate array data.

So my BP sort node is very efficient!

![bbca2414d736997bb47f825479abe221c9369d8a.jpeg|1042x777](upload://qNgn3LnIAFwIWUcYraeqbrNSavw.jpeg)

Plus Equals and Minus Equals Integer Math Operators

Typically you have to Get an integer variable and then Set it with some value added/subtracted in order to modify an integer value.

I find this rather cumbersome, especially because in C++ there is the += and -= operators which make adding and subtracting from integers very fast!

Using my new BP Operators you can easily add a value to an integer or subtract a value from an integer!

Note my operator modifies the original value and returns it, so I cannot make these operators Pure. Execution pins are required because the value is getting modified.

a24b2aedf5eaa54e981a57d52b1f190e88861b58.jpeg


**The C++ Code Involved**

In order to make these 4 new nodes I took advantage of UPARAM(ref) which allows a BP variable to be modified in C++ and returned back to Blueprints.

I wrote a [wiki on UPARAM(ref)](https://wiki.unrealengine.com/How_To_Modify_Blueprint_Variable_References_In_C%2B%2B_Without_Copying)that you can enjoy!



```


void UVictoryBPFunctionLibrary::VictoryIntPlusEquals(UPARAM(ref) int32& Int, int32 Add, int32& IntOut)
{  
	Int += Add;
	IntOut = Int; 
} 
void UVictoryBPFunctionLibrary::VictoryIntMinusEquals(UPARAM(ref) int32& Int, int32 Sub, int32& IntOut)
{ 
	Int -= Sub;
	IntOut = Int; 
}


```


**Latest plugin download on the UE4 Wiki: **

**Latest plugin packaged binaries, Win32 Shipping and Win64 Development on UE4 Wiki: **


**Victory Plugin on Media Fire**

If your browser is not updating the Wiki download page to the most recent version, you can use my alternative Media Fire download link!

Please note clicking this link will not start a download instantly, it will just take you to the Media Fire file description.

**Editor binaries and Packaged binaries in one file:**
   *Win32 Shipping and Win64 Development Supported*
https://www.mediafire.com/?ieovbd5l9d7yub2

Note on Packaging Victory Plugin

Enjoy!

:slight_smile:

Rama

Can you make efficient append array node, which is not invole modifiing original array. Just like math “+” but for all types of array’s.

In case you were unaware, the Unreal Engine got the following nodes as well :3

9e27db940e1e4481ab7db8b85f784d2d946fa813.png

i know, you can even double click on those…

im asking about this, because my setupdosnt looks efficient.

problem is, i cannot make wildcard as local variable, which means even with this setup i would need custom function for each variable type.

You could make a Macro and use a Wildcard. That’s the kind of thing the Macro is for :slight_smile:

go on, show me how to do this WITHOUT modifying original array.

You asked for the following:

So this macro here should do the trick (No I didn’t test it, so please let me know):

Thats some next level programming skillsa.png