Frend Williams
Умник
Взял интересный мод к себе под основу. Но, возникла проблема. С течением времени, буквально 3 минутки пропадает счет заработных денег. Вот код показа и обновления PTD.
Код:
stock show_payment ( playerid )
{
payment_ptd[playerid][0] = CreatePlayerTextDraw(playerid, 67.1333, 225.4592, "EARNED:_0$"); // пусто
PlayerTextDrawLetterSize(playerid, payment_ptd[playerid][0], 0.2023, 1.0648);
PlayerTextDrawAlignment(playerid, payment_ptd[playerid][0], 2);
PlayerTextDrawColor(playerid, payment_ptd[playerid][0], -1);
PlayerTextDrawBackgroundColor(playerid, payment_ptd[playerid][0], 255);
PlayerTextDrawFont(playerid, payment_ptd[playerid][0], 1);
PlayerTextDrawSetProportional(playerid, payment_ptd[playerid][0], 1);
PlayerTextDrawSetShadow(playerid, payment_ptd[playerid][0], 0);
PlayerTextDrawShow ( playerid, payment_ptd [ playerid ] [ 0 ] ) ;
payment_ptd[playerid][1] = CreatePlayerTextDraw(playerid, 80.5826, 190.5814, "~gr~+0$");
PlayerTextDrawLetterSize(playerid, payment_ptd[playerid][1], 0.1685, 1.1591);
PlayerTextDrawAlignment(playerid, payment_ptd[playerid][1], 1);
PlayerTextDrawColor(playerid, payment_ptd[playerid][1], -1);
PlayerTextDrawBackgroundColor(playerid, payment_ptd[playerid][1], 255);
PlayerTextDrawFont(playerid, payment_ptd[playerid][1], 2);
PlayerTextDrawSetProportional(playerid, payment_ptd[playerid][1], 1);
PlayerTextDrawSetShadow(playerid, payment_ptd[playerid][1], 0);
for ( new j = 0 ; j < 8 ; j ++ )
{
TextDrawShowForPlayer ( playerid, payment_td [ j ] ) ;
}
return 1 ;
}
stock hide_payment ( playerid )
{
for ( new j = 0 ; j < 8 ; j ++ )
{
TextDrawHideForPlayer ( playerid, payment_td [ j ] ) ;
}
PlayerTextDrawDestroy ( playerid, payment_ptd [ playerid ] [ 0 ] ) ;
PlayerTextDrawDestroy ( playerid, payment_ptd [ playerid ] [ 1 ] ) ;
payment_ptd [ playerid ] [ 0 ] = PlayerText:-1;
payment_ptd [ playerid ] [ 1 ] = PlayerText:-1;
return 1 ;
}
stock update_payment ( playerid, money_count )
{
new td_string [ 64 ] ;
format ( td_string, sizeof ( td_string ), "EARNED:_%d$", p_info [ playerid ] [ salary ] ) ;
PlayerTextDrawSetString ( playerid, payment_ptd [ playerid ] [ 0 ], td_string ) ;
format ( td_string, sizeof ( td_string ), "~gr~+%d$", money_count ) ;
PlayerTextDrawSetString ( playerid, payment_ptd [ playerid ] [ 1 ], td_string ) ;
PlayerTextDrawShow ( playerid, payment_ptd [ playerid ] [ 1 ] ) ;
SetTimerEx ( "hide_payment_timer", 2000, false, "d", playerid ) ;
return 1 ;
}
callback: hide_payment_timer ( playerid )
{
if ( payment_ptd [ playerid ] [ 1 ] != PlayerText:-1 )
{
PlayerTextDrawHide ( playerid, payment_ptd [ playerid ] [ 1 ] ) ;
}
return 1 ;
}
