本文整理汇总了C++中IPlayerInfo::GetWeaponName方法的典型用法代码示例。如果您正苦于以下问题:C++ IPlayerInfo::GetWeaponName方法的具体用法?C++ IPlayerInfo::GetWeaponName怎么用?C++ IPlayerInfo::GetWeaponName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IPlayerInfo
的用法示例。
在下文中一共展示了IPlayerInfo::GetWeaponName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetWeaponName
static cell_t GetWeaponName(IPluginContext *pContext, const cell_t *params)
{
int client = params[1];
CPlayer *pPlayer = g_Players.GetPlayerByIndex(client);
if (!pPlayer)
{
return pContext->ThrowNativeError("Client index %d is invalid", client);
} else if (!pPlayer->IsInGame()) {
return pContext->ThrowNativeError("Client %d is not in game", client);
}
IPlayerInfo *pInfo = pPlayer->GetPlayerInfo();
if (!pInfo)
{
return pContext->ThrowNativeError("IPlayerInfo not supported by game");
}
const char *weapon = pInfo->GetWeaponName();
pContext->StringToLocalUTF8(params[2], static_cast<size_t>(params[3]), weapon ? weapon : "", NULL);
return 1;
}
示例2: GetWpnShotType
WpnShotType NczPlayer::GetWpnShotType()
{
IPlayerInfo* playerinfo = GetPlayerInfo();
if(playerinfo)
{
const char * const wpn_name = playerinfo->GetWeaponName();
switch(wpn_name[7])
{
case 's': //scout & sg550 & smokegrenade
switch(wpn_name[8])
{
case 'c':
return PISTOL;
case 'g':
return AUTO;
default: //m
return HAND;
};
case 'a': //awp & ak47
switch(wpn_name[8])
{
case 'w':
return PISTOL;
case 'k':
return AUTO;
};
case 'f': //fiveseven & flashbang
switch(wpn_name[8])
{
case 'i':
return PISTOL;
default: //l
return HAND;
};
case 'g': //glock & g3sg1
switch(wpn_name[8])
{
case 'l':
return PISTOL;
case '3':
return AUTO;
};
case 'p': //p228
case 'e': //elite
case 'u': //usp
case 'd': //deagle
case 'x': //xm1014
return PISTOL;
case 'm': //m3 & m4a1
switch(wpn_name[8])
{
case '3':
return PISTOL;
case '4':
return AUTO;
};
default:
return HAND;
};
}
return HAND;
}