Member
|
02-03-2022
, 01:52
Help plugin bet
|
#1
|
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_coins( id ) native get_silver_coins( id )
native set_gold_coins( id, num ) native set_silver_coins( id, num )
new g_iGoldBet[ 33 ][ 2 ] //0 = CT bet, 1 = TR BET new g_iSilverBet[ 33 ][ 2 ] //0 = CT bet, 1 = TR BET
new g_iWillBet[ 33 ] //-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( 1 ) new victim = read_data( 2 ) if( killer != victim ) { ColorChat( victim, BLUE, "^1(^4LLG^1) You can bet on your favorite team with say^4 /bet^1." ) set_hudmessage( 70, 255, 55, 0.02, 0.25, 0, 0.5, 5.0, 0.5, 0.5, -1 ) show_hudmessage( victim, "Bet on your favorite team with say /bet" ) } } public client_putinserver( id ) { ResetCoins( id ) } public client_disconnected( id ) { ResetCoins( id ) } public event_new_round() { g_bCanBet = true for( new id = 1; id <= get_maxplayers(); id++ ) { if( is_user_connected( id ) ) ResetCoins( id ) } } public ResetCoins( id ) { g_iGoldBet[ id ][ 0 ] = 0 g_iGoldBet[ id ][ 1 ] = 0
g_iSilverBet[ id ][ 0 ] = 0 g_iSilverBet[ id ][ 1 ] = 0
g_iWillBet[ id ] = -1 } public event_sendAudio() { new string[ 22 ] read_data( 2, string, charsmax( string ) )
if( containi( string, "ctwin" ) != -1 ) { for( new id = 1; id <= get_maxplayers(); id++ ) { if( is_user_connected( id ) && !is_user_alive( id ) ) { if( g_iGoldBet[ id ][ 1 ] ) { set_gold_coins( id, get_gold_coins( id ) - g_iGoldBet[ id ][ 1 ] ) ColorChat( id, RED, "^1(^4LLG^1)^3 Counter-Terrorists^1 team has ^4won^1. You lost^3 %d^4 gold coins^1.", g_iGoldBet[ id ][ 1 ] ) } else if( g_iSilverBet[ id ][ 1 ] ) { set_silver_coins( id, get_silver_coins( id ) - g_iSilverBet[ id ][ 1 ] ) ColorChat( id, RED, "^1(^4LLG^1)^3 Counter-Terrorists^1 team has ^4won^1. You lost^3 %d^4 silver coins^1.", g_iSilverBet[ id ][ 1 ] ) }
if( g_iGoldBet[ id ][ 0 ] ) { new got_coins = g_iGoldBet[ id ][ 1 ] * 2 set_gold_coins( id, get_gold_coins( id ) + got_coins ) ColorChat( id, RED, "^1(^4LLG^1)^3 Counter-Terrorists^1 team has ^4won^1. You won^3 %d^4 gold coins^1.", got_coins ) } else if( g_iSilverBet[ id ][ 0 ] ) { new got_coins = g_iSilverBet[ id ][ 0 ] * 2 set_silver_coins( id, get_silver_coins( id ) + got_coins ) ColorChat( id, RED, "^1(^4LLG^1)^3 Counter-Terrorists^1 team has^4 won^1. You won^3 %d^4 silver coins^1.", got_coins ) } } } } else if( containi( string, "terwin") != -1 ) { for( new id = 1; id <= get_maxplayers(); id++ ) { if( is_user_connected( id ) && !is_user_alive( id ) ) { if( g_iGoldBet[ id ][ 0 ] ) { set_gold_coins( id, get_gold_coins( id ) - g_iGoldBet[ id ][ 0 ] ) ColorChat( id, RED, "^1(^4LLG^1)^3 Terrorists^1 team has^4 won^1. You lost^3 %d^4 gold coins^1.", g_iGoldBet[ id ][ 0 ] ) } else if( g_iSilverBet[ id ][ 0 ] ) { set_silver_coins( id, get_silver_coins( id ) - g_iSilverBet[ id ][ 0 ] ) ColorChat( id, RED, "^1(^4LLG^1)^3 Terrorists^1 team has^4 won^1. You lost^3 %d^4 silver coins^1.", g_iSilverBet[ id ][ 0 ] ) }
if( g_iGoldBet[ id ][ 1 ] ) { new got_coins = g_iGoldBet[ id ][ 1 ] * 2 set_gold_coins( id, get_gold_coins( id ) + got_coins ) ColorChat( id, RED, "^1(^4LLG^1)^3 Terrorists team^1 has^4 won^1. You won^3 %d^4 gold coins^1.", got_coins ) } else if( g_iSilverBet[ id ][ 1 ] ) { new got_coins = g_iSilverBet[ id ][ 1 ] * 2 set_silver_coins( id, get_silver_coins( id ) + got_coins ) ColorChat( id, RED, "^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_pre( id ) { if( is_user_alive( id ) ) { ColorChat( id, RED, "^1(^4LLG^1) You can not ^4bet^1 when you are^3 alive^1." ) return PLUGIN_HANDLED } if( !g_bCanBet ) { ColorChat( id, RED, "^1(^4LLG^1) Betting is^4 closed^1. You must wait for new^3 round^1." ) return PLUGIN_HANDLED } if( g_iWillBet[ id ] >= 0 ) { ColorChat( id, RED, "^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_additem( menu, "Counter-Terrorist" ) menu_additem( menu, "Terrorist" )
menu_display( id, menu )
return PLUGIN_HANDLED } public pre_handle( id, menu, item ) { if( item == MENU_EXIT ) { g_iWillBet[ id ] = -1 menu_destroy( menu ) return PLUGIN_HANDLED } switch( item ) { case 0: g_iWillBet[ id ] = 0 //for CT case 1: g_iWillBet[ id ] = 1 //for TR } { choose_coins( id ) menu_destroy( id ) return PLUGIN_HANDLED } } public choose_coins( id ) { new menu = menu_create( "Bet Coins", "coins_handle" )
menu_additem( menu, "\yGold" ) menu_additem( menu, "\dSilver" )
menu_display( id, menu ) return PLUGIN_HANDLED } public coins_handle( id, menu, item ) { if( item == MENU_EXIT ) { g_iWillBet[ id ] = -1 menu_destroy( menu ) return PLUGIN_HANDLED } switch( item ) { case 0: { ColorChat( id, RED, "^1(^4LLG^1) Gold Bet is currently^3 DISABLED^1 by the ^4server^1." ) //Gold_Menu( id ) } case 1: Silver_Menu( id ) } menu_destroy( menu ) return PLUGIN_HANDLED } public Gold_Menu( id ) { new menu = menu_create( fmt( "Amount of Gold Coins:^n\dYou have:\y %d", get_gold_coins( id ) ), "gold_handle" )
menu_additem( menu, "1", "1" ) menu_additem( menu, "3", "3" ) menu_additem( menu, "5", "5" ) menu_additem( menu, "7", "7" ) menu_additem( menu, "9", "9" ) menu_additem( menu, "11", "11" ) menu_additem( menu, "15", "15" ) menu_additem( menu, "20", "20" ) menu_additem( menu, "45", "45" ) menu_additem( menu, "75", "75" ) menu_additem( menu, "100", "100" ) menu_display( id, menu ) return PLUGIN_HANDLED } public gold_handle( id, menu, item ) { if( item == MENU_EXIT ) { g_iWillBet[ id ] = -1 menu_destroy( menu ) return PLUGIN_HANDLED } new szData[ 6 ], _access, item_callback menu_item_getinfo( menu, item, _access, szData, charsmax( szData ), _, _, item_callback )
new iCoins = str_to_num( szData )
if( get_gold_coins( id ) >= iCoins ) { g_iGoldBet[ id ][ g_iWillBet[ id ] ] = iCoins ColorChat( id, BLUE, "^1(^4LLG^1) You bet^3 %d^1 Gold Coins for^4 %s^1 team to win!", g_iGoldBet[ id ][ g_iWillBet[ id ] ], g_iWillBet[ id ] == 0 ? "Counter-Terrorists":"Terrorists" ) set_gold_coins( id, get_gold_coins( id ) - g_iGoldBet[ id ][ g_iWillBet[ id ] ] ) } else { ColorChat( id, BLUE, "^1(^4LLG^1) You don't have enough^4 coins^1." ) } menu_destroy( menu ) return PLUGIN_HANDLED } public Silver_Menu( id ) { new menu = menu_create( fmt( "Amount of Silver Coins:^n\dYou have:\y %d", get_silver_coins( id ) ), "silver_handle" )
menu_additem( menu, "1", "1" ) menu_additem( menu, "3", "3" ) menu_additem( menu, "5", "5" ) menu_additem( menu, "7", "7" ) menu_additem( menu, "9", "9" ) menu_additem( menu, "11", "11" ) menu_additem( menu, "15", "15" ) menu_additem( menu, "20", "20" ) menu_additem( menu, "45", "45" ) menu_additem( menu, "75", "75" ) menu_additem( menu, "100", "100" )
menu_display( id, menu ) return PLUGIN_HANDLED } public silver_handle( id, menu, item ) { if( item == MENU_EXIT ) { g_iWillBet[ id ] = -1 menu_destroy( menu ) return PLUGIN_HANDLED } new szData[ 6 ], _access, item_callback menu_item_getinfo( menu, item, _access, szData, charsmax( szData ), _, _, item_callback )
new iCoins = str_to_num( szData)
if( get_silver_coins( id ) >= iCoins ) { g_iSilverBet[ id ][ g_iWillBet[ id ] ] = iCoins ColorChat( id, BLUE, "^1(^4LLG^1) You bet^3 %d^1 Silver Coins for^4 %s^1 team to win!", g_iSilverBet[ id ][ g_iWillBet[ id ] ], g_iWillBet[ id ] == 0 ? "Counter-Terrorists":"Terrorists" ) set_silver_coins( id, get_silver_coins( id ) - g_iSilverBet[ id ][ g_iWillBet[ id ] ] ) } else { ColorChat( id, BLUE, "^1(^4LLG^1) You don't have enough^4 coins^1." ) } menu_destroy( menu ) return PLUGIN_HANDLED }
Error logs
L 02/02/2022 - 15:59 2: [AMXX] Displaying debug trace (plugin "llg_bet.amxx", version "1.0")
L 02/02/2022 - 15:59 2: [AMXX] Run time error 4: index out of bounds
L 02/02/2022 - 15:59 2: [AMXX] [0] llg_bet.sma::silver_handle (line 295)
L 02/03/2022 - 08 6:24: Invalid menu id 3(1)
L 02/03/2022 - 08 6:24: [AMXX] Displaying debug trace (plugin "llg_bet2.amxx", version "1.0")
L 02/03/2022 - 08 6:24: [AMXX] Run time error 10: native error (native "menu_destroy")
L 02/03/2022 - 08 6:24: [AMXX] [0] llg_bet2.sma::pre_handle (line 153)
L 02/03/2022 - 08 8:07: Invalid menu id 3(3)
L 02/03/2022 - 08 8:07: [AMXX] Displaying debug trace (plugin "llg_bet2.amxx", version "1.0")
L 02/03/2022 - 08 8:07: [AMXX] Run time error 10: native error (native "menu_destroy")
L 02/03/2022 - 08 8: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)
Last edited by AlexandruODT; 02-03-2022 at 06:14.
|
|