Jump to content

gaoesa

Management
  • Posts

    4391
  • Joined

  • Last visited

  • Days Won

    167

Reputation Activity

  1. Like
    gaoesa got a reaction from TimOOn in LUA et_Obituary   
    Behaviour depends on the g_logOptions flag 1.
    http://mygamingtalk.com/wiki/index.php/Silent_Mod_Server_Cvar#g_logOptions
  2. Like
    gaoesa got a reaction from Gramp1 in Silent mod (a few problems)   
    Question 1:
    The cvar is wrong, try "g_LTChargeTime" instead. I see that these cvars are missing from the Wiki.
     
    Question 2:
    If the player has PB GUID, it will be included into the ban information. If not, it will be ignored. No risks for other players.
     
    EDIT:
    Added the missing cvar to the Wiki: http://mygamingtalk.com/wiki/index.php/Silent_Mod_Server_Cvar#g_LTChargeTime
  3. Like
    gaoesa got a reaction from Jhonny/Shinobi in !rename bug   
    Fixed in the next version.
     
    http://mygamingtalk.com/forums/tracker/issue-267-rename-command-allows-backslashes-in-names/
  4. Like
    gaoesa got a reaction from Dragonji in Problem: Server Disconnected - Missing name field in userinfo   
    Ok. That is a custom menu for changing names made by the admins of the server. The problem is that the menu is updating the name to the server after each keystroke. So when you have deleted the name, it is updating the server with an empty name. You have found a clear bug, but it is in this case caused by custom server modifications.
     
    I tested our menus, which worked correctly when backspacing.
  5. Like
    gaoesa got a reaction from BettyBoop in Silent mod (a few problems)   
    Set it back to -1 like the link says.
  6. Like
    gaoesa reacted to TimOOn in !rename bug   
    Yup, its just a single function.
    function et_ClientCommand(clientNum, cmd) cmd = string.lower(cmd) if string.find(et.trap_Argv(1), "!rename") or cmd == "!rename" then if string.find(et.ConcatArgs(1), "\\") then et.trap_SendServerCommand( clientNum, "print \"^orename: ^7can't use names with a \'\\\'\n\"" ) return 1 else return 0 end end end
  7. Like
    gaoesa got a reaction from clan DIABOLIK in zoom of binocular to high   
    It is a client only setting. You might have a forcecvar setting in your server configuration though.
  8. Like
    gaoesa reacted to Purple in ET Server Series!   
    I've started on a basic ET server configuration series for people. I will continue to update this topic with more and more videos
     
    (p.s sorry for the low quality videos going to use something else for recording <3)
     
     
    $part 1
    https://www.youtube.com/watch?v=ewwoq1ZUo-Y&feature=youtu.be
  9. Like
    gaoesa got a reaction from RockhopperHosting in Rockhopper Hosting   
    This forum is not tied to a single game or even to the silEnT mod for Enemy Territory at all.
  10. Like
    gaoesa got a reaction from Jhonny/Shinobi in !showtk   
    Sounds reasonable and that information is already collected so I don't think it would be unreasonable amount of work either. I don't really know about our release schedules at the moment though.
  11. Like
    gaoesa reacted to Dookie in Server crashing   
    This is how our mapscript looks now:
     
    game_manager{spawn{// Set scenario informationwm_axis_respawntime 15wm_allied_respawntime 12wm_number_of_objectives 5wm_set_round_timelimit 15 //Adlernest mapscript by Dersaidin// 0  is axiswm_set_defending_team 0wm_setwinner 0 //Take docswm_objective_status 1 1 0wm_objective_status 1 0 0//Cap docswm_objective_status 2 1 0wm_objective_status 2 0 0//CPwm_objective_status 3 1 0wm_objective_status 3 0 0//Doorswm_objective_status 4 1 0wm_objective_status 4 0 0//Maindoorwm_objective_status 5 1 0wm_objective_status 5 0 1 //main opjective is to cap docswm_set_main_objective 2 1wm_set_main_objective 2 0 // Cap docsaccum 1 set 0//Take docsaccum 2 set 0//Allied CP built onceaccum 3 set 0//Maindoorr, 1=open 0=closed 2=workingaccum 4 set 0//Maindoorl, 1=open 0=closed 2=workingaccum 5 set 0//Allied CP _IS_ builtglobalaccum 6 set 0 wait 4000trigger game_manager startvos wait 500trigger tank_turret facewall } trigger startvos{// *----------------------------------- vo ------------------------------------------*wm_addteamvoiceannounce 0 "adlernest_axis_controls_defend"//wm_addteamvoiceannounce 0 "axis_hq_compost_construct" wm_addteamvoiceannounce 1 "adlernest_allies_controls_destroy"wm_addteamvoiceannounce 1 "allies_hq_compost_construct" wm_teamvoiceannounce 0 "adlernest_axis_controls_defend"//wm_teamvoiceannounce 0 "axis_hq_compost_construct" wm_teamvoiceannounce 1 "adlernest_allies_controls_destroy"wm_teamvoiceannounce 1 "allies_hq_compost_construct"// *---------------------------------------------------------------------------------*} trigger cap_docs{//cap docs: truewm_objective_status 2 1 1wm_objective_status 2 0 2//cap docs: trueaccum 1 set 1wm_announce "Allied team has transmitted the documents!"trigger game_manager checkgame} trigger axis_object_stolen{//wm_announce "Allies have stolen the documents!"wm_objective_status 1 1 1accum 2 set 1} trigger axis_object_returned{//wm_announce "The documents have been returned!"wm_objective_status 1 1 0accum 2 set 0accum 1 set 0} trigger checkgame{accum 1 abort_if_not_equal 1wm_setwinner 1wait 100wm_endround}} transmitter_obj{spawn{}death{trigger game_manager cap_docs}} documents{    spawn    {   wait 200    }    trigger stolen     {    //when the objective is taken     // Hide command map marker of docs at table    setstate documents_CMM invisible }trigger dropped{//when the player carrying the objective is killed // *----------------------------------- vo ------------------------------------------*wm_teamvoiceannounce 1 "allies_hq_objective_lost"// *---------------------------------------------------------------------------------*}trigger returned{//when defending team touches the dropped objective// Show command map marker of docs at tablesetstate documents_CMM default} trigger captured{//when the objective is delivered to its deliverypoint  // *----------------------------------- vo ------------------------------------------*wm_teamvoiceannounce 0 "axis_hq_objective_lost"wm_teamvoiceannounce 1 "allies_hq_objective_captured"// *---------------------------------------------------------------------------------*}} doorcontrols{spawn{wait 200 constructible_class 3}death{wm_announce "The Doors are opening!!" trigger phasedoor1 move_uptrigger phasedoor2 move_up wm_objective_status 4 1 1 wm_objective_status 4 0 2// Open phase doors // *----------------------------------- vo ------------------------------------------*wm_teamvoiceannounce 1 "allies_hq_objective_destroyed" wm_removeteamvoiceannounce 0 "adlernest_axis_controls_defend"wm_removeteamvoiceannounce 1 "adlernest_allies_controls_destroy" // "Construct the command post!" voice over, unless its already been done.        globalaccum 6 abort_if_equal 1        wm_teamvoiceannounce 1 "allies_hq_compost_construct"// *---------------------------------------------------------------------------------*}} phasedoor1{spawn{wait 200gotomarker phasedoor1_pc2 1000} trigger move_up{wait 500playsound sound/movers/misc/garage_door_start_01.wavwait 400playsound sound/movers/misc/garage_door_loop_01.wav looping forevergotomarker phasedoor1_pc1 80 waitstopsoundplaysound sound/movers/misc/garage_door_end_01.wav}} phasedoor2{spawn{wait 200gotomarker phasedoor2_pc2 1000} trigger move_up{wait 500playsound sound/movers/misc/garage_door_start_01.wavwait 400playsound sound/movers/misc/garage_door_loop_01.wav looping forevergotomarker phasedoor2_pc1 80 waitstopsoundplaysound sound/movers/misc/garage_door_end_01.wav}} maindoor_button{spawn{wait 200} activate{ trigger maindoorr move_uptrigger maindoorl move_up trigger maindoorr move_downtrigger maindoorl move_down}} maindoor_lever{spawn{wait 200trigger maindoor_lever move_down} trigger move_down{wait 200faceangles 0 0 -1 750} trigger move_up{wait 200faceangles 0 0 -25 750}} maindoor_lever1{spawn{wait 200trigger maindoor_lever1 move_down} trigger move_down{wait 200faceangles -1 0 0 750} trigger move_up{wait 200faceangles -25 0 0 750}} maindoorr{spawn{wait 200gotomarker maindoorr_pc2 1000} trigger move_up{// open// abort if working or openedaccum 4 abort_if_equal 2accum 4 abort_if_equal 1// set status workingaccum 4 set 2 trigger maindoor_lever move_uptrigger maindoor_lever1 move_upwm_objective_status 5 1 1wm_objective_status 5 0 0 wait 500playsound sound/movers/misc/big_gate1.wavwait 400playsound sound/movers/misc/big_gate2.wav looping forevergotomarker maindoorr_pc1 45 waitstopsoundplaysound sound/movers/misc/big_gate3.wav// set status openedaccum 4 set 1} trigger move_down{// close// abort if working or closedaccum 4 abort_if_equal 2accum 4 abort_if_equal 0// set status workingaccum 4 set 2 trigger maindoor_lever move_downtrigger maindoor_lever1 move_downwm_objective_status 5 1 0wm_objective_status 5 0 1 wait 500playsound sound/movers/misc/big_gate1.wavwait 400playsound sound/movers/misc/big_gate2.wav looping forevergotomarker maindoorr_pc2 45 waitstopsoundplaysound sound/movers/misc/big_gate3.wav// set status closedaccum 4 set 0}} maindoorl{spawn{wait 200gotomarker maindoorl_pc2 1000} trigger move_up{// open// abort if working or openedaccum 5 abort_if_equal 2accum 5 abort_if_equal 1// set status workingaccum 5 set 2 wm_announce "Main blast door opening!" wait 500playsound sound/movers/misc/big_gate1.wavwait 400playsound sound/movers/misc/big_gate2.wav looping forevergotomarker maindoorl_pc1 45 waitstopsoundplaysound sound/movers/misc/big_gate3.wav// set status openedaccum 5 set 1} trigger move_down{// close// abort if working or closedaccum 5 abort_if_equal 2accum 5 abort_if_equal 0// set status workingaccum 5 set 2 wm_announce "Main blast door closing!" wait 500playsound sound/movers/misc/big_gate1.wavwait 400playsound sound/movers/misc/big_gate2.wav looping forevergotomarker maindoorl_pc2 45 waitstopsoundplaysound sound/movers/misc/big_gate3.wav// set status closedaccum 5 set 0}}  //////  CP CP CP CP//// allied_radio_built{   spawn   {      wait 400       constructible_class 2       trigger allied_radio_built setup            disablespeaker allied_compost_sound       }    trigger setup   {           setchargetimefactor 1 soldier 1      setchargetimefactor 1 lieutenant 1      setchargetimefactor 1 medic 1      setchargetimefactor 1 engineer 1      setchargetimefactor 1 covertops 1      sethqstatus 1 0   }    buildstart final   {      trigger allied_radio_built_model trans      trigger neutral_radio_closed_model  hide   }    built final   {      trigger allied_radio_built_model show      trigger allied_radio_built_model enable_allied_features       enablespeaker allied_compost_speaker   }    decayed final   {      trigger allied_radio_built_model hide      trigger neutral_radio_closed_model show   }    death   {      trigger allied_radio_built_model hide      trigger allied_radio_built_model disable_allied_features      trigger neutral_radio_closed_model show       disablespeaker allied_compost_sound   }} allied_radio_built_model{   spawn   {      wait 400      setstate allied_radio_built_model invisible      accum 3 set 0   }    trigger show   {      setstate allied_radio_built_model default      setstate allied_radio_built default            setstate alliedhqradio_toi default   }    trigger hide   {      setstate allied_radio_built_model invisible      //setstate allied_radio_built invisible      //setstate alliedhqradio_toi invisible   }    trigger trans   {      setstate allied_radio_built_model underconstruction      setstate allied_radio_built default            //setstate alliedhqradio_toi invisible   }    trigger enable_allied_features   {        setchargetimefactor 1 soldier 0.75      setchargetimefactor 1 lieutenant 0.75      setchargetimefactor 1 medic 0.75      setchargetimefactor 1 engineer 0.75      setchargetimefactor 1 covertops 0.75      sethqstatus 1 1       wm_announce   "Allied Command Post constructed. Charge speed increased!"            globalaccum 6 set 1                  // *----------------------------------- vo ------------------------------------------*      wm_teamvoiceannounce 0 "axis_hq_compost_constructed_allies"            wm_teamvoiceannounce 1 "allies_hq_compost_constructed"  wm_removeteamvoiceannounce 1 "allies_hq_compost_construct"      // *----------------------------------- vo ------------------------------------------*       wm_objective_status 3 0 2      wm_objective_status 3 1 1            // ENABLE NEW SPAWN      trigger cp_spawn_wobj on            // If first time, then set new spawn as default      accum 3 abort_if_equal 1      accum 3 set 1                  setautospawn    "CP Spawn"   1   }    trigger disable_allied_features   {      // Some kind of UI pop-up to alert players      wm_announce   "Axis team has destroyed the Allied Command Post!"       //DISABLE NEW SPAWN      trigger cp_spawn_wobj off            globalaccum 6 set 0            // *----------------------------------- vo ------------------------------------------*          wm_addteamvoiceannounce 1 "allies_hqt_compost_construc"  wm_teamvoiceannounce 1 "allies_hq_compost_damaged"      // *----------------------------------- vo ------------------------------------------*       setchargetimefactor 1 soldier 1      setchargetimefactor 1 lieutenant 1      setchargetimefactor 1 medic 1      setchargetimefactor 1 engineer 1      setchargetimefactor 1 covertops 1      sethqstatus 1 0       wm_objective_status 3 0 0      wm_objective_status 3 1 0   }}  neutral_radio_closed_model{   spawn   {      wait 400      //setstate neutral_radio_closed_model default      trigger neutral_radio_closed_model show                        sethqstatus 0 0       wm_objective_status 3 1 0      wm_objective_status 3 0 0                 //setstate alliedhqradio_toi default      //setstate alliedhqradio_toi invisible         }    trigger show   {      setstate neutral_radio_closed_model default      //setstate neutral_radio_closed default            //setstate alliedhqradio_toi invisible   }    trigger hide   {      setstate neutral_radio_closed_model invisible      //setstate neutral_radio_closed invisible   }}  neutral_radio_closed{   spawn   {      wait 400       }} cp_spawn_spawns{    spawn{ wait 50 setstate cp_spawn_spawns invisible}}  cp_spawn_wobj{    spawn{ wait 200 setstate cp_spawn_wobj invisible}trigger off    {      setstate cp_spawn_wobj invisible      setstate cp_spawn_spawns invisible alertentity cp_spawn_spawns wm_announce "Allied Command Post spawn disabled!"    }    trigger on    {      setstate cp_spawn_wobj default      setstate cp_spawn_spawns default alertentity cp_spawn_spawns      wm_announce "Allied Command Post spawn active!"    }trigger allied_capture {//}    trigger axis_capture    {   //    }}  allied_spawn{    spawn{ wait 200}}  allied_spawn_flag{    spawn{ wait 200}trigger allied_capture {//}    trigger axis_capture    {   //    }}  tank_turret{spawn{wait 200} trigger facewall{trigger tank_turret spin_startfaceangles 0 150 0 1000trigger tank_turret spin_stoptrigger tank_turret spin_fire} trigger spin_fire{playsound sound/vehicles/tank/tank_fire.wav volume 560} trigger spin_start{stopsoundplaysound sound/vehicles/tank/turret_spin.wav looping volume 155} trigger spin_stop{stopsoundplaysound sound/vehicles/tank/turret_end.wav volume 135}} sidewall{spawn{wait 200}death{alertentity sidewall_explo}} sidewall_explo{spawn{wait 200}}
  12. Like
    gaoesa got a reaction from Dragonji in /cg_damagekick   
    I don't think cg_damageKick adds anything to the game or the experience. True, hit sounds act from time to time like cheats. The rare occations are acceptable in my opinion as they also add to the experience.
  13. Like
    gaoesa got a reaction from <BHS/Club in XP Save does not work after server restart   
    If the XP saves between maps but not between full restarts, it indicates that the g_XPSave is set to "0" when starting the server and then changes to the value you have in your config file. Please check that it is not so. When ever the g_XPSave is zero when the mod initializes, it will clear the old stored XP from players.
  14. Like
    gaoesa got a reaction from Dragonji in XP Save does not work after server restart   
    If the XP saves between maps but not between full restarts, it indicates that the g_XPSave is set to "0" when starting the server and then changes to the value you have in your config file. Please check that it is not so. When ever the g_XPSave is zero when the mod initializes, it will clear the old stored XP from players.
  15. Like
    gaoesa got a reaction from clan DIABOLIK in OPTIONS-SYSTEM- new screen resolutions   
    The problem is indeed that the game loads the etmain by default and the screen mode settings are set from there. Only option to reliably keep settings that I know would be to change the settings in the etmain, but it doesn't sound right to change the settings for other mods from silEnT. Another option could be to force vid_restart, but that might not be what the player wants either.
  16. Like
    gaoesa got a reaction from Dragonji in OPTIONS-SYSTEM- new screen resolutions   
    The problem is indeed that the game loads the etmain by default and the screen mode settings are set from there. Only option to reliably keep settings that I know would be to change the settings in the etmain, but it doesn't sound right to change the settings for other mods from silEnT. Another option could be to force vid_restart, but that might not be what the player wants either.
  17. Like
    gaoesa got a reaction from Jhonny/Shinobi in silEnT 0.8.2 pre-released for donors   
    * Added: g_goatSound server cvar to enable/disable goat sounds on knife kills.
    * Added: enemy team objective carry indicator (http://mygamingtalk....reen-indicator/). Use g_misc flag 1024 to enable it on the server and cg_objcarry client cvar to enable it in the HUD.
    * Fixed: Players carrying objectives are now shown correctly.
    * Fixed: !useredit was not able to set level higher than 99 when executed as rcon. !setlevel was working correctly.
    * Fixed: The name of the disguised covert op was not drawn to spectators.
    * Fixed: The class icon in the crosshair player name to be the current class instead of the latched class.
    * Fixed: wm_sayPlayerClass now announces the latched class correctly, even when using class swithcer.
    * Fixed: If map voting was enabled but g_mapVoteFlags 4 was not enabled. It was possible to issue multiple votes by hand using /mapvote command.
    * Fixed: debriefing screen buttons didn't handle highlight theme parameter properly.
    * Fixed: The output of finger command didn't show warnings if there were more than 2 in total.
    * Fixed: UI crash in menu (http://mygamingtalk....rashes-in-menu/)
    * Fixed: Minor bug with g_maxPanzerSuicides introduced in 0.8.0. If panzer suicides were disallowed completely, the player was not informed about it.
    * Fixed: g_muteRename allowed to change the name when player used /reconnect (http://mygamingtalk....g-g-muterename/)
    * Fixed: When unmuting/muting during intermission/warmup, the mute wasn't saved.
    * Fixed: cg_effectDistance was affecting the played sounds.
    * Fixed: g_classWeapons not working for class command (http://mygamingtalk....-fully-working/)
    * Fixed: class command not handling secondary weapon parameter properly, it didn't influence the limbo menu, e.g. /class s 3 2 wouldn't select akimbo pistols or SMG as secondary in limbo.
    * Fixed: switching problem with double SMG (http://mygamingtalk....aving-two-smgs/)
    * Improved: If player is completely dead in the game, the scoreboard shows the player's latched class to other team members.
    * Improved: UI tabbing to edit field makes it focused.
    * Improved: limbo weapons menu for soldier class.
    * Improved: sort order of the map vote menu map list.
     
    Without formatting it.
  18. Like
    gaoesa got a reaction from Dragonji in silEnT 0.8.2 pre-released for donors   
    * Added: g_goatSound server cvar to enable/disable goat sounds on knife kills.
    * Added: enemy team objective carry indicator (http://mygamingtalk....reen-indicator/). Use g_misc flag 1024 to enable it on the server and cg_objcarry client cvar to enable it in the HUD.
    * Fixed: Players carrying objectives are now shown correctly.
    * Fixed: !useredit was not able to set level higher than 99 when executed as rcon. !setlevel was working correctly.
    * Fixed: The name of the disguised covert op was not drawn to spectators.
    * Fixed: The class icon in the crosshair player name to be the current class instead of the latched class.
    * Fixed: wm_sayPlayerClass now announces the latched class correctly, even when using class swithcer.
    * Fixed: If map voting was enabled but g_mapVoteFlags 4 was not enabled. It was possible to issue multiple votes by hand using /mapvote command.
    * Fixed: debriefing screen buttons didn't handle highlight theme parameter properly.
    * Fixed: The output of finger command didn't show warnings if there were more than 2 in total.
    * Fixed: UI crash in menu (http://mygamingtalk....rashes-in-menu/)
    * Fixed: Minor bug with g_maxPanzerSuicides introduced in 0.8.0. If panzer suicides were disallowed completely, the player was not informed about it.
    * Fixed: g_muteRename allowed to change the name when player used /reconnect (http://mygamingtalk....g-g-muterename/)
    * Fixed: When unmuting/muting during intermission/warmup, the mute wasn't saved.
    * Fixed: cg_effectDistance was affecting the played sounds.
    * Fixed: g_classWeapons not working for class command (http://mygamingtalk....-fully-working/)
    * Fixed: class command not handling secondary weapon parameter properly, it didn't influence the limbo menu, e.g. /class s 3 2 wouldn't select akimbo pistols or SMG as secondary in limbo.
    * Fixed: switching problem with double SMG (http://mygamingtalk....aving-two-smgs/)
    * Improved: If player is completely dead in the game, the scoreboard shows the player's latched class to other team members.
    * Improved: UI tabbing to edit field makes it focused.
    * Improved: limbo weapons menu for soldier class.
    * Improved: sort order of the map vote menu map list.
     
    Without formatting it.
  19. Like
    gaoesa got a reaction from clan DIABOLIK in damage in panzerwar   
    Enabling panzerwar sets the g_dmgPanzer to 133 and g_panzersSpeed to 2000. You can change these values after the war is set.
  20. Like
    gaoesa got a reaction from Zelly in Debugging damage with range   
    3 HP is wrong. I also added the g_debug cvars to the Wiki.
  21. Like
    gaoesa got a reaction from makavelii in Custom commands.   
    Sorry, I didn't read the question carefully and the example was a redundant command anyway. This should work for your case.
    exec = putteam "[n]" sI'm not sure if it needs the '!' in front or not. Be sure you have the "-characters in place. That way the command will not get confused if the name includes spaces in between.
  22. Like
    gaoesa got a reaction from Mateos in Broken ETPub-based mods client side   
    If it runs ok then I think it is sorted for now. I was just curious to find out what was the cause of it. If you like to test a server, I think creating a separate server instance is better. That way your user configs don't get overwritten by the server.
  23. Like
    gaoesa got a reaction from Mateos in Broken ETPub-based mods client side   
    Does this happen if you set up your own server?
     
     
    NQ is also ETPub based. It reall doesn't make much sense that it happens in ETPub and in silEnT but not with other mods. You should install the game outside of the "Program Files (x86)" and not run it as an admin, it would give you at least a little better security. Overall, you shouldn't run programs as admin unless they really do have some serious reason they would need it.
     
    Please try to set up your own server locally and test connecting to it.
     
    Server:
    ...\etded.exe +set dedicated 2 +set fs_game silent +map oasis Client:
    ...\et.exe +connect 127.0.0.1
  24. Like
    gaoesa got a reaction from clan DIABOLIK in Server Timeout: after intermission and after warmup countdown   
    I have seen and (experienced myself) players being in an coneection interrupt state for a long time from time to time. Never consistently and it doesn't usually affect every player the same way. Having red bars with an external tool does suggest it is stuck on something or the connection is getting refused for a while. I don't think there is anything programmatic with the database handling that can take so long. Handling the records at the end game does actually less than !usersearch command. Unless the command "/rcon dboptimize" is given. That one should perform exponentially worse when the database grows. But it also needs to be triggered with an rcon command every time.
     
    I can think of three areas where to look further, some sort of issues with file system when actually writing the data to a file, networking/firewall issue, or, game is for some reason resending the game state to player(s) for a while. The last one is what I have seen happen a few times, but I don't know what triggers it. Gamestate is automatically resent if the server thinks the player is still in the previous map. It could be caused by the mod somehow.
  25. Like
    gaoesa got a reaction from NoHero in LUA get XP value   
    Additionally, the "ps.persistant" is probably not a good way to get the score. The better way to get the XP should be to calculate "sess.skillpoints" array values together. This way it won't be necessary to check if the player is in a team, dead or if he is speccing and the returned result will be correct. The ps (playerstate) values depend a lot on what the player is doing.
×
×
  • Create New...