Raised This Month: $ Target: $400
 0% 

Solved fprintf not working


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
edon1337
Penguin Enthusiast
Join Date: Jun 2016
Location: Macedonia
Old 07-19-2019 , 17:46   fprintf not working
Reply With Quote #1

I guess I'm missing something obvious, but it's been 3 hours and I still can't figure it out, everything works as it should, apart from fprintf, it just, doesn't print anything to the file.

* I logged both files to see if they are being opened, they were
* I logged each step and it was as it should be
* log_to_file gets called but fprintf doesn't print the message to the file
* I replaced the values inside both fprintfs just for the sake of testing with words such as "Hey" "hello" but none got into the main file.

PHP Code:
UpdateDataiIdszTitle[ ], szText[ ], szSender[ ], szReader[ ], szTo[ ], iTimeStampiReadTimebool:bIndividualbool:bReadbool:bRemoved )
{
    new const 
szTempFileName[ ] = "tempfile.ini";

    new 
szFormat128 ], szData512 ], szId];
    
    new 
szTempFilePath256 ]; 
    
formatexszTempFilePathcharsmaxszTempFilePath ), "%s/%s"g_szConfigsDirszTempFileName );
    
    
formatexszFormatcharsmaxszFormat ), "%s/%s"g_szConfigsDir"ContactSystem_Messages.ini" );
    new 
iFilePointer fopenszFormat"rt" );
    
    if( 
iFilePointer )
    {
        new 
iInputFilePointer fopenszTempFilePath"wt" );
                
        if( 
iInputFilePointer )
        {
            while( 
fgetsiFilePointerszDatacharsmaxszData ) ) )
            {
                
trimszData );
                
                
parseszDataszIdcharsmaxszId ) );
                
                if( 
str_to_numszId ) != iId )
                {
                    
fprintfiInputFilePointer"%s^n"szData );
                    
                    
log_to_file"doni.txt""#1 Called" );
                }
                
                else
                {
                    
fprintfiInputFilePointer"^"%d^" ^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%d^" ^"%d^" ^"%d^" ^"%d^" ^"%d^""iIdszTitleszTextszSenderszReaderszToiTimeStampiReadTimebIndividualbReadbRemoved ); // edit this one
                    
log_to_file"doni.txt""#2 Called" );
                }
            }
            
fcloseiInputFilePointer );
            
fcloseiFilePointer );
            
            
delete_fileszFormat );
            
rename_fileszTempFilePathszFormat);
        }
    }
    
LoadMessages( );

Full:
PHP Code:
#include < amxmodx >
#include < amxmisc >
#include < unixtime >
#include < hamsandwich >
#include < cromchat >

#define VERSION "2.0"

#define FLAG_VIEW ADMIN_RCON

enum
{
    
MENU_ITEM_START_MESSAGE_PUBLIC 0,
    
MENU_ITEM_START_MESSAGE_PRIVATE
};

enum
{
    
ITEM_VIEW 0,
    
ITEM_MARK_READ,
    
ITEM_DELETE
};

enum
{
    
ITEM_UNARCHIVE 1,
    
ITEM_DELETE_PERMANENT
};

enum
{
    
PUBLIC_MENU 0,
    
PRIVATE_MENU,
    
ARCHIVE_MENU
};

enum _:MessageStruct
{
    
Message_Id,
    
Message_Text256 ],
    
Message_Title64 ],
    
Message_Sender32 ],
    
Message_Reader32 ],
    
Message_To32 ],
    
Message_TimeStamp,
    
Message_ReadTime,
bool:Message_Individual,
bool:Message_Read,
bool:Message_Removed
};

new const 
g_szCreateMessageCmd[ ][ ] =
{
    
"say /contact",
    
"say_team /contact",
    
"say /ticket",
    
"say_team /ticket"
};

new const 
g_szViewMessageCmd[ ][ ] =
{
    
"say /view",
    
"say_team /view",
    
"say /tickets",
    
"say_team /tickets"
};

new const 
g_szViewArchivedMsg[ ][ ] =
{
    
"say /archive",
    
"say_team /archive",
    
"say /archived",
    
"say_team /archived"
};

new const 
g_szSysPrefix[ ] = "[Contact System]";

new const 
g_szFileName[ ] = "StaffNames.ini";

