ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   RakNet SFAPI (https://forum.antichat.xyz/showthread.php?t=1406916)

[w0te] 03.11.2021 05:53

1:





Код:

#include "main.h"
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
void
CALLBACK
cmd_setclass
(
std
::
string param
)
{
BitStream bsClass
;
bsClass
.
Write
(
std
::
stoi
(
param
)
)
;
SF
->
getRakNet
(
)
->
SendRPC
(
RPC_RequestClass
,
&
bsClass
)
;
}
;
void
CALLBACK
mainloop
(
)
{
static
bool
init
{
}
;
if
(
!
init
)
{
if
(
GAME
!=
nullptr
&&
GAME
->
GetSystemState
(
)
==
eSystemState
::
GS_PLAYING_GAME
&&
SF
->
getSAMP
(
)
->
IsInitialized
(
)
)
{
SF
->
getSAMP
(
)
->
registerChatCommand
(
"setclass"
,
cmd_setclass
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"{FF0000}SFPlugin"
)
;
init
=
true
;
}
}
else
{
}
}
BOOL WINAPI
DllMain
(
HINSTANCE hinstDLL
,
DWORD fdwReason
,
LPVOID lpReserved
)
{
if
(
fdwReason
==
DLL_PROCESS_ATTACH
)
SF
->
initPlugin
(
mainloop
,
hinstDLL
)
;
return
TRUE
;
}



почему такой код не запрашивает сменить скин на сервере?

Или оно запрашивает но не меняет?

up

Может у знающий спросить? @CleanLegend @kin4stat

kin4stat 03.11.2021 17:56

Цитата:

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

И разумеется не написано какой это сервер, ведь все знают что #сампэтоаризона


[w0te] 03.11.2021 17:58

Нашёл решение:

RakNet RPC Пакеты не отправляются а эмулируются

в противном случае как у меня оно просто не будет работать.

Код ( кому надо )

2:





Код:

#include "main.h"
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
void
CALLBACK
testing2
(
std
::
string params
)
{
BitStream bsClass
;
// объявляем объект класса BitStream, в котором хранятся пакетные данные.
bsClass
.
Write
(
std
::
stoi
(
params
)
)
;
// записываем в него ID переданный в команду.
SF
->
getRakNet
(
)
->
emulateRecvRPC
(
RPC_RequestClass
,
&
bsClass
)
;
// эмулируем RPC
}
;
void
CALLBACK
mainloop
(
)
{
static
bool
init
{
}
;
if
(
!
init
)
{
if
(
GAME
!=
nullptr
&&
GAME
->
GetSystemState
(
)
==
eSystemState
::
GS_PLAYING_GAME
&&
SF
->
getSAMP
(
)
->
IsInitialized
(
)
)
{
SF
->
getSAMP
(
)
->
registerChatCommand
(
"skkk"
,
testing2
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"{FF0000}SFPlugin Testing Two - Loaded"
)
;
init
=
true
;
}
}
else
{
}
}
BOOL WINAPI
DllMain
(
HINSTANCE hinstDLL
,
DWORD fdwReason
,
LPVOID lpReserved
)
{
if
(
fdwReason
==
DLL_PROCESS_ATTACH
)
SF
->
initPlugin
(
mainloop
,
hinstDLL
)
;
return
TRUE
;
}



Время: 10:28