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

  #1901  
Старый 17.12.2016, 12:48
BlackKnigga
Постоянный
Регистрация: 10.01.2016
Сообщений: 922
С нами: 5441999

Репутация: 133


По умолчанию

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

AddFontResource('Путь') ;
Окей, а как тогда получить его название в системе(чтобы создать через CreateNewFont())? При установке он переименовывается в ""шрифтнейм" полужирный". Какие только названия не вводил, загружается какой-то стандартный шрифт(вроде Arial'а).
 
Ответить с цитированием

  #1902  
Старый 17.12.2016, 20:19
Sire Like
Постоянный
Регистрация: 20.10.2014
Сообщений: 489
С нами: 6086011

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

Ненубы, помогайте с перехватом ScrClientMessage

Чё не так делаю?

C++:





Код:
D3DCOLOR MessageColor
;
// Цвет сообщения
byte textLen
;
// Длина сообщения
char
textMessage
[
144
]
;
// Сообщение
params
->
bitStream
->
ResetReadPointer
(
)
;
params
->
bitStream
->
Read
(
MessageColor
)
;
params
->
bitStream
->
Read
(
textLen
)
;
params
->
bitStream
->
Read
(
textMessage
)
;
textMessage
[
textLen
]
=
'\0'
;
params
->
bitStream
->
ResetReadPointer
(
)
;


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

  #1903  
Старый 17.12.2016, 20:49
BlackKnigga
Постоянный
Регистрация: 10.01.2016
Сообщений: 922
С нами: 5441999

Репутация: 133


По умолчанию

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

Ненубы, помогайте с перехватом ScrClientMessage

Чё не так делаю?

C++:





Код:
D3DCOLOR MessageColor
;
// Цвет сообщения
byte textLen
;
// Длина сообщения
char
textMessage
[
144
]
;
// Сообщение
params
->
bitStream
->
ResetReadPointer
(
)
;
params
->
bitStream
->
Read
(
MessageColor
)
;
params
->
bitStream
->
Read
(
textLen
)
;
params
->
bitStream
->
Read
(
textMessage
)
;
textMessage
[
textLen
]
=
'\0'
;
params
->
bitStream
->
ResetReadPointer
(
)
;



TextLen дворд, а не байт.

https://docs.google.com/spreadsheets/d/1iIxEk7yR8r7ZLGiSAL4ndtz_N1k0p3Wt7TE5bei6ztU/edit#gid=1
 
Ответить с цитированием

  #1904  
Старый 17.12.2016, 20:54
CarLCas
Участник форума
Регистрация: 12.07.2013
Сообщений: 161
С нами: 6755146

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

params->bitStream->Read(textMessage, textLen);
 
Ответить с цитированием

  #1905  
Старый 17.12.2016, 21:10
Sire Like
Постоянный
Регистрация: 20.10.2014
Сообщений: 489
С нами: 6086011

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

от души пацаны
 
Ответить с цитированием

  #1906  
Старый 19.12.2016, 13:20
Potniy
Новичок
Регистрация: 19.12.2016
Сообщений: 5
С нами: 4946711

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

Что лучше : загружать текстуру или рендрить ? Пример: текстура 500х500px синяя или же DrawBox ?
 
Ответить с цитированием

  #1907  
Старый 19.12.2016, 14:53
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

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

Надо было по быстрому сделать чекер 0 лвлов , сделал на быструю руку. Но проблема в том , что он выводит не до конца всех игроков. А просто обрезает половину.
сидел , пробовал и так и так , что-то не получилось вообщем доделать, подскажите кто нибудь, буду благодарен.

Цитата:
Сообщение от Спойлер  

-McaK-ptmMs.jpgSR_team · 19 Дек 2016 в 13:53' data-fancybox="lb-post-131871" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="/proxy.php?image=https%3A%2F%2Fpp.vk.me%2Fc836538%2 Fv836538033%2F1237b%2F-McaK-ptmMs.jpg&hash=27a05876289dc4a783c3acc6e8d3be44" style="cursor: pointer;" title="-McaK-ptmMs.jpg">


Код :
UPD:
Прокоментил строки

C++:





Код:
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS
#include 
#include 
#include 
#include 
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
int
Score
=
3
;
stFontInfo
*
pFont
;
char
oldnick
[
4096
]
=
{
0
}
;
char
nick
[
4096
]
=
{
0
}
;
bool
bAct
=
false
;
void
CALLBACK
cmd_show_info_player
(
std
::
string param
)
{
bAct
^=
true
;
}
bool
CALLBACK
Present
(
CONST RECT
*
pSourceRect
,
CONST RECT
*
pDestRect
,
HWND hDestWindowOverride
,
CONST RGNDATA
*
pDirtyRegion
)
{
if
(
SUCCEEDED
(
SF
->
getRender
(
)
->
BeginRender
(
)
)
)
// если рендерер готов к рисованию
{
// рисуем
if
(
bAct
)
{
for
(
uint16_t
it
=
0
;
it

getSAMP
(
)
->
getInfo
(
)
->
UpdateScoreAndPing
(
)
;
// обновляем таб
if
(
!
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
iIsListed
[
it
]
)
continue
;
// проверяем подключен ли игрок
Score
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
it
]
->
iScore
;
// Записываем в переменную лвл игрока
if
(
Score
==
0
)
// Проверяем что игрок 0 лвл.
{
sprintf
(
oldnick
,
"%s [%i]"
,
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
GetPlayerName
(
it
)
,
it
)
;
sprintf
(
nick
,
"%s \n %s"
,
nick
,
oldnick
)
;
// и так всё понятно.
}
}
pFont
->
Print
(
nick
,
D3DCOLOR_ARGB
(
170
,
255
,
255
,
255
)
,
500
,
500
,
false
)
;
// Рисуем список
sprintf
(
oldnick
,
""
)
;
sprintf
(
nick
,
""
)
;
// Очищаем переменные , что бы не было краша.
}
SF
->
getRender
(
)
->
EndRender
(
)
;
// завершаем рисование
}
;
return
true
;
// возвращаем положительный результат
}
;
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
(
)
->
getInfo
(
)
->
UpdateScoreAndPing
(
)
;
SF
->
getRender
(
)
->
registerD3DCallback
(
eDirect3DDeviceMethods
::
D3DMETHOD_PRESENT
,
Present
)
;
pFont
=
SF
->
getRender
(
)
->
CreateNewFont
(
"Consolas"
,
10
,
FCR_BORDER
)
;
SF
->
getSAMP
(
)
->
registerChatCommand
(
"dauncheck"
,
cmd_show_info_player
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"SAMPFUNCS Plugin loaded."
)
;
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
;
}

