# Private message V1.00 27-03-13 Initial release # # Private message V1.01 13-04-13 Removed the extra Send message step + added confirmation message to sender # ################################################################################################################################# CatchEvent OnMSO( $userName, $text ) # Player event $idxOfFirtsSpace = indexOf( $text, " "); IF( $idxOfFirtsSpace == -1 ) THEN $command = $text; $argv = ""; ELSE $command = subStr( $text,0,$idxOfFirtsSpace ); $argv = trim( subStr( $text,$idxOfFirtsSpace ) ); ENDIF SWITCH( $command ) CASE "!privatmsg": Private_message ( 0,0 ); BREAK; ENDSWITCH EndCatchEvent Sub Private_message( $KeyFlags,$id ) ### Set initial values for left/right and top/bottom coordinates ### $left_right_privatmsg = 10; $top_bottom_privatmsg = 50; ### End ### ### Close previously openned buttons during a refresh, to make sure the latest nicknames used are shown, as well as only the players who are currently connected ### FOR ($i=0;$i<=32;$i=$i+1) closePrivButton ("player_".$i."_number&player_".$i."_nickname&player_".$i."_status"); closePrivButton ("p_privatmsg_".$i); ENDFOR ### End ### $mList = GetListOfPlayers("N"); $mCount = arrayCount( $mList ); $plyNum=0; openPrivButton( "private_message_bg",$left_right_privatmsg,$top_bottom_privatmsg,140,115,5,-1,16,""); openPrivButton( "private_message_title",$left_right_privatmsg+1,$top_bottom_privatmsg+1,138,5,5,-1,32,"^7Private message system V1.01" ); WHILE ($plyNum < $mCount) $uName = $mList[$plyNum]; openPrivButton ("player_".$plyNum."_number",$left_right_privatmsg+1,$top_bottom_privatmsg+11,5,5,5,-1,32,$plyNum+1); openPrivButton ("player_".$plyNum."_nickname",$left_right_privatmsg+7,$top_bottom_privatmsg+11,25,5,5,-1,32,GetPlayerVar($uName,"NickName") ); IF ( GetCurrentPlayerVar( "send_message_to_nickname" ) == GetPlayerVar( $uName,"NickName" ) ) THEN openPrivButton ("p_privatmsg_".$plyNum,$left_right_privatmsg+33,$top_bottom_privatmsg+11,35,5,5,-1,32,"^2Selected player"); ELSE openPrivButton ("p_privatmsg_".$plyNum,$left_right_privatmsg+33,$top_bottom_privatmsg+11,35,5,5,-1,32,"^3Select player",Select_player); ENDIF ### Raise $top_bottom_privatmsg with 5 before drawing next button $top_bottom_privatmsg=$top_bottom_privatmsg+5; ### End ### $plyNum=$plyNum+1; ### When player 16 is reached, change value of $left_right_privatmsg to start next colum. Set $top_bottom_privatmsg to initial value ### IF ($plyNum == 16) THEN $left_right_privatmsg = 81; $top_bottom_privatmsg = 50; ENDIF ### End ### ENDWHILE IF ( GetCurrentPlayerVar( "send_message_to_username" ) != "" ) THEN openPrivButton( "send_to_title",11,144,32,5,5,-1,96,"^7Sent message to:" ); openPrivButton( "send_to_name",44,144,100,5,5,-1,64,"" . GetCurrentPlayerVar( "send_message_to_nickname" ) ); openPrivButton( "send_to_message_title",11,149,32,5,5,-1,96,"^7Message:" ); IF ( GetCurrentPlayerVar ("actual_message") == "") THEN openPrivTextButton( "send_to_message",44,149,105,5,5,96,"^3Write private message","^3(Write and send your message (max. 95 characters))",95,Compose_send_message ); ELSE openPrivTextButton( "send_to_message",44,149,105,5,5,96,"^3Write private message","^7".GetCurrentPlayerVar ("actual_message"),95,Compose_send_message ); ENDIF ENDIF openPrivButton( "refresh_privatmsg",60,159,20,5,10,30,32,"^3Refresh (%cpt%)",Private_message ); openPrivButton( "close_privatmsg",80,159,20,5,10,-1,32,"^3Close",Close_private_message ); EndSub Sub Select_player ( $KeyFlags, $id ) $id = Substr($id,12); $mList = GetListOfPlayers("N"); $uName = $mList[$id+0]; $userName = GetCurrentPlayerVar( "UserName" ); SetCurrentPlayerVar( "send_message_to_username", GetPlayerVar ( $uName,"UserName") ); SetCurrentPlayerVar( "send_message_to_nickname", GetPlayerVar ( $uName,"NickName") ); Private_message( 0,0 ); EndSub Sub Close_private_message ( $KeyFlags,$id ) closePrivButton ("private_message_bg&private_message_title&send_to_title&send_to_name&send_to_message_title&send_to_message&refresh_privatmsg&close_privatmsg"); FOR ($i=0;$i<=32;$i=$i+1) closePrivButton ("player_".$i."_number&player_".$i."_nickname&player_".$i."_status"); closePrivButton ("p_privatmsg_".$i); ENDFOR EndSub Sub Compose_send_message ( $KeyFlags, $actual_message ) SetCurrentPlayerVar ("actual_message", $actual_message); ### Send message to the selected player ### PrivMsg ( GetCurrentPlayerVar( "send_message_to_username" ),"^7Private message from: " . GetCurrentPlayerVar( "NickName" ) ); PrivMsg ( GetCurrentPlayerVar( "send_message_to_username" ),"^7" . GetCurrentPlayerVar ( "actual_message") ); ## End ### ### Confirm to sender that message has been send ### PrivMsg ( "^7Message has been send to: " . GetCurrentPlayerVar( "send_message_to_nickname" ) ); ## End ### Private_message( 0, 0 ); EndSub