Raised This Month: $ Target: $400
 0% 

Shop error


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
JenProchazim
Member
Join Date: Jun 2012
Old 07-02-2012 , 16:09   Shop error
Reply With Quote #1

Hello,
i have problem with shop plugin. If player buy weapon, there's a bug and after buy new primary weapon, player have two primary, so there is bug with replace the old one. Any help how fix this please? I have idiea about plugin which controlls how many primary weapons player has.

Last edited by JenProchazim; 07-02-2012 at 17:22.
JenProchazim is offline
Alekkkk
Member
Join Date: Mar 2012
Location: Bulgaria
Old 07-02-2012 , 18:22   Re: Shop error
Reply With Quote #2

strip current weapon before giving new one
__________________
Alekkkk is offline
Send a message via Skype™ to Alekkkk
JenProchazim
Member
Join Date: Jun 2012
Old 07-02-2012 , 18:44   Re: Shop error
Reply With Quote #3

How please do that?

PHP Code:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <hamsandwich>

#include "furien.inc"
#include "furien_shop.inc"

#define VERSION "0.2.1"

#define MAX_WEAPONS    CSW_P90

enum _:mDatas {
    
mFurienCost,
    
mFurienBpAmmo,
    
mFurienBpAmmoMax,
    
mAntiCost,
    
mAntiBpAmmo,
    
mAntiBpAmmoMax
}

enum _:mAutoDatas {
    
miId,
    
miBpAmmo,
    
miBpAmmoMax
}

new 
g_iWeaponsBuyDatas[MAX_WEAPONS+1][mDatas]

new Array:
g_aFurienAutoWeapons, Array:g_aAntiAutoWeapons

public plugin_init()
{
    
register_plugin("Furien Weapons"VERSION"ConnorMcLeod")

    
g_aFurienAutoWeapons ArrayCreate(mAutoDatas)
    
g_aAntiAutoWeapons ArrayCreate(mAutoDatas)

    new 
szConfigFile[128]
    
get_localinfo("amxx_configsdir"szConfigFilecharsmax(szConfigFile))
    
format(szConfigFilecharsmax(szConfigFile), "%s/furien/items/weapons.ini"szConfigFile);

    new 
fp fopen(szConfigFile"rt")
    if( !
fp )
    {
        return
    }

    new 
szDatas[256], szWeaponName[20], szMode[2], szFurienBpAmmo[4], szAntiBpAmmo[4], szFurienBpAmmoMax[4], szAntiBpAmmoMax[4], 
        
szFurienName[32], szAntiName[32], szFurienCost[6], szAntiCost[6]

    while( !
feof(fp) )
    {
        
fgets(fpszDatascharsmax(szDatas))
        
trim(szDatas)
        if(!
szDatas[0] || szDatas[0] == ';' || szDatas[0] == '#' || (szDatas[0] == '/' && szDatas[1] == '/'))
        {
            continue
        }

//        server_print("Weapons Entry")
//        server_print(szDatas)

        
parse
        
(
            
szDatas
            
szWeaponNamecharsmax(szWeaponName),
            
szModecharsmax(szMode),
            
szFurienBpAmmocharsmax(szFurienBpAmmo),
            
szAntiBpAmmocharsmax(szAntiBpAmmo),
            
szFurienBpAmmoMaxcharsmax(szFurienBpAmmoMax),
            
szAntiBpAmmoMaxcharsmax(szAntiBpAmmoMax),
            
szFurienNamecharsmax(szFurienName),
            
szAntiNamecharsmax(szAntiName),
            
szFurienCostcharsmax(szFurienCost),
            
szAntiCostcharsmax(szAntiCost)
        )
/*
        server_print("%s %s | BpAmmo %s %s | Max %s %s | %s %s %s %s",
            szWeaponName, szMode, szFurienBpAmmo, szAntiBpAmmo, szFurienBpAmmoMax, szAntiBpAmmoMax,
            szFurienName, szAntiName, szFurienCost, szAntiCost)
*/
        
new iId get_weaponidszWeaponName )
        if( 
iId <= )
        {
            continue
        }

        switch( 
szMode[0] )
        {
            case 
'0':
            {
                if( (
g_iWeaponsBuyDatas[iId][mFurienCost] = str_to_num(szFurienCost)) )
                {
                    
g_iWeaponsBuyDatas[iId][mFurienBpAmmo] = str_to_num(szFurienBpAmmo)
                    
g_iWeaponsBuyDatas[iId][mFurienBpAmmoMax] = maxstr_to_num(szFurienBpAmmoMax) , g_iWeaponsBuyDatas[iId][mFurienBpAmmo] )
                }

                if( (
g_iWeaponsBuyDatas[iId][mAntiCost] = str_to_num(szAntiCost)) )
                {    
                    
g_iWeaponsBuyDatas[iId][mAntiBpAmmo] = str_to_num(szAntiBpAmmo)
                    
g_iWeaponsBuyDatas[iId][mAntiBpAmmoMax] = maxstr_to_num(szAntiBpAmmoMax) , g_iWeaponsBuyDatas[iId][mAntiBpAmmo] )
                }

                
furien_register_item
                
(
                    
szFurienName,
                    
g_iWeaponsBuyDatas[iId][mFurienCost],
                    
szAntiName,
                    
g_iWeaponsBuyDatas[iId][mAntiCost],
                    
"furien_buy_weapon",
                    
iId
                
)    
            }
            case 
'1':
            {
                new 
Datas[mAutoDatas]

                
Datas[miId] = iId
                Datas
[miBpAmmo] = str_to_num(szFurienBpAmmo)
                
Datas[miBpAmmoMax] = maxstr_to_num(szFurienBpAmmoMax), Datas[miBpAmmo] )

                
ArrayPushArray(g_aFurienAutoWeaponsDatas)
            }
            case 
'2':
            {
                new 
Datas[mAutoDatas]

                
Datas[miId] = iId
                Datas
[miBpAmmo] = str_to_num(szAntiBpAmmo)
                
Datas[miBpAmmoMax] = maxstr_to_num(szAntiBpAmmoMax), Datas[miBpAmmo] )

                
ArrayPushArray(g_aAntiAutoWeaponsDatas)
            }
            case 
'3':
            {
                new 
Datas[mAutoDatas]

                
Datas[miId] = iId
                Datas
[miBpAmmo] = str_to_num(szAntiBpAmmo)
                
Datas[miBpAmmoMax] = maxstr_to_num(szAntiBpAmmoMax), Datas[miBpAmmo] )

                
ArrayPushArray(g_aFurienAutoWeaponsDatas)
                
ArrayPushArray(g_aAntiAutoWeaponsDatas)
            }
        }
    }
    
fclose(fp)

    if( 
ArraySize(g_aFurienAutoWeapons) || ArraySize(g_aAntiAutoWeapons) )
    {
        
RegisterHam(Ham_Spawn"player""Ham_CBasePlayer_Spawn_Post"1)
    }
}

public 
plugin_end()
{
    
ArrayDestroyg_aFurienAutoWeapons )
    
ArrayDestroyg_aAntiAutoWeapons )
}

public 
Ham_CBasePlayer_Spawn_Postid )
{
    if( 
is_user_alive(id) )
    {
        switch( 
furien_get_user_team(id) )
        {
            case 
Furien :
            {
                
GiveAutoWeapons(idg_aFurienAutoWeapons)
            }
            case 
AntiFurien :
            {
                
GiveAutoWeapons(idg_aAntiAutoWeapons)
            }
        }
    }
}

public 
furien_buy_weaponidiId )
{
    new 
iTeam furien_get_user_team(id)
    if( 
iTeam == -)
    {
        return 
ShopCloseMenu
    
}

    new 
iItemCost g_iWeaponsBuyDatas[iId][ iTeam == Furien mFurienCost mAntiCost ]

    if( 
iItemCost <= )
    {
        return 
ShopTeamNotAvail
    
}

    if( 
user_has_weapon(idiId) )
    {
        return 
ShopAlreadyHaveOne
    
}

    if( 
furien_try_buy(idiItemCost) )
    {
        new 
szWeaponName[20]
        
get_weaponname(iIdszWeaponNamecharsmax(szWeaponName))
        
give_item(idszWeaponName)
        new 
iBpAmmo g_iWeaponsBuyDatas[iId][ iTeam == Furien mFurienBpAmmo mAntiBpAmmo ]
        if( 
iBpAmmo )
        {
            new 
iBpAmmoMax g_iWeaponsBuyDatas[iId][ iTeam == Furien mFurienBpAmmoMax mAntiBpAmmoMax ]
            new 
iCurrentBpAmmo cs_get_user_bpammo(idiId)
            if( 
iCurrentBpAmmo iBpAmmoMax )
            {
                
cs_set_user_bpammo(idiIdmin(iCurrentBpAmmo iBpAmmoiBpAmmoMax))
            }
        }
        return 
ShopBought
    
}
    return 
ShopNotEnoughMoney
}

GiveAutoWeapons(id, Array:aWeapons)
{
    new 
iItemsNum ArraySize(aWeapons)

    new 
Datas[mAutoDatas], iIdszWeaponName[20], iBpAmmoiBpAmmoMaxiCurrentBpAmmo

    
for(new ii<iItemsNumi++)
    {
        
ArrayGetArray(aWeaponsiDatas)
        
iId Datas[miId]
        if( !
user_has_weapon(idiId) )
        {
            
get_weaponname(iIdszWeaponNamecharsmax(szWeaponName))
            
give_item(idszWeaponName)
        }

        
iBpAmmo Datas[miBpAmmo]
        if( 
iBpAmmo && iId != CSW_KNIFE )
        {
            
iBpAmmoMax Datas[miBpAmmoMax]
            
iCurrentBpAmmo cs_get_user_bpammo(idiId)
            if( 
iCurrentBpAmmo iBpAmmoMax )
            {
                
cs_set_user_bpammo(idiIdmin(iCurrentBpAmmo iBpAmmoiBpAmmoMax))
            }
        }
    }

JenProchazim is offline
Backstabnoob
BANNED
Join Date: Feb 2009
Location: Iwotadai Dorm
Old 07-02-2012 , 20:37   Re: Shop error
Reply With Quote #4

http://forums.alliedmods.net/showpos...38&postcount=9
Backstabnoob is offline
JenProchazim
Member
Join Date: Jun 2012
Old 07-02-2012 , 20:49   Re: Shop error
Reply With Quote #5

Thanks, but i don't understand that, i don't know how to use that with this plugin.
JenProchazim is offline
Old 07-03-2012, 11:35
JenProchazim
This message has been deleted by YamiKaitou. Reason: wait 14 days until you bump
Reply


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


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