I'm not 100% sure I understand your question, but here's some code I made a while ago:
<?php
Event OnMSO( $text ) # Player event
SWITCH( $command )
CASE "!msg":
IF( UserInGroup( "admin", $userName ) == 1 )
THEN
openPrivButton( "send_msg",52,0,48,5,5,-1,32,"^3Click to resend message: &" .GetCurrentPlayerVar ("message"),rcm_msg );
openPrivButton( "write_send_msg_bg",100,0,48,10,5,-1,32,"" );
openPrivTextButton( "write_send_msg",100,5,48,5,5,0,"^3Write message and click OK (max. 50 characters)","^2Click to type and send a message",50,rcm_written_msg );
openPrivButton( "close_msg",148,0,10,10,5,-1,32,"^1X",close_msg );
ELSE
privMsg( "^1You are not allowed to open that");
ENDIF
BREAK;
ENDSWITCH
EndEvent
Sub rcm_written_msg ( $message )
SetCurrentPlayerVar ("message", "^2".$message);
cmdLFS ( "/rcm ^2" . $message );
cmdLFS ( "/rcm_all" );
openPrivButton( "send_msg",52,0,48,5,5,-1,32,"^3Resend message: &^8" .GetCurrentPlayerVar ("message"),rcm_msg );
EndSub
Sub rcm_msg ( $KeyFlags , $argv )
cmdLFS ( "/rcm ^2" . GetCurrentPlayerVar ( "message" ) );
cmdLFS ( "/rcm_all" );
EndSub
Sub close_msg ( $KeyFlags , $argv )
closePrivButton ( "send_msg&write_send_msg_bg&write_send_msg&close_msg" );
EndSub
?>