Падает сервер

MastAKK

Участник
Сообщения
11
Реакции
0
Я начал писать простенький плагин (по идее, он должен удалять все оружие у игрока, кроме 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;
	}
}
 

The Night Fury

Участник
Сообщения
1,300
Реакции
1,395
MastAKK, не у всех классов по пять слотов оружия, да и убирать его не за чем.
Делай проверку на мили, если включено, то отлавливай смену оружия и для всех классов, кроме шпиона и инженера, принудительно меняй оружие на третий слот, а дополнительно в функции переключения оружия делай проверку клиента на класс инженера и спая, у которых делай принудительное переключение на пяты и четвёртый слот соответственно.
 

MastAKK

Участник
Сообщения
11
Реакции
0
MastAKK, не у всех классов по пять слотов оружия, да и убирать его не за чем.
Делай проверку на мили, если включено, то отлавливай смену оружия и для всех классов, кроме шпиона и инженера, принудительно меняй оружие на третий слот, а дополнительно в функции переключения оружия делай проверку клиента на класс инженера и спая, у которых делай принудительное переключение на пяты и четвёртый слот соответственно.

Да нет, похоже проблема в sdkhooks, т.к. многие другие плагины, использующие sdkhooks тоже "роняют" сервер
 
Последнее редактирование:
Сверху Снизу