Download

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

**Get Closest Actor Of Class In Radius of Location

Get Closest Actor of Class In Radius of Actor**

These nodes are great for use with AI calculations!


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

:)

Rama

First of all, absolutely love this plug-in, has made my life sooo much easier!
Just wanted to mention something with the Real World Time nodes. The Get Current OSTime node return string doesn’t include milliseconds, yet if I append the return string to include .<milliseconds> the Get Time Passed Since Previous Time node accepts it and works as intended, outputting the time passed in milliseconds. Was it intentional to not include milliseconds in the Get Current OSTime? If so, might be worth mentioning how to include it manually in the description since it took me longer than I’d like to admit to figure out that this was the problem.

Hi Rama, just to let you know the plugin you made for me has now seen action on TV! So thanks for that. A small question - does your ip node get the ip on the local network or the internet? (I need to get the local one)

Thanks again!

Hi there!

Welcome to the forums!

The UE4 function itself declares that it does not return milliseconds:



/**
	 * Returns the string representation of this date using a default format.
	 *
	 * The returned string has the following format:
	 *		yyyy.mm.dd-hh.mm.ss
	 *
	 * @return String representation.
	 * @see Parse, ToIso8601
	 */
	CORE_API FString ToString() const;


Yet, as you say, the parsing function which takes the string accepts it if milliseconds are added onto the end.

For the sake of the node itself it makes more sense if the string includes the milliseconds :slight_smile:

BP node Update

So I’ve updated my BP node!



FString UVictoryBPFunctionLibrary::RealWorldTime__GetCurrentOSTime( 
	int32& MilliSeconds,
	int32& Seconds, 
	int32& Minutes, 
	int32& Hours12,
	int32& Hours24,
	int32& Day,
	int32& Month,
	int32& Year
){
	const FDateTime Now = FDateTime::Now();
	
	MilliSeconds = 		Now.GetMillisecond( );
	Seconds = 			Now.GetSecond( );
	Minutes = 				Now.GetMinute( );
	Hours12 = 			Now.GetHour12( );
	Hours24 = 			Now.GetHour( ); //24
	Day = 					Now.GetDay( );
	Month = 				Now.GetMonth( );
	Year = 				Now.GetYear( );
	 
	//MS are not included in FDateTime::ToString(), so adding it
	//The Parse function accepts if MS are present.
	FString NowWithMS = Now.ToString();
	NowWithMS += "." + FString::FromInt(MilliSeconds);
	return NowWithMS;
}


It will be in my next release :slight_smile:

Rama

Wohoo! Congratulations Dan! :slight_smile: Victory BP Library and your project on TV!!

The IP node is for actual internet IP, because it relays to http://api.ipify.org to find out your ip address

When you say you want to get your local ip address, isn’t that going to be 127.0.0.1 ?

Rama

Config Suite of BP Nodes

Rama’ Suite of Custom Config Section BP Nodes!

Using my suite of Config BP nodes, you can create as many of your own custom config file sections as you want!

You can both create and retrieve ini variables with any name and fundamental type that you want!


**Supported Types:**

Bool
Int
Float
Rotator
Vector
Color
String

Why Use a Config Var?

Config vars have several benefits

  1. Persistent data storage without using a SaveGame struct or GameInstance, store simple quantities of data and player customization this way! Data is stored between level loads and even after the current instance of the game is shut down.

So in this way config vars have greater persistence than the GameInstance class!

  1. Player-Driven Customization, Players of your game can tweak the config vars that you make available for them on their hard disk, by editing the .ini file directly, just like AAA games! This is the most significant advantage of using config files, and their real core purpose. :slight_smile:

  2. Simplicity, simpler to use than the BP SaveSystem (which is quite wonderful by the way), but not quite as powerful in that you can only store basic data types, not UObjects and Actors.

  3. **Organization, **you can create as many config header sections as you want using my nodes, organizing all your custom settings this way!


**Game.ini**

All of your custom created config vars and sections are stored in:

