 |
|

03.10.2015, 20:49
|
|
Участник форума
Регистрация: 12.07.2013
Сообщений: 161
С нами:
6755146
Репутация:
78
|
|
Сообщение от Tray228
Как проиграть специально действие без хука.
SF->getSAMP()->getPlayers()->pLocalPlayer->SetSpecialAction(ид_действия)
|
|
|

03.10.2015, 21:44
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,262
С нами:
6935116
Репутация:
183
|
|
Сообщение от Tray228
Не конектиться к серверу из-за плагина
PHP:
Код:
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS
#include
#include
#include
#include
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
bool
STATUS
;
stFontInfo
*
pFont
;
char buf
[
512
]
;
static
bool
INIT
=
false
;
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
bool
CALLBACK
Present
(
CONST
RECT
*
pSourceRect
,
CONST
RECT
*
pDestRect
,
HWND
hDestWindowOverride
,
CONST
RGNDATA
*
pDirtyRegion
)
{
if
(
SUCCEEDED
(
SF
-
>
getRender
(
)
-
>
BeginRender
(
)
)
&&
STATUS
==
true
)
{
SYSTEMTIME
lt
;
GetLocalTime
(
&
lt
)
;
float
FPS
=
GAME
-
>
GetFPS
(
)
;
sprintf
(
buf
,
"Дата: День: %d | Месяц: %d | Год: %d "
,
lt
.
wDay
,
lt
.
wMonth
,
lt
.
wYear
)
;
pFont
-
>
Print
(
buf
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
255
)
,
10
,
300
,
false
)
;
sprintf
(
buf
,
"Время: %02d | %02d | %02d "
,
lt
.
wHour
,
lt
.
wMinute
,
lt
.
wSecond
)
;
pFont
-
>
Print
(
buf
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
255
)
,
10
,
280
,
false
)
;
sprintf
(
buf
,
"FPS: %f "
,
FPS
)
;
pFont
-
>
Print
(
buf
,
D3DCOLOR_ARGB
(
255
,
0
,
255
,
0
)
,
10
,
260
,
false
)
;
SF
-
>
getRender
(
)
-
>
EndRender
(
)
;
}
return
true
;
}
;
void
CALLBACK
cmdd
(
std
:
:
string param
)
{
if
(
!
param
.
empty
(
)
)
return
;
STATUS
^
=
true
;
}
void
CALLBACK
cmdds
(
std
:
:
string param
)
{
SF
-
>
getSAMP
(
)
-
>
getPlayers
(
)
-
>
pLocalPlayer
-
>
SetSpecialAction
(
68
)
;
}
;
bool
CALLBACK
incomingRPC
(
stRakNetHookParams
*
params
)
{
if
(
params
-
>
packetId
==
ScriptRPCEnumeration
:
:
RPC_ScrApplyAnimation
&&
STATUS
==
true
)
{
short int pID
;
char animlib
[
10
]
;
char animname
[
14
]
;
float fDelta
;
bool loop
,
x
,
y
,
fr
;
int time
;
byte nameLen
;
int iid
=
SF
-
>
getSAMP
(
)
-
>
getPlayers
(
)
-
>
sLocalPlayerID
;
params
-
>
bitStream
-
>
ResetReadPointer
(
)
;
params
-
>
bitStream
-
>
Read
(
pID
)
;
params
-
>
bitStream
-
>
Read
(
nameLen
)
;
params
-
>
bitStream
-
>
Read
(
animlib
,
nameLen
)
;
animlib
[
nameLen
]
=
'\0'
;
params
-
>
bitStream
-
>
Read
(
nameLen
)
;
params
-
>
bitStream
-
>
Read
(
animname
,
nameLen
)
;
animname
[
nameLen
]
=
'\0'
;
params
-
>
bitStream
-
>
Read
(
fDelta
)
;
params
-
>
bitStream
-
>
Read
(
loop
)
;
params
-
>
bitStream
-
>
Read
(
x
)
;
params
-
>
bitStream
-
>
Read
(
y
)
;
params
-
>
bitStream
-
>
Read
(
fr
)
;
params
-
>
bitStream
-
>
Read
(
time
)
;
params
-
>
bitStream
-
>
ResetReadPointer
(
)
;
if
(
iid
==
pID
&&
!
strcmp
(
"COLT45"
,
animlib
)
&&
!
strcmp
(
"colt45_reload"
,
animname
)
)
return
false
;
}
;
}
;
void
CALLBACK
cmda
(
std
:
:
string param
)
{
SF
-
>
getSAMP
(
)
-
>
getChat
(
)
-
>
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"{0000FF}Command: {FFFFFF}/kuk - мача, /sbiv - сбив анимки перезарядки /times "
)
;
SF
-
>
getSAMP
(
)
-
>
getChat
(
)
-
>
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"{0000FF}/times - показатель {FFFFFF}FPS, Время, Даты. "
)
;
}
;
void
CALLBACK
cmd
(
std
:
:
string param
)
{
STATUS
^
=
true
;
}
;
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
(
)
-
>
registerChatCommand
(
"sfhelp"
,
cmda
)
;
SF
-
>
getSAMP
(
)
-
>
registerChatCommand
(
"kuk"
,
cmd
)
;
SF
-
>
getSAMP
(
)
-
>
registerChatCommand
(
"sbiv"
,
cmdd
)
;
SF
-
>
getSAMP
(
)
-
>
registerChatCommand
(
"times"
,
cmdds
)
;
SF
-
>
getSAMP
(
)
-
>
getChat
(
)
-
>
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"{0000FF}[SFPlugin] {FFFFFF}Loaded by {FF0000}Tray228 {FF0000}Info: /sfhelp"
)
;
SF
-
>
LogConsole
(
"{FF0000}[SFPlugin] {FFFFFF}загужен by Tray228"
)
;
pFont
=
SF
-
>
getRender
(
)
-
>
CreateNewFont
(
"Arial"
,
11
,
FCR_BORDER
)
;
SF
-
>
getRakNet
(
)
-
>
registerRakNetCallback
(
RakNetScriptHookType
:
:
RAKHOOK_TYPE_INCOMING_RPC
,
incomingRPC
)
;
SF
-
>
getRender
(
)
-
>
registerD3DCallback
(
eDirect3DDeviceMethods
:
:
D3DMETHOD_PRESENT
,
Present
)
;
init
=
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
;
}
в функции
Код:
Код:
bool CALLBACK incomingRPC(stRakNetHookParams *params)
в самый конец добавь return true;
между
и у первой } убери ;
|
|
|

