04.02.2013, 09:52
TextDraw, Так как-же их правильно создавать?
04.02.2013, 09:54
SDraw, Я? Вы на дату моего последнего сообщения посмотрите =)
Я для себя уже выяснил, что создавать и удалять TD по ходу игры категорически запрещено, потому что тексты не всегда удаляются, т.е. текст пропадает, а вот ID его остаётся занят.
И не нужно пытаться доказать обратное, уже 1000 раз проверял и всегда было одно и тоже!
Я для себя уже выяснил, что создавать и удалять TD по ходу игры категорически запрещено, потому что тексты не всегда удаляются, т.е. текст пропадает, а вот ID его остаётся занят.
И не нужно пытаться доказать обратное, уже 1000 раз проверял и всегда было одно и тоже!
04.02.2013, 10:43
Quote:
SDraw, Я? Вы на дату моего последнего сообщения посмотрите =)
Я для себя уже выяснил, что создавать и удалять TD по ходу игры категорически запрещено, потому что тексты не всегда удаляются, т.е. текст пропадает, а вот ID его остаётся занят. И не нужно пытаться доказать обратное, уже 1000 раз проверял и всегда было одно и тоже! |
04.02.2013, 11:22
AirKiteТы ещё начни комментировать различные аспекты для версии 0.2.1 и более ранним, логика многих вещей менялась с новыми версиями.
Например в версии 0.2.1 и более ранними обновление текстдро без скрытия наслаивало все изменения друг на друга. Потом в какой-то версии это исправили.
Например в версии 0.2.1 и более ранними обновление текстдро без скрытия наслаивало все изменения друг на друга. Потом в какой-то версии это исправили.
04.02.2013, 13:32
Stepashka, я на секунду поверил что нахожусь на каком то другом форуме. Обычно официальные форумы\сайты того или иного продукта ведут поддержку в осномном разделе исключительно актуальной версии. т.е. для прошлых версий специально выделяются архивные форумы (и то в пределах разумного). Тут же идёт речь о 0.3х, какого хрена у нас разговоры в основном форуме о 0.2.1? 0_o
Что же это будет если каждый будет петь со своей колокольни в основном разделе, о вещах которые противоречат друг другу в следствии изменений версий.
Исходя из названия темы и содержания первого топика я не обнаружил причин, по котором нужно было бы подозревать в использовании samp 0.2.1. Мой топик был рассчитан на 0.3(all)
Что же это будет если каждый будет петь со своей колокольни в основном разделе, о вещах которые противоречат друг другу в следствии изменений версий.
Исходя из названия темы и содержания первого топика я не обнаружил причин, по котором нужно было бы подозревать в использовании samp 0.2.1. Мой топик был рассчитан на 0.3(all)
04.02.2013, 13:38
Quote:
Stepashka, я на секунду поверил что нахожусь на каком то другом форуме. Обычно официальные форумы\сайты того или иного продукта ведут поддержку в осномном разделе исключительно актуальной версии. т.е. для прошлых версий специально выделяются архивные форумы (и то в пределах разумного). Тут же идёт речь о 0.3х, какого хрена у нас разговоры в основном форуме о 0.2.1? 0_o
Что же это будет если каждый будет петь со своей колокольни в основном разделе, о вещах которые противоречат друг другу в следствии изменений версий. Исходя из названия темы и содержания первого топика я не обнаружил причин, по котором нужно было бы подозревать в использовании samp 0.2.1. Мой топик был рассчитан на 0.3(all) |
И суть наших топиков кстати одна, если читать внимательно и вдумчиво, а не по диагонали.
04.02.2013, 15:51
Тут я про TextDraw[playerid] говорил, а не PlayerTextDraw... Тогда их ещё не было...
05.02.2013, 19:20
05.02.2013, 22:53
05.02.2013, 22:55
06.02.2013, 01:11
Ошибся. И не оффтопь.
11.02.2013, 15:24
Quote:
В общем название темы говорит само за себя.
На вики ничего конкретного нету. Давайте рассмотрим на конкретном примере: Адрес сайта, который всегда видят все игроки. PHP Code:
|
11.02.2013, 18:13
У тебя помимо этого текстдрава где-то созданы ещё текстдравы?Если да, то напиши где их создавал.
11.02.2013, 18:46
12.02.2013, 03:41
12.02.2013, 16:50
13.02.2013, 20:53
(
Last edited by Bombo; 10/05/2016 at 01:40 PM.
)
Скрипт в тему
На TextDrawCreate() такой не получится. Выводит только первые 5 символов. Мож кто знает почему?
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:posx, Float:posy, Float: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(i = 0; i < MAX_PLAYERS; ++i)
{
if(IsPlayerConnected(i))
{
CreateLiveText(i);
ShowLiveText(i);
}
}
TimerMove = SetTimer("TimerMoveText", 50, true);
return 1;
}
public OnFilterScriptExit()
{
new i;
for(i = 0; i < MAX_PLAYERS; ++i)
{
if(IsPlayerConnected(i))
DestroyLiveText(i);
}
KillTimer(TimerMove);
return 1;
}
CreateLiveText(i) //Вызов в OnFilterScriptInit()
{
new j, k;
new str[2];
width = 16.0;
posx = 400.0;
posy = 420.0;
size_add = 0.2;
str[1] = '\0';
for(j = 0; j < LIVE_TEXT_LEN; ++j)
{
format(str, 2, "%c", LiveTextString[j]);
start_b[i*LIVE_TEXT_LEN+j] = CreatePlayerTextDraw(i,posx+width*j,posy,str);
}
//расчёт начальной позиции букв
for(j = 0; j < LIVE_TEXT_LEN; ++j)
{
add[i*LIVE_TEXT_LEN+j] = size_add;
site_size[i*LIVE_TEXT_LEN+j] = 1 + size_add + j%2;
for(k = 0; k < j; ++k)
{
if(site_size[i*LIVE_TEXT_LEN+j] > 4 || 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(j = 0; j < LIVE_TEXT_LEN; ++j)
{
PlayerTextDrawAlignment(i, start_b[i*LIVE_TEXT_LEN+j],0);
PlayerTextDrawBackgroundColor(i, start_b[i*LIVE_TEXT_LEN+j],0x00705F2F);
PlayerTextDrawFont(i, start_b[i*LIVE_TEXT_LEN+j],2);
PlayerTextDrawLetterSize(i, start_b[i*LIVE_TEXT_LEN+j],0.5,1.0);
PlayerTextDrawColor(i, start_b[i*LIVE_TEXT_LEN+j],0xFFFF00FF);
PlayerTextDrawSetOutline(i, start_b[i*LIVE_TEXT_LEN+j],1);
PlayerTextDrawSetProportional(i, start_b[i*LIVE_TEXT_LEN+j],1);
PlayerTextDrawSetShadow(i, start_b[i*LIVE_TEXT_LEN+j],3);
}
}
MoveLiveText(i) //Вызов в обработчике таймера TimerMoveText()
{
new j;
new str[2];
str[1] = '\0';
HideLiveText(i);
DestroyLiveText(i);
for(j = 0; j < LIVE_TEXT_LEN; ++j)
{
format(str, 2, "%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(j = 0; j < LIVE_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] > 4 || 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(i, start_b[i*LIVE_TEXT_LEN+j],0);
PlayerTextDrawBackgroundColor(i, start_b[i*LIVE_TEXT_LEN+j],0x00705F2F);
PlayerTextDrawFont(i, start_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(i, start_b[i*LIVE_TEXT_LEN+j],0xFFFF00FF);
PlayerTextDrawSetOutline(i, start_b[i*LIVE_TEXT_LEN+j],1);
PlayerTextDrawSetProportional(i, start_b[i*LIVE_TEXT_LEN+j],1);
PlayerTextDrawSetShadow(i, start_b[i*LIVE_TEXT_LEN+j],3);
}
ShowLiveText(i);
}
ShowLiveText(i)
{
new j;
for(j = 0; j < LIVE_TEXT_LEN; ++j)
PlayerTextDrawShow(i, start_b[i*LIVE_TEXT_LEN+j]);
}
HideLiveText(i)
{
new j;
for(j = 0; j < LIVE_TEXT_LEN; ++j)
PlayerTextDrawHide(i, start_b[i*LIVE_TEXT_LEN+j]);
}
DestroyLiveText(i) //Вызов в OnFilterScriptExit()
{
new j;
for(j = 0; j < LIVE_TEXT_LEN; ++j)
PlayerTextDrawDestroy(i,start_b[i*LIVE_TEXT_LEN+j]);
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnPlayerConnect(playerid)
{
CreateLiveText(playerid);
ShowLiveText(playerid);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
DestroyLiveText(playerid);
return 1;
}
public TimerMoveText()
{
new i;
for(i = 0; i < MAX_PLAYERS; ++i)
{
if(IsPlayerConnected(i))
{
MoveLiveText(i);
}
}
}
« Next Oldest | Next Newest »
Users browsing this thread: 3 Guest(s)