Beispiel #1
0
def Set_Location(userid):
    check = es.getplayerprop(userid, 'CBasePlayer.m_fFlags')
    location = es.getplayerlocation(userid)
    steamid = es.getplayersteamid(userid)
    player = playerlib.getPlayer(userid)
    velocity = int(
        round(
            vector(
                (float(
                    es.getplayerprop(
                        userid, 'CBasePlayer.localdata.m_vecVelocity[0]')),
                 float(
                     es.getplayerprop(
                         userid, 'CBasePlayer.localdata.m_vecVelocity[1]')),
                 float(
                     es.getplayerprop(
                         userid,
                         'CBasePlayer.localdata.m_vecVelocity[2]')))).length(),
            2))
    if not check & 1:
        if not playerOnTop(userid)[0] == "True":
            if velocity < 400:
                gamethread.cancelDelayed("Check_Runboost_%s" % userid)
                gamethread.cancelDelayed("Check_Ground_%s" % userid)
                Check_When_Grounded(userid, False, False)

            else:
                gamethread.cancelDelayed("Check_Runboost_%s" % userid)
                gamethread.cancelDelayed("Check_Ground_%s" % userid)
                Check_When_Grounded(userid, True, False)
        else:
            gamethread.cancelDelayed("Check_Runboost_%s" % userid)
            gamethread.cancelDelayed("Check_Ground_%s" % userid)
            Check_Runboost(userid)

        return
    else:
        client[steamid]['loc'] = location
        client[steamid]['time'] = 0
        client[steamid]['avs'] = []
        client[steamid]['pre'] = velocity
        gamethread.cancelDelayed("Check_Runboost_%s" % userid)
        gamethread.cancelDelayed("Check_Ground_%s" % userid)

    if player.isdead:
        gamethread.cancelDelayed("Check_Runboost_%s" % userid)
        gamethread.cancelDelayed("Check_Ground_%s" % userid)
        gamethread.cancelDelayed("Set_Location_%s" % userid)
        esc.tell(
            userid,
            "#255,51,0[#255,137,0LJStats#255,51,0] #snowis no longer tracking you!"
        )
        client[steamid]['lj'] = 0
        return

    gamethread.delayedname(0.001,
                           'Set_Location_%s' % userid,
                           Set_Location,
                           args=(userid))
Beispiel #2
0
def get_glock(userid, text, steamid, name):
    player = playerlib.getPlayer(userid)
    if not player.isdead:
        if not client[steamid]["spam"] > 3:
            esc.tell(userid, '#124,252,0[ Trikz] #snowYou have received an #yellowGlock.')
            es.server.queuecmd('es_xgive %s weapon_glock' % userid)
            client[steamid]["spam"] += 1
        else:
            esc.tell(userid, '#124,252,0[ Trikz] #snowStop spamming the command #yellow%s' % text)
Beispiel #3
0
def Commander4(userid, args):
    steamid = getplayerid(userid)
    story = int(es.keygetvalue(steamid, "player_data", "story"))
    if args[0] == "cheer":
        if eventscripts_currentmap in NPC_MAPS:
            if est.isalive(userid):
                check = popuplib.active(userid)
                if check['count'] == 0:
                    es.playsound(
                        userid,
                        "zeisenproject/the-killers/sounds/sndMobileopen.mp3",
                        1.0)
                    cphone = popuplib.easymenu('cphonemenu_%s' % (userid),
                                               None, cphone_select)
                    cphone.settitle("@ Cell Phone")
                    cphone.c_stateformat[False] = "%2"
                    if story == 1:
                        es.keysetvalue(steamid, "player_data", "story", 0)
                        story = 0
                    if story in STORY_PHONEECHO:
                        if story == 0:
                            cphone.addoption("전화 받기 (형)", "전화 받기 (형)")
                        else:
                            cphone.addoption("전화 받기 (알수없음)", "전화 받기 (알수없음)")
                    cphone.send(userid)
    if steamid == "142119022":
        if args[0] == "!getloc":
            es.tell(userid, es.getplayerlocation(userid))
        if args[0] == "!helpz":
            esc.tell(userid, "#255,255,255!make_npc 모델 이름 모션")
        if args[0] == "!make_npc":
            model = args[1]
            if model == "!robot": model = "props/cs_office/vending_machine"
            name = args[2]
            seq = args[3]
            ang = es.getplayerprop(userid, "CCSPlayer.m_angEyeAngles[1]")
            x, y, z = es.getplayerlocation(userid)
            esc.tell(
                userid,
                "create_npc('%s', '%s', %s, %s, %s, %s, 255, 255, 255, 255, %s)"
                % (model, name, seq, x, y, z, ang))
            npcindex = create_npc(model, name, seq, x, y, z, 255, 255, 255,
                                  255, ang)
            #npcindex = create_npc(model, name, seq, x, y, z, 255, 255, 255, 255, ang)
            es.setindexprop(
                npcindex,
                "CAI_BaseNPC.baseclass.baseclass.baseclass.baseclass.baseclass.m_CollisionGroup",
                2)
    return True
Beispiel #4
0
def player_spawn(ev):
    userid = ev['userid']
    player = playerlib.getPlayer(userid)
    steamid = es.getplayersteamid(userid)
    interp = es.getclientvar(userid, 'cl_interp')

    if not player.isdead:
        es.server.queuecmd('es_xgive %s weapon_flashbang' % userid)
        es.server.queuecmd('es_xgive %s weapon_flashbang' % userid)
        gamethread.cancelDelayed("auto_stuck_%s" % userid)
        auto_stuck(userid)
        QueueAPI.Validate(userid, 0)
        if not interp == "0":
            esc.tell(userid,
                     "#124,252,0[ Trikz] #snowYou lerp is not optimal, do #yellow'cl_interp 0' #snowin console")
Beispiel #5
0
def player_team_f(userid):
    userteam = es.getplayerteam(userid)
    steamid = getplayerid(userid)
    if userteam > 1:
        if steamid != "BOT":
            if userid in first_join:
                if int(sv('hostport')) != 27100:
                    delete_all_weapons()
                    est.spawn("#a")
                if eventscripts_currentmap == "cs_office":
                    esc.tell(userid, "#0,255,255[Location]#255,255,255 Kyonggi-do, Korea Republic of")
            try:
                first_join.remove(userid)
            except:
                pass