**Saved/Config/Windows/Game.ini**

Players can navigate to this location on their harddrive to edit your ini files just like any AAA game would allow!

Here's what my **Game.ini** file looks like after running some tests!



```


[DebugWindows]
ConsoleWidth=160
ConsoleHeight=4000
ConsoleX=-32000
ConsoleY=-32000

[/Script/UnrealEd.ProjectPackagingSettings]
BuildConfiguration=PPBC_Development
StagingDirectory=(Path="E:/MYPROJECT_DELETE")
FullRebuild=True
ForDistribution=False
UsePakFile=True
UseOBB_InAPK=False
CulturesToStage=en

[Victory]
BoolVar=True
VectorVar=X=1.000 Y=2.000 Z=9000.123
StrVar=Yay For Custom Config Vars!!!
FloatVar=234.000000


```



**Now you have fully featured ability to use config variables entirely in BP!**

Rama

PS: Here's example usage!

![Usage.jpg|1280x960](upload://vJ8VyiQCZXj6G59JXlBNDrMdZow.jpeg)

**Latest plugin download on the UE4 Wiki: (7.16 mb) **

Plugin Release Dates and UE4 Engine Versions


**Victory Plugin Binaries for Packaged Games**
https://wiki.unrealengine.com/File:VictoryPluginPackaged.zip

Victory Plugin on Media Fire

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


**Donations**

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

Enjoy!

:)

Rama

No, I mean like a 192.168.0.10 - the address the router gives on the LAN. I’m running some software using the brilliant TouchOSC app on my phone or iPad to drive commands in unreal. The downside is I need to configure the app with the right target address and port in order to talk to the engine and vice versa. Getting the ip would be good to save the operator from having to run ipconfig to get the details.

Rama, I love your work but I have a request – if you really want to win the Internet, you’ll make these effects for everyone:

Thanks for all your hard work! :slight_smile:

I’m not sure why you asked in this thread, this effect has nothing to do with what Rama provides here. What you are asking him for is to make a graphical effect and the framework to use it.
This is something you make yourself or hire someone to do it for you, since it’s a fairly specific feature. It’s not something which would fit into Rama’s BP plugin.

Create your own topic and ask nicely, someone might do it for you. The UE4 community is generally very helpful, so it’s worth a try.

Objectively, it’s not so much an effect request than a request for the ability to modify triangles or texels via a BP node. Sounds pretty good to me.

I see now, watching the video suggested for me you were asking for the whole effect rather than a specific utility used to create that. Now that you formulated it it does make sense asking for it here, sorry for my confusion ^^

How do you correctly unload? I am trying to do “Unload Stream Level”. If I do <LEVELNAME>VictoryInstance<INSTANCENUMBER> Unreal crashes. If I do UED_PIE_0_<LEVELNAME>VictoryInstance<INSTANCENUMBER> it does not unload. Not sure if there is an equivalent Victory Unload I should be using instead.

I have an actor that I use to create my map instance and I store the string there so I can retrieve it later on “Event Destroyed”

How to Unload Level Instances

Thanks for helping out Dakraid!

Welcome to the forums tundra_cooo!

So you mean the ability to paint on triangles of a mesh, for the blood effect, not the ability to warp them real-time, right?

[FONT=Comic Sans MS]Welcome to the forums Scott Brown!

You dont have to store a string :slight_smile:

You should store a reference to the Level instance that is created, which I pass out of my Load Level Instance node.

Then when you are ready to unload that level, simply set the variable ShouldBeLoaded to false by dragging off of your saved reference to that level instance.



LevelStreaming.h

/** Whether the level should be loaded																						*/
	UPROPERTY(Category=LevelStreaming, BlueprintReadWrite)
	uint32 **bShouldBeLoaded**:1;

	/** Whether the level should be visible if it is loaded																		*/
	UPROPERTY(Category=LevelStreaming, BlueprintReadWrite)
	uint32 **bShouldBeVisible**:1;

**

