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

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

Репутация: 183


По умолчанию

Цитата:
Сообщение от Woofing Giraffe  

Код:





Код:
bool CALLBACK incomingRPC(stRakNetHookParams *params)
{
    if (params->packetId == ScriptRPCEnumeration::RPC_ScrSetPlayerColor)
    {
        WORD i;
        DWORD Color;
        params->bitStream->ResetReadPointer();
        params->bitStream->Read(i);
        params->bitStream->Read(Color);
        params->bitStream->ResetReadPointer();
        if (Color == 0xFFFFFF01)
        {
            params->bitStream->ResetWritePointer();
            params->bitStream->Write(i);
            params->bitStream->Write(0xFF000001);
        }
    };
    return true;
};


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

  #1182  
Старый 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);
 
Ответить с цитированием

  #1183  
Старый 10.03.2016, 22:13
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

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

Помогите ребят, поставил на ноутбук Visual Studio 2013, а тут выдает 2 ошибки















тебе необходимо установить microsoft visual c++ redistributable 2015
 
Ответить с цитированием

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

Репутация: 183


По умолчанию

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

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

  #1185  
Старый 10.03.2016, 22:16
Woofing Giraffe
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами: 5744580

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

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

Ты не передаешь серверу данные о цвете, только он тебе.
В смысле я должен эмулировать принятие пакета?
 
Ответить с цитированием

  #1186  
Старый 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 и вылетало. Жопой ошибки правлю походу.
 
Ответить с цитированием

  #1187  
Старый 10.03.2016, 22:32
Tray228
Участник форума
Регистрация: 09.03.2015
Сообщений: 218
С нами: 5884065

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

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

тебе необходимо установить microsoft visual c++ redistributable 2015
 
Ответить с цитированием

  #1188  
Старый 10.03.2016, 23:59
mac
Познавший АНТИЧАТ
Регистрация: 06.09.2014
Сообщений: 1,317
С нами: 6148765

Репутация: 168


По умолчанию

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


Удали - установи
 
Ответить с цитированием

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

Репутация: 43


По умолчанию

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

хех. Помню проснулся в понедельник, потому что мне снилось, что ты вокруг меня ходил и заебывал этой проблемой, и я решил проверить ее и если что пофиксить, написал код, и он оказался рабочим. Понимаешь, из-за того, что ты тут флудишь не существующей проблемой ты заебал меня даже во сне!
Вот кусок кода, он полностью рабочий, но себе ты его все равно не прикрутишь, ибо ему нужна последняя версия !MenuManager, которая еще не залита, и потому что это не весь код плагина.

C++:





Код:
struct
stConnectInfo
{
DWORD dwTimer
=
0
;
//TODO: прикрутить список серверов
}
ConnectInfo
;
void
RejTimer
(
)
{
if
(
ConnectInfo
.
dwTimer
==
0
)
return
;
if
(
ConnectInfo
.
dwTimer
>
GetTickCount
(
)
)
return
;
SF
->
getSAMP
(
)
->
getInfo
(
)
->
RestartGame
(
)
;
SF
->
getSAMP
(
)
->
getInfo
(
)
->
iGameState
=
GAMESTATE_WAIT_CONNECT
;
ConnectInfo
.
dwTimer
=
0
;
}
void
CALLBACK
Reconnect
(
int
KeyClicked
)
{
std
::
string nick
=
MENU
.
connects
->
InputBoxes
->
GetInputBoxText
(
0
)
;
if
(
nick
.
length
(
)
>
3
&&
nick
.
length
(
)

getSAMP
(
)
->
getPlayers
(
)
->
SetLocalPlayerName
(
nick
.
c_str
(
)
)
;
SF
->
getSAMP
(
)
->
disconnect
(
100
)
;
ConnectInfo
.
dwTimer
=
atoi
(
MENU
.
connects
->
InputBoxes
->
GetInputBoxText
(
1
)
.
c_str
(
)
)
*
1000
+
GetTickCount
(
)
;
}
void
ConnectsInit
(
)
{
MENU
.
connects
=
new
Menu
(
"Подключения"
,
-
1
,
-
1
,
500
,
200
,
0xDD202040
,
-
1
,
false
)
;
MENU
.
connects
->
Elements
->
AddElement
(
"Ник:"
,
5
,
5
,
NULL
)
;
MENU
.
connects
->
InputBoxes
->
AddInputBox
(
45
,
5
,
450
)
;
//MENU.connects->InputBoxes->SetInputBoxText(0, SF->getSAMP()->getPlayers()->pszLocalPlayerName);
MENU
.
connects
->
Elements
->
AddElement
(
"Задержка:"
,
5
,
25
,
NULL
)
;
MENU
.
connects
->
InputBoxes
->
AddInputBox
(
95
,
25
,
400
)
;
MENU
.
connects
->
InputBoxes
->
SetInputBoxText
(
1
,
"15"
)
;
MENU
.
connects
->
Elements
->
AddElement
(
"{0080FF}Реконнект"
,
5
,
40
,
Reconnect
)
;
}

C++:





Код:
struct
stConnectInfo
{
DWORD dwTimer
=
0
;
//TODO: прикрутить список серверов
}
ConnectInfo
;
// Для чего тут ConnecInfo? Это объявление структуры stConnectInfo?
 
Ответить с цитированием

  #1190  
Старый 11.03.2016, 10:09
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

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

Для чего тут ConnecInfo? Это объявление структуры stConnectInfo?
да
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.