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

Тема в разделе "Программирование / Скриптинг", создана пользователем MastAKK, 27 июл 2013.

  1. MastAKK

    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"ChangeMeleeStateADMFLAG_BAN);
        for(new 
    client 1client MaxClientsclient++){
            if(
    IsValidClient(client)){
                
    SDKHook(clientSDKHook_WeaponSwitchOnWeaponSwitch);
            }
        }
    }

    public 
    Action:ChangeMeleeState(clientargs){
        
    isMeleeOn = !isMeleeOn;
        for(new 
    client 1client MaxClientsclient++){
            if(
    IsValidClient(client)){
                
    TF2_RemoveWeaponSlot(client0);
                
    TF2_RemoveWeaponSlot(client1);
                
    TF2_RemoveWeaponSlot(client3);
                
    TF2_RemoveWeaponSlot(client4);
                
    TF2_RemoveWeaponSlot(client5);
            }
        }
    }

    public 
    Action:OnWeaponSwitch(clientweapon){
        if(
    isMeleeOn){
            
    TF2_RemoveWeaponSlot(client0);
            
    TF2_RemoveWeaponSlot(client1);
            
    TF2_RemoveWeaponSlot(client3);
            
    TF2_RemoveWeaponSlot(client4);
            
    TF2_RemoveWeaponSlot(client5);
            return 
    Plugin_Continue;
        }
    }
     
  2. The Night Fury

    The Night Fury Администратор

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

    MastAKK

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