AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Help plugin bet (https://forums.alliedmods.net/showthread.php?t=336189)

AlexandruODT 02-03-2022 01:52

Help plugin bet
 
Hello!
I also need help with this plugin.
I get an error and my server crashes.

PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <colorchat>

native get_gold_coinsid )
native get_silver_coinsid )

native set_gold_coinsidnum )
native set_silver_coinsidnum )

new 
g_iGoldBet33 ][ //0 = CT bet, 1 = TR BET
new g_iSilverBet33 ][ //0 = CT bet, 1 = TR BET

new g_iWillBet33 //-1 = wont bet, 0 = CT, 1 = TR

new g_bCanBet

public plugin_init()
{
    
register_plugin"Bet Coins""1.0""Joca" )

    
register_clcmd"say /bet""bet_pre" )
    
register_clcmd"say_team /bet""bet_pre" )

    
register_event"HLTV""event_new_round""a""1=0""2=0" )
    
register_event"SendAudio""event_sendAudio""a""2=%!MRAD_terwin""2=%!MRAD_ctwin""2=%!MRAD_rounddraw" )
    
register_event"DeathMsg""event_Death""a" )
}
public 
event_Death()
{
    new 
killer read_data)
    new 
victim read_data)
    if( 
killer != victim )
    {
        
ColorChatvictimBLUE"^1(^4LLG^1) You can bet on your favorite team with say^4 /bet^1." )
        
set_hudmessage70255550.020.2500.55.00.50.5, -)
        
show_hudmessagevictim"Bet on your favorite team with say /bet" )
    }
}
public 
client_putinserverid )
{
    
ResetCoinsid )
}
public 
client_disconnectedid )
{
    
ResetCoinsid )
}
public 
event_new_round()
{
    
g_bCanBet true
    
for( new id 1id <= get_maxplayers(); id++ )
    {
        if( 
is_user_connectedid ) )
            
ResetCoinsid )
    }
}
public 
ResetCoinsid )
{
    
g_iGoldBetid ][ ] = 0
    g_iGoldBet
id ][ ] = 0

    g_iSilverBet
id ][ ] = 0
    g_iSilverBet
id ][ ] = 0

    g_iWillBet
id ] = -1
}
public 
event_sendAudio()
{
    new 
string22 ]
    
read_data2stringcharsmax( string ) )

    if( 
containistring"ctwin" ) != -)
    {
        for( new 
id 1id <= get_maxplayers(); id++ )
        {
            if( 
is_user_connectedid ) && !is_user_aliveid ) )
            {
                if( 
g_iGoldBetid ][ ] )
                {
                    
set_gold_coinsidget_gold_coinsid ) - g_iGoldBetid ][ ] )
                    
ColorChatidRED"^1(^4LLG^1)^3 Counter-Terrorists^1 team has ^4won^1. You lost^3 %d^4 gold coins^1."g_iGoldBetid ][ ] )
                }
                else if( 
g_iSilverBetid ][ ] )
                {
                    
set_silver_coinsidget_silver_coinsid ) - g_iSilverBetid ][ ] )
                    
ColorChatidRED"^1(^4LLG^1)^3 Counter-Terrorists^1 team has ^4won^1. You lost^3 %d^4 silver coins^1."g_iSilverBetid ][ ] )
                }

                if( 
g_iGoldBetid ][ ] )
                {
                    new 
got_coins g_iGoldBetid ][ ] * 2
                    set_gold_coins
idget_gold_coinsid ) + got_coins )
                    
ColorChatidRED"^1(^4LLG^1)^3 Counter-Terrorists^1 team has ^4won^1. You won^3 %d^4 gold coins^1."got_coins )
                }
                else if( 
g_iSilverBetid ][ ] )
                {
                    new 
got_coins g_iSilverBetid ][ ] * 2
                    set_silver_coins
idget_silver_coinsid ) + got_coins )
                    
ColorChatidRED"^1(^4LLG^1)^3 Counter-Terrorists^1 team has^4 won^1. You won^3 %d^4 silver coins^1."got_coins )
                }
            }
        }
    }
    else if( 
containistring"terwin") != -)
    {
        for( new 
id 1id <= get_maxplayers(); id++ )
        {
            if( 
is_user_connectedid ) && !is_user_aliveid ) )
            {
                if( 
g_iGoldBetid ][ ] )
                {
                    
set_gold_coinsidget_gold_coinsid ) - g_iGoldBetid ][ ] )
                    
ColorChatidRED"^1(^4LLG^1)^3 Terrorists^1 team has^4 won^1. You lost^3 %d^4 gold coins^1."g_iGoldBetid ][ ] )
                }
                else if( 
g_iSilverBetid ][ ] )
                {
                    
set_silver_coinsidget_silver_coinsid ) - g_iSilverBetid ][ ] )
                    
