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

  #3011  
Старый 17.11.2018, 20:58
jenekbueno
Участник форума
Регистрация: 12.10.2014
Сообщений: 156
С нами: 6096955

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

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

как в собейте показать диалог
Код:





Код:
void showSampDialog(int send, int dialogID, int typedialog, char *caption, char *text, char *button1, char *button2)
{
    uint32_t func = g_dwSAMP_Addr + SAMP_FUNC_DIALOG_SHOW;
    uint32_t data = g_dwSAMP_Addr + SAMP_DIALOG_INFO_OFFSET;

    __asm mov eax, dword ptr[data]
        __asm mov ecx, dword ptr[eax]
        __asm push send
    __asm push button2
    __asm push button1
    __asm push text
    __asm push caption
    __asm push typedialog
    __asm push dialogID
    __asm call func
    return;
}


Цитата:
Сообщение от Rjx13  
тогда вообще всё по пизде идёт, какая то проблема большая.

upd:

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

  #3012  
Старый 18.11.2018, 21:33
checkdasound
Постоянный
Регистрация: 12.01.2018
Сообщений: 963
С нами: 4387250

Репутация: 133


По умолчанию

Какие флаги есть для неуязвимости персонажа через CPed + 0x42?

Знаю только сумму всех: 204
 
Ответить с цитированием

  #3013  
Старый 18.11.2018, 23:31
Nishikinov
Участник форума
Регистрация: 13.07.2017
Сообщений: 148
С нами: 4650044

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

Как получить GetVoiceID своего педа?
 
Ответить с цитированием

  #3014  
Старый 18.11.2018, 23:58
Неадекватная сова
Постоянный
Регистрация: 02.06.2018
Сообщений: 342
С нами: 4183567

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

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

Какие флаги есть для неуязвимости персонажа через CPed + 0x42?
Знаю только сумму всех: 204
#define PedSoft 0x01

#define FreezePed 0x02

#define BulletProtect 0x04

#define FireProtect 0x08

#define CollisionProtect 0x10

#define MeleeProtect 0x20

#define Unc_7bit 0x40

#define ExplosionProtect 0x80
 
Ответить с цитированием

  #3015  
Старый 19.11.2018, 00:46
checkdasound
Постоянный
Регистрация: 12.01.2018
Сообщений: 963
С нами: 4387250

Репутация: 133


По умолчанию

Почему меня телепортирует на "спавн сампа" (центр карты вроде как), вместо тп на метку?

Код нахождения координат метки и функцию нахождения координаты z брал из собейта.

Честно говоря, я не разбираюсь в ассемблере, поэтому даже не знаю с чем это связано.

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


C++:





[CODE]
#define FUNC_CMessages__AddMessageJumpQ 0x69F1E0
#define FUNC_FindGroundZForCoord 0x569660
void
AddMessageJumpQ
(
PCHAR text
,
UINT time
,
USHORT flag
,
bool
bPreviousBrief
)
// Функция показа сообщения на экране.
{
(
(
void
(
__cdecl
*
)
(
PCHAR
,
UINT
,
USHORT
,
bool
)
)
FUNC_CMessages__AddMessageJumpQ
)
(
text
,
time
,
flag
,
bPreviousBrief
)
;
}
float
FindGroundZForPosition
(
float
fX
,
float
fY
)
{
//DEBUG_TRACE("FLOAT CWorldSA::FindGroundZForPosition(FLOAT fX, FLOAT fY)");
DWORD dwFunc
=
FUNC_FindGroundZForCoord
;
FLOAT fReturn
=
0
;
_asm
{
push fY
push fX
call dwFunc
fstp fReturn
add esp
,
8
}
return
fReturn
;
}
void
teleport
(
float
posX
,
float
posY
,
float
posZ
)
{
float
*
position
=
(
*
(
DWORD
*
)
0xB6F5F0
)
?
(
float
*
)
(
*
(
DWORD
*
)
(
*
(
DWORD
*
)
0xB6F5F0
+
0x14
)
+
0x30
)
:
nullptr
;
position
[
0
]
=
posX
;
position
[
1
]
=
posY
;
position
[
2
]
=
posZ
;
}
void
teleport_target_blip
(
)
{
if
(
(
*
(
int
*
)
0xBA6774
!=
0
)
)
{
float
mapPos
[
3
]
;
for
(
int
i
=
0
;
i



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

  #3016  
Старый 19.11.2018, 00:53
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

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

Почему меня телепортирует на "спавн сампа" (центр карты вроде как), вместо тп на метку?
Код нахождения координат метки и функцию нахождения координаты z брал из собейта.
Честно говоря, я не разбираюсь в ассемблере, поэтому даже не знаю с чем это связано.
Цитата:
Сообщение от Спойлер  


C++:





[CODE]
#define FUNC_CMessages__AddMessageJumpQ 0x69F1E0
#define FUNC_FindGroundZForCoord 0x569660
void
AddMessageJumpQ
(
PCHAR text
,
UINT time
,
USHORT flag
,
bool
bPreviousBrief
)
// Функция показа сообщения на экране.
{
(
(
void
(
__cdecl
*
)
(
PCHAR
,
UINT
,
USHORT
,
bool
)
)
FUNC_CMessages__AddMessageJumpQ
)
(
text
,
time
,
flag
,
bPreviousBrief
)
;
}
float
FindGroundZForPosition
(
float
fX
,
float
fY
)
{
//DEBUG_TRACE("FLOAT CWorldSA::FindGroundZForPosition(FLOAT fX, FLOAT fY)");
DWORD dwFunc
=
FUNC_FindGroundZForCoord
;
FLOAT fReturn
=
0
;
_asm
{
push fY
push fX
call dwFunc
fstp fReturn
add esp
,
8
}
return
fReturn
;
}
void
teleport
(
float
posX
,
float
posY
,
float
posZ
)
{
float
*
position
=
(
*
(
DWORD
*
)
0xB6F5F0
)
?
(
float
*
)
(
*
(
DWORD
*
)
(
*
(
DWORD
*
)
0xB6F5F0
+
0x14
)
+
0x30
)
:
nullptr
;
position
[
0
]
=
posX
;
position
[
1
]
=
posY
;
position
[
2
]
=
posZ
;
}
void
teleport_target_blip
(
)
{
if
(
(
*
(
int
*
)
0xBA6774
!=
0
)
)
{
float
mapPos
[
3
]
;
for
(
int
i
=
0
;
i



Да там и не нужен ассемблер, просто разраб соба выебывался. Всю функцию можно заменить вот таким вот вызовом в одну строку:

C++:





Код:
float
fZ
=
(
(
float
(
__cdecl
*
)
(
float
,
float
)
)
FUNC_FindGroundZForCoord
)
(
fX
,
fY
)
;
 
Ответить с цитированием

  #3017  
Старый 19.11.2018, 14:21
checkdasound
Постоянный
Регистрация: 12.01.2018
Сообщений: 963
С нами: 4387250

Репутация: 133


По умолчанию

Как определить версию сампа без SF API?
 
Ответить с цитированием

  #3018  
Старый 19.11.2018, 15:08
#Rin
Познавший АНТИЧАТ
Регистрация: 09.08.2015
Сообщений: 1,213
С нами: 5663255

Репутация: 183


По умолчанию

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

Как определить версию сампа без SF API?
По сигнатуре байтов.

Запускаешь нужные тебе версии сампа, и ищешь места которые различаются между версиями.

Например строку с выводом сообщения о версии самп в чат.
 
Ответить с цитированием

  #3019  
Старый 19.11.2018, 18:32
-raymond-
Участник форума
Регистрация: 17.12.2017
Сообщений: 110
С нами: 4423953

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

подскажите ид клавишы RIGHT SHIFT, гуглил нигде не могу найти, есть только просто SHIFT
 
Ответить с цитированием

  #3020  
Старый 19.11.2018, 19:00
checkdasound
Постоянный
Регистрация: 12.01.2018
Сообщений: 963
С нами: 4387250

Репутация: 133


По умолчанию

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

подскажите ид клавишы RIGHT SHIFT, гуглил нигде не могу найти, есть только просто SHIFT
VK_RSHIFT или 0xA1
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.