Items from server on End of Match Screen

manico

Участник
Сообщения
2
Реакции
1
I'm hooking the "EndOfMatchAllPlayersData" to show the items from the server on the End of Match Screen but the stickers don't show and I'd like to know what I'm doing wrong. Any help?

C-подобный:
Action OnEndOfMatchAllPlayersData(UserMsg iMsgId, Protobuf hMessage, const int[] iPlayers, int iPlayersNum, bool bReliable, bool bInit)
{
    if(bReliable)
    {
        int iDefIndex;
        int client;
        for (int i = 0; i < hMessage.GetRepeatedFieldCount("allplayerdata"); i++)
        {
            Protobuf allplayerdata = hMessage.ReadRepeatedMessage("allplayerdata", i);
          
            client = allplayerdata.ReadInt("entindex");
          
            if(IsValidClient(client))
            {              
                for (int j = 0; j < allplayerdata.GetRepeatedFieldCount("items"); j++)
                {
                    Protobuf items = allplayerdata.ReadRepeatedMessage("items", j);
                    iDefIndex = items.ReadInt("defindex");
                  
                    if(iDefIndex == 5028 || iDefIndex == 5029)
                    {
                        items.SetInt("defindex", g_iStoredGlove[client]);
                        items.SetInt("paintindex", g_iGloveSkin[client]);
                        items.SetInt("paintwear", RoundFloat(g_fGloveWear[client] * 100000.0)); //Doesn't Work
                        items.SetInt("paintseed", g_iGloveSeed[client]);
                    }
                    else if(iDefIndex < 5036)
                    {
                        if(IsPlayerAlive(client) && !(iDefIndex == 41 || iDefIndex == 42 || iDefIndex == 59))
                        {
                            items.SetInt("paintindex", g_iSkinDefIndex[client][iDefIndex]);
                            items.SetInt("paintwear", RoundFloat(g_fWeaponSkinWear[client][iDefIndex] * 100000.0)); //Doesn't Work
                            items.SetInt("paintseed", g_iWeaponSkinSeed[client][iDefIndex]);
                        }
                        else
                        {
                            items.SetInt("defindex", g_iStoredKnife[client]);
                            items.SetInt("paintindex", g_iSkinDefIndex[client][g_iStoredKnife[client]]);
                            items.SetInt("paintwear", RoundFloat(g_fWeaponSkinWear[client][g_iStoredKnife[client]] * 100000.0)); //Doesn't Work
                            items.SetInt("paintseed", g_iWeaponSkinSeed[client][g_iStoredKnife[client]]);
                        }
                      
                        Protobuf stickers = items.AddMessage("stickers");
                        Protobuf stickers1 = items.AddMessage("stickers");
                        Protobuf stickers2 = items.AddMessage("stickers");
                        Protobuf stickers3 = items.AddMessage("stickers");
                      
                        if(g_iStickerChance[client][iDefIndex] <= 30)
                        {
                            if(g_iStickerComboChance[client][iDefIndex] <= 65)
                            {          
                                switch (g_iRndStickerCombo[client][iDefIndex])
                                {
                                    case 1:
                                    {
                                        stickers.SetInt("slot", 0);
                                        stickers.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][0]);
                                    }
                                    case 2:
                                    {
                                        stickers.SetInt("slot", 0);
                                        stickers.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][0]);
                                        stickers1.SetInt("slot", 1);
                                        stickers1.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][1]);
                                    }
                                    case 3:
                                    {
                                        stickers.SetInt("slot", 0);
                                        stickers.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][0]);
                                        stickers2.SetInt("slot", 2);
                                        stickers2.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][2]);
                                    }
                                    case 4:
                                    {
                                        stickers.SetInt("slot", 0);
                                        stickers.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][0]);
                                        stickers3.SetInt("slot", 3);
                                        stickers3.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][3]);
                                    }
                                    case 5:
                                    {
                                        stickers.SetInt("slot", 0);
                                        stickers.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][0]);
                                        stickers1.SetInt("slot", 1);
                                        stickers1.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][1]);
                                        stickers2.SetInt("slot", 2);
                                        stickers2.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][2]);
                                    }
                                    case 6:
                                    {
                                        stickers1.SetInt("slot", 1);
                                        stickers1.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][1]);
                                    }
                                    case 7:
                                    {
                                        stickers1.SetInt("slot", 1);
                                        stickers1.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][1]);
                                        stickers2.SetInt("slot", 2);
                                        stickers2.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][2]);
                                    }
                                    case 8:
                                    {
                                        stickers1.SetInt("slot", 1);
                                        stickers1.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][1]);
                                        stickers3.SetInt("slot", 3);
                                        stickers3.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][3]);
                                    }
                                    case 9:
                                    {
                                        stickers.SetInt("slot", 0);
                                        stickers.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][0]);
                                        stickers2.SetInt("slot", 2);
                                        stickers2.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][2]);
                                        stickers3.SetInt("slot", 3);
                                        stickers3.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][3]);
                                    }
                                    case 10:
                                    {
                                        stickers2.SetInt("slot", 2);
                                        stickers2.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][2]);
                                    }
                                    case 11:
                                    {
                                        stickers2.SetInt("slot", 2);
                                        stickers2.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][2]);
                                        stickers3.SetInt("slot", 3);
                                        stickers3.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][3]);
                                    }
                                    case 12:
                                    {  
                                        stickers1.SetInt("slot", 1);
                                        stickers1.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][1]);
                                        stickers2.SetInt("slot", 2);
                                        stickers2.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][2]);
                                        stickers3.SetInt("slot", 3);
                                        stickers3.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][3]);
                                    }
                                    case 13:
                                    {
                                        stickers.SetInt("slot", 3);
                                        stickers.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][3]);
                                    }
                                    case 14:
                                    {
                                        stickers.SetInt("slot", 0);
                                        stickers.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][0]);
                                        stickers1.SetInt("slot", 1);
                                        stickers1.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][1]);
                                        stickers3.SetInt("slot", 3);
                                        stickers3.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][3]);
                                    }
                                }
                            }
                            else
                            {
                                switch(g_iRndStickerCombo[client][iDefIndex])
                                {
                                    case 1:
                                    {
                                        stickers.SetInt("slot", 0);
                                        stickers.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][0]);
                                        stickers1.SetInt("slot", 1);
                                        stickers1.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][1]);
                                        stickers2.SetInt("slot", 2);
                                        stickers2.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][2]);
                                        stickers3.SetInt("slot", 3);
                                        stickers3.SetInt("sticker_id", g_iRndSticker[client][iDefIndex][3]);
                                    }
                                    case 2:
                                    {
                                        stickers.SetInt("slot", 0);
                                        stickers.SetInt("sticker_id", g_iRndSameSticker[client][iDefIndex]);
                                        stickers1.SetInt("slot", 1);
                                        stickers1.SetInt("sticker_id", g_iRndSameSticker[client][iDefIndex]);
                                        stickers2.SetInt("slot", 2);
                                        stickers2.SetInt("sticker_id", g_iRndSameSticker[client][iDefIndex]);
                                        stickers3.SetInt("slot", 3);
                                        stickers3.SetInt("sticker_id", g_iRndSameSticker[client][iDefIndex]);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        SDKCall(g_hForceUpdate, client, -1);
    }
    return Plugin_Changed;
}
 
Последнее редактирование:
Сверху Снизу