ColorChatidRED"^1(^4LLG^1)^3 Terrorists^1 team has^4 won^1. You lost^3 %d^4 silver coins^1."g_iSilverBetid ][ ] )
                }

                if( 
g_iGoldBetid ][ ] )
                {
                    new 
got_coins g_iGoldBetid ][ ] * 2
                    set_gold_coins
idget_gold_coinsid ) + got_coins )
                    
ColorChatidRED"^1(^4LLG^1)^3 Terrorists team^1 has^4 won^1. You won^3 %d^4 gold coins^1."got_coins )
                }
                else if( 
g_iSilverBetid ][ ] )
                {
                    new 
got_coins g_iSilverBetid ][ ] * 2
                    set_silver_coins
idget_silver_coinsid ) + got_coins )
                    
ColorChatidRED"^1(^4LLG^1)^3 Terrorists^1 team has^4 won^1. You won^3 %d^4 silver coins^1."got_coins )
                }
            }
        }

    }
    
g_bCanBet false
}
public 
bet_preid )
{
    if( 
is_user_aliveid ) )
    {
        
ColorChatidRED"^1(^4LLG^1) You can not ^4bet^1 when you are^3 alive^1." )
        return 
PLUGIN_HANDLED
    
}
    if( !
g_bCanBet )
    {
        
ColorChatidRED"^1(^4LLG^1) Betting is^4 closed^1. You must wait for new^3 round^1." )
        return 
PLUGIN_HANDLED
    
}
    if( 
g_iWillBetid ] >= )
    {
        
ColorChatidRED"^1(^4LLG^1) You^4 already bet^1. You must wait for the next^3 round^1." )
        return 
PLUGIN_HANDLED
    
}
    new 
menu menu_create"\r(LLG)\y BET COINS:^n^n\yTeam:""pre_handle" )

    
menu_additemmenu"Counter-Terrorist" )
    
menu_additemmenu"Terrorist" )

    
menu_displayidmenu )

    return 
PLUGIN_HANDLED
}
public 
pre_handleidmenuitem )
{
    if( 
item == MENU_EXIT )
    {
        
g_iWillBetid ] = -1
        menu_destroy
menu )
        return 
PLUGIN_HANDLED
    
}
    switch( 
item )
    {
        case 
0g_iWillBetid ] = //for CT
        
case 1g_iWillBetid ] = //for TR
    
}
    {
    
choose_coinsid )
    
menu_destroyid )
    return 
PLUGIN_HANDLED
    
}
}
public 
choose_coinsid )
{
    new 
menu menu_create"Bet Coins""coins_handle" )

    
menu_additemmenu"\yGold" )
    
menu_additemmenu"\dSilver" )

    
menu_displayidmenu )
    return 
PLUGIN_HANDLED
}
public 
coins_handleidmenuitem )
{
    if( 
item == MENU_EXIT )
    {
        
g_iWillBetid ] = -1
        menu_destroy
menu )
        return 
PLUGIN_HANDLED
    
}
    switch( 
item )
    {
        case 
0:
        {
            
ColorChatidRED"^1(^4LLG^1) Gold Bet is currently^3 DISABLED^1 by the ^4server^1." )
            
//Gold_Menu( id )
        
}
        case 
1Silver_Menuid )
    }
    
menu_destroymenu )
    return 
PLUGIN_HANDLED
}
public 
Gold_Menuid )
{
    new 
menu menu_createfmt"Amount of Gold Coins:^n\dYou have:\y %d"get_gold_coinsid ) ), "gold_handle" )

    
menu_additemmenu"1""1" )
    
menu_additemmenu"3""3" )
    
menu_additemmenu"5""5" )
    
menu_additemmenu"7""7" )
    
menu_additemmenu"9""9" )
    
menu_additemmenu"11""11" )
    
menu_additemmenu"15""15" )
    
menu_additemmenu"20""20" )    
    
menu_additemmenu"45""45" )
    
menu_additemmenu"75""75" )    
    
menu_additemmenu"100""100" )
    
    
    
menu_displayidmenu )
    return 
PLUGIN_HANDLED
}
public 
gold_handleidmenuitem )
{
    if( 
item == MENU_EXIT )
    {
        
g_iWillBetid ] = -1
        menu_destroy
menu )
        return 
PLUGIN_HANDLED
    
}
    new 
szData], _accessitem_callback
    menu_item_getinfo
menuitem_accessszDatacharsmaxszData ), __item_callback )

    new 
iCoins str_to_numszData )

    if( 
get_gold_coinsid ) >= iCoins )
    {
        
g_iGoldBetid ][ g_iWillBetid ] ] = iCoins
        ColorChat
