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

  #1  
Старый 07.07.2018, 20:30
Sasiko1
Новичок
Регистрация: 12.06.2018
Сообщений: 24
С нами: 4168872

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

Пробовал получить ХП игроков в стриме, но чет не получилось, укажите на ошибки.

C++:





Код:
#include 
#include 
#include 
#include 
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
void
CALLBACK
cmd_show_info_player
(
std
::
string param
)
{
if
(
param
.
empty
(
)
)
return
;
int
i
=
std
::
stoi
(
param
)
;
char
buf
[
128
]
;
stRemotePlayer
*
pPlayer
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
i
]
;
stUnoccupiedData
*
ppPlayer
;
// ПЫТАЛСЯ ПОЛУЧИТЬ
if
(
!
pPlayer
)
return
;
sprintf
(
buf
,
"Nickname - %s, Ping - %d, Score - %d, isNPC - %d, HP - %0.0f AFKState - %d"
,
pPlayer
->
szPlayerName
,
pPlayer
->
iPing
,
pPlayer
->
iScore
,
pPlayer
->
iIsNPC
,
ppPlayer
->
fHealth
,
// ПЫТАЛСЯ ПОЛУЧИТЬ
pPlayer
->
pPlayerData
->
iAFKState
==
2
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
buf
)
;
}
;
void
CALLBACK
mainloop
(
)
{
static
bool
init
=
false
;
if
(
!
init
)
{
SF
->
getSAMP
(
)
->
registerChatCommand
(
"showinfo"
,
cmd_show_info_player
)
;
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
;
}
 
Ответить с цитированием

  #2  
Старый 07.07.2018, 21:04
CleanLegend
Постоянный
Регистрация: 28.03.2013
Сообщений: 495
С нами: 6908018

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

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

Пробовал получить ХП игроков в стриме, но чет не получилось, укажите на ошибки.

C++:





Код:
#include 
#include 
#include 
#include 
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
void
CALLBACK
cmd_show_info_player
(
std
::
string param
)
{
if
(
param
.
empty
(
)
)
return
;
int
i
=
std
::
stoi
(
param
)
;
char
buf
[
128
]
;
stRemotePlayer
*
pPlayer
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
i
]
;
stUnoccupiedData
*
ppPlayer
;
// ПЫТАЛСЯ ПОЛУЧИТЬ
if
(
!
pPlayer
)
return
;
sprintf
(
buf
,
"Nickname - %s, Ping - %d, Score - %d, isNPC - %d, HP - %0.0f AFKState - %d"
,
pPlayer
->
szPlayerName
,
pPlayer
->
iPing
,
pPlayer
->
iScore
,
pPlayer
->
iIsNPC
,
ppPlayer
->
fHealth
,
// ПЫТАЛСЯ ПОЛУЧИТЬ
pPlayer
->
pPlayerData
->
iAFKState
==
2
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
buf
)
;
}
;
void
CALLBACK
mainloop
(
)
{
static
bool
init
=
false
;
if
(
!
init
)
{
SF
->
getSAMP
(
)
->
registerChatCommand
(
"showinfo"
,
cmd_show_info_player
)
;
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
;
}

Ты используешь для получения хп игроков не правильную структуру.

C++:





Код:
stUnoccupiedData
*
ppPlayer
;
// это удали
sprintf
(
buf
,
"Nickname - %s, Ping - %d, Score - %d, isNPC - %d, HP - %.1f AFKState - %d"
,
pPlayer
->
szPlayerName
,
pPlayer
->
iPing
,
pPlayer
->
iScore
,
pPlayer
->
iIsNPC
,
pPlayer
->
pPlayerData
->
fActorHealth
,
pPlayer
->
pPlayerData
->
iAFKState
==
2
)
;
 
Ответить с цитированием

  #3  
Старый 07.07.2018, 21:16
Sasiko1
Новичок
Регистрация: 12.06.2018
Сообщений: 24
С нами: 4168872

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

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

Ты используешь для получения хп игроков не правильную структуру.

C++:





Код:
stUnoccupiedData
*
ppPlayer
;
// это удали
sprintf
(
buf
,
"Nickname - %s, Ping - %d, Score - %d, isNPC - %d, HP - %.1f AFKState - %d"
,
pPlayer
->
szPlayerName
,
pPlayer
->
iPing
,
pPlayer
->
iScore
,
pPlayer
->
iIsNPC
,
pPlayer
->
pPlayerData
->
fActorHealth
,
pPlayer
->
pPlayerData
->
iAFKState
==
2
)
;

Все работает

Цитата:
Сообщение от kewa opcode  

C++:





Код:
for
(
unsigned
short
i
=
0
;
i

getSAMP
(
)
->
getPlayers
(
)
->
IsPlayerDefined
(
i
,
true
)
)
{
float
health
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
i
]
->
pPlayerData
->
fActorHealth
;
}
}


попробуй так
Спасибо вам
 
Ответить с цитированием

  #4  
Старый 07.07.2018, 20:59
kawa operand
Постоянный
Регистрация: 15.04.2017
Сообщений: 602
С нами: 4778331

Репутация: 63


По умолчанию

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

  #5  
Старый 07.07.2018, 21:12
kawa operand
Постоянный
Регистрация: 15.04.2017
Сообщений: 602
С нами: 4778331

Репутация: 63


По умолчанию

C++:





Код:
for
(
unsigned
short
i
=
0
;
i

getSAMP
(
)
->
getPlayers
(
)
->
IsPlayerDefined
(
i
,
true
)
)
{
float
health
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
i
]
->
pPlayerData
->
fActorHealth
;
}
}


попробуй так
 
Ответить с цитированием

  #6  
Старый 07.07.2018, 23:16
-raymond-
Участник форума
Регистрация: 17.12.2017
Сообщений: 110
С нами: 4423953

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

Цитата:
Сообщение от kewa opcode  

Регай колбек и там меняй парметр листбокса
поподробнее можн?
 
Ответить с цитированием

  #7  
Старый 07.07.2018, 23:18
C&J
Познающий
Регистрация: 13.11.2014
Сообщений: 41
С нами: 6050727

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

Уже какой день пытаюсь это сделать,нечего не выходит,то крашит,то игра намертво виснет,уже хз что делать

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

если по адресу функции, которую хукаешь, уже записан jmp (e9, addr)- то выполнить его после отработки твоеего хука
 
Ответить с цитированием

  #8  
Старый 07.07.2018, 23:38
kawa operand
Постоянный
Регистрация: 15.04.2017
Сообщений: 602
С нами: 4778331

Репутация: 63


По умолчанию

Регай евент входящих рпц там отправляй измененные параметры и отклоняй показ диалога

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

Уже какой день пытаюсь это сделать,нечего не выходит,то крашит,то игра намертво виснет,уже хз что делать
Забей *** Ты все равно не поймёшь
 
Ответить с цитированием

  #9  
Старый 08.07.2018, 11:47
-raymond-
Участник форума
Регистрация: 17.12.2017
Сообщений: 110
С нами: 4423953

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

покажите пример создания двумерного строкового массива и его использование
 
Ответить с цитированием

  #10  
Старый 08.07.2018, 13:06
kawa operand
Постоянный
Регистрация: 15.04.2017
Сообщений: 602
С нами: 4778331

Репутация: 63


По умолчанию

std::string a[5][5];
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.