AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Rare, but sometimes saving wrong(fvault) (https://forums.alliedmods.net/showthread.php?t=170957)

iTzLeandro 10-30-2011 17:27

Rare, but sometimes saving wrong(fvault)
 
PHP Code:

#include <amxmodx> 
#include <fvault> 
#include <hamsandwich> 
#include <superheromod> 

new tickets[33

new const 
Vault[] = "tickets" 

new max_playersg_iThinker 

new booluser_connected[33

public 
plugin_init( ) {      
     
    
register_plugin"NTSBR TICKETS""1.4""KoN" 
     
    
register_clcmd"say /tickets""Menu_Tickets"
    
register_clcmd"say_team /tickets""Menu_Tickets"
     
    
RegisterHamHam_Spawn"player""FwdHamPlayerSpawn" 1); 
     
    
set_task(300.0"task_Save"0
     
    
g_iThinker create_entity"info_target" ); 
     
    if( 
is_valid_entg_iThinker ) ) { 
        
entity_set_stringg_iThinkerEV_SZ_classname"SHThinker" ); 
        
entity_set_floatg_iThinkerEV_FL_nextthinkget_gametime( ) + 300.0 ); 
         
        
register_think"SHThinker""FwdThinker" ); 
    } 
    else 
        
set_task300.0"Save"___"b" ); 
     
    
max_players get_maxplayers() 
     