03.10.2015, 22:15
|
|
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами:
5744580
Репутация:
28
|
|
Код:
Код:
char storka[128] = "Текст лолол яяЯЯя ы"
Как получить строку начиная с "лолол"? Я пытался через sscanf, он эту блядскую букву "я" считает как разделитель строки. Через regex я чёт не понял как делать. Объясните пожалуйста)
Пытался с помощью sscanf(storka, "%[a-zA-Zа-яА-Я]", kek); Но бля, записывает только "Текст лолол ", дальше строка обрывается
|
|
|

03.10.2015, 22:34
|
|
Участник форума
Регистрация: 09.03.2015
Сообщений: 218
С нами:
5884065
Репутация:
0
|
|
как заспавнить игрока без хука?
|
|
|

03.10.2015, 23:03
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,262
С нами:
6935116
Репутация:
183
|
|
Сообщение от Woofing Giraffe
Код:
Код:
char storka[128] = "Текст лолол яяЯЯя ы"
Как получить строку начиная с "лолол"? Я пытался через sscanf, он эту блядскую букву "я" считает как разделитель строки. Через regex я чёт не понял как делать. Объясните пожалуйста)
Пытался с помощью sscanf(storka, "%[a-zA-Zа-яА-Я]", kek); Но бля, записывает только "Текст лолол ", дальше строка обрывается
Код:
Код:
char* result = strstr(storka, "лолол");
в result будет указатель на то, где начинается "лолол"
|
|
|

