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

As soon as it is ready and tested in packaged game as not having any weird dependencies that prevent packaging, I will be happy to add it to Victory Branch and give you credit !

:slight_smile:

yeah for and his RSUMG! :slight_smile:

Let’s see if anyone can guess what the S stands for :wink:

Sutra? :slight_smile:

Hee hee, close!

To give a better hint,

RUMG, the R stands for ā€œ'sā€

UMG is just UMG

so

the S is the only part left to figure out :slight_smile:

Hey ! Awesome plugin! I’ve been using it in my project and it has so much extra nodes that are incredibly helpful! Thanks for that! I’ve run into a bit of a problem though, when I try to package the game for testing on multiple computers I get error message:

I’m guessing I need to put the plugin somewhere in the packaged game folders, I’ve tried putting it in Projectname/Plugins as well as Engine/Plugins, but still that error message appears so I figured I would ask!

Are you using the current available plugin ? ( Newest ). Are you using UE4.6 and not an older version ? is supposed to be in :
ProjectName\Plugins
is a path for one of the files :
ProjectName\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Classes\VictoryBPFunctionLibrary.h
Check if you are not missing anything in that path.

New Node Contributed by !

In the most recent version of my Victory BP Library Plugin is a node contributed by !

node lets you switch the player HUD during runtime!

Thanks !

Thats easy, the S stands for Super. :smiley:

-Zhi

Hee ehee!

Actually it stand for Sexy!

's Sexy UMG!

Hee hee!

But I like super too

Maybe RSSUMG ?

:slight_smile:

Get Your IP Address From Witin UE4

BP Node to Get Your Computer’s IP Address!

Dear Community,

I’ve finally succeeded at implementing a node that many have been trying to implement since the Beta!

is a BP node that gets the IP address of your computer!

My node relies on http://api.ipify.org, a free and easy way to get your current IP address.

Because node involves an HTTP request I can’t make it a static library node, so I instead made a VictoryPC class that contains only functionality.

You can easily re-parent your current player controller blueprint to use my plugin VictoryPC class!

File->Reparent

and if you are not using a PC already, make sure to go to World Settings and use my VictoryPC as your player controller!

As long as my Victory BP Library is an active plugin for you, then VictoryPC class will show up!

Download:


**Celebration!**

Yay!

Now we can  get the IP address of the local computer for use with multiplayer games or webserver activities!

Enjoy!



Pic

Here’s the setup you should create in your Blueprinted version of my VictoryPC!


**C++ Source Code For You**

Here is the C++ source code I wrote just earlier today!



```


bool AVictoryPC::VictoryPC_GetMyIP_SendRequest()
{
	FHttpModule* Http = &FHttpModule::Get();
	
	if(!Http)
	{
		return false;
	}
	 
	if(!Http->IsHttpEnabled()) 
	{
		return false;
	} 
	//~~~~~~~~~~~~~~~~~~~
	
	FString TargetHost = "http://api.ipify.org";
	TSharedRef < IHttpRequest > Request = Http->CreateRequest(); 
	Request->SetVerb("GET");
	Request->SetURL(TargetHost);
	Request->SetHeader("User-Agent", "VictoryBPLibrary/1.0");
	Request->SetHeader("Content-Type" ,"text/html");
 
	Request->OnProcessRequestComplete().BindUObject(, &AVictoryPC::HTTPOnResponseReceived);
	if (!Request->ProcessRequest())
	{
		return false;
	}
	  
	return true;
}
	
void AVictoryPC::HTTPOnResponseReceived(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful)
{
	->VictoryPC_GetMyIP_DataReceived(Response->GetContentAsString());
}
 


```



♄
1 Like

You sir, are a god of men.