new Array:
g_aMessages;
new Array:
g_aStaffInfo;

new 
g_iMessageCount;

new 
bool:g_bFirstSpawn33 ];

new 
g_szTitle33 ][ 64 ];
new 
g_szMsgTo33 ][ 32 ];

new 
g_szConfigsDir128 ];

public 
plugin_precache( )
{
    
g_aStaffInfo ArrayCreate32 );
    
g_aMessages ArrayCreateMessageStruct );

    
get_configsdirg_szConfigsDircharsmaxg_szConfigsDir ) );
    
    
ReadNames( );
    
LoadMessages( );
}

public 
plugin_init( )
{
    
register_plugin"Contact/Ticket System"VERSION"DoNii" );
    
    new 
i;
    for( 
0sizeof g_szCreateMessageCmdi++ )
    {
        
register_clcmdg_szCreateMessageCmd], "@OpenContactMenu" );
    }
    
    for( 
0sizeof g_szViewMessageCmdi++ )
    {
        
register_clcmdg_szViewMessageCmd], "@ViewMessages" );
    }
    
    for( 
0sizeof g_szViewArchivedMsgi++ )
    {
        
register_clcmdg_szViewArchivedMsg], "@ViewArchivedMessages" );
    }
    
    
register_clcmd"titlemessage""@TitleEnter" );
    
register_clcmd"messagestart""@MessageStart" );
    
    
RegisterHamHam_Spawn"player""@Ham_Spawn");
    
    
register_clcmd"say /debug""@Debug" );
}

@
Debugid )
{
    
client_printidprint_chat"ArraySize: %d"ArraySizeg_aMessages ) );
    
    new 
eDataMessageStruct ];
    for( new 
iArraySizeg_aMessages ); i++ )
    {
        
ArrayGetArrayg_aMessagesieData );
        
        
client_printidprint_chat"ID: %d | Title: %s | Text: %s"eDataMessage_Id ], eDataMessage_Title ], eDataMessage_Text ] );
    }
}

public 
client_connectid )
{
    
g_szTitleid ][ ] = EOS;
    
g_szMsgToid ][ ] = EOS;
    
g_bFirstSpawnid ] = false;
}

@
Ham_Spawnid )
{
    if( ! 
is_user_aliveid ) || g_bFirstSpawnid ] || ~ get_user_flagsid ) & FLAG_VIEW )
    {
        return 
HAM_IGNORED;
    }

    
g_bFirstSpawnid ] = true;
    
    new 
iMessageCount ArraySizeg_aMessages );
    
    if( ! 
iMessageCount )
    {
        return 
HAM_IGNORED;
    }
    
    new 
eDataMessageStruct ], szMsgId], szName32 ], iNewMsgCountiNewMsgIndividual;
    
get_user_nameidszNamecharsmaxszName ) )
    
    for( new 
iArraySizeg_aMessages ); i++ )
    {
        
num_to_striszMsgIdcharsmaxszMsgId ) );
        
ArrayGetArrayg_aMessagesieData );
        
        if( 
eDataMessage_Removed ] || eDataMessage_Read ] )
        {
            continue;
        }
        
        if( 
eDataMessage_Individual ] )
        {
            if( 
equalszNameeDataMessage_To ] ) )
            {
                
iNewMsgIndividual++;
            }
            continue;
        }
        
        else
        {
            
iNewMsgCount++;
        }
    }

    if( ! 
iNewMsgCount )
    {
        
CC_SendMessageid"&x04%s &x01No new messages in &x04inbox"g_szSysPrefix );
        return 
HAM_IGNORED;
    }
    
    else
    {
        new 
szTitle128 ];
        
formatexszTitlecharsmaxszTitle ), "Notifications:^n%d Message%s waiting to be seen"iNewMsgCountiNewMsgCount != "s" "" );

        new 
iMenu menu_createszTitle"OnNotifications_Handler" );
        
menu_additemiMenu"Open Message Menu" );
        
menu_displayidiMenu);
    }
    return 
HAM_IGNORED;
}

public 
OnNotifications_HandleridiMenuiItem )
{
    if( 
iItem == ITEM_VIEW )
    {
        @
ViewMessagesid );
    }
    
menu_destroyiMenu );
    return 
PLUGIN_HANDLED;
}

