³ò
àŸÔPc           @   s  d  Z  d d k Z d d k Z d d k Z e i ƒ  e i ƒ  Z d e d <d e d <d e d <d	 e d
 <d e d <d d „ Z d „  Z e	 d „ Z
 h  d „ Z d „  Z d „  Z d „  Z d „  Z d d d d d „ Z d d d d d d d d d d d d d d d d d „ Z d „  Z d S(   sÒ  usermsg.py

Wrappers around some common usermessages.

Note: for more information on what each function does, check the comment
      inside the function.

Available functions:
 * fade(users, 0 = no fade, 1 = fade out 2 = fade in, time to fadein, hold time, red, green, blue, alpha)
 * shake(users, magnitude, time)
 * motd(users, type, title, msg, [show / hide])
 * hudhint(users, msg)
 * centermsg(users, msg)
 * echo(users, msg)
 * saytext2(users, index, msg, [arg1-4])
 * showVGUIPanel(users, panelname, show / hide, data)

All commands first argument is "users". Users accepts the following formats:
 * #all, #alive, #bot, #human, #dead, etc.
 * userids in a sequence (tuple or list).
 * userid as string or integer.
iÿÿÿÿNs#   Usermsg EventScripts python libraryt   namet   r880t   versions   ES development teamt   authorss,   http://python.eventscripts.com/pages/Usermsgt   urls1   Provides complex usermsg functionality simplifiedt   descriptioniÿ   c         C   s¾   t  i d d d ƒ t  i d d d | ƒ t  i d d d | ƒ t  i d d d | ƒ t  i d d d | ƒ t  i d d d | ƒ t  i d d d | ƒ t  i d d d | ƒ t |  d ƒ d S(   s   Fades a players screen.t   createt   fadet   Fadet   writet   shortt   byteN(   t   est   usermsgt   __sendMessage(   t   userst   typet   timet   holdTimet   redt   greent   bluet   alpha(    (    sN   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/usermsg.pyR   &   s    c         C   s|   t  i d d d ƒ t  i d d d d ƒ t  i d d d | ƒ t  i d d d d ƒ t  i d d d | ƒ t |  d ƒ d	 S(
   s   Shakes a players screen.R   t   shaket   ShakeR	   R   i    t   floatg      ð?N(   R   R   R   (   R   t	   magnitudeR   (    (    sN   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/usermsg.pyR   3   s    c         C   s8   h  | d <| d <| d <} t  |  d | | ƒ d S(   sm   Shows an info panel to a player.

    Types available:
        0 = Text
        2 = URL
        3 = File
    t   titleR   t   msgt   infoN(   t   showVGUIPanel(   R   R   R   t   messaget   visiblet   data(    (    sN   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/usermsg.pyt   motd=   s    		c         C   s³   t  i d d d ƒ t  i d d d | ƒ t  i d d d t | ƒ ƒ t  i d d d t | ƒ ƒ x> | D]6 } t  i d d d | ƒ t  i d d d | | ƒ qh Wt |  d ƒ d S(   s  Shows a VGUI panel client-side with the option to set its visibility
    state.

    Available panel names (taken straight from Source SDK):
     * all -- ?
     * active -- ?
     * scores -- Scoreboard
     * overview -- Radar / overview map
     * specgui -- Spectator GUI (top bar when spectator)
     * specmenu -- Spectator Menu (bottom bar when spectator)
     * info -- Info panel (MOTD and the like)
     * nav_progress -- Navigation Build Progress
     * team -- Team selection panel
     * class -- Class selection panel
    R   t   panelt   VGUIMenuR	   t   stringR   N(   R   R   t   intt   lenR   (   R   t	   panelNameR    R!   t   key(    (    sN   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/usermsg.pyR   N   s     c         C   sP   t  i d d d ƒ t  i d d d d ƒ t  i d d d | ƒ t |  d ƒ d S(	   s!   Shows a hint message on a player.R   t   hudhintt   HintTextR	   t   booli    R%   N(   R   R   R   (   R   R   (    (    sN   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/usermsg.pyR*   l   s    c         C   sP   t  i d d d ƒ t  i d d d d ƒ t  i d d d | ƒ t |  d ƒ d S(	   s$   Shows a keyhint message on a player.R   t   keyhintt   KeyHintTextR	   R   i   R%   N(   R   R   R   (   R   R   (    (    sN   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/usermsg.pyR-   t   s    c         C   sP   t  i d d d ƒ t  i d d d d ƒ t  i d d d | ƒ t |  d ƒ d S(	   s2   Shows a message in the center of a players screen.R   t	   centermsgt   TextMsgR	   R   i   R%   N(   R   R   R   (   R   R   (    (    sN   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/usermsg.pyR/   |   s    c         C   sP   t  i d d d ƒ t  i d d d d ƒ t  i d d d | ƒ t |  d ƒ d S(	   s%   Shows a message in a players console.R   t   echoR0   R	   R   i   R%   N(   R   R   R   (   R   R   (    (    sN   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/usermsg.pyR1   „   s    i    c         C   s¾   t  i d d d ƒ t  i d d d | ƒ t  i d d d d ƒ t  i d d d | ƒ t  i d d d | ƒ t  i d d d | ƒ t  i d d d | ƒ t  i d d d | ƒ t |  d ƒ d S(	   s2   Shows a coloured message in a players chat window.R   t   saytext2t   SayText2R	   R   i   R%   N(   R   R   R   (   R   t   indexR   t   arg1t   arg2t   arg3t   arg4(    (    sN   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/usermsg.pyR2   Œ   s    g      à?gš™™™™™¹?g      @g        c         C   sž  t  i d d d ƒ t  i d d d | d @ƒ t  i d d d | ƒ t  i d d d | ƒ t  i d d d | ƒ t  i d d d | ƒ t  i d d d | ƒ t  i d d d | ƒ t  i d d d |	 ƒ t  i d d d |
 ƒ t  i d d d | ƒ t  i d d d | ƒ t  i d d d | ƒ t  i d d d | ƒ t  i d d d | ƒ t  i d d d | ƒ t  i d d d | ƒ t  i d d d | ƒ t |  d ƒ d	 S(
   sÈ  Shows a coloured message on a players HUD (not supported on CS:S).

    X and Y are from 0 to 1 to be screen resolution independent, -1 means
    center on each axis.

    Effects:
        0 = Fade in and Fade out
        1 = Flickering Credits
        2 = Write out (Training Room)

    Fadein and Fadeout are the amount of time it takes to fade in and out (per
    character if using effect 2).

    Holdtime is how long the message stays on screen.
    R   t   hudmsgt   HudMsgR	   R   iÿ   R   R%   N(   R   R   R   (   R   R   t   channelt   xt   yt   r1t   g1t   b1t   a1t   r2t   g2t   b2t   a2t   effectt   fadeint   fadeoutt   holdtimet   fxtime(    (    sN   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/usermsg.pyR9   ™   s&    c         C   s–   t  |  ƒ d d j o t i |  ƒ }  n t |  d ƒ p |  f }  n x8 |  D]0 } t i d | ƒ o t i d | | ƒ qN qN Wt i d | ƒ d  S(   Ni    t   #t   __iter__t   useridt   sendt   delete(   t   strt	   playerlibt   getUseridListt   hasattrR   t   existsR   (   R   R    RM   (    (    sN   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/usermsg.pyR   À   s     .(   t   __doc__R   RQ   t   psycot   fullt	   AddonInfoR   R   R   t   TrueR"   R   R*   R-   R/   R1   R2   R9   R   (    (    (    sN   /home/saberrider/srcds/css/cstrike/addons/eventscripts/_libs/python/usermsg.pys   <module>   s.   





	
					%