03.10.2015, 23:11
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,262
С нами:
6935116
Репутация:
183
|
|
Сообщение от Tray228
в проблема в том что я ввожу /times и у меня отключается /sbiv
и так же наоборот
PHP:
Код:
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS
#include
#include
#include
#include
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
int
STATUS
;
stFontInfo
*
pFont
;
char buf
[
512
]
;
static
bool
INIT
=
false
;
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
bool
CALLBACK
Present
(
CONST
RECT
*
pSourceRect
,
CONST
RECT
*
pDestRect
,
HWND
hDestWindowOverride
,
CONST
RGNDATA
*
pDirtyRegion
)
{
if
(
SUCCEEDED
(
SF
-
>
getRender
(
)
-
>
BeginRender
(
)
)
&&
STATUS
==
2
)
{
SYSTEMTIME
lt
;
GetLocalTime
(
&
lt
)
;
float
FPS
=
GAME
-
>
GetFPS
(
)
;
sprintf
(
buf
,
"Дата: День: %d | Месяц: %d | Год: %d "
,
lt
.
wDay
,
lt
.
wMonth
,
lt
.
wYear
)
;
pFont
-
>
Print
(
buf
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
255
)
,
10
,
300
,
false
)
;
sprintf
(
buf
,
"Время: %02d | %02d | %02d "
,
lt
.
wHour
,
lt
.
wMinute
,
lt
.
wSecond
)
;
pFont
-
>
Print
(
buf
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
255
)
,
10
,
280
,
false
)
;
sprintf
(
buf
,
"FPS: %.f "
,
FPS
)
;
pFont
-
>
Print
(
buf
,
D3DCOLOR_ARGB
(
255
,
0
,
255
,
0
)
,
10
,
260
,
false
)
;
SF
-
>
getRender
(
)
-
>
EndRender
(
)
;
}
return
true
;
}
;
void
CALLBACK
cmdd
(
std
:
:
string param
)
{
if
(
!
param
.
empty
(
)
)
return
;
STATUS
=
2
;
}
void
CALLBACK
cmdds
(
std
:
:
string param
)
{
SF
-
>
getSAMP
(
)
-
>
getPlayers
(
)
-
>
pLocalPlayer
-
>
SetSpecialAction
(
68
)
;
}
;
bool
CALLBACK
incomingRPC
(
stRakNetHookParams
*
params
)
{
if
(
params
-
>
packetId
==
ScriptRPCEnumeration
:
:
RPC_ScrApplyAnimation
&&
STATUS
==
1
)
{
short int pID
;
char animlib
[
10
]
;
char animname
[
14
]
;
float fDelta
;
bool loop
,
x
,
y
,
fr
;
int time
;
byte nameLen
;
int iid
=
SF
-
>
getSAMP
(
)
-
>
getPlayers
(
)
-
>
sLocalPlayerID
;
params
-
>
bitStream
-
>
ResetReadPointer
(
)
;
params
-
>
bitStream
-
>
Read
(
pID
)
;
params
-
>
bitStream
-
>
Read
(
nameLen
)
;
params
-
>
bitStream
-
>
Read
(
animlib
,
nameLen
)
;
animlib
[
nameLen
]
=
'\0'
;
params
-
>
bitStream
-
>
Read
(
nameLen
)
;
params
-
>
bitStream
-
>
Read
(
animname
,
nameLen
)
;
animname
[
nameLen
]
=
'\0'
;
params
-
>
bitStream
-
>
Read
(
fDelta
)
;
params
-
>
bitStream
-
>
Read
(
loop
)
;
params
-
>
bitStream
-
>
Read
(
x
)
;
params
-
>
bitStream
-
>
Read
(
y
)
;
params
-
>
bitStream
-
>
Read
(
fr
)
;
params
-
>
bitStream
-
>
Read
(
time
)
;
params
-
>
bitStream
-
>
ResetReadPointer
(
)
;
if
(
iid
==
pID
&&
!
strcmp
(
"COLT45"
,
animlib
)
&&
!
strcmp
(
"colt45_reload"
,
animname
)
)
return
false
;
}
return
true
;
}
;
void
CALLBACK
cmda
(
std
:
:
string param
)
{
SF
-
>
getSAMP
(
)
-
>
getChat
(
)
-
>
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"{0000FF}Command: {FFFFFF}/kuk - мача, /sbiv - сбив анимки перезарядки /times "
)
;
SF
-
>
getSAMP
(
)
-
>
getChat
(
)
-
>
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"{0000FF}/times - показатель {FFFFFF}FPS, Время, Даты, /fspawn - заспавниться "
)
;
SF
-
>
getSAMP
(
)
-
>
getChat
(
)
-
>
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"{0000FF}/recconect - {FFFFFF}переподключение на сервер. "
)
;
}
;
void
CALLBACK
cmd
(
std
:
:
string param
)
{
STATUS
=
1
;
}
;
void
CALLBACK
telo
(
std
:
:
string param
)
{
SF
-
>
getSAMP
(
)
-
>
disconnect
(
100
)
;
SF
-
>
getSAMP
(
)
-
>
getInfo
(
)
-
>
RestartGame
(
)
;
SF
-
>
getSAMP
(
)
-
>
getInfo
(
)
-
>
iGameState
=
GAMESTATE_WAIT_CONNECT
;
}
;
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
(
)
-
>
registerChatCommand
(
"recconect"
,
telo
)
;
SF
-
>
getSAMP
(
)
-
>
registerChatCommand
(
"sfhelp"
,
cmda
)
;
SF
-
>
getSAMP
(
)
-
>
registerChatCommand
(
"sbiv"
,
cmd
)
;
SF
-
>
getSAMP
(
)
-
>
registerChatCommand
(
"times"
,
cmdd
)
;
SF
-
>
getSAMP
(
)
-
>
registerChatCommand
(
"kuk"
,
cmdds
)
;
SF
-
>
getSAMP
(
)
-
>
getChat
(
)
-
>
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"{FFFFFF}[{0000FF}SFPlugin]{FFFFFF} {FFFFFF}Loaded{FFFFFF}] by {FF0000}Tray228 {FF0000}Info: /sfhelp"
)
;
SF
-
>
LogConsole
(
"{FF0000}[SFPlugin] {FFFFFF}загужен by Tray228"
)
;
pFont
=
SF
-
>
getRender
(
)
-
>
CreateNewFont
(
"Arial"
,
11
,
FCR_BORDER
)
;
SF
-
>
getRakNet
(
)
-
>
registerRakNetCallback
(
RakNetScriptHookType
:
:
RAKHOOK_TYPE_INCOMING_RPC
,
incomingRPC
)
;
SF
-
>
getRender
(
)
-
>
registerD3DCallback
(
eDirect3DDeviceMethods
:
:
D3DMETHOD_PRESENT
,
Present
)
;
init
=
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
;
}
ну так у тебя одна переменная на две функции, нахуя? сделай на обе функции две разные переменные
|
|
|

