Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Script para combinação de teclas sem timer. Sequência: A, B, C e D
- Obs: Não testado.
- */
- A <- BindKey( true, 0x41 );
- B <- BindKey( true, 0x42 );
- C <- BindKey( true, 0x43 );
- D <- BindKey( true, 0x44 );
- pKeys <- {};
- function onPlayerJoin( player )
- {
- pKeys.rawset( player.ID, { IsRunning = false, KeyA = false, KeyB = false, KeyC = false, KeyD = false, LastKey = null, Time = 0 } );
- }
- function onPlayerPart( player, reason )
- {
- pKeys.rawdelete( player.ID );
- }
- function onKeyDown( player, bindID )
- {
- switch ( bindID )
- {
- case A:
- {
- pKeys[ player.ID ]["KeyA"] = true;
- }
- break;
- case B:
- {
- pKeys[ player.ID ]["KeyB"] = true;
- }
- break;
- case C:
- {
- pKeys[ player.ID ]["KeyC"] = true;
- }
- break;
- case D:
- {
- pKeys[ player.ID ]["KeyD"] = true;
- }
- break;
- default: break;
- }
- }
- function onKeyUp( player, bindID )
- {
- switch ( bindID )
- {
- case A:
- {
- if ( pKeys[ player.ID ]["LastKey"] == "A" ) return KeyInfo( player, 1 );
- else
- {
- pKeys[ player.ID ]["IsRunning"] = true;
- pKeys[ player.ID ]["KeyA"] = false;
- pKeys[ player.ID ]["LastKey"] = "A";
- pKeys[ player.ID ]["Time"] = time();
- MessagePlayer( "Combinacao iniciada!", player );
- }
- }
- break;
- case B:
- {
- if ( pKeys[ player.ID ]["IsRunning"] )
- {
- if ( ( time() - pKeys[ player.ID ]["Time"] ) <= 3 )
- {
- if ( pKeys[ player.ID ]["LastKey"] == "B" ) return KeyInfo( player, 1 );
- else
- {
- pKeys[ player.ID ]["KeyB"] = false;
- pKeys[ player.ID ]["LastKey"] = "B";
- pKeys[ player.ID ]["Time"] = time();
- }
- }
- else return KeyInfo( player, 2 );
- }
- }
- break;
- case C:
- {
- if ( pKeys[ player.ID ]["IsRunning"] )
- {
- if ( ( time() - pKeys[ player.ID ]["Time"] ) <= 3 )
- {
- if ( pKeys[ player.ID ]["LastKey"] == "C" ) return KeyInfo( player, 1 );
- else
- {
- pKeys[ player.ID ]["KeyB"] = false;
- pKeys[ player.ID ]["LastKey"] = "C";
- pKeys[ player.ID ]["Time"] = time();
- }
- }
- else return KeyInfo( player, 2 );
- }
- }
- break;
- case D:
- {
- if ( pKeys[ player.ID ]["IsRunning"] )
- {
- if ( ( time() - pKeys[ player.ID ]["Time"] ) <= 3 )
- {
- if ( pKeys[ player.ID ]["LastKey"] == "C" ) return KeyInfo( player, 3 );
- else
- {
- pKeys[ player.ID ]["KeyB"] = false;
- pKeys[ player.ID ]["LastKey"] = "D";
- pKeys[ player.ID ]["Time"] = time();
- }
- }
- else return KeyInfo( player, 2 );
- }
- }
- break;
- default: break;
- }
- }
- function KeyInfo( player, msgtype )
- {
- switch ( msgtype )
- {
- case 1:
- {
- MessagePlayer( "Tecla errada!", player );
- }
- break;
- case 2:
- {
- MessagePlayer( "Voce foi lento ao digitar a combinacao de teclas.", player );
- }
- break;
- case 3:
- {
- MessagePlayer( "Combinacao finalizada!", player );
- }
- break;
- default: break;
- }
- pKeys.rawset( player.ID, { IsRunning = false, KeyA = false, KeyB = false, KeyC = false, KeyD = false, LastKey = null, Time = 0 } );
- }
Add Comment
Please, Sign In to add comment