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

  #1  
Старый 10.03.2016, 21:55
Enjoy
Участник форума
Регистрация: 13.07.2014
Сообщений: 164
С нами: 6227977

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

сделал какую-то парашу, при попытке отправить ID_WEAPONS_UPDATE игра вылетает. Не совсем понимаю почему, объясните.

Код:





Код:
actor_info *self = SF->getGame()->actorInfoGet(-1, ACTOR_ALIVE);
    weapon gun = self->weapon[self->weapon_slot];

    stWeaponsUpdate weapUpd;
    memset(&weapUpd, 0, sizeof(stWeaponsUpdate));

    weapUpd.iTargetID = std::stoi(param);
    weapUpd.slot = self->weapon_slot;
    weapUpd.weapon = gun.id;
    weapUpd.ammo = gun.ammo;

    BitStream bsWeapUpd;
    bsWeapUpd.Write((BYTE)ID_WEAPONS_UPDATE);
    bsWeapUpd.Write((PCHAR)&weapUpd, sizeof(stWeaponsUpdate));
    SF->getRakNet()->SendPacket(&bsWeapUpd);
 
Ответить с цитированием

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

Репутация: 183


По умолчанию

weapUpd.iTargetID = std::stoi(param);

Вполне тут может быть краш.
 
Ответить с цитированием

  #3  
Старый 10.03.2016, 22:18
Enjoy
Участник форума
Регистрация: 13.07.2014
Сообщений: 164
С нами: 6227977

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

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

weapUpd.iTargetID = std::stoi(param);
Вполне тут может быть краш.
Привел к uint16_t ничего не поменялось, не понимат.

Структуру ID_WEAPONS_UPDATE вроде правильно переписал. Вот если что.

Код:





Код:
struct stWeaponsUpdate
{
    uint16_t        iTargetID;
    uint8_t         slot;
    uint8_t         weapon;
    int16_t         ammo;
};


UPD: Я короче в другом месте где-то обосрался, хотя до этого тестил онли ID_WEAPONS_UPDATE и вылетало. Жопой ошибки правлю походу.
 
Ответить с цитированием

  #4  
Старый 11.03.2016, 15:53
Tray228
Участник форума
Регистрация: 09.03.2015
Сообщений: 218
С нами: 5884065

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

Как сделать проверку что мой актер находися в машине или на мото
 
Ответить с цитированием

  #5  
Старый 11.03.2016, 16:25
Enjoy
Участник форума
Регистрация: 13.07.2014
Сообщений: 164
С нами: 6227977

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

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

Как сделать проверку что мой актер находися в машине или на мото
Вроде должно работать.

Код:





Код:
vehicle_info *veh = SF->getGame()->vehicleInfoGet(-1, VEHICLE_ALIVE);
    if (veh)
        SF->getSAMP()->getChat()->AddChatMessage(-1, "in Car");
 
Ответить с цитированием

  #6  
Старый 11.03.2016, 16:56
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

vehicle_info *car = SF->getGame()->vehicleInfoGet(VEHICLE_SELF, VEHICLE_TYPE_CAR);
 
Ответить с цитированием

  #7  
Старый 11.03.2016, 20:41
Tray228
Участник форума
Регистрация: 09.03.2015
Сообщений: 218
С нами: 5884065

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

какой нужен рпц для спавна кара
 
Ответить с цитированием

  #8  
Старый 11.03.2016, 20:42
AWRage
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами: 5706781

Репутация: 43


По умолчанию

Как получить позиции костей игрока в стриме? В структура actor_info вроде есть функция pHead, pNeck.. и т.д, но она типа void, то есть ничего не возвращает. Для чего тогда она?

C++:





Код:
for
(
int
i
=
0
;
i

getSAMP
(
)
->
getPlayers
(
)
->
IsPlayerDefined
(
i
)
)
{
actor_info
*
Actor
=
SF
->
getGame
(
)
->
actorInfoGet
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
GetActorHandleFromSAMPPlayerID
(
i
)
,
0
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
255
,
255
,
255
)
,
"X: %.3f, Y: %.3f, Z: %.3f"
,
?
,
?
,
?
)
;
}
}
 
Ответить с цитированием

  #9  
Старый 11.03.2016, 22:35
Enjoy
Участник форума
Регистрация: 13.07.2014
Сообщений: 164
С нами: 6227977

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

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

Как получить позиции костей игрока в стриме? В структура actor_info вроде есть функция pHead, pNeck.. и т.д, но она типа void, то есть ничего не возвращает. Для чего тогда она?

C++:





Код:
for
(
int
i
=
0
;
i

getSAMP
(
)
->
getPlayers
(
)
->
IsPlayerDefined
(
i
)
)
{
actor_info
*
Actor
=
SF
->
getGame
(
)
->
actorInfoGet
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
GetActorHandleFromSAMPPlayerID
(
i
)
,
0
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
255
,
255
,
255
)
,
"X: %.3f, Y: %.3f, Z: %.3f"
,
?
,
?
,
?
)
;
}
}

Здраститя, там же закоментировано, что может принимать 4 параметра.

Имеет структуру

Код:





Код:
- float height
      - float front/back
      - float left/right
      - void* pObject


А вообще, я вот тут посмотрел и мне кажется, что это ближе к твоему вопросу:

Код:





Код:
CVector vec;
    PEDSELF->GetBonePosition(eBone::BONE_HEAD, &vec);


В общем тести.
 
Ответить с цитированием

  #10  
Старый 11.03.2016, 23:02
AWRage
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами: 5706781

Репутация: 43


По умолчанию

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

Здраститя, там же закоментировано, что может принимать 4 параметра.
Имеет структуру

Код:





Код:
- float height
      - float front/back
      - float left/right
      - void* pObject


А вообще, я вот тут посмотрел и мне кажется, что это ближе к твоему вопросу:

Код:





Код:
CVector vec;
    PEDSELF->GetBonePosition(eBone::BONE_HEAD, &vec);


В общем тести.
Оно то ближе, но мне нужно получить не координаты костей своего игрока, а других, а я хз как получить CPed другого игрока. Мб знаешь?

А по поводу того, что функция принимает 4 параметра, так у меня компиль ругается.
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

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

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

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

×

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

Сумма USDT:

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

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