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

◆ OnClientNewEvent()

PlayerBase MissionBase::OnClientNewEvent ( PlayerIdentity identity,
vector pos,
ParamsReadContext ctx )
inlineprotected

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

550 {
551 string characterType = g_Game.CreateRandomPlayer();
552 bool generateRandomEquip = false;
553
554 // get login data for new character
555 if (ProcessLoginData(ctx) && (m_RespawnMode == GameConstants.RESPAWN_MODE_CUSTOM) && !g_Game.GetMenuDefaultCharacterData(false).IsRandomCharacterForced())
556 {
557 if (g_Game.ListAvailableCharacters().Find(g_Game.GetMenuDefaultCharacterData().GetCharacterType()) > -1)
558 characterType = g_Game.GetMenuDefaultCharacterData().GetCharacterType();
559 }
560 else
561 {
562 generateRandomEquip = true;
563 }
564
565 if (PlayerSpawnHandler.IsInitialized())
566 {
567 PlayerSpawnPreset presetData = PlayerSpawnHandler.GetRandomCharacterPreset();
568 if (presetData && presetData.IsValid())
569 {
570 string presetCharType = presetData.GetRandomCharacterType();
571 if (presetCharType == string.Empty)
572 presetCharType = characterType;
573 if (CreateCharacter(identity, pos, ctx, presetCharType) != null)
574 {
575 PlayerSpawnHandler.ProcessEquipmentData(m_player,presetData);
576 return m_player;
577 }
578 else
579 {
580 ErrorEx("Failed to create character from type: " + presetCharType + ", using default spawning method");
581 }
582 }
583 else
584 {
585 ErrorEx("Failed to load PlayerSpawnPreset data properly, using default spawning method");
586 }
587 }
588
589 if (CreateCharacter(identity, pos, ctx, characterType))
590 {
591 if (generateRandomEquip)
592 g_Game.GetMenuDefaultCharacterData().GenerateRandomEquip();
593 EquipCharacter(g_Game.GetMenuDefaultCharacterData());
594 }
595
596 return m_player;
597 }
DayZGame g_Game
Определения DayZGame.c:4074
Empty
Определения Hand_States.c:14
int m_RespawnMode
Определения missionServer.c:14
void EquipCharacter(MenuDefaultCharacterData char_data)
Spawns character equip from received data. Checks validity against config, randomizes if invalid valu...
Определения missionServer.c:511
bool ProcessLoginData(ParamsReadContext ctx)
returns whether received data is valid, ctx can be filled on client in StoreLoginData()
Определения missionServer.c:492
PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)
Определения missionServer.c:499
PlayerBase m_player
Определения missionServer.c:56
override bool IsValid()
Определения CfgPlayerSpawnDataJson.c:33
string GetRandomCharacterType()
Определения CfgPlayerSpawnDataJson.c:24
enum ShapeType ErrorEx

Перекрестные ссылки CreateCharacter(), Empty, EquipCharacter(), ErrorEx, g_Game, PlayerSpawnHandler::GetRandomCharacterPreset(), PlayerSpawnPreset::GetRandomCharacterType(), PlayerSpawnHandler::IsInitialized(), PlayerSpawnPreset::IsValid(), m_player, m_RespawnMode, PlayerSpawnHandler::ProcessEquipmentData(), ProcessLoginData() и GameConstants::RESPAWN_MODE_CUSTOM.

Используется в OnEvent().