-= Teamplay 시 player 가 처음 서버에 접속했을 때 이상하게 spawn 되는걸 fix =-
Purpose: Teamplay 시 player 가 처음 서버에 접속했을 때 이상하게 spawn 되는걸 fix
Author: godmode2k (godmode2k@hotmail.com | MSN IM)
Date: September. 04. 2005
Destination:
Source:
SDK: HL1 SDK 2.3
Code: Multyplayer Source
Tested: Steam based
(*)Special thanks to:
Description:
지난번 제가 작성한 tutorials:
0. "자신이 만든 MOD를 STEAM 으로 돌려보기 입니다."
1. 외국 Tutorial 번역 "Creating a New VGUI Menu - Part 1"
2. "게임내에서 wave 파일을 재생하자!"
3. "Radio Command Menu 만들기(CS 처럼)"
4. "MOD 게임 바탕화면 Logo 바꾸기"
5. "HLDS로 나의 MOD Server 구성하기"
6. "Counter-Strike 처럼 Team System 만들기(수정된 Radio Command Menu 포함)"
7. "기존 M16에서 CS(카스)의 M4A1 weapon 만들기"
8. "AK47 weapon 만들기"
9. "Teamplay 시 player 가 처음 서버에 접속했을 때 이상하게 spawn 되는걸 fix"
주소는: 0. http://cocowest.javasarang.net/mod/bbs/view.php?&bbs_id=hlsdk&page=&doc_num=39
1. http://cocowest.javasarang.net/mod/vgui_p1/VGUIMenuPart1.htm
2. http://cocowest.javasarang.net/mod/bbs/view.php?&bbs_id=hlsdk&page=&doc_num=49
3. http://cocowest.javasarang.net/mod/bbs/view.php?&bbs_id=hlsdk&page=&doc_num=51
4. http://cocowest.javasarang.net/mod/bbs/view.php?&bbs_id=hlsdk&page=&doc_num=53
5. http://cocowest.javasarang.net/mod/bbs/view.php?&bbs_id=hlsdk&page=&doc_num=59
6. http://cocowest.javasarang.net/mod/bbs/view.php?&bbs_id=hlsdk&page=&doc_num=74
7. http://cocowest.javasarang.net/mod/bbs/view.php?&bbs_id=hlsdk&page=&doc_num=99
8. http://cocowest.javasarang.net/mod/bbs/view.php?&bbs_id=hlsdk&page=&doc_num=100
9. n/a
[ 추가사항 ]
[ 주의 ]
code를 추가해 줄 때,
// 018killer: ... [
// 018killer: ... ]
사이 부분의 code를 추가해 주시면 됩니다
*** 이 tutorial 은 6. "Counter-Strike 처럼 Team System 만들기(수정된 Radio Command Menu 포함)" 가 추가되었다는
사실하에 작성된 글입니다. (반드시 추가한 후에 작성하시기 바랍니다.)
--------------------------------------------------------------
파일명: mp files/player.cpp
작업위치:
edict_t *EntSelectTeamSpawnPoint( CBaseEntity *pPlayer )
{
CBaseEntity *pSpot;
edict_t *player;
player = pPlayer->edict();
CBasePlayer *cbPlayer = (CBasePlayer *)pPlayer; // Get a CBasePlayer
...
ReturnSpot:
if( FNullEnt( pSpot ) )
{
ALERT( at_error, "PutClientServer: no spawn points on level" );
return INDEXENT(0);
}
g_pLastSpawn = pSpot;
바로 아래 부분에 작성( 이 부분에 작성 )
return pSpot->edict();
}
--------------------------------------------------------------
// 018killer: Player Spawn at First time Teamplay [
// Purpose: Teamplay 시 player 가 처음 서버에 접속했을 때 이상하게 spawn 되는걸 fix
// player.cpp: CBasePlayer :: Spawn() 에서의 g_pGameRules->PlayerSpawn( cbPlayer ); 코드를 주석 처리하고
// player.cpp: edict_t *EntSelectTeamSpawnPoint( CBaseEntity *pPlayer ) {} 안의 ReturnSpot: 에 넣어주자
g_pGameRules->PlayerSpawn( cbPlayer );
// 018killer: Player Spawn at First time Teamplay ]
==============================================================
--------------------------------------------------------------
파일명: mp files/player.cpp
작업위치:
void CBasePlayer::Spawn( void )
{
pev->classname = MAKE_STRING("player");
pev->health = 100;
pev->armorvalue = 0;
pev->takedamage = DAMAGE_AIM;
...
m_flNextChatTime = gpGlobals->time;
g_pGameRules->PlayerSpawn( this );
}
에서 g_pGameRules->PlayerSpawn( this ); 를 아래와 같이 주석처리
--------------------------------------------------------------
// 018killer: Player Spawn at First time Teamplay [
// Purpose: Teamplay 시 player 가 처음 서버에 접속했을 때 이상하게 spawn 되는걸 fix
// player.cpp: CBasePlayer :: Spawn() 에서의 g_pGameRules->PlayerSpawn( cbPlayer ); 코드를 주석 처리하고
// player.cpp: edict_t *EntSelectTeamSpawnPoint( CBaseEntity *pPlayer ) {} 안의 ReturnSpot: 에 넣어주자
// g_pGameRules->PlayerSpawn( this );
// 018killer: Player Spawn at First time Teamplay ]
==============================================================
이상입니다.
질문이나 fix 되어야 할 점이 있을시엔 godmode2k@hotmail.com 으로 메일을 보내주시기 바랍니다.
댓글 없음:
댓글 쓰기