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

  #3551  
Старый 24.05.2019, 12:35
Receiver
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами: 5332594

Репутация: 163


По умолчанию

как отправить команду в чат?
 
Ответить с цитированием

  #3552  
Старый 24.05.2019, 16:24
Receiver
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами: 5332594

Репутация: 163


По умолчанию

как сделать задержку перед вводом текста в диалог, чтобы при этом игра не зависала ?
 
Ответить с цитированием

  #3553  
Старый 24.05.2019, 23:05
_=Gigant=_
Участник форума
Регистрация: 19.01.2017
Сообщений: 130
С нами: 4901705

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

what's difference between

1.

stOnFootData OnFoot;

memcpy(&OnFoot, &g_Players->pLocalPlayer->onFootData, sizeof(stOnFootData));

OnFoot->byteHealth = 50;

BitStream bsOnFoot;

bsOnFoot.Write((BYTE)ID_PLAYER_SYNC);

bsOnFoot.Write((PCHAR)&OnFoot, sizeof(stOnFootData));

g_RakFuncs->Send(&bsOnFoot, HIGH_PRIORITY, UNRELIABLE_SEQUENCED, 0);

and

2.

g_Player->pLocalPlayer->OnFootData.byteHealth ?

Is 1. better synced ?
 
Ответить с цитированием

  #3554  
Старый 25.05.2019, 10:37
Receiver
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами: 5332594

Репутация: 163


По умолчанию

Есть скрипт в который нужно запихнуть задержку между вводом текста в диалог, как это сделать без замораживания игрового процесса? (Отредактируйте мой код)

Цитата:

void CALLBACK mainloop()
{
if (SF->getSAMP()->getDialog()->iIsActive && SF->getSAMP()->getDialog()->DialogID == 1)
{
SF->getSAMP()->getDialog()->SetInputText("1");
// тут нужно сделать задержку
SF->getSAMP()->getDialog()->SetInputText("2");
// тут нужно сделать задержку
SF->getSAMP()->getDialog()->SetInputText("3");
// тут нужно сделать задержку
SF->getSAMP()->getDialog()->Close(1);
}
}
 
Ответить с цитированием

  #3555  
Старый 25.05.2019, 10:55
index
Новичок
Регистрация: 18.10.2015
Сообщений: 6
С нами: 5563739

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

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

Есть скрипт в который нужно запихнуть задержку между вводом текста в диалог, как это сделать без замораживания игрового процесса? (Отредактируйте мой код)
https://blast.hk/threads/781/page-98#post-314836
 
Ответить с цитированием

  #3556  
Старый 25.05.2019, 13:04
Receiver
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами: 5332594

Репутация: 163


По умолчанию

нужно разбить char * test = "12345" на цифры, чтобы можно было сделать так:

char nds[5];

sprintf(result, "%s%s%s%s%s", nds[0], nds[1], nds[2], nds[3], nds[4], nds[5])

когда пытаюсь делать test[0], test[1] ... - краш игры.

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

  #3557  
Старый 25.05.2019, 13:35
Receiver
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами: 5332594

Репутация: 163


По умолчанию

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



C++:





Код:
char
text
[
]
=
"12345"
;
text
[
0
]
;
// 1
text
[
1
]
;
// 2
text
[
2
]
;
// 3
text
[
3
]
;
// 4
text
[
4
]
;
// 5


Смысл тебе писать на C++ , если ты даже основ не знаешь?

мне нужно чтобы было именно char * а не char[]

но если использовать такой метод с char *, то игру крашит
 
Ответить с цитированием

  #3558  
Старый 25.05.2019, 14:17
index
Новичок
Регистрация: 18.10.2015
Сообщений: 6
С нами: 5563739

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

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

нужно разбить char * test = "12345" на цифры, чтобы можно было сделать так:
char nds[5];
sprintf(result, "%s%s%s%s%s", nds[0], nds[1], nds[2], nds[3], nds[4], nds[5])

когда пытаюсь делать test[0], test[1] ... - краш игры.
??
При спецификаторе %s идет обращение к адресу, записанному в передаваемый аргумент (т.е. переменная должна быть указателем на строку). Естественно, у тебя будет ошибка access violation at adress test[number].

https://ru.wikipedia.org/wiki/Система_типов_Си

Сначала неплохо бы основы выучить, как сказал товарищ сверху. Чтобы вывести однобайтовый символ - используй %c.
 
Ответить с цитированием

  #3559  
Старый 25.05.2019, 14:48
Receiver
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами: 5332594

Репутация: 163


По умолчанию

Код:





Код:
const auto myTask = []()
{
       Sleep(500);
        SF->getSAMP()->getDialog()->SetInputText("х");

         Sleep(500);
         SF->getSAMP()->getDialog()->SetInputText("у");
};
std::thread(myTask).detach();


- краш игры, в чём проблема ?
 
Ответить с цитированием

  #3560  
Старый 25.05.2019, 15:16
Receiver
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами: 5332594

Репутация: 163


По умолчанию

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

Нужно проверять на валидностьдиалог.
Там сверху проверка есть на валидность, это похоже из-за того что два Sleep

----

Смысл есть везде
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.