Skip to content

OnVendingShopOpen

Usage

  • Return a non-null value to override default behavior

Example Autogenerated

csharp
private object OnVendingShopOpen( InvisibleVendingMachine invisibleVendingMachine, BasePlayer player )
{
    Puts( "OnVendingShopOpen works!" );
    return null;
}
csharp
private object OnVendingShopOpen( NPCVendingMachine vendingMachine, BasePlayer player )
{
    Puts( "OnVendingShopOpen works!" );
    return null;
}
csharp
private object OnVendingShopOpen( VendingMachine instance, BasePlayer player )
{
    Puts( "OnVendingShopOpen works!" );
    return null;
}

Location

  • NPCTalking::OnConversationAction(BasePlayer player, string action)
  • TravellingVendor::SV_OpenMenu(BaseEntity.RPCMessage msg)
  • VendingMachine::RPC_OpenShop(BaseEntity.RPCMessage msg)
csharp
//---
	{
		InvisibleVendingMachine vendingMachine = GetVendingMachine();
		if (vendingMachine != null && Vector3.Distance(player.transform.position, base.transform.position) < 5f)
		{
			ForceEndConversation(player);
			if (Interface.CallHook("OnVendingShopOpen", vendingMachine, player) == null)
			{
				vendingMachine.PlayerOpenLoot(player, "vendingmachine.customer", doPositionChecks: false);
				Interface.CallHook("OnVendingShopOpened", vendingMachine, player);
			}
			return;
//---
csharp
//---
{
	if (vendingMachine == null)
	{
		vendingMachine = GetComponentInChildren<NPCVendingMachine>();
	}
	if (Interface.CallHook("OnVendingShopOpen", vendingMachine, msg.player) == null)
	{
		vendingMachine.OpenShop(msg.player);
		Interface.CallHook("OnVendingShopOpened", vendingMachine, msg.player);
	}
}
csharp
[RPC_Server]
[RPC_Server.IsVisible(3f)]
public void RPC_OpenShop(RPCMessage msg)
{
	if (OccupiedCheck(msg.player) && Interface.CallHook("OnVendingShopOpen", this, msg.player) == null)
	{
		OpenShop(msg.player);
		Interface.CallHook("OnVendingShopOpened", this, msg.player);
	}
}

Released under the MIT License.