 |
|

25.05.2018, 18:17
|
|
Новичок
Регистрация: 10.08.2017
Сообщений: 14
С нами:
4609653
Репутация:
0
|
|
Как можно в синглплеере напрямую грузиться на карту в обход меню? Желательно с нужным сейвом, но это уже не так важно
|
|
|

28.05.2018, 07:38
|
|
Познающий
Регистрация: 02.07.2017
Сообщений: 30
С нами:
4665783
Репутация:
8
|
|
Может накидать кто функу спидхака? Т.е. жмем допустим ALT, и машина ускоряется не по вектору движ. а тупо вперед, по вектору направления машины
(C++/C#)
|
|
|

31.05.2018, 01:14
|
|
Постоянный
Регистрация: 28.03.2013
Сообщений: 495
С нами:
6908018
Репутация:
213
|
|
|
|
|

01.06.2018, 14:20
|
|
Познающий
Регистрация: 02.07.2017
Сообщений: 30
С нами:
4665783
Репутация:
8
|
|
Я не хотел писать SF плагин, я хотел пример реализации посредством стандартных средств C++/C# (WinApi etc)
|
|
|

01.06.2018, 15:30
|
|
Постоянный
Регистрация: 28.03.2013
Сообщений: 495
С нами:
6908018
Репутация:
213
|
|
|
|
|

01.06.2018, 20:21
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от Jeffwood
HOOK функция возвращает CPedSAInterface ,как с помощью CPedSAInterface узнать ID игрока ?
Перебором всех айди игроков и совпадением
|
|
|

01.06.2018, 20:26
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от Dark_Knight
Перебором
samp.dll+0x10420
C++:
Код:
WORD __thiscall stPlayerPool
::
getPlayerIdByCPed
(
stPlayerPool
*
this
,
CPed
*
ped
)
|
|
|

01.06.2018, 21:01
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от SR_team
samp.dll+0x10420
C++:
Код:
WORD __thiscall stPlayerPool
::
getPlayerIdByCPed
(
stPlayerPool
*
this
,
CPed
*
ped
)
Я же ньюфаг. Что с меня взять.
|
|
|

01.06.2018, 22:17
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от Jeffwood
Как это юзать?
Я делаю так:
C++:
Код:
auto
id
=
CallFunc
::
thiscall
(
pPlayerPool
,
g_handle
.
dwSAMP
+
0x10420
,
ped
)
;
Но ты можешь делать так:
C++:
Код:
using
namespace
std
::
placeholders
;
std
::
function
stPlayerPool__getPlayerIdByCPed
=
std
::
bind
(
(
WORD
(
__thiscall
*
)
(
stPlayerPool
*
,
CPed
*
)
)
(
(
DWORD
)
GetModuleHandle
(
"samp.dll"
)
+
0x10420
)
,
pPlayerPool
,
_1
)
;
// После чего вызываешь функцию очень просто:
auto
id
=
stPlayerPool__getPlayerIdByCPed
(
ped
)
;
|
|
|

03.06.2018, 13:20
|
|
Участник форума
Регистрация: 06.01.2016
Сообщений: 154
С нами:
5447649
Репутация:
28
|
|
Почему при создании нового потока с бесконечным циклом сильно нагружается ЦП и как это исправить?
При одном потоке нагружается до 50%, при двух до 100%
C++:
Код:
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS
#include
#include
#include
#include
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
#pragma comment(lib, "User32.lib")
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
void
ThreadOne
(
)
{
while
(
true
)
{
}
}
void
ThreadTwo
(
)
{
while
(
true
)
{
}
}
void
CALLBACK
mainloop
(
)
{
static
bool
init
=
false
;
if
(
!
init
)
{
if
(
GAME
==
nullptr
||
GAME
->
GetSystemState
(
)
!=
eSystemState
::
GS_PLAYING_GAME
||
!
SF
->
getSAMP
(
)
->
IsInitialized
(
)
)
return
;
CreateThread
(
0
,
0
,
(
LPTHREAD_START_ROUTINE
)
ThreadOne
,
0
,
0
,
0
)
;
CreateThread
(
0
,
0
,
(
LPTHREAD_START_ROUTINE
)
ThreadTwo
,
0
,
0
,
0
)
;
init
=
true
;
}
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD dwReasonForCall
,
LPVOID lpReserved
)
{
if
(
dwReasonForCall
==
DLL_PROCESS_ATTACH
)
SF
->
initPlugin
(
mainloop
,
hModule
)
;
return
TRUE
;
}
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|