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

◆ OnClientNewEvent()

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

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

537 {
538 string characterType = g_Game.CreateRandomPlayer();
539 bool generateRandomEquip = false;
540
541 // get login data for new character
542 if (ProcessLoginData(ctx) && (m_RespawnMode == GameConstants.RESPAWN_MODE_CUSTOM) && !g_Game.GetMenuDefaultCharacterData(false).IsRandomCharacterForced())
543 {
544 if (g_Game.ListAvailableCharacters().Find(g_Game.GetMenuDefaultCharacterData().GetCharacterType()) > -1)
545 characterType = g_Game.GetMenuDefaultCharacterData().GetCharacterType();
546 }
547 else
548 {
549 generateRandomEquip = true;
550 }
551
552 if (PlayerSpawnHandler.IsInitialized())
553 {
554 PlayerSpawnPreset presetData = PlayerSpawnHandler.GetRandomCharacterPreset();
555 if (presetData && presetData.IsValid())
556 {
557 string presetCharType = presetData.GetRandomCharacterType();
558 if (presetCharType == string.Empty)
559 presetCharType = characterType;
560 if (CreateCharacter(identity, pos, ctx, presetCharType) != null)
561 {
562 PlayerSpawnHandler.ProcessEquipmentData(m_player,presetData);
563 return m_player;
564 }
565 else
566 {
567 ErrorEx("Failed to create character from type: " + presetCharType + ", using default spawning method");
568 }
569 }
570 else
571 {
572 ErrorEx("Failed to load PlayerSpawnPreset data properly, using default spawning method");
573 }
574 }
575
576 if (CreateCharacter(identity, pos, ctx, characterType))
577 {
578 if (generateRandomEquip)
579 g_Game.GetMenuDefaultCharacterData().GenerateRandomEquip();
580 EquipCharacter(g_Game.GetMenuDefaultCharacterData());
581 }
582
583 return m_player;
584 }
DayZGame g_Game
Определения DayZGame.c:3942
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:498
bool ProcessLoginData(ParamsReadContext ctx)
returns whether received data is valid, ctx can be filled on client in StoreLoginData()
Определения missionServer.c:479
PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)
Определения missionServer.c:486
PlayerBase m_player
Определения missionServer.c:54
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().