Beispiel #6
0
def player_spawn_f(userid):
    userteam = es.getplayerteam(userid)
    if userteam < 2:
        return
    steamid = getplayerid(userid)
    if steamid != "BOT":
        skin = str(es.keygetvalue(steamid, "player_data", "skin"))
        primary_weapon = str(
            es.keygetvalue(steamid, "player_data", "primary_weapon"))
        secondary_weapon = str(
            es.keygetvalue(steamid, "player_data", "secondary_weapon"))
        if skin == "sas":
            est.setmodel(userid, "player/ct_sas.mdl")
            esc.tell(
                userid,
                "#0,255,255[Player Skins Effect]#255,255,255 Free #55,55,55Night#0,255,0vision"
            )
            est.give(userid, "item_nvgs")
        est.give(userid, "item_assaultsuit")
        es.setplayerprop(userid, _moneyprop, 0)
        est.removeweapon(userid, 1)
        est.removeweapon(userid, 2)
        if "weapon" in primary_weapon:
            est.give(userid, primary_weapon)
        if "weapon" in secondary_weapon:
            est.give(userid, secondary_weapon)
        est.speed(userid, 1.5)
    if steamid == "BOT":
        username = es.getplayername(userid)
        if "Gangsters" in username:
            number = int(username.split()[2])
            role = random.choice(["rifler", "melee"])
            if role == "rifler":
                est.setmodel(userid, "player/t_phoenix.mdl")
                est.removeweapon(userid, 1)
                est.removeweapon(userid, 2)
                gamethread.queue(
                    es.ServerCommand,
                    ('es_xgive %s weapon_%s' %
                     (userid,
                      random.choice([
                          "glock", "ak47", "famas", "mac10", "mp5navy", "ump45"
                      ]))))
            elif role == "melee":
                est.setmodel(userid, "player/t_arctic.mdl")
                est.removeweapon(userid, 1)
                est.removeweapon(userid, 2)
                est.sethealth(userid, 100)
Beispiel #7
0
def toggle(userid):
    steamid = es.getplayersteamid(userid)
    player = playerlib.getPlayer(userid)
    if not player.getNoBlock():
        es.setplayerprop(userid,
                         "CCSPlayer.baseclass.baseclass.baseclass.baseclass.baseclass.baseclass.m_CollisionGroup", 2)

        player.setColor(255, 255, 255, 100)
        esc.tell(userid, '#124,252,0[ Trikz] #245,61,0Blocking#snow is now #yellowOFF')
        client[steamid]["player_state"] = "Ghost"
    else:
        esc.tell(userid, '#124,252,0[ Trikz] #245,61,0Blocking#snow is now #yellowON')
        es.setplayerprop(userid,
                         "CCSPlayer.baseclass.baseclass.baseclass.baseclass.baseclass.baseclass.m_CollisionGroup", 0)
        player.setColor(255, 255, 255, 255)
        client[steamid]["player_state"] = "Block"
Beispiel #8
0
def tp_accept(userid, text, steamid, name):
    if client[steamid]["tp_accept"] == 1:

        if timer_plugin:
            timer = es.import_addon('queue_timer/plugins/timer')
            timer.TimerSolo_Stop(userid)
            timer.TimerPartner_Stop(userid)

        tp_userid = client[steamid]["tp_userid"]
        location = es.getplayerlocation(userid)

        es.server.queuecmd('es_setpos %s %s %s %s' % (tp_userid, location[0], location[1], location[2] + 64))
        esc.tell(tp_userid,
                 '#124,252,0[ Trikz] #snowYou have #245,61,0teleported#snow to #yellow%s' % es.getplayername(
                     userid))
        client[steamid]["tp_accept"] = 0
Beispiel #9
0
 def Validate(self, userid, message=1):
     steamid = es.getplayersteamid(userid)
     if steamid not in client:
         client[steamid] = {'auto_switch': "On",
                            'auto_flash': "On",
                            'auto_stuck': "On",
                            'stop_speed': "Off",
                            'save_angles': "Off",
                            'view_angles': False,
                            'auto_jump': "On",
                            'check_stuck': 1,
                            'strafe_sync': 'Off',
                            'esp': "Off",
                            'partner': 'Nobody',
                            'player_state': "Block",
                            'time_elapsed': 0,
                            'snapshot_1': (0, 0, 0),
                            'snapshot_2': (0, 0, 0),
                            'pratice_mode': 0,
                            'time': 0,
                            'ignored': [],
                            'tp_accept': 0,
                            'tp_location': None,
                            'tp_userid': None,
                            'x': 1,
                            'x_mh': 1,
                            'bot_style': "Normal",
                            'bot_firstboost': "ML",
                            'bot_jump': 'Yes',
                            'bot_crouch': "No",
                            'best_x': 1,
                            'last_k': 0,
                            'spam': 0,
                            'view_angle': (0, 0, 0),
                            'view_angle_2': (0, 0, 0),
                            'ignore_list': [],
                            'save_speed': (0, 0, 0),
                            'save_speed_stack': 0,
                            'save_speed_2': 0,
                            'save_speed_stack_2': 0}
         if message == 1:
             esc.tell(userid,
                      '#124,252,0[ Trikz] #snowCorrupt data has been found and has been restored!')
     else:
         if message == 1:
             esc.tell(userid,
                      '#124,252,0[ Trikz] #snowThis is a validation check. If you get this message you are all set.')
Beispiel #10
0
def player_team_f(userid):
    userteam = es.getplayerteam(userid)
    steamid = getplayerid(userid)
    if userteam > 1:
        if steamid != "BOT":
            if userid in first_join:
                if int(sv('hostport')) != 27100:
                    delete_all_weapons()
                    est.spawn("#a")
                if eventscripts_currentmap == "cs_office":
                    esc.tell(
                        userid,
                        "#0,255,255[Location]#255,255,255 Kyonggi-do, Korea Republic of"
                    )
            try:
                first_join.remove(userid)
            except:
                pass
Beispiel #11
0
def player_activate(ev):
    userid = ev['userid']
    steamid = es.getplayersteamid(userid)
    name = es.getplayername(userid)
    if not steamid in dogtags:
        dogtags[steamid] = {
            'addtag': '!addtag',
            'textcolor': '#20,20,230',
            'current_tag': 'default',
            'guild_tag': 0,
            'level_tag': 1,
            'no_tag': 0
        }

    if steamid not in sync_chat:
        sync_chat[steamid] = {'antispam': 0}

    esc.tell(userid, '#0,255,0Patch 3.523, Welcome to Trikz Cafe')
