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

  #1  
Старый 31.12.2016, 03:12
TheMY3
Познающий
Регистрация: 26.12.2016
Сообщений: 61
С нами: 4936063

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

Последний вопрос на сегодня

C++:





Код:
if
(
SF
->
getGame
(
)
->
isKeyPressed
(
0x31
)
)
{
SF
->
getSAMP
(
)
->
getInput
(
)
->
EnableInput
(
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
SetChatInputText
(
text here
)
;
}


Вот так я пытаюсь ловить события при нажатии на 1, и всё хорошо если происходит другое действие, но не то что выше, когда при нажатии на 1 появляется поле ввода и текст в нём, всё как надо, но после закрытия это поля и отправки сообщения я нажимаю снова 1 и ничего не происходит, SF->getGame()->isKeyPressed(0x31) уже не видит нажатие, а если я нажму ещё раз 1 тогда всё работает, такое чувство что методом SF->getSAMP()->getInput()->EnableInput() я что-то преребиваю, потому что без него SF->getSAMP()->getChat()->SetChatInputText(text here) вставляет нормально данные в поле ввода, но я его не вижу. А нужно чтоб было поле ввода и мой текст. Причина точно в SF->getSAMP()->getInput()->EnableInput(), я больше не нашел способа вызвать поле ввода.
 
Ответить с цитированием

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

Репутация: 183


По умолчанию

Для буфера с обменов есть винапи. Для него все есть в гугле.
 
Ответить с цитированием

  #3  
Старый 02.01.2017, 03:06
TheMY3
Познающий
Регистрация: 26.12.2016
Сообщений: 61
С нами: 4936063

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

Может кто подсказать как поступить.

Делаю сейчас локальный DXUT диалог на Cleo и надо бы как то его вызывать по команде и собирать данные с его инпутов, их там 3 будет и работать с ними через C++ SF API, как можно будет при нажатии на кнопку забирать данные в SF API? Через getCLEO есть методы взять переменные, но как их в cleo скрипте объявить чтоб забрать в коде? Может кто пример кода показать, примеров нигде не нашел.

Есть ещё вариант через getDialog но там всё ещё запутаней, по методам ничего не понятно, а доки то и нет
 
Ответить с цитированием

  #4  
Старый 02.01.2017, 06:29
Sire Like
Постоянный
Регистрация: 20.10.2014
Сообщений: 489
С нами: 6086011

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

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

можно ли в .sf использовать библиотеку sqlite?
вангуем же,

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

  #5  
Старый 02.01.2017, 15:57
Sire Like
Постоянный
Регистрация: 20.10.2014
Сообщений: 489
С нами: 6086011

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

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

вот примерно такое

C++:





Код:
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS
#include 
#include 
#include 
#include 
#include "sqlite3.h"
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
void
CALLBACK
mainloop
(
)
{
static
bool
init
=
false
;
if
(
!
init
)
{
if
(
GAME
==
nullptr
)
return
;
if
(
GAME
->
GetSystemState
(
)
!=
eSystemState
::
GS_PLAYING_GAME
)
return
;
if
(
!
SF
->
getSAMP
(
)
->
IsInitialized
(
)
)
return
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
sqlite3_libversion
(
)
)
;
init
=
true
;
}
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD dwReasonForCall
,
LPVOID lpReserved
)
{
switch
(
dwReasonForCall
)
{
case
DLL_PROCESS_ATTACH
:
SF
->
initPlugin
(
mainloop
,
hModule
)
;
break
;
case
DLL_THREAD_ATTACH
:
case
DLL_THREAD_DETACH
:
case
DLL_PROCESS_DETACH
:
break
;
}
return
TRUE
;
}


сначала написал простое подключение к бд - скрипт не работает в игре,потом просто вывод версии библиотеки - тоже не работает, мож я чего-то не понимаю ?

в логах ничего интересного
позже сам попробую, через час отпишу, гляну
 
Ответить с цитированием

  #6  
Старый 04.01.2017, 02:44
iAmerican
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами: 6438231

Репутация: 133


По умолчанию

C++:





Код:
SF
->
getSAMP
(
)
->
getDialog
(
)
->
ShowDialog
(
1
,
DIALOG_STYLE_INPUT
,
"Введите ID"
,
""
,
"Ок"
,
"Отмена"
)
;


от сюда только хуком вытаскивать данные? или можно как то иначе?

и ещё вопрос сразу , как организовать свой диалог с вводом данных?

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

  #7  
Старый 04.01.2017, 14:23
Sire Like
Постоянный
Регистрация: 20.10.2014
Сообщений: 489
С нами: 6086011

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

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

C++:





Код:
SF
->
getSAMP
(
)
->
getDialog
(
)
->
ShowDialog
(
1
,
DIALOG_STYLE_INPUT
,
"Введите ID"
,
""
,
"Ок"
,
"Отмена"
)
;


от сюда только хуком вытаскивать данные? или можно как то иначе?
и ещё вопрос сразу , как организовать свой диалог с вводом данных?
мне чисто в теории
ага, хуков вытаскивай данные.
 
Ответить с цитированием

  #8  
Старый 04.01.2017, 18:13
2Shae
Участник форума
Регистрация: 14.05.2014
Сообщений: 149
С нами: 6314183

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

Можно ли как-то использовать команду, которая недоступна для твоего ранга/фракции на сервере? Ну или хотя бы считать содержимое диалога, не открывая его (опять же из-за того, что ранг/фракция не та).
 
Ответить с цитированием

  #9  
Старый 04.01.2017, 18:16
Sire Like
Постоянный
Регистрация: 20.10.2014
Сообщений: 489
С нами: 6086011

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

Цитата:
Сообщение от 2Shae  

Можно ли как-то использовать команду, которая недоступна для твоего ранга/фракции на сервере? Ну или хотя бы считать содержимое диалога, не открывая его (опять же из-за того, что ранг/фракция не та).
Ну в моде проверка, так что нет.
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.