массивы слишком маленькие скорее всего.

25 - максимальная длина Ника, 1000 максимальное число игроков.



З.Ы. А еще SF не умел рендерить больше 256 символов за раз, и вроде это не фиксилось
 
Ответить с цитированием

  #1908  
Старый 20.12.2016, 19:59
iAmerican
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами: 6438231

Репутация: 133


По умолчанию

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

Что лучше : загружать текстуру или рендрить ? Пример: текстура 500х500px синяя или же DrawBox ?
Для каких целей? DrawBox попроще будет.
 
Ответить с цитированием

  #1909  
Старый 20.12.2016, 20:09
iAmerican
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами: 6438231

Репутация: 133


По умолчанию

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

массивы слишком маленькие скорее всего.
25 - максимальная длина Ника, 1000 максимальное число игроков.

З.Ы. А еще SF не умел рендерить больше 256 символов за раз, и вроде это не фиксилось
скорее всего не рендрит больше 256 символов , но на сколько я помню были админчекеры , они тоже не рендрят больше 256 символов?
 
Ответить с цитированием

  #1910  
Старый 21.12.2016, 00:21
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

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

скорее всего не рендрит больше 256 символов , но на сколько я помню были админчекеры , они тоже не рендрят больше 256 символов?
Я не думаю, что они так по уебански сделаны, и не склевают все в 1 строку, а выводят каждую строку отдельно
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.