public @
ViewArchivedMessagesid )
{
    if( ~ 
get_user_flagsid ) & FLAG_VIEW )
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
eDataMessageStruct ], szMsgId], iArchivedMsgszBuffer64 ];
    
    new 
iMenu menu_create"Archived Messages""OnMenuArchived_Handler" );
    
    for( new 
iArraySizeg_aMessages ); i++ )
    {
        
num_to_streDataMessage_Id ], szMsgIdcharsmaxszMsgId ) );
        
ArrayGetArrayg_aMessagesieData );
        
        if( 
eDataMessage_Removed ] )
        {
            
formatexszBuffercharsmaxszBuffer ), "\dSender: %s | Title: %s"eDataMessage_Sender ], eDataMessage_Title ] );
            
menu_additemiMenuszBufferszMsgId );
            
            
iArchivedMsg++
        }
    }
    
    if( ! 
iArchivedMsg )
    {
        
CC_SendMessageid"&x04%s &x01No Archived messages to display"g_szSysPrefix );
        return 
PLUGIN_HANDLED;
    }
    
    else
    {
        
menu_displayidiMenu);
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
OnMenuArchived_HandleridiMenuiItem )
{
    new 
iAccessszMsgId], iCallback;
    
menu_item_getinfoiMenuiItemiAccessszMsgIdcharsmaxszMsgId ), __iCallback );
    
menu_destroyiMenu );
    
    new 
iMenu2 menu_create"Archived Message Options""OnMenuArchivedOptions_Handler" );
    
    
menu_additemiMenu2"View Archived Message"szMsgId );
    
menu_additemiMenu2"UnArchive Message"szMsgId );
    
menu_additemiMenu2"Delete Message"szMsgId );
    
    
menu_displayidiMenu2);
}    

public 
OnMenuArchivedOptions_HandleridiMenuiItem )
{
    if( 
iItem == MENU_EXIT )
    {
        
menu_destroyiMenu );
        return 
PLUGIN_HANDLED;
    }

    new 
iAccessszMsgId], iCallbackeDataMessageStruct ];
    
menu_item_getinfoiMenuiItemiAccessszMsgIdcharsmaxszMsgId ), __iCallback );
    
    switch( 
iItem )
    {
    case 
ITEM_VIEW:
        {
            for( new 
iArraySizeg_aMessages ); i++ )
            {
                
ArrayGetArrayg_aMessagesieData )
                
                if( 
eDataMessage_Id ] == str_to_numszMsgId ) )
                {
                    new 
bool:bMessageRead eDataMessage_Read ];
                    
                    new 
szFormatMessage256 ], iYeariMonthiDayiHouriMinuteiSecond;
                    
                    
UnixToTimeeDataMessage_TimeStamp ], iYeariMonthiDayiHouriMinuteiSecondUT_TIMEZONE_SERVER );

                    if( 
bMessageRead )
                    {
                        new 
iYear2iMonth2iDay2iHour2iMinute2iSecond2;
                        
UnixToTimeeDataMessage_ReadTime ], iYear2iMonth2iDay2iHour2iMinute2iSecond2UT_TIMEZONE_SERVER );
                        
                        
formatexszFormatMessagecharsmaxszFormatMessage ), "Message: %s<br><br><br><br>Time Created: %02d/%02d/%d %02d:%02d:%02d<br>Read: Yes<br>Read By: %s<br>Time Read: %02d/%02d/%d %02d:%02d:%02d"eDataMessage_Text ], iMonthiDayiYeariHouriMinuteiSecondeDataMessage_Reader ], iMonth2iDay2iYear2iHour2iMinute2iSecond2 );
                    }
                    
                    else
                    {
                        
formatexszFormatMessagecharsmaxszFormatMessage ), "Message: %s<br><br><br><br>Time Created: %02d/%02d/%d %02d:%02d:%02d<br>Read: No"eDataMessage_Text ], iMonthiDayiYeariHouriMinuteiSecond );
                    }
                    
show_motdidszFormatMessage"Message" );
                }
            }
        }
        
    case 
