BfWrite... затемнение экрана игроку.

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

  1. Primo

    Primo Где мои манеры

    Сообщения:
    1.190
    Симпатии:
    306
    Пытаюсь затемнить всем игрокам экран.

    Каковы мои ошибки в коде? Что стоит делать, а что не стоит? И как лучше поступить в той или иной ситуации?
    При данном коде сервер крашится.

    PHP:
    public Action:SelectAssault(clientargs)
    {
        if(
    PlayerS[client] == 1)
        {
            for(new 
    i=1i<=GetMaxClients(); i++)
            {
                if(
    GetClientTeam(i) == && IsPlayerAlive(i))
                {
                    
    SetBlind(i25560);
                }
            }
            
    PrintToChatAll("Командир запустил игру \x01\x07Штурм");
        }
    }
    public 
    SetBlind(clientvaluetime)
    {
        new 
    Handle:h_msg StartMessageOne("Fade"client1); 
        if (
    h_msg != INVALID_HANDLE
        { 
            new 
    sec 400 time;
            
    BfWriteShort(h_msgsec);  
            
    BfWriteShort(h_msgsec); 
            
    BfWriteShort(h_msgsec); 
            
    BfWriteByte(h_msg0); 
            
    BfWriteByte(h_msg0); 
            
    BfWriteByte(h_msg0); 
            
    BfWriteByte(h_msgvalue); 
            
    EndMessage(); 
        }
    }
     
  2. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    сурс? го?
     
  3. Primo

    Primo Где мои манеры

    Сообщения:
    1.190
    Симпатии:
    306
  4. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    там через ProtoBuf надо
     
  5. Primo

    Primo Где мои манеры

    Сообщения:
    1.190
    Симпатии:
    306
    Не знаком вообще с этими функциями,я ориентировался по funcommands
     
  6. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    Не знаю, как ты там ориентировался, но я нашел кусок в нем же:
    PHP:
    PerformBlind(clienttargetamount)
    {
        new 
    targets[2];
        
    targets[0] = target;
        
        new 
    duration 1536;
        new 
    holdtime 1536;
        new 
    flags;
        if (
    amount == 0)
        {
            
    flags = (0x0001 0x0010);
        }
        else
        {
            
    flags = (0x0002 0x0008);
        }
        
        new 
    color[4] = { 000};
        
    color[3] = amount;
        
        new 
    Handle:message StartMessageEx(g_FadeUserMsgIdtargets1);
        if (
    GetUserMessageType() == UM_Protobuf)
        {
            
    PbSetInt(message"duration"duration);
            
    PbSetInt(message"hold_time"holdtime);
            
    PbSetInt(message"flags"flags);
            
    PbSetColor(message"clr"color);
        }
        else
        {
            
    BfWriteShort(messageduration);
            
    BfWriteShort(messageholdtime);
            
    BfWriteShort(messageflags);        
            
    BfWriteByte(messagecolor[0]);
            
    BfWriteByte(messagecolor[1]);
            
    BfWriteByte(messagecolor[2]);
            
    BfWriteByte(messagecolor[3]);
        }
        
        
    EndMessage();

        
    LogAction(clienttarget"\"%L\" set blind on \"%L\", amount %d."clienttargetamount);
    }
     
  7. Primo

    Primo Где мои манеры

    Сообщения:
    1.190
    Симпатии:
    306

    Спасибо за помощь, но я вырезал из funcommands, как видимо сделали и вы)

    А вырезал это:
    PHP:
            PbSetInt(message"duration"duration);
            
    PbSetInt(message"hold_time"holdtime);
            
    PbSetInt(message"flags"flags);
            
    PbSetColor(message"clr"color);
    Работает на ура.