Как сделать, чтоб TextDraw исчезал через 10 сек. после коннекта?
#1

У меня на сервере при коннекте высвечиваеться TextDraw с информацией, как сделать, чтоб он исчез через 10 секунд после появления?
Reply
#2

SetTimer тебе в помощь!
Reply
#3

А можно как-то, чтоб он плавно исчезал, я так на многих серверах видел
Reply
#4

и снова тебе поможет SetTimer =\
Reply
#5

Каким образом? Как сделать плавное исчезание с помощью SetTimer?
Reply
#6

пздц. не занимайся тогда скриптингом, если не можешь даже продумать простейший алгоритм или иди на другой сайт, а тут как бэ не дают полного кода, а намёк сделали.
Reply
#7

ZaR, я это сказал к тому, что невозможно с помощью SetTimer плавное исчезание сделать! Оно работает от какой-то другой функции и я хочу узнать, какой, а SetTimer может сделать только резкое исчезание!
Reply
#8

через 10 сек, меняешь цвет на более светлый каждую след. секунду, а потом и вовсе скрыть с экрана.
неужели до этого так трудно додуматься?
Reply
#9

Ты думаешь так все делают? Есть спец. функция, она делает исчезание, ане осветление, темболее в TextDraw испльзуеться где-то 5-6 цветов и там нет светлых цветов! Мне эта функция нужна, потому, что SetTimer иногда глючит, и очень часто убирает текст при спавне.
Reply
#10

ZaR, не умничай, ты как я вижу тоже не всё в павно знаешь, у меня давно когда-то была такая функция, но после переустановки винды удалился мод, а я тогда ещё в павно плохо разбирался, так что думал мне кто-то напомнит, а здесь вместо этого ржут... Если ты незнаешь, этот форум создан для того, чтоб задавали вопросы, а знающие на него ответ, помогали, ане намекали и ржали!
Reply
#11

SetTimer
запускаешь паблик в котором цвет посветлее.. и в этом же паблике новый SetTimer2
в след паблике SetTimer2 еще светлее..
в самом конце удаляешь.
Reply
#12

А нельзя попробовать замутить что-то вроде:
Код:
Public TextDrawInv(textdrawid)
{ 
    TextSec--;
    if(TextSec==8) Осветление текстдрава;
    if(TextSec==4) Более Осветление текстдрава;
    if(TextSec==0) Полнре исчезновение текстдрава;
    TextTimer = SetTimer("TextDrawInv",1000,0);
    return 1;
}
P.S Код набрасал просто прямо тут, для примера, надеюсь он чем-то поможет
Reply
#13

Я делал эффект затемнения экрана, правильно говорять, нужен таймер, по нему плавно изменяешь альфа составляющую цвета у TextDraw, т.е. меняешь прозрачность, а когда она 0 убираешь текст, все.

Единственное что тут подсказали неправильно это время, тут нужна апперировать значениями милисекунд.

У меня за это отвечал вот такой паблик:

pawn Код:
new Text:BlackScreen[MAX_PLAYERS],BlackScreenTimer[MAX_PLAYERS];
forward OnPlayerBlackScreen(playerid,bool:type,aaa,speed);

public OnPlayerBlackScreen(playerid,bool:type,aaa,speed)
{
    if(BlackScreenTimer[playerid] != -1)
    {
        KillTimer(BlackScreenTimer[playerid]);
        BlackScreenTimer[playerid] = -1;
    }
    if(type)
    {
        if(aaa == 0)
        {
            BlackScreen[playerid] = TextDrawCreate(0.0, 0.0, "_");
            TextDrawFont(BlackScreen[playerid], 1);
            TextDrawLetterSize(BlackScreen[playerid], 0.0, 50.0);
            TextDrawUseBox(BlackScreen[playerid], true);
            TextDrawColor(BlackScreen[playerid], 0);
            TextDrawBoxColor(BlackScreen[playerid], aaa);
            TextDrawShowForPlayer(playerid,BlackScreen[playerid]);
            aaa += 1;
        }
        else if(aaa < 255)
        {
            TextDrawHideForPlayer(playerid,BlackScreen[playerid]);
            TextDrawBoxColor(BlackScreen[playerid], aaa);
            TextDrawShowForPlayer(playerid,BlackScreen[playerid]);
            aaa += 1;
        }
        else if(254 < aaa < 265)
        {
            aaa += 1;
        }
        else if(aaa == 265)
        {
            type = false;
            aaa = 255;
            return 1;
        }
        BlackScreenTimer[playerid] = SetTimerEx("OnPlayerBlackScreen",speed,0,"dddd",playerid,type,aaa,speed);
    }
    else
    {
        if(aaa > 0)
        {
            TextDrawHideForPlayer(playerid,BlackScreen[playerid]);
            TextDrawBoxColor(BlackScreen[playerid], aaa);
            TextDrawShowForPlayer(playerid,BlackScreen[playerid]);
            aaa -= 1;
            BlackScreenTimer[playerid] = SetTimerEx("OnPlayerBlackScreen",speed,0,"dddd",playerid,type,aaa,speed);
        }
        else if(aaa <= 0)
        {
            TextDrawHideForPlayer(playerid,BlackScreen[playerid]);
            TextDrawDestroy(BlackScreen[playerid]);
        }
    }
    return 1;
}
атрибуты:
playerid - кому показывать
bool:type - первый запуск true или изменение параметров false
aaa - стартовый цвет (0 - замтемнение, 255 наоборот с церного на полное исчезновение)
speed - скорость

чтобы скрыть экран я вызывал его со следующими параметрами OnPlayerBlackScreen(playerid,true,0,3);
Reply
#14

хахах... Ну парень конешь дал газу... Функция, х3 какая, но точно не таймер xDDD
Reply
#15

Quote:
Originally Posted by azen
Посмотреть сообщение
хахах... Ну парень конешь дал газу... Функция, х3 какая, но точно не таймер xDDD
вообще-то без таймера не обойтись.
Reply
#16

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
вообще-то без таймера не обойтись.
Да, но вот, что мне нужно было! Не замена цвета на светлее, как думали некоторые и ржали, а исчезание, я сейчас об этом:
Quote:
Originally Posted by Stepashka
Посмотреть сообщение
Public TextDrawInv(textdrawid)
{
TextSec--;
if(TextSec== Осветление текстдрава;
if(TextSec==4) Более Осветление текстдрава;
if(TextSec==0) Полнре исчезновение текстдрава;
TextTimer = SetTimer("TextDrawInv",1000,0);
return 1;
}
А про SetTimer не спорю, без него тоже некак.
Reply
#17

K-911, Получается что не ты делаешь твой мод, а скриптеры русского форума
Reply
#18

Да лан тебе, это всего лишь просьба человека , просто она большая
Reply
#19

ага, и обычно за такие просьбы деньги берут
Reply
#20

f0rtex, мой мод не скриптеры русского форума делают, он у меня сам по себе большой, а сюда я задаю вопросы, если с чем-то возникает проблема и я её не могу решить, или мне нужен какой-то важный скрипт, которого не могу найти, этот форум для того и сделан, чтоб знатоки помогали решить проблему, а если кто-то не хочет помогать, это уже его право, это в конце к концов форум, а за деньги, это когда уже в личном обращении просишь помощь
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)