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

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

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

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

SF->getSAMP()->getPlayers()->pLocalPlayer->Say();
if(key_pressed(W) && key_pressed(E))
}
Нет такой функции.

Может кто по поводу SF->getSAMP()->getInput()->EnableInput() всё же может кто подсказать?

Короче что происходит:

C++:





Код:
if
(
SF
->
getGame
(
)
->
isKeyPressed
(
0x31
)
)
//нажимаю на 1
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
SetChatInputText
(
"text here"
)
;
SF
->
getSAMP
(
)
->
getInput
(
)
->
EnableInput
(
)
;
}


В итоге в чат идет text here1 и потом когда я нажимаю 1 во второй раз ничего не происходит, а когда в третий - уже снова идет вызов, такое чувство что из-за того что цифра 1 идет в чат не отпраляется событие keydown и только при 2 нажатии оно отправляется и выходит что на 3 раз уже при нажатии на 1 всё работает, как от этого избавиться?

Может есть ещё способ отслеживать нажатие клавиши и чтоб она в чат не шла?

UPD. Отправку цифры 1 в чат убрал через эмуляцию нажатия backspace, а вот почему после вызова EnableInput не работает снова вызов на цифру 1 пока не могу понять
 
Ответить с цитированием

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

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

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

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

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

  #1943  
Старый 02.01.2017, 05:39
AWRage
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами: 5706781

Репутация: 43


По умолчанию

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

Нет такой функции.

Может кто по поводу SF->getSAMP()->getInput()->EnableInput() всё же может кто подсказать?
Короче что происходит:

C++:





Код:
if
(
SF
->
getGame
(
)
->
isKeyPressed
(
0x31
)
)
//нажимаю на 1
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
SetChatInputText
(
"text here"
)
;
SF
->
getSAMP
(
)
->
getInput
(
)
->
EnableInput
(
)
;
}


В итоге в чат идет text here1 и потом когда я нажимаю 1 во второй раз ничего не происходит, а когда в третий - уже снова идет вызов, такое чувство что из-за того что цифра 1 идет в чат не отпраляется событие keydown и только при 2 нажатии оно отправляется и выходит что на 3 раз уже при нажатии на 1 всё работает, как от этого избавиться?
Может есть ещё способ отслеживать нажатие клавиши и чтоб она в чат не шла?

UPD. Отправку цифры 1 в чат убрал через эмуляцию нажатия backspace, а вот почему после вызова EnableInput не работает снова вызов на цифру 1 пока не могу понять
То, что ты делаешь через InputBox полнейшая хрень. Есть функция Say и её используют для отправки сообщения или команды.














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

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

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

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

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

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

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

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

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

То, что ты делаешь через InputBox полнейшая хрень. Есть функция Say и её используют для отправки сообщения или команды.
А при чем тут это? Мне надо чтобы текст вставлялся в инпут без отправки, чтоб дальше можно было дописать ID и отправить. Я вроде как с этим уже разобрался.
 
Ответить с цитированием

  #1946  
Старый 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
;
}


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

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

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

Репутация: 133


По умолчанию

C++:





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


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

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

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

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

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

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

C++:





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


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

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

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

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

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

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

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

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





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


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




ANTICHAT ™ © 2001- Antichat Kft.