![eiMyGaRinSmall.png|300x302](upload://6MxFrWe1wueWWksLOWXxNEfCeaO.png)

So I’ve fleshed out two different paths for the new rand functions, basically you don’t have to do anything but either use the construct rand ONCE like in begin play somewhere, or seed rand somewhere like construct rand and use the functions, if you use construct rand, it will determine if you have access to a random device, (entropy chip) if not it will default to a default random engine, it will use number from either the random device or use ā€œstd::chrono::system_clock::now().time_since_epoch().count();ā€ to seed a pseudo random number generator then you can use the random functions i’ve included. You can also construct rand for some generations, then seed with others, it’s pretty awesome! im working on a ton of other engines and distributions exposed but for now there is; rand bool - Bernoulli distribution, rand int uniform 0-1 distribution, rand double uniform 0-1 distribution, rand int - min to uniform distribution, rand double - min to uniform distribution, but first i was just wondering, what kind of packaging testing i should do, atm i only have access to the windows 32 path. I packaged it into shipping and it seems to work. Anyone up for some testing on other systems ? Currently the only dependencies are <random> and <chrono> which are both c++ 11 headers

p.s. the picture has an error (not error, but random float has the min and variables as ints and i guess they should be floats not ints.)

Yeah, I’ve tried both 4.5 and 4.6 using the appropriate plugin, still doesn’t work… And just to be sure we’re on the same page, the plugin itself works just fine, it’s just that when I build the game and try to run the built game I get error, have you been able to build a game with a plugin? Anything else I need doing for it to work? My project is blueprint only, maybe I need to have a code project?

My project is blueprint only, maybe I need to have a code project?

Yes you do need code based project for now, of plugins not working for BP-only projects is going to be resolved soon by Epic.

is great Saxon Rah!

If you send me the code or send me my latest plugin version with your code integrated I can add it to Victory Branch

:slight_smile:

Hee Hee!

Have fun with your Get My IP node!

:heart:

's Suite of Powerful UMG Nodes

Here are the 3 core BP nodes that I’ve been using to make of my complicated interacting UMG menus, including an in-game file browser and a menu that allows you to change the materials on any skeletal mesh, while in-game!

These nodes are available to you now!


**Get  Widgets of Class**

Allows you to not have to store references everywhere to your widgets, making it easy to interact with the Player Controller and My Character blueprints :) 

Also makes it easy to remove a loading screen after a level transition, without storing refs in Game Instance class

Remove Widgets Of Class

You can find and remove any widget any way, no matter where you are in BP! (here I am in the Level BP)

** Tip:**
If you make a general superclass for your widgets (Reparent to a blank UserWidget of your own making), you can clear your entire UI system from the viewport with a single call to RemoveAllWidgetsOfClass, supplying the class that is your super class for your user widgets!

So lets say you have 3 user widgets that you made, make a 4th that is blank, reparent your existing 3 to your new empty 4th widget (ā€œWidgetMasterā€ for example).

Now you can just call RemoveAllWidgetsOfClass on your new 4th widget, WidgetMaster, and 3 of your existing widgets will be removed automatically from the viewport!


**Is Widget Of Class In Viewport**

Take action based on the dynamic lookup of whether a certain widget is currently visible!

No need to store refs or bools anywhere, just do a dynamic look up that is lightning fast!

♄



![9b7a621d3332fdafbe78b687447eb1c37f3f558c.jpeg|1035x750](upload://mbqdc9TTsCkJHaeTMyxg2GR6Hak.jpeg)

BP Node to Get Your Computer’s IP Address!

Dear Community,

I’ve finally succeeded at implementing a node that many have been trying to implement since the Beta!

is a BP node that gets the IP address of your computer!

My node relies on http://api.ipify.org, a free and easy way to get your current IP address.

Because node involves an HTTP request I can’t make it a static library node, so I instead made a VictoryPC class that contains only functionality.

You can easily re-parent your current player controller blueprint to use my plugin VictoryPC class!

File->Reparent

and if you are not using a PC already, make sure to go to World Settings and use my VictoryPC as your player controller!

As long as my Victory BP Library is an active plugin for you, then VictoryPC class will show up!

Download:


**Celebration!**

Yay!

Now we can  get the IP address of the local computer for use with multiplayer games or webserver activities!

Enjoy!



Pic

Here’s the setup you should create in your Blueprinted version of my VictoryPC!


**C++ Source Code For You**

Here is the C++ source code I wrote just earlier today!



```


bool AVictoryPC::VictoryPC_GetMyIP_SendRequest()
{
	FHttpModule* Http = &FHttpModule::Get();
	
	if(!Http)
	{
		return false;
	}
	 
	if(!Http->IsHttpEnabled()) 
	{
		return false;
	} 
	//~~~~~~~~~~~~~~~~~~~
	
	FString TargetHost = "http://api.ipify.org";
	TSharedRef < IHttpRequest > Request = Http->CreateRequest(); 
	Request->SetVerb("GET");
	Request->SetURL(TargetHost);
	Request->SetHeader("User-Agent", "VictoryBPLibrary/1.0");
	Request->SetHeader("Content-Type" ,"text/html");
 
	Request->OnProcessRequestComplete().BindUObject(, &AVictoryPC::HTTPOnResponseReceived);
	if (!Request->ProcessRequest())
	{
		return false;
	}
	  
	return true;
}
	
void AVictoryPC::HTTPOnResponseReceived(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful)
{
	->VictoryPC_GetMyIP_DataReceived(Response->GetContentAsString());
}
 


```



♄