HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #311  
Старый 07.09.2015, 18:10
Woofing Giraffe
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами: 5744580

Репутация: 28
По умолчанию

Как сделать обработчик данных диалога?
 
Ответить с цитированием

  #312  
Старый 07.09.2015, 18:47
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Локального или серверного?
 
Ответить с цитированием

  #313  
Старый 07.09.2015, 20:01
Woofing Giraffe
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами: 5744580

Репутация: 28
По умолчанию

Цитата:
Сообщение от Dark_Knight  

Локального или серверного?
Локального
 
Ответить с цитированием

  #314  
Старый 07.09.2015, 21:33
Woofing Giraffe
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами: 5744580

Репутация: 28
По умолчанию

Цитата:
Сообщение от KYRLYK  

Как при запуске игры нарисовать текст (render)? Я перед mainloop вставлял эту функцию рисования (Как на blasthack wiki в туториалах) и чёт не рисуется ничего.
Значит чёт не так делаешь. Сам по этим урокам начинал)
 
Ответить с цитированием

  #315  
Старый 07.09.2015, 21:49
Woofing Giraffe
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами: 5744580

Репутация: 28
По умолчанию

Цитата:
Сообщение от KYRLYK  

C++:





Код:
bool
CALLBACK
Present
(
CONST RECT
*
pSourceRect
,
CONST RECT
*
pDestRect
,
HWND hDestWindowOverride
,
CONST RGNDATA
*
pDirtyRegion
)
{
if
(
SUCCEEDED
(
SF
->
getRender
(
)
->
BeginRender
(
)
)
)
{
stFontInfo
*
pFont
;
SF
->
getRender
(
)
->
registerD3DCallback
(
eDirect3DDeviceMethods
::
D3DMETHOD_PRESENT
,
Present
)
;
pFont
=
SF
->
getRender
(
)
->
CreateNewFont
(
"Tahoma"
,
12
,
FCR_BORDER
)
;
pFont
->
Print
(
"10%"
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
0
)
,
500
,
500
,
false
)
;
pFont
->
Print
(
"20%"
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
0
)
,
500
,
500
,
false
)
;
pFont
->
Print
(
"30%"
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
0
)
,
500
,
500
,
false
)
;
pFont
->
Print
(
"40%"
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
0
)
,
500
,
500
,
false
)
;
pFont
->
Print
(
"50%"
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
0
)
,
500
,
500
,
false
)
;
pFont
->
Print
(
"60%"
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
0
)
,
500
,
500
,
false
)
;
pFont
->
Print
(
"70%"
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
0
)
,
500
,
500
,
false
)
;
pFont
->
Print
(
"80%"
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
0
)
,
500
,
500
,
false
)
;
pFont
->
Print
(
"90%"
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
0
)
,
500
,
500
,
false
)
;
pFont
->
Print
(
"100%"
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
0
)
,
500
,
500
,
false
)
;
pFont
->
Print
(
" Loaded!"
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
0
)
,
500
,
500
,
false
)
;
SF
->
getRender
(
)
->
EndRender
(
)
;
}
;
return
true
;
}
;
void
CALLBACK
mainloop
(
)
{
и
.
т
.
д
}


Чёт не так значит.
Код:





Код:
pFont = SF->getRender()->CreateNewFont("Tahoma", 12, FCR_BORDER);


Вот твоя ошибка. Этот callback является циклом, который выполняется несколько раз в секунду, а ты в нем регистрируешь новый шрифт. Поэтому и не запускается. Регистрируй в mainloop.

Цитата:
Сообщение от Спойлер  

//================================================== ================================================== =========

Код:





Код:
stFontInfo *pFont;


это после инклюдов пихаешь,

Код:





Код:
bool CALLBACK Present(CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion)
{
    if (SUCCEEDED(SF->getRender()->BeginRender()))
    {    
        pFont->Print("10%", D3DCOLOR_ARGB(255, 255, 255, 0), 500, 500, false);
        pFont->Print("20%", D3DCOLOR_ARGB(255, 255, 255, 0), 500, 500, false);
        pFont->Print("30%", D3DCOLOR_ARGB(255, 255, 255, 0), 500, 500, false);
        pFont->Print("40%", D3DCOLOR_ARGB(255, 255, 255, 0), 500, 500, false);
        pFont->Print("50%", D3DCOLOR_ARGB(255, 255, 255, 0), 500, 500, false);
        pFont->Print("60%", D3DCOLOR_ARGB(255, 255, 255, 0), 500, 500, false);
        pFont->Print("70%", D3DCOLOR_ARGB(255, 255, 255, 0), 500, 500, false);
        pFont->Print("80%", D3DCOLOR_ARGB(255, 255, 255, 0), 500, 500, false);
        pFont->Print("90%", D3DCOLOR_ARGB(255, 255, 255, 0), 500, 500, false);
        pFont->Print("100%", D3DCOLOR_ARGB(255, 255, 255, 0), 500, 500, false);
        pFont->Print(" Loaded!", D3DCOLOR_ARGB(255, 255, 255, 0), 500, 500, false);
        SF->getRender()->EndRender();
    };
    return true;
};


