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

  #7421  
Старый 30.12.2024, 21:56
Smeruxa
Познавший АНТИЧАТ
Регистрация: 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
)
;
 
Ответить с цитированием

  #7422  
Старый 30.12.2024, 23:49
horacy
Участник форума
Регистрация: 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]
 
Ответить с цитированием

  #7423  
Старый 02.01.2025, 17:08
swlm
Познающий
Регистрация: 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 что-то хукает, ломает игру, и по этому не получается сделать это.

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

  #7424  
Старый 03.01.2025, 16:03
Ice
Новичок
Регистрация: 13.07.2005
Сообщений: 5
С нами: 10961573

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

Ребят, есть ли какой то фреймворк для самп аси который работает на всех верзиях 0.3.7 ? Я попробывал ASI-Framework но потом понял что он только для 0.3.7. Или какая таблица со офсетами адресов может быть пригодится.
 
Ответить с цитированием

  #7425  
Старый 09.01.2025, 01:33
yung milonov
Познавший АНТИЧАТ
Регистрация: 06.09.2020
Сообщений: 1,043
С нами: 2992507

Репутация: 168


По умолчанию

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

В SA:MP какой лимит скинов? Я так понял +- до id 319.
на форумах по павно пишут что 30 скинов поверх можно закинуть, дальше только fastman limit adjuster ставить

Лимит скинов сампа

Всем Здравствуйте! Задаюсь таким вопросом почему у меня вылетает самп когда я добавляю скин дальше 318, когда я добавляю 319 скин игра перестает работать, когда удаляю все отлично работает. Есть ли у сампа какой то лимит скинов? Если да то как этот лимит обойти?

www.blast.hk
 
Ответить с цитированием

  #7426  
Старый 10.01.2025, 02:59
Smeruxa
Познавший АНТИЧАТ
Регистрация: 27.11.2020
Сообщений: 1,431
С нами: 2874035

Репутация: 183


По умолчанию

Что-то нет ясной информации, поэтому хочу узнать

Как расширить лимиты у сампапи на скины/кол-во машин и т.д.?
 
Ответить с цитированием

  #7427  
Старый 10.01.2025, 03:03
ARMOR
Флудер
Регистрация: 02.02.2019
Сообщений: 5,070
С нами: 3831395

Репутация: 183


По умолчанию

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

Что-то нет ясной информации, поэтому хочу узнать
Как расширить лимиты у сампапи на скины/кол-во машин и т.д.?
У самп апи нет такой возможности. Калькор кажется при добавлении подгрузки кастомных моделей создает свой массив CModelInfo::ms_aModelInfo и копирует в него значения с игрового, и кастомные модели в свой массив уже и записывает



И потом при использовании моделей получает информацию о них таким методом:

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

  #7428  
Старый 14.01.2025, 16:17
marqusss_
Новичок
Регистрация: 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);

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

  #7429  
Старый 14.01.2025, 17:14
вайега52
Флудер
Регистрация: 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
 
Ответить с цитированием

  #7430  
Старый 14.01.2025, 18:39
marqusss_
Новичок
Регистрация: 14.01.2025
Сообщений: 3
С нами: 701515

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

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

Plugin sdk
можно узнать как его в свой проект установить?
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.