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

  #3731  
Старый 28.06.2019, 15:04
liefasm
Новичок
Регистрация: 23.06.2019
Сообщений: 6
С нами: 3627563

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

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

Сам никогда совмещение не практиковал, но есть вариант на крестах написать библиотеку и вызывать ее функции уже из шарпа.
В процессе поиска выяснилось, что это не так и сложно, как мне показалось изначально.
Но т.к. сам я никогда такое не практиковал, то мои советы скорее всего будут с нулевой пользой и я буду выступать твоим личным гуглом.
SO1
SO2
Хотелось бы встретить человека который бы сравнил производительность программы, которая была написана только на C# и программы которая бы комбинировала два языка.
 
Ответить с цитированием

  #3732  
Старый 28.06.2019, 16:16
RTD
Постоянный
Регистрация: 18.03.2017
Сообщений: 410
С нами: 4818548

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

Хук по адресу samp.dll + 0x65C60(это FUNC_SAMP_SENDCMD) конфликтит с SF, вызывая, к примеру из Lua скрипта, функцию

sampSendChat - выбрасывается "opcode '0AF9' call caused an unhandled exception". Есть другой адрес?
 
Ответить с цитированием

  #3733  
Старый 28.06.2019, 16:40
FYP
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,771
С нами: 6935121

Репутация: 233


По умолчанию

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

Хук по адресу samp.dll + 0x65C60(это FUNC_SAMP_SENDCMD) конфликтит с SF, вызывая, к примеру из Lua скрипта, функцию
sampSendChat - выбрасывается "opcode '0AF9' call caused an unhandled exception". Есть другой адрес?
если хук нарушает вызовы хукнутой функции, то проблема однозначно в самом хуке.
 
Ответить с цитированием

  #3734  
Старый 29.06.2019, 13:05
ШPEK
Познавший АНТИЧАТ
Регистрация: 22.02.2017
Сообщений: 1,474
С нами: 4852492

Репутация: 88


По умолчанию

Как вернуть массив из функции?
 
Ответить с цитированием

  #3735  
Старый 29.06.2019, 14:58
index
Новичок
Регистрация: 18.10.2015
Сообщений: 6
С нами: 5563739

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

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



C++:





Код:
char
*
Func
(
)
{
char
i
[
7
]
=
"cakebou"
;
return
i
;
}



Ты возвращаешь адрес локального массива, это даже не скомпилируется.

C++:





Код:
char
*
foo
(
)
{
char
*
bar
=
new
char
[
7
]
;
bar
=
"string"
;
return
bar
;
}


И после использования - не забыть освободить память.
 
Ответить с цитированием

  #3736  
Старый 29.06.2019, 15:17
atizoff
Познавший АНТИЧАТ
Регистрация: 02.08.2018
Сообщений: 1,295
С нами: 4095395

Репутация: 183


По умолчанию

здрасте. почему код выполняет действие, даже не смотря на то, что я нажал кнопку?

C++:





Код:
if
(
Cvars
::
teleport
&&
GetAsyncKeyState
(
Cvars
::
tp_key
)
)
{
IEntity
*
entity
=
nullptr
;
if
(
Cvars
::
tp
==
1
)
entity
->
SetPos
(
Cvars
::
TeleportPositions1
)
;
if
(
Cvars
::
tp
==
2
)
entity
->
SetPos
(
Cvars
::
TeleportPositions2
)
;
if
(
Cvars
::
tp
==
3
)
entity
->
SetPos
(
Cvars
::
TeleportPositions3
)
;
if
(
Cvars
::
tp
==
4
)
entity
->
SetPos
(
Cvars
::
TeleportPositions4
)
;
}
 
Ответить с цитированием

  #3737  
Старый 29.06.2019, 15:33
LUCHARE
Постоянный
Регистрация: 23.05.2017
Сообщений: 545
С нами: 4723927

Репутация: 158


По умолчанию

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



C++:





Код:
char
*
Func
(
)
{
char
i
[
7
]
=
"cakebou"
;
return
i
;
}



C++:





Код:
#include 
auto
get_array
(
)
{
return
std
::
array

{
'a'
,
'b'
,
'c'
}
;
}
 
Ответить с цитированием

  #3738  
Старый 29.06.2019, 15:51
Stiopko
Постоянный
Регистрация: 28.02.2018
Сообщений: 307
С нами: 4319022

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

Цитата:
Сообщение от social enemy  

здрасте. почему код выполняет действие, даже не смотря на то, что я нажал кнопку?

C++:





Код:
if
(
Cvars
::
teleport
&&
GetAsyncKeyState
(
Cvars
::
tp_key
)
)
{
IEntity
*
entity
=
nullptr
;
if
(
Cvars
::
tp
==
1
)
entity
->
SetPos
(
Cvars
::
TeleportPositions1
)
;
if
(
Cvars
::
tp
==
2
)
entity
->
SetPos
(
Cvars
::
TeleportPositions2
)
;
if
(
Cvars
::
tp
==
3
)
entity
->
SetPos
(
Cvars
::
TeleportPositions3
)
;
if
(
Cvars
::
tp
==
4
)
entity
->
SetPos
(
Cvars
::
TeleportPositions4
)
;
}

Попробуй вот это, у меня в плагинах норм работает

C++:





Код:
GetKeyState
(
VK_ADD
)
&
0x8000
 
Ответить с цитированием

  #3739  
Старый 29.06.2019, 16:29
atizoff
Познавший АНТИЧАТ
Регистрация: 02.08.2018
Сообщений: 1,295
С нами: 4095395

Репутация: 183


По умолчанию

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

Попробуй вот это, у меня в плагинах норм работает

C++:





Код:
GetKeyState
(
VK_ADD
)
&
0x8000

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

Попробуй с этим

C++:





Код:
BOOL
GetMessage
(
LPMSG lpMsg
,
HWND hWnd
,
UINT wMsgFilterMin
,
UINT wMsgFilterMax
)
;

не, пачаны. этот tp_key пользователь сам выбирает. вот воид выбора кнопки:

C++:





Код:
void
GUI
::
hotkey
(
int
&
key
)
noexcept
{
key
?
ImGui
::
Text
(
"[ 0x%x ]"
,
key
)
:
ImGui
::
Text
(
"[ key ]"
)
;
if
(
ImGui
::
IsItemHovered
(
)
)
{
ImGuiIO
&
io
=
ImGui
::
GetIO
(
)
;
for
(
int
i
=
0
;
i

1
?
2
:
1
)
!=
config
.
misc
.
menuKey
)
key
=
i
+
(
i
>
1
?
2
:
1
)
;
}
}
 
Ответить с цитированием

  #3740  
Старый 29.06.2019, 18:11
Stiopko
Постоянный
Регистрация: 28.02.2018
Сообщений: 307
С нами: 4319022

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

Цитата:
Сообщение от social enemy  

не, пачаны. этот tp_key пользователь сам выбирает. вот воид выбора кнопки:

C++:





Код:
void
GUI
::
hotkey
(
int
&
key
)
noexcept
{
key
?
ImGui
::
Text
(
"[ 0x%x ]"
,
key
)
:
ImGui
::
Text
(
"[ key ]"
)
;
if
(
ImGui
::
IsItemHovered
(
)
)
{
ImGuiIO
&
io
=
ImGui
::
GetIO
(
)
;
for
(
int
i
=
0
;
i

1
?
2
:
1
)
!=
config
.
misc
.
menuKey
)
key
=
i
+
(
i
>
1
?
2
:
1
)
;
}
}

C++:





Код:
GetKeyState
(
Cvars
::
tp_key
)
&
0x8000


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





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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.