 |
|

28.02.2016, 19:24
|
|
Познающий
Регистрация: 29.01.2016
Сообщений: 35
С нами:
5414096
Репутация:
0
|
|
Сообщение от Dark_Knight
CVector fPos = { 12.0, 13.2 , 0.0 };
GAME->Get3DMarkers()->CreateMarker(square, MARKER3D_TUBE, &fPos, 40.0, 1.0, 3, 52, 227, 255);
памаги , вылетает игра после ввода /uron id
void CALLBACK cmd_uron(std::string str)
{
if (str.empty()) return;
int i = std::stoi(str);
CVector *vect1;
stBulletData sync; // обьявляем
memset(&sync, 0, sizeof(stBulletData)); // очищаем
sync.byteType = 1; // обычная пуля
sync.byteWeaponID = 24; // ид дигла
for (byte a = 0; a GetPosition()->fX; // заполняем
sync.fOrigin[1] = PEDSELF->GetPosition()->fY; // заполняем
sync.fOrigin[2] = PEDSELF->GetPosition()->fZ; // заполняем
vect1->fX = SF->getSAMP()->getPlayers()->pRemotePlayer ->pPlayerData->fOnFootPos[1];
vect1->fX = SF->getSAMP()->getPlayers()->pRemotePlayer->pPlayerData->fOnFootPos[2]; // Получаем позицию игрока по ид
vect1->fX = SF->getSAMP()->getPlayers()->pRemotePlayer->pPlayerData->fOnFootPos[3]; // Получаем позицию игрока по ид
sync.fTarget[0] = vect1->fX; //Указываем позицию игрока по ид
sync.fTarget[1] = vect1->fY; //Указываем позицию игрока по ид
sync.fTarget[2] = vect1->fZ; //Указываем позицию игрока по ид
sync.sTargetID = i; // ид игрока
BitStream bsBulletSync; // объявляем объект класса BitStream, в котором хранятся пакетные данные.
bsBulletSync.Write((BYTE)ID_BULLET_SYNC); // записываем ID пакета.
bsBulletSync.Write((PCHAR)&sync, sizeof(stBulletData));
SF->getRakNet()->SendPacket(&bsBulletSync);
}
|
|
|

28.02.2016, 19:57
|
|
Участник форума
Регистрация: 09.03.2015
Сообщений: 218
С нами:
5884065
Репутация:
0
|
|
PHP:
Код:
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS
#include
#include
#include
#include
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
FILE
*
f1
;
stFontInfo
*
pFont
;
char fs
,
fp
,
gna
[
25
]
;
const
short int count_arr
=
26
;
char nick_arr
[
count_arr
]
[
30
]
=
{
"Darksoul_Paradise"
,
"Exile_Paradise"
,
"Solid_Paradise"
,
"Zeref_Paradise"
,
"Raiden_Paradise"
,
"Keef_Grasso"
,
"Peskar Ivanovich"
,
"Sergo_Paradise"
,
"Sergio_Paradise"
,
"Sergio_Lini"
,
"Neko_Paradise"
,
"Picachy_Paradise"
,
"Funtik_Paradise"
,
"Apollon_Paradise"
,
"Tadjik_Yurarak"
,
"Tadjik_Yraloh"
,
"Kalipso_Saavedra"
,
"Yura_Lini"
,
"Kalipso_Saavedra"
,
"Snake_Paradise"
,
"Neal_Paradise"
,
"Rentaro_Paradise"
,
"Gleb_Richbeech"
,
"Blood_Hunter"
,
"Elik_Paradise"
,
"Sfgx_Paradise"
}
;
int online_arr
[
count_arr
]
;
int count_online
;
bool zaa
;
bool
CALLBACK
incomingRPC
(
stRakNetHookParams
*
params
)
{
if
(
params
-
>
packetId
==
ScriptRPCEnumeration
:
:
RPC_ScrServerJoin
)
{
short int sPlayerID
;
D3DCOLOR
D3DPlayerColor
;
byte isNPC
,
nameLen
;
char szPlayerName
[
26
]
;
params
-
>
bitStream
-
>
ResetReadPointer
(
)
;
params
-
>
bitStream
-
>
Read
(
sPlayerID
)
;
// ID игрока
params
-
>
bitStream
-
>
Read
(
D3DPlayerColor
)
;
// цвет ника
params
-
>
bitStream
-
>
Read
(
isNPC
)
;
// NPC это или нет.
params
-
>
bitStream
-
>
Read
(
nameLen
)
;
// длина ника
params
-
>
bitStream
-
>
Read
(
szPlayerName
,
nameLen
)
;
// ник
szPlayerName
[
nameLen
]
=
'\0'
;
//
params
-
>
bitStream
-
>
ResetReadPointer
(
)
;
for
(
int ind
=
0
;
ind
getSAMP
(
)
-
>
getChat
(
)
-
>
AddChatMessage
(
-
1
,
"{CD853F}[Paradise Family] | {00868B}В сети: %s"
,
szPlayerName
,
sPlayerID
)
;
online_arr
[
count_online
]
=
sPlayerID
;
count_online
++
;
}
}
}
return
true
;
}
bool
CALLBACK
Present
(
CONST
RECT
pSourceRect
,
CONST
RECT
pDestRect
,
HWND
hDestWindowOverride
,
CONST
RGNDATA
*
pDirtyRegion
)
{
if
(
SUCCEEDED
(
SF
-
>
getRender
(
)
-
>
BeginRender
(
)
)
&&
zaa
==
true
)
{
char buff
[
256
]
;
char rend_onl
[
1024
]
;
rend_onl
[
0
]
=
'\0'
;
if
(
count_online
==
0
)
{
sprintf
(
buff
,
"{CD853F}[Paradise Family]"
)
;
sprintf
(
rend_onl
,
"{CD853F}[Paradise Family] {a52a2a}Членов семьи нету online."
)
;
//pFont->Print(rend_onl, D3DCOLOR_ARGB(255, 255, 255, 0), 10, 260, false);
}
else
{
for
(
int ind
=
0
;
ind
getSAMP
(
)
-
>
getPlayers
(
)
-
>
GetPlayerName
(
online_arr
[
ind
]
)
,
online_arr
[
ind
]
)
;
rend_onl
[
strlen
(
rend_onl
)
]
=
'\0'
;
}
}
pFont
-
>
Print
(
rend_onl
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
0
)
,
10
,
260
,
false
)
;
pFont
-
>
Print
(
buff
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
0
)
,
10
,
220
,
false
)
;
SF
-
>
getRender
(
)
-
>
EndRender
(
)
;
}
return
true
;
}
;
void
CALLBACK
cmd_show_info_player
(
std
:
:
string param
)
{
zaa
^
=
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
-
>
getRender
(
)
-
>
registerD3DCallback
(
eDirect3DDeviceMethods
:
:
D3DMETHOD_PRESENT
,
Present
)
;
SF
-
>
getRakNet
(
)
-
>
registerRakNetCallback
(
RakNetScriptHookType
:
:
RAKHOOK_TYPE_INCOMING_RPC
,
incomingRPC
)
;
SF
-
>
getSAMP
(
)
-
>
registerChatCommand
(
"fam"
,
cmd_show_info_player
)
;
pFont
=
SF
-
>
getRender
(
)
-
>
CreateNewFont
(
"Arial"
,
10
,
FCR_BORDER
)
;
f1
=
fopen
(
"file.txt"
,
"r"
)
;
init
=
true
;
for
(
int fi
=
0
;
fi
initPlugin
(
mainloop
,
hModule
)
;
break
;
case
DLL_THREAD_ATTACH
:
case
DLL_THREAD_DETACH
:
case
DLL_PROCESS_DETACH
:
break
;
}
return
TRUE
;
}
Почему подчеркнуты красным strstr, ign_mm, fs и fp
|
|
|

