DayZ 1.29
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ OnRPC()

override void ManBase::OnRPC ( PlayerIdentity sender,
int rpc_type,
ParamsReadContext ctx )
inlineprotected

uses contants outside of ERPCs !!!!

См. определение в файле PlayerBase.c строка 5450

5451 {
5452 super.OnRPC(sender, rpc_type, ctx);
5453
5454 switch (rpc_type)
5455 {
5456 #ifndef SERVER
5457
5458 case ERPCs.RPC_PLAYER_STAT:
5459 if (GetPlayerStats())
5460 GetPlayerStats().OnRPC(ctx);
5461 break;
5462
5463 case ERPCs.RPC_SYNC_DISPLAY_STATUS:
5464 if (GetVirtualHud())
5465 {
5466 GetVirtualHud().OnRPC(ctx);
5467 }
5468 break;
5469
5470 case ERPCs.RPC_PLAYER_SYMPTOM_ON:
5471 if (GetSymptomManager())
5472 {
5473 GetSymptomManager().OnRPC(ERPCs.RPC_PLAYER_SYMPTOM_ON, ctx);
5474 }
5475 break;
5476
5477 case ERPCs.RPC_PLAYER_SYMPTOM_OFF:
5478 if (GetSymptomManager())
5479 {
5480 GetSymptomManager().OnRPC(ERPCs.RPC_PLAYER_SYMPTOM_OFF, ctx);
5481 }
5482 break;
5483
5484 case ERPCs.RPC_DAMAGE_VALUE_SYNC:
5485 if (m_TrasferValues)
5486 m_TrasferValues.OnRPC(ctx);
5487 break;
5488
5489 case ERPCs.RPC_USER_ACTION_MESSAGE:
5490 if (!GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_CLIENT)
5491 {
5492 break;
5493 }
5494 if (ctx.Read(m_UAParamMessage))
5495 {
5496 string actiontext = m_UAParamMessage.param1;
5497 MessageAction(actiontext);
5498 }
5499 break;
5500
5501 case ERPCs.RPC_SOFT_SKILLS_SPECIALTY_SYNC:
5502 ref Param1<float> p_synch = new Param1<float>(0);
5503 ctx.Read(p_synch);
5504 float specialty_level = p_synch.param1;
5505 GetSoftSkillsManager().SetSpecialtyLevel(specialty_level);
5506 break;
5507
5508 case ERPCs.RPC_SOFT_SKILLS_STATS_SYNC:
5509 ref Param5<float, float, float, float, bool> p_debug_synch = new Param5<float, float ,float, float, bool>(0, 0, 0, 0, false);
5510 ctx.Read(p_debug_synch);
5511 float general_bonus_before = p_debug_synch.param1;
5512 float general_bonus_after = p_debug_synch.param2;
5513 float last_UA_value = p_debug_synch.param3;
5514 float cooldown_value = p_debug_synch.param4;
5515 float cooldown_active = p_debug_synch.param5;
5516 GetSoftSkillsManager().SetGeneralBonusBefore(general_bonus_before);
5517 GetSoftSkillsManager().SetGeneralBonusAfter(general_bonus_after);
5518 GetSoftSkillsManager().SetLastUAValue(last_UA_value);
5519 GetSoftSkillsManager().SetCoolDownValue(cooldown_value);
5520 GetSoftSkillsManager().SetCoolDown(cooldown_active);
5521 break;
5522
5523 case ERPCs.RPC_WARNING_ITEMDROP:
5524 {
5525 if (g_Game.IsClient() && g_Game.GetUIManager() && !g_Game.GetUIManager().FindMenu(MENU_WARNING_ITEMDROP))
5526 {
5527 g_Game.GetCallQueue(CALL_CATEGORY_GAMEPLAY).Call(g_Game.GetUIManager().EnterScriptedMenu,MENU_WARNING_ITEMDROP,null);
5528 g_Game.GetMission().AddActiveInputExcludes({"menu"});
5529 }
5530 break;
5531 }
5532
5533 case ERPCs.RPC_WARNING_TELEPORT:
5534 {
5535 if (g_Game.IsClient() && g_Game.GetUIManager() && !g_Game.GetUIManager().FindMenu(MENU_WARNING_TELEPORT))
5536 {
5537 g_Game.GetCallQueue(CALL_CATEGORY_GAMEPLAY).Call(g_Game.GetUIManager().EnterScriptedMenu,MENU_WARNING_TELEPORT,null);
5538 g_Game.GetMission().AddActiveInputExcludes({"menu"});
5539 }
5540 break;
5541 }
5542 case ERPCs.RPC_INIT_SET_QUICKBAR:
5543 ref Param1<int> count = new Param1<int>(0);
5544 if (ctx.Read(count))
5545 {
5546 for (int i = 0; i < count.param1 ; i++)
5547 {
5548 m_QuickBarBase.OnSetEntityRPC(ctx);
5549 }
5550 }
5551 break;
5552
5553 case ERPCs.RPC_SYNC_THERMOMETER:
5554 {
5555 float value;
5556 if (ctx.Read(value))
5557 m_Hud.SetTemperature(value.ToString() + "#degrees_celsius");
5558 break;
5559 }
5560
5561
5562 case ERPCs.RPC_CHECK_PULSE:
5563 ctx.Read(CachedObjectsParams.PARAM1_INT);
5564 EPulseType pulse;
5565 if ((CachedObjectsParams.PARAM1_INT.param1 & ActionCheckPulse.TARGET_IRREGULAR_PULSE_BIT) == 0)
5566 {
5567 pulse = EPulseType.REGULAR;
5568 }
5569 else
5570 {
5571 pulse = EPulseType.IRREGULAR;
5572 }
5573
5574 int blood_level = ~ActionCheckPulse.TARGET_IRREGULAR_PULSE_BIT & CachedObjectsParams.PARAM1_INT.param1;
5576 {
5577 m_CheckPulseLastTarget.SetLastUAMessage(ActionCheckPulse.GetPulseMessage(pulse, blood_level));
5578 }
5579 break;
5580
5582 //woodcutting
5583 case PlantType.TREE_HARD:
5584 SoundHardTreeFallingPlay();
5585 break;
5586
5587 case PlantType.TREE_SOFT:
5588 SoundSoftTreeFallingPlay();
5589 break;
5590
5591 case PlantType.BUSH_HARD:
5592 SoundHardBushFallingPlay();
5593 break;
5594
5595 case PlantType.BUSH_SOFT:
5596 SoundSoftBushFallingPlay();
5597 break;
5598
5599 case ERPCs.RPC_DEBUG_MONITOR_FLT:
5601 {
5602 m_DebugMonitorValues.OnRPCFloat(ctx);
5603 }
5604 break;
5605
5606 case ERPCs.RPC_DEBUG_MONITOR_STR:
5608 {
5609 m_DebugMonitorValues.OnRPCString(ctx);
5610 }
5611 break;
5612
5613 case ERPCs.RPC_ITEM_REPAIR:
5614 PluginInventoryRepair repairPlugin = PluginInventoryRepair.Cast(GetPlugin(PluginInventoryRepair));
5615 repairPlugin.OnRPC(ctx);
5616 #endif
5617
5618
5619 /*
5620 case ERPCs.RPC_CRAFTING_INVENTORY_INSTANT:
5621 ref Param3<int, ItemBase, ItemBase> craftParam = new Param3<int, ItemBase, ItemBase>(-1, NULL, NULL);
5622 if (ctx.Read(craftParam))
5623 {
5624 m_ModuleRecipesManager.PerformRecipeServer(craftParam.param1, craftParam.param2, craftParam.param3, this);
5625 }
5626 break;
5627 */
5628
5629
5630
5631 #ifdef DIAG_DEVELOPER
5632 case ERPCs.DEV_RPC_AGENT_RESET:
5633 {
5634 bool val;
5635 if (ctx.Read(val))
5636 m_AgentPool.RemoveAllAgents();
5637 break;
5638 }
5639
5640 case ERPCs.DEV_PLAYER_DEBUG_REQUEST:
5641 {
5642 PluginRemotePlayerDebugServer plugin_remote_server = PluginRemotePlayerDebugServer.Cast(GetPlugin(PluginRemotePlayerDebugServer));
5643 plugin_remote_server.OnRPC(ctx, this);
5644 break;
5645 }
5646
5647 case ERPCs.DEV_PLAYER_DEBUG_DATA:
5648 {
5649 PluginRemotePlayerDebugClient plugin_remote_client = PluginRemotePlayerDebugClient.Cast(GetPlugin(PluginRemotePlayerDebugClient));
5650 PluginDeveloper plugin_dev = PluginDeveloper.Cast(GetPlugin(PluginDeveloper));
5651 if (plugin_dev.m_ScriptConsole)
5652 plugin_dev.m_ScriptConsole.OnRPCEx(rpc_type, ctx);
5653 else
5654 plugin_remote_client.OnRPC(ctx);
5655 break;
5656 }
5657
5658 case ERPCs.DEV_AGENT_GROW:
5659 {
5660 m_AgentPool.RemoteGrowRequestDebug(ctx);
5661 break;
5662 }
5663
5664 case ERPCs.RPC_ITEM_DIAG_CLOSE:
5665 {
5667 mid.StopWatchRequest(this);
5668 break;
5669 }
5670
5672 case ERPCs.DEV_REQUEST_UTS_DEBUG:
5673 {
5674 PluginUniversalTemperatureSourceServer plugin_uts_server = PluginUniversalTemperatureSourceServer.Cast(GetPlugin(PluginUniversalTemperatureSourceServer));
5675 plugin_uts_server.OnRPC(ctx, this);
5676 break;
5677 }
5678
5679 case ERPCs.DEV_UTS_DEBUG_DATA:
5680 {
5681 PluginUniversalTemperatureSourceClient plugin_uts_client = PluginUniversalTemperatureSourceClient.Cast(GetPlugin(PluginUniversalTemperatureSourceClient));
5682 plugin_uts_client.OnRPC(ctx);
5683 break;
5684 }
5686 #endif
5687
5688 #ifdef DEVELOPER
5689 case ERPCs.DEV_RPC_SERVER_SCRIPT:
5690 {
5691 //PluginItemDiagnostic plugin = PluginItemDiagnostic.Cast(GetPlugin(PluginItemDiagnostic));
5692 //SetDebugDeveloper_item(plugin.GetWatchedItem(this));//!! needs to be inside DEVELOPER ifdef
5693
5694 if (ctx.Read(CachedObjectsParams.PARAM1_STRING))
5695 {
5696 _player = this;
5697 string code = CachedObjectsParams.PARAM1_STRING.param1;
5698 bool success = g_Game.ExecuteEnforceScript("void scConsMain() \n{\n" + code + "\n}\n", "scConsMain");
5699 CachedObjectsParams.PARAM1_BOOL.param1 = success;
5700 RPCSingleParam(ERPCs.DEV_RPC_SERVER_SCRIPT_RESULT, CachedObjectsParams.PARAM1_BOOL,true, GetIdentity());
5701 }
5702 break;
5703 }
5704
5705 case ERPCs.DEV_RPC_SERVER_SCRIPT_RESULT:
5706 {
5707 PluginDeveloper dev = PluginDeveloper.Cast(GetPlugin(PluginDeveloper));
5708 if (dev.m_ScriptConsole)
5709 dev.m_ScriptConsole.OnRPCEx(rpc_type, ctx);
5710 break;
5711 }
5712
5713 case ERPCs.DEV_SET_DEV_ITEM:
5714 {
5715 Param1<EntityAI> ent = new Param1<EntityAI>(null);
5716 if (ctx.Read(ent) && ent.param1)
5717 {
5719 mid2.RegisterDebugItem(ent.param1, this);
5720 }
5721 //SetDebugDeveloper_item(this);
5722 break;
5723 }
5724
5725 case ERPCs.RPC_ITEM_DIAG:
5726 {
5727 Param1<EntityAI> p1 = new Param1<EntityAI>(null);
5728 if (ctx.Read(p1))
5729 {
5731 plgn.OnRPC(p1.param1, ctx);
5732 }
5733 break;
5734 }
5735 #endif
5736 }
5737
5738 #ifdef DIAG_DEVELOPER
5739 PluginDeveloper module_rc = PluginDeveloper.Cast(GetPlugin(PluginDeveloper));
5740 if (module_rc)
5741 module_rc.OnRPC(this, rpc_type, ctx);
5742
5743 PluginDeveloperSync module_rcs = PluginDeveloperSync.Cast(GetPlugin(PluginDeveloperSync));
5744 if (module_rcs)
5745 module_rcs.OnRPC(this, rpc_type, ctx);
5746
5747 #ifdef SERVER
5748 PluginDiagMenu plugin_diag_menu = PluginDiagMenu.Cast(GetPlugin(PluginDiagMenuServer));
5749 #else
5750 PluginDiagMenu plugin_diag_menu = PluginDiagMenu.Cast(GetPlugin(PluginDiagMenuClient));
5751 #endif
5752
5753 if (plugin_diag_menu)
5754 plugin_diag_menu.OnRPC(this, rpc_type, ctx);
5755 #endif
5756 }
DayZGame g_Game
Определения DayZGame.c:3942
EPulseType
Определения EPulseType.c:2
ERPCs
Определения ERPCs.c:2
void PluginItemDiagnostic()
Определения PluginItemDiagnostic.c:74
PluginBase GetPlugin(typename plugin_type)
Определения PluginManager.c:325
PlayerBase _player
Определения QuickBarBase.c:18
SymptomManager GetSymptomManager()
Определения PlayerBase.c:2783
PlayerBase m_CheckPulseLastTarget
Определения PlayerBase.c:187
void MessageAction(string text)
Определения PlayerBase.c:6609
ref PlayerAgentPool m_AgentPool
Определения PlayerBase.c:91
VirtualHud GetVirtualHud()
Определения PlayerBase.c:2787
ref DebugMonitorValues m_DebugMonitorValues
Определения PlayerBase.c:103
SoftSkillsManager GetSoftSkillsManager()
Определения PlayerBase.c:6978
ref TransferValues m_TrasferValues
Определения PlayerBase.c:102
Hud m_Hud
Определения PlayerBase.c:140
PlayerStats GetPlayerStats()
Определения PlayerBase.c:1974
QuickBarBase m_QuickBarBase
Определения PlayerBase.c:133
ref Param1< string > m_UAParamMessage
Определения PlayerBase.c:115
void OnRPC(PlayerBase player, int rpc_type, ParamsReadContext ctx)
Определения PluginDeveloper.c:61
proto bool Read(void value_in)
void SetCoolDown(bool cool_down)
Определения SoftSkillsManager.c:369
void SetLastUAValue(float last_ua_value)
Определения SoftSkillsManager.c:433
void SetGeneralBonusBefore(float general_bonus_before)
Определения SoftSkillsManager.c:501
void SetCoolDownValue(float cooldown_value)
Определения SoftSkillsManager.c:415
void SetGeneralBonusAfter(float general_bonus_after)
Определения SoftSkillsManager.c:513
void SetSpecialtyLevel(float specialty_level)
Определения SoftSkillsManager.c:290
void OnRPC(int rpc_type, ParamsReadContext ctx)
Определения StateManager.c:590
proto string ToString(bool simple=true)
DayZPlayerInstanceType
defined in C++
Определения dayzplayer.c:1071
proto native DayZPlayerInstanceType GetInstanceType()
const int MENU_WARNING_TELEPORT
Определения 3_Game/DayZ/constants.c:210
const int MENU_WARNING_ITEMDROP
Определения 3_Game/DayZ/constants.c:208
const int CALL_CATEGORY_GAMEPLAY
Определения 3_Game/DayZ/tools/tools.c:10

Перекрестные ссылки _player, CALL_CATEGORY_GAMEPLAY, g_Game, GetInstanceType(), GetPlayerStats(), GetPlugin(), ActionCheckPulse::GetPulseMessage(), GetSoftSkillsManager(), GetSymptomManager(), GetVirtualHud(), m_AgentPool, m_CheckPulseLastTarget, m_DebugMonitorValues, m_Hud, m_QuickBarBase, m_TrasferValues, m_UAParamMessage, MENU_WARNING_ITEMDROP, MENU_WARNING_TELEPORT, MessageAction(), PluginBase::OnRPC(), CachedObjectsParams::PARAM1_BOOL, CachedObjectsParams::PARAM1_INT, CachedObjectsParams::PARAM1_STRING, PluginItemDiagnostic(), Serializer::Read(), ActionCheckPulse::TARGET_IRREGULAR_PULSE_BIT и float::ToString().