 |
|

03.07.2018, 15:40
|
|
Постоянный
Регистрация: 15.04.2017
Сообщений: 602
С нами:
4778331
Репутация:
63
|
|
так нельзя
|
|
|

03.07.2018, 15:46
|
|
Познающий
Регистрация: 26.11.2017
Сообщений: 45
С нами:
4453790
Репутация:
8
|
|
Сообщение от iAmerican
Библиотеки не подключил.
#pragma comment(lib, "*.lib") Ты про это говоришь? Если да, то он у меня подключен, но ту же самую ошибку и выдаёт 
|
|
|

03.07.2018, 16:55
|
|
Постоянный
Регистрация: 15.12.2013
Сообщений: 412
С нами:
6530249
Репутация:
133
|
|
Сообщение от Ranto
#pragma comment(lib, "*.lib")
Обычно, по общепринятой практике, подключение библиотек делают в настройках проекта.
Хорошо бы скинуть что-то про декорированные имена, extern "C", и как это согласовывается в С/C++, но, скорее всего, это не так уж и важно, ведь это абсолютно общедоступная и легко находимая информация.
В общем, на конкретно поставленный вопрос вот прям все расписано и по полочкам разложено Пошаговое руководство. Создание и использование библиотеки DLL (C++)(https://msdn.microsoft.com/ru-ru/library/ms235636.aspx)
И тоже самое, но на английском, и не для методов, а для функций (для каждой кнопочки скриншот даже) MicrosoftDocs/cpp-docs(https://github.com/MicrosoftDocs/cpp-docs/blob/master/docs/build/walkthrough-creating-and-using-a-dynamic-link-library-cpp.md)
|
|
|

04.07.2018, 10:32
|
|
Участник форума
Регистрация: 17.12.2017
Сообщений: 110
С нами:
4423953
Репутация:
68
|
|
как отследить что по моему персонажу попали из оружия?
|
|
|

04.07.2018, 15:15
|
|
Постоянный
Регистрация: 28.03.2013
Сообщений: 495
С нами:
6908018
Репутация:
213
|
|
Сообщение от raymondique
как отследить что по моему персонажу попали из оружия?
Через RPC_GiveTakeDamage
|
|
|

04.07.2018, 17:43
|
|
Новичок
Регистрация: 04.07.2018
Сообщений: 1
С нами:
4137228
Репутация:
0
|
|
|
|
|

04.07.2018, 20:02
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Это, как бы, часть исходника. С ней ты ничего не сделаешь.
|
|
|

05.07.2018, 01:35
|
|
Новичок
Регистрация: 12.06.2018
Сообщений: 24
С нами:
4168872
Репутация:
0
|
|
Хочу выводить квадрат по команде, но чёт делаю не правильное укажите на ошибки))
C++:
Код:
#include
#include
#include
#include
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
using
namespace
std
;
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
bool
CALLBACK
Present
(
CONST RECT
*
pSourceRect
,
CONST RECT
*
pDestRect
,
HWND hDestWindowOverride
,
CONST RGNDATA
*
pDirtyRegion
)
{
if
(
SUCCEEDED
(
SF
->
getRender
(
)
->
BeginRender
(
)
)
)
{
SF
->
getRender
(
)
->
DrawBox
(
500
,
500
,
25
,
25
,
D3DCOLOR_ARGB
(
255
,
0
,
255
,
0
)
)
;
SF
->
getRender
(
)
->
EndRender
(
)
;
}
;
return
true
;
}
;
void
CALLBACK
cmd_show_info_player
(
std
::
string param
)
{
Present
(
)
;
// ЧЁТ ДЕЛАЮ НЕ ПРАВИЛЬНО :)
}
;
void
CALLBACK
mainloop
(
)
{
static
bool
init
=
false
;
if
(
!
init
)
{
SF
->
getRender
(
)
->
registerD3DCallback
(
eDirect3DDeviceMethods
::
D3DMETHOD_PRESENT
,
Present
)
;
SF
->
getSAMP
(
)
->
registerChatCommand
(
"ren"
,
cmd_show_info_player
)
;
}
}
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
;
}
|
|
|

05.07.2018, 02:27
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от Sasiko1
Хочу выводить квадрат по команде, но чёт делаю не правильное укажите на ошибки))
C++:
Код:
#include
#include
#include
#include
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
bool
render
=
false
;
bool
CALLBACK
Present
(
CONST RECT
*
pSourceRect
,
CONST RECT
*
pDestRect
,
HWND hDestWindowOverride
,
CONST RGNDATA
*
pDirtyRegion
)
{
if
(
SUCCEEDED
(
SF
->
getRender
(
)
->
BeginRender
(
)
)
&&
render
)
{
SF
->
getRender
(
)
->
DrawBox
(
500
,
500
,
25
,
25
,
D3DCOLOR_ARGB
(
255
,
0
,
255
,
0
)
)
;
SF
->
getRender
(
)
->
EndRender
(
)
;
}
;
return
true
;
}
;
void
CALLBACK
cmd_show_info_player
(
std
::
string param
)
{
render
=
!
render
;
}
;
void
CALLBACK
mainloop
(
)
{
static
bool
init
=
false
;
if
(
!
init
)
{
if
(
!
GAME
)
return
;
if
(
GAME
->
GetSystemState
(
)
!=
eSystemState
::
GS_PLAYING_GAME
)
return
;
if
(
!
SF
->
getSAMP
(
)
->
IsInitialized
(
)
)
return
;
SF
->
getRender
(
)
->
registerD3DCallback
(
eDirect3DDeviceMethods
::
D3DMETHOD_PRESENT
,
Present
)
;
SF
->
getSAMP
(
)
->
registerChatCommand
(
"ren"
,
cmd_show_info_player
)
;
}
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD dwReasonForCall
,
LPVOID lpReserved
)
{
switch
(
dwReasonForCall
)
{
case
DLL_PROCESS_ATTACH
:
SF
->
initPlugin
(
mainloop
,
hModule
)
;
break
;
}
return
TRUE
;
}
|
|
|

05.07.2018, 08:23
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от MasterLight
Как добавить сообщение в чат сампа и получить IP сервера? (без SF и всяких API)
через структуры. Они есть в собе, сф и других апи
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|