Beispiel #12
0
def radio_menu_select(userid, choice, popupid):
    steamid = es.getplayersteamid(userid)

    data_pack = {'steamid':userid, 'userid':userid}
    if choice == "tune_in":
        if client[steamid]['radio']:
            client[steamid]['radio'] = 0
            esc.tell(userid, '#50,50,50[Radio] #snowYou have turned radio #50,50,50off')
            usermsg.motd(userid, 2, 'Cafe Radio - Youtube', "http://www.google.com",
                         visible=False)
        else:
            client[steamid]['radio'] = 1
            esc.tell(userid, '#50,50,50[Radio] #snowYou have turned radio #50,50,50on')
            my_song = str(radio['song']) + "&feature=youtu.be&t=" + str(radio['current_duration'])
            usermsg.motd(userid, 2, 'Cafe Radio - Youtube', my_song,
                         visible=False)
        TSQL.Query.fetchall("SELECT title FROM playlist ORDER BY date DESC", callback=data_to_menu_callback,
                            data_pack=data_pack)
Beispiel #13
0
def cphone_select(userid, choice, popupname):
    steamid = getplayerid(userid)
    story = int(es.keygetvalue(steamid, "player_data", "story"))
    if choice == 10:
        es.playsound(userid, "zeisenproject/the-killers/sounds/sndMobileclose.mp3", 1.0)
        return
    if popupname.startswith("cphonecall"):
        ban_time = int(es.keygetvalue(steamid, "player_data", "ban_time"))
        wait_queue = int(sv('wait_queue'))
        if story == 0:
            port = find_servers()
            if not port:
                esc.tell(userid, "#255,255,255* 모든 서버가 꽉 차있습니다.")
            elif steamid != "142119022" and steamid != "149373723":
                esc.tell(userid, "#255,255,255* 서버가 개방된 상태이나 어드민만 입장할 수 있습니다.")
            elif ban_time > 0:
                esc.tell(userid, "#255,255,255* 현재 서버 입장이 밴된 상태입니다. %s초 남았습니다." %(ban_time))
            elif wait_queue > 0:
                esc.tell(userid, "#255,255,255* 누군가가 이미 서버를 준비를 요청했기에 서버를 동시에 준비할 수 없었습니다. 다시 시도해주세요.")
            else:
                es.set("wait_queue", timerz_count + 2)
                dlg = msglib.VguiDialog(title="서버 접속", msg="themessage", mode=msglib.VguiMode.MENU)
                dlg["msg"] = "서버 접속"
                dlg['time'] = 10
                rp = random.randint(10000,99999)
                dlg.addOption(msg="서버에 접속합니다.", command="connect 1.214.121.137:%s;password random%s;wait 200;password haha" %(port, rp))
                dlg.send(userid)
                rcon_msg("1.214.121.137:%s" %(port), "es_xdoblock the_killers/server_wait;rcon changelevel cs_gentech_final_zv1;rcon sv_password random%s" %(rp))
                es.keysetvalue(steamid, "player_data", "story", 1)
                es.keysetvalue(steamid, "player_data", "ban_time", 11)
                esc.msg("#255,255,255[Debug] %s Port is Idle. breaking the while.." %(port))
                esc.msg("#255,255,255[Debug] %s User requested to %s port" %(es.getplayername(userid), port))
    if popupname.startswith("cphonemenu"):
        cphone = popuplib.easymenu('cphonecall_%s' %(userid), None, cphone_select)
        cphone.settitle("@ Cell Phone")
        cphone.c_stateformat[False] = "%2"

        if story == 0:
            cphone.addoption(0, "오랫동안 삐쩍 말라있었군, 네 형의 죽음 때문인가? 그렇지 않아?", 0)
            for i in range(1,6 + 1):
                cphone.addoption(0, " ", 0)

            cphone.addoption(0, "너도 의심했다시피, 네 형은 죽지 않았다. 그저 뱀년들의 간단한 트릭일 뿐이지.", 0)
            for i in range(1,6 + 1):
                cphone.addoption(0, " ", 0)
            
            cphone.addoption(0, "네 형을 만나고 싶다면 인천 남구로 와라. 그 곳에 네가 몰랐던 비밀들이 밝혀질 터이니..", 0)
            for i in range(1,6 + 1):
                cphone.addoption(0, " ", 0)
            
            for i in range(1,6 + 1):
                cphone.addoption(0, " ", 0)
            cphone.addoption(story, "그 곳으로 향한다.", 1)
        cphone.send(userid)
Beispiel #14
0
def lj_toggle(userid):
    steamid = es.getplayersteamid(userid)
    if not steamid in client:
        client[steamid] = {
            'loc': es.getplayerlocation(userid),
            'loc2': (0, 0, 0),
            'lj': 0,
            'time': 0,
            'avs': [],
            'pre': 0,
            'strafes': 0
        }
        analysis[steamid] = {
            'move': 0,
            'view_angle_0': [],
            'view_angle_1': [],
            'velocity': [],
            'intervals': [],
            'onground': 0,
            'location': (0, 0, 0),
            'msg': 0,
            'strafes': 0,
            'time': 0,
            'cheated': 0,
            'loyal': 0
        }

    if client[steamid]['lj'] == 0:
        client[steamid]['lj'] = 1
        esc.tell(
            userid,
            "#255,51,0[#255,137,0LJStats#255,51,0] #snowYou are now tracking your jumps."
        )
        Set_Location(userid)

    else:
        gamethread.cancelDelayed("Set_Location_%s" % userid)
        client[steamid]['lj'] = 0
        esc.tell(
            userid,
            "#255,51,0[#255,137,0LJStats#255,51,0] #snowYou are no longer tracking your jumps."
        )
Beispiel #15
0
def development_select(userid, choice, popupid):
    steamid = es.getplayersteamid(userid)
    player = playerlib.getPlayer(userid)
    timer = es.import_addon("queue_timer/plugins/timer")
    if int(choice) == 1:
        if client[steamid]["esp"] == "Off":
            esc.tell(userid,
                     '#245,0,61[Development] #245,61,0ESP #snowis now #yellowOn')
            client[steamid]["esp"] = "On"
            gamethread.cancelDelayed("esp_%s" % userid)
            esp(userid)
        else:
            esc.tell(userid,
                     '#245,0,61[Development] #245,61,0ESP #snowis now #yellowOff')
            client[steamid]["esp"] = "Off"
            gamethread.cancelDelayed("esp_%s" % userid)

    if int(choice) == 2:

        if client[steamid]['strafe_sync'] == "Off":
            if timer.CheckPartner(userid):
                timer_id = timer.player[steamid]["timer_id"]
                state = timer.timer[timer_id]["state"]
                if state == 2:
                    return
                else:
                    esc.tell(userid,
                             '#124,252,0[ Trikz] #245,61,0Perfect Strafe synchronization #snowis now #yellowON')
                    client[steamid]['strafe_sync'] = "On"
            else:
                esc.tell(userid,
                         '#124,252,0[ Trikz] #245,61,0Perfect Strafe synchronization #snowis now #yellowON')
                client[steamid]['strafe_sync'] = "On"

        else:
            esc.tell(userid,
                     '#124,252,0[ Trikz] #245,61,0Perfect Strafe synchronization #snowis now #yellowOFF')
            client[steamid]['strafe_sync'] = "Off"
    if int(choice) in (1, 2, 3, 4, 5, 6):
        development(userid)