public 
client_putinserver(id) { 
     
    
tickets[id] = 
     
    user_connected
[id] = true 
     
    set_task
60.0"add_ticket"id__"b" 
     
    new 
SZ_Name32 
    new 
user_tickets[10
    
get_user_nameidSZ_Name31 
     
    if(!
fvault_get_dataVaultSZ_Nameuser_tickets) ) return PLUGIN_HANDLED 
     
    tickets
[id] = str_to_num(user_tickets
     
    return 
PLUGIN_CONTINUE 


public 
client_disconnect(id) { 
     
    
remove_task(id
     
    
Save(id
     
    
user_connected[id] = false 


public 
add_ticket(id
    
tickets[id]++ 

public 
Menu_Tickets(id) { 
     
    new 
menu menu_create("\rNTSBR TICKETS""menup_handler"); 
     
    new 
tickets_num[32
     
    
menu_additem(menu"\w500 XP - \r120 tickets""1"); 
    
menu_additem(menu"\w1500 XP - \r240 tickets""2"); 
    
menu_additem(menu"\w4000 XP - \r480 tickets""3"); 
    
menu_additem(menu"\w10000 XP - \r960 tickets""4"); 
    
menu_additem(menu"\w25000 XP - \r1920 tickets""5"); 
    
menu_additem(menu"\w50000 XP - \r3000 tickets^n""6"); 
    
formatex(tickets_num31"\yVoce tem \r%d \yticket%s"tickets[id], tickets[id] == "" "s"
    
menu_additem(menutickets_num"7"); 
     
    
menu_setprop(menuMPROP_EXITNAME"Sair"
    
menu_setprop(menuMPROP_EXITMEXIT_ALL); 
    
menu_display(idmenu0); 
     
    return 
PLUGIN_HANDLED 


public 
menup_handler(idmenuitem

    if( 
item == MENU_EXIT 
    { 
        
menu_destroy(menu); 
        return 
PLUGIN_HANDLED
    } 
     
    new 
data[6], iName[64]; 
    new 
accesscallback
    
menu_item_getinfo(menuitemaccessdata,5iName63callback); 
    new 
key str_to_num(data); 
     
    switch(
key
    { 
        case 
1
        { 
            if(
user_has_tickets(id120)) { 
                new 
name[64
                
get_user_name(idname63
                
log_amx("[NTSBR TICKETS]%s comprou 500XP gastando 120 tickets"name
                
tickets[id] -= 120 
                sh_set_user_xp
(id500true
                
client_print(idprint_chat"[NTSBR] Voce recebeu 500XP!"
                
Save(id
            } 
            else 
                
client_print(idprint_chat"[NTSBR] Voce nao tem tickets suficientes"
        } 
        case 
2
        { 
            if(
user_has_tickets(id240)) { 
                new 
name[64
                
get_user_name(idname63
                
log_amx("[NTSBR TICKETS]%s comprou 1500XP gastando 240 tickets"name
                
tickets[id] -= 240 
                sh_set_user_xp
(id1500true
                
client_print(idprint_chat"[NTSBR] Voce recebeu 1500XP!"
                
Save(id
            } 
            else 
                
client_print(idprint_chat"[NTSBR] Voce nao tem tickets suficientes"
        } 
        case 
3
        { 
            if(
user_has_tickets(id480)) { 
                new 
name[64
                
get_user_name(idname63
                
log_amx("[NTSBR TICKETS]%s comprou 4000XP gastando 480 tickets"name
                
tickets[id] -= 480 
                sh_set_user_xp
(id4000true
                
client_print(idprint_chat"[NTSBR] Voce recebeu 4000XP!"
                
Save(id
            } 
            else 
                
client_print(idprint_chat"[NTSBR] Voce nao tem tickets suficientes"
        } 
        case 
4
        { 
            if(
user_has_tickets(id960)) { 
                new 
name[64
                
get_user_name(idname63
                
log_amx("[NTSBR TICKETS]%s comprou 10000XP gastando 960 tickets"name
                
tickets[id] -= 960 
                sh_set_user_xp
(id10000true
                
client_print(idprint_chat"[NTSBR] Voce recebeu 10000XP!"
                
Save(id
            } 
            else 
                
client_print(idprint_chat"[NTSBR] Voce nao tem tickets suficientes"
        } 
        case 
5
        { 
            if(
user_has_tickets(id1920)) { 
                new 
name[64
                
get_user_name(idname63
                
log_amx("[NTSBR TICKETS]%s comprou 25000XP gastando 1920 tickets"name
                
tickets[id] -= 1920 
                sh_set_user_xp
(id25000true
                
client_print(idprint_chat"[NTSBR] Voce recebeu 25000XP!"
                
Save(id
            } 
            else 
                
client_print(idprint_chat"[NTSBR] Voce nao tem tickets suficientes"
        } 
        case 
6
        { 
            if(
user_has_tickets(id3000)) { 
                new 
name[64
                
get_user_name(idname63
                
log_amx("[NTSBR TICKETS]%s comprou 50000XP gastando 3000 tickets"name
                
tickets[id] -= 3000 
                sh_set_user_xp
(id50000true
                
client_print(idprint_chat"[NTSBR] Voce recebeu 50000XP!"
                
Save(id
            } 
            else 
                
client_print(idprint_chat"[NTSBR] Voce nao tem tickets suficientes"
        } 
        case 
7
        { 
            
Menu_Tickets(id
        } 
    } 
     
    
menu_destroy(menu); 
    return 
PLUGIN_HANDLED


public 
FwdHamPlayerSpawnid ) { 
    if(!
is_user_aliveid ) )  return HAM_IGNORED
     
    
set_task(3.0"Mensagem"id
     
    
Save(id
     
    return 
HAM_IGNORED


public 
Mensagem(id
    
client_print(idprint_chat"[NTSBR] Digite /tickets para trocar seus tickets por XP"

Save(id) { 
     
    if(!
user_connected[id]) return PLUGIN_HANDLED 
     
    
new SZ_Name[64], user_tickets[10
     
    
get_user_nameidSZ_Name63 
     
    
num_to_str(tickets[id], user_tickets9
    
fvault_set_dataVaultSZ_Nameuser_tickets
     
    return 
PLUGIN_CONTINUE 


public 
FwdThinkeriEntity ) { 
     
    for(new 
1<= max_playersi++) 
        
Save(i
     
    
entity_set_floatiEntityEV_FL_nextthinkget_gametime( ) + 300.0 ); 


stock bool:user_has_tickets(idvtickets) { 
     
    if(
tickets[id] >= vtickets) return true 
     
    
return false 


So... what's the problem?

EDIT@

Oh and there are random numbers appearing after all the saved accounts, like "Pr0 NOOB" "123" 5641447
What's wrong?


All times are GMT -4. The time now is 14:25.

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