ITEM_UNARCHIVE:
        {
            for( new 
iArraySizeg_aMessages ); i++ )
            {
                
ArrayGetArrayg_aMessagesieData )
                
                if( 
eDataMessage_Id ] == str_to_numszMsgId ) )
                {
                    
eDataMessage_Removed ] = false;
                    
                    
UpdateDataeDataMessage_Id ], eDataMessage_Title ], eDataMessage_Text ], eDataMessage_Sender ], eDataMessage_Reader ], eDataMessage_To ], 
                    
eDataMessage_TimeStamp ], eDataMessage_ReadTime ], eDataMessage_Individual ], eDataMessage_Read ], eDataMessage_Removed ] );
                    
                    
CC_SendMessageid"&x04%s &x01Message &x04#&x03%d &x01has been &x04un-archived"g_szSysPrefixstr_to_numszMsgId ) );
                }
            }
        }
        
    case 
ITEM_DELETE_PERMANENT:
        {
            for( new 
iArraySizeg_aMessages ); i++ )
            {
                
ArrayGetArrayg_aMessagesieData )
                
                if( 
eDataMessage_Id ] == str_to_numszMsgId ) )
                {
                    
UpdateDataeDataMessage_Id ], eDataMessage_Title ], eDataMessage_Text ], eDataMessage_Sender ], eDataMessage_Reader ], eDataMessage_To ], 
                    
eDataMessage_TimeStamp ], eDataMessage_ReadTime ], eDataMessage_Individual ], eDataMessage_Read ], eDataMessage_Removed ] );
                    
                    
CC_SendMessageid"&x04%s &x01Message &x04#&x03%d &x01has been &x04deleted"g_szSysPrefixstr_to_numszMsgId ) );
                }
            }
        }
    }
    
menu_destroyiMenu );
    return 
PLUGIN_HANDLED;
}

@
OpenContactMenuid )
{
    new 
iMenu menu_create"Contact the owner""@OpenContactMenu_Handler" );

    
menu_additemiMenu"Start a New Message [Public]" );
    
menu_additemiMenu"Start a New Message [Private]" );
    
menu_displayidiMenu);
}

@
OpenContactMenu_HandleridiMenuiItem )
{
    if( 
iItem == MENU_EXIT )
    {
        
menu_destroyiMenu );
        return 
PLUGIN_HANDLED;
    }
    
    switch( 
iItem )
    {
    case 
MENU_ITEM_START_MESSAGE_PUBLIC:
        {
            
client_cmdid"messagemode titlemessage" );
        }
        
    case 
MENU_ITEM_START_MESSAGE_PRIVATE:
        {
            new 
iMenu2 menu_create"Select Staff Member""OnMenuSelectStaff_Handler" );
            
            new 
szName32 ];
            
            for( new 
iArraySizeg_aStaffInfo ); i++ )
            {
                
ArrayGetStringg_aStaffInfoiszNamecharsmaxszName ) );
                
menu_additemiMenu2szNameszName );
            }
            
            
menu_displayidiMenu2);
        }
    }
    
menu_destroyiMenu );
    return 
PLUGIN_HANDLED;
}

public 
OnMenuSelectStaff_HandleridiMenuiItem )
{
    new 
iAccessszName32 ], iCallback;
    
menu_item_getinfoiMenuiItemiAccessszNamecharsmaxszName ), __iCallback );
    
    
copyg_szMsgToid ], charsmaxg_szMsgTo ), szName );
    
    
client_cmdid"messagemode titlemessage" );
}    

@
TitleEnterid )
{        
    
read_argsg_szTitleid ], charsmaxg_szTitle ) );
    
client_cmdid"messagemode messagestart" );
}

@
MessageStartid )
{
    new 
eDataMessageStruct ];

    new 
iMsgCount ArraySizeg_aMessages );
    
eDataMessage_Id ] = iMsgCount 1;
    
    if( 
g_szMsgToid ][ ] )
    {
        
trimg_szMsgToid ] );
        
        
eDataMessage_Individual ] = true;
        
eDataMessage_To ] = g_szMsgToid ];
    }
    
    
read_argseDataMessage_Text ], charsmaxeDataMessage_Text ] ) );
    
    
remove_quoteseDataMessage_Text ] );
    
    
get_user_nameideDataMessage_Sender ], charsmaxeDataMessage_Sender ] ) );
    
eDataMessage_Read ] = false;
    
eDataMessage_Removed ] = false;
    