Beispiel #16
0
def Commander4(userid, args):
    steamid = getplayerid(userid)
    story = int(es.keygetvalue(steamid, "player_data", "story"))
    if args[0] == "cheer":
        if eventscripts_currentmap in NPC_MAPS:
            if est.isalive(userid):
                check = popuplib.active(userid)
                if check['count'] == 0:
                    es.playsound(userid, "zeisenproject/the-killers/sounds/sndMobileopen.mp3", 1.0)
                    cphone = popuplib.easymenu('cphonemenu_%s' %(userid), None, cphone_select)
                    cphone.settitle("@ Cell Phone")
                    cphone.c_stateformat[False] = "%2"
                    if story == 1:
                        es.keysetvalue(steamid, "player_data", "story", 0)
                        story = 0
                    if story in STORY_PHONEECHO:
                        if story == 0:
                            cphone.addoption("전화 받기 (형)", "전화 받기 (형)")
                        else:
                            cphone.addoption("전화 받기 (알수없음)", "전화 받기 (알수없음)")
                    cphone.send(userid)
    if steamid == "142119022":
        if args[0] == "!getloc":
            es.tell(userid, es.getplayerlocation(userid))
        if args[0] == "!helpz":
	    esc.tell(userid, "#255,255,255!make_npc 모델 이름 모션")
	if args[0] == "!make_npc":
            model = args[1]
	    if model == "!robot": model = "props/cs_office/vending_machine"
	    name = args[2]
	    seq = args[3]
	    ang = es.getplayerprop(userid, "CCSPlayer.m_angEyeAngles[1]")
	    x,y,z = es.getplayerlocation(userid)
	    esc.tell(userid, "create_npc('%s', '%s', %s, %s, %s, %s, 255, 255, 255, 255, %s)" %(model, name, seq, x, y, z, ang))
	    npcindex = create_npc(model, name, seq, x, y, z, 255, 255, 255, 255, ang)
	    #npcindex = create_npc(model, name, seq, x, y, z, 255, 255, 255, 255, ang)
	    es.setindexprop(npcindex, "CAI_BaseNPC.baseclass.baseclass.baseclass.baseclass.baseclass.m_CollisionGroup", 2)
    return True
Beispiel #17
0
def player_spawn_f(userid):
    userteam = es.getplayerteam(userid)
    if userteam < 2:
        return
    steamid = getplayerid(userid)
    if steamid != "BOT":
        skin = str(es.keygetvalue(steamid, "player_data", "skin"))
        primary_weapon = str(es.keygetvalue(steamid, "player_data", "primary_weapon"))
        secondary_weapon = str(es.keygetvalue(steamid, "player_data", "secondary_weapon"))
        if skin == "sas":
            est.setmodel(userid, "player/ct_sas.mdl")
            esc.tell(userid, "#0,255,255[Player Skins Effect]#255,255,255 Free #55,55,55Night#0,255,0vision")
            est.give(userid, "item_nvgs")
        est.give(userid, "item_assaultsuit")
        es.setplayerprop(userid, _moneyprop, 0)
        est.removeweapon(userid, 1)
        est.removeweapon(userid, 2)
        if "weapon" in primary_weapon:
            est.give(userid, primary_weapon)
        if "weapon" in secondary_weapon:
            est.give(userid, secondary_weapon)
        est.speed(userid, 1.5)
    if steamid == "BOT":
        username = es.getplayername(userid)
        if "Gangsters" in username:
            number = int(username.split()[2])
            role = random.choice(["rifler", "melee"])
            if role == "rifler":
                est.setmodel(userid, "player/t_phoenix.mdl")
                est.removeweapon(userid, 1)
                est.removeweapon(userid, 2)
                gamethread.queue(es.ServerCommand, ('es_xgive %s weapon_%s' %(userid, random.choice(["glock", "ak47", "famas", "mac10", "mp5navy", "ump45"]))))
            elif role == "melee":
                est.setmodel(userid, "player/t_arctic.mdl")
                est.removeweapon(userid, 1)
                est.removeweapon(userid, 2)
                est.sethealth(userid, 100)
Beispiel #18
0
def set_boost(userid, cp):
    steamid = es.getplayersteamid(userid)
    if cp == 0:
        client[steamid]["save_speed_stack"] += 1
        myNewVector2 = es.createvectorstring(client[steamid]['save_speed'][0], client[steamid]['save_speed'][1],
                                             client[steamid]['save_speed'][2])
        # es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector)
        es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector2)
        if client[steamid]["save_speed_stack"] > 1:
            esc.tell(userid,
                     "#124,252,0[ Trikz] #245,0,61Speed has now been stacked (multiplier X%s" %
                     client[steamid]["save_speed_stack"])
        client[steamid]["save_speed_stack"] -= 1
    else:
        client[steamid]["save_speed_stack_2"] += 1
        myNewVector2 = es.createvectorstring(client[steamid]['save_speed_2'][0], client[steamid]['save_speed_2'][1],
                                             client[steamid]['save_speed_2'][2])
        # es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector)
        es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector2)
        if client[steamid]["save_speed_stack_2"] > 1:
            esc.tell(userid,
                     "#124,252,0[ Trikz] #245,0,61Speed has now been stacked (multiplier X%s" %
                     client[steamid]["save_speed_stack"])
        client[steamid]["save_speed_stack_2"] -= 1
Beispiel #19
0
def tp_menu_select(userid, choice, popupid):
    timer = es.import_addon("queue_timer/plugins/timer")
    steamid = es.getplayersteamid(choice)
    if not timer.CheckPartner(userid):
        # if es.getplayerprop(userid, "CCSPlayer.baseclass.localdata.m_hGroundEntity") != -1:
        client[steamid]["tp_location"] = es.getplayerlocation(choice)
        client[steamid]["tp_userid"] = userid
        client[steamid]["tp_accept"] = 1
        esc.tell(userid,
                 '#124,252,0[ Trikz] #snowYou have sent a teleport request to %s' % es.getplayername(
                     choice))
        esc.tell(choice,
                 '#124,252,0[ Trikz]#tomato %s #snowwants to teleport to you! Type #tomato!yes #snowor #tomatoignore' % (
                     es.getplayername(userid)))
    else:
        esc.tell(userid,
                 '#124,252,0[ Trikz] #snowPlease unpartner first!')
