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

◆ OnRPC()

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

uses contants outside of ERPCs !!!!

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

5728 {
5729 super.OnRPC(sender, rpc_type, ctx);
5730
5731 switch (rpc_type)
5732 {
5733 #ifndef SERVER
5734
5735 case ERPCs.RPC_PLAYER_STAT:
5736 if (GetPlayerStats())
5737 GetPlayerStats().OnRPC(ctx);
5738 break;
5739
5740 case ERPCs.RPC_SYNC_DISPLAY_STATUS:
5741 if (GetVirtualHud())
5742 {
5743 GetVirtualHud().OnRPC(ctx);
5744 }
5745 break;
5746
5747 case ERPCs.RPC_PLAYER_SYMPTOM_ON:
5748 if (GetSymptomManager())
5749 {
5750 GetSymptomManager().OnRPC(ERPCs.RPC_PLAYER_SYMPTOM_ON, ctx);
5751 }
5752 break;
5753
5754 case ERPCs.RPC_PLAYER_SYMPTOM_OFF:
5755 if (GetSymptomManager())
5756 {
5757 GetSymptomManager().OnRPC(ERPCs.RPC_PLAYER_SYMPTOM_OFF, ctx);
5758 }
5759 break;
5760
5761 case ERPCs.RPC_SYMPTOM_PARAM_SYNC:
5762 if (GetSymptomManager())
5763 {
5764 GetSymptomManager().OnRPC(ERPCs.RPC_SYMPTOM_PARAM_SYNC, ctx);
5765 }
5766 break;
5767
5768 case ERPCs.RPC_DAMAGE_VALUE_SYNC:
5769 if (m_TrasferValues)
5770 m_TrasferValues.OnRPC(ctx);
5771 break;
5772
5773 case ERPCs.RPC_USER_ACTION_MESSAGE:
5774 if (!GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_CLIENT)
5775 {
5776 break;
5777 }
5778 if (ctx.Read(m_UAParamMessage))
5779 {
5780 string actiontext = m_UAParamMessage.param1;
5781 MessageAction(actiontext);
5782 }
5783 break;
5784
5785 case ERPCs.RPC_SOFT_SKILLS_SPECIALTY_SYNC:
5786 ref Param1<float> p_synch = new Param1<float>(0);
5787 ctx.Read(p_synch);
5788 float specialty_level = p_synch.param1;
5789 GetSoftSkillsManager().SetSpecialtyLevel(specialty_level);
5790 break;
5791
5792 case ERPCs.RPC_SOFT_SKILLS_STATS_SYNC:
5793 ref Param5<float, float, float, float, bool> p_debug_synch = new Param5<float, float ,float, float, bool>(0, 0, 0, 0, false);
5794 ctx.Read(p_debug_synch);
5795 float general_bonus_before = p_debug_synch.param1;
5796 float general_bonus_after = p_debug_synch.param2;
5797 float last_UA_value = p_debug_synch.param3;
5798 float cooldown_value = p_debug_synch.param4;
5799 float cooldown_active = p_debug_synch.param5;
5800 GetSoftSkillsManager().SetGeneralBonusBefore(general_bonus_before);
5801 GetSoftSkillsManager().SetGeneralBonusAfter(general_bonus_after);
5802 GetSoftSkillsManager().SetLastUAValue(last_UA_value);
5803 GetSoftSkillsManager().SetCoolDownValue(cooldown_value);
5804 GetSoftSkillsManager().SetCoolDown(cooldown_active);
5805 break;
5806
5807 case ERPCs.RPC_WARNING_ITEMDROP:
5808 {
5809 if (g_Game.IsClient() && g_Game.GetUIManager() && !g_Game.GetUIManager().FindMenu(MENU_WARNING_ITEMDROP))
5810 {
5811 g_Game.GetCallQueue(CALL_CATEGORY_GAMEPLAY).Call(g_Game.GetUIManager().EnterScriptedMenu,MENU_WARNING_ITEMDROP,null);
5812 g_Game.GetMission().AddActiveInputExcludes({"menu"});
5813 }
5814 break;
5815 }
5816
5817 case ERPCs.RPC_WARNING_TELEPORT:
5818 {
5819 if (g_Game.IsClient() && g_Game.GetUIManager() && !g_Game.GetUIManager().FindMenu(MENU_WARNING_TELEPORT))
5820 {
5821 g_Game.GetCallQueue(CALL_CATEGORY_GAMEPLAY).Call(g_Game.GetUIManager().EnterScriptedMenu,MENU_WARNING_TELEPORT,null);
5822 g_Game.GetMission().AddActiveInputExcludes({"menu"});
5823 }
5824 break;
5825 }
5826 case ERPCs.RPC_INIT_SET_QUICKBAR:
5827 ref Param1<int> count = new Param1<int>(0);
5828 if (ctx.Read(count))
5829 {
5830 for (int i = 0; i < count.param1 ; i++)
5831 {
5832 m_QuickBarBase.OnSetEntityRPC(ctx);
5833 }
5834 }
5835 break;
5836
5837 case ERPCs.RPC_SYNC_THERMOMETER:
5838 {
5839 float value;
5840 if (ctx.Read(value))
5841 m_Hud.SetTemperature(value.ToString() + "#degrees_celsius");
5842 break;
5843 }
5844
5845
5846 case ERPCs.RPC_CHECK_PULSE:
5847 ctx.Read(CachedObjectsParams.PARAM1_INT);
5848 EPulseType pulse;
5849 if ((CachedObjectsParams.PARAM1_INT.param1 & ActionCheckPulse.TARGET_IRREGULAR_PULSE_BIT) == 0)
5850 {
5851 pulse = EPulseType.REGULAR;
5852 }
5853 else
5854 {
5855 pulse = EPulseType.IRREGULAR;
5856 }
5857
5858 int blood_level = ~ActionCheckPulse.TARGET_IRREGULAR_PULSE_BIT & CachedObjectsParams.PARAM1_INT.param1;
5860 {
5861 m_CheckPulseLastTarget.SetLastUAMessage(ActionCheckPulse.GetPulseMessage(pulse, blood_level));
5862 }
5863 break;
5864
5866 //woodcutting
5867 case PlantType.TREE_HARD:
5868 SoundHardTreeFallingPlay();
5869 break;
5870
5871 case PlantType.TREE_SOFT:
5872 SoundSoftTreeFallingPlay();
5873 break;
5874
5875 case PlantType.BUSH_HARD:
5876 SoundHardBushFallingPlay();
5877 break;
5878
5879 case PlantType.BUSH_SOFT:
5880 SoundSoftBushFallingPlay();
5881 break;
5882
5883 case ERPCs.RPC_DEBUG_MONITOR_FLT:
5885 {
5886 m_DebugMonitorValues.OnRPCFloat(ctx);
5887 }
5888 break;
5889
5890 case ERPCs.RPC_DEBUG_MONITOR_STR:
5892 {
5893 m_DebugMonitorValues.OnRPCString(ctx);
5894 }
5895 break;
5896
5897 case ERPCs.RPC_ITEM_REPAIR:
5898 PluginInventoryRepair repairPlugin = PluginInventoryRepair.Cast(GetPlugin(PluginInventoryRepair));
5899 repairPlugin.OnRPC(ctx);
5900 #endif
5901
5902
5903 /*
5904 case ERPCs.RPC_CRAFTING_INVENTORY_INSTANT:
5905 ref Param3<int, ItemBase, ItemBase> craftParam = new Param3<int, ItemBase, ItemBase>(-1, NULL, NULL);
5906 if (ctx.Read(craftParam))
5907 {
5908 m_ModuleRecipesManager.PerformRecipeServer(craftParam.param1, craftParam.param2, craftParam.param3, this);
5909 }
5910 break;
5911 */
5912
5913
5914
5915 #ifdef DIAG_DEVELOPER
5916 case ERPCs.DEV_RPC_AGENT_RESET:
5917 {
5918 bool val;
5919 if (ctx.Read(val))
5920 m_AgentPool.RemoveAllAgents();
5921 break;
5922 }
5923
5924 case ERPCs.DEV_PLAYER_DEBUG_REQUEST:
5925 {
5926 PluginRemotePlayerDebugServer plugin_remote_server = PluginRemotePlayerDebugServer.Cast(GetPlugin(PluginRemotePlayerDebugServer));
5927 plugin_remote_server.OnRPC(ctx, this);
5928 break;
5929 }
5930
5931 case ERPCs.DEV_PLAYER_DEBUG_DATA:
5932 {
5933 PluginRemotePlayerDebugClient plugin_remote_client = PluginRemotePlayerDebugClient.Cast(GetPlugin(PluginRemotePlayerDebugClient));
5934 PluginDeveloper plugin_dev = PluginDeveloper.Cast(GetPlugin(PluginDeveloper));
5935 if (plugin_dev.m_ScriptConsole)
5936 plugin_dev.m_ScriptConsole.OnRPCEx(rpc_type, ctx);
5937 else
5938 plugin_remote_client.OnRPC(ctx);
5939 break;
5940 }
5941
5942 case ERPCs.DEV_AGENT_GROW:
5943 {
5944 m_AgentPool.RemoteGrowRequestDebug(ctx);
5945 break;
5946 }
5947
5948 case ERPCs.RPC_ITEM_DIAG_CLOSE:
5949 {
5951 mid.StopWatchRequest(this);
5952 break;
5953 }
5954
5956 case ERPCs.DEV_REQUEST_UTS_DEBUG:
5957 {
5958 PluginUniversalTemperatureSourceServer plugin_uts_server = PluginUniversalTemperatureSourceServer.Cast(GetPlugin(PluginUniversalTemperatureSourceServer));
5959 plugin_uts_server.OnRPC(ctx, this);
5960 break;
5961 }
5962
5963 case ERPCs.DEV_UTS_DEBUG_DATA:
5964 {
5965 PluginUniversalTemperatureSourceClient plugin_uts_client = PluginUniversalTemperatureSourceClient.Cast(GetPlugin(PluginUniversalTemperatureSourceClient));
5966 plugin_uts_client.OnRPC(ctx);
5967 break;
5968 }
5970 #endif
5971
5972 #ifdef DEVELOPER
5973 case ERPCs.DEV_RPC_SERVER_SCRIPT:
5974 {
5975 //PluginItemDiagnostic plugin = PluginItemDiagnostic.Cast(GetPlugin(PluginItemDiagnostic));
5976 //SetDebugDeveloper_item(plugin.GetWatchedItem(this));//!! needs to be inside DEVELOPER ifdef
5977
5978 if (ctx.Read(CachedObjectsParams.PARAM1_STRING))
5979 {
5980 _player = this;
5981 string code = CachedObjectsParams.PARAM1_STRING.param1;
5982 bool success = g_Game.ExecuteEnforceScript("void scConsMain() \n{\n" + code + "\n}\n", "scConsMain");
5983 CachedObjectsParams.PARAM1_BOOL.param1 = success;
5984 RPCSingleParam(ERPCs.DEV_RPC_SERVER_SCRIPT_RESULT, CachedObjectsParams.PARAM1_BOOL,true, GetIdentity());
5985 }
5986 break;
5987 }
5988
5989 case ERPCs.DEV_RPC_SERVER_SCRIPT_RESULT:
5990 {
5991 PluginDeveloper dev = PluginDeveloper.Cast(GetPlugin(PluginDeveloper));
5992 if (dev.m_ScriptConsole)
5993 dev.m_ScriptConsole.OnRPCEx(rpc_type, ctx);
5994 break;
5995 }
5996
5997 case ERPCs.DEV_SET_DEV_ITEM:
5998 {
5999 Param1<EntityAI> ent = new Param1<EntityAI>(null);
6000 if (ctx.Read(ent) && ent.param1)
6001 {
6003 mid2.RegisterDebugItem(ent.param1, this);
6004 }
6005 //SetDebugDeveloper_item(this);
6006 break;
6007 }
6008
6009 case ERPCs.RPC_ITEM_DIAG:
6010 {
6011 Param1<EntityAI> p1 = new Param1<EntityAI>(null);
6012 if (ctx.Read(p1))
6013 {
6015 plgn.OnRPC(p1.param1, ctx);
6016 }
6017 break;
6018 }
6019 #endif
6020 }
6021
6022 #ifdef DIAG_DEVELOPER
6023 PluginDeveloper module_rc = PluginDeveloper.Cast(GetPlugin(PluginDeveloper));
6024 if (module_rc)
6025 module_rc.OnRPC(this, rpc_type, ctx);
6026
6027 PluginDeveloperSync module_rcs = PluginDeveloperSync.Cast(GetPlugin(PluginDeveloperSync));
6028 if (module_rcs)
6029 module_rcs.OnRPC(this, rpc_type, ctx);
6030
6031 #ifdef SERVER
6032 PluginDiagMenu plugin_diag_menu = PluginDiagMenu.Cast(GetPlugin(PluginDiagMenuServer));
6033 #else
6034 PluginDiagMenu plugin_diag_menu = PluginDiagMenu.Cast(GetPlugin(PluginDiagMenuClient));
6035 #endif
6036
6037 if (plugin_diag_menu)
6038 plugin_diag_menu.OnRPC(this, rpc_type, ctx);
6039 #endif
6040 }
DayZGame g_Game
Определения DayZGame.c:4074
EPulseType
Определения EPulseType.c:2
ERPCs
Определения ERPCs.c:2
void PluginItemDiagnostic()
Определения PluginItemDiagnostic.c:74
PluginBase GetPlugin(typename plugin_type)
Определения PluginManager.c:326
PlayerBase _player
Определения QuickBarBase.c:18
SymptomManager GetSymptomManager()
Определения PlayerBase.c:2983
PlayerBase m_CheckPulseLastTarget
Определения PlayerBase.c:186
void MessageAction(string text)
Определения PlayerBase.c:6930
ref PlayerAgentPool m_AgentPool
Определения PlayerBase.c:91
VirtualHud GetVirtualHud()
Определения PlayerBase.c:2987
ref DebugMonitorValues m_DebugMonitorValues
Определения PlayerBase.c:103
SoftSkillsManager GetSoftSkillsManager()
Определения PlayerBase.c:7299
ref TransferValues m_TrasferValues
Определения PlayerBase.c:102
Hud m_Hud
Определения PlayerBase.c:139
PlayerStats GetPlayerStats()
Определения PlayerBase.c:2032
QuickBarBase m_QuickBarBase
Определения PlayerBase.c:132
ref Param1< string > m_UAParamMessage
Определения PlayerBase.c:114
void OnRPC(PlayerBase player, int rpc_type, ParamsReadContext ctx)
Определения PluginDeveloper.c:110
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
proto string ToString(bool simple=true)
DayZPlayerInstanceType
defined in C++
Определения dayzplayer.c:1084
proto native DayZPlayerInstanceType GetInstanceType()
const int MENU_WARNING_TELEPORT
Определения 3_Game/DayZ/constants.c:216
const int MENU_WARNING_ITEMDROP
Определения 3_Game/DayZ/constants.c:214
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().