{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "√√√√√Enviroment Initialized Success√√√√√\n",
      "√√√√√Buffer Initialized Success√√√√√\n"
     ]
    }
   ],
   "source": [
    "import time\n",
    "import aimBotEnv\n",
    "from GAILMem import GAILMem\n",
    "from HumanAction import HumanActions\n",
    "\n",
    "# Env\n",
    "ENV_PATH = \"./Build-CloseEnemyCut/Aimbot-PPO\"\n",
    "WORKER_ID = 1\n",
    "BASE_PORT = 200\n",
    "\n",
    "# ENV Para\n",
    "MOUSEDISCOUNT = 20.0\n",
    "MAX_EP = 10000000\n",
    "STACKSTATESIZE = 3\n",
    "STACKINTERCE = 29\n",
    "\n",
    "env = aimBotEnv.makeEnv(\n",
    "    envPath=ENV_PATH,\n",
    "    workerID=WORKER_ID,\n",
    "    basePort=BASE_PORT,\n",
    "    stackSize=STACKSTATESIZE,\n",
    "    stackIntercal=STACKINTERCE,\n",
    ")\n",
    "demoMem = GAILMem()\n",
    "demoAct = HumanActions(mouseDiscount=MOUSEDISCOUNT)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "EP Start\n",
      "EP Start\n",
      "EP Start\n",
      "nowMemNum 605\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 765\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 912\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 1037\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 1206\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 1355\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 1506\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 1673\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 1817\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 1999\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 2119\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 2271\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 2519\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 2672\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 2812\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 2953\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 3121\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 3250\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 3414\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 3585\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 3712\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 3871\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 4005\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 4162\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 4323\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 4473\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 4632\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 4789\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 4949\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 5112\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 5226\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 5362\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 5506\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 5676\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 5810\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 5917\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 6035\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 6196\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 6348\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 6485\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 6636\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 6784\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 6981\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 7125\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 7266\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 7420\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 7541\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 7703\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 7848\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 8010\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 8167\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 8331\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 8473\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 8600\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 8721\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 8836\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 9020\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 9160\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 9331\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 9469\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 9620\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 9794\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 9918\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 10064\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 10249\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 10405\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 10548\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 10688\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 10831\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 10977\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 11098\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 11231\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 11369\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 11505\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 11658\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 11838\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 11991\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 12130\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 12273\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 12407\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 12517\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 12635\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 12793\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 12934\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 13093\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 13228\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 13349\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 13504\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 13654\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 13812\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 13985\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 14174\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 14367\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 14545\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 14678\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 14824\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 14940\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 15078\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 15232\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 15381\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 15501\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 15651\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 15782\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 15918\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 16081\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 16253\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 16371\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 16532\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 16657\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 16782\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 16937\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 17073\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 17257\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 17363\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 17529\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 17662\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 17876\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 18017\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 18181\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 18335\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 18517\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 18646\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 18799\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 18942\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 19049\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 19232\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 19379\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 19509\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 19640\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 19813\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 20007\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 20165\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 20263\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 20490\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 20629\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 20773\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 20904\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 21002\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 21162\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 21313\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 21427\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 21574\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 21698\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 21838\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 21957\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 22110\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 22248\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 22385\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 22501\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 22627\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 22776\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 22927\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 23076\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 23259\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 23368\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 23537\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 23685\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 23855\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 24034\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 24168\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 24310\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 24477\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 24652\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 24796\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 24954\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 25074\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 25214\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 25347\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 25484\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 25594\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 25746\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 25872\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 26006\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 26178\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 26325\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 26470\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 26622\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 26740\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 26900\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 27031\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 27202\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 27347\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 27514\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 27637\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 27806\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 27969\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 28103\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 28252\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 28420\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 28599\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 28841\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 28959\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 29134\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 29330\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 29444\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 29586\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 29733\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 29883\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 30097\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 30262\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 30423\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 30575\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 30709\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 30926\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 31084\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 31253\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 31394\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 31526\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 31675\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 31809\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 31926\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 32040\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 32200\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 32361\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 32528\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 32699\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 32834\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 32970\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 33167\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 33328\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 33459\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 33587\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 33772\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 33978\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 34087\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 34211\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 34328\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 34440\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 34574\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 34705\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 34830\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 34969\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 35162\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 35312\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 35431\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 35546\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 35692\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 35845\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 35950\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 36102\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 36312\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 36452\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 36592\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 36780\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 36931\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 37059\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 37196\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 37340\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 37467\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 37599\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 37743\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 37878\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 38037\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 38175\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 38345\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 38490\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 38593\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 38728\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 38947\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 39089\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 39236\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 39411\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 39590\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 39812\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 39990\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 40155\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 40306\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 40422\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 40553\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 40665\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 40812\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 41003\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 41171\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 41312\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 41471\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 41674\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 41815\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 41999\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 42181\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 42359\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 42551\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 42671\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 42809\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 42971\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 43104\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 43254\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 43395\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 43590\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 43755\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 43889\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 43993\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 44142\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 44273\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 44410\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 44536\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 44659\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 44812\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 44933\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 45046\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 45187\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 45318\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 45450\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 45593\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 45712\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 45868\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 46056\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 46187\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 46310\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 46456\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 46611\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 46756\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 46909\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 47093\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 47211\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 47359\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 47487\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 47605\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 47801\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 47959\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 48143\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 48306\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 48436\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 48573\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 48774\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 48942\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 49052\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 49167\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 49306\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 49443\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 49570\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 49712\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 49865\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 50005\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 50185\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 50309\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 50459\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 50653\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 50768\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 50897\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 51035\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 51237\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 51403\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 51578\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 51720\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 51825\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 51969\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 52129\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 52265\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 52472\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 52612\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 52794\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 52935\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 53075\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 53206\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 53347\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n",
      "nowMemNum 53518\n",
      "lastMemCheckPoint 1\n",
      "mem_saved\n",
      "EP Start\n"
     ]
    },
    {
     "ename": "UnityCommunicatorStoppedException",
     "evalue": "Communicator has exited.",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mUnityCommunicatorStoppedException\u001b[0m         Traceback (most recent call last)",
      "\u001b[1;32m~\\AppData\\Local\\Temp/ipykernel_39764/2258777724.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      7\u001b[0m     \u001b[1;32mwhile\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mdone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      8\u001b[0m         \u001b[0mactions\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdemoAct\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgetHumanActions\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 9\u001b[1;33m         \u001b[0mnextState\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0m_\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0m_\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0m_\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0menv\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstep\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mactions\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mactions\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     10\u001b[0m         \u001b[0mdemoMem\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msaveMems\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mstate\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mstate\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mactorProb\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0maction\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mactions\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mreward\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdone\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     11\u001b[0m         \u001b[0mstate\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnextState\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\Users\\UCUNI\\OneDrive\\Unity\\ML-Agents\\Aimbot-PPO\\Aimbot-PPO-Python\\aimBotEnv.py\u001b[0m in \u001b[0;36mstep\u001b[1;34m(self, actions, behaviorName, trackedAgent)\u001b[0m\n\u001b[0;32m     86\u001b[0m         \u001b[1;31m# take action to env\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     87\u001b[0m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0menv\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mset_actions\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbehavior_name\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mbehaviorName\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0maction\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mthisActionTuple\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 88\u001b[1;33m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0menv\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstep\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     89\u001b[0m         \u001b[1;31m# get nextState & reward & done after this action\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     90\u001b[0m         \u001b[0mnextState\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mreward\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mloadDir\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msaveNow\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgetSteps\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbehaviorName\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtrackedAgent\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\Users\\UCUNI\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\mlagents_envs\\timers.py\u001b[0m in \u001b[0;36mwrapped\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m    303\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0mwrapped\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    304\u001b[0m         \u001b[1;32mwith\u001b[0m \u001b[0mhierarchical_timer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__qualname__\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 305\u001b[1;33m             \u001b[1;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    306\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    307\u001b[0m     \u001b[1;32mreturn\u001b[0m \u001b[0mwrapped\u001b[0m  \u001b[1;31m# type: ignore\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\Users\\UCUNI\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\mlagents_envs\\environment.py\u001b[0m in \u001b[0;36mstep\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m    333\u001b[0m             \u001b[0moutputs\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_communicator\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexchange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mstep_input\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_poll_process\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    334\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0moutputs\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 335\u001b[1;33m             \u001b[1;32mraise\u001b[0m \u001b[0mUnityCommunicatorStoppedException\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Communicator has exited.\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    336\u001b[0m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_update_behavior_specs\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0moutputs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    337\u001b[0m         \u001b[0mrl_output\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0moutputs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrl_output\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mUnityCommunicatorStoppedException\u001b[0m: Communicator has exited."
     ]
    }
   ],
   "source": [
    "gailExpertDataDir = \"GAIL-Expert-Data/\"\n",
    "state, _, _, _, _ = env.reset()\n",
    "\n",
    "for ep in range(MAX_EP):\n",
    "    print(\"EP Start\")\n",
    "    done = False\n",
    "    while not done:\n",
    "        actions = demoAct.getHumanActions()\n",
    "        nextState, _, done, _, _ = env.step(actions=actions)\n",
    "        demoMem.saveMems(state=state, actorProb=None, action=actions, reward=None, done=None)\n",
    "        state = nextState\n",
    "    nowMemNum = demoMem.memNum\n",
    "    saveSteps = 500\n",
    "    lastMemCheckPoint = 0\n",
    "    if nowMemNum / saveSteps >= lastMemCheckPoint + 1:\n",
    "        lastMemCheckPoint +=1\n",
    "        print(\"nowMemNum\", nowMemNum)\n",
    "        print(\"lastMemCheckPoint\", lastMemCheckPoint)\n",
    "        demoMem.saveMemtoFile(gailExpertDataDir)\n",
    "        print(\"mem_saved\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0, 0, 0, [2.069664997294527]]\n"
     ]
    }
   ],
   "source": [
    "print(actions)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3.9.7 64-bit",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  },
  "orig_nbformat": 4,
  "vscode": {
   "interpreter": {
    "hash": "86e2db13b09bd6be22cb599ea60c1572b9ef36ebeaa27a4c8e961d6df315ac32"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}