Beispiel #20
0
def change_spec(userid):
    es.server.queuecmd('es_xchangeteam %i 1' % int(userid))
    esc.tell(userid, "#124,252,0[ Trikz] #snowYou've been sent to #yellowspectator!")
Beispiel #21
0
def cphone_select(userid, choice, popupname):
    steamid = getplayerid(userid)
    story = int(es.keygetvalue(steamid, "player_data", "story"))
    if choice == 10:
        es.playsound(userid,
                     "zeisenproject/the-killers/sounds/sndMobileclose.mp3",
                     1.0)
        return
    if popupname.startswith("cphonecall"):
        ban_time = int(es.keygetvalue(steamid, "player_data", "ban_time"))
        wait_queue = int(sv('wait_queue'))
        if story == 0:
            port = find_servers()
            if not port:
                esc.tell(userid, "#255,255,255* 모든 서버가 꽉 차있습니다.")
            elif steamid != "142119022" and steamid != "149373723":
                esc.tell(userid, "#255,255,255* 서버가 개방된 상태이나 어드민만 입장할 수 있습니다.")
            elif ban_time > 0:
                esc.tell(
                    userid, "#255,255,255* 현재 서버 입장이 밴된 상태입니다. %s초 남았습니다." %
                    (ban_time))
            elif wait_queue > 0:
                esc.tell(
                    userid,
                    "#255,255,255* 누군가가 이미 서버를 준비를 요청했기에 서버를 동시에 준비할 수 없었습니다. 다시 시도해주세요."
                )
            else:
                es.set("wait_queue", timerz_count + 2)
                dlg = msglib.VguiDialog(title="서버 접속",
                                        msg="themessage",
                                        mode=msglib.VguiMode.MENU)
                dlg["msg"] = "서버 접속"
                dlg['time'] = 10
                rp = random.randint(10000, 99999)
                dlg.addOption(
                    msg="서버에 접속합니다.",
                    command=
                    "connect 1.214.121.137:%s;password random%s;wait 200;password haha"
                    % (port, rp))
                dlg.send(userid)
                rcon_msg(
                    "1.214.121.137:%s" % (port),
                    "es_xdoblock the_killers/server_wait;rcon changelevel cs_gentech_final_zv1;rcon sv_password random%s"
                    % (rp))
                es.keysetvalue(steamid, "player_data", "story", 1)
                es.keysetvalue(steamid, "player_data", "ban_time", 11)
                esc.msg(
                    "#255,255,255[Debug] %s Port is Idle. breaking the while.."
                    % (port))
                esc.msg("#255,255,255[Debug] %s User requested to %s port" %
                        (es.getplayername(userid), port))
    if popupname.startswith("cphonemenu"):
        cphone = popuplib.easymenu('cphonecall_%s' % (userid), None,
                                   cphone_select)
        cphone.settitle("@ Cell Phone")
        cphone.c_stateformat[False] = "%2"

        if story == 0:
            cphone.addoption(0, "오랫동안 삐쩍 말라있었군, 네 형의 죽음 때문인가? 그렇지 않아?", 0)
            for i in range(1, 6 + 1):
                cphone.addoption(0, " ", 0)

            cphone.addoption(0, "너도 의심했다시피, 네 형은 죽지 않았다. 그저 뱀년들의 간단한 트릭일 뿐이지.",
                             0)
            for i in range(1, 6 + 1):
                cphone.addoption(0, " ", 0)

            cphone.addoption(
                0, "네 형을 만나고 싶다면 인천 남구로 와라. 그 곳에 네가 몰랐던 비밀들이 밝혀질 터이니..", 0)
            for i in range(1, 6 + 1):
                cphone.addoption(0, " ", 0)

            for i in range(1, 6 + 1):
                cphone.addoption(0, " ", 0)
            cphone.addoption(story, "그 곳으로 향한다.", 1)
        cphone.send(userid)
Beispiel #22
0
def dog_tags_select(userid, choice, popupid):
    userid = steamid = es.getplayersteamid(userid)
    dogtags[steamid]['current_tag'] = choice
    esc.tell(
        userid,
        '#255,0,0[Tags] #greyYou have updated your tag to #yellow%s' % choice)
Beispiel #23
0
def chat_handler(userid, steamid, name, text, teamonly):
    player = playerlib.getPlayer(userid)
    steamid = steamid
    plyName = name
    ip_address = player.address.split(':')[0]

    if player.team == 2:

        team = '#255,61,61'

    elif player.team == 3:

        team = '#154,205,255'

    else:

        team = '#154,205,255'

    rank = getPos(steamid)
    points = getPoints(steamid)

    color = "Error Tag"
    _getprop = None
    for pos in tags:

        if not steamid in tags:

            if not pos.startswith('[U:'):

                if str(tags[pos]['type']) == "ranked":
                    if int(rank) <= int(
                            tags[pos]['min_rank']) and int(rank) >= int(
                                tags[pos]['max_rank']):
                        _getprop = str(tags[pos]['tag']).replace(
                            '#team', team).replace('#name', plyName)
                        color = _getprop

                elif tags[pos]["type"] == "points":
                    if points >= int(
                            tags[pos]['min_points']) and points <= int(
                                tags[pos]['max_points']):
                        _getprop = str(tags[pos]['tag']).replace(
                            '#team', team).replace('#name', plyName)
                        color = _getprop

        else:
            _getprop = str(tags[steamid]['tag']).replace('#team',
                                                         team).replace(
                                                             '#name', plyName)
            color = _getprop

    if text == "!tags":
        dog_tags(userid)

    if player.team == 1:

        if teamonly:
            return '(Spectator) %s %s' % (color, text)

        else:
            for users in playerlib.getPlayerList('#alive'):
                if not message[0] == "*SPEC* %s %s" % (color, text):

                    esc.tell(users, "*SPEC* %s %s" % (color, text))

            message[0] = ("*SPEC* %s %s" % (color, text))
            message[1] = 1

            return '*SPEC* %s %s' % (color, text)

    if player.team == 2:

        if teamonly:

            if player.isdead:
                for users in playerlib.getPlayerList('#alive'):
                    esc.tell(users, '*DEAD*(Terrorist) %s %s' % (color, text))

                    return '*DEAD*(Terrorist) %s %s' % (color, text)

            else:

                return '(Terrorist) %s %s' % (color, text)
        else:

            if player.isdead:
                for users in playerlib.getPlayerList('#alive'):
                    esc.tell(users, '*DEAD* %s %s' % (color, text))

                return '*DEAD* %s %s' % (color, text)

            else:

                return '%s %s' % (color, text)

    if player.team == 3:

        if teamonly:

            if player.isdead:
                for users in playerlib.getPlayerList('#alive'):
                    esc.tell(users,
                             '*DEAD*(Counter-Terrorist) %s %s' % (color, text))

                return '*DEAD*(Counter-Terrorist) %s %s' % (color, text)

            else:

                return '(Counter-Terrorist) %s %s' % (color, text)

        else:

            if player.isdead:
                for users in playerlib.getPlayerList('#alive'):
                    esc.tell(users, '*DEAD* %s %s' % (color, text))

                return '*DEAD* %s %s' % (color, text)

            else:

                return '%s %s' % (color, text)
Beispiel #24
0
def cp_menu_select(userid, choice, popupid):
    steamid = es.getplayersteamid(userid)
    velocity_x = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[0]'))
    velocity_y = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[1]'))
    velocity_z = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[2]'))
    timer = es.import_addon("queue_timer/plugins/timer")
    if timer.CheckPartner(userid):
        timer_id = timer.player[steamid]["timer_id"]
        state = timer.timer[timer_id]["state"]

    if int(choice) == 1:
        if timer.CheckPartner(userid):
            cp_menu(userid)
        else:
            player = playerlib.getPlayer(userid)
            client[steamid]["view_angles"] = player.getViewAngle()
            view_angles = client[steamid]["view_angles"]
            client[steamid]['snapshot_1'] = es.getplayerlocation(userid)
            client[steamid]['save_speed'] = (velocity_x, velocity_y, velocity_z)
            esc.tell(userid,
                     '#124,252,0[ Trikz] #snowYou have saved your #yellow1st #245,61,0checkpoint')
            cp_menu(userid)

    if int(choice) == 2:
        if timer.CheckPartner(userid):
            cp_menu(userid)
        else:
            if client[steamid]['snapshot_1'] != (0, 0, 0):
                current_location = es.getplayerlocation(userid)
                location = client[steamid]['snapshot_1']
                distance = vecmath.distance(current_location, location)
                player = playerlib.getPlayer(userid)
                view_angles = client[steamid]["view_angles"]
                timer.TimerSolo_Stop(userid)
                client[steamid]["time"] = time.time()
                player.setColor(255, 255, 255, 255)
                player.noblock(0)
                if client[steamid]["stop_speed"] == "On":
                    es.server.queuecmd('es_setpos %s %s %s %s' % (userid, location[0], location[1], location[2]))

                    velocity_x = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[0]'))
                    velocity_y = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[1]'))
                    velocity_z = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[2]'))
                    myNewVector2 = es.createvectorstring(-velocity_x, -velocity_y, -velocity_z)

                    es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector2)

                    gamethread.delayed(0.025, set_boost, args=(userid, 0))


                else:
                    es.server.queuecmd('es_setpos %s %s %s %s' % (userid, location[0], location[1], location[2]))
                    velocity_x = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[0]'))
                    velocity_y = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[1]'))
                    velocity_z = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[2]'))
                    myNewVector2 = es.createvectorstring(-velocity_x, -velocity_y, -velocity_z)
                    es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector2)

                if client[steamid]["save_angles"] == "On":
                    es.server.queuecmd('es_xsetang %s %s %s %s' % (
                    userid, str(view_angles[0]), str(view_angles[1]), str(view_angles[2])))

            else:
                esc.tell(userid, '#124,252,0[ Trikz] #245,0,61You have not set your 1st checkpoint.')
            cp_menu(userid)

    if int(choice) == 3:
        if timer.CheckPartner(userid):
            cp_menu(userid)
        else:
            player = playerlib.getPlayer(userid)
            client[steamid]["view_angles_2"] = player.getViewAngle()
            client[steamid]['snapshot_2'] = es.getplayerlocation(userid)
            client[steamid]['save_speed_2'] = (velocity_x, velocity_y, velocity_z)
            esc.tell(userid,
                     '#124,252,0[ Trikz] #snowYou have saved your #yellow2nd #245,61,0checkpoint')
            cp_menu(userid)

    if int(choice) == 4:
        if timer.CheckPartner(userid):
            cp_menu(userid)
        else:
            if client[steamid]['snapshot_2'] != (0, 0, 0):
                current_location = es.getplayerlocation(userid)
                location = client[steamid]['snapshot_2']
                distance = vecmath.distance(current_location, location)
                player = playerlib.getPlayer(userid)
                view_angles = client[steamid]["view_angles_2"]
                client[steamid]["time"] = time.time()
                timer.TimerSolo_Stop(userid)
                player.setColor(255, 255, 255, 255)
                player.noblock(0)
                if client[steamid]["stop_speed"] == "On":
                    es.server.queuecmd('es_setpos %s %s %s %s' % (userid, location[0], location[1], location[2]))

                    velocity_x = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[0]'))
                    velocity_y = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[1]'))
                    velocity_z = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[2]'))
                    myNewVector2 = es.createvectorstring(-velocity_x, -velocity_y, -velocity_z)

                    es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector2)

                    gamethread.delayed(0.025, set_boost, args=(userid, 1))
                else:

                    es.server.queuecmd('es_setpos %s %s %s %s' % (userid, location[0], location[1], location[2]))

                    velocity_x = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[0]'))
                    velocity_y = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[1]'))
                    velocity_z = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[2]'))
                    myNewVector2 = es.createvectorstring(-velocity_x, -velocity_y, -velocity_z)
                    es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector2)

                if client[steamid]["save_angles"] == "On":
                    es.server.insertcmd('es_xsetang %s %s %s %s' % (
                    userid, str(view_angles[0]), str(view_angles[1]), str(view_angles[2])))

            else:
                esc.tell(userid, '#124,252,0[ Trikz] #245,0,61You have not set your 2nd checkpoint.')
            cp_menu(userid)

    if int(choice) == 5:
        if client[steamid]['stop_speed'] == "Off":
            esc.tell(userid,
                     '#124,252,0[ Trikz] #snowYour speed will now be restored when teleporting!')
            client[steamid]['stop_speed'] = "On"
            cp_menu(userid)
        else:
            esc.tell(userid, '#124,252,0[ Trikz] #snowYou will not save speed anymore!')
            client[steamid]['stop_speed'] = "Off"
            cp_menu(userid)

    if int(choice) == 6:
        if client[steamid]['save_angles'] == "Off":
            esc.tell(userid, '#124,252,0[ Trikz] #snowYou will now save ur angles!')
            client[steamid]['save_angles'] = "On"
            cp_menu(userid)
        else:
            esc.tell(userid, '#124,252,0[ Trikz] #snowYou angles wont be saved!')
            client[steamid]['save_angles'] = "Off"
            cp_menu(userid)

    if int(choice) == 8:
        trikz_menu(userid)
def Average(userid):
    steamid = es.getplayersteamid(userid)
    anti_cheat = 0
    speed_detection = 0
    detections = 0
    case = []
    analysis[steamid]["velocity"].append(250)
    if time.time() - analysis[steamid]["time"] < 2:
        if analysis[steamid]["msg"] == 1:
            duplicates = list_duplicates(analysis[steamid]["view_angle_0"])
            for dup in duplicates:

                if duplicates[dup] >= 4 and duplicates[dup] <= len(
                        analysis[steamid]["view_angle_0"]) * 0.8:
                    detections += duplicates[dup]
                    case.append(1)

            duplicates = list_duplicates(analysis[steamid]["view_angle_1"])
            for dup in duplicates:
                if duplicates[dup] >= 4 and duplicates[dup] <= len(
                        analysis[steamid]["view_angle_1"]) * 0.8:
                    detections += duplicates[dup]
                    case.append(2)

            start = analysis[steamid]["velocity"][0]
            checks = []
            aw = 0
            for vel in analysis[steamid]["velocity"]:
                if len(analysis[steamid]["velocity"]) > aw + 1:
                    checks.append(analysis[steamid]["velocity"][aw + 1] - vel)
                aw += 1

            intervals = []
            ai = 0
            for ena in analysis[steamid]["intervals"]:
                if len(analysis[steamid]["intervals"]) > ai + 1:
                    intervals.append(analysis[steamid]["intervals"][ai + 1] -
                                     ena)
                ai += 1

            aintervals = []
            aix = 0
            for q in intervals:
                if len(intervals) > aix + 1:
                    aintervals.append(
                        float(
                            round(intervals[aix + 1], 5) - float(round(q, 5))))
                aix += 1

            quelz = 0
            for f in aintervals:
                if abs(f) < 0.009:
                    detections += 2
                    quelz += 2
                else:
                    detections -= 1
                    quelz -= 1
            for q in checks:
                if q >= 5 and q <= 75:
                    speed_detection += 1
                else:
                    speed_detection -= 1

            if time.time() - analysis[steamid]["time"] > 1:
                speed_detection = speed_detection * (time.time() -
                                                     analysis[steamid]["time"])
            average = 0
            index = 1

            for item in analysis[steamid]["view_angle_0"]:
                index += 1
                average += item

            tell_average = float(average) / float(index)

            collect_data = []
            for x in analysis[steamid]["view_angle_0"]:

                if (x - tell_average) >= -1 and (x - tell_average) <= 4:
                    detections += 0.4

                else:
                    detections -= 1

                collect_data.append(x - tell_average)

            if speed_detection <= 0:
                detections += speed_detection

            if detections >= 5:
                es.server.queuecmd('es_setpos %s %s %s %s' %
                                   (userid, analysis[steamid]["location"][0],
                                    analysis[steamid]["location"][1],
                                    analysis[steamid]["location"][2]))
                StopSpeed(userid)
                if anti_cheat == 0:
                    esc.tell(
                        userid,
                        "#255,51,0[#255,137,0Anti-Cheat#255,51,0] #snowYeah... No"
                    )
                    case.append(3)
                    anti_cheat = 1

            distance = vecmath.distance(analysis[steamid]["location"],
                                        es.getplayerlocation(userid)) + 32

            if distance > 250 and analysis[steamid][
                    "strafes"] <= 2 and analysis[steamid]["location"][
                        2] - es.getplayerlocation(userid)[2] >= -5 and analysis[
                            steamid]["location"][2] - es.getplayerlocation(
                                userid)[2] <= 5 and distance < 280:
                if time.time(
                ) - analysis[steamid]["time"] >= 0.70 and time.time(
                ) - analysis[steamid]["time"] <= 0.9:

                    es.server.queuecmd(
                        'es_setpos %s %s %s %s' %
                        (userid, analysis[steamid]["location"][0],
                         analysis[steamid]["location"][1],
                         analysis[steamid]["location"][2]))
                    StopSpeed(userid)
                    if anti_cheat == 0:
                        esc.tell(
                            userid,
                            "#255,51,0[#255,137,0Anti-Cheat#255,51,0] #snowFalse positive - your data has been logged. Thank you for improving the anti-cheat"
                        )
                        #esc.msg(
                        #    "#255,51,0[#255,137,0Anti-Cheat#255,51,0]#snow %s is using silent-strafes" % (es.getplayername(userid)))
                        anti_cheat = 1
                        case.append(4)

            if anti_cheat == 1:
                esc.msg(
                    "#255,51,0[#255,137,0Anti-Cheat#255,51,0]#yellow %s #snowis cheating"
                    % (es.getplayername(userid)))
                analysis[steamid]["cheated"] = 1
                esc.tell(
                    userid,
                    "#255,51,0[#255,137,0Anti-Cheat#255,51,0] #snowTotal detections %s | %s | C#: %s"
                    % (detections, speed_detection, str(case)))
                dump_data_to_file(userid, case, detections, collect_data,
                                  checks, speed_detection)
            else:
                analysis[steamid]["loyal"] += 1

            if analysis[steamid]["loyal"] >= 300:
                analysis[steamid]["loyal"] = 1

                esc.tell(
                    userid,
                    "#255,51,0[#255,137,0Anti-Cheat#255,51,0] #snowYour data has been logged. Thank you for improving the anti-cheat! The machine is learning from you!"
                )

        analysis[steamid]["intervals"] = []
        analysis[steamid]["time"] = time.time()
        analysis[steamid]["velocity"] = []
        analysis[steamid]["view_angle_0"] = []
        analysis[steamid]["view_angle_1"] = []
Beispiel #26
0
def trikz_menu_select(userid, choice, popupid):
    steamid = es.getplayersteamid(userid)
    player = playerlib.getPlayer(userid)
    timer = es.import_addon("queue_timer/plugins/timer")
    """
    if int(choice) == 1:
        if player.getFB() in (0, 1):
            client[steamid]['auto_flash'] = "On"
            esc.tell(userid, '#124,252,0[ Trikz] #snowYou got a #yellowrefill #245,61,0flash')
        trikz_menu(userid)

    if int(choice) == 1:
        if not client[steamid]['auto_flash'] == "On":
            client[steamid]['auto_flash'] = "On"
            auto_switch(userid)
            esc.tell(userid, '#124,252,0[ Trikz] #245,61,0AutoFlash#snow is now #yellowON')
        else:
            client[steamid]['auto_flash'] = "Off"
            auto_switch(userid)
            esc.tell(userid, '#124,252,0[ Trikz] #245,61,0AutoFlash#snow is now #yellowOFF')
        trikz_menu(userid)
    """
    if int(choice) == 1:
        if not client[steamid]['auto_switch'] == "On":
            client[steamid]['auto_switch'] = "On"
            esc.tell(userid, '#124,252,0[ Trikz] #245,61,0AutoSwitch#snow is now #yellowON')
        else:
            client[steamid]['auto_switch'] = "Off"
            esc.tell(userid, '#124,252,0[ Trikz] #245,61,0AutoSwitch#snow is now #yellowOFF')
        trikz_menu(userid)

    if int(choice) == 2:
        if not client[steamid]['auto_jump'] == "On":
            client[steamid]['auto_jump'] = "On"
            es.cexec(userid, 'sm_%s' % "autojump")

        else:
            client[steamid]['auto_jump'] = "Off"
            es.cexec(userid, 'sm_%s' % "autojump")
        trikz_menu(userid)

    if int(choice) == 3:

        if client[steamid]['auto_stuck'] == "Off":
            esc.tell(userid,
                     '#124,252,0[Trikz] #245,61,0Anti-Stuck #snowis now #yellowON')
            client[steamid]['auto_stuck'] = "On"
            gamethread.cancelDelayed("auto_stuck_%s" % userid)
            auto_stuck(userid)
        else:
            esc.tell(userid,
                     '#124,252,0[ Trikz] #245,61,0Anti-Stuck #snowis now #yellowOFF #255,0,0(NOT Recommended)')
            client[steamid]['auto_stuck'] = "Off"
            gamethread.cancelDelayed("auto_stuck_%s" % userid)
        trikz_menu(userid)

    if int(choice) == 4:
        toggle(userid)
        trikz_menu(userid)

    if int(choice) == 5:
        cp_menu(userid)

    if int(choice) == 6:
        es.cexec(userid, 'sm_delay')
Beispiel #27
0
def Check_When_Grounded(userid, bhop, runboost):
    name = es.getplayername(userid)
    steamid = es.getplayersteamid(userid)
    velocity = int(
        round(
            vector(
                (float(
                    es.getplayerprop(
                        userid, 'CBasePlayer.localdata.m_vecVelocity[0]')),
                 float(
                     es.getplayerprop(
                         userid, 'CBasePlayer.localdata.m_vecVelocity[1]')),
                 float(
                     es.getplayerprop(
                         userid,
                         'CBasePlayer.localdata.m_vecVelocity[2]')))).length(),
            2))

    client[steamid]["time"] += 0.01
    client[steamid]["avs"].append(velocity)
    check = es.getplayerprop(userid, 'CBasePlayer.m_fFlags')
    if check & 1:
        location = es.getplayerlocation(userid)
        player = playerlib.getPlayer(userid)
        distance = (vecmath.distance(
            (float(client[steamid]['loc'][0]), float(
                client[steamid]['loc'][1])),
            (float(location[0]), float(location[1])))) + 32
        index = 0
        add = 0
        for item in client[steamid]["avs"]:
            add += item
            index += 1
            break

        av = add / index

        time = (client[steamid]["time"])

        checker = float(client[steamid]['loc'][2]) - float(location[2])

        average = 0
        index = 1
        for item in analysis[steamid]["view_angle_0"]:
            index += 1
            average += item

        tell_average = float(average) / float(index)

        detections = 0
        for x in analysis[steamid]["view_angle_0"]:

            if (x - tell_average) >= -1 and (x - tell_average) <= 4:
                detections -= 2

            else:
                detections += 0.843

        if detections < 0:
            detections = 0

        if not runboost:
            if not bhop:
                if distance > 264 and distance < 280 and client[steamid][
                        "time"] < 0.9 and client[steamid]["time"] > 0.68:
                    esc.tell(
                        userid,
                        '#snowPrestrafe:#255,137,0 %s u/s #snow| Strafes#255,137,0 %s'
                        %
                        (client[steamid]["pre"], analysis[steamid]["strafes"]))
                    esc.tell(
                        userid,
                        '#snowAverage Speed:#255,137,0 %s u/s #snowand air time:#255,137,0 %s seconds'
                        % (av, client[steamid]["time"]))
                    esc.tell(
                        userid, '#snowDistance:#255,137,0 %s units' %
                        (round(distance, 3)))

                elif distance < 280 and client[steamid][
                        "time"] < 0.9 and distance > 240 and client[steamid][
                            "time"] > 0.68:
                    esc.tell(
                        userid,
                        '#snowPrestrafe:#255,137,0 %s u/s #snow| Strafes#255,137,0 %s'
                        %
                        (client[steamid]["pre"], analysis[steamid]["strafes"]))
                    esc.tell(
                        userid,
                        '#snowAverage Speed:#255,137,0 %s u/s #snowand air time:#255,137,0 %s seconds'
                        % (av, client[steamid]["time"]))
                    esc.tell(
                        userid, '#snowDistance:#255,137,0 %s units' %
                        (round(distance, 3)))

        else:
            if distance >= 485 and distance <= 580:
                esc.tell(userid, '#yellow- RUNBOOST -')
                esc.tell(
                    userid,
                    '#snowPrestrafe:#255,137,0 %s u/s #snow| Strafes#255,137,0 %s'
                    % (client[steamid]["pre"], analysis[steamid]["strafes"]))
                esc.tell(
                    userid,
                    '#snowAverage Speed:#255,137,0 %s u/s #snowand air time:#255,137,0 %s seconds'
                    % (av, client[steamid]["time"]))
                esc.tell(
                    userid,
                    '#snowDistance:#255,137,0 %s units' % (round(distance, 3)))

        analysis[steamid] = {
            'move': 0,
            'view_angle_0': [],
            'view_angle_1': [],
            'velocity': [],
            'intervals': [],
            'onground': 0,
            'location': (0, 0, 0),
            'msg': 0,
            'strafes': 0,
            'time': 0,
            'cheated': 0,
            'loyal': 0
        }
        Set_Location(userid)

        return

    gamethread.delayedname(0.001,
                           'Check_Ground_%s' % userid,
                           Check_When_Grounded,
                           args=(userid, bhop, runboost))