2 Commits

Author SHA1 Message Date
翠紅 灯
f72b052c41 interactive test 2025-09-11 20:26:00 +02:00
翠紅 灯
d54bab8906 1.1.8-dev for real 2025-08-20 23:31:44 +02:00
4 changed files with 35 additions and 2 deletions

View File

@@ -171,6 +171,26 @@ namespace Campofinale.Game.Entities
}else if(eventName == "pick_inst") }else if(eventName == "pick_inst")
{ {
//TODO //TODO
}else if(eventName == "set_state_true")
{
ScSceneUpdateInteractiveProperty update = new()
{
Id = guid,
SceneNumId = GetOwner().curSceneNumId,
Properties =
{
{1, new DynamicParameter()
{
RealType=3,
ValueType=3,
ValueIntList={1}
} }
}
};
GetOwner().sceneManager.KillEntity(guid, true, 1);
GetOwner().noSpawnAnymore.Add(guid);
GetOwner().sceneManager.GetScene(sceneNumId).AddCollection(templateId, 1);
GetOwner().Send(ScMsgId.ScSceneUpdateInteractiveProperty, update);
} }
return false; return false;
} }

View File

@@ -3,6 +3,7 @@ using Campofinale.Network;
using Campofinale.Packets.Sc; using Campofinale.Packets.Sc;
using Campofinale.Protocol; using Campofinale.Protocol;
using Campofinale.Resource; using Campofinale.Resource;
using System;
using static Campofinale.Resource.ResourceManager; using static Campofinale.Resource.ResourceManager;
namespace Campofinale.Packets.Cs namespace Campofinale.Packets.Cs
@@ -23,6 +24,18 @@ namespace Campofinale.Packets.Cs
case SpInteractiveOpType.CommonActive: case SpInteractiveOpType.CommonActive:
session.bitsetManager.AddValue(Resource.BitsetType.InteractiveActive, ResourceManager.levelShortIdTable[scene.id].ids[(long)entity.guid]); session.bitsetManager.AddValue(Resource.BitsetType.InteractiveActive, ResourceManager.levelShortIdTable[scene.id].ids[(long)entity.guid]);
break; break;
case SpInteractiveOpType.DoodadCommonPick:
EntityInteractive interactive = entity as EntityInteractive;
if (interactive.templateId== "int_doodad_flower_2")
{
session.inventoryManager.AddRewards("reward_doodad_moss_3", interactive.Position, 1);
}
if (interactive.templateId == "int_doodad_flower_1")
{
session.inventoryManager.AddRewards("reward_doodad_moss_3", interactive.Position, 1);
}
session.sceneManager.KillEntity(interactive.guid, true, 1);
break;
default: default:
break; break;
} }

View File

@@ -13,7 +13,7 @@ class Program
static void Main(string[] args) static void Main(string[] args)
{ {
StartServer(args); StartServer(args);
//FakeClientTester(); // FakeClientTester();
} }
public static byte[] ConcatenateByteArrays(byte[] array1, byte[] array2) public static byte[] ConcatenateByteArrays(byte[] array1, byte[] array2)
{ {

View File

@@ -59,7 +59,7 @@ namespace Campofinale
public delegate void HandlerDelegate(Player sender, string command, string[] args, Player target); public delegate void HandlerDelegate(Player sender, string command, string[] args, Player target);
} }
public static List<Player> clients = new List<Player>(); public static List<Player> clients = new List<Player>();
public static string ServerVersion = "1.1.7"; public static string ServerVersion = "1.1.8-dev";
public static bool Initialized = false; public static bool Initialized = false;
public static bool showLogs = true; public static bool showLogs = true;
public static bool showWarningLogs = true; public static bool showWarningLogs = true;