 |
|

13.12.2014, 19:08
|
|
Познающий
Регистрация: 09.07.2014
Сообщений: 42
С нами:
6233649
Репутация:
0
|
|
SF->getSAMP()->disconnect(100);
хорошо работает
|
|
|

13.12.2014, 19:59
|
|
Познающий
Регистрация: 09.07.2014
Сообщений: 42
С нами:
6233649
Репутация:
0
|
|
Что не так?
Код:
Код:
//NAMETAGS
for (int i = 0; i getSAMP()->getPlayers()->pRemotePlayer[i];
if (SF->getSAMP()->getPlayers()->IsPlayerDefined(i))
{
char buffer[24];
sprintf(buffer, "%s", pPlayer->szPlayerName);
SF->getSAMP()->getInfo()->pPools->pPool_Text3D->Create3DText(i, buffer,0.00,5000.0,true,i);
}
}
|
|
|

16.12.2014, 00:18
|
|
Новичок
Регистрация: 07.12.2014
Сообщений: 5
С нами:
6016410
Репутация:
51
|
|
Код:
Код:
void _cdecl cmd_show_info_player( char *param )
{
int i = atoi( param );
char buf[128];
stRemotePlayer *pPlayer = SF->getSAMP()->getPlayers()->pRemotePlayer[ i ];
sprintf_s( buf, "Nickname - %s, Ping - %d, Score - %d, isNPC - %d, AFKState - %d",
pPlayer->szPlayerName,
pPlayer->iPing,
pPlayer->iScore,
pPlayer->iIsNPC,
pPlayer->pPlayerData->iAFKState == 2 );
SF->getSAMP()->getChat()->AddChatMessage( -1, buf );
};
void CALLBACK mainloop(void)
{
static bool init = false;
if(!init)
{
if(!SF->getSAMP()->IsInitialized()) return;
SF->getSAMP()->registerChatCommand("ubot", cmd_show_info_player);
init = true;
}
}
При в ходе крашит игру. Если убрать регистрацию команды то все норм. Где ошибка?
|
|
|

16.12.2014, 11:44
|
|
Участник форума
Регистрация: 02.02.2014
Сообщений: 135
С нами:
6460176
Репутация:
0
|
|
Сообщение от AxweII
Код:
Код:
void _cdecl cmd_show_info_player( char *param )
{
int i = atoi( param );
char buf[128];
stRemotePlayer *pPlayer = SF->getSAMP()->getPlayers()->pRemotePlayer[ i ];
sprintf_s( buf, "Nickname - %s, Ping - %d, Score - %d, isNPC - %d, AFKState - %d",
pPlayer->szPlayerName,
pPlayer->iPing,
pPlayer->iScore,
pPlayer->iIsNPC,
pPlayer->pPlayerData->iAFKState == 2 );
SF->getSAMP()->getChat()->AddChatMessage( -1, buf );
};
void CALLBACK mainloop(void)
{
static bool init = false;
if(!init)
{
if(!SF->getSAMP()->IsInitialized()) return;
SF->getSAMP()->registerChatCommand("ubot", cmd_show_info_player);
init = true;
}
}
При в ходе крашит игру. Если убрать регистрацию команды то все норм. Где ошибка?
void cmd_show_info_player(char *param);
pPlayer->pPlayerData->iAFKState == 2
== 2 убери
|
|
|