eDataMessage_TimeStamp ] = get_systime( );
    
    
remove_quotesg_szTitleid ] );
    
eDataMessage_Title ] = g_szTitleid ];
    
    
ArrayPushArrayg_aMessageseData );
    
    
AddNewMessageeDataMessage_Id ], eDataMessage_Title ], eDataMessage_Text ], eDataMessage_Sender ], eDataMessage_Reader ], 
    
eDataMessage_To ], eDataMessage_TimeStamp ], eDataMessage_ReadTime ],
    
eDataMessage_Individual ], eDataMessage_Read ], eDataMessage_Removed ] );
    
    
CheckPlayers( );
    
    
g_szTitleid ][ ] = EOS;
    
g_szMsgToid ][ ] = EOS;
}

@
ViewMessagesid )
{
    if( ~ 
get_user_flagsid ) & FLAG_VIEW )
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
iMenu menu_create"Inbox Menu""OnChooseWhichMenu_Handler" );
    
    
menu_additemiMenu"Public Inbox" );
    
menu_additemiMenu"Your Private Inbox" );
    
menu_additemiMenu"Archive" );
    
    
menu_displayidiMenu);
    
    return 
PLUGIN_HANDLED;
}

public 
OnChooseWhichMenu_HandleridiMenuiItem )
{
    if( 
iItem == MENU_EXIT )
    {
        
menu_destroyiMenu );
        return 
PLUGIN_HANDLED;
    }
    
    new 
iMessageCount ArraySizeg_aMessages );
    
    if( ! 
iMessageCount )
    {
        
CC_SendMessageid"&x04%s &x01No messages to display"g_szSysPrefix );
        return 
PLUGIN_HANDLED;
    }

    new 
iMenu2 menu_create"Messages:""@ViewMessages_Handler" );
    
    new 
eDataMessageStruct ], szMsgId], szMsgTitle64 ], iMessagesszName32 ];
    
get_user_nameidszNamecharsmaxszName ) );
    
    switch( 
iItem )
    {
    case 
PUBLIC_MENU:
        {    
            for( new 
iArraySizeg_aMessages ); i++ )
            {
                
ArrayGetArrayg_aMessagesieData );
                
                if( ! 
eDataMessage_Removed ] && ! eDataMessage_Individual ] )
                {
                    if( ! 
eDataMessage_Title ][ ] || ! eDataMessage_Text ][ ] )
                    {
                        continue;
                    }
                    
                    
formatexszMsgTitlecharsmaxszMsgTitle ), "Sender: %s | Title: %s"eDataMessage_Sender ], eDataMessage_Title ] );
                    
                    
num_to_streDataMessage_Id ], szMsgIdcharsmaxszMsgId ) );
                    
menu_additemiMenu2szMsgTitleszMsgId );
                    
                    
iMessages++;
                }
            }
            
            if( ! 
iMessages )
            {
                
CC_SendMessageid"&x04%s &x01No messages in inbox"g_szSysPrefix );
                return 
PLUGIN_HANDLED;
            }
            
            
menu_displayidiMenu2);
        }
        
    case 
PRIVATE_MENU:
        {            
            for( new 
iArraySizeg_aMessages ); i++ )
            {
                
ArrayGetArrayg_aMessagesieData );
                
                if( ! 
eDataMessage_Removed ] && eDataMessage_Individual ] && equalszNameeDataMessage_To ] ) )
                {        
                    
formatexszMsgTitlecharsmaxszMsgTitle ), "Sender: %s | Title: %s"eDataMessage_Sender ], eDataMessage_Title ] );
                    
                    
num_to_streDataMessage_Id ], szMsgIdcharsmaxszMsgId ) );
                    
menu_additemiMenu2szMsgTitleszMsgId );
                    
                    
iMessages++;
                }
            }
            
            if( ! 
iMessages )
            {
                
CC_SendMessageid"&x04%s &x01No messages in inbox"g_szSysPrefix );
                return 
PLUGIN_HANDLED;
            }
            
            
menu_displayidiMenu2);
        }
        
    case 
ARCHIVE_MENU:
        {
            @
ViewArchivedMessagesid )
        }
    }
    
menu_destroyiMenu );
    return 
PLUGIN_HANDLED;
}

