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

  #31  
Старый 13.12.2014, 19:08
Uztor
Познающий
Регистрация: 09.07.2014
Сообщений: 42
С нами: 6233649

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

SF->getSAMP()->disconnect(100);

хорошо работает
 
Ответить с цитированием

  #32  
Старый 13.12.2014, 19:59
Uztor
Познающий
Регистрация: 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);
    }
}
 
Ответить с цитированием

  #33  
Старый 16.12.2014, 00:18
AxweII
Новичок
Регистрация: 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;
    }
}


При в ходе крашит игру. Если убрать регистрацию команды то все норм. Где ошибка?
 
Ответить с цитированием

  #34  
Старый 16.12.2014, 11:44
PoccoJI
Участник форума
Регистрация: 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 убери
 
Ответить с цитированием

  #35  
Старый 16.12.2014, 13:06
AxweII
Новичок
Регистрация: 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;


Все равно краш. Проблема именно в регистрации команды, если в место нее засунуть вывод сообщения в чат то все пашет.
 
Ответить с цитированием

  #36  
Старый 16.12.2014, 13:14
PoccoJI
Участник форума
Регистрация: 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);
 
Ответить с цитированием

  #37  
Старый 16.12.2014, 19:51
AxweII
Новичок
Регистрация: 07.12.2014
Сообщений: 5
С нами: 6016410

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

Однако все равно крашит. Что то тут не так.. Ведь без этой гребаной регистрации команды все работает!
 
Ответить с цитированием

  #38  
Старый 17.12.2014, 20:42
CarLCas
Участник форума
Регистрация: 12.07.2013
Сообщений: 161
С нами: 6755146

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

Подскажите, пожалуйста, как отправить команду/текст в чат?
 
Ответить с цитированием

  #39  
Старый 28.12.2014, 18:38
Uztor
Познающий
Регистрация: 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);
}
 
Ответить с цитированием

  #40  
Старый 28.12.2014, 18:53
itsLegend
Флудер
Регистрация: 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)
 


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




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

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