Skip to content

Commit 4fd8dc5

Browse files
author
magiclu550
committed
[proxy] events
1 parent 53a3805 commit 4fd8dc5

12 files changed

+546
-449
lines changed

jsmod2/Lib.cs

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,24 @@ public class Lib
2727
public const string PLAYER_EVENT_TEAM_ROLE_ID = "player-" + PLAYER_TEAM_ROLE_ID;
2828

2929
public const string ADMIN_EVENT_TEAM_ROLE_ID = "admin-" + PLAYER_TEAM_ROLE_ID;
30-
30+
3131
//关于itemEvent类型
3232
public const string ITEM_EVENT_ID = "item-"+ID;
33+
34+
public const string ROOM_ID = "room-"+ID;
35+
36+
public const string TESLAGATE_ID = "teslaGate-" + ID;//TeslaGate
37+
38+
public const string VICTIM_ID = "victim-" + ID;
39+
40+
public const string OWNER_ID = "owner-" + ID;
3341

3442
//关于authCheck类型
3543
public const string AUTH_CHECK_EVENT_REQUESTER_SCPDATA_ID = "requester-"+PLAYER_SCPDATA_ID;
3644

3745
public const string EVENT_GENERATOR_ID = "generator-" + ID;
3846

39-
public const string EVENT_GENERATOR_ROOM_ID = "generator-room-" + ID;
47+
public const string EVENT_GENERATOR_ROOM_ID = "generator-"+ROOM_ID;
4048

4149
public const string EVENT_USER_ID = "user-" + ID;
4250

@@ -50,6 +58,45 @@ public class Lib
5058

5159
public const string EVENT_DEAD_TEAMROLE_ID = "deadPlayer-" + PLAYER_TEAM_ROLE_ID;
5260

