TextDraw, Так как-же их правильно создавать?
#57

Скрипт в тему



PHP Code:
// LiveText v1.0 by Bombo
#include <a_samp>
#include "../include/gl_common.inc"
#define LIVE_TEXT_LEN 15 //необходимо указать длину текста
//сам текст
new LiveTextString[] = "forum.sa-mp.com";
//позиция (posx, posy) и интервал между буквами (width)
//задаются в CreateLiveText()
new Float:posxFloat:posyFloat:width;
new 
PlayerText:start_b[MAX_PLAYERS*LIVE_TEXT_LEN];
new 
Float:site_size[MAX_PLAYERS*LIVE_TEXT_LEN];
new 
Float:add[MAX_PLAYERS*LIVE_TEXT_LEN];
new 
TimerMove;
new 
Float:size_add;
forward TimerMoveText();
public 
OnFilterScriptInit()
{
    new 
i;
    print(
"\n--------------------------------------");
    print(
" LiveText v1.0 by Bombo");
    print(
"--------------------------------------\n");
    for(
0MAX_PLAYERS; ++i)
    {
      if(
IsPlayerConnected(i))
      {
        
CreateLiveText(i);
        
ShowLiveText(i);
      }
    }
       
TimerMove SetTimer("TimerMoveText"50true);
       
    return 
1;
}
public 
OnFilterScriptExit()
{
    new 
i;
    for(
0MAX_PLAYERS; ++i)
    {
        if(
IsPlayerConnected(i))
         
DestroyLiveText(i);
    }
    
KillTimer(TimerMove);
    
    return 
1;
}
CreateLiveText(i//Вызов в OnFilterScriptInit()
{
  new 
jk;
  new 
str[2];
  
width 16.0;
  
posx 400.0;
  
posy 420.0;
  
size_add 0.2;
  
  
str[1] = '\0';
  for(
0LIVE_TEXT_LEN; ++j)
  {
    
format(str2"%c"LiveTextString[j]);
    
start_b[i*LIVE_TEXT_LEN+j] = CreatePlayerTextDraw(i,posx+width*j,posy,str);
  }
  
//расчёт начальной позиции букв
  
for(0LIVE_TEXT_LEN; ++j)
  {
    
add[i*LIVE_TEXT_LEN+j] = size_add;
    
site_size[i*LIVE_TEXT_LEN+j] = size_add j%2;
    
    for(
0j; ++k)
    {
      if(
site_size[i*LIVE_TEXT_LEN+j] > || site_size[i*LIVE_TEXT_LEN+j] < 0.01)
      {
          if(
site_size[i*LIVE_TEXT_LEN+j] > 4)
          
site_size[i*LIVE_TEXT_LEN+j] = 4;
        else
          
site_size[i*LIVE_TEXT_LEN+j] = 0.01;
        if(
add[i*LIVE_TEXT_LEN+j] == size_add)
            
add[i*LIVE_TEXT_LEN+j] = -size_add;
          else
          
add[i*LIVE_TEXT_LEN+j] = size_add;
        }
        
site_size[i*LIVE_TEXT_LEN+j] = site_size[i*LIVE_TEXT_LEN+j] + add[i*LIVE_TEXT_LEN+j];
    }
  }
  for(
0LIVE_TEXT_LEN; ++j)
  {
    
PlayerTextDrawAlignment(istart_b[i*LIVE_TEXT_LEN+j],0);
    
PlayerTextDrawBackgroundColor(istart_b[i*LIVE_TEXT_LEN+j],0x00705F2F);
    
PlayerTextDrawFont(istart_b[i*LIVE_TEXT_LEN+j],2);
    
PlayerTextDrawLetterSize(istart_b[i*LIVE_TEXT_LEN+j],0.5,1.0);
    
PlayerTextDrawColor(istart_b[i*LIVE_TEXT_LEN+j],0xFFFF00FF);
    
PlayerTextDrawSetOutline(istart_b[i*LIVE_TEXT_LEN+j],1);
    
PlayerTextDrawSetProportional(istart_b[i*LIVE_TEXT_LEN+j],1);
    
PlayerTextDrawSetShadow(istart_b[i*LIVE_TEXT_LEN+j],3);
  }
}
MoveLiveText(i//Вызов в обработчике таймера TimerMoveText()
{
  new 
j;
  new 
str[2];
  
str[1] = '\0';
  
HideLiveText(i);
  
DestroyLiveText(i);
  
  for(
0LIVE_TEXT_LEN; ++j)
  {
      
format(str2"%c"LiveTextString[j]);
    
start_b[i*LIVE_TEXT_LEN+j] = CreatePlayerTextDraw(i,posx+width*j,posy+site_size[i*LIVE_TEXT_LEN+j]*site_size[i*LIVE_TEXT_LEN+j]+1,str);
  }
  for(
0LIVE_TEXT_LEN; ++j)
  {
    
//расчёт следующех координат текста
    
site_size[i*LIVE_TEXT_LEN+j] = site_size[i*LIVE_TEXT_LEN+j] + add[i*LIVE_TEXT_LEN+j];
    if(
site_size[i*LIVE_TEXT_LEN+j] > || site_size[i*LIVE_TEXT_LEN+j] < 0.01)
    {
      if(
site_size[i*LIVE_TEXT_LEN+j] > 4)
        
site_size[i*LIVE_TEXT_LEN+j] = 4;
      else
        
site_size[i*LIVE_TEXT_LEN+j] = 0.01;
      if(
add[i*LIVE_TEXT_LEN+j] == size_add)
          
add[i*LIVE_TEXT_LEN+j] = -size_add;
      else
        
add[i*LIVE_TEXT_LEN+j] = size_add;
    }
    
PlayerTextDrawAlignment(istart_b[i*LIVE_TEXT_LEN+j],0);
    
PlayerTextDrawBackgroundColor(istart_b[i*LIVE_TEXT_LEN+j],0x00705F2F);
    
PlayerTextDrawFont(istart_b[i*LIVE_TEXT_LEN+j],2);
//    PlayerTextDrawLetterSize(i, start_b[i*LIVE_TEXT_LEN+j],0.5,1.0+site_size[i*LIVE_TEXT_LEN+j]);
    
PlayerTextDrawColor(istart_b[i*LIVE_TEXT_LEN+j],0xFFFF00FF);
    
PlayerTextDrawSetOutline(istart_b[i*LIVE_TEXT_LEN+j],1);
    
PlayerTextDrawSetProportional(istart_b[i*LIVE_TEXT_LEN+j],1);
    
PlayerTextDrawSetShadow(istart_b[i*LIVE_TEXT_LEN+j],3);
  }
  
  
ShowLiveText(i);
}
ShowLiveText(i)
{
  new 
j;
  for(
0LIVE_TEXT_LEN; ++j)
    
PlayerTextDrawShow(istart_b[i*LIVE_TEXT_LEN+j]);
}
HideLiveText(i)
{
  new 
j;
  for(
0LIVE_TEXT_LEN; ++j)
    
PlayerTextDrawHide(istart_b[i*LIVE_TEXT_LEN+j]);
}
DestroyLiveText(i//Вызов в OnFilterScriptExit()
{
  new 
j;
  for(
0LIVE_TEXT_LEN; ++j)
    
PlayerTextDrawDestroy(i,start_b[i*LIVE_TEXT_LEN+j]);
}
public 
OnPlayerRequestClass(playeridclassid)
{
    
SetPlayerPos(playerid1958.37831343.157215.3746);
    
SetPlayerCameraPos(playerid1958.37831343.157215.3746);
    
SetPlayerCameraLookAt(playerid1958.37831343.157215.3746);
    return 
1;
}
public 
OnPlayerConnect(playerid)
{
    
CreateLiveText(playerid);
    
ShowLiveText(playerid);
    return 
1;
}
public 
OnPlayerDisconnect(playeridreason)
{
    
DestroyLiveText(playerid);
    return 
1;
}
public 
TimerMoveText()
{
  new 
i;
  for(
0MAX_PLAYERS; ++i)
  {
    if(
IsPlayerConnected(i))
    {
      
MoveLiveText(i);
    }
  }

На TextDrawCreate() такой не получится. Выводит только первые 5 символов. Мож кто знает почему?
Reply


Messages In This Thread
TextDraw, Так как-же их правильно создавать? - by -Stranger- - 23.01.2011, 10:33
Re: TextDraw, Так как-же их правильно создавать? - by Johnny_Xayc - 23.01.2011, 11:11
Re: TextDraw, Так как-же их правильно создавать? - by -Stranger- - 23.01.2011, 11:13
Re: TextDraw, Так как-же их правильно создавать? - by -Stranger- - 23.01.2011, 11:26
Re: TextDraw, Так как-же их правильно создавать? - by White_116 - 23.01.2011, 11:59
Re: TextDraw, Так как-же их правильно создавать? - by Romanius - 24.01.2011, 16:37
Re: TextDraw, Так как-же их правильно создавать? - by -Stranger- - 24.01.2011, 19:36
Re: TextDraw, Так как-же их правильно создавать? - by dimonml - 24.01.2011, 21:14
Re: TextDraw, Так как-же их правильно создавать? - by -Stranger- - 25.01.2011, 10:28
Re: TextDraw, Так как-же их правильно создавать? - by -Stranger- - 04.02.2011, 16:39
Re: TextDraw, Так как-же их правильно создавать? - by -Stranger- - 09.02.2011, 19:48
Re: TextDraw, Так как-же их правильно создавать? - by iEnemY - 09.02.2011, 20:50
Re: TextDraw, Так как-же их правильно создавать? - by OKStyle - 10.02.2011, 02:49
Re: TextDraw, Так как-же их правильно создавать? - by Romanius - 10.02.2011, 07:21
Re: TextDraw, Так как-же их правильно создавать? - by OKStyle - 10.02.2011, 07:33
Re: TextDraw, Так как-же их правильно создавать? - by -Stranger- - 10.02.2011, 10:35
Re: TextDraw, Так как-же их правильно создавать? - by OKStyle - 10.02.2011, 12:35
Re: TextDraw, Так как-же их правильно создавать? - by iEnemY - 10.02.2011, 13:01
Re: TextDraw, Так как-же их правильно создавать? - by Romanius - 10.02.2011, 14:15
Re: TextDraw, Так как-же их правильно создавать? - by White_116 - 10.02.2011, 18:19
Re: TextDraw, Так как-же их правильно создавать? - by iEnemY - 10.02.2011, 18:45
Re: TextDraw, Так как-же их правильно создавать? - by Maccer - 10.02.2011, 18:56
Re: TextDraw, Так как-же их правильно создавать? - by iEnemY - 10.02.2011, 19:06
Re: TextDraw, Так как-же их правильно создавать? - by White_116 - 10.02.2011, 19:31
Re: TextDraw, Так как-же их правильно создавать? - by iEnemY - 10.02.2011, 19:50
Re: TextDraw, Так как-же их правильно создавать? - by White_116 - 10.02.2011, 19:56
Re: TextDraw, Так как-же их правильно создавать? - by Stepashka - 11.02.2011, 03:25
Re: TextDraw, Так как-же их правильно создавать? - by TEKINQ - 18.02.2011, 18:12
Re: TextDraw, Так как-же их правильно создавать? - by iEnemY - 18.02.2011, 19:20
Re: TextDraw, Так как-же их правильно создавать? - by OFFREAL - 14.03.2011, 00:54
Re: TextDraw, Так как-же их правильно создавать? - by -Stranger- - 05.01.2012, 18:03
Re: TextDraw, Так как-же их правильно создавать? - by eakwarp - 05.01.2012, 18:31
Re: TextDraw, Так как-же их правильно создавать? - by Diman777 - 03.02.2013, 18:09
Re: TextDraw, Так как-же их правильно создавать? - by Alexander_Petrov - 03.02.2013, 18:18
Re: TextDraw, Так как-же их правильно создавать? - by Diman777 - 03.02.2013, 18:31
Re: TextDraw, Так как-же их правильно создавать? - by SDraw - 03.02.2013, 18:35
Re: TextDraw, Так как-же их правильно создавать? - by Nikid - 03.02.2013, 18:39
Re: TextDraw, Так как-же их правильно создавать? - by Alexander_Petrov - 03.02.2013, 19:01
Re: TextDraw, Так как-же их правильно создавать? - by AirKite - 03.02.2013, 19:27
Re: TextDraw, Так как-же их правильно создавать? - by Nikid - 04.02.2013, 03:38
Re: TextDraw, Так как-же их правильно создавать? - by Alexander_Petrov - 04.02.2013, 09:52
Re: TextDraw, Так как-же их правильно создавать? - by -Stranger- - 04.02.2013, 09:54
Re: TextDraw, Так как-же их правильно создавать? - by SDraw - 04.02.2013, 10:43
Re: TextDraw, Так как-же их правильно создавать? - by Stepashka - 04.02.2013, 11:22
Re: TextDraw, Так как-же их правильно создавать? - by AirKite - 04.02.2013, 13:32
Re: TextDraw, Так как-же их правильно создавать? - by Stepashka - 04.02.2013, 13:38
Re: TextDraw, Так как-же их правильно создавать? - by OKStyle - 04.02.2013, 15:51
Re: TextDraw, Так как-же их правильно создавать? - by AirKite - 05.02.2013, 19:20
Re: TextDraw, Так как-же их правильно создавать? - by warlock02 - 05.02.2013, 22:53
Re: TextDraw, Так как-же их правильно создавать? - by warlock02 - 05.02.2013, 22:55
Re: TextDraw, Так как-же их правильно создавать? - by OKStyle - 06.02.2013, 01:11
Re: TextDraw, Так как-же их правильно создавать? - by Legod - 11.02.2013, 15:24
Re: TextDraw, Так как-же их правильно создавать? - by Diman777 - 11.02.2013, 18:13
Re: TextDraw, Так как-же их правильно создавать? - by Legod - 11.02.2013, 18:46
Re: TextDraw, Так как-же их правильно создавать? - by Nikid - 12.02.2013, 03:41
Re: TextDraw, Так как-же их правильно создавать? - by Legod - 12.02.2013, 16:50
Re: TextDraw, Так как-же их правильно создавать? - by Bombo - 13.02.2013, 20:53

Forum Jump:


Users browsing this thread: 6 Guest(s)