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))
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)
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
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")
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
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)
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"
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
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.')
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
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')
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)
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)
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." )
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)
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
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)
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
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!')
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!")
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)
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)
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)
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"] = []
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')
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))