61+
public const string EVENT_ACTIVATOR_ID = "activator-" + ID;
62+
63+
public const string EVENT_ACTIVATOR_SCPDATA_ID = "activator-" + PLAYER_SCPDATA_ID;
64+
65+
public const string EVENT_ACTIVATOR_TEAMROLE_ID = "activator-" + PLAYER_TEAM_ROLE_ID;
66+
67+
public const string EVENT_DOOR_ID = "door-" + ID;
68+
69+
public const string EVENT_ELEVATOR_ID = "elevator-" + ID;
70+
71+
public const string EVENT_KILLER_ID = "killer-" + ID;
72+
73+
public const string EVENT_KILLER_SCPDATA_ID = "killer-" + PLAYER_SCPDATA_ID;
74+
75+
public const string EVENT_KILLER_TEAMROLE_ID = "killer-" + PLAYER_TEAM_ROLE_ID;
76+
77+
public const string EVENT_VICTIM_SCPDATA_ID = "victim-" + PLAYER_SCPDATA_ID;
78+
79+
public const string EVENT_VICTIM_TEAMROLE_ID = "victim-" + PLAYER_TEAM_ROLE_ID;
80+
81+
public const string EVENT_OWNER_SCPDATA_ID = "owner-" + PLAYER_SCPDATA_ID;
82+
83+
public const string EVENT_OWNER_TEAMROLE_ID = "owner-" + PLAYER_TEAM_ROLE_ID;
84+
85+
86+
public const string TARGET_ID = "target-" + ID;
87+
88+
public const string ATTACKER_TARGET_SCPDATA_ID = "target-"+ PLAYER_SCPDATA_ID;
89+
90+
public const string ATTACKER_TARGET_TEAMROLE_ID = "target-" + PLAYER_TEAM_ROLE_ID;
91+
92+
//Attacker
93+
94+
public const string ATTACKER_ID = "attacker-" + ID;
95+
96+
public const string ATTACKER_OWNER_SCPDATA_ID = "attacker-" + PLAYER_SCPDATA_ID;
97+
98+
public const string ATTACKER_OWNER_TEAMROLE_ID = "attacker-" + PLAYER_TEAM_ROLE_ID;
99+
53100
public static object getObject(Dictionary<string, string> dic, Type type,string name)
54101
{
55102
return JsonConvert.DeserializeObject(dic[name], type);

jsmod2/Program.cs

Lines changed: 112 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
using Smod2;
99
using Smod2.Attributes;
1010
using Smod2.Events;
11+
using Smod2.EventSystem.Events;
1112

1213
namespace jsmod2
1314
{
@@ -30,6 +31,104 @@ namespace jsmod2
3031
//最新的设计 2019 7 24
3132
//在触发事件时,将不发出event的序列化对象,而是只发出apiId,之后的数据获取通过发包(GetPacket)获取
3233
//其他响应也是如此,不发对象,而是只发apiId(Vector则需要发送序列化对象,其他序列化对象设置为字符串"",apiId在apiMapper添加)
34+
35+
public class RegisterEvents
36+
{
37+
private static HashMap<int,Type> events = new HashMap<int,Type>();
38+
39+
private static HashMap<Type,int> events_Id = new HashMap<Type,int>();
40+
public static void registerEvents()
41+
{
42+
events.put(0x01,typeof( AdminQueryEvent));//packet 1
43+
events.put(0x03,typeof( AuthCheckEvent));//packet 1
44+
events.put(0x04,typeof( BanEvent));//packet 1
45+
events.put(0x05,typeof( SetConfigEvent));//packet 1
46+
events.put(0x06,typeof( GeneratorFinishEvent));//p \1
47+
events.put(0x07,typeof( LCZDecontaminateEvent));//p
48+
events.put(0x08,typeof( SCP914ActivateEvent));//p
49+
events.put(0x09,typeof( ScpDeathAnnouncementEvent));//p
50+
events.put(0x0a,typeof( SummonVehicleEvent));//p
51+
events.put(0x0b,typeof(WarheadChangeLeverEvent));//p 1
52+
events.put(0x0c,typeof(WarheadDetonateEvent));//p
53+
events.put(0x0d,typeof(WarheadKeycardAccessEvent));//p
54+
events.put(0x0e,typeof(WarheadStartEvent));//p
55+
events.put(0x0f,typeof( Player079AddExpEvent));//p
56+
events.put(0x10,typeof( Player079CameraTeleportEvent));//p
57+
events.put(0x11,typeof( Player079DoorEvent));
58+
events.put(0x12,typeof( Player079ElevatorTeleportEvent));
59+
events.put(0x13,typeof( Player079LevelUpEvent));
60+
events.put(0x14,typeof(Player079LockdownEvent));
61+
events.put(0x15,typeof(Player079LockEvent));
62+
events.put(0x16,typeof(Player079StartSpeakerEvent));
63+
events.put(0x17,typeof(Player079StopSpeakerEvent));
64+
events.put(0x18,typeof(Player079TeslaGateEvent));
65+
events.put(0x19,typeof(Player079UnlockDoorsEvent));
66+
events.put(0x1a,typeof(Player106CreatePortalEvent));
67+
events.put(0x1b,typeof(Player106TeleportEvent));
68+
events.put(0x1c,typeof(PlayerCallCommandEvent));
69+
events.put(0x1d,typeof(PlayerCheckEscapeEvent));
70+
events.put(0x1e,typeof(PlayerContain106Event));
71+
events.put(0x1f,typeof(PlayerDeathEvent));
72+
events.put(0x20,typeof(PlayerDropItemEvent));
73+
events.put(0x21,typeof(PlayerElevatorUseEvent));
74+
events.put(0x22,typeof(PlayerGeneratorAccessEvent));
75+
events.put(0x23,typeof(PlayerGeneratorEjectTabletEvent));
76+
events.put(0x24,typeof(PlayerGeneratorInsertTabletEvent));
77+
events.put(0x25,typeof(PlayerGeneratorUnlockEvent));
78+
events.put(0x26,typeof(PlayerGrenadeExplosion));
79+
events.put(0x27,typeof(PlayerGrenadeHitPlayer));
80+
events.put(0x28,typeof(PlayerHandcuffedEvent));
81+
events.put(0x29,typeof(PlayerHurtEvent));
82+
events.put(0x2a,typeof(PlayerInitialAssignTeamEvent));
83+
events.put(0x2b,typeof(PlayerIntercomCooldownCheckEvent));
84+
events.put(0x2c,typeof(PlayerIntercomEvent));
85+
events.put(0x2d,typeof(PlayerJoinEvent));// 1
86+
events.put(0x2e,typeof(PlayerLureEvent));
87+
events.put(0x2f,typeof(PlayerMakeNoiseEvent));
88+
events.put(0x30,typeof(PlayerMedkitUseEvent));
89+
events.put(0x31,typeof(PlayerPickupItemEvent));// 1
90+
events.put(0x32,typeof(PlayerPickupItemLateEvent));// 1
91+
events.put(0x33,typeof(PlayerPocketDimensionEnterEvent));
92+
events.put(0x34,typeof(PlayerPocketDimensionExitEvent));
93+
events.put(0x35,typeof(PlayerRadioSwitchEvent));
94+
events.put(0x36,typeof(PlayerRecallZombieEvent));
95+
events.put(0x37,typeof(PlayerReloadEvent));
96+
events.put(0x38,typeof(PlayerSCP914ChangeKnobEvent));
97+
events.put(0x39,typeof(PlayerSetRoleEvent));
98+
events.put(0x3a,typeof(PlayerShootEvent));
99+
events.put(0x3b,typeof(PlayerSpawnEvent));
100+
events.put(0x3c,typeof(PlayerSpawnRagdollEvent));
101+
events.put(0x3d,typeof(PlayerThrowGrenadeEvent));//
102+
events.put(0x3e,typeof(PlayerTriggerTeslaEvent));
103+
events.put(0x3f,typeof(Scp096CooldownEndEvent));
104+
events.put(0x40,typeof(Scp096CooldownStartEvent));
105+
events.put(0x41,typeof(Scp096EnrageEvent));
106+
events.put(0x42,typeof(Scp096PanicEvent));
107+
events.put(0x43,typeof( ConnectEvent));
108+
events.put(0x44,typeof( DisconnectEvent));
109+
events.put(0x45,typeof( FixedUpdateEvent));
110+
events.put(0x46,typeof(LateDisconnectEvent));
111+
events.put(0x47,typeof( LateUpdateEvent));//
112+
events.put(0x48,typeof(RoundEndEvent));
113+
events.put(0x49,typeof(RoundRestartEvent));//
114+
events.put(0x4a,typeof(RoundStartEvent));
115+
events.put(0x4b,typeof(SceneChangedEvent));
116+
events.put(0x4c,typeof(SetServerNameEvent));
117+
events.put(0x4d,typeof(UpdateEvent));
118+
events.put(0x4e,typeof(WaitingForPlayersEvent));
119+
events.put(0x4f,typeof( DecideRespawnQueueEvent));
120+
events.put(0x50,typeof( SetNTFUnitNameEvent));
121+
events.put(0x51,typeof( SetSCPConfigEvent));
122+
events.put(0x52,typeof( TeamRespawnEvent));
123+
events_Id = events.keyToValue();
124+
}
125+
126+
public static int getId(Type t)
127+
{
128+
return events_Id.get(t);
129+
}
130+
131+
}
33132
class ProxyHandler : Plugin
34133
{
35134

@@ -46,19 +145,15 @@ class ProxyHandler : Plugin
46145
public override void Register()
47146
{
48147
handler = this;
49-
AddEventHandlers(new HandleAdmin());
50-
AddEventHandlers(new HandleAuthCheck());
51-
AddEventHandlers(new HandleBan());
52-
AddEventHandlers(new HandlePickupItemLate());
53-
AddEventHandlers(new HandlePlayer());
54-
AddEventHandlers(new HandlePickupItem());
55-
AddEventHandlers(new HandleSetConfig());
148+
RegisterEvents.registerEvents();
149+
AddEventHandlers(new NewEventHandlers());
56150
reader.append("this.ip","127.0.0.1")
57151
.append("this.port","19938")
58152
.append("jsmod2.ip","127.0.0.1")
59153
.append("jsmod2.port","19935")
60154
.append("jsmod2.debug","false")
61155
.create(Server.GetAppFolder()+"/jsmod2.conf");
156+
62157
}
63158

64159
public override void OnEnable()
@@ -106,6 +201,16 @@ public void sendEventObject(Event e,int id,IdMapping mapping)
106201
sendObject("{}",id,mapping,true);
107202
}
108203

204+
public void sendEventObject(Event e, IdMapping mapping)
205+
{
206+
sendEventObject(e.GetType(),mapping);
207+
}
208+
209+
public void sendEventObject(Type t,IdMapping mapping)
210+
{
211+
sendEventObject(null,RegisterEvents.getId(t),mapping);
212+
}
213+
109214
public void sendObject(string json1, int id,IdMapping mapping,bool get)
110215
{
111216
sendObject(new TcpClient(),json1,id,mapping,get);

jsmod2/event/HandleAdmin.cs

Lines changed: 0 additions & 20 deletions
This file was deleted.

jsmod2/event/HandleAuthCheck.cs

Lines changed: 0 additions & 20 deletions
This file was deleted.

jsmod2/event/HandleBan.cs

Lines changed: 0 additions & 25 deletions
This file was deleted.

jsmod2/event/HandlePickupItem.cs

Lines changed: 0 additions & 20 deletions
This file was deleted.

jsmod2/event/HandlePickupItemLate.cs

Lines changed: 0 additions & 23 deletions
This file was deleted.

jsmod2/event/HandlePlayer.cs

Lines changed: 0 additions & 19 deletions
This file was deleted.

jsmod2/event/HandleSetConfig.cs

Lines changed: 0 additions & 14 deletions
This file was deleted.

0 commit comments

Comments
 (0)