It’s an uncommon design structure in UE4 to have it work this way but it works great!**

And it wont ever crash, and will find the exact level instance that you want :slight_smile:

:heart:

Rama

If returning and storing ‘FName(*UniqueLevelPackageName)’ from the streaming code,
he can as well use the ‘Get Streaming Level’ node with that map name attached to Package Name input and set Should be Loaded to false from there.

Hi Rama! First of all: MANY MANY MANY THANKS FOR YOUR AWESOME WORK!

Now… to my problem: When i try to pack my project using File → Package Project → Windows → Windows (64-bit) i got the following message:

Clipboard01.jpg

  1. My “Build Configuration” is set to “Development”.

  2. I Downloaded “VictoryPlugin.zip” dated October 14th, 2015 from here A new, community-hosted Unreal Engine Wiki - Announcements and Releases - Unreal Engine Forums and i’ve started using your AWESOME plugin with ZERO PROBLEMS in the editor version of my project (even if a run the project as “Standalone Game” trough the Editor Play Button).

  3. I’ve tried to pack my project and i got the above message, so… i’ve found that i need the “VictoryPluginPackaged.zip” and i downloaded it (dated October 14th, 2015) from the same link as above.

  4. I’ve copied the “VictoryPluginPackaged\Binaries” folder of the zip to merge with the “MyProject\Plugins\VictoryPlugin\Binaries” folder.

  5. When i try to pack my project i got always the same problem as above.

i’m working only with Blueprints and i don’t know how to write in C++, compile, recompile, etc.
I’ve seen you say “Because this is a plugin, you dont have to do any code compiling and can use my BP nodes in a content-only project!” in the opening post… so… i guess i’m doing something wrong…

Any help? :slight_smile:

You just need to have VS installed, you don’t need to use any C++ in your project. So just install it and then it will work :slight_smile:

Rama, any advice on how you would suggest us (users of this plugin) to test our project in previews like 4.11 to find bugs in 4.11 before the stable version is released, since your plugin does not yet work with 4.11? And if I remove your plugin from my project, it crashes in startup, so that also won#t work… So at the moment I would have to manually remove all nodes I use from your plugin first and then remove your plugin, then create a copy of project in 4.11 preview and then test it, but that would take ages since I use so many different nodes from your plugin everywhere and its probably impossible for me to find them all…

Or do you know an easy way to find nodes from your plugin? I wish they would be all named VictoryXYZ, but only some are.

So… i have to install VS in any case… ok, thanks… i’ll try :wink:

Hello Rama!

I am having some troubles with victory plugin and the consoles. I get some serious crashes with VP enabled.
Is there a “special” way for me to compile it in order to work? Have you ever heard something like this before? My other plugin works just fine.

Because of the NDA’s i cant post here any more details. For any specific questions please pm me

Thank you!!

Hi Rama,

I have been using your plugin with BPs successfully. However, I cannot create a C++ class that extends your BP Library. When I tried to do this, I got this error:

“CompilerResultsLog:Error: Error D:\program files\Epic Games\4.10\Engine\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Public\VictoryISM.h(9) : fatal error C1083: Cannot open include file: ‘VictoryISM.generated.h’: No such file or directory”

I am using Unreal 4.10.2 at the moment. I cannot progress with my project unless I can access your plugin’s functions using C++.

I hope we can solve this issue.

Thanks,

Jamie

Dear John,

Sounds like I need to provide a 4.11 build, though that makes my process of adding new nodes take even longer because then I have to upload an extra version on top of 1. editor 2. packaged and 3. media fire :slight_smile: But Then I’d have to provide all 3 of those for 4.11 as well!

Supporting 2 engine versions by myself for free is so much work for me, I then have to do 6 updates every time I add any new nodes, as described above.

Unless I adopted 4.11 early… then anyone wanting to test my new nodes would also have to adopt 4.11 early…

Thinking about it…

Also I think 4.11 is coming out soon :slight_smile:

Yes do send me a PM with your issue with consoles

:slight_smile:

Rama