Buggy code:
@ Override public int onPlayerDisconnect ( int playerId , int reason ) { } @ Override public int onPlayerSpawn ( int playerId ) { } @ Override public int onPlayerDeath ( int playerId , int killerId , int reason ) { } @ Override public int onVehicleSpawn ( int vehicleId ) { } @ Override public int onVehicleDeath ( int vehicleId , int killerId ) { } @ Override public int onPlayerText ( int playerId , String text ) { } @ Override public int onPlayerCommandText ( int playerId , String cmdtext ) { } @ Override public int onPlayerRequestClass ( int playerId , int classId ) { } @ Override public int onPlayerEnterVehicle ( int playerId , int vehicleId , int isPassenger ) { } @ Override public int onPlayerExitVehicle ( int playerId , int vehicleId ) { } @ Override public int onPlayerStateChange ( int playerId , int state , int oldState ) { } @ Override public int onPlayerEnterCheckpoint ( int playerId ) { } @ Override public int onPlayerLeaveCheckpoint ( int playerId ) { } @ Override public int onPlayerEnterRaceCheckpoint ( int playerId ) { } @ Override public int onPlayerLeaveRaceCheckpoint ( int playerId ) { } @ Override public int onRconCommand ( String cmd ) { } @ Override public int onPlayerRequestSpawn ( int playerId ) { } @ Override public int onObjectMoved ( int objectId ) { } @ Override public int onPlayerObjectMoved ( int playerId , int objectId ) { } @ Override public int onPlayerPickUpPickup ( int playerId , int pickupId ) { } @ Override public int onVehicleMod ( int playerId , int vehicleId , int componentId ) { } @ Override public int onEnterExitModShop ( int playerId , int enterexit , int interiorId ) { } @ Override public int onVehiclePaintjob ( int playerId , int vehicleId , int paintjobId ) { } @ Override public int onVehicleRespray ( int playerId , int vehicleId , int color1 , int color2 ) { } @ Override public int onVehicleDamageStatusUpdate ( int vehicleId , int playerId ) { } @ Override public int onUnoccupiedVehicleUpdate ( int vehicleId , int playerId , int passengerSeat , float newX , float newY , float newZ , float vel_x , float vel_y , float vel_z ) { } @ Override public int onPlayerSelectedMenuRow ( int playerId , int row ) { } @ Override public int onPlayerExitedMenu ( int playerId ) { } @ Override public int onPlayerInteriorChange ( int playerId , int interiorId , int oldInteriorId ) { } @ Override public int onPlayerKeyStateChange ( int playerId , int keys , int oldKeys ) { } @ Override public int onRconLoginAttempt ( String ip , String password , int isSuccess ) { } @ Override public int onPlayerUpdate ( int playerId ) { } @ Override public int onPlayerStreamIn ( int playerId , int forPlayerId ) { } @ Override public int onPlayerStreamOut ( int playerId , int forPlayerId ) { } @ Override public int onVehicleStreamIn ( int vehicleId , int forPlayerId ) { } @ Override public int onVehicleStreamOut ( int vehicleId , int forPlayerId ) { } @ Override public int onDialogResponse ( int playerId , int dialogId , int response , int listitem , String inputtext ) { try { Player player = sampObjectStore . getPlayer ( playerId ) ; DialogId dialog = sampObjectStore . getDialog ( dialogId ) ; if ( dialog == null ) return 0 ; if ( ( player != null ) && ( player instanceof PlayerImpl ) ) ( ( PlayerImpl ) ( player ) ) . setDialog ( null ) ; <START_BUG> int ret = DialogEventUtils . dispatchResponeEvent ( rootEventManager , dialog , player , response , listitem , inputtext ) ; <END_BUG> DialogEventUtils . dispatchCloseEvent ( rootEventManager , dialog , player , RESPOND ) ; return ret ; } catch ( Throwable e ) { e . printStackTrace ( ) ; return 0 ; } } @ Override public int onPlayerTakeDamage ( int playerId , int issuerId , float amount , int weaponId , int bodypart ) { } @ Override public int onPlayerGiveDamage ( int playerId , int damagedId , float amount , int weaponId , int bodypart ) { } @ Override public int onPlayerClickMap ( int playerId , float x , float y , float z ) { } @ Override public int onPlayerClickTextDraw ( int playerid , int clickedid ) { } @ Override public int onPlayerClickPlayerTextDraw ( int playerid , int playertextid ) { } @ Override public int onPlayerClickPlayer ( int playerId , int clickedPlayerId , int source ) { } @ Override public int onPlayerEditObject ( int playerid , int playerobject , int objectid , int response , float fX , float fY , float fZ , float fRotX , float fRotY , float fRotZ ) { } @ Override public int onPlayerEditAttachedObject ( int playerid , int response , int index , int modelid , int boneid , float fOffsetX , float fOffsetY , float fOffsetZ , float fRotX , float fRotY , float fRotZ , float fScaleX , float fScaleY , float fScaleZ ) { } @ Override public int onPlayerSelectObject ( int playerid , int type , int objectid , int modelid , float fX , float fY , float fZ ) { } @ Override public int onPlayerWeaponShot ( int playerid , int weaponid , int hittype , int hitid , float fX , float fY , float fZ ) { } @ Override public int onIncomingConnection ( int playerid , String ipAddress , int port ) { } @ Override public int onTrailerUpdate ( int playerid , int vehicleid ) { } @ Override public int onAmxVehicleCreated ( int vehicleid , int modelid , float x , float y , float z , float angle , int interiorid , int worldid , int color1 , int color2 , int respawn_delay ) { }

Fix:
int ret = DialogEventUtils . dispatchResponseEvent ( rootEventManager , dialog , player , response , listitem , inputtext ) ;