NeLifeASkazka
Участник
- Сообщения
- 128
- Реакции
- 70
Добрый день. Подскажите пожалуйста, почему выдает ошибку:L 08/28/2024 - 13:58:14: [SM] Exception reported: Invalid WeaponID passed for this game
L 08/28/2024 - 13:58:14: [SM] Blaming: test.smx
L 08/28/2024 - 13:58:14: [SM] Call stack trace:
L 08/28/2024 - 13:58:14: [SM] [0] CS_GetWeaponPrice
L 08/28/2024 - 13:58:14: [SM] [1] Line 14, D:\ONEdRIVE\Desktop\�����������\1.11 scripting\test.sp::CS_OnCSWeaponDropC-подобный:#include <cstrike> int g_iCountDropWeapon[MAXPLAYERS + 1], g_iWeaponDropValue[MAXPLAYERS + 1]; public void OnPluginStart() { HookEvent("round_start", Events_Round, EventHookMode_PostNoCopy); } public Action CS_OnCSWeaponDrop(int iClient, int iIndex) { g_iCountDropWeapon[iClient]++; int iMoney = CS_GetWeaponPrice(iClient, view_as<CSWeaponID>(iIndex)); (ТУТ ОШИБКА) g_iWeaponDropValue[iClient] += iMoney; } public void OnClientDisconnect(int iClient) { g_iCountDropWeapon[iClient] = g_iWeaponDropValue[iClient] = 0; } public Action Events_Round(Event hEvent, const char[] sName, bool bDontBroadcast) { for (int i = 1; i <= MaxClients; i++) { g_iCountDropWeapon[i] = g_iWeaponDropValue[i] = 0; } }
Пример использования функции CS_GetWeaponPrice(iClient, view_as<CSWeaponID>(iIndex)); брал из weapon_restrict, там ошибки нет, у меня есть
Попробуй так:
code:
public Action CS_OnCSWeaponDrop(int iClient, int iIndex){
g_iCountDropWeapon[iClient]++;
int iDefinitionIndex = GetEntProp(iIndex, Prop_Send, "m_iItemDefinitionIndex");
CSWeaponID cs_WeaponId = CS_ItemDefIndexToID(iDefinitionIndex);
if(cs_WeaponId != CSWeapon_NONE){
int iMoney = CS_GetWeaponPrice(iClient, cs_WeaponId);
g_iWeaponDropValue[iClient] += iMoney;
}
return Plugin_Continue;
}