본문 바로가기
프로그래밍/Pawn

[PAWN/SAMP] 특정 총기에 드라이브 바이 제한 걸기

by 알용 2012. 11. 19.
반응형

SAMP에서 특정 총기에 드라이브 바이 제한을 두는 코드입니다.

예를 들어 D-Eagle 같은, 드라이브 바이 사용 시 다른 총기에 비해 지나치게

큰 위력을 발생하는 무기에 제한을 둘 때 사용할 수 있습니다.


모든 SAMP 버전에서 사용할 수 있습니다.

플레이어가 보조석에 있을 때 'H'키(드라이브 바이 키) 눌림이 인식되면,

현재 플레이어가 들고 있는 무기의 Weapon ID를 추출해 무기제한 리스트와 비교합니다.

만약, 플레이어의 무기가 제한 리스트에 해당될 경우 플레이어의 현재 무기를 0(주먹)으로 설정합니다.


아래는 구현된 코드입니다.


  • #define DRIVE_BY_LIST 24,25,30,31,33,34
  •  
  • public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  • {
  •         if( newkeys == KEY_CROUCH ) {   // KEY_CROUCH는 차량에 미탑승시 C키, 탑승시 H키로 인식
  •                 if( GetPlayerState( playerid ) == PLAYER_STATE_PASSENGER ) { // 플레이어가 보조석에 있을 때,
  •                         switch( GetPlayerWeapon( playerid ) ) {
  •                         case DRIVE_BY_LIST:
  •                                 SetPlayerArmedWeapon(playerid, 0);
  •                         }
  •                 }
  •         }
  •  
  •         return 1;
  • }

  • 반응형