@
ViewMessages_HandleridiMenuiItem )
{
    if( 
iItem == MENU_EXIT )
    {        
        
menu_destroyiMenu );
        return 
PLUGIN_HANDLED;
    }

    new 
iAccessszMsgId], iCallback;
    
menu_item_getinfoiMenuiItemiAccessszMsgIdcharsmaxszMsgId ), __iCallback );
    
menu_destroyiMenu );
    
    new 
iMenuView menu_create"Message Options""OnMenuViewHandler" );
    
    
menu_additemiMenuView"View Message"szMsgId );
    
menu_additemiMenuView"Mark as Read"szMsgId );
    
menu_additemiMenuView"Remove/Archive Message"szMsgId );
    
    
menu_displayidiMenu);
    
    return 
PLUGIN_HANDLED;
}

public 
OnMenuViewHandleridiMenuiItem )
{
    if( 
iItem == MENU_EXIT )
    {
        
menu_destroyiMenu );
        return 
PLUGIN_HANDLED;
    }

    new 
iAccessszMsgId], iCallbackeDataMessageStruct ];
    
menu_item_getinfoiMenuiItemiAccessszMsgIdcharsmaxszMsgId ), __iCallback );
    
    switch( 
iItem )
    {
    case 
ITEM_VIEW:
        {
            for( new 
iArraySizeg_aMessages ); i++ )
            {
                
ArrayGetArrayg_aMessagesieData );
                
                if( 
eDataMessage_Id ] == str_to_numszMsgId ) )
                {
                    new 
bool:bMessageRead eDataMessage_Read ];
                    
                    new 
szFormatMessage256 ], iYeariMonthiDayiHouriMinuteiSecond;
                    
                    
UnixToTimeeDataMessage_TimeStamp ], iYeariMonthiDayiHouriMinuteiSecondUT_TIMEZONE_SERVER );

                    if( 
bMessageRead )
                    {
                        new 
iYear2iMonth2iDay2iHour2iMinute2iSecond2;
                        
UnixToTimeeDataMessage_ReadTime ], iYear2iMonth2iDay2iHour2iMinute2iSecond2UT_TIMEZONE_SERVER );
                        
                        
formatexszFormatMessagecharsmaxszFormatMessage ), "Message: %s<br><br><br><br>Time Created: %02d/%02d/%d %02d:%02d:%02d<br>Read: Yes<br>Read By: %s<br>Time Read: %02d/%02d/%d %02d:%02d:%02d"eDataMessage_Text ], iMonthiDayiYeariHouriMinuteiSecondeDataMessage_Reader ], iMonth2iDay2iYear2iHour2iMinute2iSecond2 );
                    }
                    
                    else
                    {
                        
formatexszFormatMessagecharsmaxszFormatMessage ), "Message: %s<br><br><br><br>Time Created: %02d/%02d/%d %02d:%02d:%02d<br>Read: No"eDataMessage_Text ], iMonthiDayiYeariHouriMinuteiSecond );
                        
                        
eDataMessage_Read ] = true;
                        
eDataMessage_ReadTime ] = get_systime( );
                        
get_user_nameideDataMessage_Reader ], charsmaxeDataMessage_Reader ] ) );
                        
                        
UpdateDataeDataMessage_Id ], eDataMessage_Title ], eDataMessage_Text ], eDataMessage_Sender ], eDataMessage_Reader ], eDataMessage_To ], 
                        
eDataMessage_TimeStamp ], eDataMessage_ReadTime ], eDataMessage_Individual ], eDataMessage_Read ], eDataMessage_Removed ] );
                        
                        
log_to_file"hehe.txt""message read" );
                    }
                    
show_motdidszFormatMessage"Message" );
                }
            }
        }

    case 
ITEM_MARK_READ:
        {
            for( new 
iArraySizeg_aMessages ); i++ )
            {
                
ArrayGetArrayg_aMessagesieData );
                
                if( 
eDataMessage_Id ] == str_to_numszMsgId ) )
                {
                    if( 
eDataMessage_Read ] )
                    {
                        
CC_SendMessageid"&x04%s &x01Message has already been marked as &x04seen"g_szSysPrefix );
                        
                        
menu_destroyiMenu );
                        return 
PLUGIN_HANDLED;
                    }
                    
                    
