Я начал писать простенький плагин (по идее, он должен удалять все оружие у игрока, кроме melee). Я использую SDKHooks, но при активации плагина падает сервер. Вот код:
PHP:
#pragma semicolon 1
#include <sourcemod>
#include <tf2>
#include <tf2_stocks>
#include <sdkhooks>
new bool:isMeleeOn;
public OnPluginStart(){
isMeleeOn = false;
RegAdminCmd("sm_turnmelee", ChangeMeleeState, ADMFLAG_BAN);
for(new client = 1; client < MaxClients; client++){
if(IsValidClient(client)){
SDKHook(client, SDKHook_WeaponSwitch, OnWeaponSwitch);
}
}
}
public Action:ChangeMeleeState(client, args){
isMeleeOn = !isMeleeOn;
for(new client = 1; client < MaxClients; client++){
if(IsValidClient(client)){
TF2_RemoveWeaponSlot(client, 0);
TF2_RemoveWeaponSlot(client, 1);
TF2_RemoveWeaponSlot(client, 3);
TF2_RemoveWeaponSlot(client, 4);
TF2_RemoveWeaponSlot(client, 5);
}
}
}
public Action:OnWeaponSwitch(client, weapon){
if(isMeleeOn){
TF2_RemoveWeaponSlot(client, 0);
TF2_RemoveWeaponSlot(client, 1);
TF2_RemoveWeaponSlot(client, 3);
TF2_RemoveWeaponSlot(client, 4);
TF2_RemoveWeaponSlot(client, 5);
return Plugin_Continue;
}
}