idBLUE"^1(^4LLG^1) You bet^3 %d^1 Gold Coins for^4 %s^1 team to win!"g_iGoldBetid ][ g_iWillBetid ] ], g_iWillBetid ] == "Counter-Terrorists":"Terrorists" )
        
set_gold_coinsidget_gold_coinsid ) - g_iGoldBetid ][ g_iWillBetid ] ] )
    }
    else
    {
        
ColorChatidBLUE"^1(^4LLG^1) You don't have enough^4 coins^1." )
    }
    
menu_destroymenu )
    return 
PLUGIN_HANDLED
}
public 
Silver_Menuid )
{
    new 
menu menu_createfmt"Amount of Silver Coins:^n\dYou have:\y %d"get_silver_coinsid ) ), "silver_handle" )

    
menu_additemmenu"1""1" )
    
menu_additemmenu"3""3" )
    
menu_additemmenu"5""5" )
    
menu_additemmenu"7""7" )
    
menu_additemmenu"9""9" )
    
menu_additemmenu"11""11" )
    
menu_additemmenu"15""15" )
    
menu_additemmenu"20""20" )    
    
menu_additemmenu"45""45" )
    
menu_additemmenu"75""75" )    
    
menu_additemmenu"100""100" )

    
menu_displayidmenu )
    return 
PLUGIN_HANDLED
}
public 
silver_handleidmenuitem )
{
    if( 
item == MENU_EXIT )
    {
        
g_iWillBetid ] = -1
        menu_destroy
menu )
        return 
PLUGIN_HANDLED
    
}
    new 
szData], _accessitem_callback
    menu_item_getinfo
menuitem_accessszDatacharsmaxszData ), __item_callback )

    new 
iCoins str_to_numszData)

    if( 
get_silver_coinsid ) >= iCoins )
    {
        
g_iSilverBetid ][ g_iWillBetid ] ] = iCoins
        ColorChat
idBLUE"^1(^4LLG^1) You bet^3 %d^1 Silver Coins for^4 %s^1 team to win!"g_iSilverBetid ][ g_iWillBetid ] ], g_iWillBetid ] == "Counter-Terrorists":"Terrorists" )
        
set_silver_coinsidget_silver_coinsid ) - g_iSilverBetid ][ g_iWillBetid ] ] )
    }
    else
    {
        
ColorChatidBLUE"^1(^4LLG^1) You don't have enough^4 coins^1." )
    }
    
menu_destroymenu )
    return 
PLUGIN_HANDLED



Error logs

L 02/02/2022 - 15:59:32: [AMXX] Displaying debug trace (plugin "llg_bet.amxx", version "1.0")
L 02/02/2022 - 15:59:32: [AMXX] Run time error 4: index out of bounds
L 02/02/2022 - 15:59:32: [AMXX] [0] llg_bet.sma::silver_handle (line 295)

L 02/03/2022 - 08:36:24: Invalid menu id 3(1)
L 02/03/2022 - 08:36:24: [AMXX] Displaying debug trace (plugin "llg_bet2.amxx", version "1.0")
L 02/03/2022 - 08:36:24: [AMXX] Run time error 10: native error (native "menu_destroy")
L 02/03/2022 - 08:36:24: [AMXX] [0] llg_bet2.sma::pre_handle (line 153)
L 02/03/2022 - 08:38:07: Invalid menu id 3(3)
L 02/03/2022 - 08:38:07: [AMXX] Displaying debug trace (plugin "llg_bet2.amxx", version "1.0")
L 02/03/2022 - 08:38:07: [AMXX] Run time error 10: native error (native "menu_destroy")
L 02/03/2022 - 08:38:07: [AMXX] [0] llg_bet2.sma::pre_handle (line 153)
L 02/03/2022 - 08:46:04: Invalid menu id 3(4)
L 02/03/2022 - 08:46:04: [AMXX] Displaying debug trace (plugin "llg_bet2.amxx", version "1.0")
L 02/03/2022 - 08:46:04: [AMXX] Run time error 10: native error (native "menu_destroy")
L 02/03/2022 - 08:46:04: [AMXX] [0] llg_bet2.sma::pre_handle (line 153)

OciXCrom 02-03-2022 15:23

Re: Help plugin bet
 
Code:
choose_coins( id ) menu_destroy( id )

You're displaying a different menu before destroying the previous one. Switch these two lines around.

Code:
g_iSilverBet[ id ][ g_iWillBet[ id ] ] = iCoins

Make sure g_iWillBet is not -1 when using this.

By the way, none of this is a reason for the server to crash.


All times are GMT -4. The time now is 11:35.

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