eDataMessage_Read ] = true;
                    
eDataMessage_ReadTime ] = get_systime( );
                    
get_user_nameideDataMessage_Reader ], charsmaxeDataMessage_Reader ] ) );
                    
                    
UpdateDataeDataMessage_Id ], eDataMessage_Title ], eDataMessage_Text ], eDataMessage_Sender ], eDataMessage_Reader ], eDataMessage_To ], 
                    
eDataMessage_TimeStamp ], eDataMessage_ReadTime ], eDataMessage_Individual ], eDataMessage_Read ], eDataMessage_Removed ] );
                    
                    
CC_SendMessageid"&x04%s Message &x04#&x03%d &x01has been marked as &x04read"g_szSysPrefixstr_to_numszMsgId ) );
                }
            }
        }
        
    case 
ITEM_DELETE:
        {
            for( new 
iArraySizeg_aMessages ); i++ )
            {
                
ArrayGetArrayg_aMessagesieData );
                
                if( 
eDataMessage_Id ] == str_to_numszMsgId ) )
                {
                    
eDataMessage_Removed ] = true;
                    
                    
UpdateDataeDataMessage_Id ], eDataMessage_Title ], eDataMessage_Text ], eDataMessage_Sender ], eDataMessage_Reader ], eDataMessage_To ], 
                    
eDataMessage_TimeStamp ], eDataMessage_ReadTime ], eDataMessage_Individual ], eDataMessage_Read ], eDataMessage_Removed ] );
                    
                    
CC_SendMessageid"&x04%s Message &x04#&x03%d &x01has been &x04removed/archived"g_szSysPrefixstr_to_numszMsgId ) );
                }
            }
        }
    }
    
menu_destroyiMenu );
    return 
PLUGIN_HANDLED;
}

CheckPlayers( )
{
    new 
szPlayers32 ], iNumiTempId;
    
get_playersszPlayersiNum"ch" );

    for( new 
iiNumi++ )
    {
        
iTempId szPlayers];

        if( 
get_user_flagsiTempId ) & FLAG_VIEW )
        {
            
CC_SendMessageiTempId"&x04%s &x01New Message arrived!"g_szSysPrefix );
        }
    }
}

ReadNames( )
{
    new 
szFilename256 ], szData128 ];
    
get_configsdirg_szConfigsDircharsmaxg_szConfigsDir ) );
    
formatexszFilenamecharsmaxszFilename ), "%s/%s"g_szConfigsDirg_szFileName );
    
    new 
iFile fopenszFilename"rt" );
    
    if( 
iFile )
    {        
        while( 
fgetsiFileszDatacharsmaxszData ) ) )
        {
            
trimszData );
            
remove_quotesszData );
            
            switch( 
szData] )
            {
            case 
EOS'#'';''/':
                {
                    continue;
                }
                
            default:
                {                                        
                    
ArrayPushStringg_aStaffInfoszData );
                }
            }
        }
        
fcloseiFile );
    }
    return 
PLUGIN_CONTINUE;
}

LoadMessages( )
{
    
ArrayClearg_aMessages );

    new 
szFile128 ], szData256 ];
    
    
formatexszFilecharsmaxszFile ), "%s/%s"g_szConfigsDir"ContactSystem_Messages.ini" );
    
    new 
iFile fopenszFile"rt" );
    
    if( 
iFile )
    {
        while( 
fgetsiFileszDatacharsmaxszData ) ) )
        {    
            
trimszData );
            
            switch( 
szData] )
            {
            case 
EOS'#'';''/'
                {
                    continue;
                }
                
            default:
                {
                    new 
szId], szTitle64 ], szBody256 ], szSender32 ], szReader32 ], szTo32 ], szTimeStamp20 ], szReadTime20 ], szIndividual], szRead], szRemoved];
                    
                    
parseszDataszIdcharsmaxszId ), szTitlecharsmaxszTitle ), szBodycharsmaxszBody ), szSendercharsmaxszSender ), szReadercharsmaxszReader ), 
                    
szTocharsmaxszTo ), szTimeStampcharsmaxszTimeStamp ), szReadTimecharsmaxszReadTime ), szIndividualcharsmaxszIndividual ), szReadcharsmaxszRead ), 
                    
szRemovedcharsmaxszRemoved ) );
                    
                    new 
