Выдача ножа, когда его нет

Тема в разделе "Программирование / Скриптинг", создана пользователем EPacker2, 21 дек 2012.

  1. EPacker2

    EPacker2 3D-моделист

    Сообщения:
    1.035
    Симпатии:
    628
    Код DoK_1997'а:
    PHP:
    #pragma semicolon 1
    #include <sourcemod>
    #include <sdktools_functions>

    public OnPluginStart()
    {
        
    HookEvent("player_spawn"Event_OnPlayerSpawn);
    }

    public 
    Event_OnPlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
    {
        new 
    client GetClientOfUserId(GetEventInt(event"userid"));
        
    CreateTimer(2.0TimerclientTIMER_REPEAT);
    }

    public 
    Action:Timer(Handle:timerany:client)
    {
        new 
    knife GetPlayerWeaponSlot(client2);
        if (
    client == && !IsPlayerAlive(client))
        {
            return 
    Plugin_Stop;
        }
        if (
    knife == -1)
        {
            
    GivePlayerItem(client"weapon_knife");
        }
        return 
    Plugin_Continue;
    }
    Вопросы:
    1) Нужно ли убивать таймер?
    2) Почему не работает выдача только для живых?
    Только заходишь в спеки, сразу дает нож.
     
    Последнее редактирование: 21 дек 2012
  2. EPacker2

    EPacker2 3D-моделист

    Сообщения:
    1.035
    Симпатии:
    628
    Вот теперь я точно не понимаю.
    Мне надо чтобы нож давался только живым людям, в игре, а не только что зашедшим и спекам.
     
  3. schmidt

    schmidt wS (skype: ws.css)

    Сообщения:
    188
    Симпатии:
    347
    PHP:
    #pragma semicolon 1

    #include <sourcemod>
    #include <sdktools_functions>

    public OnClientPutInServer(client)
    {
        if (!
    IsFakeClient(client))
            
    CreateTimer(3.0TryGiveKnifeGetClientUserId(client), TIMER_REPEAT TIMER_FLAG_NO_MAPCHANGE);
    }

    public 
    Action:TryGiveKnife(Handle:timerany:id)
    {
        new 
    client GetClientOfUserId(id);
        if (
    client 1)
            return 
    Plugin_Stop;

        if (
    IsPlayerAlive(client) && GetPlayerWeaponSlot(client2) < 1)
            
    GivePlayerItem(client"weapon_knife");

        return 
    Plugin_Continue;
    }
    [​IMG]
     
    The End Is Near... нравится это.