03.10.2015, 23:43
|
|
Участник форума
Регистрация: 09.03.2015
Сообщений: 218
С нами:
5884065
Репутация:
0
|
|
Как вызвать sendrate
|
|
|

04.10.2015, 00:46
|
|
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами:
5744580
Репутация:
28
|
|
Как поставить проверку на ввод команды /q? Чтоб вовремя завершить цикл в потоке, дабы игру не крашило.
|
|
|

04.10.2015, 00:51
|
|
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами:
6915558
Репутация:
183
|
|
Сообщение от Woofing Giraffe
Как поставить проверку на ввод команды /q? Чтоб вовремя завершить цикл в потоке, дабы игру не крашило.
Установить кэллбэк при деструкторе игры.
C++:
Код:
void
CALLBACK
callbackDestructor
(
)
{
//
}
SF
->
getGame
(
)
->
registerGameDestructorCallback
(
callbackDestructor
)
;
|
|
|

04.10.2015, 01:19
|
|
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами:
6915558
Репутация:
183
|
|
Сообщение от Tray228
Как вызвать sendrate
C++:
Код:
SF
->
getSAMP
(
)
->
setSendRate
(
eSendrateType
::
AIMSENDRATE
,
100
)
;
eSendrateType(уже описаны в инклудах):
C++:
Код:
enum
eSendrateType
{
ONFOOTSENDRATE
=
1
,
INCARSENDRATE
,
AIMSENDRATE
}
;
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|