16.12.2014, 13:06
|
|
Новичок
Регистрация: 07.12.2014
Сообщений: 5
С нами:
6016410
Репутация:
51
|
|
Даже если так сделать:
Код:
Код:
#include
#include
#include
#include "CSAMPFUNCS.h"
CSAMPFUNCS *SF = new CSAMPFUNCS();
void _cdecl cmd_show_info_player( char *param ){};
void CALLBACK mainloop(void)
{
static bool init = false;
if(!init)
{
if(!SF->getSAMP()->IsInitialized()) return;
SF->getSAMP()->registerChatCommand("ubot", cmd_show_info_player);
init = true;
}
}
BOOL APIENTRY DllMain( HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved )
{
switch ( dwReasonForCall )
{
case DLL_PROCESS_ATTACH:
SF->initPlugin( mainloop, hModule );
}
return true;
Все равно краш. Проблема именно в регистрации команды, если в место нее засунуть вывод сообщения в чат то все пашет.
|
|
|

16.12.2014, 13:14
|
|
Участник форума
Регистрация: 02.02.2014
Сообщений: 135
С нами:
6460176
Репутация:
0
|
|
Сообщение от AxweII
Даже если так сделать:
Код:
Код:
#include
#include
#include
#include "CSAMPFUNCS.h"
CSAMPFUNCS *SF = new CSAMPFUNCS();
void _cdecl cmd_show_info_player( char *param ){};
void CALLBACK mainloop(void)
{
static bool init = false;
if(!init)
{
if( !SF->getSAMP()->IsInitialized() )
return;
if(!SF->getSAMP()->IsInitialized()) return;
SF->getSAMP()->registerChatCommand("ubot", cmd_show_info_player);
init = true;
}
}
BOOL APIENTRY DllMain( HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved )
{
switch ( dwReasonForCall )
{
case DLL_PROCESS_ATTACH:
SF->initPlugin( mainloop, hModule );
}
return true;
Все равно краш. Проблема именно в регистрации команды, если в место нее засунуть вывод сообщения в чат то все пашет.
Код:
Код:
#include
#include
#include
#include "CSAMPFUNCS.h"
CSAMPFUNCS *SF = new CSAMPFUNCS();
void cmd_show_info_player( char *param )
{
int i = atoi( param );
char buf[128];
stRemotePlayer *pPlayer = SF->getSAMP()->getPlayers()->pRemotePlayer[ i ];
sprintf_s( buf, "Nickname - %s, Ping - %d, Score - %d, isNPC - %d, AFKState - %d",
pPlayer->szPlayerName,
pPlayer->iPing,
pPlayer->iScore,
pPlayer->iIsNPC,
pPlayer->pPlayerData->iAFKState );
SF->getSAMP()->getChat()->AddChatMessage( -1, buf );
}
void CALLBACK mainloop(void)
{
static bool init = false;
if(!init)
{
if(!SF->getSAMP()->IsInitialized()) return;
SF->getSAMP()->registerChatCommand("ubot",(CMDPROC) cmd_show_info_player);
init = true;
}
}
BOOL APIENTRY DllMain( HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved )
{
switch ( dwReasonForCall )
{
case DLL_PROCESS_ATTACH:
SF->initPlugin( mainloop, hModule );
}
return true;
}
вот абсалютли рабочий код
вот что сделал SF->getSAMP()->registerChatCommand("ubot", (CMDPROC) cmd_show_info_player);
|
|
|

16.12.2014, 19:51
|
|
Новичок
Регистрация: 07.12.2014
Сообщений: 5
С нами:
6016410
Репутация:
51
|
|
Однако все равно крашит. Что то тут не так.. Ведь без этой гребаной регистрации команды все работает!
|
|
|

17.12.2014, 20:42
|
|
Участник форума
Регистрация: 12.07.2013
Сообщений: 161
С нами:
6755146
Репутация:
78
|
|
Подскажите, пожалуйста, как отправить команду/текст в чат?
|
|
|

28.12.2014, 18:38
|
|
Познающий
Регистрация: 09.07.2014
Сообщений: 42
С нами:
6233649
Репутация:
0
|
|
Hello, what is wrong?
Код:
Код:
if (params->packetId == ScriptRPCEnumeration::RPC_ScrSetPlayerHealth)
{
short int sPlayerID;
float health;
char buf[256];
params->bitStream->Read(sPlayerID);
params->bitStream->Read(health);
params->bitStream->ResetReadPointer();
sprintf(buf, "%s (%d) health set to %.1f gesetzt", SF->getSAMP()->getPlayers()->GetPlayerName(sPlayerID), sPlayerID, health);
log(buf);
}
|
|
|

28.12.2014, 18:53
|
|
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами:
6915558
Репутация:
183
|
|
Maybe log(buf);?
Change to SF->log(buf); or... it's(log(buf)) your function?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|