Это куда тебе надо.

Код:





Код:
SF->getRender()->registerD3DCallback(eDirect3DDeviceMethods::D3DMETHOD_PRESENT, Present);
        pFont = SF->getRender()->CreateNewFont("Tahoma", 12, FCR_BORDER);


А это в мэйн. У меня работает.
 
Ответить с цитированием

  #316  
Старый 07.09.2015, 22:03
Woofing Giraffe
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами: 5744580

Репутация: 28
По умолчанию

Цитата:
Сообщение от KYRLYK  

Да, спасибо, помогло. А как сделать что бы первый текст появился -> через секунду исчез -> появился второй текст -> исчез -> появился следующий текст -> исчез. И так что бы до последнего текста было. (Типа как загрузка плагина).
Сам не могу понять как сделать типо wait`a, если делаю циклом, скрипт стопит, если sleep, опять же стоп, вроде как с таймером надо попробовать, но я не разобрался как.
 
Ответить с цитированием

  #317  
Старый 07.09.2015, 22:53
White_116
Новичок
Регистрация: 30.10.2014
Сообщений: 18
С нами: 6070899

Репутация: 3
По умолчанию

Цитата:
Сообщение от Dynamite  

Сам не могу понять как сделать типо wait`a, если делаю циклом, скрипт стопит, если sleep, опять же стоп, вроде как с таймером надо попробовать, но я не разобрался как.
Колхозный вариант.

Цитата:
Сообщение от Спойлер  


Код:





Код:
char load_percent_text[11][] = { "0%", "10%", "20%", "30%", "40%", "50%", "60%", "70%", "80%", "90%", "100%" };
char load_percen = 0;

bool CALLBACK Present(CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion)
{
    if (SUCCEEDED(SF->getRender()->BeginRender()))
    {
        static stFontInfo *pFont = NULL;
        if (pFont == NULL)
        {
            pFont = SF->getRender()->CreateNewFont("Tahoma", 12, FCR_BORDER);
            if (pFont == NULL) //WTF? Exit if not created
            {
                SF->getRender()->EndRender();
                return true;
            }
        }

        static int load_time = GetTickCount();
        if (load_percen Print(LoadPercentText[load_percen], D3DCOLOR_ARGB(255, 255, 255, 0), 500, 500, false);
        }
        else if (load_percen == 11)
        {
            if (load_time Print(" Loaded!", D3DCOLOR_ARGB(255, 255, 255, 0), 500, 500, false);
        }
     
        SF->getRender()->EndRender();
    };

    return true;
};


 
Ответить с цитированием

  #318  
Старый 08.09.2015, 12:57
CissCass
Новичок
Регистрация: 04.08.2015
Сообщений: 5
С нами: 5670904

Репутация: 0
По умолчанию

Цитата:
Сообщение от Dynamite  

Сам не могу понять как сделать типо wait`a, если делаю циклом, скрипт стопит, если sleep, опять же стоп, вроде как с таймером надо попробовать, но я не разобрался как.
Можешь воспользоваться примером выше, либо создать поток и в нем в нужном месте юзать sleep, тогда фризить не будет
 
Ответить с цитированием

  #319  
Старый 08.09.2015, 14:30
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Цитата:
Сообщение от KYRLYK  

Как можно подключить AntTweakBar к плагину?
Подключаешь инклуду и либу и работаешь. Обьявляешь.

Код:





Код:
TwBar *twBar_Main = nullptr;


В маинлуп

Код:





Код:
if (!TwInit(TW_DIRECT3D9, SF->getRender()->getD3DDevice()))
            return;
twBar_Main = TwNewBar("Main");


Ну а дальше уже юзаешь документацию по нем.
 
Ответить с цитированием

  #320  
Старый 08.09.2015, 17:58
Woofing Giraffe
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами: 5744580

Репутация: 28
По умолчанию

Цитата:
Сообщение от Dynamite  

Как сделать обработчик данных диалога?
Цитата:
Сообщение от Dynamite  

Локального
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.