28.02.2016, 20:08
|
|
Новичок
Регистрация: 08.12.2015
Сообщений: 6
С нами:
5489085
Репутация:
0
|
|
Сообщение от leonard228
Как получить ид оружия которое в руках?
C++:
Код:
eWeaponSlot slot
=
PEDSELF
->
GetCurrentWeaponSlot
(
)
;
if
(
slot
!=
eWeaponSlot
::
WEAPONSLOT_TYPE_UNARMED
)
{
CWeapon
*
weapon
=
PEDSELF
->
GetWeapon
(
slot
)
;
}
|
|
|

28.02.2016, 21:03
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от leonard228
vect1->fX = SF->getSAMP()->getPlayers()->pRemotePlayer->pPlayerData->fOnFootPos[1];
vect1->fX = SF->getSAMP()->getPlayers()->pRemotePlayer->pPlayerData->fOnFootPos[2]; // Получаем позицию игрока по ид
vect1->fX = SF->getSAMP()->getPlayers()->pRemotePlayer->pPlayerData->fOnFootPos[3]; // Получаем позицию игрока по ид
Ты объявил указатель, но не создал обьект.
|
|
|

28.02.2016, 21:09
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от McFree
C++:
Код:
void
CALLBACK
cmd_get_player_square
(
std
::
string param
)
{
char
buk
;
Обьяви размер
char
square
=
std
::
stoi
(
param
)
;
// Возвращает число, а не буквы. Так же, если в строке будут буквы вызовит краш.
Запихни весь код команды в трай кетч и и отлогируй че выдает
try
{
char buf[128];
//code
}
catch(std::extension &e) {//Точно название не помню. Найдешь сам.
SF->Log(e.what());
}
|
|
|

28.02.2016, 21:37
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от Tray228
PHP:
Код:
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS
#include
#include
#include
#include
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
FILE
*
f1
;
stFontInfo
*
pFont
;
char fs
,
fp
,
gna
[
25
]
;
const
short int count_arr
=
26
;
char nick_arr
[
count_arr
]
[
30
]
=
{
"Darksoul_Paradise"
,
"Exile_Paradise"
,
"Solid_Paradise"
,
"Zeref_Paradise"
,
"Raiden_Paradise"
,
"Keef_Grasso"
,
"Peskar Ivanovich"
,
"Sergo_Paradise"
,
"Sergio_Paradise"
,
"Sergio_Lini"
,
"Neko_Paradise"
,
"Picachy_Paradise"
,
"Funtik_Paradise"
,
"Apollon_Paradise"
,
"Tadjik_Yurarak"
,
"Tadjik_Yraloh"
,
"Kalipso_Saavedra"
,
"Yura_Lini"
,
"Kalipso_Saavedra"
,
"Snake_Paradise"
,
"Neal_Paradise"
,
"Rentaro_Paradise"
,
"Gleb_Richbeech"
,
"Blood_Hunter"
,
"Elik_Paradise"
,
"Sfgx_Paradise"
}
;
int online_arr
[
count_arr
]
;
int count_online
;
bool zaa
;
bool
CALLBACK
incomingRPC
(
stRakNetHookParams
*
params
)
{
if
(
params
-
>
packetId
==
ScriptRPCEnumeration
:
:
RPC_ScrServerJoin
)
{
short int sPlayerID
;
D3DCOLOR
D3DPlayerColor
;
byte isNPC
,
nameLen
;
char szPlayerName
[
26
]
;
params
-
>
bitStream
-
>
ResetReadPointer
(
)
;
params
-
>
bitStream
-
>
Read
(
sPlayerID
)
;
// ID игрока
params
-
>
bitStream
-
>
Read
(
D3DPlayerColor
)
;
// цвет ника
params
-
>
bitStream
-
>
Read
(
isNPC
)
;
// NPC это или нет.
params
-
>
bitStream
-
>
Read
(
nameLen
)
;
// длина ника
params
-
>
bitStream
-
>
Read
(
szPlayerName
,
nameLen
)
;
// ник
szPlayerName
[
nameLen
]
=
'\0'
;
//
params
-
>
bitStream
-
>
ResetReadPointer
(
)
;
for
(
int ind
=
0
;
ind
getSAMP
(
)
-
>
getChat
(
)
-
>
AddChatMessage
(
-
1
,
"{CD853F}[Paradise Family] | {00868B}В сети: %s"
,
szPlayerName
,
sPlayerID
)
;
online_arr
[
count_online
]
=
sPlayerID
;
count_online
++
;
}
}
}
return
true
;
}
bool
CALLBACK
Present
(
CONST
RECT
pSourceRect
,
CONST
RECT
pDestRect
,
HWND
hDestWindowOverride
,
CONST
RGNDATA
*
pDirtyRegion
)
{
if
(
SUCCEEDED
(
SF
-
>
getRender
(
)
-
>
BeginRender
(
)
)
&&
zaa
==
true
)
{
char buff
[
256
]
;
char rend_onl
[
1024
]
;
rend_onl
[
0
]
=
'\0'
;
if
(
count_online
==
0
)
{
sprintf
(
buff
,
"{CD853F}[Paradise Family]"
)
;
sprintf
(
rend_onl
,
"{CD853F}[Paradise Family] {a52a2a}Членов семьи нету online."
)
;
//pFont->Print(rend_onl, D3DCOLOR_ARGB(255, 255, 255, 0), 10, 260, false);
}
else
{
for
(
int ind
=
0
;
ind
getSAMP
(
)
-
>
getPlayers
(
)
-
>
GetPlayerName
(
online_arr
[
ind
]
)
,
online_arr
[
ind
]
)
;
rend_onl
[
strlen
(
rend_onl
)
]
=
'\0'
;
}
}
pFont
-
>
Print
(
rend_onl
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
0
)
,
10
,
260
,
false
)
;
pFont
-
>
Print
(
buff
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
0
)
,
10
,
220
,
false
)
;
SF
-
>
getRender
(
)
-
>
EndRender
(
)
;
}
return
true
;
}
;
void
CALLBACK
cmd_show_info_player
(
std
:
:
string param
)
{
zaa
^
=
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
-
>
getRender
(
)
-
>
registerD3DCallback
(
eDirect3DDeviceMethods
:
:
D3DMETHOD_PRESENT
,
Present
)
;
SF
-
>
getRakNet
(
)
-
>
registerRakNetCallback
(
RakNetScriptHookType
:
:
RAKHOOK_TYPE_INCOMING_RPC
,
incomingRPC
)
;
SF
-
>
getSAMP
(
)
-
>
registerChatCommand
(
"fam"
,
cmd_show_info_player
)
;
pFont
=
SF
-
>
getRender
(
)
-
>
CreateNewFont
(
"Arial"
,
10
,
FCR_BORDER
)
;
f1
=
fopen
(
"file.txt"
,
"r"
)
;
init
=
true
;
for
(
int fi
=
0
;
fi
initPlugin
(
mainloop
,
hModule
)
;
break
;
case
DLL_THREAD_ATTACH
:
case
DLL_THREAD_DETACH
:
case
DLL_PROCESS_DETACH
:
break
;
}
return
TRUE
;
}
Почему подчеркнуты красным strstr, ign_mm, fs и fp
Код:
Код:
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS
#include
#include
#include
#include
#include
#include ;
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS *SF = new SAMPFUNCS();
stFontInfo *pFont;
stPlayerPool *players;
//---------------------
bool render;
//---------------------
std::vector FamNicks = { "Darksoul_Paradise", "Exile_Paradise", "Solid_Paradise",
"Zeref_Paradise", "Raiden_Paradise", "Keef_Grasso", "Peskar Ivanovich", "Sergo_Paradise", "Sergio_Paradise", "Sergio_Lini",
"Neko_Paradise", "Picachy_Paradise", "Funtik_Paradise", "Apollon_Paradise", "Tadjik_Yurarak", "Tadjik_Yraloh", "Kalipso_Saavedra", "Yura_Lini",
"Kalipso_Saavedra", "Snake_Paradise", "Neal_Paradise", "Rentaro_Paradise", "Gleb_Richbeech", "Blood_Hunter", "Elik_Paradise", "Sfgx_Paradise" };
float fHeight;
bool FindNickFamily(std::string nick){
for (auto &iter : FamNicks)
{
if (iter == nick)
return true;
}
return false;
}
bool CALLBACK Present(CONST RECT pSourceRect, CONST RECT pDestRect, HWND hDestWindowOverride,
CONST RGNDATA *pDirtyRegion)
{
if (render && SUCCEEDED(SF->getRender()->BeginRender()))
{
int count = 0;
for (int i = 0; i IsPlayerDefined(i, false)){
const char *name = players->GetPlayerName(i);
if (FindNickFamily(name)){
count++;
if (count == 0)
{
pFont->Print("{CD853F}[Paradise Family]\n{a52a2a}Членов семьи нету online.", -1, 10, 260, false);
}
else
{
pFont->Print("{CD853F}[Paradise Family]", -1, 10, 260, false);
pFont->Print(name, -1, 10, 260 + fHeight + fHeight*i, false, false);
}
}
}
}
SF->getRender()->EndRender();
}
return true;
};
void CALLBACK cmd_show_info_player(std::string param){
render != render;
}
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->getRender()->registerD3DCallback(eDirect3DDeviceMethods::D3DMETHOD_PRESENT, Present);
SF->getSAMP()->registerChatCommand("fam", cmd_show_info_player);
pFont = SF->getRender()->CreateNewFont("Arial", 10, FCR_BORDER);
players = SF->getSAMP()->getPlayers();
fHeight = pFont->DrawHeight();
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;
}
|
|
|

28.02.2016, 22:15
|
|
Познающий
Регистрация: 29.01.2016
Сообщений: 35
С нами:
5414096
Репутация:
0
|
|
Сообщение от Dark_Knight
Ты объявил указатель, но не создал обьект.
как создать обьект
|
|
|

28.02.2016, 22:29
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
new CVector()
|
|
|

28.02.2016, 23:49
|
|
Познающий
Регистрация: 29.01.2016
Сообщений: 35
С нами:
5414096
Репутация:
0
|
|
Сообщение от Dark_Knight
new CVector()
о спасибо бальшое теперь пашет)
|
|
|

29.02.2016, 00:02
|
|
Познающий
Регистрация: 29.01.2016
Сообщений: 35
С нами:
5414096
Репутация:
0
|
|
как проверить игрок в зоне стрима или не?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|