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

  #3781  
Старый 06.07.2019, 19:51
-raymond-
Участник форума
Регистрация: 17.12.2017
Сообщений: 110
С нами: 4423953

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

как сделать альтернативу keyhook_keycombo_pressed из собейта в сф?
 
Ответить с цитированием

  #3782  
Старый 06.07.2019, 20:50
ishi
Постоянный
Регистрация: 17.01.2014
Сообщений: 493
С нами: 6483143

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

Обновляю запрос.

[QUOTE="Спойлер"]
[COLOR="#363940"]
[QUOTE="ishi"]

Есть функция для поиска последовательности строчных символов:







C++:





[CODE]
int
findstring
(
void
*
where_
,
char
*
what
,
int
whereSize
)
{
void
*
temp
=
malloc
(
strlen
(
what
)
+
1
)
;
int
iterator
=
0
;
char
*
yo
=
new
char
[
strlen
(
what
)
+
1
]
;
yo
=
(
char
*
)
temp
;
char
*
tempptr
=
static_cast

(
where_
)
;
while
(
iterator

C++:





[CODE]
int
findstring
(
void
*
where_
,
char
*
what
,
int
whereSize
)
{
void
*
temp
=
malloc
(
strlen
(
what
)
+
1
)
;
int
iterator
=
0
;
char
*
yo
=
static_cast

(
temp
)
+
strlen
(
what
)
+
1
;
char
*
tempptr
=
static_cast

(
where_
)
;
while
(
iterator



Теперь из десяти запусков по 100 вызовов, 8-9 запусков идут без ошибок, а конкретно: ошибка вылетает первые
 
Ответить с цитированием

  #3783  
Старый 06.07.2019, 21:46
ALF
Постоянный
Регистрация: 14.11.2017
Сообщений: 319
С нами: 4472205

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

[QUOTE="ishi"]

Обновляю запрос.
В yo была утечка, исправив слепил это:

C++:





[CODE]
int
findstring
(
void
*
where_
,
char
*
what
,
int
whereSize
)
{
void
*
temp
=
malloc
(
strlen
(
what
)
+
1
)
;
int
iterator
=
0
;
char
*
yo
=
static_cast

(
temp
)
+
strlen
(
what
)
+
1
;
char
*
tempptr
=
static_cast

(
where_
)
;
while
(
iterator
 
Ответить с цитированием

  #3784  
Старый 06.07.2019, 21:56
_Vine_
Участник форума
Регистрация: 06.01.2016
Сообщений: 154
С нами: 5447649

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

[QUOTE="ishi"]

Обновляю запрос.
В yo была утечка, исправив слепил это:

C++:





[CODE]
int
findstring
(
void
*
where_
,
char
*
what
,
int
whereSize
)
{
void
*
temp
=
malloc
(
strlen
(
what
)
+
1
)
;
int
iterator
=
0
;
char
*
yo
=
static_cast

(
temp
)
+
strlen
(
what
)
+
1
;
char
*
tempptr
=
static_cast

(
where_
)
;
while
(
iterator

C++:





Код:
char
*
yo
=
static_cast

(
temp
)
+
strlen
(
what
)
+
1
;


+ 1 не нужен, так ты будешь получать указатель на конец строки + 1, а это не только может приводить к неправильному результату функции, но и изменять данные в чужой выделенной памяти и приводить к сбою программы

C++:





[CODE]
while
(
iterator



Тут должен быть оператор

C++:





[CODE]
int
findstring
(
void
*
where_
,
char
*
what
,
int
whereSize
)
{
void
*
temp
=
malloc
(
strlen
(
what
)
+
1
)
;
int
iterator
=
0
;
char
*
yo
=
static_cast

(
temp
)
+
strlen
(
what
)
;
char
*
tempptr
=
static_cast

(
where_
)
;
while
(
iterator



И вообще, можно было бы реализовать функцию и без промежуточного буфера temp, не знаю зачем ты это сделал.

Или вовсе использовать strstr, раз уже используешь strcmp.

C++:





[CODE]
int
findstring
(
const
char
*
str1
,
const
char
*
str2
)
{
int
str1_len
=
strlen
(
str1
)
;
int
str2_len
=
strlen
(
str2
)
;
for
(
int
i
=
0
;
i

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

  #3785  
Старый 06.07.2019, 23:34
enziweee
Новичок
Регистрация: 13.10.2017
Сообщений: 28
С нами: 4516996

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

в общем проблема, пытаюсь отрендерить линию от головы до пуза, в итоге линия строится нормально только на первого попавшегося в радиусе стрима актера, на остальных выходит кривота, как исправлять?

Цитата:
Сообщение от Спойлер  


C++:





Код:
for
(
int
i
=
0
;
i

GetPlayerPool
(
)
;
CRemotePlayer
*
pRemote
;
if
(
pPlayerPool
->
GetPlayer
(
i
)
)
{
pRemote
=
pPlayerPool
->
GetPlayer
(
i
)
;
if
(
pRemote
->
m_pPed
)
{
SAMP
::
CPed
*
pRemotePed
=
pRemote
->
m_pPed
;
// Handle REMOTE Player
SAMP
::
CPed
*
pLocalPed
=
SAMP
::
pGame
->
m_pPlayerPed
;
// Handle LOCAL Player
if
(
!
pRemotePed
->
IsDead
(
)
||
!
pLocalPed
->
IsDead
(
)
)
{
SAMP
::
CVector  pRemoteFirstBoneVector
;
pRemotePed
->
GetBonePosition
(
BONE_HEAD
,
&
pRemoteFirstBoneVector
)
;
SAMP
::
CVector pRemoteSecondBoneVector
;
pRemotePed
->
GetBonePosition
(
BONE_SPINE1
,
&
pRemoteSecondBoneVector
)
;
D3DXVECTOR3 pRemoteFirstBoneDX
;
pRemoteFirstBoneDX
.
x
=
pRemoteFirstBoneVector
.
x
;
pRemoteFirstBoneDX
.
y
=
pRemoteFirstBoneVector
.
y
;
pRemoteFirstBoneDX
.
z
=
pRemoteFirstBoneVector
.
z
;
D3DXVECTOR3 pRemoteSecondBoneDX
;
pRemoteSecondBoneDX
.
x
=
pRemoteSecondBoneVector
.
x
;
pRemoteSecondBoneDX
.
y
=
pRemoteSecondBoneVector
.
y
;
pRemoteSecondBoneDX
.
z
=
pRemoteSecondBoneVector
.
z
;
D3DXVECTOR3 firstCalculated
;
D3DXVECTOR3 secondCalculated
;
CalcScreenCoors
(
&
pRemoteFirstBoneDX
,
&
firstCalculated
)
;
CalcScreenCoors
(
&
pRemoteSecondBoneDX
,
&
secondCalculated
)
;
draw
.
Line
(
firstCalculated
.
x
,
firstCalculated
.
y
,
secondCalculated
.
x
,
secondCalculated
.
y
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
255
)
)
;
//draw.Text(screenPosEx.x, screenPosEx.y, nickname, fontColor, false, TextAlignment::kCenter);
}
}
}
}


Цитата:
Сообщение от Спойлер  

Eu-xFuZUfxU.jpgenziweee · 6 Июл 2019 в 22:34' data-fancybox="lb-post-364267" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="/proxy.php?image=https%3A%2F%2Fpp.userapi.com%2Fc85 1432%2Fv851432882%2F163f36%2FEu-xFuZUfxU.jpg&hash=708997e6c7b872a49ea3b1d80d772300 " style="cursor: pointer;" title="Eu-xFuZUfxU.jpg">


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

  #3786  
Старый 06.07.2019, 23:54
rraggerr
Познавший АНТИЧАТ
Регистрация: 16.03.2017
Сообщений: 1,626
С нами: 4821087

Репутация: 133


По умолчанию

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

в общем проблема, пытаюсь отрендерить линию от головы до пуза, в итоге линия строится нормально только на первого попавшегося в радиусе стрима актера, на остальных выходит кривота, как исправлять?

Цитата:
Сообщение от Спойлер  


C++:





Код:
for
(
int
i
=
0
;
i

GetPlayerPool
(
)
;
CRemotePlayer
*
pRemote
;
if
(
pPlayerPool
->
GetPlayer
(
i
)
)
{
pRemote
=
pPlayerPool
->
GetPlayer
(
i
)
;
if
(
pRemote
->
m_pPed
)
{
SAMP
::
CPed
*
pRemotePed
=
pRemote
->
m_pPed
;
// Handle REMOTE Player
SAMP
::
CPed
*
pLocalPed
=
SAMP
::
pGame
->
m_pPlayerPed
;
// Handle LOCAL Player
if
(
!
pRemotePed
->
IsDead
(
)
||
!
pLocalPed
->
IsDead
(
)
)
{
SAMP
::
CVector  pRemoteFirstBoneVector
;
pRemotePed
->
GetBonePosition
(
BONE_HEAD
,
&
pRemoteFirstBoneVector
)
;
SAMP
::
CVector pRemoteSecondBoneVector
;
pRemotePed
->
GetBonePosition
(
BONE_SPINE1
,
&
pRemoteSecondBoneVector
)
;
D3DXVECTOR3 pRemoteFirstBoneDX
;
pRemoteFirstBoneDX
.
x
=
pRemoteFirstBoneVector
.
x
;
pRemoteFirstBoneDX
.
y
=
pRemoteFirstBoneVector
.
y
;
pRemoteFirstBoneDX
.
z
=
pRemoteFirstBoneVector
.
z
;
D3DXVECTOR3 pRemoteSecondBoneDX
;
pRemoteSecondBoneDX
.
x
=
pRemoteSecondBoneVector
.
x
;
pRemoteSecondBoneDX
.
y
=
pRemoteSecondBoneVector
.
y
;
pRemoteSecondBoneDX
.
z
=
pRemoteSecondBoneVector
.
z
;
D3DXVECTOR3 firstCalculated
;
D3DXVECTOR3 secondCalculated
;
CalcScreenCoors
(
&
pRemoteFirstBoneDX
,
&
firstCalculated
)
;
CalcScreenCoors
(
&
pRemoteSecondBoneDX
,
&
secondCalculated
)
;
draw
.
Line
(
firstCalculated
.
x
,
firstCalculated
.
y
,
secondCalculated
.
x
,
secondCalculated
.
y
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
255
)
)
;
//draw.Text(screenPosEx.x, screenPosEx.y, nickname, fontColor, false, TextAlignment::kCenter);
}
}
}
}


Цитата:
Сообщение от Спойлер  

Eu-xFuZUfxU.jpgrraggerr · 6 Июл 2019 в 22:54' data-fancybox="lb-post-364276" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="/proxy.php?image=https%3A%2F%2Fpp.userapi.com%2Fc85 1432%2Fv851432882%2F163f36%2FEu-xFuZUfxU.jpg&hash=708997e6c7b872a49ea3b1d80d772300 " style="cursor: pointer;" title="Eu-xFuZUfxU.jpg">


попробуй добавить проверку на

if (CalcScreenCoors)

и на

GetBonePosition

и еще у тебя ошибки, кароче на

C++:





Код:
if
(
pLocalPed
->
IsDead
(
)
)
return
;
for
(
int
i
=
0
;
i

GetPlayerPool
(
)
;
CRemotePlayer
*
pRemote
;
if
(
pPlayerPool
&&
pPlayerPool
->
GetPlayer
(
i
)
)
{
pRemote
=
pPlayerPool
->
GetPlayer
(
i
)
;
if
(
pRemote
->
m_pPed
)
{
SAMP
::
CPed
*
pRemotePed
=
pRemote
->
m_pPed
;
// Handle REMOTE Player
SAMP
::
CPed
*
pLocalPed
=
SAMP
::
pGame
->
m_pPlayerPed
;
// Handle LOCAL Player
if
(
pRemotePed
&&
pLocalPed
&&
!
pRemotePed
->
IsDead
(
)
)
{
SAMP
::
CVector  pRemoteFirstBoneVector
;
if
(
!
pRemotePed
->
GetBonePosition
(
BONE_HEAD
,
&
pRemoteFirstBoneVector
)
)
continue
;
SAMP
::
CVector pRemoteSecondBoneVector
;
if
(
!
pRemotePed
->
GetBonePosition
(
BONE_SPINE1
,
&
pRemoteSecondBoneVector
)
)
continue
;
D3DXVECTOR3 pRemoteFirstBoneDX
;
pRemoteFirstBoneDX
.
x
=
pRemoteFirstBoneVector
.
x
;
pRemoteFirstBoneDX
.
y
=
pRemoteFirstBoneVector
.
y
;
pRemoteFirstBoneDX
.
z
=
pRemoteFirstBoneVector
.
z
;
D3DXVECTOR3 pRemoteSecondBoneDX
;
pRemoteSecondBoneDX
.
x
=
pRemoteSecondBoneVector
.
x
;
pRemoteSecondBoneDX
.
y
=
pRemoteSecondBoneVector
.
y
;
pRemoteSecondBoneDX
.
z
=
pRemoteSecondBoneVector
.
z
;
D3DXVECTOR3 firstCalculated
;
D3DXVECTOR3 secondCalculated
;
if
(
!
CalcScreenCoors
(
&
pRemoteFirstBoneDX
,
&
firstCalculated
)
)
continue
;
if
(
CalcScreenCoors
(
&
pRemoteSecondBoneDX
,
&
secondCalculated
)
)
continue
;
draw
.
Line
(
firstCalculated
.
x
,
firstCalculated
.
y
,
secondCalculated
.
x
,
secondCalculated
.
y
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
255
)
)
;
//draw.Text(screenPosEx.x, screenPosEx.y, nickname, fontColor, false, TextAlignment::kCenter);
}
}
}
}
 
Ответить с цитированием

  #3787  
Старый 06.07.2019, 23:58
enziweee
Новичок
Регистрация: 13.10.2017
Сообщений: 28
С нами: 4516996

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

Цитата:
Сообщение от B3JlOM_}I{OTTbI  

попробуй добавить проверку на
if (CalcScreenCoors)
и на
GetBonePosition
каким образом................
 
Ответить с цитированием

  #3788  
Старый 07.07.2019, 00:01
rraggerr
Познавший АНТИЧАТ
Регистрация: 16.03.2017
Сообщений: 1,626
С нами: 4821087

Репутация: 133


По умолчанию

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

каким образом................
скопируй код и вставь, я не ебу что у тебя там за сдк, явно не сампфункс
 
Ответить с цитированием

  #3789  
Старый 07.07.2019, 00:10
enziweee
Новичок
Регистрация: 13.10.2017
Сообщений: 28
С нами: 4516996

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

Цитата:
Сообщение от B3JlOM_}I{OTTbI  

скопируй код и вставь, я не ебу что у тебя там за сдк, явно не сампфункс
лучара сдк
 
Ответить с цитированием

  #3790  
Старый 07.07.2019, 14:34
Шурик
Новичок
Регистрация: 01.12.2009
Сообщений: 0
С нами: 8654409

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



C++:





Код:
// Возникает ошибка
string data
;
CHAR szBuffer
[
1024
]
;
strcpy
(
szBuffer
,
"{\"hash\":\"475d03f623908a13b6d8171221119a77\"}"
)
;
data
+=
szBuffer
;
// Не возникает ошибка
string data
;
CHAR szBuffer
[
1024
]
;
strcpy
(
szBuffer
,
"TEST"
)
;
data
+=
szBuffer
;


Хелп
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...