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

  #1  
Старый 24.01.2016, 14:32
FordeD
Познающий
Регистрация: 10.01.2016
Сообщений: 98
С нами: 5442178

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

Может кто подсказать саму суть оформления?

Так же решило взять за основу код с темы, В той функции идет лишь 1 входящая переменная (ID). Как можно осуществить 2 и более вхоядщих данных?

Вот код с темы :

C++:





Код:
void
CALLBACK
cmd_shot_player
(
std
::
string param
,
std
::
string param2
)
{
if
(
param
.
empty
(
)
||
param2
.
empty
(
)
)
return
;
int
i
=
std
::
stoi
(
param
)
;
int
w
=
std
::
stoi
(
param2
)
;
stRemotePlayer
*
pPlayer
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
i
]
;
if
(
!
pPlayer
)
return
;
stBulletData sync
;
ZeroMemory
(
&
sync
,
sizeof
(
stBulletData
)
)
;
sync
.
sTargetID
=
i
;
sync
.
fOrigin
[
0
]
=
PEDSELF
->
GetPosition
(
)
->
fX
;
sync
.
fOrigin
[
1
]
=
PEDSELF
->
GetPosition
(
)
->
fY
;
sync
.
fOrigin
[
2
]
=
PEDSELF
->
GetPosition
(
)
->
fZ
;
sync
.
fTarget
[
0
]
=
pPlayer
->
pPlayerData
->
fOnFootPos
[
0
]
;
sync
.
fTarget
[
1
]
=
pPlayer
->
pPlayerData
->
fOnFootPos
[
1
]
;
sync
.
fTarget
[
2
]
=
pPlayer
->
pPlayerData
->
fOnFootPos
[
2
]
;
sync
.
fCenter
[
0
]
=
0.0
;
sync
.
fCenter
[
1
]
=
0.0
;
sync
.
fCenter
[
2
]
=
0.5
;
sync
.
byteWeaponID
=
w
;
sync
.
byteType
=
1
;
BitStream BulletSync
;
BulletSync
.
Write
(
(
BYTE
)
PacketEnumeration
::
ID_BULLET_SYNC
)
;
BulletSync
.
Write
(
(
PCHAR
)
&
sync
,
sizeof
(
stBulletData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
BulletSync
)
;
}


Вызов в Mainloop :

Код:





Код:
SF->getSAMP()->registerChatCommand("cshot", cmd_shot_player);


В результате хотелось бы получить реакцию на строку /cshot [IDPlayer] [IDAmmo]
 
Ответить с цитированием

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

Репутация: 183


По умолчанию

param это строка. Все параметры в ней. Их можно получить функцией sscanf

Код:





Код:
int a, b;
sscanf(param.c_str(), "%d %d", &a, &b);

SF->Log("a = %d, b = %d", a, b);
 
Ответить с цитированием

  #3  
Старый 24.01.2016, 14:44
FordeD
Познающий
Регистрация: 10.01.2016
Сообщений: 98
С нами: 5442178

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

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

param это строка. Все параметры в ней. Их можно получить функцией sscanf

Код:





Код:
int a, b;
sscanf(param.c_str(), "%d %d", &a, &b);

SF->Log("a = %d, b = %d", a, b);

Понял суть, благодарочка, думал Param является отсылкой лишь к 1 значению
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.