Raised This Month: $ Target: $400
 0% 

Saving On Hand Money / Bank Problem


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
lobopack23
Senior Member
Join Date: Jun 2009
Location: California , United Stat
Old 08-11-2013 , 04:52   Saving On Hand Money / Bank Problem
Reply With Quote #1

I am having a problem with a saving on hand money plugin that bugsy posted a while back

*mp_startmoney set to 800

If a user disconnects with 16000, and reconnects back to the server, his money is restored back to 16000, which is correct.

The problem occurs when someone joins the server, and another person joins. (Game Will Start In 3.2.1 is initialized) and when that happens the money that was loaded, disappears and you get whatever mp_startmoney is set to (16000 becomes 800).

Plugin (Restore Money by Bugsy):
Code:
#include <amxmodx>
#include <cstrike>
#include <nvault>
#include <fakemeta>
#include <hamsandwich>

const OFFSET_CSMONEY = 115;

new g_szAuthID[33][35];
new g_iMoney[33];
new g_Vault;
new g_pStartMoney;
new bool:g_bRestored[33];    

public plugin_init()
{
    register_plugin("Restore Money" , "0.1" , "bugsy");
    RegisterHam(Ham_Spawn , "player" , "fw_HamSpawn_Post" , 1);

    g_pStartMoney = get_cvar_pointer("MP_STARTMONEY");
    g_Vault = nvault_open("LoadMoney");
}

public plugin_end()
{
    nvault_close(g_Vault);
}

public client_authorized(id)
{
    get_user_authid( id , g_szAuthID[id] , charsmax( g_szAuthID[] ) );
}

public client_putinserver(id)
{
    if ( g_szAuthID[id][0] )
    {
        g_bRestored[id] = true;
        set_task( 1.0 , "LoadMoney" , id );
    }
}

public client_disconnect(id)
{
    remove_task(id);
    SaveMoney(id);
    g_szAuthID[id][0] = EOS;
}

public fw_HamSpawn_Post(id)
{
    if( ( g_szAuthID[id][0] && !g_bRestored[id] ) && is_user_alive(id) )
    {
        g_bRestored[id] = true;
        LoadMoney(id);
        }
}

public SaveMoney(id)
{  
    new szKey[39] , szData[9];
    formatex( szKey , charsmax(szKey) , "%s-SVB" , g_szAuthID[id] );
    num_to_str( get_pdata_int(id , OFFSET_CSMONEY) , szData , charsmax(szData) );
    g_bRestored[id] = false;
    nvault_set( g_Vault , szKey , szData );
}  

public LoadMoney(id)
{ 
    new szKey[39];
    formatex( szKey , charsmax(szKey) , "%s-SVB" , g_szAuthID[id] );

    if ( (g_iMoney[id] = nvault_get( g_Vault ,szKey) ) && ( g_iMoney[id] != get_pcvar_num(g_pStartMoney) ) )
    {
        cs_set_user_money( id , g_iMoney[id] );
        client_print( id , print_chat , "* Your money has been restored from a previous session: $%d" , g_iMoney[id] );
    }
}
__________________
- Steam: Lobopack23 - Link
Contact me if you need any help with Pokemod.
- 2nd Generation Pokemod - Link
(new skills, items, and pokemons)
- Buy Xp - Link

Last edited by lobopack23; 08-11-2013 at 14:47.
lobopack23 is offline
 



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 15:56.


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