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;
}
Последнее редактирование: