AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Fix Furien Weapons (https://forums.alliedmods.net/showthread.php?t=184150)

leonard19941 05-01-2012 12:44

Fix Furien Weapons
 
Hi, please helm me to fix this error in this plugin, thanks very much.


Quote:

L 05/30/2012 - 21:05:52: [CSTRIKE] Invalid weapon id 29
L 05/30/2012 - 21:05:52: [AMXX] Displaying debug trace (plugin "furien_weapons.amxx")
L 05/30/2012 - 21:05:52: [AMXX] Run time error 10: native error (native "cs_get_user_bpammo")
L 05/30/2012 - 21:05:52: [AMXX] [0] furien_weapons.sma::GiveAutoWeapons (line 222)
L 05/30/2012 - 21:05:52: [AMXX] [1] furien_weapons.sma::PlayerSpawn (line 164)

Furien Weapons

PHP Code:

/* Plugin generated by AMXX-Studio */

#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,
    
mAntiFurienCost,
    
mAntiFurienBpAmmo,
    
mAntiFurienBpAmmoMax
};

enum _:mAutoDatas {
    
miId,
    
miBpAmmo,
    
miBpAmmoMax
};

new 
g_iWeaponsBuyDatasMAX_WEAPONS+][ mDatas ]

new Array:
g_aFurienAutoWeapons, Array:g_aAntiFurienAutoWeapons;

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

    
g_aFurienAutoWeapons ArrayCreatemAutoDatas )
    
g_aAntiFurienAutoWeapons ArrayCreatemAutoDatas )

    new 
szConfigFile128 ];
    
get_localinfo"amxx_configsdir"szConfigFilecharsmaxszConfigFile ) )
    
formatszConfigFilecharsmaxszConfigFile ), "%s/furien/items/weapons.ini"szConfigFile );

    new 
fp fopenszConfigFile"rt")
    if( !
fp )
        return;

    new 
szDatas256 ], szWeaponName20 ], szMode], szFurienBpAmmo], szAntiFurienBpAmmo], szFurienBpAmmoMax], szAntiFurienBpAmmoMax], 
        
szFurienName32 ], szAntiFurienName32 ], szFurienCost], szAntiFurienCost];

    while( !
feoffp ) )
    {
        
fgetsfpszDatascharsmaxszDatas ) )
        
trimszDatas )
        if(!
szDatas] || szDatas] == ';' || szDatas] == '#' || ( szDatas] == '/' && szDatas] == '/' ) )
            continue;

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

        
parse
        
(
            
szDatas
            
szWeaponNamecharsmaxszWeaponName ),
            
szModecharsmaxszMode ),
            
szFurienBpAmmocharsmaxszFurienBpAmmo ),
            
szAntiFurienBpAmmocharsmaxszAntiFurienBpAmmo ),
            
szFurienBpAmmoMaxcharsmaxszFurienBpAmmoMax ),
            
szAntiFurienBpAmmoMaxcharsmaxszAntiFurienBpAmmoMax ),
            
szFurienNamecharsmaxszFurienName ),
            
szAntiFurienNamecharsmaxszAntiFurienName ),
            
szFurienCostcharsmaxszFurienCost ),
            
szAntiFurienCostcharsmaxszAntiFurienCost )
        )
        
/*
        server_print( "%s %s | BpAmmo %s %s | BpAmmoMax %s %s | %s %s %s %s",
            szWeaponName, szMode, szFurienBpAmmo, szAntiFurienBpAmmo, szFurienBpAmmoMax, szAntiFurienBpAmmoMax,
            szFurienName, szAntiFurienName, szFurienCost, szAntiFurienCost );
        */
        
new iId get_weaponidszWeaponName )
        if( 
iId <= )
            continue;

        switch( 
szMode] )
        {
            case 
'0':
            {
                if( ( 
g_iWeaponsBuyDatasiId ][ mFurienCost ] = str_to_numszFurienCost ) ) )
                {
                    
g_iWeaponsBuyDatasiId ][ mFurienBpAmmo ] = str_to_numszFurienBpAmmo )
                    
g_iWeaponsBuyDatasiId ][ mFurienBpAmmoMax ] = maxstr_to_numszFurienBpAmmoMax ), g_iWeaponsBuyDatasiId ][ mFurienBpAmmo ] )
                }

                if( ( 
g_iWeaponsBuyDatasiId ][ mAntiFurienCost ] = str_to_numszAntiFurienCost ) ) )
                {    
                    
g_iWeaponsBuyDatasiId ][ mAntiFurienBpAmmo ] = str_to_numszAntiFurienBpAmmo )
                    
g_iWeaponsBuyDatasiId ][ mAntiFurienBpAmmoMax ] = maxstr_to_numszAntiFurienBpAmmoMax ), g_iWeaponsBuyDatasiId ][ mAntiFurienBpAmmo ] )
                }

                
furien_register_item
                
(
                    
szFurienName,
                    
g_iWeaponsBuyDatasiId ][ mFurienCost ],
                    
szAntiFurienName,
                    
g_iWeaponsBuyDatasiId ][ mAntiFurienCost ],
                    
"furien_buy_weapon",
                    
iId
                
)    
            }
            case 
'1':
            {
                new 
DatasmAutoDatas ];

                
DatasmiId ] = iId
                Datas
miBpAmmo ] = str_to_numszFurienBpAmmo )
                
DatasmiBpAmmoMax ] = maxstr_to_numszFurienBpAmmoMax ), DatasmiBpAmmo ] )

                
ArrayPushArrayg_aFurienAutoWeaponsDatas )
            }
            case 
'2':
            {
                new 
DatasmAutoDatas ];

                
DatasmiId ] = iId
                Datas
miBpAmmo ] = str_to_numszAntiFurienBpAmmo )
                
DatasmiBpAmmoMax ] = maxstr_to_numszAntiFurienBpAmmoMax ), DatasmiBpAmmo ] )

                
ArrayPushArrayg_aAntiFurienAutoWeaponsDatas )
            }
            case 
'3':
            {
                new 
DatasmAutoDatas ];

                
DatasmiId ] = iId
                Datas
miBpAmmo ] = str_to_numszAntiFurienBpAmmo )
                
DatasmiBpAmmoMax ] = maxstr_to_numszAntiFurienBpAmmoMax ), DatasmiBpAmmo ] )

                
ArrayPushArrayg_aFurienAutoWeaponsDatas )
                
ArrayPushArrayg_aAntiFurienAutoWeaponsDatas )
            }
        }
    }
    
fclosefp )

    if( 
ArraySizeg_aFurienAutoWeapons ) || ArraySizeg_aAntiFurienAutoWeapons ) )
        
RegisterHamHam_Spawn"player""PlayerSpawn")
}

public 
furien_buy_weaponidiId )
{
    new 
iTeam furien_get_user_teamid )
    if( 
iTeam == -)
        return 
ShopCloseMenu;

    new 
iItemCost g_iWeaponsBuyDatasiId ][ iTeam == Furien mFurienCost mAntiFurienCost ]

    if( 
iItemCost <= )
        return 
ShopTeamNotAvail;

    if( 
user_has_weaponidiId ) )
        return 
ShopAlreadyHaveOne;

    if( 
furien_try_buyidiItemCost ) )
    {
        new 
szWeaponName20 ];
        
get_weaponnameiIdszWeaponNamecharsmaxszWeaponName ) )
        
give_itemidszWeaponName )
        new 
iBpAmmo g_iWeaponsBuyDatasiId ][ iTeam == Furien mFurienBpAmmo mAntiFurienBpAmmo ]
        if( 
iBpAmmo )
        {
            new 
iBpAmmoMax g_iWeaponsBuyDatasiId ][ iTeam == Furien mFurienBpAmmoMax mAntiFurienBpAmmoMax ]
            new 
iCurrentBpAmmo cs_get_user_bpammoidiId )
            
            if( 
iCurrentBpAmmo iBpAmmoMax )
                
cs_set_user_bpammoidiIdminiCurrentBpAmmo iBpAmmoiBpAmmoMax ) )
        }
        return 
ShopBought;
    }
    return 
ShopNotEnoughMoney;
}

public 
plugin_end( )
{
    
ArrayDestroyg_aFurienAutoWeapons )
    
ArrayDestroyg_aAntiFurienAutoWeapons )
}

public 
PlayerSpawnid )
{
    if( 
is_user_aliveid ) )
    {
        switch( 
furien_get_user_teamid ) )
        {
            case 
Furien GiveAutoWeaponsidg_aFurienAutoWeapons )
        
            case 
AntiFurien GiveAutoWeaponsidg_aAntiFurienAutoWeapons )
        }
    }
}

GiveAutoWeaponsid, Array:aWeapons )
{
    new 
iItemsNum ArraySizeaWeapons )

    new 
DatasmAutoDatas ], iIdszWeaponName20 ], iBpAmmoiBpAmmoMaxiCurrentBpAmmo;

    for( new 
ii<iItemsNumi++ )
    {
        
ArrayGetArrayaWeaponsiDatas )
        
iId DatasmiId ]
        if( !
user_has_weaponidiId ) )
        {
            
get_weaponnameiIdszWeaponNamecharsmaxszWeaponName ) )
            
give_itemidszWeaponName )
        }

        
iBpAmmo DatasmiBpAmmo ]
        if( 
iBpAmmo && iId != CSW_KNIFE )
        {
            
iBpAmmoMax DatasmiBpAmmoMax ]
            
iCurrentBpAmmo cs_get_user_bpammoidiId )
            
            if( 
iCurrentBpAmmo iBpAmmoMax )
                
cs_set_user_bpammoidiIdminiCurrentBpAmmo iBpAmmoiBpAmmoMax ) )
        }
    }



mottzi 05-01-2012 19:58

Re: Fix Furien Mod and Furien Weapons
 
Omg, I dont understand why people ask for such things in, let me write the important part in bold, scripting HELP<---

leonard19941 05-01-2012 20:06

Re: Fix Furien Mod and Furien Weapons
 
Quote:

Originally Posted by mottzi (Post 1700196)
Omg, I dont understand why people ask for such things in, let me write the important part in bold, scripting HELP<---

I do not understand, sorry.

Kreation 05-01-2012 20:53

Re: Fix Furien Mod and Furien Weapons
 
Quote:

Originally Posted by leonard19941 (Post 1700199)
I do not understand, sorry.

Yes, this much is clear.

If you want something done for you, you need to post in Suggestions/Requests.

Scripting Help is for people aspiring to learn and for people who have at least some knowledge of where to begin a plugin.

ConnorMcLeod 05-02-2012 00:36

Re: Fix Furien Mod and Furien Weapons
 
PHP Code:

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))
            }
        }
    }



leonard19941 05-02-2012 12:18

Re: Fix Furien Mod and Furien Weapons
 
Thanks Connor, do not leave these errors, thanks.

Y060N 05-16-2012 19:52

Re: Optimize and Fix Furien Mod
 
PHP Code:

public client_PreThink(id)
{
    
set_task(0.1"Furien_Super_Optimize"id)
    
set_task(0.1"Furien_Super_Optimize"id)
    
set_task(0.1"Furien_Super_Optimize"id)
}

public 
Furien_Super_Optimize(id)
{
    
server_print("Furien Mod is not Ultra Optimized")


This is what I do in every plugin I do.

leonard19941 05-16-2012 20:16

Re: Optimize and Fix Furien Mod
 
Quote:

Originally Posted by Y060N (Post 1710325)
PHP Code:

public client_PreThink(id)
{
    
set_task(0.1"Furien_Super_Optimize"id)
    
set_task(0.1"Furien_Super_Optimize"id)
    
set_task(0.1"Furien_Super_Optimize"id)
}

public 
Furien_Super_Optimize(id)
{
    
server_print("Furien Mod is not Ultra Optimized")


This is what I do in every plugin I do.

Fail!

Neeeeeeeeeel.- 05-16-2012 23:28

Re: Optimize and Fix Furien Mod
 
"Nobody" will do your job, if you have any questions with a native/forward or anything maybe you could get help. I think this is a request so...

Kia 05-18-2012 14:56

Re: Optimize and Fix Furien Mod
 
Also had some Problems with Connors Furien.
That's why I decided to rewrite it, maybe you should try that too if Connors Furien "needs some optimize".


All times are GMT -4. The time now is 07:47.

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