ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Опять выебываюсь (https://forum.antichat.xyz/showthread.php?t=1379898)

SR_team 23.02.2021 02:37

Поймут лишь те, кто писал чат-команды на C++:

C++:





Код:

static
SAMP
::
Input
::
CommandEx

test
(
"test"
,
[
]
(
int
a
,
float
b
)
{
// Тут целое число в `a` и дробное в `b`
}
)
;
test
.
redirectFail
(
[
]
(
SAMP
::
Input
::
CmdFail fail
,
int
arg
)
{
switch
(
fail
)
{
case
SAMP
::
Input
::
CmdFail
::
NOARGS
:
// Команда вызвана без аргументов. В `arg` записан 0
break
;
case
SAMP
::
Input
::
CmdFail
::
MANYARGS
:
// В команду передано слишком много аргументов. В `arg` количество аргументов
break
;
case
SAMP
::
Input
::
CmdFail
::
FEWARGS
:
// В команду передано слишком мало аргументов. В `arg` количество аргументов
break
;
case
SAMP
::
Input
::
CmdFail
::
INVALIDARGS
:
// В команду передан не верный аргумент, например строка вместо числа. В `arg` номер аргумента
break
;
}
}
)
;
if
(
!
test
.
isInstalled
(
)
)
test
.
install
(
)
;
// регистрация команды



Код класса, который позволяет создать конечный автомат на основе шаблона: https://gitlab.com/prime-hack/samp/p...P/Input.h#L256

SR_team 23.02.2021 03:50

Хидер:





Код:

// в классе FogDist
SAMP
::
Input
::
CommandEx

cmd
{
"fogdist"
}
;
void
command
(
float
d
)
;
void
command
(
SAMP
::
Input
::
CmdFail fail
,
size_t
/* unused */
)
;



Сурс:





Код:

cmd
.
install
(
this
,
&
FogDist
::
command
)
;
cmd
.
redirectFail
(
this
,
&
FogDist
::
command
)
;
// ...
void
FogDist
::
command
(
float
d
)
{
// ...
}
void
FogDist
::
command
(
SAMP
::
Input
::
CmdFail fail
,
size_t
)
{
// ...
}


Majunti 23.02.2021 14:16

Зачем

SR_team 23.02.2021 14:35

Цитата:

Сообщение от Majunti

Зачем

Цитата:

Сообщение от SR_team

Поймут лишь те, кто писал чат-команды на C++


RatinovPlay 23.02.2021 15:25

А нахуя тебе столько неймпспейсов?

Receiver 23.02.2021 15:57

Цитата:

Сообщение от Majunti

Зачем

Регает команды и упрощает с ними работу. Можно сразу указать с какими типами данных должны быть аргументы команды и получить их значения.

Есть обработчик "ошибок", в случае отстуствия одного или нескольких аргументов можно выполнять разные действия.

Цитата:

Сообщение от RatinovPlay

А нахуя тебе столько неймпспейсов?

Для прикола

atizoff 23.02.2021 20:09

Цитата:

Сообщение от RatinovPlay

А нахуя тебе столько неймпспейсов?

красиво выглядит при вызове

1614096547579.pngatizoff · 23 Фев 2021 в 19:09' data-fancybox="lb-post-677193" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/87403/" style="cursor: pointer;" title="1614096547579.png">
https://forum.antichat.xyz/attachments/27677193/

https://forum.antichat.xyz/attachments/27677193/

да и каждый дрочет как он хочет, поэтому вот так вот

Majunti 23.02.2021 20:18

Цитата:

Сообщение от RECEIVER

Регает команды и упрощает с ними работу. Можно сразу указать с какими типами данных должны быть аргументы команды и получить их значения.
Есть обработчик "ошибок", в случае отстуствия одного или нескольких аргументов можно выполнять разные действия.

Я думал скрипт для взлома серверов😕


Время: 19:15