
29.07.2016, 09:55
|
|
Постоянный
Регистрация: 23.06.2015
Сообщений: 411
С нами:
5731627
Репутация:
108
|
|
Сообщение от legend2360
Какой смысл?
SAMPFUNCS вызывает деструктор во всех плагинах, вроде как.
Ну а свои как удалять ?
|
|
|

28.07.2016, 21:15
|
|
Постоянный
Регистрация: 23.06.2015
Сообщений: 411
С нами:
5731627
Репутация:
108
|
|
Удаляю глобальные объекты через delete в game destructor (вот delete SF; например ) но игра крашит при выходе а через pfree все норм.
|
|
|

29.07.2016, 12:03
|
|
Участник форума
Регистрация: 14.05.2014
Сообщений: 149
С нами:
6314183
Репутация:
68
|
|
Почему крашит?
Код:
Код:
SF->execConsoleCommand("pfree " + SF->getGame()->getPluginInfo()->getPluginName());
|
|
|

29.07.2016, 12:31
|
|
Постоянный
Регистрация: 23.06.2015
Сообщений: 411
С нами:
5731627
Репутация:
108
|
|
Сообщение от 2Shae
Почему крашит?
Код:
Код:
SF->execConsoleCommand("pfree " + SF->getGame()->getPluginInfo()->getPluginName());
strcat_s юзай
|
|
|

29.07.2016, 13:30
|
|
Постоянный
Регистрация: 26.05.2013
Сообщений: 692
С нами:
6822856
Репутация:
213
|
|
Нельзя самого себя выгружать из плагина
|
|
|

30.07.2016, 00:34
|
|
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами:
6438231
Репутация:
133
|
|
Как сделать постепенное исчезание ?
PHP:
Код:
pFont
-
>
Print
(
arr
[
0
]
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
0
)
,
1454
,
1000
,
false
)
;
|
|
|

30.07.2016, 00:47
|
|
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами:
5744580
Репутация:
28
|
|
Сообщение от iAmerican
Как сделать постепенное исчезание ?
PHP:
Код:
pFont
-
>
Print
(
arr
[
0
]
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
0
)
,
1454
,
1000
,
false
)
;
Параметр A в цвете уменьшай
|
|
|

30.07.2016, 02:31
|
|
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами:
6438231
Репутация:
133
|
|
Сообщение от Woofing Giraffe
Параметр A в цвете уменьшай
я шарю что его надо уменьшать , но не знаю как это реализовать.
Что бы после появления , через секунд 5 потихоньку исчезло .
|
|
|

30.07.2016, 05:24
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от iAmerican
я шарю что его надо уменьшать , но не знаю как это реализовать.
Что бы после появления , через секунд 5 потихоньку исчезло .
например заменить его переменной, значение которой и будешь менять
|
|
|

30.07.2016, 08:01
|
|
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами:
6438231
Репутация:
133
|
|
Ну вот накидал так , с использованием таймера. Но очень быстро пропадает, текст даже не успевает появляться .
Сообщение от SR_team
например заменить его переменной, значение которой и будешь менять
PHP:
Код:
#include
#include
#include
#include
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
stFontInfo
*
pFont
;
bool bstarttext
=
false
;
int iA
;
DWORD
dgoiA
;
bool bgoiA
;
bool
CALLBACK
Present
(
CONST
RECT
*
pSourceRect
,
CONST
RECT
*
pDestRect
,
HWND
hDestWindowOverride
,
CONST
RGNDATA
*
pDirtyRegion
)
{
if
(
SUCCEEDED
(
SF
-
>
getRender
(
)
-
>
BeginRender
(
)
)
)
// если девайс готов к рисованию
{
if
(
!
SF
-
>
getGame
(
)
-
>
isGTAMenuActive
(
)
)
{
if
(
bstarttext
)
{
pFont
-
>
Print
(
"{87CEFA}iAmerican text invisibleeeeeeeeeeeeeeeeee"
,
D3DCOLOR_ARGB
(
iA
,
255
,
255
,
255
)
,
330
,
330
,
false
)
;
// A = 0
}
}
SF
-
>
getRender
(
)
-
>
EndRender
(
)
;
// завершаем рисование
}
;
return
true
;
// возвращаем положительный результат
}
;
void
Timers
(
)
{
if
(
bgoiA
)
{
if
(
GetTickCount
(
)
-
dgoiA
>
10
)
{
iA
=
0
;
bgoiA
=
false
;
}
}
}
void
CALLBACK
mainloop
(
)
{
static
bool init
=
false
;
if
(
!
init
)
{
if
(
GAME
==
nullptr
)
return
;
if
(
GAME
-
>
GetSystemState
(
)
!=
eSystemState
:
:
GS_PLAYING_GAME
)
return
;
if
(
!
SF
-
>
getSAMP
(
)
-
>
IsInitialized
(
)
)
return
;
SF
-
>
getSAMP
(
)
-
>
getChat
(
)
-
>
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"SAMPFUNCS Plugin loaded."
)
;
SF
-
>
getRender
(
)
-
>
registerD3DCallback
(
eDirect3DDeviceMethods
:
:
D3DMETHOD_PRESENT
,
Present
)
;
pFont
=
SF
-
>
getRender
(
)
-
>
CreateNewFont
(
"Comic Sans MS"
,
12
,
FCR_BORDER
)
;
init
=
true
;
}
Timers
(
)
;
if
(
SF
-
>
getGame
(
)
-
>
isKeyPressed
(
VK_F2
)
)
// Старт текста
{
if
(
bstarttext
)
{
bstarttext
=
false
;
}
else
{
bstarttext
=
true
;
dgoiA
=
GetTickCount
(
)
;
iA
=
255
;
bgoiA
=
true
;
}
}
}
BOOL
APIENTRY
DllMain
(
HMODULE
hModule
,
DWORD
dwReasonForCall
,
LPVOID
lpReserved
)
{
switch
(
dwReasonForCall
)
{
case
DLL_PROCESS_ATTACH
:
SF
-
>
initPlugin
(
mainloop
,
hModule
)
;
break
;
case
DLL_THREAD_ATTACH
:
case
DLL_THREAD_DETACH
:
case
DLL_PROCESS_DETACH
:
break
;
}
return
TRUE
;
}
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|