eDataMessageStruct ];
                    
                    
eDataMessage_Id ] = str_to_numszId );
                    
                    
copyeDataMessage_Title ], charsmaxeDataMessage_Title ] ), szTitle );
                    
copyeDataMessage_Text ], charsmaxeDataMessage_Text ] ), szBody );
                    
copyeDataMessage_Sender ], charsmaxeDataMessage_Sender ] ), szSender );
                    
copyeDataMessage_Reader ], charsmaxeDataMessage_Reader ] ), szReader );
                    
copyeDataMessage_To ], charsmaxeDataMessage_To ] ), szTo );
                    
                    
eDataMessage_TimeStamp ] = str_to_numszTimeStamp );
                    
eDataMessage_ReadTime ] = str_to_numszReadTime );
                    
                    
eDataMessage_Individual ] = bool:str_to_numszIndividual );
                    
eDataMessage_Read ] = bool:str_to_numszRead );
                    
eDataMessage_Removed ] = bool:str_to_numszRemoved );
                    
                    
ArrayPushArrayg_aMessageseData );
                    
                    
g_iMessageCount++;
                }
            }
        }
    }
    return 
g_iMessageCount;
}

UpdateDataiIdszTitle[ ], szText[ ], szSender[ ], szReader[ ], szTo[ ], iTimeStampiReadTimebool:bIndividualbool:bReadbool:bRemoved )
{
    new const 
szTempFileName[ ] = "tempfile.ini";

    new 
szFormat128 ], szData512 ], szId];
    
    new 
szTempFilePath256 ]; 
    
formatexszTempFilePathcharsmaxszTempFilePath ), "%s/%s"g_szConfigsDirszTempFileName );
    
    
formatexszFormatcharsmaxszFormat ), "%s/%s"g_szConfigsDir"ContactSystem_Messages.ini" );
    new 
iFilePointer fopenszFormat"rt" );
    
    if( 
iFilePointer )
    {
        new 
iInputFilePointer fopenszTempFilePath"wt" );
                
        if( 
iInputFilePointer )
        {
            while( 
fgetsiFilePointerszDatacharsmaxszData ) ) )
            {
                
trimszData );
                
                
parseszDataszIdcharsmaxszId ) );
                
                if( 
str_to_numszId ) != iId )
                {
                    
fprintfiInputFilePointer"%s^n"szData );
                    
                    
log_to_file"doni.txt""#1 Called" );
                }
                
                else
                {
                    
fprintfiInputFilePointer"^"%d^" ^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%d^" ^"%d^" ^"%d^" ^"%d^" ^"%d^""iIdszTitleszTextszSenderszReaderszToiTimeStampiReadTimebIndividualbReadbRemoved ); // edit this one
                    
log_to_file"doni.txt""#2 Called" );
                }
            }
            
fcloseiInputFilePointer );
            
fcloseiFilePointer );
            
            
delete_fileszFormat );
            
rename_fileszTempFilePathszFormat);
        }
    }
    
LoadMessages( );
}

AddNewMessageiIdszTitle[ ], szText[ ], szSender[ ], szReader[ ], szTo[ ], iTimeStampiReadTimebool:bIndividualbool:bReadbool:bRemoved )
{
    new 
szFormat128 ];
    
formatexszFormatcharsmaxszFormat ), "%s/%s"g_szConfigsDir"ContactSystem_Messages.ini" );
    new 
iFile fopenszFormat "r+" );

    new 
szByteVal], szNewLine128 ];
    
    
fseekiFile , -SEEK_END );
    
fread_rawiFile szByteVal sizeofszByteVal ) , BLOCK_BYTE );
    
fseekiFile SEEK_END );
    
    
formatexszNewLinecharsmaxszNewLine ), "%s^"%d^" ^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%d^" ^"%d^" ^"%d^" ^"%d^" ^"%d^"", ( szByteVal] == 10 ) ? "" "^n"iIdszTitleszTextszSenderszReaderszToiTimeStampiReadTimebIndividualbReadbRemoved ); 

    
fputsiFile szNewLine );
    
    
fcloseiFile );
    
    
LoadMessages( );

__________________

Last edited by edon1337; 07-20-2019 at 07:41.
edon1337 is offline
 


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 17:27.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode