bereg101
Умник
Очень долго прогружается тексдрав инвентаря (когда как, бывает даже до 5 секунд). Кто может подсказать где или как оптимизировать и это связанно именно с кодом прогрузки инвентаря или чем то еще? Мапинг тоже долго прогружается, видно как объекты появляются по 1
Код:
CMD:inv(playerid)
{
ActionInventoryP[0][playerid] = CreatePlayerTextDraw(playerid, 563.666381, 193.718460, "LD_SPAC:white"); // box use
PlayerTextDrawLetterSize(playerid, ActionInventoryP[0][playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, ActionInventoryP[0][playerid], 61.000000, 21.570373);
PlayerTextDrawAlignment(playerid, ActionInventoryP[0][playerid], 1);
PlayerTextDrawColor(playerid, ActionInventoryP[0][playerid], -37548801);
PlayerTextDrawUseBox(playerid, ActionInventoryP[0][playerid], true);
PlayerTextDrawBoxColor(playerid, ActionInventoryP[0][playerid], 255);
PlayerTextDrawSetShadow(playerid, ActionInventoryP[0][playerid], 0);
PlayerTextDrawSetOutline(playerid, ActionInventoryP[0][playerid], 0);
PlayerTextDrawFont(playerid, ActionInventoryP[0][playerid], 4);
PlayerTextDrawSetSelectable(playerid, ActionInventoryP[0][playerid], true);
ActionInventoryP[1][playerid] = CreatePlayerTextDraw(playerid, 563.666259, 217.144393, "LD_SPAC:white"); // box drop
PlayerTextDrawLetterSize(playerid, ActionInventoryP[1][playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, ActionInventoryP[1][playerid], 61.000000, 21.570373);
PlayerTextDrawAlignment(playerid, ActionInventoryP[1][playerid], 2);
PlayerTextDrawColor(playerid, ActionInventoryP[1][playerid], -37548801);
PlayerTextDrawUseBox(playerid, ActionInventoryP[1][playerid], true);
PlayerTextDrawBoxColor(playerid, ActionInventoryP[1][playerid], 255);
PlayerTextDrawSetShadow(playerid, ActionInventoryP[1][playerid], 0);
PlayerTextDrawSetOutline(playerid, ActionInventoryP[1][playerid], 0);
PlayerTextDrawFont(playerid, ActionInventoryP[1][playerid], 4);
PlayerTextDrawSetSelectable(playerid, ActionInventoryP[1][playerid], true);
ActionInventoryP[2][playerid] = CreatePlayerTextDraw(playerid, 563.666259, 240.644393, "LD_SPAC:white"); // box info
PlayerTextDrawLetterSize(playerid, ActionInventoryP[2][playerid], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, ActionInventoryP[2][playerid], 61.000000, 21.570373);
PlayerTextDrawAlignment(playerid, ActionInventoryP[2][playerid], 1);
PlayerTextDrawColor(playerid, ActionInventoryP[2][playerid], -37548801);
PlayerTextDrawUseBox(playerid, ActionInventoryP[2][playerid], true);
PlayerTextDrawBoxColor(playerid, ActionInventoryP[2][playerid], 255);
PlayerTextDrawSetShadow(playerid, ActionInventoryP[2][playerid], 0);
PlayerTextDrawSetOutline(playerid, ActionInventoryP[2][playerid], 0);
PlayerTextDrawFont(playerid, ActionInventoryP[2][playerid], 4);
PlayerTextDrawSetSelectable(playerid, ActionInventoryP[2][playerid], true);
ActionInventoryP[3][playerid] = CreatePlayerTextDraw(playerid, 593.333190, 200.025939, "use"); // Text element
PlayerTextDrawLetterSize(playerid, ActionInventoryP[3][playerid], 0.174333, 1.052444);
PlayerTextDrawAlignment(playerid, ActionInventoryP[3][playerid], 2);
PlayerTextDrawColor(playerid, ActionInventoryP[3][playerid], 336860415);
PlayerTextDrawSetShadow(playerid, ActionInventoryP[3][playerid], 0);
PlayerTextDrawSetOutline(playerid, ActionInventoryP[3][playerid], 0);
PlayerTextDrawBackgroundColor(playerid, ActionInventoryP[3][playerid], 255);
PlayerTextDrawFont(playerid, ActionInventoryP[3][playerid], 2);
PlayerTextDrawSetProportional(playerid, ActionInventoryP[3][playerid], 1);
ActionInventoryP[4][playerid] = CreatePlayerTextDraw(playerid, 593.333190, 223.025939, "drop"); // Text element
PlayerTextDrawLetterSize(playerid, ActionInventoryP[4][playerid], 0.174333, 1.052444);
PlayerTextDrawAlignment(playerid, ActionInventoryP[4][playerid], 2);
PlayerTextDrawColor(playerid, ActionInventoryP[4][playerid], 336860415);
PlayerTextDrawSetShadow(playerid, ActionInventoryP[4][playerid], 0);
PlayerTextDrawSetOutline(playerid, ActionInventoryP[4][playerid], 0);
PlayerTextDrawBackgroundColor(playerid, ActionInventoryP[4][playerid], 255);
PlayerTextDrawFont(playerid, ActionInventoryP[4][playerid], 2);
PlayerTextDrawSetProportional(playerid, ActionInventoryP[4][playerid], 1);
ActionInventoryP[5][playerid] = CreatePlayerTextDraw(playerid, 593.333190, 246.525939, "info"); // Text element
PlayerTextDrawLetterSize(playerid, ActionInventoryP[5][playerid], 0.174333, 1.052444);
PlayerTextDrawAlignment(playerid, ActionInventoryP[5][playerid], 2);
PlayerTextDrawColor(playerid, ActionInventoryP[5][playerid], 336860415);
PlayerTextDrawSetShadow(playerid, ActionInventoryP[5][playerid], 0);
PlayerTextDrawSetOutline(playerid, ActionInventoryP[5][playerid], 0);
PlayerTextDrawBackgroundColor(playerid, ActionInventoryP[5][playerid], 255);
PlayerTextDrawFont(playerid, ActionInventoryP[5][playerid], 2);
PlayerTextDrawSetProportional(playerid, ActionInventoryP[5][playerid], 1);
CreateInv(playerid);
// PlayerTextDrawSetString(playerid,InventoryPlayerP[3][playerid],PlayerInfo[playerid][pSendername]);
PlayerTextDrawSetPreviewModel(playerid, InventoryP[36][playerid], PlayerInfo[playerid][pModel]);
new str[5];
format(str,sizeof(str),"%d%",PlayerInfo[playerid][pGolod]);
PlayerTextDrawSetString(playerid,InventoryP[44][playerid],str);
format(str,sizeof(str),"%d%",floatround(PlayerInfo[playerid][pHeal]));
PlayerTextDrawSetString(playerid,InventoryP[45][playerid],str);
format(str,sizeof(str),"%d%",floatround(PlayerInfo[playerid][pArm]));
PlayerTextDrawSetString(playerid,InventoryP[46][playerid],str);
PlayerTextDrawTextSize(playerid, InventoryP[43][playerid], PlayerInfo[playerid][pGolod]*0.44, 2.903702);
for(new i = 0; i < 39; i++) TextDrawShowForPlayer(playerid,Inventory[i]);
new weapons[7],ammo[7];
for (new i = 0; i < 7; i++) GetPlayerWeaponData(playerid, i, weapons[i], ammo[i]);
for(new i = 0; i < 47; i++)
{
if( i >= 0 && i <= 42)
{
if(i >= 0 && i<= 5)
{
if(ammo[i+1])
{
switch(weapons[i+1])
{
case 1:
{
PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[324][invObj]);
PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[324][invRot][0], InvType[324][invRot][1], InvType[324][invRot][2], InvType[324][invRot][3]);
}
case 2:
{
PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[442][invObj]);
PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[442][invRot][0], InvType[442][invRot][1], InvType[442][invRot][2], InvType[442][invRot][3]);
}
case 3:
{
PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[443][invObj]);
PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[443][invRot][0], InvType[443][invRot][1], InvType[443][invRot][2], InvType[443][invRot][3]);
}
case 5:
{
PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[325][invObj]);
PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[325][invRot][0], InvType[325][invRot][1], InvType[325][invRot][2], InvType[325][invRot][3]);
}
case 17:
{
PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[328][invObj]);
PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[328][invRot][0], InvType[328][invRot][1], InvType[328][invRot][2], InvType[328][invRot][3]);
}
case 23:
{
PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[444][invObj]);
PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[444][invRot][0], InvType[444][invRot][1], InvType[444][invRot][2], InvType[444][invRot][3]);
}
case 24:
{
PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[329][invObj]);
PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[329][invRot][0], InvType[329][invRot][1], InvType[329][invRot][2], InvType[329][invRot][3]);
}
case 25:
{
PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[330][invObj]);
PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[330][invRot][0], InvType[330][invRot][1], InvType[330][invRot][2], InvType[330][invRot][3]);
}
case 28:
{
PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[336][invObj]);
PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[336][invRot][0], InvType[336][invRot][1], InvType[336][invRot][2], InvType[336][invRot][3]);
}
case 29:
{
PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[331][invObj]);
PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[331][invRot][0], InvType[331][invRot][1], InvType[331][invRot][2], InvType[331][invRot][3]);
}
case 30:
{
PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[332][invObj]);
PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[332][invRot][0], InvType[332][invRot][1], InvType[332][invRot][2], InvType[332][invRot][3]);
}
case 31:
{
PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[333][invObj]);
PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[333][invRot][0], InvType[333][invRot][1], InvType[333][invRot][2], InvType[333][invRot][3]);
}
case 33:
{
PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[334][invObj]);
PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[334][invRot][0], InvType[334][invRot][1], InvType[334][invRot][2], InvType[334][invRot][3]);
}
case 34:
{
PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[335][invObj]);
PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[335][invRot][0], InvType[335][invRot][1], InvType[335][invRot][2], InvType[335][invRot][3]);
}
}
PlayerTextDrawShow(playerid,InvAmm[playerid][i]);
format(str,sizeof(str),"%d",ammo[i+1]);
PlayerTextDrawSetString(playerid,InvAmm[playerid][i],str);
}
else
{
PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[0][invObj]);
PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[0][invRot][0], InvType[0][invRot][1], InvType[0][invRot][2], InvType[0][invRot][3]);
}
}
if(i > 5 && i < 36)
{
if(InvInfo[playerid][iSlot][i-6])
{
PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[InvInfo[playerid][iSlot][i-6]][invObj]);
PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[InvInfo[playerid][iSlot][i-6]][invRot][0], InvType[InvInfo[playerid][iSlot][i-6]][invRot][1], InvType[InvInfo[playerid][iSlot][i-6]][invRot][2], InvType[InvInfo[playerid][iSlot][i-6]][invRot][3]);
// PlayerTextDrawBackgroundColor(playerid, InventoryP[i][playerid], 0x8C8C8C00);
PlayerTextDrawShow(playerid,InvAmm[playerid][i]);
format(str,sizeof(str),"%d",InvInfo[playerid][iKol][i-6]);
PlayerTextDrawSetString(playerid,InvAmm[playerid][i],str);
}
else
{
PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[0][invObj]);
PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[0][invRot][0], InvType[0][invRot][1], InvType[0][invRot][2], InvType[0][invRot][3]);
}
}
if(i >= 37 && i<= 42)
{
for(new x = 338; x < 434; x++)
{
if(InvType[x][invObj] != PlayerInfo[playerid][pAcs][i-37]) continue;
PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[x][invObj]);
PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[x][invRot][0], InvType[x][invRot][1], InvType[x][invRot][2], InvType[x][invRot][3]);
break;
}
if(!PlayerInfo[playerid][pAcs][i-37])
{
PlayerTextDrawSetPreviewModel(playerid, InventoryP[i][playerid], InvType[0][invObj]);
PlayerTextDrawSetPreviewRot(playerid, InventoryP[i][playerid], InvType[0][invRot][0], InvType[0][invRot][1], InvType[0][invRot][2], InvType[0][invRot][3]);
}
}
}
PlayerTextDrawShow(playerid,InventoryP[i][playerid]);
}
SelectTextDraw(playerid, 0xFFCC00FF);
SetPVarInt(playerid,"InvOpen",1);
if(!PlayerInfo[playerid][pUl][2])
{
TextDrawHideForPlayer(playerid,Inventory[5]);
TextDrawHideForPlayer(playerid,Inventory[6]);
TextDrawHideForPlayer(playerid,Inventory[7]);
TextDrawHideForPlayer(playerid,Inventory[8]);
TextDrawHideForPlayer(playerid,Inventory[9]);
TextDrawHideForPlayer(playerid,Inventory[10]);
TextDrawHideForPlayer(playerid,Inventory[13]);
TextDrawHideForPlayer(playerid,Inventory[14]);
}
return 1;
}
Последнее редактирование:
