 |
|

30.12.2024, 21:56
|
|
Познавший АНТИЧАТ
Регистрация: 27.11.2020
Сообщений: 1,431
С нами:
2874035
Репутация:
183
|
|
Как color перевести в RGB и обратно? Так же этот RGB передать в AddMessage (RefChat)
Очень поможет, может глупый вопрос, но все же
Не надо выдавать ответы гадая, будьте добры, мне нужен корректный ответ который написан не на рандом, что color состоит из r g b давайте разобьем и т.д.
Я несколько раз пытался, криво косо получается и не выдает нужный мне цвет, поэтому пришел сюда за помощью
C++:
Код:
rakhook
::
on_receive_rpc
+=
[
]
(
unsigned
char
&
id
,
RakNet
::
BitStream
*
bs
)
->
bool
{
if
(
id
==
93
)
{
bs
->
ResetReadPointer
(
)
;
uint32_t
color
;
bs
->
Read
(
color
)
;
|
|
|

30.12.2024, 23:49
|
|
Участник форума
Регистрация: 16.08.2017
Сообщений: 110
С нами:
4600979
Репутация:
83
|
|
Сообщение от Smeruxa
Как color перевести в RGB и обратно? Так же этот RGB передать в AddMessage (RefChat)
Очень поможет, может глупый вопрос, но все же
Не надо выдавать ответы гадая, будьте добры, мне нужен корректный ответ который написан не на рандом, что color состоит из r g b давайте разобьем и т.д.
Я несколько раз пытался, криво косо получается и не выдает нужный мне цвет, поэтому пришел сюда за помощью
C++:
Код:
rakhook
::
on_receive_rpc
+=
[
]
(
unsigned
char
&
id
,
RakNet
::
BitStream
*
bs
)
->
bool
{
if
(
id
==
93
)
{
bs
->
ResetReadPointer
(
)
;
uint32_t
color
;
bs
->
Read
(
color
)
;
вам нужно преобразовать int в HEX, а затем в RGB.[S]Проблема в том, что, насколько я проверил, цвет, который мы читаем, не соответствует цвету сообщения. Может быть, самп конвертирует int в hex по-другому?[/S]
Однако исходный формат — RGBA, а не RGB, отсюда и путаница. Это весь код, который меняет DWCOLOR на RGB и наоборот.
Жду вашей реакции 👍, пишите, если что-то не поняли.
dwcolor to rgb:
[CODE]
void
inttorgb
(
int
color
,
int
colors
[
3
]
)
{
colors
[
0
]
=
(
color
>>
16
)
&
0xFF
;
colors
[
1
]
=
(
color
>>
8
)
&
0xFF
;
colors
[
2
]
=
color
&
0xFF
;
}
case
RPC_ClientMessage
:
{
BitStream
bsData
(
rpcParams
->
input
,
rpcParams
->
numberOfBitsOfData
/
8
,
false
)
;
uint32_t
dwStrLen
;
uint32_t
dwColor
;
char
szMsg
[
1000
]
;
static
char
last_servermsg
[
256
]
;
static
DWORD allow_show_again
=
0
;
bsData
.
Read
(
dwColor
)
;
bsData
.
Read
(
dwStrLen
)
;
if
(
dwStrLen
>=
sizeof
(
szMsg
)
)
dwStrLen
=
sizeof
(
szMsg
)
-
1
;
bsData
.
Read
(
szMsg
,
dwStrLen
)
;
szMsg
[
dwStrLen
]
=
'\0'
;
std
::
stringstream ss
;
ss
[S]

[/S]
|
|
|

02.01.2025, 17:08
|
|
Познающий
Регистрация: 03.08.2022
Сообщений: 57
С нами:
1990627
Репутация:
8
|
|
1. Пытаюсь создать педа в сампе, через plugin-sdk. Мой код:
code:
Код:
CPed* ped = nullptr;
CVector vector{ x, y, z };
if (type == CPedType::CIVILIAN_PED) {
CStreaming::RequestModel(modelId, GAME_REQUIRED);
CStreaming::LoadAllRequestedModels(false);
CStreaming::SetModelIsDeletable(modelId);
ped = new CCivilianPed(ePedType::PED_TYPE_CIVMALE, modelId);
}
if (type == CPedType::COP_PED) {
/*CStreaming::RequestModel(modelId, eStreamingFlags::GAME_REQUIRED);
CStreaming::LoadAllRequestedModels(false);*/
ped = new CCopPed(eCopType::COP_TYPE_CITYCOP);
}
if (type == CPedType::FIREMAN_PED) {
CStreaming::RequestModel(modelId, eStreamingFlags::GAME_REQUIRED);
CStreaming::LoadAllRequestedModels(true);
ped = new CEmergencyPed(ePedType::PED_TYPE_FIREMAN, modelId);
}
if (type == CPedType::MEDIC_PED) {
CStreaming::RequestModel(modelId, eStreamingFlags::GAME_REQUIRED);
CStreaming::LoadAllRequestedModels(true);
ped = new CEmergencyPed(ePedType::PED_TYPE_MEDIC, modelId);
}
ped->m_nCreatedBy = 2;
ped->m_pIntelligence->SetPedDecisionMakerType(-1);
ped->m_pIntelligence->SetSeeingRange(30.0);
ped->m_pIntelligence->SetHearingRange(30.0);
ped->m_pIntelligence->m_fDmRadius = 0.0f;
ped->m_pIntelligence->m_nDmNumPedsToScan = 0;
ped->SetPosn(vector);
ped->SetOrientation(0.f, 0.f, 0.f);
CWorld::Add(ped);
CPedStruct* pedStruct = new CPedStruct(type, modelId, x, y, z, ped);
m_Peds.push_back(pedStruct);
Итог - не вижу педа на заданных координатах
Кто-то говорит, что SA:MP что-то хукает, ломает игру, и по этому не получается сделать это.
Помогите.
|
|
|

03.01.2025, 16:03
|
|
Новичок
Регистрация: 13.07.2005
Сообщений: 5
С нами:
10961573
Репутация:
0
|
|
Ребят, есть ли какой то фреймворк для самп аси который работает на всех верзиях 0.3.7 ? Я попробывал ASI-Framework но потом понял что он только для 0.3.7. Или какая таблица со офсетами адресов может быть пригодится.
|
|
|

09.01.2025, 01:33
|
|
Познавший АНТИЧАТ
Регистрация: 06.09.2020
Сообщений: 1,043
С нами:
2992507
Репутация:
168
|
|
Сообщение от Averian
В SA:MP какой лимит скинов? Я так понял +- до id 319.
на форумах по павно пишут что 30 скинов поверх можно закинуть, дальше только fastman limit adjuster ставить
Лимит скинов сампа
Всем Здравствуйте! Задаюсь таким вопросом почему у меня вылетает самп когда я добавляю скин дальше 318, когда я добавляю 319 скин игра перестает работать, когда удаляю все отлично работает. Есть ли у сампа какой то лимит скинов? Если да то как этот лимит обойти?
www.blast.hk
|
|
|

10.01.2025, 02:59
|
|
Познавший АНТИЧАТ
Регистрация: 27.11.2020
Сообщений: 1,431
С нами:
2874035
Репутация:
183
|
|
Что-то нет ясной информации, поэтому хочу узнать
Как расширить лимиты у сампапи на скины/кол-во машин и т.д.?
|
|
|

10.01.2025, 03:03
|
|
Флудер
Регистрация: 02.02.2019
Сообщений: 5,070
С нами:
3831395
Репутация:
183
|
|
Сообщение от Smeruxa
Что-то нет ясной информации, поэтому хочу узнать
Как расширить лимиты у сампапи на скины/кол-во машин и т.д.?
У самп апи нет такой возможности. Калькор кажется при добавлении подгрузки кастомных моделей создает свой массив CModelInfo::ms_aModelInfo и копирует в него значения с игрового, и кастомные модели в свой массив уже и записывает
И потом при использовании моделей получает информацию о них таким методом:

|
|
|

14.01.2025, 16:17
|
|
Новичок
Регистрация: 14.01.2025
Сообщений: 3
С нами:
701515
Репутация:
1
|
|
Помогите кто знает что за библиотека тут используется
Отдельный респект если скажете как ее установить в моем случае на VS22
Если что sampapi скачан и добавлен правильноВот:
CVehicle* car = FindPlayerVehicle(0, false);
std::string gearStatus;
if (!car) {
gearStatus = "no-data";
}
else {
gearStatus = std::to_string(car->m_nCurrentGear);
}
|
|
|

14.01.2025, 17:14
|
|
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами:
2055431
Репутация:
3
|
|
Сообщение от marqusss_
Помогите кто знает что за библиотека тут используется
Отдельный респект если скажете как ее установить в моем случае на VS22
Если что sampapi скачан и добавлен правильноВот:
CVehicle* car = FindPlayerVehicle(0, false);
std::string gearStatus;
if (!car) {
gearStatus = "no-data";
}
else {
gearStatus = std::to_string(car->m_nCurrentGear);
}
Plugin sdk
|
|
|

14.01.2025, 18:39
|
|
Новичок
Регистрация: 14.01.2025
Сообщений: 3
С нами:
701515
Репутация:
1
|
|
Сообщение от whyega52
Plugin sdk
можно узнать как его в свой проект установить?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|