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

  #1361  
Старый 21.04.2016, 22:02
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Ты хочешь, чтобы в одном массиве было 4 елемента с разными названиями? Тебе мапа стринговая нужна или структура.
 
Ответить с цитированием

  #1362  
Старый 22.04.2016, 00:49
AWRage
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами: 5706781

Репутация: 43


По умолчанию

Вообщем, сделал d3d hook, собрал это добро в .asi файл и кинул в папку с игрой. Захожу - работает, у других выскакивает ошибка отсутствия библиотеки vcruntime140.dll. Шо делать?
 
Ответить с цитированием

  #1363  
Старый 22.04.2016, 02:13
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

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

  #1364  
Старый 22.04.2016, 14:18
AWRage
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами: 5706781

Репутация: 43


По умолчанию

Цитата:
Сообщение от Dark_Knight  
А почему для собейта такого ставить не нужно? Или то что я описал выше нормально?
 
Ответить с цитированием

  #1365  
Старый 22.04.2016, 14:19
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

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

  #1366  
Старый 22.04.2016, 18:52
C&J
Познающий
Регистрация: 13.11.2014
Сообщений: 41
С нами: 6050727

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

Здравствуйте,не могли бы вы,описать за что отвечают данный переменные в textdraw,или дать ссылку для прочтение?

struct stTextdraw

{

char szText[800 + 1]; // Вроде как за текст?

char szString[1600 + 2];//Тоже текст

float fLetterWidth;//Размеры?

float fLetterHeight;//Так же размеры

DWORD dwLetterColor;//Цвет

uint8_t byte_unk; // always = 01 (?)

BYTE byteCenter;// ?

BYTE byteBox;// Бокс

float fBoxSizeX;//Размер Бокса по X

float fBoxSizeY;//Размеры Бокса по Y

DWORD dwBoxColor;//Цвет Бокса

BYTE byteProportional;// ?

DWORD dwShadowColor;//Цвет чего-то

BYTE byteShadowSize;//Размер чего-то

BYTE byteOutline;// ?

BYTE byteLeft;//?

BYTE byteRight;//?

int iStyle; // font style/texture/model |Так понял стиль textdraw

float fX;// Позиция чего-то по X?

float fY;//Позиция чего-то по Y

byte unk[8];// ?

DWORD dword99B; // -1 by default ???

DWORD dword99F; // -1 by default ???

DWORD index; // -1 if bad ID textdraw'a?

BYTE byte9A7; // = 1; 0 by default ???

uint16_t sModel; //???

float fRot[3];//???

float fZoom;//???

WORD sColor[2];// Цвет чего-то

BYTE f9BE; //???

BYTE byte9BF;//???

BYTE byte9C0;//???

DWORD dword9C1;//???

DWORD dword9C5;//???

DWORD dword9C9;//???

DWORD dword9CD;//???

BYTE byte9D1;//???

DWORD dword9D2;//???

};

struct stTextdrawPool

{

int iIsListed[SAMP_MAX_TEXTDRAWS]; //Существует ли глобальный textdraw?

int iPlayerTextDraw[SAMP_MAX_PLAYERTEXTDRAWS];//Существует ли textdraw для игрока?

struct stTextdraw *textdraw[SAMP_MAX_TEXTDRAWS];//???

struct stTextdraw *playerTextdraw[SAMP_MAX_PLAYERTEXTDRAWS];//???

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

  #1367  
Старый 22.04.2016, 20:05
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Ничего нет. Разберись сам. можешь опкоды СФ для работы с текстдравами заюзать.
 
Ответить с цитированием

  #1368  
Старый 22.04.2016, 22:06
AWRage
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами: 5706781

Репутация: 43


По умолчанию

struct stTextdraw

{

char szText[800 + 1]; // Вроде как за текст?

char szString[1600 + 2];//Тоже текст

float fLetterWidth; Ширина

float fLetterHeight; Высота

DWORD dwLetterColor;//Цвет

uint8_t byte_unk; // always = 01 (?)

BYTE byteCenter; Выравнивание по центру

BYTE byteBox;// Бокс

float fBoxSizeX;//Размер Бокса по X

float fBoxSizeY;//Размеры Бокса по Y

DWORD dwBoxColor;//Цвет Бокса

BYTE byteProportional;// Пропорциональность, потести, поймешь.

DWORD dwShadowColor;// Цвет тени

BYTE byteShadowSize;//Размер тени

BYTE byteOutline;// Обводка

BYTE byteLeft;// Выравнивание по левому краю

BYTE byteRight;// Выравнивание по правому краю

int iStyle; // font style/texture/model |Так понял стиль textdraw

float fX;// Позиция текстдрава

float fY;//Позиция текстдрава

byte unk[8];// ?

DWORD dword99B; // -1 by default ???

DWORD dword99F; // -1 by default ???

DWORD index; // -1 if bad ID textdraw'a?

BYTE byte9A7; // = 1; 0 by default ???

uint16_t sModel; //???

float fRot[3];//???

float fZoom;//???

WORD sColor[2];// Цвет чего-то

BYTE f9BE; //???

BYTE byte9BF;//???

BYTE byte9C0;//???

DWORD dword9C1;//???

DWORD dword9C5;//???

DWORD dword9C9;//???

DWORD dword9CD;//???

BYTE byte9D1;//???

DWORD dword9D2;//???

};

struct stTextdrawPool

{

int iIsListed[SAMP_MAX_TEXTDRAWS]; //Существует ли глобальный textdraw?

int iPlayerTextDraw[SAMP_MAX_PLAYERTEXTDRAWS];//Существует ли textdraw для игрока?

struct stTextdraw *textdraw[SAMP_MAX_TEXTDRAWS];// массив текстдравов. То есть, можно обращаться к элементам и получать текстдрав по его ID

struct stTextdraw *playerTextdraw[SAMP_MAX_PLAYERTEXTDRAWS];// массив текстдравов игрока ^

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

