Raised This Month: $ Target: $400
 0% 

Need help with this plugin


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
xoxolala
Junior Member
Join Date: Nov 2013
Old 11-14-2013 , 20:08   Need help with this plugin
Reply With Quote #1

Hello AM

I need help with my plugin.

Bug:
Everytime I enter a menu, it gives me lvl 10 in Health. (I've only added HP for T's so far. Just for testing that out.

Can you see where the mistake is? I get no compile errors.

Hope u help thx

EDIT: Found the error myself,
infact the mistake was a missing
PHP Code:
 return HAM_HANDLED 
and a fail calculation in menu.

PHP Code:
/*************************************
* Point Mod for Hide And Seek
* by Xoxolala
*
* Version: 1.0
*/
//************************************
#include < amxmodx >
#include < amxmisc >
#include < cstrike >
#include < fun >
#include < hamsandwich >
#include < engine >
#include < fakemeta >
#include < nvault >

#define PLUGIN "Point Mod"
#define PREFIX "Point Mod"
#define PREFIXSHORT "[PM]"
#define PLUGINVALUE "Point"
#define AUTHOR "Xoxolala"
#define VERSION "1.0"
#define VAULTNAME "pointmod"

//All items with prices & stuff
enum _:gItemListT
{
    
HEALTH
}

new const 
gItemNameT gItemListT ] [ ] =
{
    
"Extra Health"
}

new const 
gItemCostT gItemListT ] =
{
    
20
}

new const 
gItemLevelT gItemListT ] =
{
    
10
}

new const 
gItemAmountT gItemListT ] =
{
    
10
}

new const 
gItemShortT gItemListT ] [ ] =
{
    
" HP"
}

enum _:gItemListCT 
{
    
HEALTH
}

new const 
gItemNameCT gItemListCT ] [ ] =
{
    
"Extra Health"
}

new const 
gItemCostCT gItemListCT ] =
{
    
20
}

new const 
gItemLevelCT gItemListCT ] =
{
    
6
}

new const 
gItemAmountCT gItemListCT ] =
{
    
10
}

new const 
gItemShortCT gItemListCT ] [ ] =
{
    
" HP"
}

const 
MAX_CLIENTS 32

//Vault
new gVault

new gUserLevelT MAX_CLIENTS ] [ gItemListT ]
new 
gUserLevelCT MAX_CLIENTS ] [ gItemListCT ]
new 
gValue MAX_CLIENTS ]

new 
gSteamID MAX_CLIENTS ] [ 36 ]
new 
gIsUser MAX_CLIENTS ]


public 
plugin_init ( )
{
    
register_clcmd "say /pm""MainMenuStart" )
    
register_clcmd "say /resetlvl""cmdtestreset" )
    
gVault nvault_open VAULTNAME )

    if ( 
gVault == INVALID_HANDLE )
        
set_fail_state "Error opening gVault for Point Mod" )
}

public 
cmdtestreset id )
{
    for ( new 
iItemT 0iItemT gItemListTiItemT++ )
    {
        
gUserLevelT id ] [ iItemT ] = 0
    
}
}

public 
plugin_end ( )
{
    
nvault_close gVault )
}

public 
client_authorized id )
{
    
get_user_authid idgSteamID id ], charsmax gSteamID [ ] ) )
    
LoadUser id )

    if ( 
access idADMIN_LEVEL_A ) )
        
gIsUser id ] = true
}

public 
client_disconnect id )
{
    
SaveUser id )
}

public 
LoadUser id )
{
    static 
data 256 ], timestamp
    
if ( nvault_lookup gVaultgSteamID id ], datasizeof data ) - 1timestamp ) )
    {
        
LoadUserData iddata )
    }
    else 
    {
        
NewPlayer id )
    }
}

public 
NewPlayer id )
{
    
gValue id ] = 0

    
for ( new iItemT 0iItemT gItemListTiItemT++ )
    {
        
gUserLevelT id ] [ iItemT ] = 0
    
}

    for ( new 
iItemCT 0iItemCT gItemListCTiItemCT++ )
    {
        
gUserLevelCT id ] [ iItemCT ] = 0
    
}
}

LoadUserData iddata 256 ] )
{
    static 
num ]
    
strbreak datanumsizeof num ) - 1datasizeof data ) - )

    
gValue id ] = str_to_num num )

    for ( new 
iItemT 0iItemT gItemListTiItemT++ )
    {
        
strbreak datanumsizeof num ) - 1datasizeof data ) - )
        
gUserLevelT id ] [ iItemT ] = clamp str_to_num num ), 0gItemLevelT iItemT ] )
    }

    for ( new 
iItemCT 0iItemCT gItemListCTiItemCT++ )
    {
        
strbreak datanumsizeof num ) - 1datasizeof data ) - )
        
gUserLevelCT id ] [ iItemCT ] = clamp str_to_num num ), 0gItemLevelCT iItemCT ] )
    }
}

public 
SaveUser id )
{
    static 
data 256 ]
    new 
len formatex datasizeof data ) - 1"%i"gValue id ] )

    for ( new 
iItemT 0iItemT gItemListTiItemT++ )
    {
        
len += formatex data len ], sizeof data ) - len 1" %i"gUserLevelT id ] [ iItemT ] )
    }

    for ( new 
iItemCT 0iItemCT gItemListCTiItemCT++ )
    {
        
len += formatex data len ], sizeof data ) - len 1" %i"gUserLevelCT id ] [ iItemCT ] )
    }

    
nvault_set gVaultgSteamID id ], data )
}

public 
MainMenuStart id 
{
    new 
title 512 
    
formatex title511"\r%s\w Main Menu^nCurrent %s:\y %i^n^n"PREFIXSHORTPLUGINVALUEgValue id ] )
    new 
menu menu_create title"MainMenuHandle" )


    
menu_additem menu"\wTerrorists""1")
    
menu_additem menu"\wCounter-Terrorists""2")
    
menu_addblank menu)
    
menu_addblank menu)
    
menu_additem menu"\yPlayer Info""3")
    
menu_addblank menu)
    
menu_addblank menu)
    
menu_addblank menu)
    
menu_addblank menu)

    
menu_display idmenu)
}

public 
MainMenuHandle idmenuitem )
{
    if ( 
item == MENU_EXIT )
    {
        
menu_destroy menu )
        return 
PLUGIN_HANDLED 
    
}

    new 
data ], gName 64 ]
    new 
accesscallback

    menu_item_getinfo 
menuitemaccessdatasizeof data ) - 1gNamesizeof gName ) - 1callback )

    new 
key str_to_num data )
    switch ( 
key )
    {
        case 
1:
        {
            
ItemMenuTStart id )
        }
        case 
2:
        {
            
client_print idprint_chat"You clicked CT Upgrades. This is still under construction!" )
        }
        case 
3:
        {
            
client_print idprint_chat"You clicked Player Info. This is still under construction!" )
        }
    }
    return 
PLUGIN_HANDLED 
}

public 
ItemMenuTStart id )
{
    new 
title 512 ]; formatex titlesizeof title ) - 1"\r%s\w Main Menu^nYour %s:\y %i^n^n"PREFIXPLUGINVALUEgValue id ] )

    new 
menu menu_create title"ItemMenuTHandle" )
    new 
inumb ], icostgOption 80 ], iamountilvlilvl2

    
for ( new iItemT 0iItemT gItemListTiItemT++ )
    {
        
num_to_str iItemTinumbsizeof inumb ) - )
        
ilvl gUserLevelT id ] [ iItemT ]
        
ilvl2 gUserLevelT id ] [ iItemT ] + 1
        icost 
gItemCostT iItemT ] * ( << (ilvl2 ) )
        
iamount gUserLevelT id ] [ iItemT ] * gItemAmountT iItemT ]

        if ( 
gUserLevelT id ] [ iItemT ] == gItemLevelT iItemT ] )
        {
            
formatex gOptionsizeof gOption ) - 1"\y%s:\d Level %i\r (%i%s)"gItemNameT iItemT ], ilvliamountgItemShortT iItemT ] )
        }
        else if ( 
gValue id ] < icost )
        {
            
formatex gOptionsizeof gOption ) - 1"\d%s: Level %i\r (%i%s)\w %i %s"gItemNameT iItemT ], ilvliamountgItemShortT iItemT ], icostPLUGINVALUE )
        }
        else if ( 
gUserLevelT id ] [ iItemT ] < gItemLevelT iItemT ] )
        {
            
formatex gOptionsizeof gOption ) - 1"\w%s Level %i\r (%i%s)\w %i %s"gItemNameT iItemT ], ilvliamountgItemShortT iItemT ], icostPLUGINVALUE )
        }
        
menu_additem menugOptioninumb )
    }
    
menu_display idmenu)
}

public 
ItemMenuTHandle idmenuitem )
{
    if ( 
item == MENU_EXIT )
    {
        
menu_destroy menu )
        
MainMenuStart id )
        return 
PLUGIN_HANDLED
    
}

    new 
data ], gName 64 ]
    new 
accesscallback
    menu_item_getinfo 
menuitemaccessdatasizeof data ) - 1gNamesizeof gName ) - 1callback )

    new 
iItemT str_to_num data ), icostilvl
    ilvl 
gUserLevelT id ] [ iItemT ] + 1
    icost 
gItemCostT iItemT ] * ( << ( ilvl ) )

    if ( 
gUserLevelT id ] [ iItemT ] == gItemLevelT iItemT ] )
    {
        
client_print idprint_chat"You have the max level already!" )
    }
    else if ( 
gValue id ] < icost )
    {
        
client_print idprint_chat"You cant afford that!" )
    }
    else
    {
        
gValue id ] -= icost
        gUserLevelT 
id ] [ iItemT ] += 1
        client_print 
idprint_chat"You upgraded %s to level %i! Nice!"gItemNameT iItemT ], gUserLevelT id ] [ iItemT ] )
    }
    
MainMenuStart id )
    return 
PLUGIN_HANDLED


Last edited by xoxolala; 11-15-2013 at 10:31.
xoxolala 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 23:18.


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