  #1369  
Старый 23.04.2016, 12:05
dimoz
Новичок
Регистрация: 13.12.2020
Сообщений: 0
С нами: 2851002

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

пытаюсь прочитать позицию пикапа с помощью перехвата RPC, но правильно читается только его ID, а всё остальное - нет.

Код:





Код:
else if (params->packetId == ScriptRPCEnumeration::RPC_ScrCreatePickup)
    {
        short pickup_id;
        float pos[3];
        int model_id;
        int type;
        params->bitStream->ResetReadPointer(); // на всякий случай устанавливаем оффсет чтения на начало
        params->bitStream->Read(pickup_id); // читаем отправляемые данные
        params->bitStream->Read(model_id); // читаем отправляемые данные
        params->bitStream->Read(type); // читаем отправляемые данные
        params->bitStream->Read(pos); // читаем отправляемые данные
        params->bitStream->ResetReadPointer(); // снова обнуляем оффсет чтения
        SF->getSAMP()->getChat()->AddChatMessage(-1, "%d %f %f %f", pickup_id, pos[0], pos[1], pos[2]);
  
        return true;
    }


Решил методом тыка.

Код:





Код:
params->bitStream->ResetReadPointer(); // на всякий случай устанавливаем оффсет чтения на начало
        params->bitStream->Read(pickup_id); // читаем отправляемые данные
        params->bitStream->SetReadOffset(96);
        params->bitStream->Read(pos[0]); // читаем отправляемые данные
        params->bitStream->Read(pos[1]); // читаем отправляемые данные
        params->bitStream->Read(pos[2]); // читаем отправляемые данные
        params->bitStream->ResetReadPointer(); // снова обнуляем оффсет чтения
        SF->getSAMP()->getChat()->AddChatMessage(-1, "%d %f %f %f", pickup_id, pos[0], pos[1], pos[2]);
 
Ответить с цитированием

  #1370  
Старый 23.04.2016, 15:41
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

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

пытаюсь прочитать позицию пикапа с помощью перехвата RPC, но правильно читается только его ID, а всё остальное - нет.

Код:





Код:
else if (params->packetId == ScriptRPCEnumeration::RPC_ScrCreatePickup)
    {
        short pickup_id;
        float pos[3];
        int model_id;
        int type;
        params->bitStream->ResetReadPointer(); // на всякий случай устанавливаем оффсет чтения на начало
        params->bitStream->Read(pickup_id); // читаем отправляемые данные
        params->bitStream->Read(model_id); // читаем отправляемые данные
        params->bitStream->Read(type); // читаем отправляемые данные
        params->bitStream->Read(pos); // читаем отправляемые данные
        params->bitStream->ResetReadPointer(); // снова обнуляем оффсет чтения
        SF->getSAMP()->getChat()->AddChatMessage(-1, "%d %f %f %f", pickup_id, pos[0], pos[1], pos[2]);
 
        return true;
    }


Решил методом тыка.

Код:





Код:
params->bitStream->ResetReadPointer(); // на всякий случай устанавливаем оффсет чтения на начало
        params->bitStream->Read(pickup_id); // читаем отправляемые данные
        params->bitStream->SetReadOffset(96);
        params->bitStream->Read(pos[0]); // читаем отправляемые данные
        params->bitStream->Read(pos[1]); // читаем отправляемые данные
        params->bitStream->Read(pos[2]); // читаем отправляемые данные
        params->bitStream->ResetReadPointer(); // снова обнуляем оффсет чтения
        SF->getSAMP()->getChat()->AddChatMessage(-1, "%d %f %f %f", pickup_id, pos[0], pos[1], pos[2]);

https://docs.google.com/spreadsheet/ccc?key=0AtKPKl8O9mGodFZESEp6WEdzcTB0U2V1ZkR0UWpub 1E#gid=1
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

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

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

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

Сумма USDT:

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

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

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

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

×

Мои сделки

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

Сделка


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